zhang_li
11 months ago
23 changed files with 41 additions and 4051 deletions
@ -1,88 +0,0 @@ |
|||||
<template> |
|
||||
<!-- 设备 --> |
|
||||
<view class="work-container"> |
|
||||
<Search @search='search' @screen='screen'/> |
|
||||
<view class="list"> |
|
||||
<view class="item" v-for="index in 6" :key='index'> |
|
||||
<u-image src="https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/unicloudlogo.png" width='160' height="160"> |
|
||||
<template v-slot:error> |
|
||||
<view class="image-error"> |
|
||||
<u-icon name="photo" color="#c7c7c7" size="38"></u-icon> |
|
||||
<view style="font-size: 24rpx;">暂无图片</view> |
|
||||
</view> |
|
||||
</template> |
|
||||
</u-image> |
|
||||
<view class="text"> |
|
||||
<view class="title"> |
|
||||
电梯设备 |
|
||||
</view> |
|
||||
<view class="dec1"> |
|
||||
SB52225456 |
|
||||
</view> |
|
||||
<view class="dec2"> |
|
||||
四厂区二楼三车间 |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
<view style="height: constant(safe-area-inset-bottom); height: env(safe-area-inset-bottom);"></view> |
|
||||
</view> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
export default { |
|
||||
data() { |
|
||||
return { |
|
||||
|
|
||||
} |
|
||||
}, |
|
||||
methods: { |
|
||||
// 搜索 |
|
||||
search(keyWord) { |
|
||||
console.log(keyWord) |
|
||||
}, |
|
||||
// 筛选 |
|
||||
screen() { |
|
||||
console.log(222) |
|
||||
this.$tab.navigateTo(`/pages/device/screen`) |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
|
|
||||
<style lang="scss" scoped> |
|
||||
.list { |
|
||||
padding-bottom: 20rpx; |
|
||||
|
|
||||
.item { |
|
||||
margin-top: 20rpx; |
|
||||
background: white; |
|
||||
padding: 30rpx; |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
|
|
||||
.text{ |
|
||||
margin-left: 20rpx; |
|
||||
.title { |
|
||||
font-size: 32rpx; |
|
||||
font-weight: bold; |
|
||||
} |
|
||||
|
|
||||
.dec1 { |
|
||||
font-size: 28rpx; |
|
||||
margin-top: 16rpx; |
|
||||
color: #acacac; |
|
||||
} |
|
||||
|
|
||||
.dec2 { |
|
||||
font-size: 28rpx; |
|
||||
margin-top: 6rpx; |
|
||||
color: #acacac; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
.image-error{ |
|
||||
text-align: center; |
|
||||
} |
|
||||
</style> |
|
@ -1,242 +0,0 @@ |
|||||
<template> |
|
||||
<!-- 设备 --> |
|
||||
<view class="add-form-container"> |
|
||||
<Form :form='form' :data='data' ref="form1"></Form> |
|
||||
<view class="footer"> |
|
||||
<view class="btns"> |
|
||||
<button class="reset">重置</button> |
|
||||
<button class="sure" @click="submit">确定</button> |
|
||||
</view> |
|
||||
<view style="height: constant(safe-area-inset-bottom); height: env(safe-area-inset-bottom);"></view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
import Form from '@/components/form/index.vue' |
|
||||
export default { |
|
||||
components: { |
|
||||
Form |
|
||||
}, |
|
||||
data() { |
|
||||
return { |
|
||||
form: { |
|
||||
disabled: false, |
|
||||
visible: true, |
|
||||
loading: false, |
|
||||
labelWidth: '180rpx', |
|
||||
border: true, |
|
||||
errorType: ['toast'], |
|
||||
formData: [{ |
|
||||
type: 'text', |
|
||||
field: 'code', |
|
||||
label: '设备编号', |
|
||||
disabled: false, |
|
||||
required: true, |
|
||||
value: '' |
|
||||
}, { |
|
||||
type: 'text', |
|
||||
field: 'name', |
|
||||
label: '设备名称', |
|
||||
disabled: false, |
|
||||
required: true, |
|
||||
value: '' |
|
||||
}, { |
|
||||
type: 'singleColumn', |
|
||||
field: 'location', |
|
||||
label: '存放位置', |
|
||||
list: [{ |
|
||||
label: '位置1', |
|
||||
value: 1 |
|
||||
}, { |
|
||||
label: '位置2', |
|
||||
value: 2 |
|
||||
}, { |
|
||||
label: '位置3', |
|
||||
value: 3 |
|
||||
}] |
|
||||
}, { |
|
||||
type: 'singleColumn', |
|
||||
field: 'type', |
|
||||
label: '设备类型', |
|
||||
list: [{ |
|
||||
label: '类型1', |
|
||||
value: 1 |
|
||||
}, { |
|
||||
label: '类型2', |
|
||||
value: 2 |
|
||||
}, { |
|
||||
label: '类型3', |
|
||||
value: 3 |
|
||||
}] |
|
||||
}, { |
|
||||
type: 'singleColumn', |
|
||||
field: 'dept', |
|
||||
label: '所在部门', |
|
||||
list: [{ |
|
||||
label: '部门1', |
|
||||
value: 1 |
|
||||
}, { |
|
||||
label: '部门2', |
|
||||
value: 2 |
|
||||
}, { |
|
||||
label: '部门3', |
|
||||
value: 3 |
|
||||
}] |
|
||||
}, { |
|
||||
type: 'singleColumn', |
|
||||
field: 'fuzeren', |
|
||||
label: '负责人', |
|
||||
list: [{ |
|
||||
label: '负责人1', |
|
||||
value: 1 |
|
||||
}, { |
|
||||
label: '负责人2', |
|
||||
value: 2 |
|
||||
}, { |
|
||||
label: '负责人3', |
|
||||
value: 3 |
|
||||
}] |
|
||||
}, { |
|
||||
type: 'singleColumn', |
|
||||
field: 'status', |
|
||||
label: '当前状态', |
|
||||
list: [{ |
|
||||
label: '全部', |
|
||||
value: 1 |
|
||||
}, { |
|
||||
label: '报废', |
|
||||
value: 2 |
|
||||
}, { |
|
||||
label: '停用', |
|
||||
value: 3 |
|
||||
}, { |
|
||||
label: '故障', |
|
||||
value: 4 |
|
||||
}, { |
|
||||
label: '正常运行', |
|
||||
value: 5 |
|
||||
}] |
|
||||
}], |
|
||||
rules: { |
|
||||
// 对name字段进行必填验证 |
|
||||
name: [ |
|
||||
{ |
|
||||
min: 5, |
|
||||
message: '简介不能少于5个字', |
|
||||
trigger: 'change' |
|
||||
}, |
|
||||
// 对name字段进行必填验证 |
|
||||
{ |
|
||||
required: true, |
|
||||
message: '请填写姓名', |
|
||||
trigger: ['change', 'blur'] |
|
||||
}, |
|
||||
] |
|
||||
} |
|
||||
}, |
|
||||
data: { |
|
||||
name: '', |
|
||||
sex: 2, |
|
||||
hobby: [1, 2], |
|
||||
open: true, |
|
||||
duoxuan: 3, |
|
||||
time: '2023-12-12 08:00:00' |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
methods: { |
|
||||
// 触发提交表单 |
|
||||
submit() { |
|
||||
console.log('表单数据信息1:', this.data); |
|
||||
this.$refs.form1.$refs.form.validate().then(res => { |
|
||||
console.log('表单数据信息:', res); |
|
||||
}).catch(err => { |
|
||||
console.log('表单错误信息:', err); |
|
||||
}) |
|
||||
}, |
|
||||
// 重置 |
|
||||
reset() { |
|
||||
console.log('表单数据信息1:', this.data); |
|
||||
this.data={} |
|
||||
}, |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
|
|
||||
<style lang="scss" scoped> |
|
||||
.add-form-container { |
|
||||
min-height: calc(100vh - 140rpx); |
|
||||
background: white; |
|
||||
padding: 0px 30rpx 140rpx; |
|
||||
} |
|
||||
.list { |
|
||||
padding-bottom: 20rpx; |
|
||||
|
|
||||
.item { |
|
||||
margin-top: 20rpx; |
|
||||
background: white; |
|
||||
padding: 30rpx; |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
|
|
||||
image { |
|
||||
width: 160rpx; |
|
||||
height: 160rpx; |
|
||||
margin-right: 20rpx; |
|
||||
} |
|
||||
|
|
||||
.title { |
|
||||
font-size: 32rpx; |
|
||||
font-weight: bold; |
|
||||
} |
|
||||
|
|
||||
.dec1 { |
|
||||
font-size: 28rpx; |
|
||||
margin-top: 16rpx; |
|
||||
color: #acacac; |
|
||||
} |
|
||||
|
|
||||
.dec2 { |
|
||||
font-size: 28rpx; |
|
||||
margin-top: 6rpx; |
|
||||
color: #acacac; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
.footer { |
|
||||
position: fixed; |
|
||||
bottom: 0px; |
|
||||
left: 0px; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
.btns { |
|
||||
display: flex; |
|
||||
|
|
||||
|
|
||||
button { |
|
||||
flex: 1; |
|
||||
} |
|
||||
|
|
||||
.sure { |
|
||||
background: #409eff; |
|
||||
color: white; |
|
||||
border-radius: 0px; |
|
||||
|
|
||||
&::after { |
|
||||
border: 1px solid #409eff; |
|
||||
border-radius: 0px; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.reset { |
|
||||
background: #F5F5F5; |
|
||||
border-radius: 0px; |
|
||||
|
|
||||
&::after { |
|
||||
border-radius: 0px; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</style> |
|
@ -1,261 +1,24 @@ |
|||||
<template> |
<template> |
||||
<view class="index-content"> |
<view class="index-content"> |
||||
<u-navbar back-icon-color='#fff' back-icon-name='' :background="{ background: 'rgba(64, 158,255,'+bgOpacity+')'}" back-text="" |
1 |
||||
title-color='#fff' :immersive='true' :border-bottom='false' title="首页"> |
|
||||
<template v-slot:right> |
|
||||
<u-icon name="bell" color="#fff" size="36" style="padding-right: 30rpx;" @click="open('/pages/notaic/index')"></u-icon> |
|
||||
</template> |
|
||||
</u-navbar> |
|
||||
<view class="top"> |
|
||||
<image src="../static/images/mobile_bg.png" class="bg" mode=""></image> |
|
||||
<view class="top-box"> |
|
||||
<view class="number"> |
|
||||
<view class="number-item"> |
|
||||
<view>32</view> |
|
||||
<view>设备总数</view> |
|
||||
</view> |
|
||||
<view class="number-item"> |
|
||||
<view>32</view> |
|
||||
<view>故障中设备</view> |
|
||||
</view> |
|
||||
<view class="number-item"> |
|
||||
<view>32</view> |
|
||||
<view>已报修设备</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
<view class="status"> |
|
||||
<view class="status-item"> |
|
||||
<view>32</view> |
|
||||
<view>待接单</view> |
|
||||
</view> |
|
||||
<view class="status-item"> |
|
||||
<view>32</view> |
|
||||
<view>待验证</view> |
|
||||
</view> |
|
||||
<view class="status-item"> |
|
||||
<view>32</view> |
|
||||
<view>待审核</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
<view class="box"> |
|
||||
<view class="title">设备维护</view> |
|
||||
<u-row gutter="16" style="padding:0px 20rpx ;"> |
|
||||
<u-col span="3"> |
|
||||
<view class="icon-item" @click="open('/pages/workOrderList/index?type=1')"> |
|
||||
<image src="../static/images/icon4.svg" mode=""></image> |
|
||||
<view>设备报修</view> |
|
||||
</view> |
|
||||
</u-col> |
|
||||
<u-col span="3"> |
|
||||
<view class="icon-item" @click="open('/pages/workOrderList/index?type=2')"> |
|
||||
<image src="../static/images/icon5.svg" mode=""></image> |
|
||||
<view>维修工单</view> |
|
||||
</view> |
|
||||
</u-col> |
|
||||
<u-col span="3"> |
|
||||
<view class="icon-item" @click="open('/pages/workOrderList/index?type=3')"> |
|
||||
<image src="../static/images/icon3.svg" mode=""></image> |
|
||||
<view>检修工单</view> |
|
||||
</view> |
|
||||
</u-col> |
|
||||
<u-col span="3"> |
|
||||
<view class="icon-item" @click="open('/pages/workOrderList/index?type=4')"> |
|
||||
<image src="../static/images/icon2.svg" mode=""></image> |
|
||||
<view>点检工单</view> |
|
||||
</view> |
|
||||
</u-col> |
|
||||
<u-col span="3"> |
|
||||
<view class="icon-item" @click="open('/pages/workOrderList/index?type=5')"> |
|
||||
<image src="../static/images/icon1.svg" mode=""></image> |
|
||||
<view>保养工单</view> |
|
||||
</view> |
|
||||
</u-col> |
|
||||
</u-row> |
|
||||
<view class="title">模具维护</view> |
|
||||
<u-row gutter="16"> |
|
||||
<u-col span="3"> |
|
||||
<view class="icon-item" @click="open('/pages/device/deviceRepair/index')"> |
|
||||
<image src="../static/images/icon4.svg" mode=""></image> |
|
||||
<view>设备报修</view> |
|
||||
</view> |
|
||||
</u-col> |
|
||||
<u-col span="3"> |
|
||||
<view class="icon-item" @click="open('/pages/serviceWorkOrderList/index')"> |
|
||||
<image src="../static/images/icon5.svg" mode=""></image> |
|
||||
<view>维修工单</view> |
|
||||
</view> |
|
||||
</u-col> |
|
||||
<u-col span="3"> |
|
||||
<view class="icon-item" @click="open('/pages/overhaulWorkOrderList/index')"> |
|
||||
<image src="../static/images/icon2.svg" mode=""></image> |
|
||||
<view>检修工单</view> |
|
||||
</view> |
|
||||
</u-col> |
|
||||
<u-col span="3"> |
|
||||
<view class="icon-item" @click="open('/pages/maintenWorkOrderList/index')"> |
|
||||
<image src="../static/images/icon1.svg" mode=""></image> |
|
||||
<view>保养工单</view> |
|
||||
</view> |
|
||||
</u-col> |
|
||||
</u-row> |
|
||||
<view class="title">备件管理</view> |
|
||||
<u-row gutter="16"> |
|
||||
<u-col span="3"> |
|
||||
<view class="icon-item" @click="open('/pages/sparePartsApplication/index')"> |
|
||||
<image src="../static/images/icon6.png" mode=""></image> |
|
||||
<view>领用申请</view> |
|
||||
</view> |
|
||||
</u-col> |
|
||||
<u-col span="3"> |
|
||||
<view class="icon-item" @click="open('/pages/sparePartsServiceWorkOrderList/index')"> |
|
||||
<image src="../static/images/icon5.svg" mode=""></image> |
|
||||
<view>维修工单</view> |
|
||||
</view> |
|
||||
</u-col> |
|
||||
</u-row> |
|
||||
</view> |
|
||||
|
|
||||
</view> |
</view> |
||||
</template> |
</template> |
||||
|
|
||||
<script> |
<script> |
||||
export default { data() { |
export default { data() { |
||||
return { |
return { |
||||
bgOpacity: 0, |
|
||||
} |
} |
||||
}, |
}, |
||||
|
|
||||
methods: { |
methods: { |
||||
open(url) { |
|
||||
this.$tab.navigateTo(url) |
|
||||
}, |
|
||||
}, |
}, |
||||
onLoad: function() {}, |
onLoad: function() {}, |
||||
onPageScroll(e) { |
|
||||
if (e.scrollTop > 0) { |
|
||||
this.bgOpacity = e.scrollTop / 200; |
|
||||
} else { |
|
||||
this.bgOpacity = 0 |
|
||||
} |
|
||||
}, |
|
||||
} |
} |
||||
</script> |
</script> |
||||
|
|
||||
<style scoped lang="scss"> |
<style scoped lang="scss"> |
||||
.index-content { |
|
||||
background-color: white; |
|
||||
min-height: 100vh; |
|
||||
} |
|
||||
|
|
||||
.bg { |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
.top { |
|
||||
position: relative; |
|
||||
|
|
||||
image { |
|
||||
height: 410rpx; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.top-box { |
|
||||
position: absolute; |
|
||||
width: 100%; |
|
||||
bottom: 0px; |
|
||||
|
|
||||
.number { |
|
||||
padding: 30rpx 80rpx 50rpx; |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
justify-content: space-between; |
|
||||
|
|
||||
.number-item { |
|
||||
text-align: center; |
|
||||
|
|
||||
view { |
|
||||
&:nth-child(1) { |
|
||||
color: white; |
|
||||
font-size: 40rpx; |
|
||||
font-weight: bold; |
|
||||
} |
|
||||
|
|
||||
&:nth-child(2) { |
|
||||
color: rgba(255, 255, 255, 0.7); |
|
||||
font-size: 28rpx; |
|
||||
margin-top: 10rpx; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.status { |
|
||||
margin: 0px 40rpx; |
|
||||
padding: 40rpx 0rpx; |
|
||||
background: white; |
|
||||
border-radius: 20rpx 20rpx 0px 0px; |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
justify-content: space-between; |
|
||||
|
|
||||
.status-item { |
|
||||
text-align: center; |
|
||||
position: relative; |
|
||||
flex: 1; |
|
||||
|
|
||||
view { |
|
||||
&:nth-child(1) { |
|
||||
color: black; |
|
||||
font-size: 40rpx; |
|
||||
font-weight: bold; |
|
||||
} |
|
||||
|
|
||||
&:nth-child(2) { |
|
||||
color: rgba(0, 0, 0, 0.5); |
|
||||
font-size: 28rpx; |
|
||||
margin-top: 10rpx; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
&::after { |
|
||||
content: ""; |
|
||||
border-right: 1px solid #dedede; |
|
||||
position: absolute; |
|
||||
height: 60rpx; |
|
||||
right: 0px; |
|
||||
top: 50%; |
|
||||
margin-top: -30rpx; |
|
||||
|
|
||||
} |
|
||||
|
|
||||
&:nth-last-child(1)::after { |
|
||||
border: none; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
.box{ |
|
||||
.title{ |
|
||||
font-size: 32rpx; |
|
||||
font-weight: bold; |
|
||||
padding: 50rpx 50rpx 30rpx; |
|
||||
} |
|
||||
.icon-item{ |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
justify-content: center; |
|
||||
flex-direction: column; |
|
||||
margin: 20rpx 0px; |
|
||||
image{ |
|
||||
width: 80rpx; |
|
||||
height: 80rpx; |
|
||||
} |
|
||||
view{ |
|
||||
margin-top: 20rpx; |
|
||||
color: #999999; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</style> |
</style> |
@ -1,225 +1,23 @@ |
|||||
<template> |
<template> |
||||
<view class="normal-login-container"> |
<view class="normal-login-container"> |
||||
|
|
||||
<view class="logo-img"> |
|
||||
<view class="logo-title"> |
|
||||
<view>智慧设备管理综合系统</view> |
|
||||
<view>让设备管理更智能、更高效</view> |
|
||||
</view> |
|
||||
<image src="../static/images/banner/logo-banner.png" mode="widthFix"></image> |
|
||||
</view> |
|
||||
<view class="box"> |
|
||||
<view class="box-shadow"> |
|
||||
|
|
||||
</view> |
|
||||
<view class="logo-content"> |
|
||||
<text class="title">您好,欢迎登录</text> |
|
||||
</view> |
|
||||
<view class="login-form-content"> |
|
||||
<view class="input-item-label">登录账号</view> |
|
||||
<view class="input-item flex align-center"> |
|
||||
<input v-model="loginForm.username" class="input" type="text" placeholder="请输入账号" maxlength="30" /> |
|
||||
</view> |
|
||||
<view class="input-item-label">登录密码</view> |
|
||||
<view class="input-item flex align-center"> |
|
||||
<input v-model="loginForm.password" type="password" class="input" placeholder="请输入密码" maxlength="20" /> |
|
||||
</view> |
|
||||
<Verify @success="pwdLogin" :mode="'pop'" :captchaType="'blockPuzzle'" |
|
||||
:imgSize="{ width: '330px', height: '155px' }" ref="verify"></Verify> |
|
||||
<view class="action-btn"> |
|
||||
<button @click="handleLogin" class="login-btn cu-btn block bg-blue lg ">登录</button> |
|
||||
</view> |
|
||||
</view> |
|
||||
|
|
||||
<view class="xieyi text-center"> |
|
||||
<text class="text-grey1">登录即代表同意</text> |
|
||||
<text @click="handleUserAgrement" class="text-blue">《用户协议》</text> |
|
||||
<text @click="handlePrivacy" class="text-blue">《隐私协议》</text> |
|
||||
</view> |
|
||||
|
|
||||
</view> |
|
||||
</view> |
</view> |
||||
</template> |
</template> |
||||
|
|
||||
<script> |
<script> |
||||
import Verify from "@/components/verifition/Verify" |
|
||||
|
|
||||
export default { |
export default { |
||||
name: 'Login', |
name: 'Login', |
||||
components: { |
|
||||
Verify |
|
||||
}, |
|
||||
data() { |
data() { |
||||
return { |
return { |
||||
captchaEnabled: true, // 验证码开关 TODO 芋艿:需要抽到配置里 |
|
||||
globalConfig: getApp().globalData.config, |
|
||||
loginForm: { |
|
||||
username: "admin", |
|
||||
password: "admin123", |
|
||||
captchaVerification: "" |
|
||||
} |
|
||||
} |
} |
||||
}, |
}, |
||||
methods: { |
methods: { |
||||
// 隐私协议 |
|
||||
handlePrivacy() { |
|
||||
let site = this.globalConfig.appInfo.agreements[0] |
|
||||
this.$tab.navigateTo(`/pages/common/webview/index?title=${site.title}&url=${site.url}`) |
|
||||
}, |
|
||||
// 用户协议 |
|
||||
handleUserAgrement() { |
|
||||
let site = this.globalConfig.appInfo.agreements[1] |
|
||||
this.$tab.navigateTo(`/pages/common/webview/index?title=${site.title}&url=${site.url}`) |
|
||||
}, |
|
||||
// 登录方法 |
|
||||
async handleLogin(params) { |
|
||||
if (this.loginForm.username === "") { |
|
||||
this.$modal.msgError("请输入您的账号") |
|
||||
} else if (this.loginForm.password === "") { |
|
||||
this.$modal.msgError("请输入您的密码") |
|
||||
} else { |
|
||||
this.$tab.reLaunch('/pages/index') |
|
||||
// 显示验证码 |
|
||||
// if (this.captchaEnabled) { |
|
||||
// this.$refs.verify.show() |
|
||||
// } else { // 直接登录 |
|
||||
// await this.pwdLogin({}) |
|
||||
// } |
|
||||
} |
|
||||
}, |
|
||||
// 密码登录 |
|
||||
async pwdLogin(captchaParams) { |
|
||||
this.$modal.loading("登录中,请耐心等待...") |
|
||||
// 执行登录 |
|
||||
this.loginForm.captchaVerification = captchaParams.captchaVerification |
|
||||
this.$store.dispatch('Login', this.loginForm).then(() => { |
|
||||
this.$modal.closeLoading() |
|
||||
this.loginSuccess() |
|
||||
}) |
|
||||
}, |
|
||||
// 登录成功后,处理函数 |
|
||||
loginSuccess(result) { |
|
||||
// 设置用户信息 |
|
||||
this.$store.dispatch('GetInfo').then(res => { |
|
||||
this.$tab.reLaunch('/pages/index') |
|
||||
}) |
|
||||
} |
|
||||
} |
} |
||||
} |
} |
||||
</script> |
</script> |
||||
|
|
||||
<style lang="scss" scoped> |
<style lang="scss" scoped> |
||||
page { |
|
||||
background-color: #ffffff; |
|
||||
} |
|
||||
|
|
||||
.normal-login-container { |
|
||||
width: 100%; |
|
||||
|
|
||||
.logo-content { |
|
||||
width: 100%; |
|
||||
font-size: 40rpx; |
|
||||
padding: 50rpx 80rpx 0rpx; |
|
||||
|
|
||||
.title { |
|
||||
font-weight: bold; |
|
||||
color: #000000; |
|
||||
|
|
||||
} |
|
||||
} |
|
||||
.box{ |
|
||||
position: relative; |
|
||||
} |
|
||||
.box-shadow{ |
|
||||
box-shadow: 0px -10rpx 16rpx rgba(64, 158, 254, 0.5); |
|
||||
width: 100%; |
|
||||
position: absolute; |
|
||||
height: 30rpx; |
|
||||
border-radius: 30rpx 30rpx 0px 0px ; |
|
||||
} |
|
||||
|
|
||||
.logo-img { |
|
||||
background-color: #fafcff; |
|
||||
height: 400rpx; |
|
||||
position: relative; |
|
||||
.logo-title{ |
|
||||
position: absolute; |
|
||||
left: 50rpx; |
|
||||
top: 50rpx; |
|
||||
z-index: 11; |
|
||||
view{ |
|
||||
&:nth-child(1){ |
|
||||
color: #409eff; |
|
||||
font-weight: bold; |
|
||||
font-size: 36rpx; |
|
||||
} |
|
||||
&:nth-child(2){ |
|
||||
color: #999999; |
|
||||
font-size: 24rpx; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
image { |
|
||||
width: 75%; |
|
||||
display: block; |
|
||||
position: absolute; |
|
||||
bottom: 0px; |
|
||||
right: 0px; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.login-form-content { |
|
||||
margin: 40rpx auto; |
|
||||
width: 80%; |
|
||||
|
|
||||
.input-item-label { |
|
||||
font-size: 30rpx; |
|
||||
// font-weight: bold; |
|
||||
color: #888888; |
|
||||
} |
|
||||
|
|
||||
.input-item { |
|
||||
margin: 20rpx auto 40rpx; |
|
||||
border: 1px solid #E4E4E4; |
|
||||
padding: 0px 20rpx; |
|
||||
height: 90rpx; |
|
||||
|
|
||||
.icon { |
|
||||
font-size: 38rpx; |
|
||||
margin-left: 20rpx; |
|
||||
color: #999; |
|
||||
} |
|
||||
|
|
||||
.input { |
|
||||
width: 100%; |
|
||||
font-size: 28rpx; |
|
||||
line-height: 40rpx; |
|
||||
text-align: left; |
|
||||
} |
|
||||
|
|
||||
} |
|
||||
|
|
||||
.login-btn { |
|
||||
margin-top: 80rpx; |
|
||||
height: 80rpx; |
|
||||
background: #409eff; |
|
||||
color: white; |
|
||||
} |
|
||||
|
|
||||
} |
|
||||
|
|
||||
.xieyi { |
|
||||
color: #333; |
|
||||
margin-top: 40rpx; |
|
||||
font-size: 24rpx; |
|
||||
} |
|
||||
|
|
||||
.easyinput { |
|
||||
width: 100%; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.login-code-img { |
|
||||
height: 90rpx; |
|
||||
} |
|
||||
</style> |
</style> |
@ -1,53 +0,0 @@ |
|||||
<template> |
|
||||
<view class=""> |
|
||||
<view class="u-padding-20"> |
|
||||
<view class="box"> |
|
||||
<u-parse :html="content"></u-parse> |
|
||||
</view> |
|
||||
|
|
||||
</view> |
|
||||
<!-- <view class="u-padding-top-30 u-padding-bottom-30 u-padding-left-10 u-padding-right-10"> |
|
||||
<image src="../../static/image/kefu.png" class="kefu" mode="" @click="$call(phone)"></image> |
|
||||
</view> --> |
|
||||
<view style="height: constant(safe-area-inset-bottom); height: env(safe-area-inset-bottom);"></view> |
|
||||
</view> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
export default { |
|
||||
data() { |
|
||||
return { |
|
||||
data:"", |
|
||||
content:"11111111111", |
|
||||
} |
|
||||
}, |
|
||||
onShow() { |
|
||||
}, |
|
||||
methods: { |
|
||||
}, |
|
||||
onReachBottom() { |
|
||||
|
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
|
|
||||
<style lang="scss"> |
|
||||
page { |
|
||||
background: #f8f9fb; |
|
||||
} |
|
||||
|
|
||||
.box { |
|
||||
border-radius: 20rpx; |
|
||||
background: white; |
|
||||
padding: 40rpx 30rpx; |
|
||||
box-shadow: 0px 0px 20rpx rgba(145, 165, 205, 0.5); |
|
||||
} |
|
||||
|
|
||||
.kefu { |
|
||||
width: 100%; |
|
||||
height: 114rpx; |
|
||||
} |
|
||||
/deep/._img{ |
|
||||
display: block!important; |
|
||||
} |
|
||||
</style> |
|
@ -1,149 +0,0 @@ |
|||||
<template> |
|
||||
<view> |
|
||||
<view class="box"> |
|
||||
<view class="item"> |
|
||||
<!-- <image src="../../static/icon/user_password_icon_blue.png"></image> --> |
|
||||
<view class="item2 padd35"> |
|
||||
<input type="text" v-model="old_password" placeholder="请输入原密码" /> |
|
||||
</view> |
|
||||
</view> |
|
||||
<view class="item"> |
|
||||
<!-- <image src="../../static/icon/user_password_icon_red.png"></image> --> |
|
||||
<view class="item2 padd35"> |
|
||||
<input type="text" v-model="newpassword" placeholder="请输入新密码" /> |
|
||||
</view> |
|
||||
</view> |
|
||||
<view class="item"> |
|
||||
<!-- <image src="../../static/icon/user_password_icon.png"></image> --> |
|
||||
<view class="item2 padd35"> |
|
||||
<input type="text" v-model="confirmpassword" placeholder="请确认新密码" /> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
<view class="btn" @click="submit">确认</view> |
|
||||
</view> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
export default { |
|
||||
data() { |
|
||||
return { |
|
||||
newpassword: "", |
|
||||
old_password: "", |
|
||||
confirmpassword: "", |
|
||||
} |
|
||||
}, |
|
||||
|
|
||||
onLoad() { |
|
||||
|
|
||||
}, |
|
||||
onShow() { |
|
||||
|
|
||||
}, |
|
||||
methods: { |
|
||||
submit() { |
|
||||
if(!this.old_password){ |
|
||||
this.$toast('请输入原密码'); |
|
||||
return; |
|
||||
} |
|
||||
if(!this.newpassword){ |
|
||||
this.$toast('请输入新密码'); |
|
||||
return; |
|
||||
} |
|
||||
if(!this.confirmpassword){ |
|
||||
this.$toast('请确认新密码'); |
|
||||
return; |
|
||||
} |
|
||||
if(this.confirmpassword != this.newpassword){ |
|
||||
this.$toast('两次输入的密码不一致,请重新输入'); |
|
||||
return; |
|
||||
} |
|
||||
this.$ajax('editpassword', { |
|
||||
userToken: this.$getSync('userToken'), |
|
||||
newpassword:this.newpassword, |
|
||||
old_password:this.old_password, |
|
||||
confirmpassword:this.confirmpassword, |
|
||||
}).then(ret => { |
|
||||
this.$closeLoading() |
|
||||
if (ret.status == 0) { |
|
||||
this.$alert('修改成功',()=>{ |
|
||||
this.$backT() |
|
||||
}) |
|
||||
} else { |
|
||||
this.$toast(ret.message); |
|
||||
} |
|
||||
}); |
|
||||
}, |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
|
|
||||
<style lang="scss"> |
|
||||
page { |
|
||||
background-color: #f8f9fb; |
|
||||
} |
|
||||
|
|
||||
.box { |
|
||||
width: 94vw; |
|
||||
margin: 20rpx auto; |
|
||||
border-radius: 20rpx; |
|
||||
overflow: hidden; |
|
||||
} |
|
||||
|
|
||||
.item { |
|
||||
background-color: #FFFFFF; |
|
||||
padding: 0rpx 30rpx; |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
|
|
||||
image { |
|
||||
width: 44rpx; |
|
||||
height: 44rpx; |
|
||||
margin-right: 30rpx; |
|
||||
} |
|
||||
|
|
||||
.item2 { |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
justify-content: space-between; |
|
||||
flex: 1; |
|
||||
border-bottom: 1rpx solid #efefef; |
|
||||
padding: 25rpx 0rpx; |
|
||||
|
|
||||
input { |
|
||||
font-size: 28rpx; |
|
||||
} |
|
||||
|
|
||||
view { |
|
||||
color: #1a4f9f; |
|
||||
border: 1rpx solid #1a4f9f; |
|
||||
font-size: 30rpx; |
|
||||
border-radius: 50rpx; |
|
||||
padding: 10rpx 18rpx; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
} |
|
||||
|
|
||||
.btn { |
|
||||
width: calc(100vw - 80rpx); |
|
||||
position: fixed; |
|
||||
bottom: 200rpx; |
|
||||
left: 40rpx; |
|
||||
background-color: rgb(64, 158, 255); |
|
||||
color: #FFFFFF; |
|
||||
height: 90rpx; |
|
||||
line-height: 90rpx; |
|
||||
text-align: center; |
|
||||
border-radius: 50rpx; |
|
||||
font-size: 32rpx; |
|
||||
} |
|
||||
|
|
||||
.noborder { |
|
||||
border-bottom: none !important; |
|
||||
} |
|
||||
|
|
||||
.padd35 { |
|
||||
padding: 35rpx 0 !important; |
|
||||
} |
|
||||
</style> |
|
@ -1,200 +0,0 @@ |
|||||
<template> |
|
||||
<view class="mine-container" :style="{height: `${windowHeight}px`}"> |
|
||||
<!--顶部个人信息栏--> |
|
||||
<view class="header-section"> |
|
||||
<view class="flex padding justify-between"> |
|
||||
<view class="flex align-center"> |
|
||||
<view v-if="!avatar" class="cu-avatar xl round bg-white"> |
|
||||
<view class="iconfont icon-people text-gray icon"></view> |
|
||||
</view> |
|
||||
<image v-if="avatar" @click="handleToAvatar" :src="avatar" class="cu-avatar xl round" mode="widthFix"> |
|
||||
</image> |
|
||||
<!-- <view v-if="!name" @click="handleToLogin" class="login-tip"> |
|
||||
点击登录 |
|
||||
</view> --> |
|
||||
<view @click="handleToInfo" class="user-info"> |
|
||||
<view class="u_title"> |
|
||||
<span>用户名:找刚子</span> 部门主任 |
|
||||
</view> |
|
||||
<view class="u_dept"> |
|
||||
生产部门 |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
<!-- <view @click="handleToInfo" class="flex align-center"> |
|
||||
<text>个人信息</text> |
|
||||
<view class="iconfont icon-right"></view> |
|
||||
</view> --> |
|
||||
</view> |
|
||||
</view> |
|
||||
|
|
||||
<view class="content-section"> |
|
||||
<view class="mine-actions grid col-4 text-center"> |
|
||||
<view class="action-item" @click="handleJiaoLiuQun"> |
|
||||
<image src="../../static/images/banner/icon1.png" mode="widthFix"></image> |
|
||||
<text class="text">我的报修</text> |
|
||||
</view> |
|
||||
<view class="action-item" @click="handleBuilding"> |
|
||||
<image src="../../static/images/banner/icon2.png" mode="widthFix"></image> |
|
||||
<text class="text">我的维修</text> |
|
||||
</view> |
|
||||
<view class="action-item" @click="handleBuilding"> |
|
||||
<image src="../../static/images/banner/icon3.png" mode="widthFix"></image> |
|
||||
<text class="text">我的保养</text> |
|
||||
</view> |
|
||||
<view class="action-item" @click="handleBuilding"> |
|
||||
<image src="../../static/images/banner/icon4.png" mode="widthFix"></image> |
|
||||
<text class="text">巡检点检</text> |
|
||||
</view> |
|
||||
</view> |
|
||||
|
|
||||
<view class="menu-list"> |
|
||||
<view class="list-cell list-cell-arrow" @click="handleToEditInfo"> |
|
||||
<view class="menu-item-box"> |
|
||||
<u-icon name="lock" color="#2979ff" size="32"></u-icon> |
|
||||
<view style="margin-left: 10rpx;">修改密码</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
<view class="list-cell list-cell-arrow" @click="handleHelp"> |
|
||||
<view class="menu-item-box"> |
|
||||
<!-- <view class="iconfont icon-help menu-icon"></view> --> |
|
||||
<u-icon name="info-circle" color="#2979ff" size="32"></u-icon> |
|
||||
<view style="margin-left: 10rpx;">版本更新</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
<view class="list-cell list-cell-arrow" @click="handleAbout"> |
|
||||
<view class="menu-item-box"> |
|
||||
<u-icon name="heart" color="#2979ff" size="32"></u-icon> |
|
||||
<view style="margin-left: 10rpx;">关于我们</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
|
|
||||
</view> |
|
||||
</view> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
import storage from '@/utils/storage' |
|
||||
|
|
||||
export default { |
|
||||
data() { |
|
||||
return { |
|
||||
name: this.$store.state.user.name, |
|
||||
version: getApp().globalData.config.appInfo.version |
|
||||
} |
|
||||
}, |
|
||||
computed: { |
|
||||
avatar() { |
|
||||
return this.$store.state.user.avatar |
|
||||
}, |
|
||||
windowHeight() { |
|
||||
return uni.getSystemInfoSync().windowHeight - 50 |
|
||||
} |
|
||||
}, |
|
||||
methods: { |
|
||||
handleToInfo() { |
|
||||
this.$tab.navigateTo('/pages/mine/info/index') |
|
||||
}, |
|
||||
handleToEditInfo() { |
|
||||
this.$tab.navigateTo('/pages/mine/changePassword') |
|
||||
}, |
|
||||
handleToSetting() { |
|
||||
this.$tab.navigateTo('/pages/mine/setting/index') |
|
||||
}, |
|
||||
handleToLogin() { |
|
||||
this.$tab.reLaunch('/pages/login') |
|
||||
}, |
|
||||
handleToAvatar() { |
|
||||
this.$tab.navigateTo('/pages/mine/avatar/index') |
|
||||
}, |
|
||||
handleLogout() { |
|
||||
this.$modal.confirm('确定注销并退出系统吗?').then(() => { |
|
||||
this.$store.dispatch('LogOut').then(() => { |
|
||||
this.$tab.reLaunch('/pages/index') |
|
||||
}) |
|
||||
}) |
|
||||
}, |
|
||||
handleHelp() { |
|
||||
this.$tab.navigateTo('/pages/mine/help/index') |
|
||||
}, |
|
||||
handleAbout() { |
|
||||
this.$tab.navigateTo('/pages/mine/aboutUs') |
|
||||
}, |
|
||||
handleJiaoLiuQun() { |
|
||||
this.$modal.showToast('微信搜索 naidaguo 后,添加好友后拉你进技术交流群') |
|
||||
}, |
|
||||
handleBuilding() { |
|
||||
this.$modal.showToast('模块建设中~') |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
|
|
||||
<style lang="scss"> |
|
||||
page { |
|
||||
background-color: #f5f6f7; |
|
||||
} |
|
||||
|
|
||||
.mine-container { |
|
||||
width: 100%; |
|
||||
height: 100%; |
|
||||
|
|
||||
|
|
||||
.header-section { |
|
||||
padding: 30rpx 30rpx 90rpx 30rpx; |
|
||||
background-color: #409eff; |
|
||||
color: white; |
|
||||
|
|
||||
.login-tip { |
|
||||
font-size: 36rpx; |
|
||||
margin-left: 20rpx; |
|
||||
} |
|
||||
|
|
||||
.cu-avatar { |
|
||||
border: 4rpx solid #eaeaea; |
|
||||
|
|
||||
.icon { |
|
||||
font-size: 80rpx; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.user-info { |
|
||||
margin-left: 30rpx; |
|
||||
|
|
||||
.u_title { |
|
||||
line-height: 60rpx; |
|
||||
span{ |
|
||||
font-size: 36rpx; |
|
||||
line-height: 60rpx; |
|
||||
margin-right: 20rpx; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.content-section { |
|
||||
position: relative; |
|
||||
top: -100rpx; |
|
||||
|
|
||||
.mine-actions { |
|
||||
margin: 30rpx 30rpx; |
|
||||
padding: 40rpx 0px; |
|
||||
border-radius: 16rpx; |
|
||||
background-color: white; |
|
||||
|
|
||||
.action-item { |
|
||||
image { |
|
||||
width: 60rpx; |
|
||||
} |
|
||||
|
|
||||
.text { |
|
||||
display: block; |
|
||||
font-size: 26rpx; |
|
||||
margin: 16rpx 0px; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</style> |
|
@ -1,22 +0,0 @@ |
|||||
<template> |
|
||||
<view class="work-container"> |
|
||||
1 |
|
||||
</view> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
export default { |
|
||||
data() { |
|
||||
return { |
|
||||
|
|
||||
} |
|
||||
}, |
|
||||
methods: { |
|
||||
|
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
|
|
||||
<style lang="scss"> |
|
||||
|
|
||||
</style> |
|
@ -1,139 +0,0 @@ |
|||||
<template> |
|
||||
<view class="notaic"> |
|
||||
<u-navbar back-icon-color='#fff' :background="{ background: '#409eff'}" back-text="" title-color='#fff' |
|
||||
title="系统消息"> |
|
||||
<template v-slot:right> |
|
||||
<view class="clear">清除未读</view> |
|
||||
</template> |
|
||||
</u-navbar> |
|
||||
<view class="tab"> |
|
||||
<view class="tab-box"> |
|
||||
<view class="tab-item" :class="tabIndex == 0 ? 'active' : ''" @click="tab(0)"> |
|
||||
全部 |
|
||||
</view> |
|
||||
<view class="tab-item" :class="tabIndex == 1 ? 'active' : ''" @click="tab(1)"> |
|
||||
已读 |
|
||||
</view> |
|
||||
<view class="tab-item" :class="tabIndex == 2 ? 'active' : ''" @click="tab(2)"> |
|
||||
未读 |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
<view class="list"> |
|
||||
<view class="item"> |
|
||||
<view class="time"> |
|
||||
<view class="red"></view> |
|
||||
<view class="text">2024-12-12 08:00:00</view> |
|
||||
<u-icon name="arrow-right" color="#c1c1c1" size="28"></u-icon> |
|
||||
</view> |
|
||||
<view class="dec"> |
|
||||
您有一个保养任务,请及时处理。 |
|
||||
</view> |
|
||||
<view class="type"> |
|
||||
消息类型 <span>保养任务</span> |
|
||||
</view> |
|
||||
<view class="type"> |
|
||||
任务时间 <span>2023-06-02 09:00~2023-06-02 09:00</span> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
import storage from '@/utils/storage' |
|
||||
|
|
||||
export default { |
|
||||
data() { |
|
||||
return { |
|
||||
tabIndex: 0 |
|
||||
} |
|
||||
}, |
|
||||
|
|
||||
methods: { |
|
||||
tab(index) { |
|
||||
this.tabIndex = index |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
|
|
||||
<style lang="scss" scoped> |
|
||||
.clear { |
|
||||
color: white; |
|
||||
padding-right: 20rpx |
|
||||
} |
|
||||
|
|
||||
.tab { |
|
||||
position: fixed; |
|
||||
width: 100%; |
|
||||
background: white; |
|
||||
padding: 20rpx 30rpx; |
|
||||
} |
|
||||
|
|
||||
.tab-box { |
|
||||
border-radius: 16rpx; |
|
||||
border: 1px solid #409eff; |
|
||||
display: flex; |
|
||||
justify-content: space-between; |
|
||||
align-items: center; |
|
||||
overflow: hidden; |
|
||||
|
|
||||
.tab-item { |
|
||||
flex: 1; |
|
||||
border-right: 1px solid #409eff; |
|
||||
color: #409eff; |
|
||||
height: 70rpx; |
|
||||
line-height: 70rpx; |
|
||||
text-align: center; |
|
||||
|
|
||||
&:nth-last-child(1) { |
|
||||
border: none; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.active { |
|
||||
background: #409eff; |
|
||||
color: white; |
|
||||
} |
|
||||
} |
|
||||
.list{ |
|
||||
padding: 140rpx 30rpx 20rpx ; |
|
||||
.item{ |
|
||||
background: white; |
|
||||
border-radius: 16rpx; |
|
||||
.time{ |
|
||||
display: flex; |
|
||||
padding: 20rpx 30rpx; |
|
||||
border-bottom: 1px solid #e4e4e4; |
|
||||
position: relative; |
|
||||
.red{ |
|
||||
position: absolute; |
|
||||
left: 16rpx; |
|
||||
top: 50%; |
|
||||
width: 6rpx; |
|
||||
height: 6rpx; |
|
||||
background: red; |
|
||||
border-radius: 50%; |
|
||||
margin-top: -3rpx; |
|
||||
} |
|
||||
.text{ |
|
||||
color: #717171; |
|
||||
width: 0px; |
|
||||
flex: 1; |
|
||||
} |
|
||||
} |
|
||||
.dec{ |
|
||||
padding: 30rpx; |
|
||||
} |
|
||||
.type{ |
|
||||
padding:0px 30rpx 20rpx; |
|
||||
color: #888888; |
|
||||
span{ |
|
||||
color: #000; |
|
||||
margin-left: 20rpx; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</style> |
|
@ -1,94 +0,0 @@ |
|||||
<template> |
|
||||
<!-- 设备 --> |
|
||||
<view class="work-container"> |
|
||||
<Search @search='search' @screen='screen'/> |
|
||||
<view class="list"> |
|
||||
<view class="item" v-for="index in 6" :key='index'> |
|
||||
<u-image src="https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/unicloudlogo.png" width='160' height="160"> |
|
||||
<template v-slot:error> |
|
||||
<view class="image-error"> |
|
||||
<u-icon name="photo" color="#c7c7c7" size="38"></u-icon> |
|
||||
<view style="font-size: 24rpx;">暂无图片</view> |
|
||||
</view> |
|
||||
</template> |
|
||||
</u-image> |
|
||||
<view class="text"> |
|
||||
<view class="title"> |
|
||||
备件025 |
|
||||
</view> |
|
||||
<view class="dec1"> |
|
||||
备件编码:SB52225456 |
|
||||
</view> |
|
||||
<view class="dec2"> |
|
||||
规格型号:SB52225456 |
|
||||
</view> |
|
||||
<view class="dec2"> |
|
||||
总库存:25 |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
import Search from '../../components/search/index.vue' |
|
||||
export default { |
|
||||
components: { |
|
||||
Search |
|
||||
}, |
|
||||
data() { |
|
||||
return { |
|
||||
|
|
||||
} |
|
||||
}, |
|
||||
methods: { |
|
||||
// 搜索 |
|
||||
search(keyWord) { |
|
||||
console.log(keyWord) |
|
||||
}, |
|
||||
// 筛选 |
|
||||
screen() { |
|
||||
console.log(222) |
|
||||
this.$tab.navigateTo(`/pages/spareParts/screen`) |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
|
|
||||
<style lang="scss" scoped> |
|
||||
.list { |
|
||||
padding-bottom: 20rpx; |
|
||||
|
|
||||
.item { |
|
||||
margin-top: 20rpx; |
|
||||
background: white; |
|
||||
padding: 30rpx; |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
|
|
||||
.text{ |
|
||||
margin-left: 20rpx; |
|
||||
.title { |
|
||||
font-size: 32rpx; |
|
||||
font-weight: bold; |
|
||||
} |
|
||||
|
|
||||
.dec1 { |
|
||||
font-size: 28rpx; |
|
||||
margin-top: 16rpx; |
|
||||
color: #acacac; |
|
||||
} |
|
||||
|
|
||||
.dec2 { |
|
||||
font-size: 28rpx; |
|
||||
margin-top: 6rpx; |
|
||||
color: #acacac; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
.image-error{ |
|
||||
text-align: center; |
|
||||
} |
|
||||
</style> |
|
@ -1,149 +0,0 @@ |
|||||
<template> |
|
||||
<!-- 设备 --> |
|
||||
<view class="add-form-container"> |
|
||||
<Form :form='form' :data='data'></Form> |
|
||||
</view> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
import Form from '@/components/form/index.vue' |
|
||||
export default { |
|
||||
components: { |
|
||||
Form |
|
||||
}, |
|
||||
data() { |
|
||||
return { |
|
||||
form: { |
|
||||
disabled: false, |
|
||||
visible: true, |
|
||||
loading: false, |
|
||||
labelWidth: '180rpx', |
|
||||
border: true, |
|
||||
errorType: ['toast'], |
|
||||
formData: [{ |
|
||||
type: 'text', |
|
||||
field: 'code', |
|
||||
label: '备件编号', |
|
||||
disabled: false, |
|
||||
required: true, |
|
||||
value: '' |
|
||||
}, { |
|
||||
type: 'text', |
|
||||
field: 'name', |
|
||||
label: '备件名称', |
|
||||
disabled: false, |
|
||||
required: true, |
|
||||
value: '' |
|
||||
}, { |
|
||||
type: 'singleColumn', |
|
||||
field: 'type', |
|
||||
label: '设备类型', |
|
||||
list: [{ |
|
||||
label: '类型1', |
|
||||
value: 1 |
|
||||
}, { |
|
||||
label: '类型2', |
|
||||
value: 2 |
|
||||
}, { |
|
||||
label: '类型3', |
|
||||
value: 3 |
|
||||
}] |
|
||||
}, { |
|
||||
type: 'singleColumn', |
|
||||
field: 'dept', |
|
||||
label: '设备单位', |
|
||||
list: [{ |
|
||||
label: '部门1', |
|
||||
value: 1 |
|
||||
}, { |
|
||||
label: '部门2', |
|
||||
value: 2 |
|
||||
}, { |
|
||||
label: '部门3', |
|
||||
value: 3 |
|
||||
}] |
|
||||
}, { |
|
||||
type: 'range', |
|
||||
field: 'min', |
|
||||
label: '当前库存', |
|
||||
placeholder:'请输入' |
|
||||
}, { |
|
||||
type: 'range', |
|
||||
field: 'min', |
|
||||
label: '当前库存', |
|
||||
placeholder:'请输入' |
|
||||
}], |
|
||||
rules: { |
|
||||
// 对name字段进行必填验证 |
|
||||
name: [ |
|
||||
{ |
|
||||
min: 5, |
|
||||
message: '简介不能少于5个字', |
|
||||
trigger: 'change' |
|
||||
}, |
|
||||
// 对name字段进行必填验证 |
|
||||
{ |
|
||||
required: true, |
|
||||
message: '请填写姓名', |
|
||||
trigger: ['change', 'blur'] |
|
||||
}, |
|
||||
] |
|
||||
} |
|
||||
}, |
|
||||
data: { |
|
||||
name: '', |
|
||||
sex: 2, |
|
||||
hobby: [1, 2], |
|
||||
open: true, |
|
||||
duoxuan: 3, |
|
||||
time: '2023-12-12 08:00:00' |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
methods: { |
|
||||
|
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
|
|
||||
<style lang="scss" scoped> |
|
||||
.add-form-container { |
|
||||
min-height: calc(100vh - 140rpx); |
|
||||
background: white; |
|
||||
padding: 0px 30rpx 140rpx; |
|
||||
} |
|
||||
.list { |
|
||||
padding-bottom: 20rpx; |
|
||||
|
|
||||
.item { |
|
||||
margin-top: 20rpx; |
|
||||
background: white; |
|
||||
padding: 30rpx; |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
|
|
||||
image { |
|
||||
width: 160rpx; |
|
||||
height: 160rpx; |
|
||||
margin-right: 20rpx; |
|
||||
} |
|
||||
|
|
||||
.title { |
|
||||
font-size: 32rpx; |
|
||||
font-weight: bold; |
|
||||
} |
|
||||
|
|
||||
.dec1 { |
|
||||
font-size: 28rpx; |
|
||||
margin-top: 16rpx; |
|
||||
color: #acacac; |
|
||||
} |
|
||||
|
|
||||
.dec2 { |
|
||||
font-size: 28rpx; |
|
||||
margin-top: 6rpx; |
|
||||
color: #acacac; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</style> |
|
@ -1,283 +0,0 @@ |
|||||
<template> |
|
||||
<!-- 设备 --> |
|
||||
<view class="add-form-container"> |
|
||||
<Form :form='form' :data='data' ref="form1"></Form> |
|
||||
<SparePartsCard :subForm='subForm' :data='data' @addSubForm='addSubForm' @delSubFormItem='delSubFormItem'> |
|
||||
</SparePartsCard> |
|
||||
<view class="footer"> |
|
||||
<view class="btns"> |
|
||||
<button class="sure" @click="submit">提交</button> |
|
||||
</view> |
|
||||
<view style="height: constant(safe-area-inset-bottom); height: env(safe-area-inset-bottom);"></view> |
|
||||
</view> |
|
||||
<u-popup v-model="isPopupShow" mode="center" border-radius="14"> |
|
||||
<view class="popup-title">添加备件</view> |
|
||||
<view class="popup"> |
|
||||
<Form :form='subForm' :data='data' ref="form2"></Form> |
|
||||
</view> |
|
||||
<view class="popup-footer"> |
|
||||
<view @click="cancle">取消</view> |
|
||||
<view class="sure" @click="addSpare">确认</view> |
|
||||
</view> |
|
||||
</u-popup> |
|
||||
</view> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
import Form from '@/components/form/index.vue' |
|
||||
import SparePartsCard from '@/components/sparePartsCard/index.vue' |
|
||||
export default { |
|
||||
components: { |
|
||||
Form, |
|
||||
SparePartsCard |
|
||||
}, |
|
||||
data() { |
|
||||
return { |
|
||||
form: { |
|
||||
disabled: false, |
|
||||
visible: true, |
|
||||
loading: false, |
|
||||
labelWidth: '180rpx', |
|
||||
border: true, |
|
||||
errorType: ['toast'], |
|
||||
formData: [{ |
|
||||
type: 'text', |
|
||||
field: 'code', |
|
||||
label: '申请主题', |
|
||||
disabled: false, |
|
||||
required: true, |
|
||||
value: '' |
|
||||
}, { |
|
||||
type: 'singleColumn', |
|
||||
field: 'type', |
|
||||
label: '申请类型', |
|
||||
disabled: false, |
|
||||
required: true, |
|
||||
list: [{ |
|
||||
label: '类型1', |
|
||||
value: 1 |
|
||||
}, { |
|
||||
label: '类型2', |
|
||||
value: 2 |
|
||||
}, { |
|
||||
label: '类型3', |
|
||||
value: 3 |
|
||||
}] |
|
||||
}], |
|
||||
}, |
|
||||
data: { |
|
||||
name: '', |
|
||||
subList: [{ |
|
||||
name: '备件111111', |
|
||||
stork: '1', |
|
||||
number: '30', |
|
||||
}, { |
|
||||
name: '备件111111', |
|
||||
stork: '1', |
|
||||
number: '30', |
|
||||
}] |
|
||||
}, |
|
||||
subForm: { |
|
||||
formLabel: '申请备件', |
|
||||
formField: 'subList', |
|
||||
required: true, |
|
||||
isShowButton: true, |
|
||||
disabled: false, |
|
||||
visible: true, |
|
||||
loading: false, |
|
||||
labelWidth: '180rpx', |
|
||||
border: true, |
|
||||
errorType: ['toast'], |
|
||||
formData: [{ |
|
||||
type: 'singleColumn', |
|
||||
field: 'name', |
|
||||
label: '备件名称', |
|
||||
disabled: false, |
|
||||
required: true, |
|
||||
span: 12, |
|
||||
list: [{ |
|
||||
label: '类型1', |
|
||||
value: 1 |
|
||||
}, { |
|
||||
label: '类型2', |
|
||||
value: 2 |
|
||||
}, { |
|
||||
label: '类型3', |
|
||||
value: 3 |
|
||||
}] |
|
||||
}, { |
|
||||
type: 'text', |
|
||||
field: 'stork', |
|
||||
label: '库存', |
|
||||
disabled: false, |
|
||||
required: true, |
|
||||
isList: true, |
|
||||
span: 6 |
|
||||
}, { |
|
||||
type: 'text', |
|
||||
field: 'number', |
|
||||
label: '数量', |
|
||||
disabled: false, |
|
||||
required: true, |
|
||||
isList: true, |
|
||||
span: 6 |
|
||||
}], |
|
||||
}, |
|
||||
isPopupShow: false, |
|
||||
|
|
||||
|
|
||||
} |
|
||||
}, |
|
||||
methods: { |
|
||||
// 触发提交表单 |
|
||||
submit() { |
|
||||
console.log('表单数据信息1:', this.data); |
|
||||
this.$refs.form1.$refs.form.validate().then(res => { |
|
||||
console.log('表单数据信息:', res); |
|
||||
}).catch(err => { |
|
||||
console.log('表单错误信息:', err); |
|
||||
}) |
|
||||
console.log(this.data.subList) |
|
||||
let isTrue = this.data.subList.some(item => { |
|
||||
return !item.name || item.number === '' |
|
||||
}) |
|
||||
if (isTrue) { |
|
||||
this.$modal.showToast('申请备件信息请填写完全') |
|
||||
return; |
|
||||
} |
|
||||
|
|
||||
}, |
|
||||
// 重置 |
|
||||
reset() { |
|
||||
console.log('表单数据信息1:', this.data); |
|
||||
this.data = {} |
|
||||
}, |
|
||||
// 添加表格表单 |
|
||||
addSubForm() { |
|
||||
console.log(5) |
|
||||
this.isPopupShow = true |
|
||||
// this.data.subList.push({ |
|
||||
// name:1, |
|
||||
// stork:2, |
|
||||
// number:'300' |
|
||||
// }) |
|
||||
}, |
|
||||
// 添加备件 |
|
||||
addSpare(){ |
|
||||
// this.data.subList |
|
||||
this.$refs.form2.$refs.form.validate().then(res => { |
|
||||
console.log('表单数据信息:', res); |
|
||||
}).catch(err => { |
|
||||
console.log('表单错误信息:', err); |
|
||||
}) |
|
||||
}, |
|
||||
// 取消添加备件 |
|
||||
cancle(){ |
|
||||
this.isPopupShow = false |
|
||||
}, |
|
||||
delTableFormItem(index) { |
|
||||
this.data.subList.splice(index, 1) |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
|
|
||||
<style lang="scss" scoped> |
|
||||
.add-form-container { |
|
||||
min-height: calc(100vh - 140rpx); |
|
||||
background: white; |
|
||||
padding: 0px 30rpx 140rpx; |
|
||||
} |
|
||||
|
|
||||
.list { |
|
||||
padding-bottom: 20rpx; |
|
||||
|
|
||||
.item { |
|
||||
margin-top: 20rpx; |
|
||||
background: white; |
|
||||
padding: 30rpx; |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
|
|
||||
image { |
|
||||
width: 160rpx; |
|
||||
height: 160rpx; |
|
||||
margin-right: 20rpx; |
|
||||
} |
|
||||
|
|
||||
.title { |
|
||||
font-size: 32rpx; |
|
||||
font-weight: bold; |
|
||||
} |
|
||||
|
|
||||
.dec1 { |
|
||||
font-size: 28rpx; |
|
||||
margin-top: 16rpx; |
|
||||
color: #acacac; |
|
||||
} |
|
||||
|
|
||||
.dec2 { |
|
||||
font-size: 28rpx; |
|
||||
margin-top: 6rpx; |
|
||||
color: #acacac; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.footer { |
|
||||
position: fixed; |
|
||||
bottom: 0px; |
|
||||
left: 0px; |
|
||||
width: 100%; |
|
||||
background: white; |
|
||||
} |
|
||||
|
|
||||
.btns { |
|
||||
display: flex; |
|
||||
|
|
||||
padding: 20rpx; |
|
||||
box-shadow: 0px -2rpx 20rpx rgba(0, 0, 0, 0.1); |
|
||||
|
|
||||
|
|
||||
button { |
|
||||
flex: 1; |
|
||||
} |
|
||||
|
|
||||
.sure { |
|
||||
background: #409eff; |
|
||||
color: white; |
|
||||
border-radius: 8rpx; |
|
||||
|
|
||||
&::after { |
|
||||
border: 1px solid #409eff; |
|
||||
border-radius: 0px; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.popup-title { |
|
||||
text-align: center; |
|
||||
font-size: 32rpx; |
|
||||
font-weight: bold; |
|
||||
color: #409eff; |
|
||||
padding: 30rpx |
|
||||
} |
|
||||
|
|
||||
.popup { |
|
||||
width: 600rpx; |
|
||||
padding: 0rpx 60rpx 0rpx; |
|
||||
|
|
||||
} |
|
||||
.popup-footer{ |
|
||||
display: flex; |
|
||||
border-top: 1px solid #e4e4e4; |
|
||||
view{ |
|
||||
line-height: 100rpx; |
|
||||
flex: 1; |
|
||||
text-align: center; |
|
||||
&.sure{ |
|
||||
color: #409eff; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</style> |
|
@ -1,149 +0,0 @@ |
|||||
<template> |
|
||||
<!-- 备件领用申请 --> |
|
||||
<view class="container"> |
|
||||
<u-navbar back-icon-color='#fff' :background="{ background: '#409eff'}" back-text="" title-color='#fff' |
|
||||
title="备件领用申请"> |
|
||||
<template v-slot:right> |
|
||||
<u-icon name="plus" color="#fff" size="36" style="padding-right: 30rpx;" @click="addForm"></u-icon> |
|
||||
</template> |
|
||||
</u-navbar> |
|
||||
<Search @search='search' @screen='screen' /> |
|
||||
<view class="list"> |
|
||||
<view class="item" v-for="(item,index) in data.list" :key="index"> |
|
||||
<view class="title"> |
|
||||
<view class="title-txt"> |
|
||||
{{item.title}} |
|
||||
</view> |
|
||||
<view class="time" v-if="data.isShowTime"> |
|
||||
2023-12-12 08:00:00 |
|
||||
</view> |
|
||||
</view> |
|
||||
<view class="dec" v-for="(cur,key) in labelList" :key="key"> |
|
||||
{{cur.label}}:<span>{{item[cur.field]}}</span> |
|
||||
</view> |
|
||||
<view class="bottom" v-if="data.isShowStatus"> |
|
||||
<view class="status"> |
|
||||
<u-tag text="待领取" v-if="item.status==1" bg-color='rgba(255,255,255,0)' color='#fe8463' border-color='#fe8463' type="primary" shape='circle'/> |
|
||||
<u-tag text="撤单" v-else-if="item.status==2" bg-color='rgba(255,255,255,0)' color='#d7d7d7' border-color='#d7d7d7 ' type="warning" shape='circle'/> |
|
||||
<u-tag text="待执行" v-else-if="item.status==3" bg-color='rgba(255,255,255,0)' color='#e01f54' border-color='#e01f54' type="success" shape='circle'/> |
|
||||
<u-tag text="维修中" v-else-if="item.status==4" bg-color='rgba(255,255,255,0)' color='#005eaa' border-color='#005eaa ' type="error" shape='circle'/> |
|
||||
<u-tag text="待验证" v-else-if="item.status==5" bg-color='rgba(255,255,255,0)' color='#2EC7C9' border-color='#2EC7C9' type="info" shape='circle'/> |
|
||||
<u-tag text="已完成" v-else-if="item.status==6" bg-color='rgba(255,255,255,0)' color='#2ba471' border-color='#2ba471' type="info" shape='circle'/> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
<view style="height: constant(safe-area-inset-bottom); height: env(safe-area-inset-bottom);"></view> |
|
||||
</view> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
export default { |
|
||||
data() { |
|
||||
return { |
|
||||
labelList: [{ |
|
||||
label: '申请单号', |
|
||||
field: 'dec1', |
|
||||
}, { |
|
||||
label: '申请类型', |
|
||||
field: 'dec2', |
|
||||
}, { |
|
||||
label: ' 申 请 人', |
|
||||
field: 'dec3', |
|
||||
}], |
|
||||
data: { |
|
||||
isShowTime: true, |
|
||||
isShowStatus: true, |
|
||||
list: [{ |
|
||||
title: '备件002领用', |
|
||||
dec1: '维修领用', |
|
||||
dec2: '刘冰雨', |
|
||||
status: 6 |
|
||||
}, { |
|
||||
title: '设备报修205245', |
|
||||
dec1: 'BX-20224648', |
|
||||
dec2: 'BX-20224648', |
|
||||
dec3: 'BX-20224648', |
|
||||
dec4: 'BX-20224648', |
|
||||
dec5: 'BX-20224648', |
|
||||
time: '2023-12-12 06:00:00', |
|
||||
status: 2 |
|
||||
}, { |
|
||||
title: '设备报修205245', |
|
||||
dec1: 'BX-20224648', |
|
||||
dec2: 'BX-20224648', |
|
||||
dec3: 'BX-20224648', |
|
||||
dec4: 'BX-20224648', |
|
||||
dec5: 'BX-20224648', |
|
||||
time: '2023-12-12 06:00:00', |
|
||||
status: 3 |
|
||||
}, { |
|
||||
title: '设备报修205245', |
|
||||
dec1: 'BX-20224648', |
|
||||
dec2: 'BX-20224648', |
|
||||
dec3: 'BX-20224648', |
|
||||
dec4: 'BX-20224648', |
|
||||
dec5: 'BX-20224648', |
|
||||
time: '2023-12-12 06:00:00', |
|
||||
status: 4 |
|
||||
}] |
|
||||
} |
|
||||
|
|
||||
} |
|
||||
}, |
|
||||
methods: { |
|
||||
// 筛选 |
|
||||
screen() { |
|
||||
this.$tab.navigateTo(`/pages/sparePartsApplication/screen`) |
|
||||
}, |
|
||||
addForm() { |
|
||||
this.$tab.navigateTo(`/pages/sparePartsApplication/addForm`) |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
|
|
||||
<style lang="scss" scoped> |
|
||||
|
|
||||
.list{ |
|
||||
background: #f5f5f5; |
|
||||
margin-top: 20rpx; |
|
||||
.item{ |
|
||||
padding: 30rpx 30rpx 0px 30rpx; |
|
||||
margin-top: 20rpx; |
|
||||
background: white; |
|
||||
position: relative; |
|
||||
.title{ |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
padding-bottom: 20rpx; |
|
||||
.title-txt{ |
|
||||
color: #409eff; |
|
||||
font-weight: bold; |
|
||||
font-size: 36rpx; |
|
||||
width: 0px; |
|
||||
flex: 1; |
|
||||
} |
|
||||
.time{ |
|
||||
color: #919191; |
|
||||
|
|
||||
} |
|
||||
} |
|
||||
.dec{ |
|
||||
padding-bottom: 20rpx; |
|
||||
span{ |
|
||||
color: #999999; |
|
||||
} |
|
||||
} |
|
||||
.last{ |
|
||||
padding-bottom: 30rpx; |
|
||||
} |
|
||||
.bottom{ |
|
||||
position: absolute; |
|
||||
right: 30rpx; |
|
||||
bottom:40rpx; |
|
||||
|
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</style> |
|
@ -1,188 +0,0 @@ |
|||||
<template> |
|
||||
<!-- 设备 --> |
|
||||
<view class="add-form-container"> |
|
||||
<Form :form='form' :data='data' ref="form1"></Form> |
|
||||
<view class="footer"> |
|
||||
<view class="btns"> |
|
||||
<button class="reset" @click="reset">重置</button> |
|
||||
<button class="sure" @click="submit">确定</button> |
|
||||
</view> |
|
||||
<view style="height: constant(safe-area-inset-bottom); height: env(safe-area-inset-bottom);"></view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
import Form from '@/components/form/index.vue' |
|
||||
export default { |
|
||||
components: { |
|
||||
Form |
|
||||
}, |
|
||||
data() { |
|
||||
return { |
|
||||
form: { |
|
||||
disabled: false, |
|
||||
visible: true, |
|
||||
loading: false, |
|
||||
labelWidth: '180rpx', |
|
||||
border: true, |
|
||||
errorType: ['toast'], |
|
||||
formData: [{ |
|
||||
type: 'text', |
|
||||
field: 'code', |
|
||||
label: '申请主题', |
|
||||
disabled: false, |
|
||||
required: true, |
|
||||
value: '' |
|
||||
}, { |
|
||||
type: 'singleColumn', |
|
||||
field: 'type', |
|
||||
label: '申请类型', |
|
||||
disabled: false, |
|
||||
required: true, |
|
||||
list: [{ |
|
||||
label: '类型1', |
|
||||
value: 1 |
|
||||
}, { |
|
||||
label: '类型2', |
|
||||
value: 2 |
|
||||
}, { |
|
||||
label: '类型3', |
|
||||
value: 3 |
|
||||
}] |
|
||||
}, { |
|
||||
type: 'singleColumn', |
|
||||
field: 'type1', |
|
||||
label: '备件类型', |
|
||||
list: [{ |
|
||||
label: '类型1', |
|
||||
value: 1 |
|
||||
}, { |
|
||||
label: '类型2', |
|
||||
value: 2 |
|
||||
}, { |
|
||||
label: '类型3', |
|
||||
value: 3 |
|
||||
}] |
|
||||
}, { |
|
||||
type: 'datetime', |
|
||||
field: 'datetime', |
|
||||
label: '申请时间', |
|
||||
}, { |
|
||||
type: 'singleColumn', |
|
||||
field: 'type', |
|
||||
label: '申请人', |
|
||||
disabled: false, |
|
||||
required: true, |
|
||||
list: [{ |
|
||||
label: '申请人1', |
|
||||
value: 1 |
|
||||
}, { |
|
||||
label: '申请人2', |
|
||||
value: 2 |
|
||||
}, { |
|
||||
label: '申请人3', |
|
||||
value: 3 |
|
||||
}] |
|
||||
}], |
|
||||
}, |
|
||||
data: { |
|
||||
name: '', |
|
||||
sex: 2, |
|
||||
hobby: [1, 2], |
|
||||
open: true, |
|
||||
duoxuan: 3, |
|
||||
time: '2023-12-12 08:00:00' |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
methods: { |
|
||||
// 触发提交表单 |
|
||||
submit() { |
|
||||
}, |
|
||||
// 重置 |
|
||||
reset() { |
|
||||
console.log('表单数据信息1:', this.data); |
|
||||
this.data={} |
|
||||
}, |
|
||||
|
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
|
|
||||
<style lang="scss" scoped> |
|
||||
.add-form-container { |
|
||||
min-height: calc(100vh - 140rpx); |
|
||||
background: white; |
|
||||
padding: 0px 30rpx 140rpx; |
|
||||
} |
|
||||
.list { |
|
||||
padding-bottom: 20rpx; |
|
||||
|
|
||||
.item { |
|
||||
margin-top: 20rpx; |
|
||||
background: white; |
|
||||
padding: 30rpx; |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
|
|
||||
image { |
|
||||
width: 160rpx; |
|
||||
height: 160rpx; |
|
||||
margin-right: 20rpx; |
|
||||
} |
|
||||
|
|
||||
.title { |
|
||||
font-size: 32rpx; |
|
||||
font-weight: bold; |
|
||||
} |
|
||||
|
|
||||
.dec1 { |
|
||||
font-size: 28rpx; |
|
||||
margin-top: 16rpx; |
|
||||
color: #acacac; |
|
||||
} |
|
||||
|
|
||||
.dec2 { |
|
||||
font-size: 28rpx; |
|
||||
margin-top: 6rpx; |
|
||||
color: #acacac; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
.footer { |
|
||||
position: fixed; |
|
||||
bottom: 0px; |
|
||||
left: 0px; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
.btns { |
|
||||
display: flex; |
|
||||
|
|
||||
|
|
||||
button { |
|
||||
flex: 1; |
|
||||
} |
|
||||
|
|
||||
.sure { |
|
||||
background: #409eff; |
|
||||
color: white; |
|
||||
border-radius: 0px; |
|
||||
|
|
||||
&::after { |
|
||||
border: 1px solid #409eff; |
|
||||
border-radius: 0px; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.reset { |
|
||||
background: #F5F5F5; |
|
||||
border-radius: 0px; |
|
||||
|
|
||||
&::after { |
|
||||
border-radius: 0px; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</style> |
|
@ -1,261 +0,0 @@ |
|||||
<template> |
|
||||
<!-- 设备 --> |
|
||||
<view class="work-container"> |
|
||||
<Form :form='form' :data='data' ref="form1" @tableFormSingleColumn='tableFormSingleColumn' |
|
||||
@addTableFormItem='addTableFormItem' @delTableFormItem='delTableFormItem'></Form> |
|
||||
<view class="footer"> |
|
||||
<view class="btns"> |
|
||||
<button class="reset" @click="reset">重置</button> |
|
||||
<button class="sure" @click="submit">确定</button> |
|
||||
</view> |
|
||||
<view style="height: constant(safe-area-inset-bottom); height: env(safe-area-inset-bottom);"></view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
import Form from '@/components/form/index.vue' |
|
||||
export default { |
|
||||
components: { |
|
||||
Form |
|
||||
}, |
|
||||
data() { |
|
||||
return { |
|
||||
form: { |
|
||||
disabled: false, |
|
||||
visible: true, |
|
||||
loading: false, |
|
||||
labelWidth: '180rpx', |
|
||||
border: true, |
|
||||
errorType: ['toast'], |
|
||||
formData: [{ |
|
||||
type: 'text', |
|
||||
field: 'code', |
|
||||
label: '申请主题', |
|
||||
disabled: false, |
|
||||
required: true, |
|
||||
value: '' |
|
||||
}, { |
|
||||
type: 'singleColumn', |
|
||||
field: 'type', |
|
||||
label: '申请类型', |
|
||||
disabled: false, |
|
||||
required: true, |
|
||||
list: [{ |
|
||||
label: '类型1', |
|
||||
value: 1 |
|
||||
}, { |
|
||||
label: '类型2', |
|
||||
value: 2 |
|
||||
}, { |
|
||||
label: '类型3', |
|
||||
value: 3 |
|
||||
}] |
|
||||
}, { |
|
||||
type: 'tableForm', |
|
||||
field: 'subList', |
|
||||
labelPosition: 'top', |
|
||||
label: '申请备件', |
|
||||
disabled: false, |
|
||||
required: true, |
|
||||
tableThlist: [{ |
|
||||
label: '备用名称', |
|
||||
field: 'name', |
|
||||
type: 'singleColumn', |
|
||||
disabled: false, |
|
||||
required: true, |
|
||||
list: 'list' |
|
||||
}, { |
|
||||
label: '库存', |
|
||||
field: 'stork', |
|
||||
type: 'singleColumn', |
|
||||
disabled: false, |
|
||||
required: true, |
|
||||
list: 'list1' |
|
||||
}, { |
|
||||
label: '申请数量', |
|
||||
field: 'number', |
|
||||
type: 'number', |
|
||||
disabled: false, |
|
||||
required: true, |
|
||||
}] |
|
||||
}], |
|
||||
rules: { |
|
||||
// 对name字段进行必填验证 |
|
||||
name: [{ |
|
||||
min: 5, |
|
||||
message: '简介不能少于5个字', |
|
||||
trigger: 'change' |
|
||||
}, |
|
||||
// 对name字段进行必填验证 |
|
||||
{ |
|
||||
required: true, |
|
||||
message: '请填写姓名', |
|
||||
trigger: ['change', 'blur'] |
|
||||
}, |
|
||||
] |
|
||||
} |
|
||||
}, |
|
||||
data: { |
|
||||
name: '', |
|
||||
subList: [{ |
|
||||
name: 1, |
|
||||
stork: '1', |
|
||||
number: '', |
|
||||
inputType: 'singleColumn', |
|
||||
list: [{ |
|
||||
value: 1, |
|
||||
label: '哈哈' |
|
||||
}, { |
|
||||
value: 2, |
|
||||
label: '呵呵' |
|
||||
}], |
|
||||
list1: [{ |
|
||||
value: 1, |
|
||||
label: '哈哈1111' |
|
||||
}, { |
|
||||
value: 2, |
|
||||
label: '呵呵111' |
|
||||
}], |
|
||||
}] |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
methods: { |
|
||||
// 触发提交表单 |
|
||||
submit() { |
|
||||
console.log('表单数据信息1:', this.data); |
|
||||
this.$refs.form1.$refs.form.validate().then(res => { |
|
||||
console.log('表单数据信息:', res); |
|
||||
}).catch(err => { |
|
||||
console.log('表单错误信息:', err); |
|
||||
}) |
|
||||
console.log(this.data.subList) |
|
||||
let isTrue = this.data.subList.some(item => { |
|
||||
return !item.name || item.number === '' |
|
||||
}) |
|
||||
if (isTrue) { |
|
||||
this.$modal.showToast('申请备件信息请填写完全') |
|
||||
return; |
|
||||
} |
|
||||
|
|
||||
}, |
|
||||
// 重置 |
|
||||
reset() { |
|
||||
console.log('表单数据信息1:', this.data); |
|
||||
this.data = {} |
|
||||
}, |
|
||||
// 表格表单组件方法 |
|
||||
tableFormSingleColumn(field, tableFormField, tableFormVal) { |
|
||||
console.log(field) |
|
||||
console.log(tableFormField) |
|
||||
console.log(tableFormVal) |
|
||||
}, |
|
||||
// 添加表格表单 |
|
||||
addTableFormItem() { |
|
||||
this.data.subList.push({ |
|
||||
name: 1, |
|
||||
stork: 2, |
|
||||
number: '300', |
|
||||
inputType: 'singleColumn', |
|
||||
list: [{ |
|
||||
value: 1, |
|
||||
label: '哈哈额' |
|
||||
}, { |
|
||||
value: 2, |
|
||||
label: '呵呵额' |
|
||||
}], |
|
||||
list1: [{ |
|
||||
value: 1, |
|
||||
label: '哈哈222' |
|
||||
}, { |
|
||||
value: 2, |
|
||||
label: '呵呵333' |
|
||||
}], |
|
||||
}) |
|
||||
}, |
|
||||
delTableFormItem(index) { |
|
||||
this.data.subList.splice(index, 1) |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
|
|
||||
<style lang="scss" scoped> |
|
||||
.add-form-container { |
|
||||
min-height: calc(100vh - 140rpx); |
|
||||
background: white; |
|
||||
padding: 0px 30rpx 140rpx; |
|
||||
} |
|
||||
|
|
||||
.list { |
|
||||
padding-bottom: 20rpx; |
|
||||
|
|
||||
.item { |
|
||||
margin-top: 20rpx; |
|
||||
background: white; |
|
||||
padding: 30rpx; |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
|
|
||||
image { |
|
||||
width: 160rpx; |
|
||||
height: 160rpx; |
|
||||
margin-right: 20rpx; |
|
||||
} |
|
||||
|
|
||||
.title { |
|
||||
font-size: 32rpx; |
|
||||
font-weight: bold; |
|
||||
} |
|
||||
|
|
||||
.dec1 { |
|
||||
font-size: 28rpx; |
|
||||
margin-top: 16rpx; |
|
||||
color: #acacac; |
|
||||
} |
|
||||
|
|
||||
.dec2 { |
|
||||
font-size: 28rpx; |
|
||||
margin-top: 6rpx; |
|
||||
color: #acacac; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.footer { |
|
||||
position: fixed; |
|
||||
bottom: 0px; |
|
||||
left: 0px; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
.btns { |
|
||||
display: flex; |
|
||||
|
|
||||
|
|
||||
button { |
|
||||
flex: 1; |
|
||||
} |
|
||||
|
|
||||
.sure { |
|
||||
background: #409eff; |
|
||||
color: white; |
|
||||
border-radius: 0px; |
|
||||
|
|
||||
&::after { |
|
||||
border: 1px solid #409eff; |
|
||||
border-radius: 0px; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.reset { |
|
||||
background: #F5F5F5; |
|
||||
border-radius: 0px; |
|
||||
|
|
||||
&::after { |
|
||||
border-radius: 0px; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</style> |
|
@ -1,88 +0,0 @@ |
|||||
<template> |
|
||||
<!-- 备件维修工单 --> |
|
||||
<view class="container"> |
|
||||
<u-navbar back-icon-color='#fff' :background="{ background: '#409eff'}" back-text="" title-color='#fff' |
|
||||
title="备件维修工单"> |
|
||||
<template v-slot:right> |
|
||||
<u-icon name="plus" color="#fff" size="36" style="padding-right: 30rpx;" @click="addForm"></u-icon> |
|
||||
</template> |
|
||||
</u-navbar> |
|
||||
<Search @search='search' @screen='screen' /> |
|
||||
<sparePartsApplicationList :data="data" :labelList='labelList'></sparePartsApplicationList> |
|
||||
<view style="height: constant(safe-area-inset-bottom); height: env(safe-area-inset-bottom);"></view> |
|
||||
</view> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
import sparePartsApplicationList from '@/components/sparePartsApplicationList/index.vue' |
|
||||
export default { |
|
||||
components: { |
|
||||
sparePartsApplicationList |
|
||||
}, |
|
||||
data() { |
|
||||
return { |
|
||||
labelList: [{ |
|
||||
label: '申请单号', |
|
||||
field: 'dec1', |
|
||||
}, { |
|
||||
label: '申请类型', |
|
||||
field: 'dec2', |
|
||||
}, { |
|
||||
label: ' 申 请 人', |
|
||||
field: 'dec3', |
|
||||
}], |
|
||||
data: { |
|
||||
isShowTime: true, |
|
||||
isShowStatus: true, |
|
||||
list: [{ |
|
||||
title: '备件002领用', |
|
||||
dec1: '维修领用', |
|
||||
dec2: '刘冰雨', |
|
||||
status: 6 |
|
||||
}, { |
|
||||
title: '设备报修205245', |
|
||||
dec1: 'BX-20224648', |
|
||||
dec2: 'BX-20224648', |
|
||||
dec3: 'BX-20224648', |
|
||||
dec4: 'BX-20224648', |
|
||||
dec5: 'BX-20224648', |
|
||||
time: '2023-12-12 06:00:00', |
|
||||
status: 2 |
|
||||
}, { |
|
||||
title: '设备报修205245', |
|
||||
dec1: 'BX-20224648', |
|
||||
dec2: 'BX-20224648', |
|
||||
dec3: 'BX-20224648', |
|
||||
dec4: 'BX-20224648', |
|
||||
dec5: 'BX-20224648', |
|
||||
time: '2023-12-12 06:00:00', |
|
||||
status: 3 |
|
||||
}, { |
|
||||
title: '设备报修205245', |
|
||||
dec1: 'BX-20224648', |
|
||||
dec2: 'BX-20224648', |
|
||||
dec3: 'BX-20224648', |
|
||||
dec4: 'BX-20224648', |
|
||||
dec5: 'BX-20224648', |
|
||||
time: '2023-12-12 06:00:00', |
|
||||
status: 4 |
|
||||
}] |
|
||||
} |
|
||||
|
|
||||
} |
|
||||
}, |
|
||||
methods: { |
|
||||
// 筛选 |
|
||||
screen() { |
|
||||
this.$tab.navigateTo(`/pages/sparePartsApplication/screen`) |
|
||||
}, |
|
||||
addForm() { |
|
||||
this.$tab.navigateTo(`/pages/sparePartsApplication/addForm`) |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
|
|
||||
<style lang="scss" scoped> |
|
||||
|
|
||||
</style> |
|
@ -1,211 +0,0 @@ |
|||||
<template> |
|
||||
<!-- 设备 --> |
|
||||
<view class="add-form-container"> |
|
||||
<Form :form='form' :data='data' ref="form1"></Form> |
|
||||
<view class="footer"> |
|
||||
<view class="btns"> |
|
||||
<button class="reset" @click="reset">重置</button> |
|
||||
<button class="sure" @click="submit">确定</button> |
|
||||
</view> |
|
||||
<view style="height: constant(safe-area-inset-bottom); height: env(safe-area-inset-bottom);"></view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
import Form from '@/components/form/index.vue' |
|
||||
export default { |
|
||||
components: { |
|
||||
Form |
|
||||
}, |
|
||||
data() { |
|
||||
return { |
|
||||
form: { |
|
||||
disabled: false, |
|
||||
visible: true, |
|
||||
loading: false, |
|
||||
labelWidth: '180rpx', |
|
||||
border: true, |
|
||||
errorType: ['toast'], |
|
||||
formData: [{ |
|
||||
type: 'text', |
|
||||
field: 'code', |
|
||||
label: '申请主题', |
|
||||
disabled: false, |
|
||||
required: true, |
|
||||
value: '' |
|
||||
}, { |
|
||||
type: 'singleColumn', |
|
||||
field: 'type', |
|
||||
label: '申请类型', |
|
||||
disabled: false, |
|
||||
required: true, |
|
||||
list: [{ |
|
||||
label: '类型1', |
|
||||
value: 1 |
|
||||
}, { |
|
||||
label: '类型2', |
|
||||
value: 2 |
|
||||
}, { |
|
||||
label: '类型3', |
|
||||
value: 3 |
|
||||
}] |
|
||||
}, { |
|
||||
type: 'singleColumn', |
|
||||
field: 'type1', |
|
||||
label: '备件类型', |
|
||||
list: [{ |
|
||||
label: '类型1', |
|
||||
value: 1 |
|
||||
}, { |
|
||||
label: '类型2', |
|
||||
value: 2 |
|
||||
}, { |
|
||||
label: '类型3', |
|
||||
value: 3 |
|
||||
}] |
|
||||
}, { |
|
||||
type: 'datetime', |
|
||||
field: 'datetime', |
|
||||
label: '申请时间', |
|
||||
}, { |
|
||||
type: 'singleColumn', |
|
||||
field: 'type', |
|
||||
label: '申请人', |
|
||||
disabled: false, |
|
||||
required: true, |
|
||||
list: [{ |
|
||||
label: '申请人1', |
|
||||
value: 1 |
|
||||
}, { |
|
||||
label: '申请人2', |
|
||||
value: 2 |
|
||||
}, { |
|
||||
label: '申请人3', |
|
||||
value: 3 |
|
||||
}] |
|
||||
}], |
|
||||
rules: { |
|
||||
// 对name字段进行必填验证 |
|
||||
name: [ |
|
||||
{ |
|
||||
min: 5, |
|
||||
message: '简介不能少于5个字', |
|
||||
trigger: 'change' |
|
||||
}, |
|
||||
// 对name字段进行必填验证 |
|
||||
{ |
|
||||
required: true, |
|
||||
message: '请填写姓名', |
|
||||
trigger: ['change', 'blur'] |
|
||||
}, |
|
||||
] |
|
||||
} |
|
||||
}, |
|
||||
data: { |
|
||||
name: '', |
|
||||
sex: 2, |
|
||||
hobby: [1, 2], |
|
||||
open: true, |
|
||||
duoxuan: 3, |
|
||||
time: '2023-12-12 08:00:00' |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
methods: { |
|
||||
// 触发提交表单 |
|
||||
submit() { |
|
||||
console.log('表单数据信息1:', this.data); |
|
||||
this.$refs.form1.$refs.form.validate().then(res => { |
|
||||
console.log('表单数据信息:', res); |
|
||||
}).catch(err => { |
|
||||
console.log('表单错误信息:', err); |
|
||||
}) |
|
||||
}, |
|
||||
// 重置 |
|
||||
reset() { |
|
||||
console.log('表单数据信息1:', this.data); |
|
||||
this.data={} |
|
||||
}, |
|
||||
|
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
|
|
||||
<style lang="scss" scoped> |
|
||||
.add-form-container { |
|
||||
min-height: calc(100vh - 140rpx); |
|
||||
background: white; |
|
||||
padding: 0px 30rpx 140rpx; |
|
||||
} |
|
||||
|
|
||||
.list { |
|
||||
padding-bottom: 20rpx; |
|
||||
|
|
||||
.item { |
|
||||
margin-top: 20rpx; |
|
||||
background: white; |
|
||||
padding: 30rpx; |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
|
|
||||
image { |
|
||||
width: 160rpx; |
|
||||
height: 160rpx; |
|
||||
margin-right: 20rpx; |
|
||||
} |
|
||||
|
|
||||
.title { |
|
||||
font-size: 32rpx; |
|
||||
font-weight: bold; |
|
||||
} |
|
||||
|
|
||||
.dec1 { |
|
||||
font-size: 28rpx; |
|
||||
margin-top: 16rpx; |
|
||||
color: #acacac; |
|
||||
} |
|
||||
|
|
||||
.dec2 { |
|
||||
font-size: 28rpx; |
|
||||
margin-top: 6rpx; |
|
||||
color: #acacac; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
.footer { |
|
||||
position: fixed; |
|
||||
bottom: 0px; |
|
||||
left: 0px; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
.btns { |
|
||||
display: flex; |
|
||||
|
|
||||
|
|
||||
button { |
|
||||
flex: 1; |
|
||||
} |
|
||||
|
|
||||
.sure { |
|
||||
background: #409eff; |
|
||||
color: white; |
|
||||
border-radius: 0px; |
|
||||
|
|
||||
&::after { |
|
||||
border: 1px solid #409eff; |
|
||||
border-radius: 0px; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.reset { |
|
||||
background: #F5F5F5; |
|
||||
border-radius: 0px; |
|
||||
|
|
||||
&::after { |
|
||||
border-radius: 0px; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</style> |
|
@ -1,211 +0,0 @@ |
|||||
<template> |
|
||||
<!-- 设备 --> |
|
||||
<view class="add-form-container"> |
|
||||
<Form :form='form' :data='data' ref="form1"></Form> |
|
||||
<view class="footer"> |
|
||||
<view class="btns"> |
|
||||
<button class="reset" @click="reset">重置</button> |
|
||||
<button class="sure" @click="submit">确定</button> |
|
||||
</view> |
|
||||
<view style="height: constant(safe-area-inset-bottom); height: env(safe-area-inset-bottom);"></view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
import Form from '@/components/form/index.vue' |
|
||||
export default { |
|
||||
components: { |
|
||||
Form |
|
||||
}, |
|
||||
data() { |
|
||||
return { |
|
||||
form: { |
|
||||
disabled: false, |
|
||||
visible: true, |
|
||||
loading: false, |
|
||||
labelWidth: '180rpx', |
|
||||
border: true, |
|
||||
errorType: ['toast'], |
|
||||
formData: [{ |
|
||||
type: 'text', |
|
||||
field: 'code', |
|
||||
label: '报修主题', |
|
||||
disabled: false, |
|
||||
required: true, |
|
||||
value: '' |
|
||||
}, { |
|
||||
type: 'text', |
|
||||
field: 'name', |
|
||||
label: '设备名称', |
|
||||
disabled: false, |
|
||||
required: true, |
|
||||
value: '', |
|
||||
isRightButton: '扫描' |
|
||||
}, { |
|
||||
type: 'text', |
|
||||
field: 'location', |
|
||||
label: '存放位置', |
|
||||
}, { |
|
||||
type: 'singleColumn', |
|
||||
field: 'type', |
|
||||
label: '紧急程度', |
|
||||
required: true, |
|
||||
list: [{ |
|
||||
label: '程度1', |
|
||||
value: 1 |
|
||||
}, { |
|
||||
label: '程度2', |
|
||||
value: 2 |
|
||||
}, { |
|
||||
label: '程度3', |
|
||||
value: 3 |
|
||||
}] |
|
||||
}, { |
|
||||
type: 'text', |
|
||||
field: 'location', |
|
||||
label: '故障描述', |
|
||||
}], |
|
||||
}, |
|
||||
data: { |
|
||||
name: '', |
|
||||
sex: 2, |
|
||||
hobby: [1, 2], |
|
||||
open: true, |
|
||||
duoxuan: 3, |
|
||||
time: '2023-12-12 08:00:00' |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
methods: { |
|
||||
// 触发提交表单 |
|
||||
submit() { |
|
||||
// 校验 |
|
||||
for (let i = 0; i < this.form.formData.length; i++) { |
|
||||
if (this.form.formData[i].required === true) { |
|
||||
if (!this.data[this.form.formData[i].field]) { |
|
||||
let placeholder = '请输入' |
|
||||
if (this.form.formData[i].type == 'text' || this.form.formData[i].type == 'textarea') { |
|
||||
placeholder = '请输入' |
|
||||
} else { |
|
||||
placeholder = '请选择' |
|
||||
} |
|
||||
this.$modal.showToast(placeholder + this.form.formData[i].label) |
|
||||
return; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
console.log('表单数据信息1:', this.data); |
|
||||
}, |
|
||||
// 重置 |
|
||||
reset() { |
|
||||
console.log('表单数据信息1:', this.data); |
|
||||
this.data = {} |
|
||||
}, |
|
||||
|
|
||||
}, |
|
||||
onLoad(option) { |
|
||||
this.type = option.type |
|
||||
if(option.type == 1){ |
|
||||
uni.setNavigationBarTitle({ |
|
||||
title:'添加报修' |
|
||||
}) |
|
||||
}else if(option.type == 2){ |
|
||||
uni.setNavigationBarTitle({ |
|
||||
title:'添加维修工单' |
|
||||
}) |
|
||||
}else if(option.type == 3){ |
|
||||
uni.setNavigationBarTitle({ |
|
||||
title:'添加检修工单' |
|
||||
}) |
|
||||
}else if(option.type == 4){ |
|
||||
uni.setNavigationBarTitle({ |
|
||||
title:'添加点检工单' |
|
||||
}) |
|
||||
}else if(option.type == 5){ |
|
||||
uni.setNavigationBarTitle({ |
|
||||
title:'添加保养工单' |
|
||||
}) |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
|
|
||||
<style lang="scss" scoped> |
|
||||
.add-form-container { |
|
||||
min-height: calc(100vh - 140rpx); |
|
||||
background: white; |
|
||||
padding: 0px 30rpx 140rpx; |
|
||||
} |
|
||||
|
|
||||
.list { |
|
||||
padding-bottom: 20rpx; |
|
||||
|
|
||||
.item { |
|
||||
margin-top: 20rpx; |
|
||||
background: white; |
|
||||
padding: 30rpx; |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
|
|
||||
image { |
|
||||
width: 160rpx; |
|
||||
height: 160rpx; |
|
||||
margin-right: 20rpx; |
|
||||
} |
|
||||
|
|
||||
.title { |
|
||||
font-size: 32rpx; |
|
||||
font-weight: bold; |
|
||||
} |
|
||||
|
|
||||
.dec1 { |
|
||||
font-size: 28rpx; |
|
||||
margin-top: 16rpx; |
|
||||
color: #acacac; |
|
||||
} |
|
||||
|
|
||||
.dec2 { |
|
||||
font-size: 28rpx; |
|
||||
margin-top: 6rpx; |
|
||||
color: #acacac; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.footer { |
|
||||
position: fixed; |
|
||||
bottom: 0px; |
|
||||
left: 0px; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
.btns { |
|
||||
display: flex; |
|
||||
|
|
||||
|
|
||||
button { |
|
||||
flex: 1; |
|
||||
} |
|
||||
|
|
||||
.sure { |
|
||||
background: #409eff; |
|
||||
color: white; |
|
||||
border-radius: 0px; |
|
||||
|
|
||||
&::after { |
|
||||
border: 1px solid #409eff; |
|
||||
border-radius: 0px; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.reset { |
|
||||
background: #F5F5F5; |
|
||||
border-radius: 0px; |
|
||||
|
|
||||
&::after { |
|
||||
border-radius: 0px; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</style> |
|
@ -1,349 +0,0 @@ |
|||||
<template> |
|
||||
<!-- 详情 --> |
|
||||
<view class="detail-container"> |
|
||||
<view class="info"> |
|
||||
<view class="title"> |
|
||||
<view>维修工单</view> |
|
||||
<view>转班</view> |
|
||||
</view> |
|
||||
<view class="dec"> |
|
||||
<view class="dec-item"> |
|
||||
<view>工单单号</view> |
|
||||
<view>WXDH2051351</view> |
|
||||
</view> |
|
||||
<view class="dec-item"> |
|
||||
<view>工单主题</view> |
|
||||
<view>设备一维修2554</view> |
|
||||
</view> |
|
||||
<view class="dec-item"> |
|
||||
<view>工单类型</view> |
|
||||
<view>报修工单</view> |
|
||||
</view> |
|
||||
<view class="dec-item"> |
|
||||
<view>维修班组</view> |
|
||||
<view>维修班组一</view> |
|
||||
</view> |
|
||||
<view class="dec-item"> |
|
||||
<view>工程师</view> |
|
||||
<view>橙子</view> |
|
||||
</view> |
|
||||
<view class="dec-item"> |
|
||||
<view>维修工</view> |
|
||||
<view>香蕉</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
<view class="info" style="padding-bottom: 130rpx;"> |
|
||||
<view class="tab"> |
|
||||
<u-tabs :list="list" :is-scroll="false" bar-height="2" bar-width="250" v-model="current" |
|
||||
@change="change"></u-tabs> |
|
||||
</view> |
|
||||
|
|
||||
<view> |
|
||||
<view class="title"> |
|
||||
<view>{{changeItem.name}}</view> |
|
||||
</view> |
|
||||
<view class="dec" v-if="current == 0"> |
|
||||
<view class="dec-item"> |
|
||||
<view>设备编号</view> |
|
||||
<view>WXDH2051351</view> |
|
||||
</view> |
|
||||
<view class="dec-item"> |
|
||||
<view>设备名称</view> |
|
||||
<view>设备一维修2554</view> |
|
||||
</view> |
|
||||
<view class="dec-item"> |
|
||||
<view>规格型号</view> |
|
||||
<view>报修工单</view> |
|
||||
</view> |
|
||||
<view class="dec-item"> |
|
||||
<view>设备类型</view> |
|
||||
<view>维修班组一</view> |
|
||||
</view> |
|
||||
<view class="dec-item"> |
|
||||
<view>存放位置</view> |
|
||||
<view>橙子</view> |
|
||||
</view> |
|
||||
<view class="dec-item"> |
|
||||
<view>使用部门</view> |
|
||||
<view>香蕉</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
<view class="dec" v-if="current == 1"> |
|
||||
<view class="dec-item"> |
|
||||
<view>设备编号</view> |
|
||||
<view>WXDH2051351</view> |
|
||||
</view> |
|
||||
<view class="dec-item"> |
|
||||
<view>设备名称</view> |
|
||||
<view>设备一维修2554</view> |
|
||||
</view> |
|
||||
<view class="dec-item"> |
|
||||
<view>规格型号</view> |
|
||||
<view>报修工单</view> |
|
||||
</view> |
|
||||
<view class="dec-item"> |
|
||||
<view>设备类型</view> |
|
||||
<view>维修班组一</view> |
|
||||
</view> |
|
||||
<view class="dec-item"> |
|
||||
<view>存放位置</view> |
|
||||
<view>橙子</view> |
|
||||
</view> |
|
||||
<view class="dec-item"> |
|
||||
<view>使用部门</view> |
|
||||
<view>香蕉</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
<view class="dec" v-if="current == 2"> |
|
||||
<SparePartsCard :subForm='subForm' :data='data' @addSubForm='addSubForm' @delSubFormItem='delSubFormItem'> |
|
||||
</SparePartsCard> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
<view class="footer"> |
|
||||
<view class="btns"> |
|
||||
<u-button type="primary">保存/接单</u-button> |
|
||||
<u-button type="primary">完成</u-button> |
|
||||
<u-button type="primary">验证完结</u-button> |
|
||||
</view> |
|
||||
<view style="height: constant(safe-area-inset-bottom); height: env(safe-area-inset-bottom);"></view> |
|
||||
</view> |
|
||||
<u-popup v-model="isPopupShow" mode="center" border-radius="14"> |
|
||||
<view class="popup-title">添加记录</view> |
|
||||
<view class="popup"> |
|
||||
<Form :form='subForm' :data='data' ref="form2"></Form> |
|
||||
</view> |
|
||||
<view class="popup-footer"> |
|
||||
<view @click="cancle">取消</view> |
|
||||
<view class="sure" @click="addSpare">确认</view> |
|
||||
</view> |
|
||||
</u-popup> |
|
||||
</view> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
import Form from '@/components/form/index.vue' |
|
||||
import SparePartsCard from '@/components/sparePartsCard/index.vue' |
|
||||
export default { |
|
||||
components: { |
|
||||
Form, |
|
||||
SparePartsCard |
|
||||
}, |
|
||||
data() { |
|
||||
return { |
|
||||
list: [{ |
|
||||
name: '设备信息' |
|
||||
}, { |
|
||||
name: '报修信息' |
|
||||
}, { |
|
||||
name: '维修记录' |
|
||||
}], |
|
||||
current: 0, |
|
||||
changeItem: '', |
|
||||
data: { |
|
||||
name: '', |
|
||||
subList: [{ |
|
||||
name: '备件111111', |
|
||||
stork: '1', |
|
||||
number: '30', |
|
||||
}, { |
|
||||
name: '备件111111', |
|
||||
stork: '1', |
|
||||
number: '30', |
|
||||
}] |
|
||||
}, |
|
||||
isPopupShow:false, |
|
||||
subForm: { |
|
||||
formLabel: '', |
|
||||
formField: 'subList', |
|
||||
required: true, |
|
||||
isShowButton: true, |
|
||||
disabled: false, |
|
||||
visible: true, |
|
||||
loading: false, |
|
||||
labelWidth: '180rpx', |
|
||||
border: true, |
|
||||
errorType: ['toast'], |
|
||||
formData: [{ |
|
||||
type: 'singleColumn', |
|
||||
field: 'name', |
|
||||
label: '模具', |
|
||||
disabled: false, |
|
||||
required: true, |
|
||||
span: 12, |
|
||||
list: [{ |
|
||||
label: '类型1', |
|
||||
value: 1 |
|
||||
}, { |
|
||||
label: '类型2', |
|
||||
value: 2 |
|
||||
}, { |
|
||||
label: '类型3', |
|
||||
value: 3 |
|
||||
}] |
|
||||
}, { |
|
||||
type: 'text', |
|
||||
field: 'stork', |
|
||||
label: '库存', |
|
||||
disabled: false, |
|
||||
required: true, |
|
||||
isList: true, |
|
||||
span: 6 |
|
||||
}, { |
|
||||
type: 'text', |
|
||||
field: 'number', |
|
||||
label: '数量', |
|
||||
disabled: false, |
|
||||
required: true, |
|
||||
isList: true, |
|
||||
span: 6 |
|
||||
}], |
|
||||
}, |
|
||||
|
|
||||
} |
|
||||
}, |
|
||||
methods: { |
|
||||
change(index) { |
|
||||
console.log("index", index); |
|
||||
this.current = index |
|
||||
this.changeItem = this.list[this.current] |
|
||||
}, |
|
||||
// 添加表格表单 |
|
||||
addSubForm() { |
|
||||
console.log(5) |
|
||||
this.isPopupShow = true |
|
||||
}, |
|
||||
// 添加备件 |
|
||||
addSpare(){ |
|
||||
// 校验 |
|
||||
for (let i = 0; i < this.subForm.formData.length; i++) { |
|
||||
if (this.subForm.formData[i].required === true) { |
|
||||
if (!this.data[this.subForm.formData[i].field]) { |
|
||||
let placeholder = '请输入' |
|
||||
if (this.subForm.formData[i].type == 'text' || this.subForm.formData[i].type == 'textarea') { |
|
||||
placeholder = '请输入' |
|
||||
} else { |
|
||||
placeholder = '请选择' |
|
||||
} |
|
||||
this.$modal.showToast(placeholder + this.subForm.formData[i].label) |
|
||||
return; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
// 取消添加备件 |
|
||||
cancle(){ |
|
||||
this.isPopupShow = false |
|
||||
}, |
|
||||
}, |
|
||||
onLoad() { |
|
||||
this.changeItem = this.list[this.current] |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
|
|
||||
<style lang="scss" scoped> |
|
||||
.info { |
|
||||
background: white; |
|
||||
margin-bottom: 20rpx; |
|
||||
} |
|
||||
|
|
||||
.tab { |
|
||||
border-bottom: 1px solid #e4e4e4; |
|
||||
|
|
||||
} |
|
||||
|
|
||||
.title { |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
padding: 20rpx 30rpx; |
|
||||
border-bottom: 1px solid #e4e4e4; |
|
||||
|
|
||||
view { |
|
||||
&:nth-child(1) { |
|
||||
flex: 1; |
|
||||
border-left: 10rpx solid #409eff; |
|
||||
padding-left: 20rpx; |
|
||||
font-weight: bold; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.dec { |
|
||||
padding: 30rpx; |
|
||||
|
|
||||
.dec-item { |
|
||||
padding-bottom: 30rpx; |
|
||||
display: flex; |
|
||||
|
|
||||
view { |
|
||||
&:nth-child(1) { |
|
||||
width: 160rpx; |
|
||||
} |
|
||||
|
|
||||
&:nth-child(2) { |
|
||||
color: #888888; |
|
||||
flex: 1; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
.popup-title { |
|
||||
text-align: center; |
|
||||
font-size: 32rpx; |
|
||||
font-weight: bold; |
|
||||
color: #409eff; |
|
||||
padding: 30rpx |
|
||||
} |
|
||||
|
|
||||
.popup { |
|
||||
width: 600rpx; |
|
||||
padding: 0rpx 60rpx 0rpx; |
|
||||
|
|
||||
} |
|
||||
.popup-footer{ |
|
||||
display: flex; |
|
||||
border-top: 1px solid #e4e4e4; |
|
||||
view{ |
|
||||
line-height: 100rpx; |
|
||||
flex: 1; |
|
||||
text-align: center; |
|
||||
&.sure{ |
|
||||
color: #409eff; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
.footer { |
|
||||
position: fixed; |
|
||||
bottom: 0px; |
|
||||
left: 0px; |
|
||||
width: 100%; |
|
||||
background: white; |
|
||||
z-index: 22; |
|
||||
} |
|
||||
|
|
||||
.btns { |
|
||||
display: flex; |
|
||||
|
|
||||
padding: 20rpx; |
|
||||
box-shadow: 0px -2rpx 20rpx rgba(0, 0, 0, 0.1); |
|
||||
|
|
||||
|
|
||||
button { |
|
||||
flex: 1; |
|
||||
margin: 0px 10rpx; |
|
||||
} |
|
||||
|
|
||||
.sure { |
|
||||
background: #409eff; |
|
||||
color: white; |
|
||||
border-radius: 8rpx; |
|
||||
|
|
||||
&::after { |
|
||||
border: 1px solid #409eff; |
|
||||
border-radius: 0px; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</style> |
|
@ -1,159 +0,0 @@ |
|||||
<template> |
|
||||
<view class="container"> |
|
||||
<u-navbar back-icon-color='#fff' :background="{ background: '#409eff'}" back-text="" title-color='#fff' |
|
||||
:title="title"> |
|
||||
<template v-slot:right> |
|
||||
<u-icon name="plus" color="#fff" size="36" style="padding-right: 30rpx;" @click="addForm"></u-icon> |
|
||||
</template> |
|
||||
</u-navbar> |
|
||||
<Search @search='search' @screen='screen' /> |
|
||||
|
|
||||
<workOrderList :data="data" :labelList='labelList' @itemClick="itemClick"></workOrderList> |
|
||||
<view style="height: constant(safe-area-inset-bottom); height: env(safe-area-inset-bottom);"></view> |
|
||||
</view> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
import workOrderList from '@/components/workOrderList/index.vue' |
|
||||
export default { |
|
||||
components: { |
|
||||
workOrderList |
|
||||
}, |
|
||||
data() { |
|
||||
return { |
|
||||
title:'', |
|
||||
type:'', |
|
||||
labelList:[{ |
|
||||
label: '报修单号', |
|
||||
field: 'dec1', |
|
||||
},{ |
|
||||
label: '设备名称', |
|
||||
field: 'dec2', |
|
||||
},{ |
|
||||
label: '设备编号', |
|
||||
field: 'dec3', |
|
||||
},{ |
|
||||
label: '存放位置', |
|
||||
field: 'dec4', |
|
||||
},{ |
|
||||
label: '紧急程度', |
|
||||
field: 'dec5', |
|
||||
}], |
|
||||
data: { |
|
||||
isShowTime: true, |
|
||||
list: [{ |
|
||||
title: '设备报修205245', |
|
||||
dec1: 'BX-20224648', |
|
||||
dec2: 'BX-20224648', |
|
||||
dec3: 'BX-20224648', |
|
||||
dec4: 'BX-20224648', |
|
||||
dec5: 'BX-20224648', |
|
||||
time: '2023-12-12 06:00:00', |
|
||||
status: 6 |
|
||||
}, { |
|
||||
title: '设备报修205245', |
|
||||
dec1: 'BX-20224648', |
|
||||
dec2: 'BX-20224648', |
|
||||
dec3: 'BX-20224648', |
|
||||
dec4: 'BX-20224648', |
|
||||
dec5: 'BX-20224648', |
|
||||
time: '2023-12-12 06:00:00', |
|
||||
status: 2 |
|
||||
}, { |
|
||||
title: '设备报修205245', |
|
||||
dec1: 'BX-20224648', |
|
||||
dec2: 'BX-20224648', |
|
||||
dec3: 'BX-20224648', |
|
||||
dec4: 'BX-20224648', |
|
||||
dec5: 'BX-20224648', |
|
||||
time: '2023-12-12 06:00:00', |
|
||||
status: 3 |
|
||||
}, { |
|
||||
title: '设备报修205245', |
|
||||
dec1: 'BX-20224648', |
|
||||
dec2: 'BX-20224648', |
|
||||
dec3: 'BX-20224648', |
|
||||
dec4: 'BX-20224648', |
|
||||
dec5: 'BX-20224648', |
|
||||
time: '2023-12-12 06:00:00', |
|
||||
status: 4 |
|
||||
}] |
|
||||
} |
|
||||
|
|
||||
} |
|
||||
}, |
|
||||
methods: { |
|
||||
// 筛选 |
|
||||
screen() { |
|
||||
this.$tab.navigateTo(`/pages/workOrderList/screen?type=${this.type}`) |
|
||||
}, |
|
||||
itemClick(item,index){ |
|
||||
this.$tab.navigateTo(`/pages/workOrderList/detail?type=${this.type}`) |
|
||||
}, |
|
||||
addForm(){ |
|
||||
this.$tab.navigateTo(`/pages/workOrderList/addForm?type=${this.type}`) |
|
||||
} |
|
||||
}, |
|
||||
onLoad(option) { |
|
||||
this.type = option.type |
|
||||
if(option.type == 1){ |
|
||||
this.title = '设备报修' |
|
||||
}else if(option.type == 2){ |
|
||||
this.title = '维修工单' |
|
||||
}else if(option.type == 3){ |
|
||||
this.title = '检修工单' |
|
||||
}else if(option.type == 4){ |
|
||||
this.title = '点检工单' |
|
||||
}else if(option.type == 5){ |
|
||||
this.title = '保养工单' |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
|
|
||||
<style lang="scss" scoped> |
|
||||
|
|
||||
.list{ |
|
||||
background: #f5f5f5; |
|
||||
margin-top: 20rpx; |
|
||||
.item{ |
|
||||
padding: 30rpx 30rpx 0px 30rpx; |
|
||||
margin-top: 20rpx; |
|
||||
background: white; |
|
||||
.title{ |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
padding-bottom: 20rpx; |
|
||||
.title-txt{ |
|
||||
color: #409eff; |
|
||||
font-weight: bold; |
|
||||
font-size: 36rpx; |
|
||||
width: 0px; |
|
||||
flex: 1; |
|
||||
} |
|
||||
.time{ |
|
||||
color: #919191; |
|
||||
|
|
||||
} |
|
||||
} |
|
||||
.dec{ |
|
||||
padding-bottom: 20rpx; |
|
||||
span{ |
|
||||
color: #999999; |
|
||||
} |
|
||||
} |
|
||||
.last{ |
|
||||
padding-bottom: 30rpx; |
|
||||
} |
|
||||
.bottom{ |
|
||||
display: flex; |
|
||||
justify-content: space-between; |
|
||||
align-items: center; |
|
||||
border-top: 1px solid #E4E4E4; |
|
||||
padding: 20rpx 0px; |
|
||||
|
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
</style> |
|
@ -1,223 +0,0 @@ |
|||||
<template> |
|
||||
<!-- 设备 --> |
|
||||
<view class="add-form-container"> |
|
||||
<Form :form='form' :data='data' ref="form1"></Form> |
|
||||
<view class="footer"> |
|
||||
<view class="btns"> |
|
||||
<button class="reset" @click="reset">重置</button> |
|
||||
<button class="sure" @click="submit">确定</button> |
|
||||
</view> |
|
||||
<view style="height: constant(safe-area-inset-bottom); height: env(safe-area-inset-bottom);"></view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
import Form from '@/components/form/index.vue' |
|
||||
export default { |
|
||||
components: { |
|
||||
Form |
|
||||
}, |
|
||||
data() { |
|
||||
return { |
|
||||
type:'', |
|
||||
form: { |
|
||||
disabled: false, |
|
||||
visible: true, |
|
||||
loading: false, |
|
||||
labelWidth: '180rpx', |
|
||||
border: true, |
|
||||
errorType: ['toast'], |
|
||||
formData: [{ |
|
||||
type: 'text', |
|
||||
field: 'code', |
|
||||
label: '报修主题', |
|
||||
disabled: false, |
|
||||
required: true, |
|
||||
value: '' |
|
||||
}, { |
|
||||
type: 'text', |
|
||||
field: 'name', |
|
||||
label: '设备名称', |
|
||||
disabled: false, |
|
||||
required: true, |
|
||||
value: '', |
|
||||
}, { |
|
||||
type: 'text', |
|
||||
field: 'location', |
|
||||
label: '存放位置', |
|
||||
}, { |
|
||||
type: 'singleColumn', |
|
||||
field: 'type', |
|
||||
label: '紧急程度', |
|
||||
list: [{ |
|
||||
label: '程度1', |
|
||||
value: 1 |
|
||||
}, { |
|
||||
label: '程度2', |
|
||||
value: 2 |
|
||||
}, { |
|
||||
label: '程度3', |
|
||||
value: 3 |
|
||||
}] |
|
||||
}, { |
|
||||
type: 'singleColumn', |
|
||||
field: 'type', |
|
||||
label: '工单状态', |
|
||||
list: [{ |
|
||||
label: '状态1', |
|
||||
value: 1 |
|
||||
}, { |
|
||||
label: '状态2', |
|
||||
value: 2 |
|
||||
}, { |
|
||||
label: '状态3', |
|
||||
value: 3 |
|
||||
}] |
|
||||
}], |
|
||||
}, |
|
||||
data: { |
|
||||
name: '', |
|
||||
sex: 2, |
|
||||
hobby: [1, 2], |
|
||||
open: true, |
|
||||
duoxuan: 3, |
|
||||
time: '2023-12-12 08:00:00' |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
methods: { |
|
||||
// 触发提交表单 |
|
||||
submit() { |
|
||||
|
|
||||
}, |
|
||||
// 重置 |
|
||||
reset() { |
|
||||
console.log('表单数据信息1:', this.data); |
|
||||
this.data={} |
|
||||
}, |
|
||||
|
|
||||
}, |
|
||||
onLoad(option) { |
|
||||
this.type = option.type |
|
||||
if(option.type == 1){ |
|
||||
}else if(option.type == 2){ |
|
||||
this.form.formData[0] = { |
|
||||
type: 'text', |
|
||||
field: 'code', |
|
||||
label: '维修主题', |
|
||||
disabled: false, |
|
||||
required: true, |
|
||||
value: '' |
|
||||
} |
|
||||
}else if(option.type == 3){ |
|
||||
this.form.formData[0] = { |
|
||||
type: 'text', |
|
||||
field: 'code', |
|
||||
label: '检修主题', |
|
||||
disabled: false, |
|
||||
required: true, |
|
||||
value: '' |
|
||||
} |
|
||||
this.form.formData.pop() |
|
||||
}else if(option.type == 4){ |
|
||||
this.form.formData[0] = { |
|
||||
type: 'text', |
|
||||
field: 'code', |
|
||||
label: '点检主题', |
|
||||
disabled: false, |
|
||||
required: true, |
|
||||
value: '' |
|
||||
} |
|
||||
this.form.formData.pop() |
|
||||
}else if(option.type == 5){ |
|
||||
this.form.formData[0] = { |
|
||||
type: 'text', |
|
||||
field: 'code', |
|
||||
label: '保养主题', |
|
||||
disabled: false, |
|
||||
required: true, |
|
||||
value: '' |
|
||||
} |
|
||||
this.form.formData.pop() |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
|
|
||||
<style lang="scss" scoped> |
|
||||
.add-form-container { |
|
||||
min-height: calc(100vh - 140rpx); |
|
||||
background: white; |
|
||||
padding: 0px 30rpx 140rpx; |
|
||||
} |
|
||||
.list { |
|
||||
padding-bottom: 20rpx; |
|
||||
|
|
||||
.item { |
|
||||
margin-top: 20rpx; |
|
||||
background: white; |
|
||||
padding: 30rpx; |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
|
|
||||
image { |
|
||||
width: 160rpx; |
|
||||
height: 160rpx; |
|
||||
margin-right: 20rpx; |
|
||||
} |
|
||||
|
|
||||
.title { |
|
||||
font-size: 32rpx; |
|
||||
font-weight: bold; |
|
||||
} |
|
||||
|
|
||||
.dec1 { |
|
||||
font-size: 28rpx; |
|
||||
margin-top: 16rpx; |
|
||||
color: #acacac; |
|
||||
} |
|
||||
|
|
||||
.dec2 { |
|
||||
font-size: 28rpx; |
|
||||
margin-top: 6rpx; |
|
||||
color: #acacac; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
.footer { |
|
||||
position: fixed; |
|
||||
bottom: 0px; |
|
||||
left: 0px; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
.btns { |
|
||||
display: flex; |
|
||||
|
|
||||
|
|
||||
button { |
|
||||
flex: 1; |
|
||||
} |
|
||||
|
|
||||
.sure { |
|
||||
background: #409eff; |
|
||||
color: white; |
|
||||
border-radius: 0px; |
|
||||
|
|
||||
&::after { |
|
||||
border: 1px solid #409eff; |
|
||||
border-radius: 0px; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.reset { |
|
||||
background: #F5F5F5; |
|
||||
border-radius: 0px; |
|
||||
|
|
||||
&::after { |
|
||||
border-radius: 0px; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</style> |
|
@ -1,181 +0,0 @@ |
|||||
<template> |
|
||||
<!-- 设备 --> |
|
||||
<view class="add-form-container"> |
|
||||
<Form :form='form' :data='data' ref="form1"></Form> |
|
||||
<view class="footer"> |
|
||||
<view class="btns"> |
|
||||
<button class="reset" @click="reset">重置</button> |
|
||||
<button class="sure" @click="submit">确定</button> |
|
||||
</view> |
|
||||
<view style="height: constant(safe-area-inset-bottom); height: env(safe-area-inset-bottom);"></view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
import Form from '@/components/form/index.vue' |
|
||||
export default { |
|
||||
components: { |
|
||||
Form |
|
||||
}, |
|
||||
data() { |
|
||||
return { |
|
||||
form: { |
|
||||
disabled: false, |
|
||||
visible: true, |
|
||||
loading: false, |
|
||||
labelWidth: '180rpx', |
|
||||
border: true, |
|
||||
errorType: ['toast'], |
|
||||
formData: [{ |
|
||||
type: 'singleColumn', |
|
||||
field: 'type', |
|
||||
label: '模具', |
|
||||
list: [{ |
|
||||
label: '程度1', |
|
||||
value: 1 |
|
||||
}, { |
|
||||
label: '程度2', |
|
||||
value: 2 |
|
||||
}, { |
|
||||
label: '程度3', |
|
||||
value: 3 |
|
||||
}] |
|
||||
}, { |
|
||||
type: 'singleColumn', |
|
||||
field: 'type', |
|
||||
label: '维修工', |
|
||||
list: [{ |
|
||||
label: '状态1', |
|
||||
value: 1 |
|
||||
}, { |
|
||||
label: '状态2', |
|
||||
value: 2 |
|
||||
}, { |
|
||||
label: '状态3', |
|
||||
value: 3 |
|
||||
}] |
|
||||
}], |
|
||||
rules: { |
|
||||
// 对name字段进行必填验证 |
|
||||
name: [ |
|
||||
{ |
|
||||
min: 5, |
|
||||
message: '简介不能少于5个字', |
|
||||
trigger: 'change' |
|
||||
}, |
|
||||
// 对name字段进行必填验证 |
|
||||
{ |
|
||||
required: true, |
|
||||
message: '请填写姓名', |
|
||||
trigger: ['change', 'blur'] |
|
||||
}, |
|
||||
] |
|
||||
} |
|
||||
}, |
|
||||
data: { |
|
||||
name: '', |
|
||||
sex: 2, |
|
||||
hobby: [1, 2], |
|
||||
open: true, |
|
||||
duoxuan: 3, |
|
||||
time: '2023-12-12 08:00:00' |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
methods: { |
|
||||
// 触发提交表单 |
|
||||
submit() { |
|
||||
console.log('表单数据信息1:', this.data); |
|
||||
this.$refs.form1.$refs.form.validate().then(res => { |
|
||||
console.log('表单数据信息:', res); |
|
||||
}).catch(err => { |
|
||||
console.log('表单错误信息:', err); |
|
||||
}) |
|
||||
}, |
|
||||
// 重置 |
|
||||
reset() { |
|
||||
console.log('表单数据信息1:', this.data); |
|
||||
this.data={} |
|
||||
}, |
|
||||
|
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
|
|
||||
<style lang="scss" scoped> |
|
||||
.add-form-container { |
|
||||
min-height: calc(100vh - 140rpx); |
|
||||
background: white; |
|
||||
padding: 0px 30rpx 140rpx; |
|
||||
} |
|
||||
.list { |
|
||||
padding-bottom: 20rpx; |
|
||||
|
|
||||
.item { |
|
||||
margin-top: 20rpx; |
|
||||
background: white; |
|
||||
padding: 30rpx; |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
|
|
||||
image { |
|
||||
width: 160rpx; |
|
||||
height: 160rpx; |
|
||||
margin-right: 20rpx; |
|
||||
} |
|
||||
|
|
||||
.title { |
|
||||
font-size: 32rpx; |
|
||||
font-weight: bold; |
|
||||
} |
|
||||
|
|
||||
.dec1 { |
|
||||
font-size: 28rpx; |
|
||||
margin-top: 16rpx; |
|
||||
color: #acacac; |
|
||||
} |
|
||||
|
|
||||
.dec2 { |
|
||||
font-size: 28rpx; |
|
||||
margin-top: 6rpx; |
|
||||
color: #acacac; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
.footer { |
|
||||
position: fixed; |
|
||||
bottom: 0px; |
|
||||
left: 0px; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
.btns { |
|
||||
display: flex; |
|
||||
|
|
||||
|
|
||||
button { |
|
||||
flex: 1; |
|
||||
} |
|
||||
|
|
||||
.sure { |
|
||||
background: #409eff; |
|
||||
color: white; |
|
||||
border-radius: 0px; |
|
||||
|
|
||||
&::after { |
|
||||
border: 1px solid #409eff; |
|
||||
border-radius: 0px; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.reset { |
|
||||
background: #F5F5F5; |
|
||||
border-radius: 0px; |
|
||||
|
|
||||
&::after { |
|
||||
border-radius: 0px; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</style> |
|
Loading…
Reference in new issue