init
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"usingComponents": {
|
||||
"van-dialog": "@vant/weapp/dialog/index",
|
||||
"van-uploader": "@vant/weapp/uploader/index"
|
||||
},
|
||||
"navigationBarTitleText": "采购交车验收"
|
||||
}
|
||||
@@ -0,0 +1,136 @@
|
||||
/* pages/handoverVehicle/procurementDelivery/procurementDelivery.wxss */
|
||||
page {
|
||||
height: 100vh;
|
||||
background: #EFF1F4;
|
||||
// overflow: hidden;
|
||||
position: relative;
|
||||
.container {
|
||||
height: calc(100% - 88px);
|
||||
overflow-y: auto;
|
||||
.content {
|
||||
background-color: #ffffff;
|
||||
font-size: 28rpx;
|
||||
padding:28rpx 20rpx;
|
||||
margin-bottom: 16rpx;
|
||||
.top {
|
||||
color: #333F53;
|
||||
font-size: 14px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
.left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.line {
|
||||
width: 8rpx;
|
||||
height: 44rpx;
|
||||
background: linear-gradient(180deg, #4E87FC 0%, #38B1FE 100%);
|
||||
border-radius: 4rpx;
|
||||
margin-right: 16rpx;
|
||||
}
|
||||
.title {
|
||||
color: #2E3A4F;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
.right {
|
||||
.btn {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
image {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
margin-right: 6px;
|
||||
display: block;
|
||||
}
|
||||
.val {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.box {
|
||||
padding: 10px 0 0;
|
||||
.row {
|
||||
margin-bottom: 8px;
|
||||
color: #333F53;
|
||||
font-size: 14px;
|
||||
.flex-between {
|
||||
justify-content: space-between;
|
||||
}
|
||||
.noalign-center {
|
||||
align-items: flex-start !important;
|
||||
}
|
||||
>view {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.left {
|
||||
color: #858CA0;
|
||||
}
|
||||
.right {
|
||||
width: 76%;
|
||||
text-align: right;
|
||||
image {
|
||||
// width: 84px;
|
||||
// height: 84px;
|
||||
width: calc(((100vw - 40rpx) * 0.7 - 12px) / 3) !important;
|
||||
height: calc(((100vw - 40rpx) * 0.7 - 12px) / 3) !important;
|
||||
display: inline-block;
|
||||
// margin-left: 6px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.row:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.box-g {
|
||||
padding: 12px;
|
||||
margin-bottom: 8px;
|
||||
background: #ECEFF5;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.box-g:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.bottom {
|
||||
width: 100%;
|
||||
padding: 16px 12px 30px;
|
||||
background: #fff;
|
||||
box-sizing: border-box;
|
||||
border-radius: 8px 8px 0 0;
|
||||
box-shadow: 0px -2px 12px 0px rgba(0,0,0,0.2);
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
.btn-box {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
flex-wrap: wrap;
|
||||
.btn {
|
||||
width: 100%;
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
border-radius: 8px;
|
||||
background: linear-gradient(90deg, #3B7CFC 0%, #548BFC 100%);
|
||||
color: #fff;
|
||||
font-size: 30rpx;
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
}
|
||||
.btn-w50 {
|
||||
width: calc((100% - 12px) / 2);
|
||||
}
|
||||
.btn1 {
|
||||
background: #fff;
|
||||
border: 1px solid #d6d6d6;
|
||||
box-sizing: border-box;
|
||||
color: #2E3A4F;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,174 @@
|
||||
// pages/handoverVehicle/procurementDelivery/procurementDelivery.ts
|
||||
import { deleteAction } from '../../../api/base';
|
||||
import Dialog from '@vant/weapp/dialog/dialog';
|
||||
Page({
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
showBox: {
|
||||
base: true,
|
||||
vehicle: true,
|
||||
check: true
|
||||
},
|
||||
item: {} as any
|
||||
},
|
||||
showBoxInf(e: any) {
|
||||
console.log(e);
|
||||
let { fieldname } = e.currentTarget.dataset;
|
||||
// let detail = e.detail;
|
||||
let data: any = { ...this.data };
|
||||
data.showBox[fieldname] = !data.showBox[fieldname];
|
||||
this.setData(data);
|
||||
},
|
||||
previewImg(e: any) {
|
||||
console.log(e);
|
||||
let { index } = e.currentTarget.dataset;
|
||||
// let { photoList } = this.data;
|
||||
let list = [] as any;
|
||||
// photoList.forEach((item: any) => {
|
||||
// list.push(item.fileUrl);
|
||||
// });
|
||||
wx.previewImage({
|
||||
current: list[index | 0], // 当前显示图片的http链接 默认urls[0]
|
||||
urls: list // 需要预览的图片http链接列表
|
||||
});
|
||||
},
|
||||
toDel() {
|
||||
Dialog.confirm({
|
||||
title: '提示',
|
||||
message: '是否确认删除'
|
||||
})
|
||||
.then(() => {
|
||||
// on confirm
|
||||
let params = {
|
||||
id: this.data.item.id
|
||||
};
|
||||
wx.showLoading({
|
||||
title: '加载中'
|
||||
});
|
||||
deleteAction('api/vehicleCheck/delete', params).then((res: any) => {
|
||||
wx.hideLoading();
|
||||
if (res.code == 200) {
|
||||
wx.showToast({
|
||||
title: '删除成功',
|
||||
icon: 'none'
|
||||
});
|
||||
setTimeout(() => {
|
||||
wx.navigateBack({
|
||||
delta: 1,
|
||||
fail: e => {
|
||||
console.log(e);
|
||||
}
|
||||
});
|
||||
}, 500);
|
||||
} else {
|
||||
wx.showToast({
|
||||
title: res.message,
|
||||
icon: 'none'
|
||||
});
|
||||
}
|
||||
});
|
||||
})
|
||||
.catch(() => {
|
||||
// on cancel
|
||||
});
|
||||
},
|
||||
toEdit() {
|
||||
let that = this;
|
||||
wx.navigateTo({
|
||||
url: '../procurementDeliveryEdit/procurementDeliveryEdit',
|
||||
success: function (res) {
|
||||
// 通过eventChannel向被打开页面传送数据
|
||||
res.eventChannel.emit('eventName', {
|
||||
...that.data.item
|
||||
});
|
||||
},
|
||||
fail: e => {
|
||||
console.log(e);
|
||||
}
|
||||
});
|
||||
},
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad() {
|
||||
// 接收传参
|
||||
const eventChannel = this.getOpenerEventChannel();
|
||||
|
||||
eventChannel &&
|
||||
eventChannel.on &&
|
||||
eventChannel.on('eventName', (data: any) => {
|
||||
console.log('接收参数', data);
|
||||
|
||||
data.ckeckUrlList = [];
|
||||
data.ensureUrlList = [];
|
||||
data.otherUrlList = [];
|
||||
if (data.ckeckUrl) {
|
||||
for (let i = 0; i < data.ckeckUrl.split(',').length; i++) {
|
||||
let pic = data.ckeckUrl.split(',')[i];
|
||||
data.ckeckUrlList.push({
|
||||
url: pic,
|
||||
name: ''
|
||||
});
|
||||
}
|
||||
}
|
||||
if (data.ensureUrl) {
|
||||
for (let i = 0; i < data.ensureUrl.split(',').length; i++) {
|
||||
let pic = data.ensureUrl.split(',')[i];
|
||||
data.ensureUrlList.push({
|
||||
url: pic,
|
||||
name: ''
|
||||
});
|
||||
}
|
||||
}
|
||||
if (data.otherUrl) {
|
||||
for (let i = 0; i < data.otherUrl.split(',').length; i++) {
|
||||
let pic = data.otherUrl.split(',')[i];
|
||||
data.otherUrlList.push({
|
||||
url: pic,
|
||||
name: ''
|
||||
});
|
||||
}
|
||||
}
|
||||
this.setData({
|
||||
item: data
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面初次渲染完成
|
||||
*/
|
||||
onReady() {},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面显示
|
||||
*/
|
||||
onShow() {},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面隐藏
|
||||
*/
|
||||
onHide() {},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面卸载
|
||||
*/
|
||||
onUnload() {},
|
||||
|
||||
/**
|
||||
* 页面相关事件处理函数--监听用户下拉动作
|
||||
*/
|
||||
onPullDownRefresh() {},
|
||||
|
||||
/**
|
||||
* 页面上拉触底事件的处理函数
|
||||
*/
|
||||
onReachBottom() {},
|
||||
|
||||
/**
|
||||
* 用户点击右上角分享
|
||||
*/
|
||||
onShareAppMessage() {}
|
||||
});
|
||||
@@ -0,0 +1,246 @@
|
||||
<!--pages/handoverVehicle/procurementDelivery/procurementDelivery.wxml-->
|
||||
<view class="container">
|
||||
<view class="content">
|
||||
<view class="top">
|
||||
<view class="left">
|
||||
<view class="line"></view>
|
||||
<view class="title">基本信息</view>
|
||||
</view>
|
||||
<view class="right">
|
||||
<view class="btn" wx:if="{{showBox.base}}" data-fieldName="base" catch:tap="showBoxInf">
|
||||
<image src="../../../images/icon_up.png" mode=""/>
|
||||
<view class="val">收起</view>
|
||||
</view>
|
||||
<view class="btn" wx:if="{{!showBox.base}}" data-fieldName="base" catch:tap="showBoxInf">
|
||||
<image src="../../../images/icon_down.png" mode=""/>
|
||||
<view class="val">展开</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="box" wx:if="{{showBox.base}}">
|
||||
<view class="row">
|
||||
<view class="flex-between">
|
||||
<view class="left">所属合同</view>
|
||||
<view class="right">{{item.contractId_dictText ? item.contractId_dictText : '/'}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="row">
|
||||
<view class="flex-between">
|
||||
<view class="left">所属项目</view>
|
||||
<view class="right">{{item.projectId_dictText ? item.projectId_dictText : '/'}}</view>
|
||||
</view>
|
||||
</view> -->
|
||||
<view class="row">
|
||||
<view class="flex-between">
|
||||
<view class="left">车辆种类</view>
|
||||
<view class="right">{{item.vehicleType_dictText ? item.vehicleType_dictText : '/'}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="flex-between">
|
||||
<view class="left">交车模版</view>
|
||||
<view class="right">{{item.templateId_dictText ? item.templateId_dictText : '/'}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="content">
|
||||
<view class="top">
|
||||
<view class="left">
|
||||
<view class="line"></view>
|
||||
<view class="title">车辆({{item.vehicleList.length ? item.vehicleList.length : 0}})</view>
|
||||
</view>
|
||||
<view class="right">
|
||||
<view class="btn" wx:if="{{showBox.vehicle}}" data-fieldName="vehicle" catch:tap="showBoxInf">
|
||||
<image src="../../../images/icon_up.png" mode=""/>
|
||||
<view class="val">收起</view>
|
||||
</view>
|
||||
<view class="btn" wx:if="{{!showBox.vehicle}}" data-fieldName="vehicle" catch:tap="showBoxInf">
|
||||
<image src="../../../images/icon_down.png" mode=""/>
|
||||
<view class="val">展开</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="box" wx:if="{{showBox.vehicle}}">
|
||||
<view class="box-g" wx:for="{{item.vehicleList}}" wx:key="id" wx:for-item="vItem">
|
||||
<view class="row">
|
||||
<view class="flex-between">
|
||||
<view class="left">车牌号</view>
|
||||
<view class="right">{{vItem.plateNumber ? vItem.plateNumber : '/'}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="flex-between">
|
||||
<view class="left">车辆型号</view>
|
||||
<view class="right">{{vItem.vehicleModel ? vItem.vehicleModel : '/'}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="flex-between">
|
||||
<view class="left">车架号</view>
|
||||
<view class="right">{{vItem.frameNumber ? vItem.frameNumber : '/'}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="flex-between">
|
||||
<view class="left">车辆类型</view>
|
||||
<view class="right">{{vItem.vehicleType_dictText ? vItem.vehicleType_dictText : '/'}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="flex-between">
|
||||
<view class="left">品牌</view>
|
||||
<view class="right">{{vItem.vehicleBrand_dictText ? vItem.vehicleBrand_dictText : '/'}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="box-g" wx:if="{{item.vehicleList.length == 0}}">无车辆信息</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="content">
|
||||
<view class="top">
|
||||
<view class="left">
|
||||
<view class="line"></view>
|
||||
<view class="title">验收信息</view>
|
||||
</view>
|
||||
<view class="right">
|
||||
<view class="btn" wx:if="{{showBox.check}}" data-fieldName="check" catch:tap="showBoxInf">
|
||||
<image src="../../../images/icon_up.png" mode=""/>
|
||||
<view class="val">收起</view>
|
||||
</view>
|
||||
<view class="btn" wx:if="{{!showBox.check}}" data-fieldName="check" catch:tap="showBoxInf">
|
||||
<image src="../../../images/icon_down.png" mode=""/>
|
||||
<view class="val">展开</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="box" wx:if="{{showBox.check}}">
|
||||
<view class="box-g" wx:for="{{item.projectList}}" wx:key="index" wx:for-item="pItem">
|
||||
<view class="row">
|
||||
<view class="flex-between">
|
||||
<view class="left">项目</view>
|
||||
<view class="right">{{pItem.name ? pItem.name : '/'}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="flex-between">
|
||||
<view class="left">内容</view>
|
||||
<view class="right">{{pItem.content ? pItem.content : '/'}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="flex-between">
|
||||
<view class="left">是否符合要求</view>
|
||||
<view class="right">{{pItem.checkStatus == '1' ? '是' : '否'}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="flex-between">
|
||||
<view class="left">备注</view>
|
||||
<view class="right">{{pItem.remark ? pItem.remark : '/'}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="box-g" wx:if="{{item.projectList.length == 0}}">无项目信息</view>
|
||||
<view class="row">
|
||||
<view class="flex-between">
|
||||
<view class="left">交车人</view>
|
||||
<view class="right">{{item.sentVehicleUser ? item.sentVehicleUser : '/'}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="flex-between">
|
||||
<view class="left">验车人</view>
|
||||
<view class="right">{{item.checkUserId_dictText ? item.checkUserId_dictText : '/'}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="row">
|
||||
<view class="flex-between">
|
||||
<view class="left">接收人</view>
|
||||
<view class="right">{{item.acceptUserId_dictText ? item.acceptUserId_dictText : '/'}}</view>
|
||||
</view>
|
||||
</view> -->
|
||||
<view class="row">
|
||||
<view class="flex-between">
|
||||
<view class="left">初登时间</view>
|
||||
<view class="right">{{item.registrationTime ? item.registrationTime : '/'}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="flex-between">
|
||||
<view class="left">验车时间</view>
|
||||
<view class="right">{{item.checkTime ? item.checkTime : '/'}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="flex-between">
|
||||
<view class="left">验车地点</view>
|
||||
<view class="right">{{item.checkAddress ? item.checkAddress : '/'}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="flex-between">
|
||||
<view class="left">验收结果</view>
|
||||
<view class="right">{{item.checkStatus == '1' ? '合格' : '不合格'}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="flex-between">
|
||||
<view class="left">验收结论</view>
|
||||
<view class="right">{{item.remark ? item.remark : '/'}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="flex-between noalign-center">
|
||||
<view class="left">验收单</view>
|
||||
<view class="right">
|
||||
<view class="pic-box" wx:if="{{item.ckeckUrl}}">
|
||||
<!-- <image src="{{item.ckeckUrl}}" mode="" catch:tap="previewImg"/> -->
|
||||
<van-uploader
|
||||
file-list="{{ item.ckeckUrlList }}"
|
||||
deletable="{{ false }}"
|
||||
max-count="{{ item.ckeckUrlList.length }}" />
|
||||
</view>
|
||||
<view wx:else="">/</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="row">
|
||||
<view class="flex-between noalign-center">
|
||||
<view class="left">保函</view>
|
||||
<view class="right">
|
||||
<view class="pic-box" wx:if="{{item.ensureUrl}}">
|
||||
<van-uploader
|
||||
file-list="{{ item.ensureUrlList }}"
|
||||
deletable="{{ false }}"
|
||||
max-count="{{ item.ensureUrlList.length }}" />
|
||||
</view>
|
||||
<view wx:else="">/</view>
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
<view class="row">
|
||||
<view class="flex-between noalign-center">
|
||||
<view class="left">其他</view>
|
||||
<view class="right">
|
||||
<view class="pic-box" wx:if="{{item.otherUrl}}">
|
||||
<!-- <image src="{{item.otherUrl}}" mode="" catch:tap="previewImg"/> -->
|
||||
<van-uploader
|
||||
file-list="{{ item.otherUrlList }}"
|
||||
deletable="{{ false }}"
|
||||
max-count="{{ item.otherUrlList.length }}" />
|
||||
</view>
|
||||
<view wx:else="">/</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="bottom">
|
||||
<view class="btn-box">
|
||||
<view class="btn btn1 {{item.status == '1' ? '' : 'btn-w50'}}" catch:tap="toDel">删除</view>
|
||||
<view class="btn btn2 btn-w50" wx:if="{{item.status == '0'}}" catch:tap="toEdit">编辑</view>
|
||||
</view>
|
||||
<van-dialog id="van-dialog" />
|
||||
</view>
|
||||
Reference in New Issue
Block a user