Browse Source

维修图片上传

master
巴林闲侠 2 years ago
parent
commit
439822bbdb
  1. 3
      api/app/lib/controllers/patrolManage/patrolRecord.js
  2. 172
      weapp/package/troubleshooting/shootingForm/index.js
  3. 16
      weapp/package/troubleshooting/shootingForm/index.wxml

3
api/app/lib/controllers/patrolManage/patrolRecord.js

@ -231,7 +231,8 @@ async function getPatrolRecordIssueHandle (ctx) {
findOption.where['$or'].push({ state: 1 }) findOption.where['$or'].push({ state: 1 })
findOption.where['$or'].push({ state: 3 }) findOption.where['$or'].push({ state: 3 })
} }
findOption.where['$or'].push({ state: 2, approvePerson: { id: userId } }) // 有审批权限且关注此结构物
// findOption.where['$or'].push({ state: 2, approvePerson: { id: userId } })
findOption.where['$or'].push({ state: 4, repairPerson: { id: userId } }) findOption.where['$or'].push({ state: 4, repairPerson: { id: userId } })
findOption.where['$or'].push({ state: 5, checkPerson: { id: userId } }) findOption.where['$or'].push({ state: 5, checkPerson: { id: userId } })
findOption.where['$or'].push({ state: 7, repairPerson: { id: userId } }) findOption.where['$or'].push({ state: 7, repairPerson: { id: userId } })

172
weapp/package/troubleshooting/shootingForm/index.js

@ -31,6 +31,7 @@ Page({
planApprovalPerson: '', planApprovalPerson: '',
planApprovalTime: '', planApprovalTime: '',
repair: '', repair: '',
repairImgs: [],
// 表单控制 // 表单控制
isPlanState: false, isPlanState: false,
@ -91,10 +92,10 @@ Page({
}) })
if (issue.state > 1) { if (issue.state > 1) {
let maintenancePersonIndex = focusPerson.findIndex(f => f.id == issue.repairPerson.id) let maintenancePersonIndex = focusPerson.findIndex(f => f.id == issue.repairPerson.id)
console.log(issue.startTime, moment(issue.startTime).format('YYYY-MM-DD HH:mm:ss')); console.log(maintenancePersonIndex, issue.startTime, moment(issue.startTime).format('YYYY-MM-DD HH:mm:ss'));
this.setData({ this.setData({
maintenancePersonIndex: maintenancePersonIndex, maintenancePersonIndex: maintenancePersonIndex,
maintenancePersonDepartmentShow: focusPerson[maintenancePersonIndex].department.name, maintenancePersonDepartmentShow: maintenancePersonIndex >= 0 ? focusPerson[maintenancePersonIndex].department.name : '',
qualityPersonIndex: focusPerson.findIndex(f => f.id == issue.checkPerson.id), qualityPersonIndex: focusPerson.findIndex(f => f.id == issue.checkPerson.id),
planStartTime: moment(issue.startTime).unix(), planStartTime: moment(issue.startTime).unix(),
planStartTimeShow: moment(issue.startTime).format('YYYY-MM-DD HH:mm:ss'), planStartTimeShow: moment(issue.startTime).format('YYYY-MM-DD HH:mm:ss'),
@ -205,96 +206,91 @@ Page({
chooseImg: function (e) { // 这里是选取图片的方法 chooseImg: function (e) { // 这里是选取图片的方法
const that = this; const that = this;
let pics = []; let pics = [];
// const detailPics = that.data.inspectContent[e.currentTarget.dataset.item].imgs; const detailPics = that.data.repairImgs
// if (detailPics.length >= 20) { if (detailPics.length >= 20) {
// wx.showToast({ wx.showToast({
// title: '最多选择20张图片上传', title: '最多选择20张图片上传',
// icon: 'none' icon: 'none'
// }); });
// return; return;
// } }
// wx.chooseMedia({ wx.chooseMedia({
// count: 20, // 基础库2.25.0前,最多可支持9个文件,2.25.0及以后最多可支持20个文件 count: 20, // 基础库2.25.0前,最多可支持9个文件,2.25.0及以后最多可支持20个文件
// mediaType: ['image'], // 文件类型 mediaType: ['image'], // 文件类型
// sizeType: ['original', 'compressed'], // original 原图,compressed 压缩图,默认二者都有 sizeType: ['original', 'compressed'], // original 原图,compressed 压缩图,默认二者都有
// sourceType: ['album', 'camera'], // album 从相册选图,camera 使用相机,默认二者都有 sourceType: ['album', 'camera'], // album 从相册选图,camera 使用相机,默认二者都有
// success: function (res) { success: function (res) {
// const imgs = res.tempFiles; const imgs = res.tempFiles;
// for (let i = 0; i < imgs.length; i++) { for (let i = 0; i < imgs.length; i++) {
// if (res.tempFiles[i].size > 15728640) { if (res.tempFiles[i].size > 15728640) {
// wx.showToast({ title: '图片大于15M,不可上传', icon: 'none' }); wx.showToast({ title: '图片大于15M,不可上传', icon: 'none' });
// return; return;
// } }
// const fileNameArr = res.tempFiles[i].tempFilePath.split('.'); const fileNameArr = res.tempFiles[i].tempFilePath.split('.');
// const extension = res.tempFiles[i].tempFilePath.split('.')[fileNameArr.length - 1]; const extension = res.tempFiles[i].tempFilePath.split('.')[fileNameArr.length - 1];
// if (extension !== 'jpg' && extension !== 'png' && extension !== 'jpeg') { if (extension !== 'jpg' && extension !== 'png' && extension !== 'jpeg') {
// wx.showToast({ title: '只能上传jpg、jpeg、png格式的图片', icon: 'none' }); wx.showToast({ title: '只能上传jpg、jpeg、png格式的图片', icon: 'none' });
// return; return;
// } }
// pics.push(imgs[i].tempFilePath) pics.push(imgs[i].tempFilePath)
// } }
// that.uploadimg({ that.uploadimg({
// url: getApp().globalData.webUrl + '_upload/attachments/project', // 图片上传的接口 url: getApp().globalData.webUrl + '_upload/attachments/project', // 图片上传的接口
// path: pics, // 选取的图片的地址数组 path: pics, // 选取的图片的地址数组
// }, e.currentTarget.dataset.item); }, 'repairImgs');
// }, },
// }) })
}, },
//多张图片上传 //多张图片上传
uploadimg: function (data, itemName) { uploadimg: function (data, itemName) {
// wx.showLoading({ wx.showLoading({
// title: '上传中...', title: '上传中...',
// mask: true, mask: true,
// }) })
// let that = this, let that = this,
// i = data.i ? data.i : 0, i = data.i ? data.i : 0,
// success = data.success ? data.success : 0, success = data.success ? data.success : 0,
// fail = data.fail ? data.fail : 0; fail = data.fail ? data.fail : 0;
// let imgs = that.data.inspectContent[itemName].imgs; let imgs = that.data[itemName];
// wx.uploadFile({ wx.uploadFile({
// url: data.url, url: data.url,
// filePath: data.path[i], filePath: data.path[i],
// name: 'file', name: 'file',
// success: (resp) => { success: (resp) => {
// wx.hideLoading(); wx.hideLoading();
// success++; success++;
// let str = JSON.parse(resp.data) // 返回的结果,可能不同项目结果不一样 console.log(resp);
// str = str.uploaded let str = JSON.parse(resp.data) // 返回的结果,可能不同项目结果不一样
// console.log(str); str = str.uploaded
// if (imgs.length >= 20) { console.log(str);
// const inspectContent = that.data.inspectContent; if (imgs.length >= 20) {
// inspectContent[itemName].imgs = imgs; return false;
// that.setData({ } else {
// inspectContent, let imgs_ = JSON.parse(JSON.stringify(imgs))
// }); imgs_.push(str);
// return false; that.setData({
// } else { [itemName]: imgs_,
// imgs.push(str); })
// const inspectContent = that.data.inspectContent; }
// inspectContent[itemName].imgs = imgs; },
// that.setData({ fail: (res) => {
// inspectContent, fail++;
// }) console.log('fail:' + i + "fail:" + fail);
// } },
// }, complete: () => {
// fail: (res) => { i++;
// fail++; if (i == data.path.length) { // 当图片传完时,停止调用
// console.log('fail:' + i + "fail:" + fail); console.log('执行完毕');
// }, console.log('成功:' + success + " 失败:" + fail);
// complete: () => { } else { // 若图片还没有传完,则继续调用函数
// i++; data.i = i;
// if (i == data.path.length) { // 当图片传完时,停止调用 data.success = success;
// console.log('执行完毕'); data.fail = fail;
// console.log('成功:' + success + " 失败:" + fail); that.uploadimg(data, itemName); // 递归,回调自己
// } else { // 若图片还没有传完,则继续调用函数 }
// data.i = i; }
// data.success = success; });
// data.fail = fail;
// that.uploadimg(data, itemName); // 递归,回调自己
// }
// }
// });
}, },
// 删除图片 // 删除图片

16
weapp/package/troubleshooting/shootingForm/index.wxml

@ -108,21 +108,24 @@
<van-field value="{{planApprovalTime}}" label="审批日期" readonly="{{true}}" border="{{ false }}" /> <van-field value="{{planApprovalTime}}" label="审批日期" readonly="{{true}}" border="{{ false }}" />
</block> </block>
</view> </view>
<block wx:if="{{ data.state == 4 }}">
<view class="mission-card-title mission-center-card-title"> <view class="mission-card-title mission-center-card-title">
<span>维修处理</span> <span>维修处理</span>
</view> </view>
<van-field value="{{ repair }}" extra-event-params="{{true}}" label="维修情况描述" type="textarea" placeholder="请输入" autosize border="{{ true }}" /> <van-field value="{{ repair }}" extra-event-params="{{true}}" label="维修情况描述" type="textarea" placeholder="请输入" autosize border="{{ true }}" bind:input="onInputChange" data-type='repair' />
<van-cell border="{{false}}"> <van-cell border="{{false}}">
<view style="display:flex"> <view style="display:flex">
<view class="fs-cell-title" style="">完工图片</view> <view class="fs-cell-title" style="">完工图片</view>
<view class="fs-cell-content" style=""> <view class="fs-cell-content" style="">
<view class="" style="overflow-y:scroll;"> <view class="" style="overflow-y:scroll;">
<view class="" style="overflow:hidden;"> <view class="" style="overflow:hidden;">
<!-- <view class='pic' wx:for="{{inspectContent[item.name].imgs}}" wx:for-item="img" wx:key="*this"> <view class='pic' wx:for="{{repairImgs}}" wx:for-index="imgIndex" wx:for-item="imgUrl" wx:key="imgIndex">
<image class='weui-uploader__img showImg' src="{{imgUrl + img}}" data-index="{{index}}" data-item="{{item.name}}" mode="aspectFill" bindtap="previewImg"> <block wx:for="{{repairImgs}}" wx:for-index="imgIndex" wx:for-item="imgUrl" wx:key="imgIndex">
<icon type='cancel' class="delete-btn" data-index="{{index}}" data-item="{{item.name}}" catchtap="deleteImg"></icon> <image style="height:160rpx;width:160rpx;padding-right:12rpx;" src="{{imgServer+imgUrl}}" data-img="{{imgServer+imgUrl}}" data-index="{{imgIndex}}" data-key="{{imgIndex}}" data-itemindex="{{index}}" mode="aspectFill" bindtap="previewImg">
<icon type='cancel' class="delete-btn" data-index="{{imgIndex}}" data-type="repairImgs" catchtap="deleteImg"></icon>
</image> </image>
</view> --> </block>
</view>
<!-- 用来提示用户上传图片 --> <!-- 用来提示用户上传图片 -->
<view class="" data-item="{{'item.name'}}" bindtap="chooseImg"> <view class="" data-item="{{'item.name'}}" bindtap="chooseImg">
<image style="height:160rpx;width:160rpx;padding-right:24rpx;" class="upload" src="/images/upload.png" /> <image style="height:160rpx;width:160rpx;padding-right:24rpx;" class="upload" src="/images/upload.png" />
@ -132,6 +135,7 @@
</view> </view>
</view> </view>
</van-cell> </van-cell>
</block>
<view class="mission-card-title mission-center-card-title"> <view class="mission-card-title mission-center-card-title">
<span>质检验收</span> <span>质检验收</span>
</view> </view>
@ -159,7 +163,7 @@
<van-field value="{{ repair }}" extra-event-params="{{true}}" label="验收意见" type="textarea" placeholder="请输入" autosize border="{{ true }}" /> <van-field value="{{ repair }}" extra-event-params="{{true}}" label="验收意见" type="textarea" placeholder="请输入" autosize border="{{ true }}" />
</van-cell-group> </van-cell-group>
<view style="margin:24px 16px"> <view style="margin:24px 16px">
<van-button wx:if="{{data.state == 1 || data.state == 3 }}" type="info" block style="" bindtap="confirm"> <van-button wx:if="{{data.state == 1 || data.state == 3 || data.state == 4 }}" type="info" block style="" bindtap="confirm">
提交 提交
</van-button> </van-button>
<view wx:if="{{data.state == 2}}" style="display:flex; justify-content:space-between"> <view wx:if="{{data.state == 2}}" style="display:flex; justify-content:space-between">

Loading…
Cancel
Save