1318 lines
46 KiB
Vue
1318 lines
46 KiB
Vue
<template>
|
||
<view>
|
||
<view class="reader-box" v-if="isScaning">
|
||
<view class="reader" id="reader-sbxx"></view>
|
||
</view>
|
||
<view class="page" v-else>
|
||
<!-- 车间 -->
|
||
<mpvue-picker themeColor="#007AFF" ref="xbPicker" mode="selector" :deepLength="deepLength"
|
||
@onConfirm="pickerxbConfirm" :pickerValueArray="xbList"></mpvue-picker>
|
||
<mpvue-picker themeColor="#007AFF" ref="ggxhPicker" mode="selector" :deepLength="deepLength"
|
||
@onConfirm="pickerGgxhConfirm" :pickerValueArray="ggxhList"></mpvue-picker>
|
||
<mpvue-picker themeColor="#007AFF" ref="cjPicker" mode="selector" :deepLength="deepLength"
|
||
@onConfirm="pickerCjConfirm" :pickerValueArray="cjList"></mpvue-picker>
|
||
<mpvue-picker themeColor="#007AFF" ref="mpvuePicker" mode="selector" :deepLength="deepLength"
|
||
@onConfirm="pickerConfirm" :pickerValueArray="task_level"></mpvue-picker>
|
||
<!-- <view class="item">
|
||
<view class="itemname">现场稽查单号</view>
|
||
<view class="itemtext">
|
||
<input class="iteminput" disabled placeholder="自动生成" :value="devInfo.xcjcdh" />
|
||
</view> -->
|
||
<!-- <view class="item">
|
||
<view class="itemname redMi">生箔卷号</view>
|
||
<view class="itemtext" @click="selectSbjh()">
|
||
<input class="iteminput InputRightMargin" disabled placeholder="请选择" :value="info.sbjh" />
|
||
<uni-icons type="arrowright" class="myarrowright" style="right: 0px"></uni-icons>
|
||
</view>
|
||
</view> -->
|
||
<view class="item">
|
||
<view class="itemname redMi">箱号</view>
|
||
<view class="itemtext">
|
||
<input class="iteminput InputRightMargin" placeholder="请输入" v-model="info.xh" @change="infoChange" />
|
||
</view>
|
||
</view>
|
||
<view class="item">
|
||
<view class="itemname redMi">规格型号</view>
|
||
<view class="itemtext">
|
||
<input class="iteminput InputRightMargin" disabled placeholder="请选择" :value="info.ggxh" />
|
||
<!-- <uni-icons type="arrowright" class="myarrowright" style="right: 0"></uni-icons> -->
|
||
</view>
|
||
</view>
|
||
<view class="item">
|
||
<view class="itemname redMi">米数(m)</view>
|
||
<view class="itemtext">
|
||
<input class="iteminput InputRightMargin" placeholder="请输入" v-model="info.ms" @change="infoChange" />
|
||
</view>
|
||
</view>
|
||
<view class="item">
|
||
<view class="itemname">净重(kg)</view>
|
||
<view class="itemtext">
|
||
<input class="iteminput InputRightMargin" placeholder="自动计算" disabled v-model="info.jz"
|
||
@change="infoChange" />
|
||
</view>
|
||
</view>
|
||
<view class="item">
|
||
<view class="itemname redMi">毛重(kg)</view>
|
||
<view class="itemtext">
|
||
<input class="iteminput InputRightMargin" placeholder="请输入" v-model="info.mz" @change="infoChange" />
|
||
</view>
|
||
</view>
|
||
<view class="item">
|
||
<view class="itemname redMi">接头(个)</view>
|
||
<view class="itemtext">
|
||
<input class="iteminput InputRightMargin" placeholder="请输入" v-model="info.jt" @change="infoChange" />
|
||
</view>
|
||
</view>
|
||
<view class="item">
|
||
<view class="itemname redMi">克重(g/㎡)</view>
|
||
<view class="itemtext">
|
||
<input class="iteminput InputRightMargin" placeholder="请输入" v-model="info.kz" @change="infoChange" />
|
||
</view>
|
||
</view>
|
||
<!-- <view class="item">
|
||
<view class="itemname">生箔卷重(kg)</view>
|
||
<view class="itemtext">
|
||
<input class="iteminput InputRightMargin" disabled v-model="info.sbjz" @change="infoChange" />
|
||
</view>
|
||
</view> -->
|
||
<!-- <view class="item item_line">
|
||
<view class="itemname redMi">上卷时间</view>
|
||
<view class="itemtext" @click="onShowDatePicker('sjsj')">
|
||
<input class="iteminput InputRightMargin" disabled placeholder="请选择" :value="info.sjsj" />
|
||
<uni-icons type="arrowright" class="myarrowright" style="right: 0px"></uni-icons>
|
||
</view>
|
||
</view>
|
||
<view class="item item_line">
|
||
<view class="itemname redMi">下卷时间</view>
|
||
<view class="itemtext" @click="onShowDatePicker('xjsj')">
|
||
<input class="iteminput InputRightMargin" disabled placeholder="请选择" :value="info.xjsj" />
|
||
<uni-icons type="arrowright" class="myarrowright" style="right: 0px"></uni-icons>
|
||
</view>
|
||
</view> -->
|
||
<!-- <view class="item item_line">
|
||
<view class="itemname ">废箔量</view>
|
||
<view class="itemtext">
|
||
<input class="iteminput InputRightMargin" placeholder="请输入" v-model="info.fbl" @change="infoChange" />
|
||
</view>
|
||
</view>
|
||
<view class="item item_line">
|
||
<view class="itemname ">边料</view>
|
||
<view class="itemtext">
|
||
<input class="iteminput InputRightMargin" placeholder="请输入" v-model="info.bl" @change="infoChange" />
|
||
</view>
|
||
</view> -->
|
||
<view class="item">
|
||
<view class="itemname">线别</view>
|
||
<view class="itemtext">
|
||
<input class="iteminput InputRightMargin" disabled placeholder="请选择" :value="info.xb" />
|
||
<!-- <uni-icons type="arrowright" class="myarrowright" style="right: 0"></uni-icons> -->
|
||
</view>
|
||
</view>
|
||
<view class="item">
|
||
<view class="itemname">班次</view>
|
||
<view class="itemtext">
|
||
<input class="iteminput InputRightMargin" disabled placeholder="请选择" :value="info.bc" />
|
||
<!-- <uni-icons type="arrowright" class="myarrowright" style="right: 0"></uni-icons> -->
|
||
</view>
|
||
</view>
|
||
<view class="item">
|
||
<view class="itemname redMi">操作人员</view>
|
||
<view class="itemtext">
|
||
<input class="iteminput InputRightMargin" disabled v-model="info.czry" @change="infoChange" />
|
||
</view>
|
||
</view>
|
||
<view class="item">
|
||
<view class="itemname redMi">操作时间</view>
|
||
<view class="itemtext">
|
||
<input class="iteminput InputRightMargin" disabled v-model="info.czsj" @change="infoChange" />
|
||
</view>
|
||
</view>
|
||
<!-- <view class="item">
|
||
<view class="itemname">后处理卷号</view>
|
||
<view class="itemtext">
|
||
<input class="iteminput InputRightMargin" disabled v-model="info.sbjz" @change="infoChange" />
|
||
</view>
|
||
</view> -->
|
||
<!-- <view class="item">
|
||
<view class="itemname redMi">操作时间</view>
|
||
<view class="itemtext" @click="onShowDatePicker('sjsj')">
|
||
<input class="iteminput InputRightMargin" disabled placeholder="请选择" :value="info.sjsj" />
|
||
<uni-icons type="arrowright" class="myarrowright" style="right: 0px"></uni-icons>
|
||
</view>
|
||
</view> -->
|
||
<!-- <view class="item">
|
||
<view class="itemname redMi">下卷时间</view>
|
||
<view class="itemtext" @click="onShowDatePicker('xjsj')">
|
||
<input class="iteminput InputRightMargin" disabled placeholder="请选择" :value="info.xjsj" />
|
||
<uni-icons type="arrowright" class="myarrowright" style="right: 0px"></uni-icons>
|
||
</view>
|
||
</view> -->
|
||
<view class="item">
|
||
<view class="itemname">备注</view>
|
||
<view class="itemtext">
|
||
<input class="iteminput" disabled v-model="info.bz" />
|
||
</view>
|
||
</view>
|
||
<!-- <view class="top_container item_line detail_list_top"
|
||
style="display: flex; justify-content: space-between; margin-top: 10px">
|
||
<view class="report_status">添加报工</view>
|
||
<view style="display: flex">
|
||
<view class="report_btn" @click="addOrEdit()">新增</view> -->
|
||
<!-- <view class="report_btn" style="color: red; margin-left: 10px" @click="remove(index)">
|
||
删除</view> -->
|
||
<!-- </view>
|
||
</view> -->
|
||
<view v-if="info.zbList && info.zbList.length > 0">
|
||
<view v-for="(item, index) in info.zbList" style="margin-bottom: 20rpx">
|
||
<view class="top_container detail_list_top" style="display: flex; justify-content: space-between">
|
||
<view class="report_status">{{ item.hcljh }}</view>
|
||
<!-- <view style="display: flex">
|
||
<view class="report_btn" @click="addOrEdit(item, index)">编辑</view>
|
||
<view class="report_btn" style="color: red; margin-left: 10px" @click="remove(index)">
|
||
删除</view>
|
||
</view> -->
|
||
</view>
|
||
<view class="item">
|
||
<view class="itemname">规格型号</view>
|
||
<view class="itemtext">
|
||
<input class="iteminput InputRightMargin" disabled :value="item.ggxh" />
|
||
</view>
|
||
</view>
|
||
<view class="item">
|
||
<view class="itemname">克重(g/㎡)</view>
|
||
<view class="itemtext">
|
||
<input class="iteminput InputRightMargin" disabled :value="item.kz" />
|
||
</view>
|
||
</view>
|
||
<view class="item">
|
||
<view class="itemname">后处理卷重(kg)</view>
|
||
<view class="itemtext">
|
||
<input class="iteminput InputRightMargin" disabled :value="item.hcljz" />
|
||
</view>
|
||
</view>
|
||
<view class="item">
|
||
<view class="itemname">可用卷重(kg)</view>
|
||
<view class="itemtext">
|
||
<input class="iteminput InputRightMargin" disabled :value="item.kyjz" />
|
||
</view>
|
||
</view>
|
||
<view class="item">
|
||
<view class="itemname">成品净重(kg)</view>
|
||
<view class="itemtext">
|
||
<input class="iteminput InputRightMargin" disabled :value="item.cpjz" />
|
||
</view>
|
||
</view>
|
||
<view class="item">
|
||
<view class="itemname">边角废料</view>
|
||
<view class="itemtext">
|
||
<input class="iteminput InputRightMargin" disabled :value="item.bjfl" />
|
||
</view>
|
||
</view>
|
||
<view class="item">
|
||
<view class="itemname">异常废料</view>
|
||
<view class="itemtext">
|
||
<input class="iteminput InputRightMargin" disabled :value="item.ycfl" />
|
||
</view>
|
||
</view>
|
||
<view class="item">
|
||
<view class="itemname">备注</view>
|
||
<view class="itemtext">
|
||
<input class="iteminput InputRightMargin" disabled :value="item.bz" />
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<!-- <view class="item">
|
||
<view class="itemname redMi">班组</view>
|
||
<view class="itemtext" @click="showSinglePicker">
|
||
<input class="iteminput InputRightMargin" disabled placeholder="请选择" :value="editInfo.bz" />
|
||
<uni-icons type="arrowright" class="myarrowright" style="right: 0px"></uni-icons>
|
||
</view>
|
||
</view> -->
|
||
<!-- <view class="item">
|
||
<view class="itemname redMi">报工人</view>
|
||
<view class="itemtext">
|
||
<input class="iteminput InputRightMargin" disabled placeholder="请选择报工人" :value="editInfo.czy" />
|
||
</view>
|
||
</view> -->
|
||
<!-- <view class="item">
|
||
<view class="itemname redMi">报工时间</view>
|
||
<view class="itemtext ">
|
||
<view>
|
||
<input class="iteminput InputRightMargin" disabled placeholder="请选择" :value="editInfo.jlsj" />
|
||
</view>
|
||
</view>
|
||
</view> -->
|
||
<!-- <view class="item item_line">
|
||
<view class="itemname ">抛光记录</view>
|
||
<view class="itemtext">
|
||
<input class="iteminput InputRightMargin" placeholder="请输入" v-model="editInfo.pgjl" @change="infoChange" />
|
||
</view>
|
||
</view>
|
||
<view class="item item_line">
|
||
<view class="itemname ">抛光时长(min)</view>
|
||
<view class="itemtext">
|
||
<input class="iteminput InputRightMargin" placeholder="请输入" v-model="editInfo.pgsc
|
||
" @change="infoChange" />
|
||
</view>
|
||
</view>
|
||
<view class="item item_line">
|
||
<view class="itemname redMi">工作时长(h)</view>
|
||
<view class="itemtext">
|
||
<input class="iteminput InputRightMargin" placeholder="请输入" v-model="editInfo.gzsc" @change="infoChange" />
|
||
</view>
|
||
</view>
|
||
<view class="item item_line">
|
||
<view class="itemname redMi">生箔卷重(kg)</view>
|
||
<view class="itemtext">
|
||
<input class="iteminput InputRightMargin" placeholder="请输入" v-model="editInfo.sbjz
|
||
" @change="infoChange" />
|
||
</view>
|
||
</view> -->
|
||
<!-- <view class="item">
|
||
<view class="itemname">设备类别</view>
|
||
<view class="itemtext">
|
||
<input class="iteminput" disabled :value="devInfo.model" />
|
||
</view>
|
||
</view> -->
|
||
<!-- <view class="item">
|
||
<view class="itemname ">检查类别</view>
|
||
<view class="itemtext" @click="showSinglePicker">
|
||
<input class="iteminput InputRightMargin" disabled placeholder="请选择" :value="info.jclb" />
|
||
<uni-icons type="arrowright" class="myarrowright" style="right: 0px"></uni-icons>
|
||
</view>
|
||
</view>
|
||
<view class="item">
|
||
<view class="itemname ">责任人</view>
|
||
<view class="itemtext" @click="selectPeople1(['zrr', 'zrrid'])">
|
||
<input class="iteminput InputRightMargin" disabled placeholder="请选择责任人" :value="info.zrr" />
|
||
<img src="../../static/img/personlistIcon.png" class="dateIcon" />
|
||
</view>
|
||
</view>
|
||
<view class="item" @click="onShowDatePicker('yqwcrq')">
|
||
<view class="itemname ">要求完成时间</view>
|
||
<view class="itemtext">
|
||
<view>
|
||
<input class="iteminput InputRightMargin" disabled placeholder="请选择" :value="info.yqwcrq" />
|
||
<img src="../../static/img/dateIcon.png" class="dateIcon" />
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="item" @click="onShowDatePicker('jcrq')">
|
||
<view class="itemname ">检验日期</view>
|
||
<view class="itemtext">
|
||
<view>
|
||
<input class="iteminput InputRightMargin" disabled placeholder="请选择" :value="info.jcrq" />
|
||
<img src="../../static/img/dateIcon.png" class="dateIcon" />
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="item">
|
||
<view class="itemname ">检验人员</view>
|
||
<view class="itemtext" @click="selectPeople1(['jcry', 'jcryid'])">
|
||
<input class="iteminput InputRightMargin" disabled placeholder="请选择检验人员" :value="info.jcry" />
|
||
<img src="../../static/img/personlistIcon.png" class="dateIcon" />
|
||
</view>
|
||
</view> -->
|
||
<!-- <view class="item">
|
||
<view class="itemname">规格型号</view>
|
||
<view class="itemtext">
|
||
<input class="iteminput" disabled :value="devInfo.type" />
|
||
</view>
|
||
</view>
|
||
<view class="item item_line">
|
||
<view class="itemname">安装地点</view>
|
||
<view class="itemtext">
|
||
<input class="iteminput" disabled :value="devInfo.site" />
|
||
</view>
|
||
</view> -->
|
||
<!-- <view class="myContainer acceptTitle">故障信息</view>
|
||
<view class="item item_line">
|
||
<view class="itemname ">任务等级</view>
|
||
<view class="itemtext" @click="showSinglePicker">
|
||
<input class="iteminput InputRightMargin" disabled placeholder="请选择" :value="info.level_label" />
|
||
<uni-icons type="arrowright" class="myarrowright" style="right: 0px"></uni-icons>
|
||
</view>
|
||
</view> -->
|
||
|
||
<!-- <view class="item item_line item_textarea">
|
||
<view class="itemname">铜箔质量问题记录</view>
|
||
<textarea class="textarea" placeholder="请详细描述铜箔质量问题" v-model="editInfo.tbzlwtjl
|
||
" @change="infoChange"></textarea>
|
||
</view> -->
|
||
|
||
<!-- <view class="photo_container item_line">
|
||
<view class="pzqd ">现场图片</view>
|
||
<view class="photo_out">
|
||
<view class="imgwrap" v-for="(items, index) in imgsrc_list_local" :key="index">
|
||
<view class="myimgBox" @click="reUpload(index)">
|
||
<view class="img">
|
||
<img class="uploadimg" :src="config.imgURL + items" />
|
||
<view class="cxsc">重新上传</view>
|
||
</view>
|
||
</view>
|
||
<img src="../../static/img/delete.png" class="deleteimg" @click="deleteImg(index)" />
|
||
</view>
|
||
<view class="imgwrap" @click="chooseImg()">
|
||
<view class="myimgBox">
|
||
<view class="img upload_btn">
|
||
<img src="../../static/img/uploadimg.png" />
|
||
<view class="sctp">上传图片</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view> -->
|
||
|
||
<!-- <view class="item item_line" @click="onShowDatePicker">
|
||
<view class="itemname">要求完成时间</view>
|
||
<view class="itemtext">
|
||
<view>
|
||
<input class="iteminput InputRightMargin" disabled placeholder="请选择" :value="info.planTime" />
|
||
<img src="../../static/img/dateIcon.png" class="dateIcon" />
|
||
</view>
|
||
</view>
|
||
</view> -->
|
||
<!-- <view class="item">
|
||
<view class="itemname ">责任人</view>
|
||
<view class="itemtext" @click="selectPeople1()">
|
||
<input class="iteminput InputRightMargin" disabled placeholder="请选择责任人" :value="zrr.name" />
|
||
<img src="../../static/img/personlistIcon.png" class="dateIcon" />
|
||
</view>
|
||
</view> -->
|
||
<!-- <view class="item item_line">
|
||
<view class="itemname">抄送人</view>
|
||
<view class="itemtext" @click="selectPeople2()">
|
||
<input class="iteminput InputRightMargin" disabled placeholder="请选择抄送人"
|
||
:value="formatCsrName(targetList)" />
|
||
<img src="../../static/img/personlistIcon.png" class="dateIcon" />
|
||
</view>
|
||
</view> -->
|
||
<!-- <view class="item item_line">
|
||
<view class="itemname">报修人</view>
|
||
<view class="itemtext">
|
||
<input class="iteminput" disabled :value="bxr" />
|
||
</view>
|
||
</view> -->
|
||
<view class="fixMargin"></view>
|
||
<view class="fixBottom">
|
||
<view class="uni-flex uni-row">
|
||
<!-- <view style="-webkit-flex: 1; flex: 1">
|
||
<button type="primary" plain="true" style="width: 90%; background: #fff"
|
||
@click="goAddRepair('zc')">
|
||
暂存
|
||
</button>
|
||
</view> -->
|
||
<!-- <view style="-webkit-flex: 1; flex: 1">
|
||
<button type="primary" style="width: 90%" @click="goAddRepair('tj')">
|
||
确认提交
|
||
</button>
|
||
</view> -->
|
||
</view>
|
||
</view>
|
||
<mx-datepicker type="datetime" :value="info.planTime" :show="showPicker" @confirm="onSelected"
|
||
@cancel="onSelected"></mx-datepicker>
|
||
<view class="goHome" @click="goMain('repairInfo')">
|
||
<img src="../../static/img/gohome.png" />
|
||
</view>
|
||
<view class="mysearchlist" style="z-index: 10000">
|
||
<chooseSbjhSingle ref="mysearchlist" :showsearch.sync="showSbjh" :itemInfo_.sync="getSbjh">
|
||
</chooseSbjhSingle>
|
||
</view>
|
||
<view class="mysearchlist" style="z-index: 10000">
|
||
<chooseUserSingle ref="mysearchlist" :showsearch.sync="show_search_user1" :itemInfo_.sync="search_value_user1">
|
||
</chooseUserSingle>
|
||
</view>
|
||
<view class="mysearchlist" style="z-index: 10000">
|
||
<chooseUserMulti ref="mysearchlist" :showsearch.sync="show_search_user2" :itemInfo_.sync="search_value_user2">
|
||
</chooseUserMulti>
|
||
</view>
|
||
<view class="mysearchlist" style="z-index: 10000">
|
||
<chooseEquipmentSingle ref="mysearchlist" :showsearch.sync="show_search_user3"
|
||
:itemInfo_.sync="search_value_user3">
|
||
</chooseEquipmentSingle>
|
||
</view>
|
||
<view class="child" style="z-index: 10000">
|
||
<childDialog ref="child" :showsearch.sync="showChild" @ok="getChild">
|
||
</childDialog>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
import { config } from "../../request/js/config.js";
|
||
import chooseSbjhSingle from "@/components/xinsoft-search-list/chooseSbjhSingle.vue";
|
||
import chooseUserSingle from "@/components/xinsoft-search-list/chooseUserSingle.vue";
|
||
import chooseUserMulti from "@/components/xinsoft-search-list/chooseUserMulti.vue";
|
||
import chooseEquipmentSingle from "@/components/xinsoft-search-list/chooseEquipmentSingle.vue";
|
||
import mpvuePicker from "@/components/mpvue-picker/mpvuePicker.vue";
|
||
import mxDatepicker from "@/components/mx-datepicker/mx-datepicker.vue";
|
||
import childDialog from "./child.vue";
|
||
import uniIcons from "@/components/uni-icons/uni-icons.vue";
|
||
import jweixin from "@/jweixin-module/index.js";
|
||
import { Html5Qrcode } from "html5-qrcode";
|
||
import { getTimer } from "../../common/tools.js";
|
||
|
||
export default {
|
||
components: {
|
||
mxDatepicker,
|
||
mpvuePicker,
|
||
uniIcons,
|
||
chooseUserSingle,
|
||
chooseUserMulti,
|
||
chooseEquipmentSingle,
|
||
chooseSbjhSingle,
|
||
childDialog,
|
||
},
|
||
data() {
|
||
return {
|
||
showSbjh: false,
|
||
fromId: "",
|
||
html5Qrcode: null,
|
||
isScaning: false,
|
||
config: config,
|
||
task_level: [],
|
||
imgsrc_list: [],
|
||
imgsrc_list_local: [],
|
||
showPicker: false,
|
||
deepLength: 1,
|
||
devInfo: {},
|
||
zrr: {},
|
||
csr: [],
|
||
repairInfo: {},
|
||
info: {},
|
||
id: "",
|
||
bxr: "",
|
||
targetList: [],
|
||
show_search_user1: false,
|
||
search_value_user1: "",
|
||
getSbjh: "",
|
||
show_search_user2: false,
|
||
search_value_user2: "",
|
||
show_search_user3: false,
|
||
search_value_user3: "",
|
||
cjList: [],
|
||
ggxhList: [],
|
||
xbList: [],
|
||
//时间选择器
|
||
timeFrom: null,
|
||
selFrom: null,
|
||
editInfo: {},
|
||
index: null,
|
||
showChild: false,
|
||
};
|
||
},
|
||
onLoad(option) {
|
||
let _this = this;
|
||
this.id = option.id || "";
|
||
// var otherInfos = uni.getStorageSync('otherInfo');
|
||
// uni.getStorage({
|
||
// key: "userInfo",
|
||
// success: function (res) {
|
||
// _this.bxr = res.data.name;
|
||
// },
|
||
// });
|
||
|
||
//如果是编辑,就根据接口获取数据,
|
||
if (option.id) {
|
||
_this.$http
|
||
.request({
|
||
url: "/apis/mdh/fq/detail",
|
||
method: "get",
|
||
params: {
|
||
id: option.id,
|
||
},
|
||
})
|
||
.then((res) => {
|
||
if (res.data.code == 0) {
|
||
let result = res.data.data;
|
||
_this.info = { ...result };
|
||
uni.setStorage({
|
||
key: "repairInfo",
|
||
data: _this.repairInfo,
|
||
success: function () {},
|
||
});
|
||
}
|
||
})
|
||
.catch((err) => {
|
||
uni.showToast({
|
||
title: "获取信息失败",
|
||
icon: "none",
|
||
duration: 2000,
|
||
});
|
||
});
|
||
} else {
|
||
this.info = {};
|
||
let userInfo = uni.getStorageSync("userInfo");
|
||
const { name, userId } = userInfo;
|
||
this.info.czry = name;
|
||
this.info.czryid = userId;
|
||
this.info.czsj = getTimer();
|
||
this.info = { ...this.info };
|
||
//如果不是,是新增,获取session中的数据。
|
||
// uni.getStorage({
|
||
// key: "repairInfo",
|
||
// success: function (res) {
|
||
// var session = res.data;
|
||
// _this.devInfo = session.devInfo || {};
|
||
// _this.info = session.info || {};
|
||
// _this.targetList = session.csr || [];
|
||
// _this.zrr = session.zrr || [];
|
||
// _this.imgsrc_list = session.imgsrc_list || [];
|
||
// _this.imgsrc_list_local = session.imgsrc_list_local || [];
|
||
// },
|
||
// });
|
||
}
|
||
this.$http
|
||
.request({
|
||
url: "/apis/dict/getDictsByType",
|
||
params: {
|
||
type: "bc",
|
||
},
|
||
})
|
||
.then((res) => {
|
||
if (res.statusCode == "200") {
|
||
var useType = res.data.datas;
|
||
for (let i = 0; i < useType.length; i++) {
|
||
var myVal = {
|
||
label: useType[i].name,
|
||
value: useType[i].id,
|
||
};
|
||
_this.cjList.push(myVal);
|
||
}
|
||
}
|
||
})
|
||
.catch((err) => {
|
||
console.log(err);
|
||
});
|
||
this.$http
|
||
.request({
|
||
url: "/apis/dict/getDictsByType",
|
||
params: {
|
||
type: "xb",
|
||
},
|
||
})
|
||
.then((res) => {
|
||
if (res.statusCode == "200") {
|
||
var useType = res.data.datas;
|
||
for (let i = 0; i < useType.length; i++) {
|
||
var myVal = {
|
||
label: useType[i].name,
|
||
value: useType[i].id,
|
||
};
|
||
_this.xbList.push(myVal);
|
||
}
|
||
}
|
||
})
|
||
.catch((err) => {
|
||
console.log(err);
|
||
});
|
||
//初始化获取 任务等级数据字典。
|
||
this.$http
|
||
.request({
|
||
url: "/apis/dict/getDictsByType",
|
||
params: {
|
||
type: "ggxh",
|
||
},
|
||
})
|
||
.then((res) => {
|
||
if (res.statusCode == "200") {
|
||
var useType = res.data.datas;
|
||
for (let i = 0; i < useType.length; i++) {
|
||
var myVal = {
|
||
label: useType[i].name,
|
||
value: useType[i].id,
|
||
};
|
||
_this.ggxhList.push(myVal);
|
||
}
|
||
// if (!_this.info.level_value) {
|
||
// _this.info.level_value = useType[0].id;
|
||
// _this.info.level_label = useType[0].name;
|
||
// _this.infoChange();
|
||
// }
|
||
}
|
||
})
|
||
.catch((err) => {
|
||
console.log(err);
|
||
});
|
||
},
|
||
watch: {
|
||
getSbjh(val) {
|
||
const { id, jh, ggxh, kz, sbjz } = val;
|
||
this.info = {
|
||
sbjhid: id,
|
||
sbjh: jh,
|
||
ggxh,
|
||
kz,
|
||
sbjz,
|
||
};
|
||
this.info = { ...this.info };
|
||
},
|
||
search_value_user1(val) {
|
||
const { NAME, userId } = val;
|
||
this.info[this.selFrom[0]] = NAME;
|
||
this.info[this.selFrom[1]] = userId;
|
||
this.info = { ...this.info };
|
||
// let obj = { userId: newv.userId, name: newv.NAME };
|
||
// this.zrr = obj;
|
||
// var repairInfo = uni.getStorageSync("repairInfo");
|
||
// if (!repairInfo) {
|
||
// repairInfo = {};
|
||
// }
|
||
// repairInfo.zrr = this.zrr;
|
||
// uni.setStorage({
|
||
// key: "repairInfo",
|
||
// data: repairInfo,
|
||
// success: function () {},
|
||
// });
|
||
},
|
||
search_value_user2(newv) {
|
||
var detail = [];
|
||
newv.forEach((item) => {
|
||
let obj = { userId: item.userId, name: item.NAME };
|
||
detail.push(obj);
|
||
});
|
||
if (newv.length > 0) {
|
||
var repairInfo = uni.getStorageSync("repairInfo");
|
||
if (!repairInfo) {
|
||
repairInfo = {};
|
||
}
|
||
this.targetList = detail;
|
||
repairInfo.csr = this.targetList;
|
||
uni.setStorage({
|
||
key: "repairInfo",
|
||
data: repairInfo,
|
||
success: function () {},
|
||
});
|
||
}
|
||
},
|
||
search_value_user3(newv) {
|
||
let obj = {
|
||
id: newv.id,
|
||
name: newv.name,
|
||
serialno: newv.serialno,
|
||
model: newv.model,
|
||
type: newv.type,
|
||
site: newv.site,
|
||
};
|
||
this.devInfo = obj;
|
||
var repairInfo = uni.getStorageSync("repairInfo");
|
||
if (!repairInfo) {
|
||
repairInfo = {};
|
||
}
|
||
repairInfo.devInfo = this.devInfo;
|
||
uni.setStorage({
|
||
key: "repairInfo",
|
||
data: repairInfo,
|
||
success: function () {},
|
||
});
|
||
},
|
||
},
|
||
mounted() {
|
||
//this.initiateWX();
|
||
},
|
||
methods: {
|
||
remove(index) {
|
||
let _this = this;
|
||
uni.showModal({
|
||
title: "",
|
||
content: "确定删除吗?",
|
||
success: function (res) {
|
||
if (res.confirm) {
|
||
let list = _this.info.zbList;
|
||
list.splice(index, 1);
|
||
_this.info.zbList = list;
|
||
_this.info = { ..._this.info };
|
||
// _this.del(index);
|
||
}
|
||
},
|
||
});
|
||
},
|
||
getChild(val, index) {
|
||
let zbList = this.info.zbList;
|
||
console.log(zbList, index, "0000");
|
||
if (index || index == 0) {
|
||
if (zbList && zbList.length > 0) {
|
||
zbList[index] = val;
|
||
} else {
|
||
let list = [];
|
||
list.push(val);
|
||
zbList = list;
|
||
}
|
||
} else {
|
||
if (zbList && zbList.length > 0) {
|
||
zbList.push(val);
|
||
} else {
|
||
let list = [];
|
||
list.push(val);
|
||
zbList = list;
|
||
}
|
||
}
|
||
this.info.zbList = zbList;
|
||
this.mathCount(zbList);
|
||
this.info = { ...this.info };
|
||
},
|
||
mathCount(zbList) {
|
||
let count = 0;
|
||
if (zbList && zbList.length > 0) {
|
||
count = zbList.reduce((accumulator, currentValue) => {
|
||
return Number(accumulator) + Number(currentValue.cpjz);
|
||
}, 0);
|
||
}
|
||
this.info.jz = count;
|
||
this.info = { ...this.info };
|
||
},
|
||
addOrEdit(val, index) {
|
||
this.$refs.child.init(val, index);
|
||
this.showChild = true;
|
||
},
|
||
openQrcode() {
|
||
this.isScaning = true;
|
||
Html5Qrcode.getCameras().then((devices) => {
|
||
if (devices && devices.length) {
|
||
this.html5Qrcode = new Html5Qrcode("reader-sbxx");
|
||
this.html5Qrcode.start(
|
||
{
|
||
facingMode: "environment",
|
||
},
|
||
{
|
||
focusMode: "continuous", //设置连续聚焦模式
|
||
fps: 5, //设置扫码识别速度
|
||
qrbox: 280, //设置二维码扫描框大小
|
||
},
|
||
(decodeText, decodeResult) => {
|
||
if (decodeText) {
|
||
let data = JSON.parse(decodeText);
|
||
if (data.id) {
|
||
this.getQrCodeInfo(data.id);
|
||
this.stopScan(); //关闭扫码功能
|
||
}
|
||
}
|
||
},
|
||
(err) => {
|
||
// this.stopScan();
|
||
// console.log(err); //错误信息
|
||
}
|
||
);
|
||
}
|
||
});
|
||
},
|
||
stopScan() {
|
||
this.isScaning = false;
|
||
if (this.html5Qrcode) {
|
||
this.html5Qrcode.stop();
|
||
}
|
||
},
|
||
//获取微信相关
|
||
initiateWX() {
|
||
this.$http
|
||
.request({
|
||
url: "/apis/weChat/getSignature",
|
||
params: {
|
||
// url:"http://120.132.17.220:18093/gyhl-app/"
|
||
url: window.location.href.split("#")[0],
|
||
},
|
||
})
|
||
.then((res) => {
|
||
if (res.data.code == 0) {
|
||
var s = res.data;
|
||
jweixin.config({
|
||
beta: true,
|
||
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
|
||
appId: s.corpId, // 必填,公众号的唯一标识
|
||
timestamp: s.timestamp, // 必填,生成签名的时间戳
|
||
nonceStr: s.nonceStr, // 必填,生成签名的随机串
|
||
signature: s.signature.toLowerCase(), // 必填,签名,见附录1
|
||
jsApiList: [
|
||
"onMenuShareTimeline",
|
||
"onMenuShareAppMessage",
|
||
"onMenuShareQQ",
|
||
"onMenuShareWeibo",
|
||
"onMenuShareQZone",
|
||
"scanQRCode",
|
||
],
|
||
});
|
||
} else {
|
||
uni.showToast({
|
||
title: res.msg ? res.msg : "获取微信配置失败",
|
||
icon: "none",
|
||
duration: 2000,
|
||
});
|
||
}
|
||
})
|
||
.catch((err) => {
|
||
uni.showToast({
|
||
title: err,
|
||
icon: "none",
|
||
duration: 2000,
|
||
});
|
||
});
|
||
},
|
||
onNavigationBarButtonTap() {
|
||
this.openQrcode();
|
||
},
|
||
/** 点击顶部按钮的方法 */
|
||
// onNavigationBarButtonTap() {
|
||
// console.log("你点击了按钮")
|
||
// // 允许从相机和相册扫码
|
||
// let _this = this;
|
||
// jweixin.scanQRCode({
|
||
// desc: 'scanQRCode desc',
|
||
// needResult: 1, // 默认为0,扫描结果由企业微信处理,1则直接返回扫描结果,
|
||
// scanType: ['qrCode'], // 可以指定扫二维码还是条形码(一维码),默认二者都有"qrCode", "barCode"
|
||
// success: function(res) {
|
||
// if (res.errMsg != 'scanQRCode:ok') {
|
||
// uni.showToast({
|
||
// title: '扫描结果:' + res.resultStr,
|
||
// icon: 'none',
|
||
// duration: 2000
|
||
// });
|
||
// } else {
|
||
// //扫码正确
|
||
// let resultStr = res.resultStr;
|
||
// try {
|
||
// resultStr = JSON.parse(resultStr);
|
||
// if (resultStr.id) {
|
||
|
||
// _this.getQrCodeInfo(resultStr.id);
|
||
// } else {
|
||
// uni.showToast({
|
||
// title: '二维码错误,请扫描正确的二维码',
|
||
// icon: 'none',
|
||
// duration: 2000
|
||
// });
|
||
// }
|
||
// } catch (e) {
|
||
// uni.showToast({
|
||
// title: '二维码错误,请扫描正确的二维码',
|
||
// icon: 'none',
|
||
// duration: 2000
|
||
// });
|
||
// }
|
||
// }
|
||
// // 回调
|
||
// },
|
||
// error: function(res) {
|
||
// uni.showToast({
|
||
// title: 'error:' + res,
|
||
// icon: 'none',
|
||
// duration: 2000
|
||
// });
|
||
// if (res.errMsg.indexOf('function_not_exist') > 0) {
|
||
// alert('版本过低请升级');
|
||
// }
|
||
// }
|
||
// });
|
||
// },
|
||
|
||
//调用接口获取二维码信息
|
||
getQrCodeInfo(id) {
|
||
var _this = this;
|
||
this.$http
|
||
.request({
|
||
url: "/apis/device/detail",
|
||
params: {
|
||
deviceId: id,
|
||
},
|
||
method: "POST",
|
||
})
|
||
.then((res) => {
|
||
if (res.data.code == 0) {
|
||
let obj = {
|
||
id: res.data.data.id,
|
||
name: res.data.data.name,
|
||
serialno: res.data.data.serialno,
|
||
model: res.data.data.model ? res.data.data.model : "",
|
||
type: res.data.data.type_mes ? res.data.data.type_mes : "",
|
||
site: res.data.data.site ? res.data.data.site : "",
|
||
};
|
||
_this.devInfo = obj;
|
||
var repairInfo = uni.getStorageSync("repairInfo");
|
||
if (!repairInfo) {
|
||
repairInfo = {};
|
||
}
|
||
repairInfo.devInfo = this.devInfo;
|
||
uni.setStorage({
|
||
key: "repairInfo",
|
||
data: repairInfo,
|
||
success: function () {},
|
||
});
|
||
} else {
|
||
uni.showToast({
|
||
title: res.data.msg ? res.data.msg : "扫码失败",
|
||
icon: "none",
|
||
duration: 2000,
|
||
});
|
||
}
|
||
});
|
||
},
|
||
|
||
selectDevice() {
|
||
this.show_search_user3 = true;
|
||
// uni.navigateTo({
|
||
// url: "selectDevice?flag=addRepair"
|
||
// });
|
||
},
|
||
selectPeople1(val) {
|
||
this.selFrom = val;
|
||
this.show_search_user1 = true;
|
||
// uni.navigateTo({
|
||
// url: "repairTurnTo?flag="+flag+'&url=addRepair'
|
||
// });
|
||
},
|
||
selectSbjh(val) {
|
||
this.showSbjh = true;
|
||
},
|
||
selectPeople2(data) {
|
||
this.show_search_user2 = true;
|
||
},
|
||
formatCsrName(data) {
|
||
var returnName = "";
|
||
for (var i = 0; i < data.length; i++) {
|
||
if (i == 3) {
|
||
returnName += data[i].name + "等等";
|
||
break;
|
||
} else {
|
||
returnName += data[i].name + ",";
|
||
}
|
||
}
|
||
returnName = returnName.substring(0, returnName.length - 1);
|
||
return returnName;
|
||
},
|
||
infoChange: function () {
|
||
//保存当前修改信息
|
||
var repairInfo = uni.getStorageSync("repairInfo");
|
||
if (!repairInfo) {
|
||
repairInfo = {};
|
||
}
|
||
repairInfo.info = this.info;
|
||
uni.setStorage({
|
||
key: "repairInfo",
|
||
data: repairInfo,
|
||
success: function () {},
|
||
});
|
||
},
|
||
showXb() {
|
||
this.$refs.xbPicker.show();
|
||
},
|
||
showgGgxh() {
|
||
this.$refs.ggxhPicker.show();
|
||
},
|
||
showCj() {
|
||
// this.pickerValueDefault = [0];
|
||
this.$refs.cjPicker.show();
|
||
},
|
||
pickerxbConfirm(e) {
|
||
this.info.xb = e.label;
|
||
this.info.xbid = e.value[0];
|
||
this.info = { ...this.info };
|
||
this.infoChange();
|
||
this.$forceUpdate();
|
||
},
|
||
// 车间
|
||
pickerCjConfirm(e) {
|
||
this.info.bc = e.label;
|
||
this.info.bcid = e.value[0];
|
||
// const res = await this.$http.request({
|
||
// url: "/apis/mdh/hcl/getCode",
|
||
// params: {
|
||
// sbjh: this.info.sbjh,
|
||
// xb: e.label,
|
||
// },
|
||
// method: "get",
|
||
// });
|
||
// let code = res.data.data;
|
||
// this.info.hcljh = code;
|
||
this.info = { ...this.info };
|
||
this.infoChange();
|
||
this.$forceUpdate();
|
||
},
|
||
pickerGgxhConfirm(e) {
|
||
this.info.ggxh = e.label;
|
||
this.info.ggxhid = e.value[0];
|
||
this.info = { ...this.info };
|
||
this.infoChange();
|
||
this.$forceUpdate();
|
||
},
|
||
pickerConfirm(e) {
|
||
this.editInfo.bz = e.label;
|
||
this.editInfo.bzid = e.value[0];
|
||
this.infoChange();
|
||
this.$forceUpdate();
|
||
},
|
||
showSinglePicker() {
|
||
// this.pickerValueDefault = [0];
|
||
this.$refs.mpvuePicker.show();
|
||
},
|
||
onShowDatePicker(val) {
|
||
this.timeFrom = val;
|
||
//显示
|
||
this.showPicker = true;
|
||
},
|
||
onSelected(e) {
|
||
//选择
|
||
this.showPicker = false;
|
||
var _this = this;
|
||
if (e) {
|
||
this.planTime = e.value + ":00";
|
||
_this.info[this.timeFrom] = this.planTime;
|
||
this.infoChange();
|
||
}
|
||
},
|
||
//上传
|
||
chooseImg() {
|
||
this.uploadImg();
|
||
},
|
||
//重新上传
|
||
reUpload(index) {
|
||
this.uploadImg(index);
|
||
},
|
||
uploadImg(indexnum) {
|
||
var _this = this;
|
||
//#ifdef APP-PLUS
|
||
var count_ = 9;
|
||
//#endif
|
||
//#ifndef APP-PLUS
|
||
var count_ = 1;
|
||
//#endif
|
||
if (indexnum != undefined) {
|
||
count_ = 1;
|
||
}
|
||
uni.chooseImage({
|
||
count: count_,
|
||
success: (chooseImageRes) => {
|
||
const tempFilePaths = chooseImageRes.tempFilePaths;
|
||
//#ifdef APP-PLUS
|
||
let imgs = chooseImageRes.tempFilePaths.map((value, index) => {
|
||
return {
|
||
name: "file" + (index + 1), //注意这一行,uni的hello的示例中,这里为key名+index,这样是无法和使用一个固定key名接多个文件的php接口对接上的改为数组下标形式的字符串就解决这个问题了。其效果等同于在html页面上多个同name文件域同时提交表单。
|
||
uri: value,
|
||
};
|
||
});
|
||
uni.uploadFile({
|
||
url: config.baseURL + "/apis/file/uploadMulti", //接口地址
|
||
files: imgs,
|
||
fileType: "image",
|
||
name: "files",
|
||
success: (uploadFileRes) => {
|
||
var arr = [];
|
||
for (
|
||
var i = 0;
|
||
i < JSON.parse(uploadFileRes.data).result.length;
|
||
i++
|
||
) {
|
||
arr.push(JSON.parse(uploadFileRes.data).result[i].filePath);
|
||
}
|
||
if (indexnum != undefined) {
|
||
//是重新上传
|
||
_this.imgsrc_list[indexnum] = arr[0];
|
||
_this.imgsrc_list_local[indexnum] =
|
||
chooseImageRes.tempFilePaths[0];
|
||
} else {
|
||
_this.imgsrc_list = _this.imgsrc_list.concat(arr);
|
||
_this.imgsrc_list_local = _this.imgsrc_list_local.concat(
|
||
chooseImageRes.tempFilePaths
|
||
);
|
||
}
|
||
_this.$forceUpdate();
|
||
var repairInfo = uni.getStorageSync("repairInfo");
|
||
if (!repairInfo) {
|
||
repairInfo = {};
|
||
}
|
||
repairInfo.imgsrc_list = _this.imgsrc_list;
|
||
repairInfo.imgsrc_list_local = _this.imgsrc_list_local;
|
||
uni.setStorage({
|
||
key: "repairInfo",
|
||
data: repairInfo,
|
||
success: function () {},
|
||
});
|
||
},
|
||
fail: function () {
|
||
uni.showToast({
|
||
title: "上传图片失败",
|
||
duration: 2000,
|
||
icon: "none",
|
||
});
|
||
},
|
||
});
|
||
//#endif
|
||
//#ifndef APP-PLUS
|
||
uni.uploadFile({
|
||
url: config.baseURL + "/apis/file/upload", //接口地址
|
||
filePath: tempFilePaths[0],
|
||
fileType: "image",
|
||
name: "file",
|
||
success: (uploadFileRes) => {
|
||
var arr = [];
|
||
if (indexnum != undefined) {
|
||
//是重新上传
|
||
_this.imgsrc_list[indexnum] = JSON.parse(
|
||
uploadFileRes.data
|
||
).filePath;
|
||
_this.imgsrc_list_local[indexnum] =
|
||
chooseImageRes.tempFilePaths[0];
|
||
} else {
|
||
_this.imgsrc_list.push(JSON.parse(uploadFileRes.data).filePath);
|
||
_this.imgsrc_list_local.push(chooseImageRes.tempFilePaths);
|
||
}
|
||
_this.$forceUpdate();
|
||
var repairInfo = uni.getStorageSync("repairInfo");
|
||
if (!repairInfo) {
|
||
repairInfo = {};
|
||
}
|
||
repairInfo.imgsrc_list = _this.imgsrc_list;
|
||
repairInfo.imgsrc_list_local = _this.imgsrc_list_local;
|
||
uni.setStorage({
|
||
key: "repairInfo",
|
||
data: repairInfo,
|
||
success: function () {},
|
||
});
|
||
},
|
||
fail: function () {
|
||
uni.showToast({
|
||
title: "上传图片失败",
|
||
duration: 2000,
|
||
icon: "none",
|
||
});
|
||
},
|
||
});
|
||
//#endif
|
||
},
|
||
});
|
||
},
|
||
//删除图片
|
||
deleteImg(index) {
|
||
this.imgsrc_list.splice(index, 1);
|
||
this.imgsrc_list_local.splice(index, 1);
|
||
this.$forceUpdate();
|
||
var repairInfo = uni.getStorageSync("repairInfo");
|
||
if (!repairInfo) {
|
||
repairInfo = {};
|
||
}
|
||
repairInfo.imgsrc_list = _this.imgsrc_list;
|
||
repairInfo.imgsrc_list_local = _this.imgsrc_list_local;
|
||
uni.setStorage({
|
||
key: "repairInfo",
|
||
data: repairInfo,
|
||
success: function () {},
|
||
});
|
||
},
|
||
//点击暂存和确认提交 需要进行的操作。
|
||
goAddRepair(flag) {
|
||
const { xh, ggxh, ms, mz,jt,kz,czry,czsj } = this.info;
|
||
let bzList = this.info.zbList;
|
||
if (!xh||!ggxh||!ms||!mz||!jt||!kz||!czry||!czsj) {
|
||
uni.showToast({
|
||
title: "请填写必填项",
|
||
duration: 2000,
|
||
icon: "none",
|
||
});
|
||
return false;
|
||
}
|
||
if (!(bzList && bzList.length > 0)) {
|
||
uni.showToast({
|
||
title: "请至少新增一条数据",
|
||
duration: 2000,
|
||
icon: "none",
|
||
});
|
||
return false;
|
||
}
|
||
let submitData = {};
|
||
submitData = this.info;
|
||
submitData.zt = 3;
|
||
submitData.zczt = 1;
|
||
let url = "/apis/mdh/fq/add";
|
||
//调取接口进行保存。
|
||
this.$http
|
||
.request({
|
||
url: url,
|
||
data: submitData,
|
||
})
|
||
.then((res) => {
|
||
if (res.data.code == 0) {
|
||
// uni.removeStorageSync("repairInfo");
|
||
uni.showToast({
|
||
title: "操作成功",
|
||
duration: 1000,
|
||
icon: "none",
|
||
});
|
||
setTimeout(function () {
|
||
uni.redirectTo({
|
||
url: `/pages/hclbg/index`,
|
||
});
|
||
}, 1000);
|
||
} else {
|
||
uni.showToast({
|
||
title: res.data.msg || "操作失败",
|
||
duration: 2000,
|
||
icon: "none",
|
||
});
|
||
return false;
|
||
}
|
||
})
|
||
.catch((err) => {
|
||
uni.showToast({
|
||
title: "操作失败",
|
||
duration: 2000,
|
||
icon: "none",
|
||
});
|
||
});
|
||
},
|
||
},
|
||
onBackPress(options) {
|
||
//取消默认的返回事件.用来返回上一页时重新加载页面,删除本地缓存的巡检操作
|
||
// if (options.from === 'backButton' || options.from === 'backbutton' || options.from === 'navigateBack') {
|
||
// uni.redirectTo({
|
||
// url: "patrolDetail?id=" + this.id
|
||
// });
|
||
// return true;
|
||
// }
|
||
},
|
||
};
|
||
</script>
|
||
<style scoped>
|
||
.report_btn {
|
||
color: #3382ff;
|
||
cursor: pointer;
|
||
}
|
||
|
||
.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%);
|
||
}
|
||
|
||
>>>.picker-item .lb-picker-column .lb-picker-column-label {
|
||
-webkit-transition: all 0.3s;
|
||
transition: all 0.3s;
|
||
line-height: 55px !important;
|
||
}
|
||
|
||
>>>.select-tab-fixed-top {
|
||
left: 0;
|
||
width: 100%;
|
||
z-index: 2;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
>>>.popup-layer {
|
||
position: fixed;
|
||
top: var(--window-top);
|
||
margin-top: 40px;
|
||
}
|
||
</style>
|