From 15cbc2f370b61e4e0cd472c8030fb8cb6d89b82a Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期三, 08 五月 2024 16:33:08 +0800
Subject: [PATCH] 1.产品 设备管理静态页面递交
---
pages/sbgl/dqby.vue | 480 +++++++++++
pages/sbgl/sbwx.vue | 509 +++++++++++
pages/sbgl/rcdj.vue | 460 ++++++++++
pages/sbgl/wxyz.vue | 603 ++++++++++++++
pages.json | 38
pages/sbgl/wxsq.vue | 419 +++++++++
pages/xtsy/index.vue | 33
7 files changed, 2,531 insertions(+), 11 deletions(-)
diff --git a/pages.json b/pages.json
index 4899518..619c12b 100644
--- a/pages.json
+++ b/pages.json
@@ -312,6 +312,44 @@
"navigationStyle": "custom",
"enablePullDownRefresh": false
}
+ },
+ {
+ "path": "pages/sbgl/dqby",
+ "style": {
+ "navigationBarTitleText": "瀹氭湡淇濆吇",
+ "navigationStyle": "custom",
+ "enablePullDownRefresh": false
+ }
+ }, {
+ "path": "pages/sbgl/rcdj",
+ "style": {
+ "navigationBarTitleText": "鏃ュ父鐐规",
+ "navigationStyle": "custom",
+ "enablePullDownRefresh": false
+ }
+ },
+ {
+ "path": "pages/sbgl/wxsq",
+ "style": {
+ "navigationBarTitleText": "缁翠慨鐢宠",
+ "navigationStyle": "custom",
+ "enablePullDownRefresh": false
+ }
+ },
+ {
+ "path": "pages/sbgl/sbwx",
+ "style": {
+ "navigationBarTitleText": "璁惧缁翠慨",
+ "navigationStyle": "custom",
+ "enablePullDownRefresh": false
+ }
+ }, {
+ "path": "pages/sbgl/wxyz",
+ "style": {
+ "navigationBarTitleText": "缁翠慨楠岃瘉",
+ "navigationStyle": "custom",
+ "enablePullDownRefresh": false
+ }
}
],
"globalStyle": {
diff --git a/pages/sbgl/dqby.vue b/pages/sbgl/dqby.vue
new file mode 100644
index 0000000..65a18af
--- /dev/null
+++ b/pages/sbgl/dqby.vue
@@ -0,0 +1,480 @@
+<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="56"></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='40' :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="姝e父" @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;">
+ <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'"
+ :disabled="centerContent.some(item=>item.isDisabled===true)||centerContent.length===0"
+ text="姝e父" @click="resultClick('OK')"></u-button>
+ <u-button type="warning" :plain="resultValue!=='NG'"
+ :disabled="centerContent.some(item=>item.isDisabled===true)||centerContent.length===0"
+ text="寮傚父" @click="resultClick('NG')"></u-button>
+ </view>
+ </view>
+ </view>
+ <u-button size="large" :loading="isDisabledSubmitButton" loadingText="姝e湪鎻愪氦,璇风◢绛�..." type="primary"
+ @click="submit" :disabled="resultValue===''" text="纭鎻愪氦">
+ </u-button>
+
+ </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)
+ })
+ },
+ 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('SB001')
+ // this.getRepairScanDeviceQrCodeData('SB002')
+ // setTimeout(() => {
+ // this.getRepairScanDeviceQrCodeData('SB003')
+ // }, 100)
+ },
+ 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)
+ },
+
+ // 閮ㄤ綅姝e父 寮傚父鎸夐挳鐐瑰嚮
+ 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>
+
+<style lang="scss" scoped>
+ @import url('@/style/global.css');
+
+ ::v-deep .uicon-arrow-left>span {
+ display: block;
+ }
+</style>
\ No newline at end of file
diff --git a/pages/sbgl/rcdj.vue b/pages/sbgl/rcdj.vue
new file mode 100644
index 0000000..8825663
--- /dev/null
+++ b/pages/sbgl/rcdj.vue
@@ -0,0 +1,460 @@
+<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='40' :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: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="12" 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="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="姝e父" @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;">
+ <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'"
+ :disabled="centerContent.some(item=>item.isDisabled===true)||centerContent.length===0"
+ text="姝e父" @click="resultClick('OK')"></u-button>
+ <u-button type="warning" :plain="resultValue!=='NG'"
+ :disabled="centerContent.some(item=>item.isDisabled===true)||centerContent.length===0"
+ text="寮傚父" @click="resultClick('NG')"></u-button>
+ </view>
+ </view>
+ </view>
+ <u-button size="large" :loading="isDisabledSubmitButton" loadingText="姝e湪鎻愪氦,璇风◢绛�..." type="primary"
+ @click="submit" :disabled="resultValue===''" text="纭鎻愪氦">
+ </u-button>
+
+ </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)
+ })
+ },
+ onPullDownRefresh() {
+ setTimeout(() => {
+ this.init(() => {
+ uni.stopPullDownRefresh();
+ })
+ }, 1000);
+ },
+ data() {
+ return {
+ isDisabledSubmitButton: false,
+
+ selectValueBZ: '',
+ selectRangeBZ: [],
+
+ topContent: [], //鎵弿鐐规宸ヤ綅鎵�甯﹀嚭鏉ョ殑鍐呭
+ centerContent: [], //鐐规椤圭洰鍐呭
+ scanContent: '', //鎵弿鎵嚭鏉ョ殑鍊�
+ radioValue: '', //鍗曢�夋鐨勫��
+ resultValue: '', //鐐规缁撴灉鍊�
+
+ }
+ },
+ created() {
+
+ },
+ mounted() {
+ this.init()
+
+ // this.getCheckScanDeviceQrCodeData('SB001')
+ // this.getCheckScanDeviceQrCodeData('SB002')
+ // this.getCheckScanDeviceQrCodeData('SB003')
+
+
+ },
+ 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)
+ },
+
+ // 閮ㄤ綅姝e父 寮傚父鎸夐挳鐐瑰嚮
+ 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)
+ }
+
+ }
+ },
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ @import url('@/style/global.css');
+
+ ::v-deep .uicon-arrow-left>span {
+ display: block;
+ }
+</style>
\ No newline at end of file
diff --git a/pages/sbgl/sbwx.vue b/pages/sbgl/sbwx.vue
new file mode 100644
index 0000000..41b59b8
--- /dev/null
+++ b/pages/sbgl/sbwx.vue
@@ -0,0 +1,509 @@
+<template>
+ <view>
+ <page-nav title="璁惧缁翠慨"></page-nav>
+
+
+ <view v-show="topContent.length===0">
+ <div class="sacnBody">
+ <div class="boxImg"></div>
+ <div class="scanText">鏆傛棤璁惧鍙淮淇�</div>
+ </div>
+ </view>
+
+
+ <view v-show="topContent.length!==0">
+ <view class="mainContent" :style="{maxHeight:'1000rpx',overflow: 'scroll'}">
+
+ <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="56"></u-icon>
+ </view>
+
+ </view>
+
+ <view class=" marginLeft20 marginRight20 flex_column"
+ style="max-height: 420rpx;overflow:scroll;">
+ <u-radio-group v-model="radioValue" class="flex_column">
+ <view class="marginBottom20" style="position: relative"
+ @click="groupChange(item.docu_code)" v-for="item in topContent"
+ :key="item.docu_code">
+ <view style="display: flex;float: left;">
+ <view class="titleFont">
+ <view>缁翠慨鐢宠鍗�:</view>
+ <view>宸ヤ綅缂栫爜:</view>
+ <view>宸ヤ綅鍚嶇О:</view>
+ <view>鐢熶骇杞﹂棿:</view>
+ <view>鐢宠浜哄憳:</view>
+ <view>鐢宠鏃堕棿:</view>
+ <view>鏁呴殰鏉ユ簮:</view>
+ <view>鏁呴殰鎻忚堪:</view>
+ </view>
+ <view class="contentFont">
+ <view>{{item.docu_code}}</view>
+ <view>{{item.eqpcode}}</view>
+ <view>{{item.eqpname}}</view>
+ <view>{{item.wksp_name}}</view>
+ <view>{{item.request_person}}</view>
+ <view>{{item.request_date}}</view>
+ <view>{{item.source}}</view>
+ <view style="width:400rpx;word-wrap:break-word">
+ {{item.failure_descript}}
+ </view>
+ </view>
+ </view>
+ <u-radio size='40' style='position: absolute;top: 45%;right: 0;'
+ :key="item.docu_code" :name="item.docu_code"
+ @change="groupChange(item.docu_code)" activeColor="red"></u-radio>
+
+ </view>
+ </u-radio-group>
+ </view>
+
+ </view>
+ <u-gap height="20" 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="26"
+ 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>
+
+
+ <u-gap height="20" 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;display: flex;">
+ <u-button type="primary" :plain="isStop!=='Y'" text="鏄�" @click="isStopClick('Y')">
+ </u-button>
+ <u-button type="warning" :plain="isStop!=='N'" text="鍚�" @click="isStopClick('N')">
+ </u-button>
+ </view>
+ </view>
+ </view>
+
+ <u-gap height="20" bgColor="#eff0f1"></u-gap>
+
+ <view v-show="isStop==='N'" class="head" style="padding-bottom: 10rpx;padding-bottom: 20rpx;">
+ <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="descMessage2">
+ </u--textarea>
+ </view>
+
+ </view>
+
+ <u-gap height="20" bgColor="#eff0f1"></u-gap>
+ <!-- margin-bottom: 110rpx; -->
+ <view v-show="isStop==='N'" 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="descMessage3">
+ </u--textarea>
+ </view>
+
+ <view style="display: flex;">
+ <view v-for="(pic,index) in fileList2" :key="pic.name">
+ <view style="margin: 20rpx 0rpx 20rpx 20rpx;position: relative;">
+ <u-icon name="close" color="#fff" size="26"
+ style="position: absolute;z-index: 10;right: 0;background-color: black;border-radius:50%;"
+ @click="deletePic(pic)"></u-icon>
+
+ <image :src="pic.uri" @click="imgPreview2(pic)" class="upLoadImg"></image>
+ </view>
+ </view>
+ <image v-if="fileList2.length<3" src="../../static/img/uploadImg.png" style="width: 100rpx;height: 100rpx;border: 1rpx solid #eff0f1;border-radius: 20rpx;
+ margin: 20rpx;padding: 30rpx;
+ " @click="selectPics2">
+ </view>
+ </view>
+
+
+ </view>
+ </view>
+
+
+ <view class="footer" style="min-height:62rpx;">
+ <u-button size="large" :loading="isDisabledSubmitButton" loadingText="姝e湪鎻愪氦,璇风◢绛�..." type="primary"
+ @click="submit"
+ :disabled="isStop==='Y'?descMessage.toString().length===0:descMessage.toString().length===0||descMessage2.toString().length===0"
+ text="纭鎻愪氦">
+ </u-button>
+ </view>
+
+
+ </view>
+
+ <scan-code></scan-code>
+ </view>
+</template>
+
+<script>
+ import {
+ RepairScanDeviceQrCodeDataList,
+ } 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.getCheckScanDeviceQrCodeData(content)
+
+ let r = _this.topContent.find(i => i.docu_code === content)
+
+ if (r === undefined) {
+ uni.$u.toast('鎵�鎵殑浜岀淮鐮佷笉鍦ㄥ垪琛ㄤ腑锛�')
+ } else {
+ _this.topContent.forEach((item, index) => {
+ if (item.docu_code === content) {
+ _this.topContent.splice(index, 1)
+ }
+ })
+ _this.topContent.unshift(r)
+ _this.radioValue = content
+ }
+ })
+ },
+ onPullDownRefresh() {
+ setTimeout(() => {
+ this.init(() => {
+ uni.stopPullDownRefresh();
+ })
+ }, 1000);
+ },
+ data() {
+ return {
+ isDisabledSubmitButton: false,
+
+ topContent: [], //鎵弿淇濆吇宸ヤ綅鎵�甯﹀嚭鏉ョ殑鍐呭
+ centerContent: [], //
+ scanContent: '', //鎵弿鎵嚭鏉ョ殑鍊�
+ radioValue: '', //鍗曢�夋鐨勫��
+ descMessage: '', //鏁呴殰鎻忚堪
+ imgPreviewSrcs: [], //鍥剧墖棰勮src 鏁呴殰鎻忚堪
+ fileList: [], //鍥剧墖鏁扮粍 鏁呴殰鎻忚堪
+ isStop: 'Y',
+ descMessage2: '', //缁翠慨鍐呭
+ descMessage3: '', //鏇存崲澶囦欢
+ fileList2: [], //鏇存崲澶囦欢鍥剧墖
+ imgPreviewSrcs2: [],
+ }
+ },
+ created() {
+
+ },
+ mounted() {
+ this.init()
+ this.getRepairScanDeviceQrCodeDataList()
+ },
+ 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 = 'files1;' + 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)
+ }
+
+ }
+ }
+ })
+ },
+
+ selectPics2() {
+ 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 = 'files2;' + i + new Date().getTime();
+ obj.uri = files[i].path;
+ that.fileList2.push(obj);
+ if (obj.src == null || obj.src == '' || obj.src == undefined) {
+ that.imgPreviewSrcs2.push(obj.uri)
+ } else {
+ that.imgPreviewSrcs2.push(obj.src)
+ }
+
+ }
+ }
+ })
+ },
+
+ // 棰勮鍥剧墖
+ imgPreview(img) {
+ uni.previewImage({
+ current: this.fileList.findIndex(i => i.name === img.name),
+ indicator: "number",
+ loop: true,
+ urls: this.imgPreviewSrcs
+ })
+ },
+ imgPreview2(img) {
+ uni.previewImage({
+ current: this.fileList2.findIndex(i => i.name === img.name),
+ indicator: "number",
+ loop: true,
+ urls: this.imgPreviewSrcs2
+ })
+ },
+ // 鍒犻櫎鍥剧墖
+ deletePic(img) {
+ this.fileList = this.fileList.filter(i => i.name !== img.name)
+ this.fileList2 = this.fileList2.filter(i => i.name !== img.name)
+ this.imgPreviewSrcs = this.imgPreviewSrcs.filter(i => i !== img.uri)
+ this.imgPreviewSrcs2 = this.imgPreviewSrcs2.filter(i => i !== img.uri)
+ },
+ init() {
+ uni.stopPullDownRefresh();
+ },
+ // 鍗曢�夋寜閽�変腑鍊兼敼鍙�
+ groupChange(val) {
+ this.radioValue = val
+ this.descMessage = ''
+ this.imgPreviewSrcs = []
+ this.fileList = []
+ this.isStop = 'Y'
+ this.descMessage2 = ''
+ this.descMessage3 = ''
+ this.fileList2 = []
+ this.imgPreviewSrcs2 = []
+ this.$forceUpdate()
+ },
+ // 鍋滄満缁翠慨
+ isStopClick(val) {
+ this.isStop = val
+ if (val === 'Y') {
+ this.descMessage2 = ''
+ this.descMessage3 = ''
+ this.fileList2 = []
+ this.imgPreviewSrcs2 = []
+ }
+
+ },
+ // 鎵爜宸ヤ綅 鐨勬壂鐮佹鐐瑰嚮
+ 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 r = that.topContent.find(i => i.docu_code === that.scanContent)
+
+ if (r === undefined) {
+ uni.$u.toast('鎵�鎵殑浜岀淮鐮佷笉鍦ㄥ垪琛ㄤ腑锛�')
+ } else {
+ that.topContent.forEach((item, index) => {
+ if (item.docu_code === that.scanContent) {
+ that.topContent.splice(index, 1)
+ }
+ })
+ that.topContent.unshift(r)
+ that.radioValue = that.scanContent
+ }
+
+ },
+ complete: function(res) {
+
+ },
+ fail: function(res) {
+ console.log('鏉$爜绫诲瀷锛�' + res.scanType);
+ console.log('鏉$爜鍐呭锛�' + res.result);
+ }
+
+ });
+ },
+
+ // 鑾峰彇缁翠慨宸ヤ綅
+ async getRepairScanDeviceQrCodeDataList(val) {
+ const res = await RepairScanDeviceQrCodeDataList()
+ if (res.code === '200') {
+ this.topContent = res.data
+ this.radioValue = this.topContent.length > 0 ? this.topContent[0].docu_code : ''
+ }
+ },
+
+ // 纭鎻愪氦鎸夐挳
+ async submit() {
+ const header = {
+ // 'Content-Type': 'multipart/form-data',
+ 'Content-Type': 'application/x-www-form-urlencoded',
+ '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'
+ }
+
+ const result = this.topContent.find(item => item.docu_code === this.radioValue)
+ const formData = {
+ username: uni.getStorageSync('username'),
+ docu_code: result.docu_code,
+ eqpcode: result.eqpcode,
+ wkshpcode: result.wksp_code,
+ faultdescr: this.descMessage,
+ is_stoprepair: this.isStop,
+ // files1: this.fileList,
+ repaircontent: this.descMessage2,
+ replaceparts: this.descMessage3
+ }
+ // console.log(formData)
+ // console.log([...this.fileList, ...this.fileList2].length)
+ this.isDisabledSubmitButton = true
+ uni.uploadFile({
+ url: this.$baseUrl + '/AppDeviceManage/RepairScanDeviceSave',
+ files: [...this.fileList, ...this.fileList2].length === 0 ? [{
+ "uri": "/"
+ }] : [...this.fileList, ...this.fileList2],
+ header: header,
+ formData: formData,
+ success: (res) => {
+ console.log(res)
+ let result = JSON.parse(res.data)
+ if (res.statusCode == 200 && result.code == '200') {
+ uni.$u.toast('鎻愪氦鎴愬姛锛�')
+ this.topContent = this.topContent.filter(i => i.docu_code !== this.radioValue)
+ this.radioValue = this.topContent.length === 0 ? '' : this.topContent[0]
+ .docu_code
+ this.descMessage = ''
+ this.imgPreviewSrcs = []
+ this.fileList = []
+ this.isStop = 'Y'
+ this.descMessage2 = ''
+ this.descMessage3 = ''
+ this.fileList2 = []
+ this.imgPreviewSrcs2 = []
+ } else {
+ uni.$u.toast(result.Message)
+ }
+ this.isDisabledSubmitButton = false
+ },
+ fail(res) {
+ uni.$u.toast('鎻愪氦澶辫触锛�')
+ this.isDisabledSubmitButton = false
+ },
+ })
+
+ },
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ @import url('@/style/global.css');
+
+ .u-radio {
+ justify-content: flex-end;
+ }
+
+ ::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>
\ No newline at end of file
diff --git a/pages/sbgl/wxsq.vue b/pages/sbgl/wxsq.vue
new file mode 100644
index 0000000..d740d43
--- /dev/null
+++ b/pages/sbgl/wxsq.vue
@@ -0,0 +1,419 @@
+<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="56"></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="20" 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="20" 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='140'
+ 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="26"
+ 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="姝e湪鎻愪氦,璇风◢绛�..." 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'
+
+ export default {
+ components: {
+ scanCode
+ },
+ onLoad(option) {
+ const _this = this
+ uni.$off('scancodedate') // 姣忔杩涙潵鍏� 绉婚櫎鍏ㄥ眬鑷畾涔変簨浠剁洃鍚櫒
+ uni.$on('scancodedate', function(content) {
+ console.log("鎵弿鍒扮殑鍐呭涓�:", content)
+ _this.getMaintainScanDeviceApplyQrCodeData(content)
+ })
+ },
+ 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('SB001')
+ // this.getMaintainScanDeviceApplyQrCodeData('SB002')
+ // this.getMaintainScanDeviceApplyQrCodeData('SB003')
+ // this.getMaintainScanDeviceApplyQrCodeData('SB005')
+ },
+ 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])
+ }
+ },
+
+ // 纭鎻愪氦鎸夐挳
+ async submit() {
+ const header = {
+ // 'Content-Type': 'multipart/form-data',
+ 'Content-Type': 'application/x-www-form-urlencoded',
+ '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'
+ }
+
+
+
+
+ /*
+ 鍦ㄧ數鑴戜笂璇锋眰鏄渶瑕丠5鐨勪唬鐮�
+ 鎵嬫満涓婅姹傛槸闇�瑕丄PP-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
+ // const temp = [{
+ // name: 'files1'
+ // }]
+
+ let formData = {
+ username: uni.getStorageSync('username'),
+ eqpcode: this.topContent[0].code,
+ wkshpcode: this.topContent[0].wksp_code,
+ faultsourcecode: this.selectValue,
+ faultdescr: this.descMessage,
+ }
+
+
+ console.log(formData)
+
+
+ this.isDisabledSubmitButton = true
+ uni.uploadFile({
+ url: this.$baseUrl + '/AppDeviceManage/MaintainScanDeviceApplySave',
+ files: this.fileList.length === 0 ? [{
+ uri: '/'
+ }] : this.fileList,
+ // files: [{"uri": "/" }],
+ header: header,
+ formData: formData,
+ success: (res) => {
+ 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) {
+ 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>
\ No newline at end of file
diff --git a/pages/sbgl/wxyz.vue b/pages/sbgl/wxyz.vue
new file mode 100644
index 0000000..83f1b1b
--- /dev/null
+++ b/pages/sbgl/wxyz.vue
@@ -0,0 +1,603 @@
+<template>
+ <view>
+ <page-nav title="缁翠慨楠岃瘉"></page-nav>
+
+
+ <view v-show="topContent.length===0">
+ <div class="sacnBody">
+ <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="56"></u-icon>
+ </view>
+
+ </view>
+
+
+
+ <view :style="{maxHeight:'1000rpx',overflow: 'scroll'}">
+ <view class="marginTop20 marginLeft20 marginRight20 flex_column">
+
+ <u-radio-group v-model="radioValue" class="flex_column">
+ <view class="marginBottom20 flex_column" style="width: 100%;"
+ @click="groupChange(item.repair_code)" v-for="item in topContent"
+ :key="item.repair_code">
+ <view class="flex_between marginBottom20">
+ <view style="display: flex;">
+ <view class="flex_column titleFont">
+ <view>缁翠慨缁翠慨鍗曪細</view>
+ <view>宸ヤ綅缂栫爜锛�</view>
+ <view>宸ヤ綅鍚嶇О锛�</view>
+ <view>鐢熶骇杞﹂棿锛�</view>
+ <view>缁翠慨浜哄憳锛�</view>
+ <view>缁翠慨鏃堕棿锛�</view>
+ <view>鍋滄満缁翠慨锛�</view>
+ <view>鏁呴殰鎻忚堪锛�</view>
+ </view>
+ <view class="flex_column contentFont">
+ <view>{{item.repair_code}}</view>
+ <view>{{item.eqpcode}}</view>
+ <view>{{item.eqpname}}</view>
+ <view>{{item.wksp_name}}</view>
+ <view>{{item.repair_person}}</view>
+ <view>{{item.repair_date}}</view>
+ <view>{{item.is_shutdown==='Y'?'鏄�':'鍚�'}}</view>
+ <view style="width:400rpx;word-wrap:break-word">
+ {{item.failure_descript}}
+ </view>
+ </view>
+ </view>
+ <u-radio size='40' :key="item.repair_code" :name="item.repair_code"
+ @change="groupChange(item.repair_code)" activeColor="red"></u-radio>
+ </view>
+
+
+ <view v-show="!item.arrowType" class="repairDetail">
+ 缁翠慨璇︽儏
+ </view>
+ <view class="head" v-show="!item.arrowType" 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 style="margin: 0 20rpx; width: 95%;" class="contentFont">
+ {{descMessage}}
+ </view>
+ <view style="display: flex;" v-show="fileList.length!==0">
+ <view v-for="(pic,index) in fileList" :key="index">
+ <view style="margin: 20rpx 0rpx 20rpx 20rpx;position: relative;">
+ <!-- <u-icon name="close" color="#fff" size="26"
+ style="position: absolute;z-index: 10;right: 0;background-color: black;border-radius:50%;"
+ @click="deletePic(pic)"></u-icon>
+ -->
+ <image :src="baseUrl+ pic.img1url" @click="imgPreview(pic)"
+ class="upLoadImg">
+ </image>
+ </view>
+ </view>
+
+ </view>
+ </view>
+
+
+ <u-gap height="5" v-show="!item.arrowType" bgColor="#eff0f1"
+ style='width: 106%;margin-left: -3%;'></u-gap>
+ <view class="head" v-show="!item.arrowType" 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="" style="width: 90rpx;display: flex;">
+ <u-button type="primary" disabled
+ :text="descMessage2.toString().length>0?'鍚�':'鏄�'">
+ </u-button>
+ </view>
+ </view>
+ </view>
+
+ <u-gap height="5" v-show="!item.arrowType&&descMessage2" bgColor="#eff0f1"
+ style='width: 106%;margin-left: -3%;'></u-gap>
+
+ <view class="head" v-show="!item.arrowType&&descMessage2"
+ 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 style="margin: 0 20rpx; width: 95%;" class="contentFont">
+ {{descMessage2}}
+ </view>
+ </view>
+
+ <u-gap height="5" v-show="!item.arrowType&&descMessage3" bgColor="#eff0f1"
+ style='width: 106%;margin-left: -3%;'></u-gap>
+
+ <view class="head" v-show="!item.arrowType&&descMessage3"
+ 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 style="margin: 0 20rpx; width: 95%;" class="contentFont">
+ {{descMessage3}}
+ </view>
+ <view style="display: flex;" v-show="fileList2.length!==0">
+ <view v-for="(pic,index) in fileList2" :key="index">
+ <view style="margin: 20rpx 0rpx 20rpx 20rpx;position: relative;">
+ <!-- <u-icon name="close" color="#fff" size="26"
+ style="position: absolute;z-index: 10;right: 0;background-color: black;border-radius:50%;"
+ @click="deletePic(pic)"></u-icon>
+ -->
+ <image :src="baseUrl+ pic.img2url" @click="imgPreview2(pic)"
+ class="upLoadImg">
+ </image>
+ </view>
+ </view>
+
+ </view>
+ </view>
+
+
+ <u-gap height="5" v-show="!item.arrowType" bgColor="#eff0f1"
+ style='width: 106%;margin-left: -3%;'></u-gap>
+ <view class="head" v-show="!item.arrowType" 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=" " style="width: 190rpx;display: flex;"
+ :key="Math.random()+item.repair_code">
+ <u-button :plain="item.resultValue!=='OK'" text="姝e父"
+ @click="resultValueClick(item.repair_code,'OK')"
+ :key="Math.random()+item.repair_code+'OK'" type="primary">
+
+ </u-button>
+ <u-button type="warning" :plain="item.resultValue!=='NG'"
+ :key="Math.random()+item.repair_code+'NG'" text="寮傚父"
+ @click="resultValueClick(item.repair_code,'NG')">
+ </u-button>
+ </view>
+ </view>
+ </view>
+
+ <!-- <u-gap height="16" v-show="!item.arrowType" bgColor="#eff0f1"
+ style='width: 106%;margin-left: -3%;'></u-gap> -->
+
+ <view style="display: flex;justify-content: center;margin : 10rpx; 0">
+ <view class="arrowClass"
+ @click="item.arrowType?arrowDownClick(item):arrowUpClick(item)">
+ <u-icon :name="item.arrowType?'arrow-down':'arrow-up'" color="#c8c8c8"
+ size="50"></u-icon>
+ </view>
+ </view>
+
+
+ <u-gap height="16" bgColor="#eff0f1" style="width: 106%;margin-left: -3%;">
+ </u-gap>
+ </view>
+ </u-radio-group>
+ </view>
+ </view>
+ </view>
+
+ </view>
+ </view>
+
+ <view class="footer" style="min-height:62rpx;">
+ <u-button size="large" :loading="isDisabledSubmitButton" loadingText="姝e湪鎻愪氦,璇风◢绛�..." type="primary"
+ @click="submit"
+ :disabled="topContent.length>0? topContent.find(i=>i.repair_code===radioValue).resultValue==='':true"
+ text="纭鎻愪氦">
+ </u-button>
+ </view>
+
+
+
+ </view>
+
+
+ <scan-code></scan-code>
+ </view>
+</template>
+
+<script>
+ import {
+ // RepairVerificationScanDeviceData,
+ // RepairVerificationScanDeviceDataSub
+ } 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)
+
+
+ let r = _this.topContent.find(i => i.repair_code === content)
+
+ if (r === undefined) {
+ uni.$u.toast('鎵�鎵殑浜岀淮鐮佷笉鍦ㄥ垪琛ㄤ腑锛�')
+ // return
+ } else {
+ _this.topContent.forEach((item, index) => {
+ if (item.repair_code === content) {
+ _this.topContent.splice(index, 1)
+ }
+ })
+ _this.topContent.unshift(r)
+ _this.radioValue = content
+ }
+ })
+ },
+ onPullDownRefresh() {
+ setTimeout(() => {
+ this.init(() => {
+ uni.stopPullDownRefresh();
+ })
+ }, 1000);
+ },
+ data() {
+ return {
+ isDisabledSubmitButton: false,
+ baseUrl: 'http://121.196.36.24:8001',
+ topContent: [], //鎵弿淇濆吇宸ヤ綅鎵�甯﹀嚭鏉ョ殑鍐呭
+ radioValue: '', //鍗曢�夋鐨勫��
+ scanContent: '', //鎵弿鎵嚭鏉ョ殑鍊�
+
+ detailContent: [], //鏄剧ず璇︽儏鍐呭
+
+ descMessage: '', //
+ descMessage2: '', //
+ descMessage3: '', //
+ imgPreviewSrcs: [], //鍥剧墖棰勮src 鏁呴殰鎻忚堪
+ fileList: [], //鍥剧墖鏁扮粍 鏁呴殰鎻忚堪
+ fileList2: [], //鏇存崲澶囦欢鍥剧墖
+ imgPreviewSrcs2: [],
+
+
+
+ }
+ },
+ created() {
+
+
+ },
+ mounted() {
+ this.init()
+ this.getRepairVerificationScanDeviceData()
+ },
+ methods: {
+ // 棰勮鍥剧墖
+ imgPreview(img) {
+ console.log(img)
+ uni.previewImage({
+ current: this.fileList.findIndex(i => i.img1url === img.img1url),
+ indicator: "number",
+ loop: true,
+ urls: this.imgPreviewSrcs
+ })
+ },
+ imgPreview2(img) {
+ uni.previewImage({
+ current: this.fileList2.findIndex(i => i.img2url === img.img2url),
+ indicator: "number",
+ loop: true,
+ urls: this.imgPreviewSrcs2
+ })
+ },
+ init() {
+ uni.stopPullDownRefresh();
+ },
+ // 鍗曢�夋寜閽�変腑鍊兼敼鍙�
+ groupChange(repair_code) {
+ this.radioValue = repair_code
+ this.topContent.forEach(item => {
+ if (item.repair_code !== repair_code) {
+ item.resultValue = ''
+ }
+ })
+ this.$forceUpdate()
+
+ },
+
+ // 鎵爜妗嗙偣鍑�
+ 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 r = that.topContent.find(i => i.repair_code === that.scanContent)
+
+ if (r === undefined) {
+ uni.$u.toast('鎵�鎵殑浜岀淮鐮佷笉鍦ㄥ垪琛ㄤ腑锛�')
+ } else {
+ that.topContent.forEach((item, index) => {
+ if (item.repair_code === that.scanContent) {
+ that.topContent.splice(index, 1)
+ }
+ })
+ that.topContent.unshift(r)
+ that.radioValue = that.scanContent
+ }
+
+ },
+ complete: function(res) {
+
+ },
+ fail: function(res) {
+ console.log('鏉$爜绫诲瀷锛�' + res.scanType);
+ console.log('鏉$爜鍐呭锛�' + res.result);
+ }
+
+ });
+ },
+
+ // 鑾峰彇缁翠慨鍒楄〃
+ async getRepairVerificationScanDeviceData(val) {
+ const res = await RepairVerificationScanDeviceData()
+ if (res.code === '200') {
+ this.topContent = res.data
+ this.topContent.forEach(i => {
+ i.arrowType = true
+ i.resultValue = ''
+ })
+ if (this.topContent.length > 0) {
+ this.getRepairVerificationScanDeviceDataSub(this.topContent[0].repair_code, this.topContent[0]
+ .eqpcode, this.topContent[0].wksp_code)
+ }
+ this.radioValue = this.topContent.length > 0 ? this.topContent[0].repair_code : ''
+ // console.log(this.topContent, 1)
+ this.$forceUpdate()
+
+ }
+ },
+ // 鑾峰彇缁翠慨鍒楄〃璇︽儏
+ async getRepairVerificationScanDeviceDataSub(repair_code, eqpcode, wkshpcode) {
+ const res = await RepairVerificationScanDeviceDataSub(repair_code, eqpcode, wkshpcode)
+ this.detailContent = res.data
+
+ this.descMessage = this.detailContent.failure_descript
+ this.fileList = this.detailContent.failure_descriptimg ? this.detailContent.failure_descriptimg.filter(
+ i => i.img1url !== '') : []
+
+ this.imgPreviewSrcs = []
+ this.fileList.forEach(i => {
+ this.imgPreviewSrcs.push(this.baseUrl + i.img1url)
+ })
+
+ this.descMessage2 = this.detailContent.repair_content ? this.detailContent.repair_content : ''
+ this.descMessage3 = this.detailContent.repair_part ? this.detailContent.repair_part : ''
+ this.fileList2 = this.detailContent.repair_partimage ? this.detailContent.repair_partimage.filter(i =>
+ i.img2url !== '') : []
+ this.imgPreviewSrcs2 = []
+ this.fileList2.forEach(i => {
+ this.imgPreviewSrcs2.push(this.baseUrl + i.img2url)
+ })
+
+ this.$forceUpdate()
+ },
+ // 鍚戜笅鐨勭澶寸偣鍑�
+ arrowDownClick(val) {
+ this.topContent.forEach(item => {
+ item.arrowType = true
+ if (item.repair_code === val.repair_code) {
+ item.arrowType = false
+ item.resultValue = item.resultValue ? item.resultValue : ''
+ this.descMessage = ''
+ this.descMessage2 = ''
+ this.descMessage3 = ''
+ this.fileList = []
+ this.fileList2 = []
+ this.imgPreviewSrcs = []
+ this.imgPreviewSrcs2 = []
+ this.getRepairVerificationScanDeviceDataSub(item.repair_code, item.eqpcode, item.wksp_code)
+ }
+ })
+ this.$forceUpdate()
+ },
+ //鍚戜笂浠庣澶寸偣鍑�
+ arrowUpClick(val) {
+ this.topContent.forEach(item => {
+ item.arrowType = true
+ })
+ this.$forceUpdate()
+ },
+ // 楠岃瘉缁撴灉鐐瑰嚮
+ resultValueClick(repair_code, val) {
+ console.log(repair_code, val)
+ this.topContent.forEach(item => {
+ if (item.repair_code === repair_code) {
+ item.resultValue = val
+ }
+ })
+ console.log(this.topContent, 8)
+ this.$forceUpdate()
+ },
+ // 纭鎻愪氦鎸夐挳
+ async submit() {
+ const header = {
+ // 'Content-Type': 'multipart/form-data',
+ 'Content-Type': 'application/x-www-form-urlencoded',
+ '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'
+ }
+
+ const result = this.topContent.find(item => item.repair_code === this.radioValue)
+ let formData = {
+ username: uni.getStorageSync('username'),
+ repairwo: result.repair_code,
+ eqpcode: result.eqpcode,
+ wkshpcode: result.wksp_code,
+ result: result.resultValue,
+ }
+
+ // console.log(formData)
+
+ // this.isDisabledSubmitButton = true
+ // uni.request({
+ // url: this.$baseUrl + '/AppDeviceManage/RepairVerificationScanDeviceSave', //浠呬负绀轰緥锛屽苟闈炵湡瀹炴帴鍙e湴鍧�銆�
+ // data: formData,
+ // method: "POST",
+ // header: header,
+ // success: res => {
+ // if (res.statusCode == 200 && res.data.code == '200') {
+ // uni.$u.toast('鎻愪氦鎴愬姛锛�')
+ // // this.topContent = this.topContent.filter(i => i.repair_code !== this
+ // // .radioValue)
+ // // this.radioValue = this.topContent.length === 0 ? '' : this.topContent[0]
+ // // .repair_code
+ // // console.log(this.radioValue)
+ // // console.log(this.topContent, 9)
+ // // this.groupChange(this.radioValue)
+
+ // this.getRepairVerificationScanDeviceData()
+ // this.isDisabledSubmitButton = false
+ // this.$forceUpdate()
+ // }
+ // },
+ // fail: res => {
+ // uni.$u.toast('鎻愪氦澶辫触锛�')
+ // this.isDisabledSubmitButton = false
+ // }
+ // })
+
+
+ this.isDisabledSubmitButton = true
+ uni.uploadFile({
+ url: this.$baseUrl + '/AppDeviceManage/RepairVerificationScanDeviceSave',
+ files: [{
+ "uri": "/"
+ }],
+ header: header,
+ formData: formData,
+ success: (res) => {
+ let result = JSON.parse(res.data)
+ if (res.statusCode == 200 && result.code == '200') {
+ uni.$u.toast('鎻愪氦鎴愬姛锛�')
+ this.topContent = this.topContent.filter(i => i.repair_code !== this
+ .radioValue)
+ this.radioValue = this.topContent.length === 0 ? '' : this.topContent[0]
+ .repair_code
+ } else {
+ uni.$u.toast(result.Message)
+ }
+ this.isDisabledSubmitButton = false
+ this.$forceUpdate()
+ },
+ fail(res) {
+ uni.$u.toast('鎻愪氦澶辫触锛�')
+ this.isDisabledSubmitButton = false
+ },
+ })
+
+
+ },
+ }
+ }
+</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;
+ }
+
+
+ ::v-deep .uni-progress-bar {
+ background-color: transparent !important;
+ }
+
+ .upLoadImg {
+ width: 160rpx;
+ height: 160rpx;
+ border-radius: 20rpx;
+ }
+
+ .repairDetail {
+ margin-top: 20rpx;
+ background-color: #eff0f1;
+ height: 80rpx;
+ font-size: 36rpx;
+ width: 106%;
+ margin-left: -3%;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ border-radius: 10rpx;
+ }
+
+ .arrowClass {
+ display: flex;
+ justify-content: center;
+ // background-color: #efefef;
+ width: 100rpx;
+ // border-radius: 10rpx;
+ height: 56rpx;
+ }
+</style>
\ No newline at end of file
diff --git a/pages/xtsy/index.vue b/pages/xtsy/index.vue
index d1fb2dc..5483ed5 100644
--- a/pages/xtsy/index.vue
+++ b/pages/xtsy/index.vue
@@ -2,9 +2,9 @@
<view>
<!-- <u-notify ref="uNotify" message="鐧诲綍鎴愬姛!"></u-notify> -->
- <page-nav title="宸ヤ綔鍙�" :topRightMessageCount="topRightMessageCount"></page-nav>
+ <page-nav title="宸ヤ綔鍙�"></page-nav>
- <!-- :height="$DeviceInformation.screenHeight*6/9" -->
+
<u-swiper :list="list1" style="margin: 0 0rpx;" indicator height='250' indicatorActiveColor='#436df5'
indicatorMode='dot' interval='3000' :autoplay='true'></u-swiper>
@@ -214,6 +214,26 @@
break;
+ // 璁惧绠$悊
+ case '2400':
+ url = 'sbgl/rcdj' //鏃ュ父鐐规
+ break;
+ case '2401':
+ url = 'sbgl/dqby' //瀹氭湡淇濆吇
+ break;
+ case '2404':
+ url = 'sbgl/wxsq' //缁翠慨鐢宠
+ break;
+ case '2402':
+ url = 'sbgl/sbwx' //璁惧缁翠慨
+ break;
+ case '2403':
+ url = 'sbgl/wxyz' //缁翠慨楠岃瘉
+ break;
+
+
+
+
case '2032':
url = 'zlgl/jyfh' //妫�楠屽鏍�
@@ -250,15 +270,6 @@
break;
- case '2042':
- url = 'sbgl/wxsq' //缁翠慨鐢宠
- break;
- case '2043':
- url = 'sbgl/sbwx' //璁惧缁翠慨
- break;
- case '2044':
- url = 'sbgl/wxyz' //缁翠慨楠岃瘉
- break;
// 妯″叿绠$悊
--
Gitblit v1.9.3