flying-monkey/pages/workOrder/workOrder.vue

247 lines
8.7 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<template>
<view class="content">
<statusNav returnColor="#c2c2c2" navBarTitle="处理工单"></statusNav>
<container-subgroup-two>
<view slot="content" style="margin: -20rpx -25rpx 0rpx;">
<view class="work-order-schedule">
<view class="li">
<view class="icon on icon-after">1</view>
<view class="text">签到执行</view>
</view>
<view class="li">
<view class="icon icon-after">2</view>
<view class="text">填写维保单</view>
</view>
<view class="li">
<view class="icon">3</view>
<view class="text">结算审核</view>
</view>
</view>
<view class="work-order-from">
<view class="li">
<view class="title flexs">工单编号</view>
<input type="text" disabled class="input" value="GD20211203-001" />
</view>
<view class="li">
<view class="title flexs">项目编号</view>
<input type="text" disabled class="input" value="GD20211203-001" />
</view>
<view class="li">
<view class="title flexs">项目名称</view>
<input type="text" disabled class="input input-black" value="湖南省林业科学院11楼会议室P2.5" />
</view>
<view class="li">
<view class="title flexs">产品类型</view>
<input type="text" class="input" v-model="productType" placeholder="请填写产品类型" :style="{color: productType!='' ? '#000' : ''}" />
</view>
<view class="li">
<view class="title flexs">安装位置:</view>
<input type="text" class="input" v-model="installLocation" placeholder="请填写安装位置(例:详细地址+某某栋11楼会议室)" :style="{color: installLocation!='' ? '#000' : ''}" />
</view>
<view class="li">
<view class="title flexs">故障类型:</view>
<input type="text" class="input" v-model="faultType" placeholder="请填写故障类型(例:供电不足)" :style="{color: faultType!='' ? '#000' : ''}" />
</view>
<view class="li">
<view class="title flexs">紧急程度:</view>
<input type="text" disabled class="input" placeholder="" value="紧急" />
</view>
<view class="li">
<view class="title flexs"> 故障说明:</view>
<textarea class="input line-h36" v-model="faultExplain" style="height: 110rpx;" placeholder="请输入故障说明" :style="{color: faultExplain!='' ? '#000' : ''}" />
</view>
<view class="li">
<view class="title flexs">故障图片:</view>
<view class="input">
<view v-for="(item,index) in faultImgList" :key="index" v-if="faultImgList.length!=0">
<image class="img" :src="item" mode="aspectFill" ></image>
</view>
<view v-if="faultImgList.length!=2" @tap="chooseImg" class="img disjcac" style="background-color: #DDDDDD;">
<image src="/static/iocn/jia.png" style="width: 80rpx;height: 80rpx;position: relative!important;" lazy-load></image>
</view>
</view>
</view>
</view>
<view class="work-order-from">
<view class="li">
<view class="title flexs">报 单 人:</view>
<input type="text" disabled class="input" placeholder="" value="林某" />
</view>
<view class="li">
<view class="title flexs">报单时间:</view>
<input type="text" disabled disabled class="input" placeholder="" value="2021/12/3 12:00:05" />
</view>
<view class="li">
<view class="title flexs">服务方式:</view>
<input type="text" v-model="serviceMode" class="input input-black" placeholder="请填写服务方式(例:上门服务)" :style="{color: serviceMode!='' ? '#000' : ''}" />
</view>
<view class="li">
<view class="title flexs">定位地址:</view>
<input type="text" disabled class="input" placeholder="定位地址" />
</view>
</view>
<button class="submit-button" @click="goWorkOrderThree()" type="default"></button>
</view>
</container-subgroup-two>
</view>
</template>
<script>
import containerSubgroupTwo from '@/components/containers/container-subgroup-two.vue';
import statusNav from '../../components/status-nav.vue';
import footTabOne from "../../components/foot-tabs/foot-tab-one.vue"
export default {
components: {
footTabOne,
statusNav,
containerSubgroupTwo
},
data() {
return {
productType:'', // 产品类型
installLocation:'', // 安装位置
faultType:'', // 故障类型
faultExplain:'', // 故障说明
faultImgList:[], // 故障图片
serviceMode: '' ,// 服务方式
flag:true
}
},
methods: {
// 上传图片
chooseImg(){
uni.chooseImage({
count:1,
sourceType:['album','camera'],
success: (res) => {
let imgsrc = res.tempFilePaths[0];
this.faultImgList.push(imgsrc);
}
})
},
goWorkOrderThree() {
if(this.checkEmpty()){
if(this.flag) {
this.flag = false;
let params = {
a:this.productType,
b:this.installLocation,
c:this.faultType,
d:this.faultExplain,
f:this.faultImgList.join(','),
e:this.serviceMode
}
console.log(params);
uni.navigateTo({
url: "/pages/workOrder/workorderTwo"
})
}
}
},
// 判空
checkEmpty(){
let result = false;
if(!this.productType) {
this.$toolAll.tools.showToast('请填写产品类型');
} else if(!this.installLocation) {
this.$toolAll.tools.showToast('请填写安装位置');
} else if(!this.faultType) {
this.$toolAll.tools.showToast('请填写故障类型');
} else if(!this.faultExplain) {
this.$toolAll.tools.showToast('请填写故障说明');
} else if(this.faultImgList.length==0) {
this.$toolAll.tools.showToast('请添加故障图片');
} else if(!this.serviceMode) {
this.$toolAll.tools.showToast('请填写服务方式');
} else {
result = true;
}
return result;
}
}
}
</script>
<style>
.submit-button {
margin-top: 60rpx;
}
.work-order-schedule {
display: flex;
padding: 22rpx 29rpx;
margin-top: 10rpx;
background-color: #FFFFFF;
justify-content: space-between;
}
.work-order-schedule .icon {
width: 38rpx;
height: 38rpx;
color: #FFFFFF;
margin: auto;
position: relative;
font-size: 24rpx;
margin-bottom: 10rpx;
text-align: center;
line-height: 38rpx;
background-color: #999999;
border-radius: 50%;
}
.work-order-schedule .on {
background-color: #5391F3
}
.work-order-schedule .text {
font-size: 24rpx;
color: #333333;
}
.work-order-schedule .icon-after::after {
content: "";
width: 265rpx;
height: 2rpx;
background-color: #999999;
position: absolute;
top: 19rpx;
left: 38rpx;
}
.work-order-from {
margin-top: 10rpx;
background-color: #FFFFFF;
}
.work-order-from .li {
display: flex;
padding: 20rpx 40rpx;
border-bottom: 2rpx solid #ececec;
}
.work-order-from .li .title {
font-size: 26rpx;
/* width: 150rpx; */
}
.work-order-from .li .input {
font-size: 24rpx;
color: #8b8b8b;
flex: 1;
padding-left: 15rpx;
display: flex;
}
.work-order-from .li .input .img {
width: 169rpx;
height: 127rpx;
margin-right: 10rpx;
}
.work-order-from .li .input-black {
color: #292929;
}
</style>