|
@@ -22,53 +22,55 @@
|
|
|
</div>
|
|
|
|
|
|
<!-- 添加或修改装机信息对话框 -->
|
|
|
- <el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="600px" :before-close="handleClose">
|
|
|
- <el-form ref="form" :model="form" label-width="80px">
|
|
|
- <el-form-item label="器材编码" prop="devicesEncode">
|
|
|
- <el-input v-model="form.devicesEncode" placeholder="请输入航材编码" />
|
|
|
+ <el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="1000px" :before-close="handleClose">
|
|
|
+ <LTable ref="avmatTableRef" @current-change="avmatSelection" :defaultFetch="false" :columns="avmatColumns" :dataSource="avmatTableData" :options="avmatOptions" :pagination="avmatTableRequset"></LTable>
|
|
|
+ <el-form ref="form" style="margin-top: 20px" :inline="true" :model="form" label-width="80px">
|
|
|
+ <el-form-item label="航材名称" prop="devicesName">
|
|
|
+ <el-input v-model="form.devicesName" placeholder="请输入航材名称" disabled />
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="器材代码" prop="devicesCode">
|
|
|
- <el-input v-model="form.devicesCode" placeholder="请输入航材代码" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="器材名称" prop="devicesName">
|
|
|
- <el-input v-model="form.devicesName" placeholder="请输入器材名称" />
|
|
|
+ <el-form-item label="航材编码" prop="devicesEncode">
|
|
|
+ <el-input v-model="form.devicesEncode" placeholder="请输入航材编码" disabled />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="规格型号" prop="specsModel">
|
|
|
- <el-input v-model="form.specsModel" placeholder="请输入规格型号" />
|
|
|
+ <el-input disabled v-model="form.specsModel" placeholder="请输入规格型号" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="图号" prop="drawingNumber">
|
|
|
- <el-input v-model="form.drawingNumber" placeholder="请输入图号" />
|
|
|
+ <el-input disabled v-model="form.drawingNumber" placeholder="请输入图号" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="所属分类" prop="category">
|
|
|
- <el-input v-model="form.category" placeholder="请输入所属分类" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="装机数量" prop="quantity">
|
|
|
- <el-input v-model="form.quantity" placeholder="请输入装机数量" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="装机时间" prop="installTime">
|
|
|
- <el-date-picker v-model="form.installTime" type="date" placement="bottom-start" value-format="yyyy-MM-dd" placeholder="请选择装机时间"></el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="软件版本" prop="softwareVersion">
|
|
|
- <el-input v-model="form.softwareVersion" placeholder="请输入软件版本" />
|
|
|
+ <el-input disabled v-model="form.category" placeholder="请输入所属分类" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="是否可修" prop="repairable">
|
|
|
- <el-select v-model="form.repairable" placeholder="请选择是否可修">
|
|
|
- <el-option label="是" value="1"></el-option>
|
|
|
- <el-option label="否" value="0"></el-option>
|
|
|
+ <el-select disabled v-model="form.repairable" placeholder="请选择是否可修">
|
|
|
+ <el-option label="是" :value="1"></el-option>
|
|
|
+ <el-option label="否" :value="0"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="是否成套" prop="completeSet">
|
|
|
- <el-select v-model="form.completeSet" placeholder="请选择是否成套">
|
|
|
- <el-option label="是" value="1"></el-option>
|
|
|
- <el-option label="否" value="0"></el-option>
|
|
|
+ <el-select v-model="form.completeSet" placeholder="请选择是否成套" disabled>
|
|
|
+ <el-option label="是" :value="1"></el-option>
|
|
|
+ <el-option label="否" :value="0"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="是否有寿" prop="serviceLife">
|
|
|
- <el-select v-model="form.serviceLife" placeholder="请选择是否有寿">
|
|
|
- <el-option label="是" value="1"></el-option>
|
|
|
- <el-option label="否" value="0"></el-option>
|
|
|
+ <el-select v-model="form.serviceLife" placeholder="请选择是否有寿" disabled>
|
|
|
+ <el-option label="是" :value="1"></el-option>
|
|
|
+ <el-option label="否" :value="0"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
+ <el-form-item label="航材代码" prop="devicesCode">
|
|
|
+ <el-input v-model="form.devicesCode" placeholder="请输入航材代码" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="装机数量" prop="quantity">
|
|
|
+ <el-input v-model="form.quantity" placeholder="请输入装机数量" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="装机时间" prop="installTime">
|
|
|
+ <el-date-picker v-model="form.installTime" type="date" placement="bottom-start" value-format="yyyy-MM-dd" placeholder="请选择装机时间"></el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="软件版本" prop="softwareVersion">
|
|
|
+ <el-input v-model="form.softwareVersion" placeholder="请输入软件版本" />
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
<el-form-item label="备注" prop="remarks">
|
|
|
<el-input v-model="form.remarks" type="textarea" :rows="2" placeholder="请输入备注" />
|
|
|
</el-form-item>
|
|
@@ -89,7 +91,9 @@ import { getAircaftCatalogTree, getAircaftTypeAndModelTree } from '@/api/als/sid
|
|
|
import { getAircaftModelAll, getAircaftCatalogAll } from '@/api/als/aircraft'
|
|
|
import { getAirConfiguration } from '@/api/als/airConfiguration'
|
|
|
import { deepClone, debounce } from '@/utils/index'
|
|
|
-import { handleTree } from '../utils/common'
|
|
|
+import { handleTree, flattenTree } from '../utils/common'
|
|
|
+import { getAvmatCatalog } from '@/api/basicData/dataSailingMaterialMaterialCoding'
|
|
|
+
|
|
|
export default {
|
|
|
name: 'AirInstall',
|
|
|
components: {},
|
|
@@ -132,15 +136,15 @@ export default {
|
|
|
columns: [
|
|
|
{
|
|
|
prop: 'devicesEncode',
|
|
|
- label: '器材编码'
|
|
|
+ label: '航材编码'
|
|
|
},
|
|
|
{
|
|
|
prop: 'devicesCode',
|
|
|
- label: '器材代码'
|
|
|
+ label: '航材代码'
|
|
|
},
|
|
|
{
|
|
|
prop: 'devicesName',
|
|
|
- label: '器材名称'
|
|
|
+ label: '航材名称'
|
|
|
},
|
|
|
{
|
|
|
prop: 'specsModel',
|
|
@@ -225,6 +229,85 @@ export default {
|
|
|
]
|
|
|
}
|
|
|
],
|
|
|
+ avmatColumns: [
|
|
|
+ {
|
|
|
+ prop: 'avmatCatalogName',
|
|
|
+ label: '航材名称',
|
|
|
+ align: 'left'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'avmatCatalogCode',
|
|
|
+ label: '航材编码'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'avmatCategoriesName',
|
|
|
+ label: '所属分类'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'specification',
|
|
|
+ label: '规格型号'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'diagramNumber',
|
|
|
+ label: '图号'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'unit',
|
|
|
+ label: '计量单位'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'specialty',
|
|
|
+ label: '专业'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'manufacturer',
|
|
|
+ label: '生产厂家'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'isRepairable',
|
|
|
+ label: '是否可修',
|
|
|
+ render: (h, params) => {
|
|
|
+ if (params.row.status == 1) {
|
|
|
+ return h('span', { class: 'success-state' }, '是')
|
|
|
+ } else {
|
|
|
+ return h('span', { class: 'warning-state' }, '否')
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'isCompleteSet',
|
|
|
+ label: '是否成套',
|
|
|
+ render: (h, params) => {
|
|
|
+ if (params.row.isCompleteSet == 1) {
|
|
|
+ return h('span', { class: 'success-state' }, '是')
|
|
|
+ } else {
|
|
|
+ return h('span', { class: 'warning-state' }, '否')
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'isOrdered',
|
|
|
+ label: '是否有寿',
|
|
|
+ render: (h, params) => {
|
|
|
+ if (params.row.isOrdered == 1) {
|
|
|
+ return h('span', { class: 'success-state' }, '是')
|
|
|
+ } else {
|
|
|
+ return h('span', { class: 'warning-state' }, '否')
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'isImported',
|
|
|
+ label: '是否进口',
|
|
|
+ render: (h, params) => {
|
|
|
+ if (params.row.isImported == 1) {
|
|
|
+ return h('span', { class: 'theme-state' }, '进口')
|
|
|
+ } else {
|
|
|
+ return h('span', { class: 'success-state' }, '国产')
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ],
|
|
|
options: {
|
|
|
stripe: true, // 斑马纹
|
|
|
mutiSelect: false, // 多选框
|
|
@@ -234,17 +317,35 @@ export default {
|
|
|
border: true,
|
|
|
height: 'calc(100vh - 300px)'
|
|
|
},
|
|
|
+ avmatOptions: {
|
|
|
+ stripe: true, // 斑马纹
|
|
|
+ mutiSelect: false, // 多选框
|
|
|
+ index: true, // 显示序号, 多选则 mutiSelect
|
|
|
+ loading: false, // 表格动画
|
|
|
+ initTable: false, // 是否一挂载就加载数据
|
|
|
+ border: true,
|
|
|
+ height: '300px'
|
|
|
+ },
|
|
|
tableCheckItems: [],
|
|
|
tableData: [],
|
|
|
+ avmatTableData: [],
|
|
|
tableRequset: {
|
|
|
total: 0,
|
|
|
pageIndex: 1,
|
|
|
pageSize: 10,
|
|
|
searchValue: ''
|
|
|
},
|
|
|
+ avmatTableRequset: {
|
|
|
+ total: 0,
|
|
|
+ pageIndex: 1,
|
|
|
+ pageSize: 20,
|
|
|
+ searchValue: ''
|
|
|
+ },
|
|
|
form: {
|
|
|
id: '',
|
|
|
- configId: '',
|
|
|
+ airId: '', //编目id
|
|
|
+ airModelId: '', //机号id
|
|
|
+ configId: '', //构型id
|
|
|
devicesEncode: '',
|
|
|
devicesCode: '',
|
|
|
devicesName: '',
|
|
@@ -266,7 +367,8 @@ export default {
|
|
|
updatedBy: '',
|
|
|
updatedTime: ''
|
|
|
},
|
|
|
- debounceFn: debounce(this.fetch, 500)
|
|
|
+ debounceFn: debounce(this.fetch, 500),
|
|
|
+ currentAirModelId: ''
|
|
|
}
|
|
|
},
|
|
|
watch: {
|
|
@@ -282,6 +384,17 @@ export default {
|
|
|
async getAircaftCatalogTreeAPI(params) {
|
|
|
const { data } = await getAircaftCatalogTree(params)
|
|
|
this.menuTreeData = data
|
|
|
+ const { pageSize, pageIndex } = this.avmatTableRequset
|
|
|
+ const {
|
|
|
+ data: { list, totalCount }
|
|
|
+ } = await getAvmatCatalog({
|
|
|
+ pageIndex,
|
|
|
+ pageSize,
|
|
|
+ avmatCategoriesId: '',
|
|
|
+ avmatType: '1'
|
|
|
+ })
|
|
|
+ this.avmatTableData = flattenTree(list)
|
|
|
+ this.avmatTableRequset.total = totalCount
|
|
|
// if (data.length) {
|
|
|
// this.currentNodeKey = data[0].id
|
|
|
// this.currentNode = data[0]
|
|
@@ -307,7 +420,7 @@ export default {
|
|
|
const newArr = []
|
|
|
function getLeaf(data, arr) {
|
|
|
data.forEach((e) => {
|
|
|
- if (e.type === 1) {
|
|
|
+ if (e.type === 2) {
|
|
|
arr.push(e)
|
|
|
}
|
|
|
if (e.children.length) {
|
|
@@ -369,16 +482,22 @@ export default {
|
|
|
|
|
|
async treeNodeClick(data) {
|
|
|
// this.$refs.table.clearSelection()
|
|
|
- // this.currentNodeKey = this.form.aircraftId = data.id
|
|
|
+ this.currentAirModelId = this.form.airId = this.form.airModelId = data.id
|
|
|
// this.currentNode = data
|
|
|
// this.form.aircraftType = data.label
|
|
|
// this.getAirInstallAPI(this.currentNodeKey)
|
|
|
- console.log('data', data)
|
|
|
+ let dataTree = []
|
|
|
+ if (data.type === 1) {
|
|
|
+ const { data: data1 } = await getAirConfiguration({ aircraftType: data.id })
|
|
|
+ dataTree = data1
|
|
|
+ } else if (data.type === 2) {
|
|
|
+ const { data: data1 } = await getAirConfiguration({ aircraftType: data.parentId })
|
|
|
+ dataTree = data1
|
|
|
+ }
|
|
|
this.configTreeData = []
|
|
|
- const { data: data1 } = await getAirConfiguration({ aircraftType: data.parentId })
|
|
|
const topNode = { id: 1, name: '整机', children: [] }
|
|
|
// topNode.children = data1
|
|
|
- topNode.children = handleTree(data1, 'id')
|
|
|
+ topNode.children = handleTree(dataTree, 'id')
|
|
|
this.configTreeData.push(topNode)
|
|
|
},
|
|
|
|
|
@@ -393,13 +512,17 @@ export default {
|
|
|
this.dialogTitle = '新增'
|
|
|
this.dialogVisible = true
|
|
|
this.form.configId = this.currentConfigNodeKey
|
|
|
+ this.form.airId = this.form.airModelId = this.currentAirModelId
|
|
|
},
|
|
|
|
|
|
handleClose() {
|
|
|
+ this.$refs.avmatTableRef.clearSelection()
|
|
|
this.dialogVisible = false
|
|
|
this.form = {
|
|
|
id: '',
|
|
|
- configId: '',
|
|
|
+ airId: '', //编目id
|
|
|
+ airModelId: '', //机号id
|
|
|
+ configId: '', //构型id
|
|
|
devicesEncode: '',
|
|
|
devicesCode: '',
|
|
|
devicesName: '',
|
|
@@ -444,6 +567,17 @@ export default {
|
|
|
this.tableCheckItems = val
|
|
|
},
|
|
|
|
|
|
+ avmatSelection(val) {
|
|
|
+ this.form.devicesName = val.avmatCatalogName
|
|
|
+ this.form.devicesEncode = val.avmatCatalogCode
|
|
|
+ this.form.category = val.avmatCategoriesName
|
|
|
+ this.form.specsModel = val.specification
|
|
|
+ this.form.drawingNumber = val.diagramNumber
|
|
|
+ this.form.repairable = val.isRepairable
|
|
|
+ this.form.completeSet = val.isCompleteSet
|
|
|
+ this.form.serviceLife = val.isOrdered
|
|
|
+ },
|
|
|
+
|
|
|
remove(row) {
|
|
|
this.$confirm('是否删除该数据', '提示', {
|
|
|
confirmButtonText: '确定',
|
|
@@ -454,6 +588,17 @@ export default {
|
|
|
this.removeAirInstallAPI(row.map((e) => e.id))
|
|
|
})
|
|
|
.catch(() => {})
|
|
|
+ },
|
|
|
+
|
|
|
+ async changeDevicesName(avmatCatalogId) {
|
|
|
+ console.log('avmatCatalogId', avmatCatalogId)
|
|
|
+ const {
|
|
|
+ data: { list }
|
|
|
+ } = await getAvmatCatalog({
|
|
|
+ avmatCatalogId: avmatCatalogId
|
|
|
+ })
|
|
|
+ // this.form = list[0]
|
|
|
+ // console.log(this.form, list[0])
|
|
|
}
|
|
|
}
|
|
|
}
|