You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

149 lines
4.7 KiB

<template>
<div>
<el-dialog
width="340px"
@close="closeDialog"
:title="!this.addOrUpdate ? '新增' : '修改'"
:close-on-click-modal="false"
:visible.sync="visible">
<el-form :model="dataForm" label-position="top" :inline="true" ref="dataForm"
@keyup.enter.native="dataFormSubmit()"
label-width="120px">
<el-form-item required>
<el-link @click="getBaseList(113)" slot="label">设备编码</el-link>
<el-input v-model="dataForm.resourceId"></el-input>
</el-form-item>
<el-form-item label="设备名称">
<el-input disabled v-model="dataForm.resourceName"></el-input>
</el-form-item>
<el-form-item required>
<el-link @click="getBaseList(114)" slot="label">备品备件编码</el-link>
<el-input v-model="dataForm.partNo"></el-input>
</el-form-item>
<el-form-item label="备品备件名称">
<el-input disabled v-model="dataForm.partDesc"></el-input>
</el-form-item>
<el-form-item required label="可用数量">
<el-input-number style="width: 146px" :min="0" v-model="dataForm.qtyUsable"></el-input-number>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="dataFormSubmit()">确定</el-button>
<el-button type="primary" @click="visible = false">取消</el-button>
</span>
</el-dialog>
<Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist>
</div>
</template>
<script>
import Chooselist from '@/views/modules/common/Chooselist_eam'
import {getResourceSpareInfo, saveResourceSpare, updateResourceSpare} from '@/api/partspare/resourcespare.js'
export default {
data() {
return {
visible: false,
dataForm: {
id: 0,
resourceId: '',
resourceIdOld: '',
resourceName: '',
partNo: '',
partNoOld: '',
partDesc: '',
qtyUsable: '',
delflag: '',
createdBy: '',
site: this.$store.state.user.site
},
addOrUpdate: false,
}
},
components: {
Chooselist
},
methods: {
// 获取基础数据列表S
getBaseList(val, type) {
this.tagNo = val
this.$nextTick(() => {
let strVal = ''
let conSql = ''
if (val === 113) {
strVal = this.dataForm.resourceId
}
if (val === 114) {
strVal = this.dataForm.partNo
}
this.$refs.baseList.init(val, strVal, conSql)
})
},
/* 列表方法的回调 */
getBaseData(val) {
if (this.tagNo === 113) {
this.dataForm.resourceId = val.ObjectID
this.dataForm.resourceName = val.ObjectDesc
}
if (this.tagNo === 114) {
this.dataForm.partNo = val.part_no
this.dataForm.partDesc = val.part_description
}
},
init(row) {
this.addOrUpdate = row ? true : false
this.visible = true
this.$nextTick(() => {
if (this.addOrUpdate) {
this.dataForm.site = row.site
this.dataForm.resourceId = row.resourceId
this.dataForm.partNo = row.partNo
getResourceSpareInfo(this.dataForm).then(({data}) => {
if (data && data.code === 0) {
this.dataForm.resourceId = data.resourceSpare.resourceId
this.dataForm.resourceName = data.resourceSpare.resourceDesc
this.dataForm.partNo = data.resourceSpare.partNo
this.dataForm.partDesc = data.resourceSpare.partDescription
this.dataForm.site = data.resourceSpare.site
this.dataForm.qtyUsable = data.resourceSpare.qtyUsable
this.dataForm.resourceIdOld = data.resourceSpare.resourceId
this.dataForm.partNoOld = data.resourceSpare.partNo
}
})
}
})
},
// 表单提交
dataFormSubmit() {
if (this.addOrUpdate) {
updateResourceSpare(this.dataForm).then(({data}) => {
if (data && data.code === 0) {
this.$message.success(data.msg)
this.visible = false
this.$emit('refreshDataList')
} else {
this.$message.error(data.msg)
}
})
} else {
saveResourceSpare(this.dataForm).then(({data}) => {
if (data && data.code === 0) {
this.$message.success(data.msg)
this.visible = false
this.$emit('refreshDataList')
} else {
this.$message.error(data.msg)
}
})
}
},
closeDialog() {
this.$nextTick(() => {
this.$emit('refreshDataList')
Object.assign(this.$data, this.$options.data.call(this));
})
},
}
}
</script>