From d26ff568b097248861a6cbc13bcf2acc88a54524 Mon Sep 17 00:00:00 2001
From: 小小儁爺 <1694218219@qq.com>
Date: 星期五, 23 五月 2025 11:03:06 +0800
Subject: [PATCH] 1.上靖 app端部署
---
pages/sbgl/wxsq.vue | 448 ++++++++++++++-----------------------------------------
1 files changed, 118 insertions(+), 330 deletions(-)
diff --git a/pages/sbgl/wxsq.vue b/pages/sbgl/wxsq.vue
index 4a4fbbd..374ec54 100644
--- a/pages/sbgl/wxsq.vue
+++ b/pages/sbgl/wxsq.vue
@@ -3,148 +3,68 @@
<page-nav title="璁惧缁翠慨鐢宠"></page-nav>
- <view v-show="topContent.length===0">
+ <view v-if="purchorderArrAll.length>0">
+ <!-- <view class="mainContent" :style="{maxHeight: '1340rpx',overflow: 'scroll',padding:0}"> -->
+
+ <!-- #ifdef H5 -->
+ <u--input prefixIcon="search" prefixIconStyle="font-size: 22px;color: #909399" placeholder="杈撳叆璁惧/宸ヤ綅"
+ clearable border="surround" @clear='inputBoxValueClear' v-model="inputBoxValue"
+ @change="changeInputBoxValue">
+ <template slot="suffix">
+ <u-icon name="scan" color="#909399" size="24" @click="topScanClick"></u-icon>
+ </template>
+ </u--input>
+ <!-- #endif -->
+
+ <!-- #ifdef APP-PLUS -->
+ <u-input prefixIcon="search" prefixIconStyle="font-size: 22px;color: #909399" placeholder="杈撳叆璁惧/宸ヤ綅"
+ clearable border="surround" @clear='inputBoxValueClear' v-model="inputBoxValue"
+ @change="changeInputBoxValue">
+ <template slot="suffix">
+ <u-icon name="scan" color="#909399" size="24" @click="topScanClick"></u-icon>
+ </template>
+ </u-input>
+ <!-- #endif -->
+
+
+ <u-alert :title="'璁惧/宸ヤ綅鏁帮紙鍏�'+title+'涓級'" type="primary"></u-alert>
+
+ <u-radio-group v-model="radioValue" iconPlacement="right" @change="radioValueClick" class="radioGroupClass">
+ <view v-for="(item,index) in purchorderArr" :key="item.code">
+ <!-- @click="radioValueClick(item.code)" -->
+ <view>
+ <u-radio activeColor="red" size="18" labelSize='18' :name='item.code' :key="item.code"
+ :label="item.code+'/'+item.name"></u-radio>
+ </view>
+ <u-line v-if="index!==purchorderArr.length-1" color="#2979ff"></u-line>
+ </view>
+ </u-radio-group>
+
+ <view class="footer" style="min-height:62rpx;">
+ <u-button type="primary" size='large' :hairline="true" @click="navigateTo" text="涓嬩竴姝�"></u-button>
+ </view>
+ <!-- </view> -->
+ </view>
+
+
+ <view v-if="purchorderArrAll.length===0">
<div class="sacnBody">
- <div class="scanImg" @click="topScanClick"></div>
- <div class="scanText">鎵弿缁翠慨宸ヤ綅</div>
+ <div class="boxImg"></div>
+ <div class="scanText">鏆傛棤璁惧/宸ヤ綅</div>
</div>
</view>
-
- <view v-show="topContent.length!==0">
- <view class="mainContent">
- <view>
- <u-gap height="10" bgColor="#eff0f1"></u-gap>
- <view class="head" style="max-height: 370rpx;overflow:scroll;">
- <view class="head_block">
- <view class="head_left">
- <view class="head_bar"></view>
- <view class="head_title">
- 鎵弿缁翠慨宸ヤ綅
- </view>
- </view>
-
- <view class="marginRight20">
- <u-icon name="scan" @click="topScanClick" color="red" size="28"></u-icon>
- </view>
-
- </view>
-
- <view class="marginTop20 marginLeft20 marginRight20 flex_column">
- <!-- <u-radio-group class=""> -->
- <view class="marginBottom20 flex_between" @click="groupChange(item.code)"
- v-for="item in topContent" :key="item.code">
- <view style="display: flex;">
- <view class="flex_column titleFont">
- <view>宸ヤ綅缂栫爜锛�</view>
- <view>宸ヤ綅鍚嶇О锛�</view>
- <view>鐢熶骇杞﹂棿锛�</view>
- </view>
- <view class="flex_column contentFont">
- <view>{{item.code}}</view>
- <view>{{item.name}}</view>
- <view>{{item.wksp_name}}</view>
- </view>
- </view>
- <!-- <u-radio size='40' :key="item.code" :name="item.code"
- @change="groupChange(item.code)" activeColor="red"></u-radio> -->
- </view>
- <!-- </u-radio-group> -->
- </view>
-
- </view>
- <u-gap height="10" bgColor="#eff0f1"></u-gap>
-
- <view class="head" style="padding-bottom: 10rpx;">
- <view class="head_block" style="margin-bottom: 10rpx;margin-top:20rpx;">
- <view class="head_left">
- <view class="head_bar"></view>
- <view class="head_title">
- 鏁呴殰鏉ユ簮
- </view>
- </view>
-
- <view class="marginRight20" style="width: 200rpx;">
- <uni-data-select v-model="selectValue" :clear="false" :localdata="selectRange"
- @change="selectChange">
- </uni-data-select>
- </view>
- </view>
- </view>
- <u-gap height="10" bgColor="#eff0f1"></u-gap>
-
- <view class="head" style="padding-bottom: 10rpx;">
- <view class="head_block" style="margin-bottom: 10rpx;margin-top:20rpx;">
- <view class="head_left">
- <view class="head_bar"></view>
- <view class="head_title">
- 鏁呴殰鎻忚堪
- </view>
- </view>
- </view>
- <view class='inputClass contentFont' style="margin: 0 20rpx; width: 95%;">
- <u--textarea placeholder="璇疯緭鍏�" confirm-type="send" border="surround" height='100'
- v-model="descMessage">
- </u--textarea>
- </view>
-
-
-
- <view style="display: flex;">
- <view v-for="(pic,index) in fileList" :key="pic.name">
- <view style="margin: 20rpx 0rpx 20rpx 20rpx;position: relative;">
- <u-icon name="close" color="#fff" size="13"
- style="position: absolute;z-index: 10;right: 0;background-color: black;border-radius:50%;"
- @click="deletePic(pic)"></u-icon>
-
- <image :src="pic.uri" @click="imgPreview(pic)" class="upLoadImg"></image>
- </view>
- </view>
- <image v-if="fileList.length<3" src="../../static/img/uploadImg.png" style="width: 100rpx;height: 100rpx;border: 1rpx solid #eff0f1;border-radius: 20rpx;
- margin: 20rpx;padding: 30rpx;
- " @click="selectPics">
- </view>
-
- </view>
-
- </view>
- </view>
-
-
-
- <u-button size="large" :loading="isDisabledSubmitButton" loadingText="姝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'
-
+ EqpPermissions
+ } from '../../config/api.js';
export default {
- components: {
- scanCode
- },
- onLoad(option) {
- const _this = this
- uni.$off('scancodedate') // 姣忔杩涙潵鍏� 绉婚櫎鍏ㄥ眬鑷畾涔変簨浠剁洃鍚櫒
- uni.$on('scancodedate', function(content) {
- console.log("鎵弿鍒扮殑鍐呭涓�:", content)
- _this.getMaintainScanDeviceApplyQrCodeData(content)
- })
- },
+ onLoad(option) {},
+
onPullDownRefresh() {
setTimeout(() => {
this.init(() => {
@@ -152,102 +72,63 @@
})
}, 1000);
},
+
data() {
return {
- isDisabledSubmitButton: false,
- topContent: [], //鎵弿淇濆吇宸ヤ綅鎵�甯﹀嚭鏉ョ殑鍐呭
- centerContent: [], //淇濆吇椤圭洰鍐呭
- scanContent: '', //鎵弿鎵嚭鏉ョ殑鍊�
- // radioValue: '', //鍗曢�夋鐨勫��
+ inputBoxValue: '', //杈撳叆妗嗗��
- selectValue: 'A',
- selectRange: [{
- value: 'A',
- text: '璁惧鐐规'
- }, {
- value: 'B',
- text: '璁惧淇濆吇'
- }, {
- value: 'C',
- text: '瀹夌伅鍛煎彨'
- }, {
- value: 'D',
- text: '鎵嬪伐'
- }],
- descMessage: '', //鏁呴殰鎻忚堪
+ title: 0,
- imgPreviewSrcs: [], //鍥剧墖棰勮src
- fileList: [], //鍥剧墖鏁扮粍
+
+ radioValue: '',
+
+ purchorderArr: [],
+
+ purchorderArrAll: []
}
},
created() {
- // const a = [{
- // name: 1
- // }]
- // const b = [{
- // name: 1
- // }]
- // console.log([...a, ...b])
+
},
mounted() {
this.init()
- // this.getMaintainScanDeviceApplyQrCodeData('101')
+ this.getEqpPermissions()
},
methods: {
- // 閫夋嫨鍥剧墖
- selectPics() {
- var that = this;
- uni.chooseImage({
- count: 3,
- success: (res) => {
- const files = res.tempFiles;
- for (let i = 0; i < files.length; i++) {
- let obj = new Object();
- obj.name = 'photo' + i + new Date().getTime();
- obj.uri = files[i].path;
- that.fileList.push(obj);
- if (obj.src == null || obj.src == '' || obj.src == undefined) {
- that.imgPreviewSrcs.push(obj.uri)
- } else {
- that.imgPreviewSrcs.push(obj.src)
- }
-
- }
- }
- })
- },
- // 棰勮鍥剧墖
- imgPreview(img) {
- uni.previewImage({
- current: this.fileList.findIndex(i => i.name === img.name),
- indicator: "number",
- loop: true,
- urls: this.imgPreviewSrcs
-
- })
- },
- // 鍒犻櫎鍥剧墖
- deletePic(img) {
- console.log(img)
- this.fileList = this.fileList.filter(i => i.name !== img.name)
- this.imgPreviewSrcs = this.imgPreviewSrcs.filter(i => i !== img.uri)
- },
init() {
uni.stopPullDownRefresh();
},
+ changeInputBoxValue(val) {
+ this.purchorderArr = this.purchorderArrAll.filter((p) => {
+ return p.code.indexOf(val) !== -1
+ })
- selectChange(val) {
- console.log(val)
+
+ if (this.purchorderArr.length > 0) {
+ this.radioValue = this.purchorderArr[0].code
+ }
+
+
},
- // 鎵爜宸ヤ綅 鐨勬壂鐮佹鐐瑰嚮
- topScanClick() {
- // if (this.topContent.length > 0) {
- // return uni.$u.toast('璇峰厛鎻愪氦姝ょ淮淇敵璇凤紒')
- // }
+ inputBoxValueClear() {
+ this.inputBoxValue = ''
+ },
+ radioValueClick(val) {
+ console.log(val)
+ this.radioValue = val
+ },
+ navigateTo() {
+ uni.navigateTo({
+ url: './wxsq2?code=' + this.radioValue
+ });
+ },
+ // 鎵爜妗嗙偣鍑�
+ topScanClick() {
let that = this;
+
uni.scanCode({
onlyFromCamera: true,
// scanType: ['barCode', 'qrCode'],
@@ -256,18 +137,7 @@
console.log('鏉$爜绫诲瀷锛�' + res.scanType);
console.log('鏉$爜鍐呭锛�' + res.result);
that.scanContent = res.result;
- let flag = false
- that.topContent.forEach(item => {
- if (item.code === res.result) {
- flag = true
- }
- })
- if (flag) {
- that.$u.toast('姝ゆ潯鐮佸凡鎵弿锛屽凡鍦ㄥ垪琛ㄤ腑锛�')
- } else {
- //澶勭悊鎵爜浜嬩欢
- that.getMaintainScanDeviceApplyQrCodeData(that.scanContent);
- }
+ that.changeInputBoxValue(that.scanContent);
},
complete: function(res) {
@@ -280,110 +150,18 @@
});
},
- // 鑾峰彇缁翠慨宸ヤ綅
- async getMaintainScanDeviceApplyQrCodeData(val) {
- const data = {
- eqpcode: val
- }
+ async getEqpPermissions() {
+ const res = await EqpPermissions()
- const res = await MaintainScanDeviceApplyQrCodeData(data)
- if (res.code === '200') {
- this.topContent = []
- this.topContent.unshift(res.data[0])
- }
- },
+ this.purchorderArrAll = res.data
- // 纭鎻愪氦鎸夐挳
- async submit() {
- const header = {
- // 'Content-Type': 'multipart/form-data',
- // 'Content-Type': 'application/x-www-form-urlencoded',
- 'Token': uni.getStorageSync('Token')
- // 'rediskey': uni.getStorageSync('rediskey'),
- // 'admin': uni.getStorageSync('usercode'),
- // 'username': encodeURIComponent(uni.getStorageSync('username')),
- // 'navTabId': uni.getStorageSync('usercode'),
- // 'userid': uni.getStorageSync('userid'),
- // 'guid': uni.getStorageSync('guid'),
- // 'usertype': 'APP'
- }
+ this.purchorderArr = res.data
+ this.title = res.data.length
+ this.radioValue = res.data[0].code
-
- /*
- 鍦ㄧ數鑴戜笂璇锋眰鏄渶瑕丠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
-
- let formData = {
- eqpcode: this.topContent[0].code,
- wkshpcode: this.topContent[0].wksp_code,
- faultsourcecode: this.selectValue,
- faultdescr: this.descMessage,
- }
-
-
- console.log(formData)
- console.log(this.fileList, 'fileList')
-
-
- this.isDisabledSubmitButton = true
- uni.uploadFile({
- url: this.$baseUrl + '/DeviceManager/MaintainScanDeviceApplySave',
- files: this.fileList.length === 0 ? [{
- uri: '/'
- }] : this.fileList,
- // files: [{"uri": "/" }],
- header: header,
- formData: formData,
- success: (res) => {
- // console.log(res, '1')
- let result = JSON.parse(res.data)
- if (res.statusCode == 200 && result.code == '200') {
- uni.$u.toast('鎻愪氦鎴愬姛锛�')
- this.fileList = []
- this.imgPreviewSrcs = []
- this.descMessage = ''
- this.topContent = []
- this.centerContent = []
- } else {
- uni.$u.toast(result.Message)
- }
- this.isDisabledSubmitButton = false
- },
- fail(res) {
- // console.log(res, '1')
- uni.$u.toast('鎻愪氦澶辫触锛�')
- this.isDisabledSubmitButton = false
- },
- })
-
- // #endif
-
-
- },
+ }
}
}
</script>
@@ -395,23 +173,33 @@
display: block;
}
- ::v-deep .uicon-camera-fill {
- font-size: 60rpx !important;
+ .u-input--square {
+ margin: 20rpx 10rpx;
+ border-radius: 40rpx;
+ background-color: #fff;
+ border: 1px solid #c8c8c8;
}
- .uploader {
- /deep/.u-add-tips {
- display: none;
- }
+ ::v-deep .u-alert__text--primary--light {
+ margin-bottom: 0;
+ font-size: 32rpx !important;
}
- ::v-deep .uni-progress-bar {
- background-color: transparent !important;
+ .radioGroupClass {
+ display: flex;
+ flex-direction: column;
+ background-color: #fff;
+
+ overflow-y: auto;
+ max-height: 1040rpx;
+ margin-top: 20rpx;
}
- .upLoadImg {
- width: 160rpx;
- height: 160rpx;
- border-radius: 20rpx;
+ ::v-deep .u-radio-label--right {
+ height: 90rpx;
+ line-height: 90rpx;
+ width: 92%;
+ margin-left: 4%;
+ // padding: 0 50rpx;
}
</style>
\ No newline at end of file
--
Gitblit v1.9.3