| | |
| | | <template> |
| | | <zt-dialog ref="dialog" @confirm="formSubmit"> |
| | | <zt-dialog ref="dialog" @confirm="formSubmit" :hasConfirm="true"> |
| | | <el-form :model="dataForm" ref="dataForm" :disabled="dataForm.disabled" label-width="120px"> |
| | | <zt-form-item label="上级系统" prop="pid" v-if="isTree"> |
| | | <zt-form-item label="上级节点" prop="pid" v-if="isShow"> |
| | | <zt-combo-tree v-model="dataForm.pid" :datas="productList"/> |
| | | </zt-form-item> |
| | | <zt-form-item label="名称" prop="name" rules="required"> |
| | | <el-input v-model="dataForm.name"></el-input> |
| | | </zt-form-item> |
| | | <zt-form-item v-if="dataForm.productType==='5'" prop="equipType" label="设备类型" rules="required"> |
| | | <el-input v-model="dataForm.equipType"></el-input> |
| | | </zt-form-item> |
| | | <zt-form-item label="节点类型" prop="productType" rules="required"> |
| | | <zt-dict v-model="dataForm.productType" dict="product"></zt-dict> |
| | | <zt-dict v-model="dataForm.productType" dict="product" @input="changeType" |
| | | :disabled="disabled"></zt-dict> |
| | | </zt-form-item> |
| | | <zt-form-item label="运行状态图" prop="operationalStatus" v-if="isShow"> |
| | | <el-input v-model="dataForm.operationalStatus" @focus="selectPicture('operational')" |
| | | :readonly="readonly"></el-input> |
| | | </zt-form-item> |
| | | <zt-form-item label="待机状态图" prop="standbyState" v-if="isShow"> |
| | | <el-input v-model="dataForm.standbyState" @focus="selectPicture('standby')" :readonly="readonly"></el-input> |
| | | </zt-form-item> |
| | | <zt-form-item label="故障状态图" prop="faultState" v-if="isShow"> |
| | | <el-input v-model="dataForm.faultState" @focus="selectPicture('fault')" :readonly="readonly"></el-input> |
| | | <zt-form-item v-if="dataForm.productType!=='1'" label="运行状态图" prop="operatImg"> |
| | | <el-input v-model="dataForm.operatImgName" @focus="selectPicture()"></el-input> |
| | | <el-image v-if="dataForm.operatImg" :src="url+dataForm.operatImg" style="height: 50px;width: 50px"></el-image> |
| | | </zt-form-item> |
| | | <zt-form-item label="排序" prop="sort"> |
| | | <el-input v-model="dataForm.sort" :readonly="readonly"></el-input> |
| | | <el-input v-model="dataForm.sort" readonly="false"></el-input> |
| | | </zt-form-item> |
| | | </el-form> |
| | | <PictureSelect ref="pictureSelect" @setPicture="openAddWin"> |
| | |
| | | |
| | | <script> |
| | | import PictureSelect from "@/views/modules/basicInfo/SelectPicture"; |
| | | import Cookies from "js-cookie"; |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | | isTree: false, |
| | | disabled: false, |
| | | url: `${window.SITE_CONFIG['apiURL']}/sysPictureBase/getSvgImage?token=${Cookies.get('token')}&id=`, |
| | | isShow: true, |
| | | map: new Map(), |
| | | fileId: '', |
| | | productList: [], |
| | | dataForm: { |
| | | id: '', |
| | | pid: '', |
| | | name: '', |
| | | shipId: '', |
| | | productType: '', |
| | | operationalStatus: '', |
| | | standbyState: '', |
| | | faultState: '', |
| | | operatImg: '', |
| | | operatImgName: '', |
| | | sort: '', |
| | | equipType: '', |
| | | status: '' |
| | | } |
| | | } |
| | |
| | | PictureSelect |
| | | }, |
| | | methods: { |
| | | init(id,params) { |
| | | if (params.type == 'tree') { |
| | | this.isTree = true |
| | | init(id, params) { |
| | | console.log(params) |
| | | if (params.shipId) { |
| | | this.dataForm.shipId = params.shipId |
| | | } |
| | | if (params.type === 'xh') { |
| | | this.isShow = false |
| | | this.getProductList() |
| | | this.dataForm.pid = null |
| | | this.dataForm.productType = '1' |
| | | this.getDefaultImg(this.dataForm.productType) |
| | | } else if (params.type === 'zt') { |
| | | this.dataForm.pid = params.pid |
| | | this.dataForm.productType = '2' |
| | | this.getDefaultImg(this.dataForm.productType) |
| | | } else { |
| | | this.dataForm.pid = params.pid |
| | | console.log(params.productType,'type') |
| | | console.log(parseInt(params.productType),'parseInttype') |
| | | this.dataForm.productType = parseInt(params.productType) |
| | | this.getDefaultImg(this.dataForm.productType) |
| | | } |
| | | if (this.dataForm.productType === '10' && id == null) { |
| | | this.isShow = false |
| | | this.getDefaultImg(this.dataForm.productType) |
| | | } |
| | | this.getProductList() |
| | | }, |
| | | // 获取系统列表 |
| | | async getProductList() { |
| | | let res = await this.$http.get('/basicInfo/XhProductModel/getProductList') |
| | | let params = { |
| | | productType: this.dataForm.productType, |
| | | shipId: this.dataForm.shipId |
| | | } |
| | | let res = await this.$http.get('/basicInfo/XhProductModel/getProductList', {params: params}) |
| | | this.productList = res.data |
| | | console.log(this.productList, 'getProductList') |
| | | }, |
| | | selectPicture(type) { |
| | | this.$refs.pictureSelect.$refs.dialog.init(type) |
| | | changeType(selected) { |
| | | this.dataForm.productType = selected |
| | | this.getDefaultImg(selected) |
| | | this.getProductList() |
| | | }, |
| | | openAddWin(row, type) { |
| | | console.log(type, 'openAddWin(row)') |
| | | if (type === 'operational') { |
| | | this.dataForm.operationalStatus = row.name |
| | | for (let key in row.accessoryMap) { |
| | | let id = /_zt_oss_id=(\d+)/.exec(key) |
| | | this.fileId = id ? id[1] : '' |
| | | } |
| | | this.map.set(this.dataForm.operationalStatus, this.fileId); |
| | | console.log(this.map, 'openAddWin(row)') |
| | | } else if (type === 'standby') { |
| | | this.dataForm.standbyState = row.name |
| | | for (let key in row.accessoryMap) { |
| | | let id = /_zt_oss_id=(\d+)/.exec(key) |
| | | this.fileId = id ? id[1] : '' |
| | | } |
| | | this.map.set(this.dataForm.standbyState, this.fileId); |
| | | console.log(this.map, 'openAddWin(row)') |
| | | } else if (type === 'fault') { |
| | | this.dataForm.faultState = row.name |
| | | for (let key in row.accessoryMap) { |
| | | let id = /_zt_oss_id=(\d+)/.exec(key) |
| | | this.fileId = id ? id[1] : '' |
| | | } |
| | | this.map.set(this.dataForm.faultState, this.fileId); |
| | | console.log(this.map, 'openAddWin(row)') |
| | | async getDefaultImg(selected) { |
| | | console.log(selected, 'async getDefaultImg') |
| | | let params = { |
| | | productType: selected |
| | | } |
| | | let res = await this.$http.get(`/sysPictureBase/getDefaultImg`, {params: params}) |
| | | if (res.data) { |
| | | this.dataForm.operatImgName = res.data.name |
| | | this.dataForm.operatImg = res.data.id |
| | | } |
| | | }, |
| | | selectPicture() { |
| | | this.$refs.pictureSelect.$refs.dialog.init(this.dataForm.productType) |
| | | }, |
| | | openAddWin(row) { |
| | | this.dataForm.operatImgName = row.name |
| | | this.dataForm.operatImg = row.id |
| | | console.log(row, 'openAddWin(row)') |
| | | }, |
| | | // 获取信息 |
| | | async getInfo() { |
| | |
| | | }, |
| | | // 表单提交 |
| | | async formSubmit() { |
| | | this.dataForm.operationalStatus = this.map.get(this.dataForm.operationalStatus) |
| | | this.dataForm.standbyState = this.map.get(this.dataForm.standbyState) |
| | | this.dataForm.faultState = this.map.get(this.dataForm.faultState) |
| | | let flag = true |
| | | if (this.isShow) { |
| | | if (this.dataForm.productType === '1') { |
| | | this.$alert("不支持新增此节点") |
| | | flag = false |
| | | } |
| | | } |
| | | if (!flag) { |
| | | return |
| | | } |
| | | let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/basicInfo/XhProductModel/', this.dataForm) |
| | | if (res.success) { |
| | | await this.$tip.success() |
| | | this.$refs.dialog.close() |
| | | this.$emit('refreshDataList') |
| | | this.map.clear() |
| | | } |
| | | } |
| | | } |