From eb291c55ed2860b38b40385be78a30f30552685f Mon Sep 17 00:00:00 2001 From: renkang <8417338+k94314517@user.noreply.gitee.com> Date: 星期五, 06 十二月 2024 16:51:11 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- admin/src/views/workorder/workorderCate.vue | 4 admin/src/views/workorder/workorderList.vue | 5 h5/pages/operation/device.vue | 650 ++++++++++++++++++++++++++++--------------------- admin/src/views/Inspection/plan.vue | 6 admin/src/views/workorder/components/detail.vue | 31 + admin/src/views/workorder/components/OperaYwWorkorderWindow.vue | 55 +++- h5/pages/workOrder/list.vue | 2 7 files changed, 442 insertions(+), 311 deletions(-) diff --git a/admin/src/views/Inspection/plan.vue b/admin/src/views/Inspection/plan.vue index 2dcd367..421f804 100644 --- a/admin/src/views/Inspection/plan.vue +++ b/admin/src/views/Inspection/plan.vue @@ -20,8 +20,8 @@ <ul class="toolbar" v-permissions="['business:ywpatrolscheme:create', 'business:ywpatrolscheme:delete']"> <li><el-button type="primary" @click="editClick()" icon="el-icon-plus" v-permissions="['business:ywpatrolscheme:create']">鏂板缓</el-button></li> - <el-button type="primary" plain :loading="isWorking.export" v-permissions="['business:ywpatrolscheme:exportExcel']" - @click="exportExcel">瀵煎嚭</el-button> + <el-button type="primary" plain :loading="isWorking.export" + v-permissions="['business:ywpatrolscheme:exportExcel']" @click="exportExcel">瀵煎嚭</el-button> <!-- <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:ywpatrolscheme:delete']">鍒犻櫎</el-button></li> --> </ul> @@ -29,7 +29,7 @@ <el-table-column type="selection" width="55"></el-table-column> <el-table-column prop="title" label="璁″垝鍚嶇О" min-width="100px"></el-table-column> - <el-table-column prop="lineId" label="璁″垝缂栧彿" min-width="100px"></el-table-column> + <el-table-column prop="code" label="璁″垝缂栧彿" min-width="100px"></el-table-column> <el-table-column prop="userName" label="璐熻矗浜哄憳" min-width="100px"></el-table-column> <el-table-column prop="startDate" label="璁″垝鏃ユ湡" min-width="150px"> diff --git a/admin/src/views/workorder/components/OperaYwWorkorderWindow.vue b/admin/src/views/workorder/components/OperaYwWorkorderWindow.vue index 3b6d4e3..b524ba3 100644 --- a/admin/src/views/workorder/components/OperaYwWorkorderWindow.vue +++ b/admin/src/views/workorder/components/OperaYwWorkorderWindow.vue @@ -1,5 +1,6 @@ <template> - <GlobalWindow width="800px" :title="title" :visible.sync="visible" @close="close" :confirm-working="isWorking" @confirm="confirm"> + <GlobalWindow width="800px" :title="title" :visible.sync="visible" @close="close" :confirm-working="isWorking" + @confirm="confirm"> <el-form :model="form" ref="form" :rules="rules"> <el-form-item label="浣嶇疆绫诲瀷" prop="areaType"> <el-select v-model="form.areaType"> @@ -49,7 +50,7 @@ <i class="el-icon-plus avatar-uploader-icon"></i> <div>鍥剧墖/瑙嗛</div> </div> - </el-upload> + </el-upload> <div v-for="(item, i) in fileList" :key="i" class="item"> <i @click="handleDelImg(i)" class="el-icon-error close"></i> <el-image :src="item.fileurlFull" :preview-src-list="[item.fileurlFull]" v-if="item.type == 0" @@ -86,12 +87,8 @@ // 琛ㄥ崟鏁版嵁 form: { id: null, - creator: '', - createDate: '', - editor: '', editDate: '', floor: '', - isdeleted: '', title: '', remark: '', status: '', @@ -103,7 +100,6 @@ floorId: '', roomId: '', userId: '', - phone: '', submitDate: '', cateId: '', areaType: '0', @@ -147,6 +143,37 @@ // 鏂板缓 if (target == null) { this.$nextTick(() => { + this.$refs.form = { + id: null, + editDate: '', + floor: '', + title: '', + remark: '', + status: '', + sortnum: '', + content: '', + getDate: '', + projectId: '', + buildingId: '', + floorId: '', + roomId: '', + userId: '', + submitDate: '', + cateId: '', + areaType: '0', + code: '', + dealStatus: '', + dispatchUserId: '', + dispatchDate: '', + dispatchInfo: '', + dealUserId: '', + dealDate: '', + dealInfo: '', + dealType: '' + } + this.buildList = [] + this.roomList = [] + this.levelList = [] this.$refs.form.resetFields() this.form[this.configData['field.id']] = null }) @@ -179,16 +206,16 @@ changeBuild(e) { this.$set(this.form, 'floorId', '') this.$set(this.form, 'roomId', '') - if(this.form.areaType == 1){ + if (this.form.areaType == 1) { this.getLevel(e) - }else{ + } else { this.getRoom(e) } - - + + }, getLevel(buildingId) { - getFloorList({ buildingId}).then(res => { + getFloorList({ buildingId }).then(res => { this.levelList = res }) }, @@ -199,9 +226,9 @@ }) }, changeSel(e) { - if(e && e.length == 2){ + if (e && e.length == 2) { this.$set(this.form, 'cateId', e[1]) - }else{ + } else { this.$set(this.form, 'cateId', '') } }, diff --git a/admin/src/views/workorder/components/detail.vue b/admin/src/views/workorder/components/detail.vue index d5337ea..a6908d4 100644 --- a/admin/src/views/workorder/components/detail.vue +++ b/admin/src/views/workorder/components/detail.vue @@ -1,12 +1,12 @@ <template> - <GlobalWindow width="920px" title="宸ュ崟璇︽儏" :visible.sync="visible" :confirm-working="isWorking" @close="close" + <GlobalWindow width="960px" title="宸ュ崟璇︽儏" :visible.sync="visible" :confirm-working="isWorking" @close="close" @confirm="confirm"> <div class="main"> <div class="title"> <span>宸ュ崟璇︽儏</span> <div> <div class="status primaryColor" v-if="info.dealStatus == 0 || info.dealStatus == null">寰呮寚娲�</div> - <div class="status" v-if="info.dealStatus == 1">宸叉寚娲�</div> + <div class="status green" v-if="info.dealStatus == 1">宸叉寚娲�</div> <div class="status gray" v-if="info.dealStatus == 2">宸插鐞�</div> </div> </div> @@ -161,6 +161,7 @@ import { detailById, dispatchOrder, dealOrder } from '@/api/workorder/ywWorkorder' import { getUserList } from '@/api/system/user' import { Message, Loading } from 'element-ui' +import dayjs from 'dayjs' export default { components: { GlobalWindow @@ -222,6 +223,9 @@ const { id } = this detailById(id).then(res => { this.info = res + if(this.info.dealStatus == 1){ + this.$set(this.param, 'getDate',dayjs().format('YYYY-MM-DD HH:mm:ss') ) + } }) }, getStaff() { @@ -300,9 +304,9 @@ align-items: center; .status { - padding: 0 6px; - height: 22px; - line-height: 22px; + padding: 0 12px; + height: 24px; + line-height: 24px; border-radius: 2px; border: 1px solid #00BA92; color: #00BA92; @@ -312,12 +316,17 @@ } .primaryColor { - border: 1px solid $primary-color; + border: 1px solid rgba(63, 126, 239,.2); + background-color: rgba(63, 126, 239,.2); } - + .green{ + background-color: rgba(83, 183, 148, .2); + border: 1px solid rgba(83, 183, 148, .2); + } .gray { - color: gray; - border: 1px solid gray; + color: #333333; + background-color: rgba(128, 128, 128, .2); + border: 1px solid rgba(128, 128, 128, .2); } } @@ -343,6 +352,10 @@ width: 100%; display: flex; align-items: center; + .la{ + margin-bottom: 0; + width: 72px; + } } .max { diff --git a/admin/src/views/workorder/workorderCate.vue b/admin/src/views/workorder/workorderCate.vue index 394d168..80ef24f 100644 --- a/admin/src/views/workorder/workorderCate.vue +++ b/admin/src/views/workorder/workorderCate.vue @@ -4,8 +4,8 @@ <ul class="toolbar" v-permissions="['business:category:create', 'business:category:delete']"> <li><el-button type="primary" @click="handleEdit()" icon="el-icon-plus" v-permissions="['business:category:create']">鏂板缓</el-button></li> - <li v-permissions="['business:category:exportExcel']"><el-button type="primary" - @click="exportExcel">瀵煎嚭</el-button></li> + <!-- <li v-permissions="['business:category:exportExcel']"><el-button type="primary" + @click="exportExcel">瀵煎嚭</el-button></li> --> </ul> <el-table row-key="id" :tree-props="{ children: 'childCategoryList' }" v-loading="isWorking.search" :data="dataList" stripe @selection-change="handleSelectionChange"> diff --git a/admin/src/views/workorder/workorderList.vue b/admin/src/views/workorder/workorderList.vue index 2444c86..a2b0b1e 100644 --- a/admin/src/views/workorder/workorderList.vue +++ b/admin/src/views/workorder/workorderList.vue @@ -19,14 +19,14 @@ </el-select> </el-form-item> <el-form-item prop="cateId" label="宸ュ崟鍒嗙被"> - <el-cascader v-model="searchForm.areaIds" @change="changeSel" placeholder="璇烽�夋嫨宸℃鍖哄煙" clearable + <el-cascader v-model="searchForm.areaIds" @change="changeSel" placeholder="璇烽�夋嫨宸ュ崟鍒嗙被" clearable :options="cateList" :props="{ label: 'name', value: 'id', children: 'childCategoryList' }"></el-cascader> </el-form-item> - <el-form-item label="鎻愪氦鏃ユ湡"> + <el-form-item label="涓婃姤鏃堕棿"> <el-date-picker v-model="searchForm.selDate" @change="changeSelDate" format="yyyy-MM-dd" value-format="yyyy-MM-dd" type="daterange"></el-date-picker> </el-form-item> @@ -168,6 +168,7 @@ buildingId: '', cateId: '', } + this.buildList = [] this.search() }, changeSelDate(e) { diff --git a/h5/pages/operation/device.vue b/h5/pages/operation/device.vue index 03eb655..80b70b1 100644 --- a/h5/pages/operation/device.vue +++ b/h5/pages/operation/device.vue @@ -5,226 +5,281 @@ <view class="la"><text class="red">*</text>閫夋嫨璁惧</view> <view class="line"> <view class="sel_wrap" @click="showModal = true"> - <view class="left" :class="param.deviceName ? '' : 'placeholder9'">{{ param.deviceName ? param.deviceName : '璇烽�夋嫨璁惧' }}</view> + <view class="left" :class="param.deviceName ? '' : 'placeholder9'"> + {{ param.deviceName ? param.deviceName : '璇烽�夋嫨璁惧' }} + </view> <u-icon name="arrow-right" color="#999999" size="17"></u-icon> </view> - <image class="icon" src="@/static/side/scan.png" mode=""></image> + <image @click="openQrcode" class="icon" src="@/static/side/scan.png" mode=""></image> </view> </view> - <view class="item"> - <view class="la">璁惧鐘舵��</view> - <view class="line"> - <view class="radio_wrap"> - <view class="ite" :class="{active: param.status == 0}" @click="statusChange(0)">姝e父</view> - <view class="ite" :class="{active: param.status == 1}" @click="statusChange(1)">鎹熷潖</view> - <view class="ite" :class="{active: param.status == 2}" @click="statusChange(2)">鎶ュ簾</view> - </view> - </view> - </view> - <view class="item"> - <view class="la">涓婁紶瑙嗛/鍥剧墖</view> - <view class="upload_wrap"> - <view class="upload_file" @click="showUpload = true"> - <u-icon name="plus" color="rgb(153, 153, 153)" size="28"></u-icon> - <view class="mt6">鍥剧墖/瑙嗛</view> - </view> - <view class="upload_file" v-for="(item, i) in fileList" :key="i"> - <u-icon class="close" size="20" name="close-circle-fill" color="red" - @click="fileDel('fileList', i)"></u-icon> - <image v-if="item.type == 0" :src="item.fileurlFull" mode="widthFix"></image> - <video v-if="item.type == 1" :src="item.fileurlFull" :controls="false"></video> - </view> - </view> - </view> - <view class="item"> - <view class="la">杩愮淮澶囨敞</view> - <view class="line"> - <textarea v-model="param.content" placeholder="璇疯緭鍏�" placeholder-class="placeholder9" /> - </view> - </view> + <view class="item"> + <view class="la">璁惧鐘舵��</view> + <view class="line"> + <view class="radio_wrap"> + <view class="ite" :class="{active: param.status == 0}" @click="statusChange(0)">姝e父</view> + <view class="ite" :class="{active: param.status == 1}" @click="statusChange(1)">鎹熷潖</view> + <view class="ite" :class="{active: param.status == 2}" @click="statusChange(2)">鎶ュ簾</view> + </view> + </view> + </view> + <view class="item"> + <view class="la">涓婁紶瑙嗛/鍥剧墖</view> + <view class="upload_wrap"> + <view class="upload_file" @click="showUpload = true"> + <u-icon name="plus" color="rgb(153, 153, 153)" size="28"></u-icon> + <view class="mt6">鍥剧墖/瑙嗛</view> + </view> + <view class="upload_file" v-for="(item, i) in fileList" :key="i"> + <u-icon class="close" size="20" name="close-circle-fill" color="red" + @click="fileDel('fileList', i)"></u-icon> + <image v-if="item.type == 0" :src="item.fileurlFull" mode="widthFix"></image> + <video v-if="item.type == 1" :src="item.fileurlFull" :controls="false"></video> + </view> + </view> + </view> + <view class="item"> + <view class="la">杩愮淮澶囨敞</view> + <view class="line"> + <textarea v-model="param.content" placeholder="璇疯緭鍏�" placeholder-class="placeholder9" /> + </view> + </view> </view> - <view class="sub_btn" @click="onSubmit">鎻愪氦</view> - <!-- --> - <u-popup :show="showUpload" @close="showUpload = false" closeOnClickOverlay> - <view class="sel_upload_wrap"> - <view class="btn" @click="uploadImage">閫夋嫨鍥剧墖</view> - <view class="btn" @click="uploadVideo">閫夋嫨瑙嗛</view> - </view> - </u-popup> - <!-- --> - <u-popup :show="showModal" @close="showModal = false" :safeAreaInsetBottom="true" :round="10" closeable closeOnClickOverlay> - <view class="appr_modal"> - <view class="title">璇烽�夋嫨璁惧</view> - <view class="search_wrap"> - <image class="mr12 search" src="@/static/home/ic_search@2x.png" mode="widthFix"></image> - <input v-model="searchValue" @confirm="getDevice()" type="text" placeholder="鎼滅储璁惧鍚嶇О/缂栧彿" placeholder-class="placeholder9" /> - </view> - <view class="modal_list"> - <view class="item" v-for="item,i in deviceList" @click="deviceClick(item)"> - <view class="name">[{{item.code}}] {{ item.name }}</view> - <image v-if="activeDevice.id == item.id" src="@/static/radioed.png" mode=""></image> - </view> - </view> - <view class="sub_btn" @click="handleDevice">纭畾閫夋嫨</view> - </view> + <view class="sub_btn" @click="onSubmit">鎻愪氦</view> + <!-- --> + <u-popup :show="showUpload" @close="showUpload = false" closeOnClickOverlay> + <view class="sel_upload_wrap"> + <view class="btn" @click="uploadImage">閫夋嫨鍥剧墖</view> + <view class="btn" @click="uploadVideo">閫夋嫨瑙嗛</view> + </view> </u-popup> + <!-- --> + <u-popup :show="showModal" @close="showModal = false" :safeAreaInsetBottom="true" :round="10" closeable + closeOnClickOverlay> + <view class="appr_modal"> + <view class="title">璇烽�夋嫨璁惧</view> + <view class="search_wrap"> + <image class="mr12 search" src="@/static/home/ic_search@2x.png" mode="widthFix"></image> + <input v-model="searchValue" @confirm="getDevice()" type="text" placeholder="鎼滅储璁惧鍚嶇О/缂栧彿" + placeholder-class="placeholder9" /> + </view> + <view class="modal_list"> + <view class="item" v-for="item,i in deviceList" @click="deviceClick(item)"> + <view class="name">[{{item.code}}] {{ item.name }}</view> + <image v-if="activeDevice.id == item.id" src="@/static/radioed.png" mode=""></image> + </view> + </view> + <view class="sub_btn" @click="handleDevice">纭畾閫夋嫨</view> + </view> + </u-popup> + <!-- --> + <view class="reader-box" @click="stopScan" v-if="isScaning"> + <view class="reader" id="reader"></view> + </view> </view> </template> -<script> - import { - uploadUrl, - ywDevicePost, - ywDeviceCreate - } from '@/api' +<script> + import { + uploadUrl, + ywDevicePost, + ywDeviceCreate + } from '@/api' import dayjs from 'dayjs'; + import { + Html5Qrcode + } from 'html5-qrcode'; export default { data() { return { - param: {status: 0}, - showUpload: false, - showModal: false, - fileList: [], - - searchValue: '', - deviceList: [], - activeDevice: {} + param: { + status: 0 + }, + showUpload: false, + showModal: false, + fileList: [], + + searchValue: '', + deviceList: [], + activeDevice: {}, + + html5Qrcode: null, + isScaning: false, }; - }, - onLoad() { - this.getDevice() - }, - methods: { - onSubmit() { - const { param, fileList } = this - - if(!param.deviceId) return this.showToast('璇峰厛閫夋嫨瑕佺淮鎶ょ殑璁惧') - ywDeviceCreate({ - ...param, - userId: uni.getStorageSync('userInfo').id, - dealDate: dayjs().format('YYYY-MM-DD HH:mm:ss'), - multifileList: fileList - }).then(res => { - this.showToast('鎻愪氦鎴愬姛') - uni.navigateBack() - }) - }, - getDevice(){ - ywDevicePost({ - capacity: 9999, - page: 1, - model: { - name: this.searchValue - } - }).then(res => { - this.deviceList = res.data.records || [] - }) - }, - handleDevice() { - const { activeDevice } = this - if(!activeDevice.id) return this.showToast('璇峰厛閫夋嫨璁惧') - this.$set(this.param, 'deviceId', activeDevice.id) - this.$set(this.param, 'deviceName', activeDevice.name) - this.showModal = false - }, - deviceClick(item) { - this.activeDevice = item - this.$forceUpdate() - }, - statusChange(val){ - this.param.status = val - }, - fileDel(str, i) { - this[str].splice(i, 1); - }, - uploadImage() { - this.showUpload = false; - let token = uni.getStorageSync('token') || ''; - uni.chooseImage({ - count: 4, - success: chooseImageRes => { - uni.showLoading({ - title: '涓婁紶涓�', - mask: true - }); - const tempFilePaths = chooseImageRes.tempFilePaths; - let imgs = tempFilePaths.map((value, index) => { - return { - name: 'file', - uri: value - }; - }); - uni.uploadFile({ - url: `${uploadUrl}`, - files: imgs, - name: 'file', - formData: { - folder: 'YW_DEVICE' - }, - header: { - Dm_user_token: token - }, - success: uploadFileRes => { - let res = JSON.parse(uploadFileRes.data); - if (res.data && res.data.length > 0) { - res.data.forEach(i => { - i.type = 0; - i.fileurl = i.imgaddr; - i.fileurlFull = i.url; - this.fileList.push(i); - }); - } - }, - fail(err) { - console.log('err', err); - }, - complete() { - uni.hideLoading(); - // if (i === chooseImageRes.tempFilePaths.length - 1) { - // uni.hideLoading() - // } - } - }); - } - }); - }, - uploadVideo() { - this.showUpload = false; - let token = uni.getStorageSync('token') || ''; - uni.chooseVideo({ - success: chooseImageRes => { - uni.showLoading({ - title: '涓婁紶涓�', - mask: true - }); - uni.uploadFile({ - url: `${uploadUrl}`, - filePath: chooseImageRes.tempFilePath, - header: { - Dm_user_token: token - }, - name: 'file', - formData: { - folder: 'YW_DEVICE' - }, - success: uploadFileRes => { - let res = JSON.parse(uploadFileRes.data); - if (res.data && res.data.length > 0) { - res.data.forEach(i => { - i.type = 1; - i.fileurl = i.imgaddr; - i.fileurlFull = i.url; - this.fileList.push(i); - }); - } - }, - complete() { - uni.hideLoading(); - } - }); - } - }); - } + }, + onLoad() { + this.getDevice() + }, + methods: { + onSubmit() { + const { + param, + fileList + } = this + + if (!param.deviceId) return this.showToast('璇峰厛閫夋嫨瑕佺淮鎶ょ殑璁惧') + ywDeviceCreate({ + ...param, + userId: uni.getStorageSync('userInfo').id, + dealDate: dayjs().format('YYYY-MM-DD HH:mm:ss'), + multifileList: fileList + }).then(res => { + this.showToast('鎻愪氦鎴愬姛') + uni.navigateBack() + }) + }, + getDevice() { + ywDevicePost({ + capacity: 9999, + page: 1, + model: { + name: this.searchValue + } + }).then(res => { + this.deviceList = res.data.records || [] + }) + }, + handleDevice() { + const { + activeDevice + } = this + if (!activeDevice.id) return this.showToast('璇峰厛閫夋嫨璁惧') + this.$set(this.param, 'deviceId', activeDevice.id) + this.$set(this.param, 'deviceName', activeDevice.name) + this.showModal = false + }, + deviceClick(item) { + this.activeDevice = item + this.$forceUpdate() + }, + statusChange(val) { + this.param.status = val + }, + fileDel(str, i) { + this[str].splice(i, 1); + }, + uploadImage() { + this.showUpload = false; + let token = uni.getStorageSync('token') || ''; + uni.chooseImage({ + count: 4, + success: chooseImageRes => { + uni.showLoading({ + title: '涓婁紶涓�', + mask: true + }); + const tempFilePaths = chooseImageRes.tempFilePaths; + let imgs = tempFilePaths.map((value, index) => { + return { + name: 'file', + uri: value + }; + }); + uni.uploadFile({ + url: `${uploadUrl}`, + files: imgs, + name: 'file', + formData: { + folder: 'YW_DEVICE' + }, + header: { + Dm_user_token: token + }, + success: uploadFileRes => { + let res = JSON.parse(uploadFileRes.data); + if (res.data && res.data.length > 0) { + res.data.forEach(i => { + i.type = 0; + i.fileurl = i.imgaddr; + i.fileurlFull = i.url; + this.fileList.push(i); + }); + } + }, + fail(err) { + console.log('err', err); + }, + complete() { + uni.hideLoading(); + // if (i === chooseImageRes.tempFilePaths.length - 1) { + // uni.hideLoading() + // } + } + }); + } + }); + }, + uploadVideo() { + this.showUpload = false; + let token = uni.getStorageSync('token') || ''; + uni.chooseVideo({ + success: chooseImageRes => { + uni.showLoading({ + title: '涓婁紶涓�', + mask: true + }); + uni.uploadFile({ + url: `${uploadUrl}`, + filePath: chooseImageRes.tempFilePath, + header: { + Dm_user_token: token + }, + name: 'file', + formData: { + folder: 'YW_DEVICE' + }, + success: uploadFileRes => { + let res = JSON.parse(uploadFileRes.data); + if (res.data && res.data.length > 0) { + res.data.forEach(i => { + i.type = 1; + i.fileurl = i.imgaddr; + i.fileurlFull = i.url; + this.fileList.push(i); + }); + } + }, + complete() { + uni.hideLoading(); + } + }); + } + }); + }, + + openQrcode() { + this.isScaning = true; + Html5Qrcode.getCameras().then((devices) => { + if (devices && devices.length) { + this.html5Qrcode = new Html5Qrcode('reader'); + this.html5Qrcode.start({ + facingMode: 'environment' + }, { + focusMode: 'continuous', //璁剧疆杩炵画鑱氱劍妯″紡 + fps: 5, //璁剧疆鎵爜璇嗗埆閫熷害 + qrbox: 280 //璁剧疆浜岀淮鐮佹壂鎻忔澶у皬 + }, + (decodeText, decodeResult) => { + if (decodeText) { //杩欓噷decodeText灏辨槸閫氳繃鎵弿浜岀淮鐮佸緱鍒扮殑鍐呭 + this.action(decodeText) //瀵逛簩缁寸爜閫昏緫澶勭悊 + this.stopScan(); //鍏抽棴鎵爜鍔熻兘 + } + }, + (err) => { + // console.log(err); //閿欒淇℃伅 + } + ); + } + }); + }, + + stopScan() { + console.log('鍋滄鎵爜') + this.isScaning = false; + if (this.html5Qrcode) { + this.html5Qrcode.stop(); + } + } } } </script> @@ -238,13 +293,15 @@ } .line { - display: flex; - align-items: center; - .icon{ - width: 52rpx; - height: 52rpx; - margin-left: 40rpx; + display: flex; + align-items: center; + + .icon { + width: 52rpx; + height: 52rpx; + margin-left: 40rpx; } + textarea { box-sizing: border-box; width: 690rpx; @@ -259,7 +316,7 @@ } } - .sel_wrap { + .sel_wrap { flex: 1; height: 90rpx; display: flex; @@ -267,27 +324,31 @@ align-items: center; border-bottom: 1rpx solid #E5E5E5; } - .radio_wrap{ - margin-top: 20rpx; - width: 100%; - display: flex; - justify-content: space-between; - .ite{ - width: 216rpx; - height: 68rpx; - background: #F7F7F7; - border-radius: 36rpx; - font-size: 30rpx; - display: flex; - align-items: center; - justify-content: center; - } - .active{ - color: $primaryColor; - border-color: $primaryColor; - background: rgba(0,104,255,0.1); - } + + .radio_wrap { + margin-top: 20rpx; + width: 100%; + display: flex; + justify-content: space-between; + + .ite { + width: 216rpx; + height: 68rpx; + background: #F7F7F7; + border-radius: 36rpx; + font-size: 30rpx; + display: flex; + align-items: center; + justify-content: center; + } + + .active { + color: $primaryColor; + border-color: $primaryColor; + background: rgba(0, 104, 255, 0.1); + } } + .upload_wrap { display: flex; flex-wrap: wrap; @@ -333,6 +394,7 @@ } } + .sel_upload_wrap { width: 100%; border-top: 1px solid #333333; @@ -344,6 +406,7 @@ text-align: center; } } + .sub_btn { position: fixed; bottom: 68rpx; @@ -360,51 +423,78 @@ font-size: 32rpx; color: #FFFFFF; } - .appr_modal { - padding: 36rpx 30rpx 0; - height: calc( 100vh - 120rpx ); - .title { - font-weight: 600; - font-size: 32rpx; - color: #222222; - margin-bottom: 40rpx; - text-align: center; - } - - .search_wrap { - display: flex; - align-items: center; - width: 100%; - height: 76rpx; - background: #f2f2f2; - border-radius: 38rpx; - padding-left: 30rpx; - input{ - flex: 1; - } - .search { - width: 28rpx; - height: 28rpx; - } - } - .modal_list{ - height: calc( 100% - 360rpx ); - .item{ - display: flex; - align-items: center; - justify-content: space-between; - height: 100rpx; - font-size: 30rpx; - border-bottom: 1px solid #E5E5E5; - image{ - width: 40rpx; - height: 40rpx; - } - } - .active{ - color: $primaryColor; - } - } - - } + + .appr_modal { + padding: 36rpx 30rpx 0; + height: calc(100vh - 120rpx); + + .title { + font-weight: 600; + font-size: 32rpx; + color: #222222; + margin-bottom: 40rpx; + text-align: center; + } + + .search_wrap { + display: flex; + align-items: center; + width: 100%; + height: 76rpx; + background: #f2f2f2; + border-radius: 38rpx; + padding-left: 30rpx; + + input { + flex: 1; + } + + .search { + width: 28rpx; + height: 28rpx; + } + } + + .modal_list { + height: calc(100% - 360rpx); + + .item { + display: flex; + align-items: center; + justify-content: space-between; + height: 100rpx; + font-size: 30rpx; + border-bottom: 1px solid #E5E5E5; + + image { + width: 40rpx; + height: 40rpx; + } + } + + .active { + color: $primaryColor; + } + } + + } + + .reader-box { + position: fixed; + top: 0; + bottom: 0; + left: 0; + right: 0; + background-color: rgba(0, 0, 0, 0.5); + } + + .reader { + width: 100%; + // width: 540rpx; + // height: 540rpx; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + } </style> \ No newline at end of file diff --git a/h5/pages/workOrder/list.vue b/h5/pages/workOrder/list.vue index 7928b55..d2114af 100644 --- a/h5/pages/workOrder/list.vue +++ b/h5/pages/workOrder/list.vue @@ -126,7 +126,7 @@ model: { ...param, queryStatus: activeTab, - dispatchUserId: selectAll ? '' : uni.getStorageSync('userInfo').id, + dealUserId: selectAll ? '' : uni.getStorageSync('userInfo').id, } }).then(res => { this.list = [...this.list, ...res.data.records] -- Gitblit v1.9.3