386 lines
7.8 KiB
Vue
386 lines
7.8 KiB
Vue
<!-- 发起订单 -->
|
|
<template>
|
|
<view class="content">
|
|
<view class="c-top">
|
|
<view class="" @click="getback()">
|
|
<uni-icons type="left" size="18"></uni-icons>
|
|
</view>
|
|
<view class="c-title" v-if="type == 'add'">新增设备</view>
|
|
<view class="c-title" v-if="type == 'edit'">编辑设备</view>
|
|
<view class=""></view>
|
|
</view>
|
|
<view class="dil">
|
|
<view class="tinput">
|
|
|
|
<view class="text1" > <text class="hong1">*</text> 设备名称</view>
|
|
<view class="you">
|
|
<input type="text" placeholder="请输入设备名称" v-model="box.equName">
|
|
</view>
|
|
</view>
|
|
<view class="tinput">
|
|
|
|
<view class="text1" > <text class="hong1">*</text> 设备型号</view>
|
|
<view class="you">
|
|
<input type="text" placeholder="请输入设备型号" v-model="box.equModel">
|
|
</view>
|
|
</view>
|
|
<view class="tinput">
|
|
|
|
<view class="text1" > <text class="hong1">*</text> 设备编号</view>
|
|
<view class="you">
|
|
<input type="text" placeholder="请输入设备编号" v-model="box.equNumber">
|
|
</view>
|
|
</view>
|
|
<view class="tinput">
|
|
|
|
<view class="text1" > <text class="hong1">*</text> 设备检定周期</view>
|
|
<view class="you">
|
|
<input type="text" placeholder="请输入设备检定周期" v-model="box.equZq">
|
|
</view>
|
|
</view>
|
|
<view class="tinput">
|
|
|
|
<view class="text1" > <text class="hong1">*</text> 上次检定单位</view>
|
|
<view class="you">
|
|
<input type="text" placeholder="请输入上次检定单位" v-model="box.lastUnit">
|
|
</view>
|
|
</view>
|
|
|
|
|
|
|
|
<view class="tinput" >
|
|
<view class="text1"> <text class="hong1">*</text> 有效期</view>
|
|
<!-- validTime -->
|
|
<view class="you" @click="show = true ">
|
|
<text>{{time|| ''}}</text>
|
|
</view>
|
|
</view>
|
|
<view class="tinput" >
|
|
<view class="text1"> <text class="hong1">*</text> 下次检定时间</view>
|
|
<!-- nextCheckTime -->
|
|
<view class="you" @click="show1 = true ">
|
|
<text>{{time1|| ''}}</text>
|
|
</view>
|
|
</view>
|
|
<u-datetime-picker
|
|
:show="show"
|
|
v-model="box.validTime"
|
|
@cancel="cancels"
|
|
@confirm="confirms"
|
|
mode="date"
|
|
return-type='string'
|
|
></u-datetime-picker>
|
|
<u-datetime-picker
|
|
:show="show1"
|
|
v-model="box.nextCheckTime"
|
|
@cancel="cancels1"
|
|
@confirm="confirms1"
|
|
mode="date"
|
|
return-type='string'
|
|
></u-datetime-picker>
|
|
|
|
|
|
<view class="anniu" @click="getnewsadd()">
|
|
<text>保存</text>
|
|
</view>
|
|
<view style="width: 100%; height: 60px;"></view>
|
|
</view>
|
|
|
|
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import request from '../../utils/request'
|
|
import config from '@/config'
|
|
import { getToken } from '@/utils/auth'
|
|
import upload from '@/utils/upload.js'
|
|
var wvCurrent;
|
|
export default{
|
|
data(){
|
|
return{
|
|
|
|
time:'请选择有效期',
|
|
time1:'请选择下次检定时间',
|
|
value1:'2023-10-10',
|
|
baseUrl:this.$baseUrl,
|
|
show:false,
|
|
show1:false,
|
|
fileId:null,
|
|
id:'',
|
|
type:'add',
|
|
box:{},
|
|
}
|
|
},
|
|
onLoad(option) {
|
|
this.type = option.type
|
|
if(option.type == 'edit'){
|
|
this.box.id = option.id
|
|
}
|
|
|
|
},
|
|
|
|
onShow() {
|
|
if(this.type == 'edit') this.getDetail();
|
|
},
|
|
methods:{
|
|
async getDetail(){
|
|
let res = await request({
|
|
url: '/system/equInfo/'+this.box.id,
|
|
method: 'get'
|
|
})
|
|
if(res.code == 200){
|
|
this.box = res.data
|
|
// this.maneizhi = this.box.type
|
|
this.time = this.box.validTime
|
|
this.time1 = this.box.nextCheckTime
|
|
}
|
|
},
|
|
cancels(){
|
|
this.show = false
|
|
},
|
|
cancels1(){
|
|
this.show1 = false
|
|
},
|
|
confirms(e){
|
|
var timestamp = e.value;
|
|
var date = new Date(timestamp);
|
|
var year = date.getFullYear();
|
|
var month = ("0" + (date.getMonth() + 1)).slice(-2);
|
|
var day = ("0" + date.getDate()).slice(-2);
|
|
var formattedDate = year + "-" + month + "-" + day;
|
|
this.box.validTime = formattedDate
|
|
this.time = formattedDate
|
|
this.show = false
|
|
|
|
},
|
|
confirms1(e){
|
|
var timestamp = e.value;
|
|
var date = new Date(timestamp);
|
|
var year = date.getFullYear();
|
|
var month = ("0" + (date.getMonth() + 1)).slice(-2);
|
|
var day = ("0" + date.getDate()).slice(-2);
|
|
var formattedDate = year + "-" + month + "-" + day;
|
|
this.box.nextCheckTime = formattedDate
|
|
this.time1 = formattedDate
|
|
this.show1 = false
|
|
|
|
},
|
|
//发布按钮
|
|
async getnewsadd(){
|
|
|
|
// if(this.box.filePath==''||this.box.fileName==''||this.box.warnTime==''){
|
|
// uni.showToast({
|
|
// title:'必填项不能有空!',
|
|
// icon:'none'
|
|
// })
|
|
|
|
|
|
|
|
if(this.type == 'add'){
|
|
|
|
let res = await request({
|
|
url: '/system/equInfo/add',
|
|
method: 'post',
|
|
data:this.box
|
|
})
|
|
if(res.code == 200){
|
|
uni.showToast({
|
|
title:'发布成功'
|
|
})
|
|
setTimeout(() => {
|
|
uni.navigateBack({
|
|
delta: 1
|
|
});
|
|
}, 1000);
|
|
}
|
|
}
|
|
if(this.type == 'edit'){
|
|
let res = await request({
|
|
url: '/system/equInfo/edit',
|
|
method: 'post',
|
|
data:this.box
|
|
})
|
|
if(res.code == 200){
|
|
uni.showToast({
|
|
title:'发布成功'
|
|
})
|
|
setTimeout(() => {
|
|
uni.navigateBack({
|
|
delta: 1
|
|
});
|
|
}, 1000);
|
|
|
|
}
|
|
}
|
|
|
|
},
|
|
|
|
getback(){
|
|
uni.navigateBack({
|
|
delta:1,
|
|
})
|
|
},
|
|
|
|
|
|
}
|
|
|
|
}
|
|
</script>
|
|
|
|
<style scoped lang="scss">
|
|
.content{
|
|
width: 100%;
|
|
height: calc(100vh);
|
|
background-color: #F6F6F6;
|
|
box-sizing: border-box;
|
|
// padding-top: 45px;
|
|
}
|
|
|
|
.dil{
|
|
box-sizing: border-box;
|
|
background-color: #F6F6F6;
|
|
padding: 0px 12px;
|
|
|
|
}
|
|
.top-icon{
|
|
margin-bottom: 45px;
|
|
}
|
|
.c-top{
|
|
width: 100%;
|
|
box-sizing: border-box;
|
|
padding: 15px;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
background-color: white;
|
|
padding-top: 40px;
|
|
}
|
|
.c-title{
|
|
font-size: 18px;
|
|
font-weight: bold
|
|
}
|
|
.top{
|
|
box-sizing: border-box;
|
|
padding: 0px 15px;
|
|
width: 100%;
|
|
background-color: white;
|
|
}
|
|
.top-box{
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
box-sizing: border-box;
|
|
padding: 20px 0px;
|
|
}
|
|
.tb-left{
|
|
height: 100%;
|
|
width: 80%;
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
.uicon{
|
|
width: 18px;
|
|
height: 18px;
|
|
border-radius: 4px;
|
|
color: white;
|
|
background: orangered;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
font-size: 12px;
|
|
font-weight: bold;
|
|
margin-right: 6px;
|
|
|
|
}
|
|
.tb-right{
|
|
width: 20px;
|
|
height: 26px;
|
|
|
|
image{
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
}
|
|
.text1{
|
|
font-size: 16px;
|
|
font-weight: bold;
|
|
color: #363636;
|
|
}
|
|
.hong1{
|
|
margin-top: 5px;
|
|
font-size: 12px;
|
|
font-weight: 400;
|
|
color: #FF5453;
|
|
}
|
|
.hong2{
|
|
margin-top: 5px;
|
|
font-size: 12px;
|
|
font-weight: 400;
|
|
|
|
}
|
|
.tinput{
|
|
width: 100%;
|
|
display: flex;
|
|
background: white;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
box-sizing: border-box;
|
|
padding: 16px;
|
|
margin-top: 14px;
|
|
margin-bottom: 14px;
|
|
}
|
|
.xinput{
|
|
width: 100%;
|
|
background: white;
|
|
box-sizing: border-box;
|
|
padding: 16px;
|
|
margin-top: 14px;
|
|
}
|
|
.you{
|
|
text-align: right;
|
|
|
|
}
|
|
.xz{
|
|
margin-top: 10px;
|
|
display: flex;
|
|
align-items: center;
|
|
|
|
}
|
|
.kuang{
|
|
width: 80px;
|
|
height: 23px;
|
|
background: #ECECEC;
|
|
border-radius: 5px;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
color: #666666;
|
|
font-size: 14px;
|
|
margin-right: 15px;
|
|
}
|
|
.xlan{
|
|
background: #CDE7FF !important;
|
|
color: #1D62FF !important;
|
|
border: 1px solid #2A96FE;
|
|
}
|
|
.anniu{
|
|
width: 100%;
|
|
background: linear-gradient(180deg, #3F61C0 0%, #0D2E8D 100%);
|
|
border-radius: 50px ;
|
|
height: 40px;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
color: #542F0E;
|
|
margin-top: 20px;
|
|
color: white;
|
|
|
|
}
|
|
|
|
|
|
button::after {
|
|
border: none;
|
|
}
|
|
</style>
|