confirm
This commit is contained in:
parent
d61171ee58
commit
14d7d91c7c
@ -2,7 +2,7 @@
|
||||
* @Author: gtz
|
||||
* @Date: 2022-07-25 14:18:00
|
||||
* @LastEditors: gtz
|
||||
* @LastEditTime: 2022-08-02 13:55:00
|
||||
* @LastEditTime: 2022-08-03 16:08:03
|
||||
* @Description: file content
|
||||
* @FilePath: \hf-pda\src\api\eqInspection.js
|
||||
*/
|
||||
@ -17,7 +17,7 @@ export const list = data => {
|
||||
})
|
||||
}
|
||||
|
||||
// 获取巡检记录列表
|
||||
// 新增巡检记录
|
||||
export const add = data => {
|
||||
return request({
|
||||
url: '/api/equipment/inspectionLog/add',
|
||||
@ -26,7 +26,7 @@ export const add = data => {
|
||||
})
|
||||
}
|
||||
|
||||
// 获取巡检记录列表
|
||||
// 更新巡检记录
|
||||
export const update = data => {
|
||||
return request({
|
||||
url: '/api/equipment/inspectionLog/update',
|
||||
@ -98,3 +98,21 @@ export const updateInsStatus = data => {
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取巡检内容详情
|
||||
export const detailIns = data => {
|
||||
return request({
|
||||
url: '/api/equipment/equipmentinspection-inspectionitem/get',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 更新巡检内容详情
|
||||
export const updateIns = data => {
|
||||
return request({
|
||||
url: '/api/equipment/equipmentinspection-inspectionitem/update',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
@ -2,17 +2,90 @@
|
||||
* @Author: gtz
|
||||
* @Date: 2022-07-25 16:38:30
|
||||
* @LastEditors: gtz
|
||||
* @LastEditTime: 2022-07-25 16:38:51
|
||||
* @LastEditTime: 2022-08-03 18:24:13
|
||||
* @Description: file content
|
||||
* @FilePath: \xbapp\src\api\material.js
|
||||
* @FilePath: \hf-pda\src\api\material.js
|
||||
*/
|
||||
import request from '@/util/request'
|
||||
|
||||
// 获取在线库存列表
|
||||
export const list = params => {
|
||||
// 获取换料记录列表
|
||||
export const list = data => {
|
||||
return request({
|
||||
url: '/wms/mt/alone/stock/products/list/part',
|
||||
method: 'GET',
|
||||
params
|
||||
url: '/api/material/equipment-material-replace/page',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 新增换料记录
|
||||
export const add = data => {
|
||||
return request({
|
||||
url: '/api/material/equipment-material-replace/add',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 更新换料记录
|
||||
export const update = data => {
|
||||
return request({
|
||||
url: '/api/material/equipment-material-replace/update',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取换料记录详情
|
||||
export const detail = data => {
|
||||
return request({
|
||||
url: '/api/material/equipment-material-replace/get',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取设备列表
|
||||
export const eqList = data => {
|
||||
return request({
|
||||
url: '/api/basic/equipment/list',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取批次列表
|
||||
export const batchList = data => {
|
||||
return request({
|
||||
url: '/api/material/material-date/list',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取操作员列表
|
||||
export const workerList = data => {
|
||||
return request({
|
||||
url: '/api/basic/worker/page',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 根据批次获取物料信息
|
||||
export const materialInfo = data => {
|
||||
return request({
|
||||
url: '/api/material/material-date/getByCode',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取设备信息
|
||||
export const getEqInfo = data => {
|
||||
return request({
|
||||
url: '/api/basic/equipment/PDAget',
|
||||
method: 'POST',
|
||||
formState: true,
|
||||
data
|
||||
})
|
||||
}
|
||||
|
181
src/components/VanFieldCheckBox.vue
Normal file
181
src/components/VanFieldCheckBox.vue
Normal file
@ -0,0 +1,181 @@
|
||||
<template>
|
||||
<div class="dh-field">
|
||||
<div class="van-picker__toolbar">
|
||||
<button type="button" class="van-picker__cancel" @click="cancel">取消</button>
|
||||
<div class="van-ellipsis van-picker__title">{{$attrs.label}}</div>
|
||||
<button type="button" class="van-picker__confirm" @click="onConfirm">确认</button>
|
||||
</div>
|
||||
<div style="max-height:264px; overflow-y:auto;">
|
||||
<van-field v-if="isSearch" v-model="searchVal" input-align="left" placeholder="搜索" @input="search"/>
|
||||
<van-cell title="全选">
|
||||
<template #right-icon>
|
||||
<van-checkbox v-model="checkedAll" name="all" @click="toggleAll"/>
|
||||
</template>
|
||||
</van-cell>
|
||||
<van-checkbox-group ref="checkboxGroup" v-model="checkboxValue" @change="change">
|
||||
<van-cell-group>
|
||||
<van-cell
|
||||
v-for="(item, index) in columnsData"
|
||||
:key="item[option.value]"
|
||||
:title="item[option.label]"
|
||||
clickable
|
||||
@click="toggle(index)"
|
||||
>
|
||||
<template #right-icon>
|
||||
<van-checkbox ref="checkboxes" :name="item[option.value]" />
|
||||
</template>
|
||||
</van-cell>
|
||||
</van-cell-group>
|
||||
</van-checkbox-group>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'VanFieldCheckbox',
|
||||
model: {
|
||||
prop: 'selectValue'
|
||||
},
|
||||
props: {
|
||||
columns: {
|
||||
type: Array,
|
||||
default: function () {
|
||||
return []
|
||||
}
|
||||
},
|
||||
selectValue: {
|
||||
type: Array,
|
||||
default: function () {
|
||||
return []
|
||||
}
|
||||
},
|
||||
option: {
|
||||
type: Object,
|
||||
default: function () {
|
||||
return { label: 'label', value: 'value' }
|
||||
}
|
||||
},
|
||||
// 是否支持搜索
|
||||
isSearch: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
resultLabel: {
|
||||
get () {
|
||||
const res = this.columns.filter(item => {
|
||||
return this.resultValue.indexOf(item[this.option.value]) > -1
|
||||
})
|
||||
const resLabel = res.map(item => {
|
||||
return item[this.option.label]
|
||||
})
|
||||
return resLabel.join(',')
|
||||
}
|
||||
}
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
show: false,
|
||||
searchVal: '',
|
||||
columnsData: JSON.parse(JSON.stringify(this.columns)),
|
||||
checkboxValue: JSON.parse(JSON.stringify(this.selectValue)),
|
||||
checkedAll: false,
|
||||
resultValue: JSON.parse(JSON.stringify(this.selectValue))
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 搜索
|
||||
search (val) {
|
||||
if (val) {
|
||||
this.columnsData = this.columnsData.filter(item => {
|
||||
return item[this.option.label].indexOf(val) > -1
|
||||
})
|
||||
} else {
|
||||
this.columnsData = JSON.parse(JSON.stringify(this.columns))
|
||||
}
|
||||
},
|
||||
getData (val) {
|
||||
const res = this.columnsData.filter(item => {
|
||||
return val.indexOf(item[this.option.value]) > -1
|
||||
})
|
||||
return res
|
||||
},
|
||||
onConfirm () {
|
||||
this.resultValue = this.checkboxValue
|
||||
this.show = !this.show
|
||||
this.$emit('confirm', this.resultValue, this.getData(this.resultValue))
|
||||
},
|
||||
change (val) {
|
||||
this.$emit('change', val, this.getData(this.resultValue))
|
||||
},
|
||||
cancel () {
|
||||
this.show = !this.show
|
||||
this.$emit('cancel', this.resultValue)
|
||||
},
|
||||
toggle (index) {
|
||||
this.$refs.checkboxes[index].toggle()
|
||||
},
|
||||
toggleAll (all) {
|
||||
this.$refs.checkboxGroup.toggleAll(this.checkedAll)
|
||||
},
|
||||
showPopu (disabled) {
|
||||
this.columnsData = JSON.parse(JSON.stringify(this.columns))
|
||||
this.checkboxValue = JSON.parse(JSON.stringify(this.selectValue))
|
||||
this.resultValue = JSON.parse(JSON.stringify(this.selectValue))
|
||||
if (disabled !== undefined && disabled !== false) {
|
||||
return false
|
||||
} else {
|
||||
this.show = !this.show
|
||||
}
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
selectValue: function (newVal) {
|
||||
this.resultValue = newVal
|
||||
},
|
||||
resultValue (val) {
|
||||
this.searchVal = ''
|
||||
this.columnsData = JSON.parse(JSON.stringify(this.columns))
|
||||
this.$emit('input', val)
|
||||
},
|
||||
columnsData: {
|
||||
handler (val) {
|
||||
if (val.length && val.length === this.checkboxValue.length) {
|
||||
this.checkedAll = true
|
||||
} else {
|
||||
this.checkedAll = false
|
||||
}
|
||||
},
|
||||
immediate: true
|
||||
},
|
||||
checkboxValue: {
|
||||
handler (val) {
|
||||
if (val.length && val.length === this.columnsData.length) {
|
||||
this.checkedAll = true
|
||||
} else {
|
||||
this.checkedAll = false
|
||||
}
|
||||
},
|
||||
immediate: true
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.dh-field {
|
||||
padding: 0;
|
||||
background:#fff;
|
||||
.dh-cell.van-cell {
|
||||
padding: 10px 0;
|
||||
}
|
||||
.dh-cell.van-cell--required::before {
|
||||
left: -8px;
|
||||
}
|
||||
.van-popup {
|
||||
border-radius: 20px 20px 0 0;
|
||||
}
|
||||
}
|
||||
</style>
|
@ -2,7 +2,7 @@
|
||||
* @Author: gtz
|
||||
* @Date: 2022-07-28 10:22:30
|
||||
* @LastEditors: gtz
|
||||
* @LastEditTime: 2022-07-29 13:26:58
|
||||
* @LastEditTime: 2022-08-03 13:52:32
|
||||
* @Description: file content
|
||||
* @FilePath: \hf-pda\src\pages\eqInspection\components\eqItem.vue
|
||||
-->
|
||||
@ -63,7 +63,6 @@ export default {
|
||||
this.$router.push({
|
||||
name: 'eqInspectionEdit',
|
||||
query: {
|
||||
equipmentId: this.injectData.equipmentId,
|
||||
id: this.injectData.id
|
||||
}
|
||||
})
|
||||
@ -93,6 +92,7 @@ export default {
|
||||
white-space:nowrap;
|
||||
}
|
||||
.eqItem-user {
|
||||
padding-left: .5rem;
|
||||
flex: 1;
|
||||
text-align: right;
|
||||
overflow:hidden;
|
||||
|
@ -2,14 +2,14 @@
|
||||
* @Author: gtz
|
||||
* @Date: 2022-07-28 10:22:30
|
||||
* @LastEditors: gtz
|
||||
* @LastEditTime: 2022-07-28 15:29:27
|
||||
* @LastEditTime: 2022-08-03 10:08:25
|
||||
* @Description: file content
|
||||
* @FilePath: \hf-pda\src\pages\eqInspection\components\eqPopup.vue
|
||||
-->
|
||||
<template>
|
||||
<van-popup v-model="show" position="bottom" class="eqPopup">
|
||||
<van-picker
|
||||
title="标题"
|
||||
title="选择设备"
|
||||
show-toolbar
|
||||
:columns="showEqList"
|
||||
@confirm="onConfirm"
|
||||
|
@ -2,7 +2,7 @@
|
||||
* @Author: gtz
|
||||
* @Date: 2022-07-28 10:22:30
|
||||
* @LastEditors: gtz
|
||||
* @LastEditTime: 2022-07-29 16:02:15
|
||||
* @LastEditTime: 2022-08-03 10:12:31
|
||||
* @Description: file content
|
||||
* @FilePath: \hf-pda\src\pages\eqInspection\eqInspection-add.vue
|
||||
-->
|
||||
@ -35,7 +35,7 @@
|
||||
placeholder="扫描或手动获取"
|
||||
>
|
||||
<template #button>
|
||||
<van-button size="small" type="primary" @click="submitEqCode">确定</van-button>
|
||||
<van-button size="small" type="primary" @click="handleSelectEq">选择</van-button>
|
||||
</template>
|
||||
</van-field>
|
||||
</van-col>
|
||||
@ -43,27 +43,56 @@
|
||||
<div class="eq-main-img">
|
||||
<img src="../../assets/img/back.png" alt="">
|
||||
</div>
|
||||
<van-row style="position: absolute; bottom: 1rem; width: 100%">
|
||||
<van-col :span="22" :offset="1">
|
||||
<van-button type="info" round size="large" @click="submitEqCode">确 定</van-button>
|
||||
</van-col>
|
||||
</van-row>
|
||||
<eq-popup ref="eqPopup" :eq-list="list" @changeEq="changeEq" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import shortLine from '@/components/shortLine.vue'
|
||||
import { getEqInfo } from '@/api/eqInspection'
|
||||
import eqPopup from './components/eqPopup.vue'
|
||||
import { getEqInfo, eqList } from '@/api/eqInspection'
|
||||
|
||||
export default {
|
||||
name: 'eqInspectionAdd',
|
||||
components: { shortLine },
|
||||
components: { shortLine, eqPopup },
|
||||
data () {
|
||||
return {
|
||||
eqCode: null
|
||||
eqCode: null,
|
||||
list: []
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
this.getEqList()
|
||||
},
|
||||
methods: {
|
||||
// 返回上一页
|
||||
onClickLeft () {
|
||||
this.$router.goBack()
|
||||
},
|
||||
// 获取设备列表
|
||||
async getEqList () {
|
||||
const result = await eqList({
|
||||
current: 1,
|
||||
size: 999
|
||||
})
|
||||
if (result.success) {
|
||||
this.list = result.data
|
||||
}
|
||||
},
|
||||
// 选择设备
|
||||
handleSelectEq () {
|
||||
this.$refs.eqPopup.init()
|
||||
},
|
||||
// 选择设备回调
|
||||
changeEq (index) {
|
||||
this.eqCode = this.list[index].code
|
||||
},
|
||||
// 提交设备CODE
|
||||
async submitEqCode () {
|
||||
const result = await getEqInfo({
|
||||
|
285
src/pages/eqInspection/eqInspection-detail.vue
Normal file
285
src/pages/eqInspection/eqInspection-detail.vue
Normal file
@ -0,0 +1,285 @@
|
||||
<!--
|
||||
* @Author: gtz
|
||||
* @Date: 2022-07-28 10:22:30
|
||||
* @LastEditors: gtz
|
||||
* @LastEditTime: 2022-08-03 09:13:02
|
||||
* @Description: file content
|
||||
* @FilePath: \hf-pda\src\pages\eqInspection\eqInspection-detail.vue
|
||||
-->
|
||||
<template>
|
||||
<div class="eqInspectionEdit">
|
||||
<!-- navbar -->
|
||||
<van-sticky :offset-top="0">
|
||||
<van-nav-bar
|
||||
title="PDA巡检信息"
|
||||
left-arrow
|
||||
sticky
|
||||
class="eq-header"
|
||||
@click-left="onClickLeft"
|
||||
/>
|
||||
<!-- @click-right="onClickRight" -->
|
||||
</van-sticky>
|
||||
<div class="eq-edit-main">
|
||||
<div class="eq-main-item">
|
||||
<van-row class="eq-field-item">
|
||||
<van-col :span="12" class="eq-field-item-lable">
|
||||
<short-line />
|
||||
巡检内容
|
||||
</van-col>
|
||||
<van-col :span="11" style="text-align: right">
|
||||
{{ dataForm.inspectionContent }}
|
||||
</van-col>
|
||||
</van-row>
|
||||
<van-row class="eq-field-item">
|
||||
<van-col :span="12" class="eq-field-item-lable">
|
||||
<short-line />
|
||||
巡检内容编码
|
||||
</van-col>
|
||||
<van-col :span="11" style="text-align: right">
|
||||
{{ dataForm.inspectionItem }}
|
||||
</van-col>
|
||||
</van-row>
|
||||
</div>
|
||||
<div class="eq-main-edit-item">
|
||||
<van-row class="eq-field-item">
|
||||
<van-col :span="7" class="eq-field-item-lable">
|
||||
<short-line />
|
||||
详情记录
|
||||
</van-col>
|
||||
<van-col :span="15" :offset="1" />
|
||||
<van-field
|
||||
v-model="dataForm.description"
|
||||
type="textarea"
|
||||
rows="5"
|
||||
autosize
|
||||
/>
|
||||
</van-row>
|
||||
</div>
|
||||
<div class="eq-main-edit-item">
|
||||
<van-row class="eq-field-item">
|
||||
<van-col :span="7" class="eq-field-item-lable">
|
||||
<short-line />
|
||||
附件
|
||||
</van-col>
|
||||
<van-col :span="15" :offset="1" />
|
||||
<van-col :span="24" style="padding-left: .25rem">
|
||||
<van-uploader
|
||||
v-model="fileList"
|
||||
:max-count="1"
|
||||
accept=".doc,.docx,.xls,.xlsx,.pdf,image/*"
|
||||
:after-read="upload"
|
||||
/>
|
||||
</van-col>
|
||||
<van-col :span="22" :offset="1">
|
||||
<van-button type="info" round size="large" @click="handleSubmit">
|
||||
提交
|
||||
</van-button>
|
||||
</van-col>
|
||||
</van-row>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { detailIns, updateIns } from '@/api/eqInspection'
|
||||
import { uploadFile, downloadFile } from '@/api/file'
|
||||
import { blobToBase64 } from '@/util/utils'
|
||||
import shortLine from '@/components/shortLine.vue'
|
||||
import { Toast } from 'vant'
|
||||
|
||||
export default {
|
||||
name: 'eqInspectionD',
|
||||
components: { shortLine },
|
||||
data () {
|
||||
return {
|
||||
eqList: [],
|
||||
dataForm: {
|
||||
id: null,
|
||||
annexUrl: null,
|
||||
inspectionItem: null,
|
||||
inspectionContent: null,
|
||||
description: null
|
||||
},
|
||||
fileList: []
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
this.getDetail()
|
||||
},
|
||||
methods: {
|
||||
// 返回上一页
|
||||
onClickLeft () {
|
||||
this.$router.goBack()
|
||||
},
|
||||
// 获取详情
|
||||
async getDetail () {
|
||||
const result = await detailIns({
|
||||
id: this.$route.query.id
|
||||
})
|
||||
if (result.success) {
|
||||
this.dataForm = result.data
|
||||
if (result.data.annexUrl) {
|
||||
const result2 = await downloadFile({
|
||||
type: 'file',
|
||||
attachmentId: result.data.annexUrl
|
||||
})
|
||||
blobToBase64(result2.data.data, (v) => {
|
||||
const file = new File([result2.data.data], result2.data.headers['content-disposition'].slice(result2.data.headers['content-disposition'].indexOf('filename=') + 9), { type: '*' })
|
||||
this.fileList.push({
|
||||
content: v,
|
||||
file
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
// 文件上传
|
||||
async upload (file) {
|
||||
const data = new FormData()
|
||||
data.append('files', file.file)
|
||||
data.append('typeCode', 'file')
|
||||
const result = await uploadFile(data)
|
||||
if (result.success) {
|
||||
this.dataForm.annexUrl = result.data[0].id
|
||||
}
|
||||
},
|
||||
// 提交表单
|
||||
async handleSubmit () {
|
||||
const result = await updateIns(this.dataForm)
|
||||
if (result.success) {
|
||||
Toast.success({
|
||||
message: '操作成功',
|
||||
onClose: () => {
|
||||
this.$router.push({
|
||||
name: 'eqInspectionEdit',
|
||||
query: {
|
||||
id: this.$route.query.insId
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.eqInspectionEdit {
|
||||
width: 100%;
|
||||
background: #F6F6F6;
|
||||
.eq-header {
|
||||
background: #4271FF;
|
||||
.van-icon {
|
||||
color: #fff;
|
||||
font-size: .4375rem;
|
||||
}
|
||||
.van-nav-bar__content {
|
||||
height: 1.5rem;
|
||||
line-height: 1.5rem;
|
||||
.van-nav-bar__title {
|
||||
color: #fff;
|
||||
font-size: .4375rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
.eq-edit-main {
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
top: 1.5rem;
|
||||
bottom: 0;
|
||||
overflow: scroll;
|
||||
input::-webkit-input-placeholder {
|
||||
font-size: .375rem;
|
||||
}
|
||||
input:-moz-placeholder {
|
||||
font-size: .375rem;
|
||||
}
|
||||
input::-moz-placeholder {
|
||||
font-size: .375rem;
|
||||
}
|
||||
input:-ms-input-placeholder {
|
||||
font-size: .375rem;
|
||||
}
|
||||
.eq-main-item {
|
||||
background: #fff;
|
||||
padding-bottom: .25rem;
|
||||
margin-bottom: .25rem;
|
||||
.eq-field-item {
|
||||
padding-top: .25rem;
|
||||
line-height: .875rem;
|
||||
.eq-field-item-lable {
|
||||
text-indent: .375rem;
|
||||
font-size: .375rem;
|
||||
}
|
||||
.van-cell {
|
||||
padding: 0 .25rem;
|
||||
height: .875rem;
|
||||
background: #F6F6F6;
|
||||
border-radius: .1875rem;
|
||||
.van-field__body {
|
||||
height: .875rem;
|
||||
.van-field__control {
|
||||
height: .875rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.eq-main-edit-item {
|
||||
background: #fff;
|
||||
padding-bottom: .25rem;
|
||||
margin-bottom: .25rem;
|
||||
.eq-field-item {
|
||||
padding-top: .25rem;
|
||||
line-height: .875rem;
|
||||
.eq-field-item-lable {
|
||||
text-indent: .375rem;
|
||||
font-size: .375rem;
|
||||
}
|
||||
.van-cell {
|
||||
width: calc(100% - .75rem);
|
||||
margin: 0 .375rem;
|
||||
padding: 0 .25rem;
|
||||
background: #F6F6F6;
|
||||
border-radius: .125rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
.eq-main-edit-neirong-item {
|
||||
background: #fff;
|
||||
padding-bottom: .25rem;
|
||||
margin-bottom: .25rem;
|
||||
.eq-field-item {
|
||||
padding-top: .25rem;
|
||||
line-height: .875rem;
|
||||
.eq-field-item-lable {
|
||||
text-indent: .375rem;
|
||||
font-size: .375rem;
|
||||
}
|
||||
.eq-main-edit-neirong-item-item {
|
||||
border-bottom: 1px solid #F6F6F6;
|
||||
.van-cell__title {
|
||||
font-size: .3125rem;
|
||||
}
|
||||
.van-cell__label {
|
||||
font-size: .3125rem;
|
||||
}
|
||||
.van-button {
|
||||
height: 100%;
|
||||
border: 0;
|
||||
background: #42D1A5;
|
||||
color: #fff;
|
||||
font-size: .3125rem;
|
||||
.van-icon {
|
||||
font-size: .5rem;
|
||||
margin-bottom: .1rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
@ -2,7 +2,7 @@
|
||||
* @Author: gtz
|
||||
* @Date: 2022-07-28 10:22:30
|
||||
* @LastEditors: gtz
|
||||
* @LastEditTime: 2022-08-02 15:15:11
|
||||
* @LastEditTime: 2022-08-03 09:06:45
|
||||
* @Description: file content
|
||||
* @FilePath: \hf-pda\src\pages\eqInspection\eqInspection-edit.vue
|
||||
-->
|
||||
@ -81,7 +81,7 @@
|
||||
</template>
|
||||
</van-cell>
|
||||
<template #right>
|
||||
<van-button square>
|
||||
<van-button square @click="toInsDetail(item)">
|
||||
<van-icon name="add-o" />
|
||||
<div>编辑详情</div>
|
||||
</van-button>
|
||||
@ -238,7 +238,6 @@ export default {
|
||||
},
|
||||
// 文件上传
|
||||
async upload (file) {
|
||||
console.log(this.fileList)
|
||||
const data = new FormData()
|
||||
data.append('files', file.file)
|
||||
data.append('typeCode', 'file')
|
||||
@ -249,7 +248,6 @@ export default {
|
||||
},
|
||||
// 更新巡检内容状态
|
||||
async updateStatus (item) {
|
||||
console.log(item)
|
||||
const result = await updateInsStatus({
|
||||
id: item.id,
|
||||
status: item.statusBoolean ? '1' : '0'
|
||||
@ -300,6 +298,16 @@ export default {
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
// 前往巡检内容详情
|
||||
toInsDetail (item) {
|
||||
this.$router.push({
|
||||
name: 'eqInspectionDetail',
|
||||
query: {
|
||||
id: item.id,
|
||||
insId: this.dataForm.id
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
135
src/pages/material/components/materialItem.vue
Normal file
135
src/pages/material/components/materialItem.vue
Normal file
@ -0,0 +1,135 @@
|
||||
<!--
|
||||
* @Author: gtz
|
||||
* @Date: 2022-07-28 10:22:30
|
||||
* @LastEditors: gtz
|
||||
* @LastEditTime: 2022-08-03 14:06:58
|
||||
* @Description: file content
|
||||
* @FilePath: \hf-pda\src\pages\material\components\materialItem.vue
|
||||
-->
|
||||
<template>
|
||||
<div class="materialItem">
|
||||
<div class="eqItem-header">
|
||||
<div class="eqItem-title">
|
||||
<short-line />
|
||||
{{ injectData.equipmentName }}
|
||||
</div>
|
||||
<div class="eqItem-user">
|
||||
{{ injectData.operator }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="eqItem-main">
|
||||
<div class="eqItem-main-left">
|
||||
<div class="eqItem-main-left-item">
|
||||
物料批次:
|
||||
<span>{{ injectData.materialDateCode ? injectData.materialDateCode : '暂无' }}</span>
|
||||
</div>
|
||||
<div class="eqItem-main-left-item">
|
||||
换料时间:
|
||||
<span>{{ injectData.replaceTime ? moment(injectData.replaceTime).format('YYYY-MM-DD HH:mm:ss') : '暂无' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="eqItem-main-right" @click="toDetail">
|
||||
<div class="eqItem-main-right-box">
|
||||
<div style="opacity: .5;">查看详情</div>
|
||||
<div>
|
||||
<van-icon class-prefix="iconfont" name="jiantou" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import moment from 'moment'
|
||||
import shortLine from '@/components/shortLine.vue'
|
||||
|
||||
export default {
|
||||
name: 'materialItem',
|
||||
components: { shortLine },
|
||||
props: {
|
||||
injectData: {
|
||||
type: Object,
|
||||
default: () => {}
|
||||
}
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
moment
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
toDetail () {
|
||||
this.$router.push({
|
||||
name: 'materialEdit',
|
||||
query: {
|
||||
id: this.injectData.id
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.materialItem {
|
||||
width: calc(100% - .75rem);
|
||||
padding: .125rem .375rem;
|
||||
border-radius: .25rem;
|
||||
height: 2.125rem;
|
||||
background: #fff;
|
||||
box-shadow: .02rem .02rem .1rem rgba($color: #000000, $alpha: .2);
|
||||
margin: .125rem 0;
|
||||
.eqItem-header {
|
||||
line-height: .875rem;
|
||||
display: flex;
|
||||
font-size: .34375rem;
|
||||
.eqItem-title {
|
||||
font-weight: bold;
|
||||
max-width: 2.75rem;
|
||||
overflow:hidden;
|
||||
text-overflow:ellipsis;
|
||||
white-space:nowrap;
|
||||
}
|
||||
.eqItem-user {
|
||||
padding-left: .5rem;
|
||||
flex: 1;
|
||||
text-align: right;
|
||||
overflow:hidden;
|
||||
text-overflow:ellipsis;
|
||||
white-space:nowrap;
|
||||
}
|
||||
}
|
||||
.eqItem-main {
|
||||
display: flex;
|
||||
.eqItem-main-left {
|
||||
flex: 1;
|
||||
padding-right: .1rem;
|
||||
.eqItem-main-left-item {
|
||||
line-height: .59375rem;
|
||||
font-size: .3125rem;
|
||||
overflow:hidden;
|
||||
text-overflow:ellipsis;
|
||||
white-space:nowrap;
|
||||
span {
|
||||
opacity: .5;
|
||||
}
|
||||
}
|
||||
}
|
||||
.eqItem-main-right {
|
||||
font-size: .3125rem;
|
||||
width: 1.6rem;
|
||||
display: flex;
|
||||
align-items: flex-end;
|
||||
justify-content: center;
|
||||
.eqItem-main-right-box {
|
||||
padding-bottom: .1rem;
|
||||
.iconfont {
|
||||
font-size: 0.17rem;
|
||||
color: #4271FF;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
59
src/pages/material/components/materialPopup-batch.vue
Normal file
59
src/pages/material/components/materialPopup-batch.vue
Normal file
@ -0,0 +1,59 @@
|
||||
<!--
|
||||
* @Author: gtz
|
||||
* @Date: 2022-07-28 10:22:30
|
||||
* @LastEditors: gtz
|
||||
* @LastEditTime: 2022-08-03 20:27:20
|
||||
* @Description: file content
|
||||
* @FilePath: \hf-pda\src\pages\material\components\materialPopup-batch.vue
|
||||
-->
|
||||
<template>
|
||||
<van-popup v-model="show" position="bottom" class="eqPopup">
|
||||
<van-picker
|
||||
title="选择设备"
|
||||
show-toolbar
|
||||
:columns="showList"
|
||||
@confirm="onConfirm"
|
||||
@cancel="onCancel"
|
||||
/>
|
||||
</van-popup>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
export default {
|
||||
name: 'eqPopup',
|
||||
props: {
|
||||
batchList: {
|
||||
type: Array,
|
||||
default: () => []
|
||||
}
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
show: false
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
showList: function () {
|
||||
return this.batchList.map(item => {
|
||||
return item.name
|
||||
})
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
init () {
|
||||
this.show = true
|
||||
},
|
||||
onConfirm (val, index) {
|
||||
this.$emit('changeBatch', index)
|
||||
this.show = false
|
||||
},
|
||||
onCancel () {
|
||||
this.show = false
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
</style>
|
60
src/pages/material/components/materialPopup-source.vue
Normal file
60
src/pages/material/components/materialPopup-source.vue
Normal file
@ -0,0 +1,60 @@
|
||||
<!--
|
||||
* @Author: gtz
|
||||
* @Date: 2022-07-28 10:22:30
|
||||
* @LastEditors: gtz
|
||||
* @LastEditTime: 2022-08-03 20:27:07
|
||||
* @Description: file content
|
||||
* @FilePath: \hf-pda\src\pages\material\components\materialPopup-source.vue
|
||||
-->
|
||||
<template>
|
||||
<van-popup v-model="show" position="bottom" class="eqPopup">
|
||||
<van-picker
|
||||
title="选择设备"
|
||||
show-toolbar
|
||||
:columns="showList"
|
||||
:default-index="1"
|
||||
@confirm="onConfirm"
|
||||
@cancel="onCancel"
|
||||
/>
|
||||
</van-popup>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
export default {
|
||||
name: 'eqPopup',
|
||||
props: {
|
||||
sourceList: {
|
||||
type: Array,
|
||||
default: () => []
|
||||
}
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
show: false
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
showList: function () {
|
||||
return this.sourceList.map(item => {
|
||||
return item
|
||||
})
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
init () {
|
||||
this.show = true
|
||||
},
|
||||
onConfirm (val) {
|
||||
this.$emit('changeSource', val)
|
||||
this.show = false
|
||||
},
|
||||
onCancel () {
|
||||
this.show = false
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
</style>
|
81
src/pages/material/components/materialPopup-worker.vue
Normal file
81
src/pages/material/components/materialPopup-worker.vue
Normal file
@ -0,0 +1,81 @@
|
||||
<!--
|
||||
* @Author: gtz
|
||||
* @Date: 2022-07-28 10:22:30
|
||||
* @LastEditors: gtz
|
||||
* @LastEditTime: 2022-08-03 20:16:41
|
||||
* @Description: file content
|
||||
* @FilePath: \hf-pda\src\pages\material\components\materialPopup-worker.vue
|
||||
-->
|
||||
<template>
|
||||
<van-popup v-model="show" position="bottom" class="eqPopup">
|
||||
<van-field-check-box
|
||||
title="选择设备"
|
||||
show-toolbar
|
||||
ref="worker-picker"
|
||||
:columns="showList"
|
||||
:select-value="defaultValue"
|
||||
@confirm="onConfirm"
|
||||
@cancel="onCancel"
|
||||
/>
|
||||
<!-- <van-picker
|
||||
title="选择设备"
|
||||
show-toolbar
|
||||
ref="worker-picker"
|
||||
:columns="showList"
|
||||
@confirm="onConfirm"
|
||||
@cancel="onCancel"
|
||||
>
|
||||
<template #title>
|
||||
<span @click="selectConfirm" style="font-size: .28rem; color: #1989fa">选择</span>
|
||||
</template>
|
||||
</van-picker> -->
|
||||
</van-popup>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import VanFieldCheckBox from '@/components/VanFieldCheckBox'
|
||||
|
||||
export default {
|
||||
name: 'eqPopup',
|
||||
components: { VanFieldCheckBox },
|
||||
props: {
|
||||
workerList: {
|
||||
type: Array,
|
||||
default: () => []
|
||||
}
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
show: false,
|
||||
defaultValue: []
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
showList: function () {
|
||||
return this.workerList.map(item => {
|
||||
return { label: item.name, value: item.name }
|
||||
})
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
init (operator) {
|
||||
if (operator) {
|
||||
this.defaultValue = operator.split('、')
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
this.show = true
|
||||
})
|
||||
},
|
||||
onConfirm (val) {
|
||||
this.$emit('changeWorker', val.join('、'))
|
||||
this.show = false
|
||||
},
|
||||
onCancel () {
|
||||
this.show = false
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
</style>
|
59
src/pages/material/components/materialPopup.vue
Normal file
59
src/pages/material/components/materialPopup.vue
Normal file
@ -0,0 +1,59 @@
|
||||
<!--
|
||||
* @Author: gtz
|
||||
* @Date: 2022-07-28 10:22:30
|
||||
* @LastEditors: gtz
|
||||
* @LastEditTime: 2022-08-03 20:26:56
|
||||
* @Description: file content
|
||||
* @FilePath: \hf-pda\src\pages\material\components\materialPopup.vue
|
||||
-->
|
||||
<template>
|
||||
<van-popup v-model="show" position="bottom" class="eqPopup">
|
||||
<van-picker
|
||||
title="选择设备"
|
||||
show-toolbar
|
||||
:columns="showEqList"
|
||||
@confirm="onConfirm"
|
||||
@cancel="onCancel"
|
||||
/>
|
||||
</van-popup>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
export default {
|
||||
name: 'eqPopup',
|
||||
props: {
|
||||
eqList: {
|
||||
type: Array,
|
||||
default: () => []
|
||||
}
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
show: false
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
showEqList: function () {
|
||||
return this.eqList.map(item => {
|
||||
return item.name
|
||||
})
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
init () {
|
||||
this.show = true
|
||||
},
|
||||
onConfirm (val, index) {
|
||||
this.$emit('changeEq', index)
|
||||
this.show = false
|
||||
},
|
||||
onCancel () {
|
||||
this.show = false
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
</style>
|
78
src/pages/material/components/timePopup.vue
Normal file
78
src/pages/material/components/timePopup.vue
Normal file
@ -0,0 +1,78 @@
|
||||
<!--
|
||||
* @Author: gtz
|
||||
* @Date: 2022-07-28 10:22:30
|
||||
* @LastEditors: gtz
|
||||
* @LastEditTime: 2022-07-28 17:26:08
|
||||
* @Description: file content
|
||||
* @FilePath: \hf-pda\src\pages\eqInspection\components\timePopup.vue
|
||||
-->
|
||||
<template>
|
||||
<van-calendar
|
||||
class="timePopup"
|
||||
v-model="show"
|
||||
type="range"
|
||||
:min-date="minDate"
|
||||
:default-date="defaultDate"
|
||||
@confirm="onConfirm"
|
||||
/>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import moment from 'moment'
|
||||
|
||||
export default {
|
||||
props: {
|
||||
defaultDate: {
|
||||
type: Array,
|
||||
default: () => {
|
||||
return [new Date(), new Date() + 86400000]
|
||||
}
|
||||
}
|
||||
},
|
||||
name: 'timePopup',
|
||||
data () {
|
||||
return {
|
||||
show: false,
|
||||
date: null,
|
||||
minDate: new Date(2020, 1, 1)
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
init () {
|
||||
this.show = true
|
||||
},
|
||||
formatDate (date) {
|
||||
return moment(date).format('YYYY-MM-DDTHH:mm:ss')
|
||||
},
|
||||
onConfirm (date) {
|
||||
const [start, end] = date
|
||||
this.show = false
|
||||
this.date = [
|
||||
this.formatDate(start - (start.valueOf() + 28800000) % 86400000),
|
||||
this.formatDate(end - (start.valueOf() + 28800000) % 86400000 + 86399000)
|
||||
]
|
||||
this.$emit('changeDate', this.date)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.timePopup {
|
||||
.van-calendar__day--start, .van-calendar__day--end {
|
||||
background-color: #4271FF;
|
||||
}
|
||||
.van-calendar__day--middle::after {
|
||||
background-color: transparent;
|
||||
}
|
||||
.van-calendar__day--middle {
|
||||
background: rgba($color: #4271FF, $alpha: .2);
|
||||
color: #fff;
|
||||
}
|
||||
.van-button--danger {
|
||||
color: #fff;
|
||||
background-color: #4271FF;
|
||||
border: 0.02rem solid #4271FF;
|
||||
}
|
||||
}
|
||||
</style>
|
185
src/pages/material/material-add.vue
Normal file
185
src/pages/material/material-add.vue
Normal file
@ -0,0 +1,185 @@
|
||||
<!--
|
||||
* @Author: gtz
|
||||
* @Date: 2022-07-28 10:22:30
|
||||
* @LastEditors: gtz
|
||||
* @LastEditTime: 2022-08-03 13:50:15
|
||||
* @Description: file content
|
||||
* @FilePath: \hf-pda\src\pages\material\material-add.vue
|
||||
-->
|
||||
<template>
|
||||
<div class="materialAdd">
|
||||
<!-- @keypress.enter="submitEqCode" -->
|
||||
<!-- navbar -->
|
||||
<van-sticky :offset-top="0">
|
||||
<van-nav-bar
|
||||
title="PDA换料扫描设备信息"
|
||||
left-arrow
|
||||
sticky
|
||||
class="eq-header"
|
||||
@click-left="onClickLeft"
|
||||
/>
|
||||
<!-- @click-right="onClickRight" -->
|
||||
</van-sticky>
|
||||
<div class="eq-add-main">
|
||||
<van-row class="eq-field-item">
|
||||
<van-col :span="7" class="eq-field-item-lable">
|
||||
<short-line />
|
||||
设备编码
|
||||
</van-col>
|
||||
<van-col :span="15" :offset="1" class="eq-field-item-input">
|
||||
<van-field
|
||||
v-model="eqCode"
|
||||
ref="eqCodeInput"
|
||||
clearable
|
||||
autofocus
|
||||
placeholder="扫描或手动获取"
|
||||
>
|
||||
<template #button>
|
||||
<van-button size="small" type="primary" @click="handleSelectEq">选择</van-button>
|
||||
</template>
|
||||
</van-field>
|
||||
</van-col>
|
||||
</van-row>
|
||||
<div class="eq-main-img">
|
||||
<img src="../../assets/img/back.png" alt="">
|
||||
</div>
|
||||
<van-row style="position: absolute; bottom: 1rem; width: 100%">
|
||||
<van-col :span="22" :offset="1">
|
||||
<van-button type="info" round size="large" @click="submitEqCode">确 定</van-button>
|
||||
</van-col>
|
||||
</van-row>
|
||||
<material-popup ref="eqPopup" :eq-list="list" @changeEq="changeEq" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import shortLine from '@/components/shortLine.vue'
|
||||
import materialPopup from './components/materialPopup.vue'
|
||||
import { getEqInfo, eqList } from '@/api/material'
|
||||
|
||||
export default {
|
||||
name: 'materialAdd',
|
||||
components: { shortLine, materialPopup },
|
||||
data () {
|
||||
return {
|
||||
eqCode: null,
|
||||
list: []
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
this.getEqList()
|
||||
},
|
||||
methods: {
|
||||
// 返回上一页
|
||||
onClickLeft () {
|
||||
this.$router.goBack()
|
||||
},
|
||||
// 获取设备列表
|
||||
async getEqList () {
|
||||
const result = await eqList({
|
||||
current: 1,
|
||||
size: 999
|
||||
})
|
||||
if (result.success) {
|
||||
this.list = result.data
|
||||
}
|
||||
},
|
||||
// 选择设备
|
||||
handleSelectEq () {
|
||||
this.$refs.eqPopup.init()
|
||||
},
|
||||
// 选择设备回调
|
||||
changeEq (index) {
|
||||
this.eqCode = this.list[index].code
|
||||
},
|
||||
// 提交设备CODE
|
||||
async submitEqCode () {
|
||||
const result = await getEqInfo({
|
||||
key: this.eqCode
|
||||
})
|
||||
if (result.success) {
|
||||
this.$router.push({
|
||||
name: 'materialEdit',
|
||||
query: {
|
||||
equipmentId: result.data.id,
|
||||
equipmentName: result.data.name
|
||||
}
|
||||
})
|
||||
}
|
||||
console.log(result)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.materialAdd {
|
||||
width: 100%;
|
||||
.eq-header {
|
||||
background: #4271FF;
|
||||
.van-icon {
|
||||
color: #fff;
|
||||
font-size: .4375rem;
|
||||
}
|
||||
.van-nav-bar__content {
|
||||
height: 1.5rem;
|
||||
line-height: 1.5rem;
|
||||
.van-nav-bar__title {
|
||||
color: #fff;
|
||||
font-size: .4375rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
.eq-add-main {
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
top: 1.5rem;
|
||||
bottom: 0;
|
||||
overflow: scroll;
|
||||
input::-webkit-input-placeholder {
|
||||
font-size: .375rem;
|
||||
}
|
||||
input:-moz-placeholder {
|
||||
font-size: .375rem;
|
||||
}
|
||||
input::-moz-placeholder {
|
||||
font-size: .375rem;
|
||||
}
|
||||
input:-ms-input-placeholder {
|
||||
font-size: .375rem;
|
||||
}
|
||||
.eq-field-item {
|
||||
padding-top: .25rem;
|
||||
line-height: .875rem;
|
||||
.eq-field-item-lable {
|
||||
text-align: right;
|
||||
font-size: .375rem;
|
||||
}
|
||||
.van-cell {
|
||||
padding: 0 .25rem;
|
||||
height: .875rem;
|
||||
background: #F6F6F6;
|
||||
border-radius: .1875rem;
|
||||
.van-field__body {
|
||||
height: .875rem;
|
||||
.van-field__control {
|
||||
height: .875rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.eq-main-img {
|
||||
width: 100%;
|
||||
min-height: 70vh;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
img {
|
||||
width: 4.4rem;
|
||||
height: 3.6rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
459
src/pages/material/material-edit.vue
Normal file
459
src/pages/material/material-edit.vue
Normal file
@ -0,0 +1,459 @@
|
||||
<!--
|
||||
* @Author: gtz
|
||||
* @Date: 2022-07-28 10:22:30
|
||||
* @LastEditors: gtz
|
||||
* @LastEditTime: 2022-08-03 20:39:43
|
||||
* @Description: file content
|
||||
* @FilePath: \hf-pda\src\pages\material\material-edit.vue
|
||||
-->
|
||||
<template>
|
||||
<div class="materialEdit">
|
||||
<!-- navbar -->
|
||||
<van-sticky :offset-top="0">
|
||||
<van-nav-bar
|
||||
title="PDA换料信息"
|
||||
left-arrow
|
||||
sticky
|
||||
class="eq-header"
|
||||
@click-left="onClickLeft"
|
||||
/>
|
||||
<!-- @click-right="onClickRight" -->
|
||||
</van-sticky>
|
||||
<div class="eq-edit-main">
|
||||
<div class="eq-main-item">
|
||||
<van-row class="eq-field-item">
|
||||
<van-col :span="7" class="eq-field-item-lable">
|
||||
<short-line />
|
||||
批次
|
||||
</van-col>
|
||||
<van-col :span="15" :offset="1" class="eq-field-item-input">
|
||||
<van-field
|
||||
v-model="dataForm.materialDateName"
|
||||
disabled
|
||||
placeholder="请选择批次"
|
||||
@click="handleSelectBatch"
|
||||
right-icon="arrow-down"
|
||||
/>
|
||||
</van-col>
|
||||
</van-row>
|
||||
<van-row class="eq-field-item">
|
||||
<van-col :span="7" class="eq-field-item-lable">
|
||||
<short-line />
|
||||
换料时间
|
||||
</van-col>
|
||||
<van-col :span="15" :offset="1" class="eq-field-item-input">
|
||||
<van-field
|
||||
v-model="dataForm.replaceTime"
|
||||
disabled
|
||||
placeholder="请选择换料时间"
|
||||
@click="handleDate"
|
||||
right-icon="arrow-down"
|
||||
/>
|
||||
</van-col>
|
||||
</van-row>
|
||||
<van-row class="eq-field-item">
|
||||
<van-col :span="7" class="eq-field-item-lable">
|
||||
<short-line />
|
||||
物料名称
|
||||
</van-col>
|
||||
<van-col :span="15" :offset="1" class="eq-field-item-input">
|
||||
<van-field
|
||||
v-model="dataForm.materialName"
|
||||
disabled
|
||||
placeholder="请选择批次"
|
||||
/>
|
||||
</van-col>
|
||||
</van-row>
|
||||
<van-row class="eq-field-item">
|
||||
<van-col :span="7" class="eq-field-item-lable">
|
||||
<short-line />
|
||||
物料编码
|
||||
</van-col>
|
||||
<van-col :span="15" :offset="1" class="eq-field-item-input">
|
||||
<van-field
|
||||
v-model="dataForm.materialCode"
|
||||
disabled
|
||||
placeholder="请选择批次"
|
||||
/>
|
||||
</van-col>
|
||||
</van-row>
|
||||
<van-row class="eq-field-item">
|
||||
<van-col :span="7" class="eq-field-item-lable">
|
||||
<short-line />
|
||||
设备名
|
||||
</van-col>
|
||||
<van-col :span="15" :offset="1" class="eq-field-item-input">
|
||||
<van-field
|
||||
v-model="dataForm.equipmentName"
|
||||
disabled
|
||||
placeholder="请选择设备"
|
||||
@click="handleSelectEq"
|
||||
right-icon="arrow-down"
|
||||
/>
|
||||
</van-col>
|
||||
</van-row>
|
||||
<van-row class="eq-field-item">
|
||||
<van-col :span="7" class="eq-field-item-lable">
|
||||
<short-line />
|
||||
数据来源
|
||||
</van-col>
|
||||
<van-col :span="15" :offset="1" class="eq-field-item-input">
|
||||
<van-field
|
||||
v-model="dataForm.source"
|
||||
disabled
|
||||
placeholder="请选择数据来源"
|
||||
right-icon="arrow-down"
|
||||
@click="handleSelectSource"
|
||||
/>
|
||||
</van-col>
|
||||
</van-row>
|
||||
<van-row class="eq-field-item">
|
||||
<van-col :span="7" class="eq-field-item-lable">
|
||||
<short-line />
|
||||
操作员
|
||||
</van-col>
|
||||
<van-col :span="15" :offset="1" class="eq-field-item-input">
|
||||
<van-field
|
||||
v-model="dataForm.operator"
|
||||
disabled
|
||||
placeholder="请选择操作员"
|
||||
right-icon="arrow-down"
|
||||
@click="handleSelectWorker"
|
||||
/>
|
||||
</van-col>
|
||||
</van-row>
|
||||
</div>
|
||||
<div class="eq-main-edit-item">
|
||||
<van-row class="eq-field-item">
|
||||
<van-col :span="7" class="eq-field-item-lable">
|
||||
<short-line />
|
||||
备注
|
||||
</van-col>
|
||||
<van-col :span="15" :offset="1" />
|
||||
<van-field
|
||||
v-model="dataForm.remark"
|
||||
type="textarea"
|
||||
rows="5"
|
||||
autosize
|
||||
/>
|
||||
<van-col style="margin-top: .2rem" :span="10" :offset="1">
|
||||
<van-button type="primary" round size="large" @click="resetForm">
|
||||
重置
|
||||
</van-button>
|
||||
</van-col>
|
||||
<van-col style="margin-top: .2rem" :span="10" :offset="2">
|
||||
<van-button type="info" round size="large" @click="handleSubmit">
|
||||
提交
|
||||
</van-button>
|
||||
</van-col>
|
||||
</van-row>
|
||||
</div>
|
||||
</div>
|
||||
<van-popup v-model="showDate" position="bottom">
|
||||
<van-datetime-picker
|
||||
v-model="currentDate"
|
||||
type="datetime"
|
||||
title="换料时间"
|
||||
:min-date="minDate"
|
||||
@confirm="setDate"
|
||||
@cancel="showDate = false"
|
||||
/>
|
||||
</van-popup>
|
||||
<material-popup ref="eqPopup" :eq-list="eqList" @changeEq="changeEq" />
|
||||
<material-popup-batch ref="batchPopup" :batch-list="batchList" @changeBatch="changeBatch" />
|
||||
<material-popup-worker ref="workerPopup" :worker-list="workerList" @changeWorker="changeWorker" />
|
||||
<material-popup-source ref="sourcePopup" :source-list="sourceList" @changeSource="changeSource" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import moment from 'moment'
|
||||
import { detail, eqList, batchList, workerList, materialInfo, add, update } from '@/api/material'
|
||||
import shortLine from '@/components/shortLine.vue'
|
||||
import materialPopup from './components/materialPopup'
|
||||
import materialPopupBatch from './components/materialPopup-batch'
|
||||
import materialPopupWorker from './components/materialPopup-worker'
|
||||
import materialPopupSource from './components/materialPopup-source'
|
||||
import { Toast } from 'vant'
|
||||
|
||||
export default {
|
||||
name: 'materialEdit',
|
||||
components: { shortLine, materialPopup, materialPopupBatch, materialPopupWorker, materialPopupSource },
|
||||
data () {
|
||||
return {
|
||||
eqList: [],
|
||||
batchList: [],
|
||||
workerList: [],
|
||||
sourceList: ['手动', 'PDA'],
|
||||
dataForm: {
|
||||
id: null,
|
||||
equipmentId: null,
|
||||
equipmentName: null,
|
||||
materialDateName: null,
|
||||
materialDateCode: null,
|
||||
materialName: null,
|
||||
materialCode: null,
|
||||
replaceTime: null,
|
||||
operator: null,
|
||||
source: null,
|
||||
remark: null
|
||||
},
|
||||
minDate: new Date(2020, 0, 1),
|
||||
showDate: false,
|
||||
currentDate: null
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
if (this.$route.query.equipmentName) {
|
||||
this.dataForm.equipmentName = this.$route.query.equipmentName
|
||||
}
|
||||
this.getDictList()
|
||||
},
|
||||
methods: {
|
||||
// 返回上一页
|
||||
onClickLeft () {
|
||||
this.$router.goBack()
|
||||
},
|
||||
async getDictList () {
|
||||
const listQuery = {
|
||||
current: 1,
|
||||
size: 999
|
||||
}
|
||||
const resultEq = await eqList(listQuery)
|
||||
if (resultEq.success) {
|
||||
this.eqList = resultEq.data
|
||||
}
|
||||
const resultBatch = await batchList(listQuery)
|
||||
if (resultBatch.success) {
|
||||
this.batchList = resultBatch.data
|
||||
}
|
||||
const resultWorker = await workerList(listQuery)
|
||||
if (resultWorker.success) {
|
||||
this.workerList = resultWorker.data.records
|
||||
}
|
||||
if (this.$route.query.id) {
|
||||
this.getDetail()
|
||||
} else {
|
||||
this.dataForm.equipmentId = this.$route.query.equipmentId
|
||||
this.dataForm.equipmentName = this.$route.query.equipmentName
|
||||
}
|
||||
},
|
||||
// 获取详情
|
||||
async getDetail () {
|
||||
const result = await detail({
|
||||
id: this.$route.query.id
|
||||
})
|
||||
if (result.success) {
|
||||
this.dataForm = result.data
|
||||
}
|
||||
},
|
||||
// 更新时间
|
||||
setDate (v) {
|
||||
this.dataForm.replaceTime = moment(v).format('YYYY-MM-DDTHH:mm:ss')
|
||||
this.showDate = false
|
||||
},
|
||||
// 弹出日期选择器
|
||||
handleDate () {
|
||||
this.showDate = true
|
||||
},
|
||||
// 修改设备
|
||||
changeEq (index) {
|
||||
this.dataForm.equipmentId = this.eqList[index].id
|
||||
this.dataForm.equipmentName = this.eqList[index].name
|
||||
},
|
||||
// 弹出设备选择框
|
||||
handleSelectEq () {
|
||||
this.$refs.eqPopup.init(this.dataForm.equipmentName)
|
||||
},
|
||||
// 修改批次
|
||||
async changeBatch (index) {
|
||||
const result = await materialInfo({
|
||||
externalCode: this.batchList[index].code
|
||||
})
|
||||
if (result.success) {
|
||||
this.dataForm.materialDateName = result.data.name
|
||||
this.dataForm.materialDateCode = result.data.code
|
||||
this.dataForm.materialName = result.data.materialName
|
||||
this.dataForm.materialCode = result.data.materialCode
|
||||
this.dataForm.materialId = result.data.materialId
|
||||
}
|
||||
},
|
||||
// 弹出批次选择框
|
||||
handleSelectBatch () {
|
||||
this.$refs.batchPopup.init(this.dataForm.materialDateName)
|
||||
},
|
||||
// 修改操作员
|
||||
changeWorker (val) {
|
||||
this.dataForm.operator = val
|
||||
},
|
||||
// 弹出操作员选择框
|
||||
handleSelectWorker () {
|
||||
this.$refs.workerPopup.init(this.dataForm.operator)
|
||||
},
|
||||
changeSource (val) {
|
||||
this.dataForm.source = val
|
||||
},
|
||||
handleSelectSource () {
|
||||
this.$refs.sourcePopup.init(this.dataForm.source)
|
||||
},
|
||||
// 提交表单
|
||||
async handleSubmit () {
|
||||
if (this.dataForm.replaceTime && this.dataForm.materialDateCode && this.dataForm.equipmentId) {
|
||||
let result = {}
|
||||
if (this.$route.query.id) {
|
||||
result = await update(this.dataForm)
|
||||
} else {
|
||||
result = await add(this.dataForm)
|
||||
}
|
||||
if (result.success) {
|
||||
Toast.success({
|
||||
message: '操作成功',
|
||||
onClose: () => {
|
||||
this.$router.push({
|
||||
name: 'material'
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
} else {
|
||||
this.$notify('批次号、设备、换料时间必须选择!')
|
||||
}
|
||||
},
|
||||
// 重置表单
|
||||
resetForm () {
|
||||
this.dataForm = {
|
||||
id: null,
|
||||
equipmentId: null,
|
||||
equipmentName: null,
|
||||
materialDateName: null,
|
||||
materialDateCode: null,
|
||||
materialName: null,
|
||||
materialCode: null,
|
||||
replaceTime: null,
|
||||
operator: null,
|
||||
source: null,
|
||||
remark: null
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.materialEdit {
|
||||
width: 100%;
|
||||
background: #F6F6F6;
|
||||
.eq-header {
|
||||
background: #4271FF;
|
||||
.van-icon {
|
||||
color: #fff;
|
||||
font-size: .4375rem;
|
||||
}
|
||||
.van-nav-bar__content {
|
||||
height: 1.5rem;
|
||||
line-height: 1.5rem;
|
||||
.van-nav-bar__title {
|
||||
color: #fff;
|
||||
font-size: .4375rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
.eq-edit-main {
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
top: 1.5rem;
|
||||
bottom: 0;
|
||||
overflow: scroll;
|
||||
input::-webkit-input-placeholder {
|
||||
font-size: .375rem;
|
||||
}
|
||||
input:-moz-placeholder {
|
||||
font-size: .375rem;
|
||||
}
|
||||
input::-moz-placeholder {
|
||||
font-size: .375rem;
|
||||
}
|
||||
input:-ms-input-placeholder {
|
||||
font-size: .375rem;
|
||||
}
|
||||
.eq-main-item {
|
||||
background: #fff;
|
||||
padding-bottom: .25rem;
|
||||
margin-bottom: .25rem;
|
||||
.eq-field-item {
|
||||
padding-top: .25rem;
|
||||
line-height: .875rem;
|
||||
.eq-field-item-lable {
|
||||
text-indent: .375rem;
|
||||
font-size: .375rem;
|
||||
}
|
||||
.van-cell {
|
||||
padding: 0 .25rem;
|
||||
height: .875rem;
|
||||
background: #F6F6F6;
|
||||
border-radius: .1875rem;
|
||||
.van-field__body {
|
||||
height: .875rem;
|
||||
.van-field__control {
|
||||
height: .875rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.eq-main-edit-item {
|
||||
background: #fff;
|
||||
padding-bottom: .25rem;
|
||||
margin-bottom: .25rem;
|
||||
.eq-field-item {
|
||||
padding-top: .25rem;
|
||||
line-height: .875rem;
|
||||
.eq-field-item-lable {
|
||||
text-indent: .375rem;
|
||||
font-size: .375rem;
|
||||
}
|
||||
.van-cell {
|
||||
width: calc(100% - .75rem);
|
||||
margin: 0 .375rem;
|
||||
padding: 0 .25rem;
|
||||
background: #F6F6F6;
|
||||
border-radius: .125rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
.eq-main-edit-neirong-item {
|
||||
background: #fff;
|
||||
padding-bottom: .25rem;
|
||||
margin-bottom: .25rem;
|
||||
.eq-field-item {
|
||||
padding-top: .25rem;
|
||||
line-height: .875rem;
|
||||
.eq-field-item-lable {
|
||||
text-indent: .375rem;
|
||||
font-size: .375rem;
|
||||
}
|
||||
.eq-main-edit-neirong-item-item {
|
||||
border-bottom: 1px solid #F6F6F6;
|
||||
.van-cell__title {
|
||||
font-size: .3125rem;
|
||||
}
|
||||
.van-cell__label {
|
||||
font-size: .3125rem;
|
||||
}
|
||||
.van-button {
|
||||
height: 100%;
|
||||
border: 0;
|
||||
background: #42D1A5;
|
||||
color: #fff;
|
||||
font-size: .3125rem;
|
||||
.van-icon {
|
||||
font-size: .5rem;
|
||||
margin-bottom: .1rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
@ -3,16 +3,42 @@
|
||||
<!-- navbar -->
|
||||
<van-sticky :offset-top="0">
|
||||
<van-nav-bar
|
||||
title="物料耗材"
|
||||
title="PDA换料记录"
|
||||
left-arrow
|
||||
sticky
|
||||
class="material-header"
|
||||
class="eq-header"
|
||||
@click-left="onClickLeft"
|
||||
/>
|
||||
<!-- @click-right="onClickRight" -->
|
||||
</van-sticky>
|
||||
<van-pull-refresh class="material-main" v-model="isLoading" @refresh="onRefresh" ref="listMain">
|
||||
<van-pull-refresh class="eq-main" v-model="isLoading" @refresh="onRefresh" ref="listMain">
|
||||
<!-- 信息列表主体 -->
|
||||
<!-- 搜索区域 -->
|
||||
<div class="eq-search">
|
||||
<div class="eq-search-back" />
|
||||
<div class="eq-search-main">
|
||||
<van-row class="eq-search-item">
|
||||
<van-col :span="7" class="eq-search-item-lable">关键字</van-col>
|
||||
<van-col :span="15" :offset="1" class="eq-search-item-input">
|
||||
<van-field
|
||||
v-model="queryList.key"
|
||||
placeholder="批次号/物料编码/名称"
|
||||
/>
|
||||
</van-col>
|
||||
</van-row>
|
||||
<van-row class="eq-search-btn">
|
||||
<van-col :span="9" :offset="1">
|
||||
<van-button class="eq-search-btn-item eq-search-btn-left" round @click="toAdd">扫描新增</van-button>
|
||||
</van-col>
|
||||
<van-col :span="12" :offset="1">
|
||||
<van-button class="eq-search-btn-item eq-search-btn-right" round @click="getDataList">查 询</van-button>
|
||||
</van-col>
|
||||
</van-row>
|
||||
</div>
|
||||
</div>
|
||||
<div class="eq-list">
|
||||
<material-item v-for="item in dataList" :inject-data="item" :key="item.id" />
|
||||
</div>
|
||||
<water-fall @click.native="getMore" :isOver="isOver"></water-fall>
|
||||
</van-pull-refresh>
|
||||
</div>
|
||||
@ -20,13 +46,18 @@
|
||||
|
||||
<script>
|
||||
import { list } from '@/api/material'
|
||||
import materialItem from './components/materialItem.vue'
|
||||
|
||||
export default {
|
||||
name: 'material',
|
||||
components: { materialItem },
|
||||
data () {
|
||||
return {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
queryList: {
|
||||
current: 1,
|
||||
key: '',
|
||||
size: 10
|
||||
},
|
||||
isLoading: false,
|
||||
isOver: true,
|
||||
dataList: []
|
||||
@ -34,35 +65,18 @@ export default {
|
||||
},
|
||||
mounted () {
|
||||
this.getDataList()
|
||||
document.querySelector('.material-main').addEventListener('scroll', this.handleScroll, true)
|
||||
// // 给浏览器加入一个空的历史纪录
|
||||
// window.history.pushState(null, null, document.URL)
|
||||
// // 给window添加一个popstate事件,拦截返回键,执行this.onBrowserBack事件,addEventListener需要指向一个方法
|
||||
// window.addEventListener('popstate', this.onBrowserBack, false)
|
||||
document.querySelector('.eq-main').addEventListener('scroll', this.handleScroll, true)
|
||||
},
|
||||
destroyed () {
|
||||
document.querySelector('.eq-main').removeEventListener('scroll', this.handleScroll, false)
|
||||
},
|
||||
// destroyed () {
|
||||
// window.removeEventListener('popstate', this.onBrowserBack, false)
|
||||
// document.querySelector('.ol-main').removeEventListener('scroll', this.handleScroll, false)
|
||||
// },
|
||||
methods: {
|
||||
// 浏览器返回按钮监听
|
||||
// onBrowserBack () {
|
||||
// if (this.show || this.showItem || this.showTypeId || this.showTypeCode) {
|
||||
// this.show = false
|
||||
// this.showItem = false
|
||||
// this.showTypeId = false
|
||||
// this.showTypeCode = false
|
||||
// window.history.pushState(null, null, document.URL)
|
||||
// } else {
|
||||
// this.$router.goBack()
|
||||
// }
|
||||
// },
|
||||
// 滚动事件监听
|
||||
handleScroll () {
|
||||
let clientHeight = document.documentElement.clientHeight // 客户区大小
|
||||
let scrollHeight = document.querySelector('.material-main').scrollHeight // 没用滚动条的情况下,元素内容的总高度
|
||||
let scrollTop = document.querySelector('.material-main').scrollTop // 被隐藏在内容区域上方的像素数
|
||||
let headerHeight = document.querySelector('.material-header').offsetHeight// header高度
|
||||
let scrollHeight = document.querySelector('.eq-main').scrollHeight // 没用滚动条的情况下,元素内容的总高度
|
||||
let scrollTop = document.querySelector('.eq-main').scrollTop // 被隐藏在内容区域上方的像素数
|
||||
let headerHeight = document.querySelector('.eq-header').offsetHeight// header高度
|
||||
let listHeight = clientHeight - headerHeight // list高度
|
||||
if (scrollTop - (scrollHeight - listHeight) >= -80 && this.isFirstScroll) {
|
||||
this.isFirstScroll = false
|
||||
@ -79,27 +93,23 @@ export default {
|
||||
// 瀑布流点击
|
||||
getMore () {
|
||||
if (this.isOver) {
|
||||
this.pageNum += 1
|
||||
this.queryList.current += 1
|
||||
this.getDataList()
|
||||
}
|
||||
},
|
||||
// 获取信息列表
|
||||
async getDataList () {
|
||||
const result = await list({
|
||||
pageSize: this.pageSize,
|
||||
pageNum: this.pageNum
|
||||
})
|
||||
const result = await list(this.queryList)
|
||||
if (result.success) {
|
||||
this.dataList = result.data
|
||||
if (this.dataOption.isLastPage) {
|
||||
this.dataList = result.data.records
|
||||
this.dataOption = result.data
|
||||
if (this.dataOption.total / 10 <= this.queryList.current) {
|
||||
this.isOver = false
|
||||
} else {
|
||||
this.isOver = true
|
||||
}
|
||||
this.show = false
|
||||
} else {
|
||||
this.dataOption.firstPage = 1
|
||||
this.dataOption.lastPage = 1
|
||||
this.isOver = true
|
||||
}
|
||||
},
|
||||
@ -109,11 +119,27 @@ export default {
|
||||
},
|
||||
// 返回上一页
|
||||
onClickLeft () {
|
||||
this.$router.goBack()
|
||||
this.$router.push({
|
||||
name: 'index'
|
||||
})
|
||||
},
|
||||
// 扫描新增
|
||||
toAdd () {
|
||||
this.$router.push({
|
||||
name: 'materialAdd'
|
||||
})
|
||||
},
|
||||
// 重置筛选项
|
||||
resetQuery () {
|
||||
this.queryList = {
|
||||
current: 1,
|
||||
key: '',
|
||||
size: 10
|
||||
}
|
||||
},
|
||||
// 下拉刷新
|
||||
async onRefresh () {
|
||||
this.resetList()
|
||||
this.resetQuery()
|
||||
await this.getDataList()
|
||||
this.$toast.success('刷新成功')
|
||||
this.isLoading = false
|
||||
@ -122,17 +148,117 @@ export default {
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
<style lang="scss">
|
||||
.material {
|
||||
width: 100%;
|
||||
background: #F6F6F6;
|
||||
.material-main{
|
||||
.eq-main {
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
top: .92rem;
|
||||
top: 1.5rem;
|
||||
bottom: 0;
|
||||
overflow: scroll;
|
||||
line-height: 1rem;
|
||||
}
|
||||
|
||||
.eq-header {
|
||||
background: #4271FF;
|
||||
.van-icon {
|
||||
color: #fff;
|
||||
font-size: .4375rem;
|
||||
}
|
||||
.van-nav-bar__content {
|
||||
height: 1.5rem;
|
||||
line-height: 1.5rem;
|
||||
.van-nav-bar__title {
|
||||
color: #fff;
|
||||
font-size: .4375rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
.van-hairline--bottom::after {
|
||||
border-bottom-width: 0;
|
||||
}
|
||||
.eq-search {
|
||||
width: 100%;
|
||||
height: 2.75rem;
|
||||
position: relative;
|
||||
.iconfont {
|
||||
font-size: .5rem;
|
||||
position: relative;
|
||||
top: .05rem;
|
||||
left: .09rem;
|
||||
color: #0B58FF;
|
||||
}
|
||||
.eq-search-back {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 1rem;
|
||||
background: #4271FF;
|
||||
}
|
||||
.eq-search-main {
|
||||
position: relative;
|
||||
padding-top: .125rem;
|
||||
width: 94%;
|
||||
margin-left: 3%;
|
||||
height: 2.625rem;
|
||||
border-radius: .25rem;
|
||||
background: #fff;
|
||||
box-shadow: .02rem .02rem .1rem rgba($color: #000000, $alpha: .2);
|
||||
input::-webkit-input-placeholder {
|
||||
font-size: .375rem;
|
||||
}
|
||||
input:-moz-placeholder {
|
||||
font-size: .375rem;
|
||||
}
|
||||
input::-moz-placeholder {
|
||||
font-size: .375rem;
|
||||
}
|
||||
input:-ms-input-placeholder {
|
||||
font-size: .375rem;
|
||||
}
|
||||
}
|
||||
.eq-search-item {
|
||||
padding-top: .25rem;
|
||||
line-height: .875rem;
|
||||
.eq-search-item-lable {
|
||||
text-align: right;
|
||||
font-size: .375rem;
|
||||
}
|
||||
.van-cell {
|
||||
padding: 0 .25rem;
|
||||
height: .875rem;
|
||||
background: #F6F6F6;
|
||||
border-radius: .1875rem;
|
||||
.van-field__body {
|
||||
height: .875rem;
|
||||
.van-field__control {
|
||||
height: .875rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.eq-search-btn {
|
||||
margin-top: .25rem;
|
||||
.eq-search-btn-item {
|
||||
width: 100%;
|
||||
font-size: .375rem;
|
||||
}
|
||||
.eq-search-btn-left {
|
||||
color: #42D1A5;
|
||||
border: 0.02rem solid #42D1A5;
|
||||
}
|
||||
.eq-search-btn-right {
|
||||
color: #fff;
|
||||
background: #4271FF;
|
||||
border: 0.02rem solid #4271FF;
|
||||
}
|
||||
}
|
||||
}
|
||||
.eq-list {
|
||||
width: 94%;
|
||||
padding: 0 3%;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
@ -2,7 +2,7 @@
|
||||
* @Author: gtz
|
||||
* @Date: 2022-07-25 14:18:00
|
||||
* @LastEditors: gtz
|
||||
* @LastEditTime: 2022-07-29 13:24:07
|
||||
* @LastEditTime: 2022-08-03 13:48:48
|
||||
* @Description: file content
|
||||
* @FilePath: \hf-pda\src\router\index.js
|
||||
*/
|
||||
@ -14,7 +14,10 @@ import index from '@/pages/index/index'
|
||||
import eqInspection from '@/pages/eqInspection/eqInspection'
|
||||
import eqInspectionAdd from '@/pages/eqInspection/eqInspection-add'
|
||||
import eqInspectionEdit from '@/pages/eqInspection/eqInspection-edit'
|
||||
import eqInspectionDetail from '@/pages/eqInspection/eqInspection-detail'
|
||||
import material from '@/pages/material/material'
|
||||
import materialAdd from '@/pages/material/material-add'
|
||||
import materialEdit from '@/pages/material/material-edit'
|
||||
|
||||
Vue.use(Router)
|
||||
|
||||
@ -49,12 +52,30 @@ const router = new Router({
|
||||
meta: {requireAuth: true},
|
||||
component: eqInspectionEdit
|
||||
},
|
||||
{
|
||||
path: '/eqInspection-detail',
|
||||
name: 'eqInspectionDetail',
|
||||
meta: {requireAuth: true},
|
||||
component: eqInspectionDetail
|
||||
},
|
||||
{
|
||||
path: '/material',
|
||||
name: 'material',
|
||||
meta: {requireAuth: true},
|
||||
component: material
|
||||
},
|
||||
{
|
||||
path: '/material-add',
|
||||
name: 'materialAdd',
|
||||
meta: {requireAuth: true},
|
||||
component: materialAdd
|
||||
},
|
||||
{
|
||||
path: '/material-edit',
|
||||
name: 'materialEdit',
|
||||
meta: {requireAuth: true},
|
||||
component: materialEdit
|
||||
},
|
||||
{
|
||||
path: '/404',
|
||||
name: 'notFound',
|
||||
|
Loading…
Reference in New Issue
Block a user