yxk_h5_master/pages/xcjc/detail.vue

1112 lines
36 KiB
Vue
Raw Normal View History

2025-08-28 15:21:09 +08:00
<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="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" style="color: #333">{{
info.rwzt + "(" + "编号:" + info.xcjcd + ")"
}}</view>
<!-- <view class="itemtext">
<input class="iteminput" disabled placeholder="自动生成" :value="devInfo.xcjcdh" />
</view> -->
<!-- <view class="itemtext">
<input class="iteminput InputRightMargin" placeholder="设备编号或扫码" :value="devInfo.serialno"/>
<uni-icons type="scan" class="myarrowright" style="right: 0px;"></uni-icons>
</view> -->
</view>
<view class="item" v-if="info.rwzt == '待处理'">
<view class="item-btn">
<button type="primary" class="btn" @click="dealProblem()">
问题处理
</button>
<button type="primary" class="btn" @click="problemToOther()">
问题转派
</button>
</view>
</view>
<view class="detail_name_container">
<view :class="[current_num == 1 ? 'current' : '']" @click="changecurrent(1)">问题信息</view>
<view :class="[current_num == 2 ? 'current' : '']" @click="changecurrent(2)">处理记录</view>
</view>
<view v-show="current_num == 1">
<view class="top_container detail_list_top">
<view class="report_status">问题概况</view>
</view>
<view class="item">
<view class="itemname">车间</view>
<view class="itemtext">
<input class="iteminput InputRightMargin" disabled placeholder="请选择" :value="info.cj" />
</view>
</view>
<view class="item">
<view class="itemname">检查类别</view>
<view class="itemtext">
<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">
<input class="iteminput InputRightMargin" disabled placeholder="责任人" :value="info.zrr" />
<!-- <img src="../../static/img/personlistIcon.png" class="dateIcon" /> -->
</view>
</view>
<view class="item">
<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">
<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">
<input class="iteminput InputRightMargin" disabled placeholder="检验人员" :value="info.jcry" />
<!-- <img src="../../static/img/personlistIcon.png" class="dateIcon" /> -->
</view>
</view>
<view class="item item_line item_textarea">
<view class="itemname">问题描述</view>
<textarea class="textarea" disabled placeholder="" v-model="info.wtms" @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">
<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">
<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 item_textarea">
<view class="itemname">备注</view>
<textarea class="textarea" placeholder="备注" v-model="info.bz" disabled></textarea>
</view>
</view>
<view v-show="current_num == 2">
<view class="top_container detail_list_top">
<view class="report_status">处理记录</view>
</view>
<view class="item">
<view class="itemname">处理人员</view>
<view class="itemtext">
<input class="iteminput InputRightMargin" disabled placeholder="处理人员" :value="info.clry" />
<!-- <img src="../../static/img/personlistIcon.png" class="dateIcon" /> -->
</view>
</view>
<view class="item">
<view class="itemname">处理时间</view>
<view class="itemtext">
<view>
<input class="iteminput InputRightMargin" disabled placeholder="" :value="info.clrq" />
<!-- <img src="../../static/img/dateIcon.png" class="dateIcon" /> -->
</view>
</view>
</view>
<view class="item">
<view class="itemname">解决方案</view>
<view class="itemtext">
<view>
<input class="iteminput InputRightMargin" disabled placeholder="" :value="info.jjfa" />
<!-- <img src="../../static/img/dateIcon.png" class="dateIcon" /> -->
</view>
</view>
</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">
<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">
<view class="myimgBox">
<view class="img upload_btn">
<img src="../../static/img/uploadimg.png" />
<view class="sctp">上传图片</view>
</view>
</view>
</view> -->
</view>
</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">
<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>
</view>
</template>
<script>
import { config } from "../../request/js/config.js";
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 uniIcons from "@/components/uni-icons/uni-icons.vue";
import jweixin from "@/jweixin-module/index.js";
import { Html5Qrcode } from "html5-qrcode";
export default {
components: {
mxDatepicker,
mpvuePicker,
uniIcons,
chooseUserSingle,
chooseUserMulti,
chooseEquipmentSingle,
},
data() {
return {
current_num: 1,
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: "",
show_search_user2: false,
search_value_user2: "",
show_search_user3: false,
search_value_user3: "",
cjList: [],
//时间选择器
timeFrom: null,
selFrom: null,
};
},
onLoad(option) {
var _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/hl/ahgl/xcjc/detail",
method: "GET",
params: {
id: option.id,
},
})
.then((res) => {
if (res.data.code == 0) {
let records = res.data.data;
let xctp = this.isJsonString(
this.current_num == 1 ? records.xctp : records.zgtp
)
? JSON.parse(this.current_num == 1 ? records.xctp : records.zgtp)
: this.current_num == 1
? records.xctp
: records.zgtp;
if (Array.isArray(xctp)) {
this.imgsrc_list_local = xctp;
} else {
this.imgsrc_list_local=
this.current_num == 1 ? records.xctp.split(',') : records.zgtp.split(',')
}
this.info = records;
// this.zrr = {
// userId: records.engineerUserId,
// name: records.engineerUserName,
// };
// res.data.ccIdList.forEach((vals, index) => {
// var json = {
// userId: vals.id,
// name: vals.name,
// };
// this.targetList.push(json);
// });
// for (var i = 0; i < res.data.repairEventImage.length; i++) {
// this.imgsrc_list.push(res.data.repairEventImage[i].filePath);
// this.imgsrc_list_local.push(
// config.imgURL + res.data.repairEventImage[i].filePath
// );
// }
// this.info = {
// planTime: records.planTime, //要求完成时间
// solution: records.reventConent, //故障描述
// level_value: records.reventLevelId, //存储任务等级
// level_label: records.reventLevelName,
// id: this.id,
// };
// this.repairInfo = {
// info: this.info,
// imgsrc_list: this.imgsrc_list,
// imgsrc_list_local: this.imgsrc_list_local,
// csr: this.targetList,
// zrr: this.zrr,
// devInfo: this.devInfo,
// };
// uni.setStorage({
// key: "repairInfo",
// data: _this.repairInfo,
// success: function () {},
// });
}
});
// .catch((err) => {
// uni.showToast({
// title: "获取信息失败",
// icon: "none",
// duration: 2000,
// });
// });
} else {
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: "cj",
},
})
.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: "jclb",
},
})
.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.task_level.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: {
search_value_user1(val) {
const { NAME, userId } = val;
console.log(val, "问题专拍");
const params = {
id: this.info.id,
userId: userId,
};
this.$http
.request({
url: "/apis/hl/ahgl/xcjc/tran",
params: params,
})
.then((res) => {
if (res.data.code == 0) {
uni.showToast({
title: "转派成功",
icon: "none",
duration: 2000,
});
this.getList();
}
});
// 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: {
// 问题处理
dealProblem() {
uni.navigateTo({
url: "/pages/xcjc/deal" + "?id=" + this.info.id,
});
},
//问题转派
problemToOther() {
this.show_search_user1 = true;
},
changecurrent(num) {
this.current_num = num;
this.imgsrc_list_local = [];
let records = this.info;
let xctp = this.isJsonString(
this.current_num == 1 ? records.xctp : records.zgtp
)
? JSON.parse(this.current_num == 1 ? records.xctp : records.zgtp)
: this.current_num == 1
? records.xctp
: records.zgtp;
if (Array.isArray(xctp)) {
this.imgsrc_list_local = xctp;
} else {
this.imgsrc_list_local =
this.current_num == 1
? records.xctp.split(",")
: records.zgtp.split(",");
}
this.info = records;
},
isJsonString(str) {
try {
JSON.parse(str);
return true;
} catch (e) {
return false;
}
},
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'
// });
},
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 () {},
});
},
showCj() {
// this.pickerValueDefault = [0];
this.$refs.cjPicker.show();
},
// 车间
pickerCjConfirm(e) {
this.info.cj = e.label;
this.info.cjid = e.value[0];
this.infoChange();
this.$forceUpdate();
},
pickerConfirm(e) {
this.info.jclb = e.label;
this.info.jclbid = 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) {
console.log("flag", this.info, this.imgsrc_list);
if (!(this.imgsrc_list && this.imgsrc_list.length > 0)) {
uni.showToast({
title: "请上传现场图片",
duration: 2000,
icon: "none",
});
return false;
}
let submitData = {};
submitData = this.info;
submitData.xctp = JSON.stringify(this.imgsrc_list);
let url;
if (!submitData.id) {
//提交进行的操作
url = "apis/hl/ahgl/xcjc/add";
} else if (submitData.id) {
//暂存进行的操作。
url = "apis/hl/ahgl/xcjc/edit";
}
if (!submitData.jcrq) {
uni.showToast({
title: "请选择检验日期",
duration: 2000,
icon: "none",
});
return false;
}
if (!submitData.jcry) {
uni.showToast({
title: "请选择检验人员",
duration: 2000,
icon: "none",
});
return false;
}
if (!submitData.cj) {
uni.showToast({
title: "请选择车间",
duration: 2000,
icon: "none",
});
return false;
}
if (!submitData.jclb) {
uni.showToast({
title: "请选择检查类别",
duration: 2000,
icon: "none",
});
return false;
}
if (!submitData.zrr) {
uni.showToast({
title: "请选择责任人",
duration: 2000,
icon: "none",
});
return false;
}
if (!submitData.yqwcrq) {
uni.showToast({
title: "请选择要求完成时间",
duration: 2000,
icon: "none",
});
return false;
}
// console.log(this.otherInfo);
//调取接口进行保存。
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/xcjc/6s",
});
}, 1000);
}
})
.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>
.current:after {
position: absolute;
content: "";
width: 80upx;
height: 8upx;
background-color: #3382ff;
bottom: 8upx;
left: 20upx;
border-radius: 8upx;
}
.item-btn {
width: 50%;
margin-top: 20rpx;
display: flex;
align-items: center;
justify-content: flex-start;
}
.btn {
width: auto;
height: 100%;
font-size: 24rpx;
justify-content: center;
align-items: center;
}
.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>