This commit is contained in:
parent
83e434bd00
commit
04a297c7b0
|
|
@ -68,7 +68,7 @@ export const constantRoutes = [
|
|||
children: [
|
||||
{
|
||||
path: 'index',
|
||||
component: () => import('@/views/screen/wsScreen/index'),
|
||||
component: () => import('@/views/index_2'),
|
||||
name: 'Index',
|
||||
meta: { title: '首页', icon: 'dashboard', affix: true }
|
||||
},
|
||||
|
|
|
|||
|
|
@ -300,7 +300,7 @@
|
|||
:value="form.inspectionList"
|
||||
:limit="3"
|
||||
:fileSize="10"
|
||||
:fileType="['doc', 'docx', 'ppt', 'pdf']"
|
||||
:fileType="['jpg', 'png', 'pdf']"
|
||||
@change="handleInspectionChange"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
|
@ -311,7 +311,7 @@
|
|||
:value="form.purchaseInvoices"
|
||||
:limit="3"
|
||||
:fileSize="10"
|
||||
:fileType="['pdf', 'jpg', 'png', 'jpeg']"
|
||||
:fileType="['jpg', 'png', 'pdf']"
|
||||
@change="handlePurchaseInvoicesChange"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
|
|
|||
|
|
@ -207,7 +207,7 @@
|
|||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
v-for="(item, index) in columns"
|
||||
v-for="(item, index) in columns2"
|
||||
v-if="item.visible"
|
||||
:key="index"
|
||||
align="center"
|
||||
|
|
@ -324,6 +324,7 @@ export default {
|
|||
},
|
||||
manufacturerList: [],
|
||||
tableData: [],
|
||||
columns2: [],
|
||||
columns: [
|
||||
{ key: 26, label: `特征项1`, prop: 'featureItem1', visible: true },
|
||||
{ key: 27, label: `特征值1`, prop: 'featureValue1', visible: true },
|
||||
|
|
@ -381,6 +382,14 @@ export default {
|
|||
|
||||
// 按 orderNumber 排序,确保相同订单连续
|
||||
this.tableData.sort((a, b) => a.orderNumber.localeCompare(b.orderNumber))
|
||||
let maxLength = 0
|
||||
this.tableData.forEach((item) => {
|
||||
if (item.propertyVoList && item.propertyVoList.length > maxLength) {
|
||||
maxLength = item.propertyVoList.length
|
||||
}
|
||||
})
|
||||
maxLength = maxLength > 0 ? maxLength * 2 : 0
|
||||
this.columns2 = this.columns.slice(0, this.columns.length - 18 + maxLength)
|
||||
})
|
||||
.catch(error => {
|
||||
console.error('获取装备申请列表失败:', error)
|
||||
|
|
|
|||
|
|
@ -206,7 +206,7 @@
|
|||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
v-for="(item, index) in columns"
|
||||
v-for="(item, index) in columns2"
|
||||
v-if="item.visible"
|
||||
:key="index"
|
||||
align="center"
|
||||
|
|
@ -322,6 +322,7 @@ export default {
|
|||
pageSize: 10
|
||||
},
|
||||
tableData: [],
|
||||
columns2: [],
|
||||
columns: [
|
||||
{ key: 26, label: `特征项1`, prop: 'featureItem1', visible: true },
|
||||
{ key: 27, label: `特征值1`, prop: 'featureValue1', visible: true },
|
||||
|
|
@ -378,6 +379,14 @@ export default {
|
|||
|
||||
// 按 orderNumber 排序,确保相同订单连续
|
||||
this.tableData.sort((a, b) => a.orderNumber.localeCompare(b.orderNumber))
|
||||
let maxLength = 0
|
||||
this.tableData.forEach((item) => {
|
||||
if (item.propertyVoList && item.propertyVoList.length > maxLength) {
|
||||
maxLength = item.propertyVoList.length
|
||||
}
|
||||
})
|
||||
maxLength = maxLength > 0 ? maxLength * 2 : 0
|
||||
this.columns2 = this.columns.slice(0, this.columns.length - 18 + maxLength)
|
||||
})
|
||||
.catch(error => {
|
||||
console.error('获取装备申请列表失败:', error)
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@
|
|||
@click="getDeviceListByTreeSearch"
|
||||
title="查询"
|
||||
@keyup.enter.native="getDeviceListByTreeSearch"
|
||||
style="margin-left: 10px;font-size: 16px;color: #C0C4CC"
|
||||
style="margin-left: 10px; font-size: 16px; color: #c0c4cc"
|
||||
/>
|
||||
<el-button
|
||||
icon="el-icon-refresh"
|
||||
|
|
@ -36,7 +36,7 @@
|
|||
@click="resetTreeSearch"
|
||||
title="重置"
|
||||
type="text"
|
||||
style="margin-left: 10px;font-size: 16px;color: #C0C4CC"
|
||||
style="margin-left: 10px; font-size: 16px; color: #c0c4cc"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
|
@ -118,7 +118,7 @@
|
|||
filterable
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-option v-for="item in provinceList" :key="item.value" :label="item.label" :value="item.value"/>
|
||||
<el-option v-for="item in provinceList" :key="item.value" :label="item.label" :value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
|
@ -131,23 +131,18 @@
|
|||
filterable
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in propertyUnitList"
|
||||
:key="item.id"
|
||||
:label="item.label"
|
||||
:value="item.id"
|
||||
/>
|
||||
<el-option v-for="item in propertyUnitList" :key="item.id" :label="item.label" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="装备名称" prop="name">
|
||||
<el-input v-model="queryParams.name" placeholder="请输入装备名称" clearable/>
|
||||
<el-input v-model="queryParams.name" placeholder="请输入装备名称" clearable />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="规格型号" prop="specificationModel">
|
||||
<el-input v-model="queryParams.specificationModel" placeholder="请输入规格型号" clearable/>
|
||||
<el-input v-model="queryParams.specificationModel" placeholder="请输入规格型号" clearable />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
|
@ -163,7 +158,7 @@
|
|||
@change="majorChange"
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-option v-for="item in majorList" :key="item.value" :label="item.label" :value="item.value"/>
|
||||
<el-option v-for="item in majorList" :key="item.value" :label="item.label" :value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
|
@ -191,7 +186,7 @@
|
|||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="装备编码" prop="code">
|
||||
<el-input v-model="queryParams.code" placeholder="请输入装备编码" clearable/>
|
||||
<el-input v-model="queryParams.code" placeholder="请输入装备编码" clearable />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
|
|
@ -247,12 +242,12 @@
|
|||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="原始编码" prop="originalCode">
|
||||
<el-input v-model="queryParams.originalCode" placeholder="请输入装备原始编码" clearable/>
|
||||
<el-input v-model="queryParams.originalCode" placeholder="请输入装备原始编码" clearable />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="使用年限" prop="serviceLife">
|
||||
<el-input v-model="queryParams.serviceLife" placeholder="请输入使用年限" clearable/>
|
||||
<el-input v-model="queryParams.serviceLife" placeholder="请输入使用年限" clearable />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
|
|
@ -263,23 +258,18 @@
|
|||
clearable
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in manufacturerList"
|
||||
:key="item.id"
|
||||
:label="item.label"
|
||||
:value="item.id"
|
||||
/>
|
||||
<el-option v-for="item in manufacturerList" :key="item.id" :label="item.label" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="特征项" prop="featureItem">
|
||||
<el-input v-model="queryParams.featureItem" placeholder="请输入特征项" clearable/>
|
||||
<el-input v-model="queryParams.featureItem" placeholder="请输入特征项" clearable />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="特征值" prop="featureValue">
|
||||
<el-input v-model="queryParams.featureValue" placeholder="请输入特征值" clearable/>
|
||||
<el-input v-model="queryParams.featureValue" placeholder="请输入特征值" clearable />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
|
@ -290,12 +280,7 @@
|
|||
<!-- 状态统计和操作按钮 - 固定定位 -->
|
||||
<div class="status-operation-bar sticky-bar">
|
||||
<div class="operation-buttons">
|
||||
<el-button
|
||||
icon="el-icon-refresh"
|
||||
style="float: right; margin-left: 20px"
|
||||
size="mini"
|
||||
@click="resetQuery"
|
||||
>
|
||||
<el-button icon="el-icon-refresh" style="float: right; margin-left: 20px" size="mini" @click="resetQuery">
|
||||
重置
|
||||
</el-button>
|
||||
<el-button type="primary" style="float: right" icon="el-icon-search" size="mini" @click="getDeviceList">
|
||||
|
|
@ -326,7 +311,11 @@
|
|||
</span>
|
||||
</div>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getDeviceList" :columns="columns"></right-toolbar>
|
||||
<right-toolbar
|
||||
:showSearch.sync="showSearch"
|
||||
@queryTable="getDeviceList"
|
||||
:columns="columns2"
|
||||
></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table
|
||||
|
|
@ -334,13 +323,14 @@
|
|||
:key="Date.now()"
|
||||
@selection-change="handleSelectionChange"
|
||||
v-loading="tableLoading"
|
||||
border stripe
|
||||
border
|
||||
stripe
|
||||
height="546"
|
||||
>
|
||||
<el-table-column align="center" show-overflow-tooltip type="selection" width="50"/>
|
||||
<el-table-column align="center" show-overflow-tooltip type="index" label="序号" width="50"/>
|
||||
<el-table-column align="center" show-overflow-tooltip type="selection" width="50" />
|
||||
<el-table-column align="center" show-overflow-tooltip type="index" label="序号" width="50" />
|
||||
<el-table-column
|
||||
v-for="(item, index) in columns"
|
||||
v-for="(item, index) in columns2"
|
||||
v-if="item.visible"
|
||||
:key="index"
|
||||
align="center"
|
||||
|
|
@ -427,42 +417,42 @@
|
|||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="公司名称" prop="companyName">
|
||||
<el-input v-model="formData.companyName" disabled/>
|
||||
<el-input v-model="formData.companyName" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="施工主工序" prop="mainGx">
|
||||
<el-input v-model="formData.mainGx" disabled/>
|
||||
<el-input v-model="formData.mainGx" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="施工子工序" prop="childGx">
|
||||
<el-input v-model="formData.childGx" disabled/>
|
||||
<el-input v-model="formData.childGx" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="装备大类" prop="devCategory">
|
||||
<el-input v-model="formData.devCategory" disabled/>
|
||||
<el-input v-model="formData.devCategory" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="装备小类" prop="devSubcategory">
|
||||
<el-input v-model="formData.devSubcategory" disabled/>
|
||||
<el-input v-model="formData.devSubcategory" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="装备名称" prop="name">
|
||||
<el-input v-model="formData.name" disabled/>
|
||||
<el-input v-model="formData.name" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="规格型号" prop="devModel">
|
||||
<el-input v-model="formData.devModel" disabled/>
|
||||
<el-input v-model="formData.devModel" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="装备编号" prop="code">
|
||||
<el-input v-model="formData.code" disabled/>
|
||||
<el-input v-model="formData.code" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
|
|
@ -486,57 +476,57 @@
|
|||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="使用到期时间" prop="expireTime">
|
||||
<el-input v-model="formData.expireTime" disabled/>
|
||||
<el-input v-model="formData.expireTime" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="计数单位" prop="unitName">
|
||||
<el-input v-model="formData.unitName" disabled/>
|
||||
<el-input v-model="formData.unitName" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="产权单位" prop="propertyCompany">
|
||||
<el-input v-model="formData.propertyCompany" disabled/>
|
||||
<el-input v-model="formData.propertyCompany" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="资产原值(万元)" prop="buyPrice">
|
||||
<el-input v-model="formData.buyPrice" disabled/>
|
||||
<el-input v-model="formData.buyPrice" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="生产日期" prop="productionDate">
|
||||
<el-input v-model="formData.productionDate" disabled/>
|
||||
<el-input v-model="formData.productionDate" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="使用年限" prop="workingHours">
|
||||
<el-input v-model="formData.workingHours" disabled/>
|
||||
<el-input v-model="formData.workingHours" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="所在项目" prop="onProject">
|
||||
<el-input v-model="formData.onProject" disabled/>
|
||||
<el-input v-model="formData.onProject" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="联系人" prop="person">
|
||||
<el-input v-model="formData.person" disabled/>
|
||||
<el-input v-model="formData.person" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="联系方式" prop="personPhone">
|
||||
<el-input v-model="formData.personPhone" disabled/>
|
||||
<el-input v-model="formData.personPhone" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="下次维保日期" prop="nextCheckTime">
|
||||
<el-input v-model="formData.nextCheckTime" disabled/>
|
||||
<el-input v-model="formData.nextCheckTime" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="生产厂商" prop="brand">
|
||||
<el-input v-model="formData.brand" disabled/>
|
||||
<el-input v-model="formData.brand" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
|
@ -559,42 +549,42 @@
|
|||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="公司名称" prop="companyName">
|
||||
<el-input v-model="formData.companyName"/>
|
||||
<el-input v-model="formData.companyName" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="施工主工序" prop="mainGx">
|
||||
<el-input v-model="formData.mainGx"/>
|
||||
<el-input v-model="formData.mainGx" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="施工子工序" prop="childGx">
|
||||
<el-input v-model="formData.childGx"/>
|
||||
<el-input v-model="formData.childGx" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="装备大类" prop="devCategory">
|
||||
<el-input v-model="formData.devCategory"/>
|
||||
<el-input v-model="formData.devCategory" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="装备小类" prop="devSubcategory">
|
||||
<el-input v-model="formData.devSubcategory"/>
|
||||
<el-input v-model="formData.devSubcategory" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="装备名称" prop="name">
|
||||
<el-input v-model="formData.name"/>
|
||||
<el-input v-model="formData.name" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="规格型号" prop="devModel">
|
||||
<el-input v-model="formData.devModel"/>
|
||||
<el-input v-model="formData.devModel" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="装备编号" prop="code">
|
||||
<el-input v-model="formData.code" disabled/>
|
||||
<el-input v-model="formData.code" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
|
|
@ -629,17 +619,17 @@
|
|||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="计数单位" prop="unitName">
|
||||
<el-input v-model="formData.unitName"/>
|
||||
<el-input v-model="formData.unitName" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="产权单位" prop="propertyCompany">
|
||||
<el-input v-model="formData.propertyCompany"/>
|
||||
<el-input v-model="formData.propertyCompany" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="资产原值(万元)" prop="buyPrice">
|
||||
<el-input v-model="formData.buyPrice" type="number"/>
|
||||
<el-input v-model="formData.buyPrice" type="number" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
|
|
@ -655,22 +645,22 @@
|
|||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="使用年限" prop="workingHours">
|
||||
<el-input v-model="formData.workingHours" type="number"/>
|
||||
<el-input v-model="formData.workingHours" type="number" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="所在项目" prop="onProject">
|
||||
<el-input v-model="formData.onProject"/>
|
||||
<el-input v-model="formData.onProject" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="联系人" prop="person">
|
||||
<el-input v-model="formData.person"/>
|
||||
<el-input v-model="formData.person" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="联系方式" prop="personPhone">
|
||||
<el-input v-model="formData.personPhone"/>
|
||||
<el-input v-model="formData.personPhone" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
|
|
@ -686,7 +676,7 @@
|
|||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="生产厂商" prop="brand">
|
||||
<el-input v-model="formData.brand"/>
|
||||
<el-input v-model="formData.brand" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12"></el-col>
|
||||
|
|
@ -713,7 +703,7 @@
|
|||
<!-- 弹框 -->
|
||||
<el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="40%">
|
||||
<el-table :data="dialogList" fit highlight-current-row style="width: 100%" height="546">
|
||||
<el-table-column type="index" width="55" label="序号" align="center"/>
|
||||
<el-table-column type="index" width="55" label="序号" align="center" />
|
||||
<el-table-column label="附件名称" prop="fileName" align="center">
|
||||
<!-- 插槽 -->
|
||||
<template v-slot="{ row }">
|
||||
|
|
@ -738,7 +728,7 @@ import {
|
|||
delDevice,
|
||||
updateDeviceAPI,
|
||||
getDeviceDetailAPI,
|
||||
getManufacturerSelectApi
|
||||
getManufacturerSelectApi,
|
||||
} from '@/api/EquipmentLedger/index.js'
|
||||
import { firstLevel, secondAndThirdLevel } from '@/api/EquipmentEntryApply'
|
||||
import { getMaxFeatureAPI, getProvinceListAPI } from '@/api/EquipmentLedger/equ-out.js'
|
||||
|
|
@ -773,14 +763,14 @@ export default {
|
|||
featureItem: undefined, // 特征项
|
||||
featureValue: undefined, // 特征值
|
||||
pageNum: 1,
|
||||
pageSize: 10
|
||||
pageSize: 10,
|
||||
},
|
||||
// 查询表单验证规则
|
||||
queryRules: {},
|
||||
// 树形结构配置
|
||||
defaultProps: {
|
||||
children: 'children',
|
||||
label: 'name'
|
||||
label: 'name',
|
||||
},
|
||||
treeData: [],
|
||||
defaultExpandedKeys: [], // 存储默认展开的节点 key
|
||||
|
|
@ -790,6 +780,7 @@ export default {
|
|||
processList: [], // 工序
|
||||
serviceLifeList: [], // 使用年限
|
||||
manufacturerList: [], // 生产厂家
|
||||
columns2: [],
|
||||
columns: [
|
||||
{ key: 0, label: `所属省份`, prop: 'province', visible: true },
|
||||
{ key: 1, label: `产权单位`, prop: 'propertyUnit', visible: true },
|
||||
|
|
@ -835,7 +826,7 @@ export default {
|
|||
{ key: 40, label: `特征项8`, prop: 'featureItem8', visible: true },
|
||||
{ key: 41, label: `特征值8`, prop: 'featureValue8', visible: true },
|
||||
{ key: 42, label: `特征项9`, prop: 'featureItem9', visible: true },
|
||||
{ key: 43, label: `特征值9`, prop: 'featureValue9', visible: true }
|
||||
{ key: 43, label: `特征值9`, prop: 'featureValue9', visible: true },
|
||||
],
|
||||
tableData: [],
|
||||
tableColumns: 0,
|
||||
|
|
@ -879,18 +870,18 @@ export default {
|
|||
personPhone: '',
|
||||
nextCheckTime: '',
|
||||
brand: '',
|
||||
propertyVoList: []
|
||||
propertyVoList: [],
|
||||
},
|
||||
// 表单验证规则
|
||||
formRules: {
|
||||
name: [{ required: true, message: '请输入装备名称', trigger: 'blur' }],
|
||||
code: [{ required: true, message: '请输入装备编号', trigger: 'blur' }],
|
||||
changeStatus: [{ required: true, message: '请选择装备状态', trigger: 'change' }]
|
||||
changeStatus: [{ required: true, message: '请选择装备状态', trigger: 'change' }],
|
||||
},
|
||||
maxFeatureCount: 5, // 最大特征项数量限制
|
||||
dialogVisible: false,
|
||||
dialogTitle: '',
|
||||
dialogList: []
|
||||
dialogList: [],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
|
@ -898,8 +889,9 @@ export default {
|
|||
initDefaultExpandedKeys() {
|
||||
const keys = []
|
||||
const traverse = (data, level) => {
|
||||
data.forEach(node => {
|
||||
if (level <= 1) { // 只展开第1级和第2级
|
||||
data.forEach((node) => {
|
||||
if (level <= 1) {
|
||||
// 只展开第1级和第2级
|
||||
keys.push(node.id) // 假设你的节点唯一标识是 `id`
|
||||
if (node.children && node.children.length > 0) {
|
||||
traverse(node.children, level + 1)
|
||||
|
|
@ -925,13 +917,13 @@ export default {
|
|||
},
|
||||
filterTree(nodes) {
|
||||
return nodes
|
||||
.map(node => {
|
||||
.map((node) => {
|
||||
if (node.children) {
|
||||
node.children = this.filterTree(node.children)
|
||||
}
|
||||
return node
|
||||
})
|
||||
.filter(node => node.status !== '1')
|
||||
.filter((node) => node.status !== '1')
|
||||
},
|
||||
// 获取厂家
|
||||
getManufacturerSelectList() {
|
||||
|
|
@ -969,7 +961,7 @@ export default {
|
|||
list.forEach((item) => {
|
||||
map[item.value] = {
|
||||
value: item.value.toString(),
|
||||
label: item.label
|
||||
label: item.label,
|
||||
}
|
||||
})
|
||||
|
||||
|
|
@ -1099,7 +1091,7 @@ export default {
|
|||
collectFirstAndSecondLevelKeys(nodes) {
|
||||
if (!nodes || !nodes.length) return
|
||||
|
||||
nodes.forEach(firstLevelNode => {
|
||||
nodes.forEach((firstLevelNode) => {
|
||||
// 展开第一级节点
|
||||
if (firstLevelNode.id) {
|
||||
this.defaultExpandedKeys.push(firstLevelNode.id)
|
||||
|
|
@ -1109,7 +1101,7 @@ export default {
|
|||
// 检查是否有子节点(第二级节点)
|
||||
if (firstLevelNode.children && firstLevelNode.children.length) {
|
||||
// 遍历所有第二级节点
|
||||
firstLevelNode.children.forEach(secondLevelNode => {
|
||||
firstLevelNode.children.forEach((secondLevelNode) => {
|
||||
if (secondLevelNode.id) {
|
||||
this.defaultExpandedKeys.push(secondLevelNode.id)
|
||||
console.log(`展开第二级节点: ${secondLevelNode.name}, ID: ${secondLevelNode.id}`)
|
||||
|
|
@ -1172,7 +1164,7 @@ export default {
|
|||
if (!treeData || !treeData.length) return []
|
||||
|
||||
return treeData
|
||||
.map(node => {
|
||||
.map((node) => {
|
||||
// 深拷贝节点
|
||||
const newNode = { ...node }
|
||||
|
||||
|
|
@ -1198,7 +1190,7 @@ export default {
|
|||
return null
|
||||
}
|
||||
})
|
||||
.filter(node => node !== null)
|
||||
.filter((node) => node !== null)
|
||||
},
|
||||
|
||||
/**
|
||||
|
|
@ -1210,7 +1202,7 @@ export default {
|
|||
collectMatchedNodeIds(treeData, key, expandedIds) {
|
||||
if (!treeData || !treeData.length) return
|
||||
|
||||
treeData.forEach(node => {
|
||||
treeData.forEach((node) => {
|
||||
// 若当前节点匹配关键词,记录其ID(用于展开)
|
||||
if (key ? node.name.includes(key) : true) {
|
||||
if (node.id) expandedIds.push(node.id)
|
||||
|
|
@ -1301,6 +1293,15 @@ export default {
|
|||
const listResult = await getDeviceListAPI(this.queryParams)
|
||||
this.tableData = listResult.data?.rows || []
|
||||
this.total = listResult.data?.total || 0
|
||||
|
||||
let maxLength = 0
|
||||
this.tableData.forEach((item) => {
|
||||
if (item.propertyVoList && item.propertyVoList.length > maxLength) {
|
||||
maxLength = item.propertyVoList.length
|
||||
}
|
||||
})
|
||||
maxLength = maxLength > 0 ? maxLength * 2 : 0
|
||||
this.columns2 = this.columns.slice(0, this.columns.length - 18 + maxLength)
|
||||
} catch (error) {
|
||||
// this.$message.error('获取设备列表失败:' + (error.message || '未知错误'))
|
||||
console.error(error)
|
||||
|
|
@ -1368,7 +1369,7 @@ export default {
|
|||
personPhone: '',
|
||||
nextCheckTime: '',
|
||||
brand: '',
|
||||
propertyVoList: []
|
||||
propertyVoList: [],
|
||||
}
|
||||
},
|
||||
|
||||
|
|
@ -1388,7 +1389,7 @@ export default {
|
|||
|
||||
this.formData.propertyVoList.push({
|
||||
propertyName: '',
|
||||
propertyValue: ''
|
||||
propertyValue: '',
|
||||
})
|
||||
},
|
||||
|
||||
|
|
@ -1401,7 +1402,7 @@ export default {
|
|||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
center: true,
|
||||
showCancelButton: this.formData.propertyVoList.length > 1 // 至少保留一个特征项
|
||||
showCancelButton: this.formData.propertyVoList.length > 1, // 至少保留一个特征项
|
||||
})
|
||||
.then(() => {
|
||||
this.formData.propertyVoList.splice(index, 1)
|
||||
|
|
@ -1415,7 +1416,7 @@ export default {
|
|||
* 提交编辑表单
|
||||
*/
|
||||
async submitEditForm() {
|
||||
this.$refs.editForm.validate(async(valid) => {
|
||||
this.$refs.editForm.validate(async (valid) => {
|
||||
if (valid) {
|
||||
try {
|
||||
const res = await updateDeviceAPI(this.formData)
|
||||
|
|
@ -1441,8 +1442,8 @@ export default {
|
|||
this.$confirm('确定要删除该装备吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(async() => {
|
||||
type: 'warning',
|
||||
}).then(async () => {
|
||||
try {
|
||||
const res = await delDevice(row.maId)
|
||||
if (res.code === 200) {
|
||||
|
|
@ -1469,7 +1470,7 @@ export default {
|
|||
try {
|
||||
const res = await updateDeviceUpDownAPI({
|
||||
devIds: this.selectedRows.map((item) => item.maId).join(','),
|
||||
status: 1
|
||||
status: 1,
|
||||
})
|
||||
this.selectedRows = []
|
||||
|
||||
|
|
@ -1497,7 +1498,7 @@ export default {
|
|||
try {
|
||||
const res = await updateDeviceUpDownAPI({
|
||||
devIds: this.selectedRows.map((item) => item.maId).join(','),
|
||||
status: 0
|
||||
status: 0,
|
||||
})
|
||||
this.selectedRows = []
|
||||
|
||||
|
|
@ -1568,7 +1569,7 @@ export default {
|
|||
handleFile(row) {
|
||||
// 打开文件预览
|
||||
window.open(row.fileUrl, '_blank')
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
async created() {
|
||||
|
|
@ -1581,12 +1582,10 @@ export default {
|
|||
// 最后加载列表数据
|
||||
await this.getDeviceList()
|
||||
this.initDefaultExpandedKeys()
|
||||
}
|
||||
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
<style scoped lang="scss">
|
||||
.app-container {
|
||||
padding: 12px;
|
||||
|
|
@ -1880,15 +1879,15 @@ export default {
|
|||
// 启用斑马纹
|
||||
&.el-table--striped .el-table__body {
|
||||
tr.el-table__row--striped td {
|
||||
background-color: #F6FBFA !important; // 浅紫色
|
||||
background-color: #f6fbfa !important; // 浅紫色
|
||||
}
|
||||
}
|
||||
|
||||
.el-table__header {
|
||||
background: #E9F0EE;
|
||||
background: #e9f0ee;
|
||||
|
||||
th {
|
||||
background: #E9F0EE !important;
|
||||
background: #e9f0ee !important;
|
||||
color: #606266;
|
||||
font-weight: 600;
|
||||
height: 50px;
|
||||
|
|
@ -1896,7 +1895,7 @@ export default {
|
|||
}
|
||||
|
||||
&.el-table--striped .el-table__body tr.el-table__row:hover > td.el-table__cell {
|
||||
background-color: #CCF1E9 !important;
|
||||
background-color: #ccf1e9 !important;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1904,5 +1903,3 @@ export default {
|
|||
width: 1.5% !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -247,6 +247,7 @@ export default {
|
|||
operationType: this.isNew ? 'add' : 'edit', // ✅ 区分新增或编辑
|
||||
toBeScrapList: this.detailList.map(item => ({
|
||||
...item,
|
||||
devId: item.id,
|
||||
keyId: item.keyId,
|
||||
devCode: item.devCode,
|
||||
type: item.type,
|
||||
|
|
|
|||
|
|
@ -0,0 +1,18 @@
|
|||
<template>
|
||||
<div>
|
||||
<iframe src="screen/wsScreen" style="width: 100%; height: 100vh; border: none"></iframe>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'Index',
|
||||
data() {
|
||||
return {}
|
||||
},
|
||||
created() {},
|
||||
methods: {},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped></style>
|
||||
Loading…
Reference in New Issue