Commit 1bc4198c authored by 李志鸣's avatar 李志鸣

fea(设备基础数据): 设备基础数据模块联调完成

parent 5f7b853a
...@@ -214,6 +214,8 @@ ...@@ -214,6 +214,8 @@
for (let key in this.formData) { for (let key in this.formData) {
this.formData[key] = '' this.formData[key] = ''
} }
}).catch(() => {
this.loadingToggle = false
}) })
} }
}) })
......
<template>
<el-dialog
title="编辑设备信息"
:visible.sync="dialogToggle"
:show-close="false"
:close-on-press-escape="false"
:close-on-click-modal="false"
width="600px">
<el-form
label-width="100px"
label-position="top"
:model="formData"
ref="form"
:rules="formRules">
<el-row :gutter="30">
<el-col :span="12">
<el-form-item
label="车间"
prop="workshopCode"
required>
<el-select
v-model="formData.workshopCode"
size="small"
style="width: 100%"
placeholder="请选择车间"
@change="onWorkshopSelectChange">
<el-option
v-for="(item, index) in workShopSelectData"
:key="index"
:value="item.itemCode"
:label="item.itemName">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="设备分类"
prop="equipType"
required>
<el-select
v-model="formData.equipType"
size="small"
style="width: 100%"
placeholder="请选择设备分类">
<el-option
v-for="(item, index) in deviceSortSelectData"
:key="index"
:value="item.itemCode"
:label="item.itemName">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="12">
<el-form-item
label="设备编码"
prop="equipCode"
required>
<el-input
maxlength="100"
v-model="formData.equipCode"
size="small"
style="width: 100%"
placeholder="请输入设备编码">
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="设备名称"
prop="alias">
<el-input
maxlength="100"
v-model="formData.alias"
size="small"
style="width: 100%"
placeholder="请输入设备名称">
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="12">
<el-form-item
label="设备厂商"
prop="equipFactory">
<el-input
maxlength="100"
v-model="formData.equipFactory"
size="small"
style="width: 100%"
placeholder="请输入设备厂商">
</el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button :loading="loadingToggle" size="small" type="primary" icon="el-icon-check" @click="doConfirmClick('form')">确认</el-button>
<el-button size="small" icon="el-icon-close" @click="doCancelClick('form')">取消</el-button>
</span>
</el-dialog>
</template>
<script>
export default {
props: {
editDeviceBasicValue: {}
},
watch: {
dialogToggle (newVal, oldVal) {
// 获取设备分类数据
this.getSeviceSortSelectData()
// 获取车间下拉数据
this.getWorkshopSelectData()
// 编辑状态下数据赋值
this.editDialogDataAssignment()
}
},
data () {
return {
// 数据提交开关标识
loadingToggle: false,
// 对话框开关标识
dialogToggle: false,
// 表单数据
formData: {
workshopName: '',
workshopCode: '',
equipType: '',
equipCode: '',
alias: '',
equipFactory: ''
},
// 表单正则
formRules: {
// 车间
workshopCode: [
{
validator: (rule, value, callback) => {
if (_.trim(value) === '') {
callback(new Error('请选择车间'))
}
callback()
},
trigger: ['change', 'blur']
}
],
// 设备分类
equipType: [
{
validator: (rule, value, callback) => {
if (_.trim(value) === '') {
callback(new Error('请选择设备分类'))
}
callback()
},
trigger: ['change', 'blur']
}
],
// 设备编码
equipCode: [
{
validator: (rule, value, callback) => {
if (_.trim(value) === '') {
callback(new Error('请输入设备编码'))
}
callback()
},
trigger: ['change', 'blur']
}
]
},
// 设备分类下拉数据
deviceSortSelectData: [],
// 车间下拉数据
workShopSelectData: []
}
},
methods: {
// 编辑状态下数据赋值
editDialogDataAssignment () {
for (let key in this.editDeviceBasicValue) {
if (this.formData.hasOwnProperty(key)) {
this.formData[key] = this.editDeviceBasicValue[key]
}
}
},
// 获取设备分类数据
getSeviceSortSelectData () {
let queryParams = { dicCode: 'DEVICE_SORT', hash: 'dicCode' }
this.$fetch('dict-item-controller/dicCode-get', queryParams).then(response => {
this.deviceSortSelectData = _.cloneDeep(response)
})
},
// 获取车间下拉数据
getWorkshopSelectData () {
let queryParams = { dicCode: 'WORKSHOP_LIST', hash: 'dicCode' }
this.$fetch('dict-item-controller/dicCode-get', queryParams).then(response => {
this.workShopSelectData = _.cloneDeep(response)
})
},
// 触发车间下拉框值改变事件
onWorkshopSelectChange (selectValue) {
for (let item of this.workShopSelectData) {
if (item.itemCode === selectValue) {
this.formData.workshopName = item.itemName
break
}
}
},
// 点击确认按钮
doConfirmClick (formName) {
this.$refs[formName].validate(vaild => {
if (vaild) {
this.loadingToggle = true
let queryParams = { ...this.formData }
queryParams.id = this.editDeviceBasicValue.id
this.$fetch('basic-info-controller/equipUpdate-put', queryParams).then(response => {
this.loadingToggle = false
this.$message.success('编辑成功!')
this.dialogToggle = false
this.$refs[formName].resetFields()
this.$emit('doConfirmClick')
for (let key in this.formData) {
this.formData[key] = ''
}
}).catch(() => {
this.loadingToggle = false
})
}
})
},
// 点击取消按钮
doCancelClick (formName) {
this.$refs[formName].resetFields()
this.dialogToggle = false
for (let key in this.formData) {
this.formData[key] = ''
}
}
}
}
</script>
<style lang="scss" scoped>
</style>
\ No newline at end of file
...@@ -39,7 +39,8 @@ ...@@ -39,7 +39,8 @@
label="操作"> label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
type="text"> type="text"
@click="doEditClick(scope.row)">
编辑 编辑
</el-button> </el-button>
<el-button <el-button
...@@ -60,6 +61,13 @@ ...@@ -60,6 +61,13 @@
ref="AddDeviceDialog" ref="AddDeviceDialog"
@doConfirmClick="doAddDeviceDialogConfirm"> @doConfirmClick="doAddDeviceDialogConfirm">
</AddDeviceDialog> </AddDeviceDialog>
<!-- 编辑设备对话框 -->
<EditDeviceDialog
ref="EditDeviceDialog"
:editDeviceBasicValue="editDeviceBasicValue"
@doConfirmClick="doEditDeviceDialogConfirm">
</EditDeviceDialog>
</div> </div>
</template> </template>
...@@ -67,16 +75,20 @@ ...@@ -67,16 +75,20 @@
import Table from '@/components/Table/index.vue' import Table from '@/components/Table/index.vue'
import Search from '@/components/Search' import Search from '@/components/Search'
import AddDeviceDialog from './components/AddDeviceDialog' import AddDeviceDialog from './components/AddDeviceDialog'
import EditDeviceDialog from './components/EditDeviceDialog'
export default { export default {
name: 'DeviceBasic', name: 'DeviceBasic',
components: { components: {
Search, Search,
Table, Table,
AddDeviceDialog AddDeviceDialog,
EditDeviceDialog
}, },
data () { data () {
return { return {
// 编辑设备基础数据
editDeviceBasicValue: {},
// 精准搜索关键字列表 // 精准搜索关键字列表
searchList: {}, searchList: {},
// 表格配置项 // 表格配置项
...@@ -111,7 +123,7 @@ ...@@ -111,7 +123,7 @@
}, },
// 点击搜索组件重置按钮 // 点击搜索组件重置按钮
doResetClick (searchValue) { doResetClick (searchValue) {
this.searchList = { ...searchList, filters: [] } this.searchList = { ...searchValue, filters: [] }
this.tableConfig.paginationConfig.currentPage = 1 this.tableConfig.paginationConfig.currentPage = 1
this.tableConfig.paginationConfig.pageSize = 20 this.tableConfig.paginationConfig.pageSize = 20
// 获取表格数据 // 获取表格数据
...@@ -178,6 +190,16 @@ ...@@ -178,6 +190,16 @@
doAddDeviceDialogConfirm () { doAddDeviceDialogConfirm () {
// 获取表格数据 // 获取表格数据
this.getTableList() this.getTableList()
},
// 点击编辑按钮
doEditClick (deviceValue) {
this.editDeviceBasicValue = _.cloneDeep(deviceValue)
this.$refs.EditDeviceDialog.dialogToggle = true
},
// 点击编辑设备对话框确认按钮
doEditDeviceDialogConfirm () {
// 获取表格数据
this.getTableList()
} }
}, },
mounted () { mounted () {
...@@ -197,6 +219,7 @@ ...@@ -197,6 +219,7 @@
width: 100%; width: 100%;
border: 1px solid #d2d3d5; border: 1px solid #d2d3d5;
background-color: #fff; background-color: #fff;
overflow-y: auto;
.title-pack { .title-pack {
height: 38px; height: 38px;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment