This commit is contained in:
parent
1ba03331e4
commit
abceaaf90f
|
|
@ -5,15 +5,15 @@ import request from '@/utils/request'
|
|||
export const getTotalEquipmentApi = () => {
|
||||
return request({
|
||||
url: '/material-mall/provinceScreen/getTotalEquipment',
|
||||
method: 'get'
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
// 线路 变电 电缆
|
||||
export const getEquipmentClassificationApi = () => {
|
||||
return request({
|
||||
url: '/material-mall/provinceScreen/getEquipmentClassification',
|
||||
method: 'get'
|
||||
url: '/material-mall/largeScreen/statByTypeAndAge',
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
|
|
@ -21,7 +21,7 @@ export const getEquipmentClassificationApi = () => {
|
|||
export const getUnitEquipmentConfigurationApi = () => {
|
||||
return request({
|
||||
url: '/material-mall/provinceScreen/getUnitEquipmentConfiguration',
|
||||
method: 'get'
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
|
|
@ -29,7 +29,7 @@ export const getUnitEquipmentConfigurationApi = () => {
|
|||
export const getEquipmentStatusApi = () => {
|
||||
return request({
|
||||
url: '/material-mall/provinceScreen/getEquipmentStatus',
|
||||
method: 'get'
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
|
|
@ -37,7 +37,7 @@ export const getEquipmentStatusApi = () => {
|
|||
export const getProjectEquipmentApi = () => {
|
||||
return request({
|
||||
url: '/material-mall/provinceScreen/getProjectEquipment',
|
||||
method: 'get'
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
|
|
@ -45,7 +45,7 @@ export const getProjectEquipmentApi = () => {
|
|||
export const getDeptEquipmentApi = () => {
|
||||
return request({
|
||||
url: '/material-mall/provinceScreen/getDeptEquipment',
|
||||
method: 'get'
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
|
|
@ -54,7 +54,7 @@ export const getEquipmentUseApi = (data) => {
|
|||
return request({
|
||||
url: '/material-mall/provinceScreen/getEquipmentUse',
|
||||
method: 'get',
|
||||
params: data
|
||||
params: data,
|
||||
})
|
||||
}
|
||||
|
||||
|
|
@ -63,7 +63,7 @@ export const getUsageStatisticsApi = (data) => {
|
|||
return request({
|
||||
url: '/material-mall/provinceScreen/getUsageStatistics',
|
||||
method: 'get',
|
||||
params: data
|
||||
params: data,
|
||||
})
|
||||
}
|
||||
|
||||
|
|
@ -72,7 +72,7 @@ export const getEquipmentNumberApi = (data) => {
|
|||
return request({
|
||||
url: '/material-mall/provinceScreen/getEquipmentNumber',
|
||||
method: 'get',
|
||||
params: data
|
||||
params: data,
|
||||
})
|
||||
}
|
||||
|
||||
|
|
@ -81,6 +81,49 @@ export const getMechanizationRateApi = (data) => {
|
|||
return request({
|
||||
url: '/material-mall/provinceScreen/getMechanizationRate',
|
||||
method: 'get',
|
||||
params: data
|
||||
params: data,
|
||||
})
|
||||
}
|
||||
|
||||
// 装备范围-下拉
|
||||
export const getAddressApi = () => {
|
||||
return request({
|
||||
url: '/material-mall/largeScreen/getAddress',
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
// 地市公司-下拉
|
||||
export const getDeptApi = (data) => {
|
||||
return request({
|
||||
url: '/material-mall/largeScreen/getDept',
|
||||
method: 'get',
|
||||
params: data,
|
||||
})
|
||||
}
|
||||
|
||||
// 装备类目-树
|
||||
export const getMaTypeApi = (data) => {
|
||||
return request({
|
||||
url: '/material-mall/largeScreen/getMaType',
|
||||
method: 'get',
|
||||
params: data,
|
||||
})
|
||||
}
|
||||
|
||||
// 工程专业-下拉
|
||||
export const getFirstLevelApi = () => {
|
||||
return request({
|
||||
url: '/material-mall/order/firstLevel',
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
// 所在项目-下拉
|
||||
export const getProListApi = (data = {}) => {
|
||||
return request({
|
||||
url: '/material-mall/decChange/getProList',
|
||||
method: 'post',
|
||||
data,
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,8 +17,8 @@
|
|||
<div v-if="selectedCity && btnIndex == 1" class="city-tooltip">
|
||||
<div class="city-name">{{ selectedCity.cityName }}</div>
|
||||
<div
|
||||
>装备价值: <span class="num">{{ selectedCity.totalValue }}</span
|
||||
><span class="unit"> 元</span></div
|
||||
>装备价值: <span class="num">{{ (selectedCity.totalValue / 100000000).toFixed(4) }}</span
|
||||
><span class="unit"> 亿元</span></div
|
||||
>
|
||||
<div
|
||||
>装备数量: <span class="num">{{ selectedCity.totalEquipmentQuantity }}</span
|
||||
|
|
@ -177,8 +177,8 @@ export default {
|
|||
},
|
||||
},
|
||||
viewControl: {
|
||||
distance: 136, // 视角远近
|
||||
alpha: 40, // 旋转角度
|
||||
distance: 168, // 视角远近
|
||||
alpha: 52, // 旋转角度
|
||||
beta: -16,
|
||||
rotateSensitivity: 0, // 禁止旋转
|
||||
zoomSensitivity: 0, // 禁止缩放
|
||||
|
|
@ -194,8 +194,14 @@ export default {
|
|||
data: seriesData,
|
||||
symbol: 'circle',
|
||||
symbolSize: 18,
|
||||
itemStyle: {
|
||||
color: '#f90', // 👈 散点颜色在这里改
|
||||
opacity: 1, // 可调透明度
|
||||
},
|
||||
label: {
|
||||
show: true,
|
||||
position: 'top', // 先指定一个基准位置(如 'top')
|
||||
offset: [0, -10], // 向上偏移 10px(x 方向 0,y 方向 -10)
|
||||
formatter: (params) => {
|
||||
const val = params.data.value || []
|
||||
let unit = ''
|
||||
|
|
@ -203,7 +209,9 @@ export default {
|
|||
else if (this.btnIndex === 2) unit = '台'
|
||||
else if (this.btnIndex === 3) unit = '%'
|
||||
return val.length
|
||||
? `{val|${val[2]} ${unit}}\n{name|${params.data.deptName}}`
|
||||
? `{val|${this.btnIndex === 1 ? (val[2] / 100000000).toFixed(4) : val[2]} ${unit}}\n{name|${
|
||||
params.data.deptName
|
||||
}}`
|
||||
: `{name|${params.data.deptName}}`
|
||||
},
|
||||
rich: {
|
||||
|
|
@ -228,7 +236,6 @@ export default {
|
|||
},
|
||||
},
|
||||
],
|
||||
// series: [{ type: 'map3D', z: 10, itemStyle: {color: 'transparent'}, borderColor: '#5CE0FF', borderWidth: 3 }]
|
||||
}
|
||||
|
||||
this.myChart.setOption(option)
|
||||
|
|
|
|||
|
|
@ -23,41 +23,83 @@
|
|||
label-width="100px"
|
||||
@submit.native.prevent
|
||||
>
|
||||
<el-form-item label="装备范围" prop="equipRange">
|
||||
<el-select v-model="queryParams.equipRange" placeholder="请选择" clearable style="width: 240px">
|
||||
<el-option v-for="item in equipRangeList" :key="item.value" :label="item.label" :value="item.value" />
|
||||
<el-form-item label="装备范围" prop="deptName">
|
||||
<el-select
|
||||
v-model="queryParams.deptName"
|
||||
placeholder="请选择"
|
||||
clearable
|
||||
style="width: 240px"
|
||||
@change="changeDept"
|
||||
>
|
||||
<el-option v-for="item in deptNameList" :key="item.code" :label="item.name" :value="item.code" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="地市公司" prop="dsCompName">
|
||||
<el-select v-model="queryParams.dsCompName" placeholder="请选择" clearable style="width: 240px">
|
||||
<el-option v-for="item in dsCompNameList" :key="item.value" :label="item.label" :value="item.value" />
|
||||
<el-form-item label="产权单位" prop="companyName">
|
||||
<el-select v-model="queryParams.companyName" placeholder="请选择" clearable style="width: 240px">
|
||||
<el-option
|
||||
v-for="item in companyNameList"
|
||||
:key="item.deptId"
|
||||
:label="item.deptName"
|
||||
:value="item.deptId"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="装备名称" prop="equipName">
|
||||
<el-input v-model="queryParams.equipName" placeholder="请输入" clearable style="width: 240px" />
|
||||
</el-form-item>
|
||||
<el-form-item label="装备系列" prop="equipSeries">
|
||||
<el-select v-model="queryParams.equipSeries" placeholder="请选择" clearable style="width: 240px">
|
||||
<el-option v-for="item in equipSeriesList" :key="item.value" :label="item.label" :value="item.value" />
|
||||
<el-form-item label="工程专业" prop="proType">
|
||||
<el-select
|
||||
v-model="queryParams.proType"
|
||||
placeholder="请选择"
|
||||
clearable
|
||||
style="width: 240px"
|
||||
@change="changeProType"
|
||||
>
|
||||
<el-option v-for="item in proTypeList" :key="item.value" :label="item.label" :value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="装备编号" prop="equipCode">
|
||||
<el-input v-model="queryParams.equipCode" placeholder="请输入" clearable style="width: 240px" />
|
||||
<el-form-item label="装备类目" prop="deviceSeries">
|
||||
<el-cascader
|
||||
v-model="deviceSeries"
|
||||
:options="deviceSeriesList"
|
||||
clearable
|
||||
@change="changeDeviceSeries"
|
||||
style="width: 240px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="装备状态" prop="equipStatus">
|
||||
<el-select v-model="queryParams.equipStatus" placeholder="请选择" clearable style="width: 240px">
|
||||
<el-option v-for="item in equipStatusList" :key="item.value" :label="item.label" :value="item.value" />
|
||||
<el-form-item label="装备名称" prop="deviceName">
|
||||
<el-input v-model="queryParams.deviceName" placeholder="请输入" clearable style="width: 240px" />
|
||||
</el-form-item>
|
||||
<el-form-item label="规格型号" prop="devModel">
|
||||
<el-input v-model="queryParams.devModel" placeholder="请输入" clearable style="width: 240px" />
|
||||
</el-form-item>
|
||||
<el-form-item label="装备编号" prop="code">
|
||||
<el-input v-model="queryParams.code" placeholder="请输入" clearable style="width: 240px" />
|
||||
</el-form-item>
|
||||
<el-form-item label="装备原始编码" prop="identifyCode">
|
||||
<el-input v-model="queryParams.identifyCode" placeholder="请输入" clearable style="width: 240px" />
|
||||
</el-form-item>
|
||||
<el-form-item label="装备状态" prop="changeStatus">
|
||||
<el-select v-model="queryParams.changeStatus" placeholder="请选择" clearable style="width: 240px">
|
||||
<el-option v-for="item in changeStatusList" :key="item.value" :label="item.label" :value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="所在项目" prop="projectName">
|
||||
<el-select v-model="queryParams.projectName" placeholder="请选择" clearable style="width: 240px">
|
||||
<el-option v-for="item in projectNameList" :key="item.value" :label="item.label" :value="item.value" />
|
||||
<el-form-item label="所在项目" prop="onProject">
|
||||
<el-select v-model="queryParams.onProject" placeholder="请选择" clearable style="width: 240px">
|
||||
<el-option
|
||||
v-for="item in onProjectList"
|
||||
:key="item.proCode"
|
||||
:label="item.proName"
|
||||
:value="item.proCode"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- 日期范围 -->
|
||||
<el-form-item label="采购日期" prop="purchaseDate">
|
||||
<el-form-item label="装备厂家" prop="brand">
|
||||
<el-input v-model="queryParams.brand" placeholder="请输入" clearable style="width: 240px" />
|
||||
<!-- <el-select v-model="queryParams.brand" placeholder="请选择" clearable style="width: 240px">
|
||||
<el-option v-for="item in brandList" :key="item.value" :label="item.label" :value="item.value" />
|
||||
</el-select> -->
|
||||
</el-form-item>
|
||||
<el-form-item label="出厂日期" prop="productionDate">
|
||||
<el-date-picker
|
||||
v-model="queryParams.purchaseDate"
|
||||
v-model="queryParams.productionDate"
|
||||
type="date"
|
||||
placeholder="请选择"
|
||||
clearable
|
||||
|
|
@ -66,38 +108,17 @@
|
|||
style="width: 240px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="出厂日期" prop="factoryDate">
|
||||
<el-form-item label="使用年限" prop="workingHours">
|
||||
<el-select v-model="queryParams.workingHours" placeholder="请选择" clearable style="width: 240px">
|
||||
<el-option v-for="item in workingHoursList" :key="item.value" :label="item.label" :value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="资产原值" prop="buyPrice">
|
||||
<el-input v-model="queryParams.buyPrice" placeholder="请输入" clearable style="width: 240px" />
|
||||
</el-form-item>
|
||||
<el-form-item label="下次检测日期" prop="nextCheckTime">
|
||||
<el-date-picker
|
||||
v-model="queryParams.factoryDate"
|
||||
type="date"
|
||||
placeholder="请选择"
|
||||
clearable
|
||||
value-format="yyyy-MM-dd"
|
||||
format="yyyy-MM-dd"
|
||||
style="width: 240px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="使用年限" prop="usefulLife">
|
||||
<el-select v-model="queryParams.usefulLife" placeholder="请选择" clearable style="width: 240px">
|
||||
<el-option v-for="item in usefulLifeList" :key="item.value" :label="item.label" :value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="产权单位" prop="propertyUnit">
|
||||
<el-select v-model="queryParams.propertyUnit" placeholder="请选择" clearable style="width: 240px">
|
||||
<el-option v-for="item in propertyUnitList" :key="item.value" :label="item.label" :value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="生产厂家" prop="manufacturer">
|
||||
<el-select v-model="queryParams.manufacturer" placeholder="请选择" clearable style="width: 240px">
|
||||
<el-option v-for="item in manufacturerList" :key="item.value" :label="item.label" :value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="资产原值" prop="assetValue">
|
||||
<el-input v-model="queryParams.assetValue" placeholder="请输入" clearable style="width: 240px" />
|
||||
</el-form-item>
|
||||
<el-form-item label="下次检测日期" prop="nextCheckDate">
|
||||
<el-date-picker
|
||||
v-model="queryParams.nextCheckDate"
|
||||
v-model="queryParams.nextCheckTime"
|
||||
type="date"
|
||||
placeholder="请选择"
|
||||
clearable
|
||||
|
|
@ -110,9 +131,10 @@
|
|||
<el-input v-model="queryParams.featureItem" placeholder="请输入" clearable style="width: 240px" />
|
||||
</el-form-item>
|
||||
<el-form-item label="特征值" prop="featureValue">
|
||||
<el-select v-model="queryParams.featureValue" placeholder="请选择" clearable style="width: 240px">
|
||||
<el-input v-model="queryParams.featureValue" placeholder="请输入" clearable style="width: 240px" />
|
||||
<!-- <el-select v-model="queryParams.featureValue" placeholder="请选择" clearable style="width: 240px">
|
||||
<el-option v-for="item in featureValueList" :key="item.value" :label="item.label" :value="item.value" />
|
||||
</el-select>
|
||||
</el-select> -->
|
||||
</el-form-item>
|
||||
|
||||
<!-- 表单按钮 -->
|
||||
|
|
@ -153,6 +175,12 @@
|
|||
:prop="column.prop"
|
||||
align="center"
|
||||
>
|
||||
<template v-slot="{ row }" v-if="column.prop === 'featureItem'">
|
||||
<span>{{ getFeatureItem(row.propertyVoList) }}</span>
|
||||
</template>
|
||||
<template v-slot="{ row }" v-else-if="column.prop === 'featureValue'">
|
||||
<span>{{ getFeatureValue(row.propertyVoList) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- 操作 -->
|
||||
<el-table-column label="操作" align="center" width="130">
|
||||
|
|
@ -176,65 +204,62 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import { getDeviceListAPI } from '@/api/EquipmentLedger'
|
||||
import { getAddressApi, getDeptApi, getMaTypeApi, getFirstLevelApi, getProListApi } from '@/api/wsScreen'
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
isLoading: false,
|
||||
dialogVisible: false,
|
||||
showSearch: true,
|
||||
deviceSeries: [],
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
equipRange: '', // 装备范围
|
||||
dsCompName: '', // 地市公司
|
||||
equipName: '', // 装备名称
|
||||
equipSeries: '', // 装备系列
|
||||
equipCode: '', // 装备编号
|
||||
equipStatus: '', // 装备状态
|
||||
projectName: '', // 所在项目
|
||||
deptName: '', // 装备范围
|
||||
companyName: '', // 地市公司
|
||||
deviceName: '', // 装备名称
|
||||
deviceSeries: '', // 装备系列
|
||||
code: '', // 装备编号
|
||||
changeStatus: '', // 装备状态
|
||||
onProject: '', // 所在项目
|
||||
purchaseDate: '', // 采购日期
|
||||
factoryDate: '', // 出厂日期
|
||||
usefulLife: '', // 使用年限
|
||||
propertyUnit: '', // 产权单位
|
||||
manufacturer: '', // 生产厂家
|
||||
assetValue: '', // 资产原值
|
||||
nextCheckDate: '', // 下次检测日期
|
||||
productionDate: '', // 出厂日期
|
||||
workingHours: '', // 使用年限
|
||||
companyName: '', // 产权单位
|
||||
brand: '', // 生产厂家
|
||||
buyPrice: '', // 资产原值
|
||||
nextCheckTime: '', // 下次检测日期
|
||||
featureItem: '', // 特征项
|
||||
featureValue: '', // 特征值
|
||||
},
|
||||
equipRangeList: [
|
||||
{ label: '全网省', value: 1 },
|
||||
{ label: '合肥市', value: 2 },
|
||||
],
|
||||
dsCompNameList: [
|
||||
{ label: '全网省', value: 1 },
|
||||
{ label: '合肥市', value: 2 },
|
||||
],
|
||||
equipSeriesList: [
|
||||
{ label: '全网省', value: 1 },
|
||||
{ label: '合肥市', value: 2 },
|
||||
],
|
||||
equipStatusList: [
|
||||
deptNameList: [],
|
||||
companyNameList: [],
|
||||
deviceSeriesList: [],
|
||||
changeStatusList: [
|
||||
{ label: '在库', value: 1 },
|
||||
{ label: '在用', value: 2 },
|
||||
{ label: '自用', value: 2 },
|
||||
{ label: '共享', value: 3 },
|
||||
{ label: '退役', value: 4 },
|
||||
{ label: '维修', value: 5 },
|
||||
],
|
||||
projectNameList: [
|
||||
{ label: '全网省', value: 1 },
|
||||
{ label: '合肥市', value: 2 },
|
||||
],
|
||||
usefulLifeList: [
|
||||
proTypeList: [],
|
||||
onProjectList: [],
|
||||
workingHoursList: [
|
||||
{ label: '5年', value: 1 },
|
||||
{ label: '10年', value: 2 },
|
||||
{ label: '5-10年', value: 2 },
|
||||
{ label: '10年以上', value: 3 },
|
||||
],
|
||||
propertyUnitList: [
|
||||
companyNameList: [
|
||||
{ label: '单位1', value: 1 },
|
||||
{ label: '单位2', value: 2 },
|
||||
],
|
||||
manufacturerList: [
|
||||
brandList: [
|
||||
{ label: '单位1', value: 1 },
|
||||
{ label: '单位2', value: 2 },
|
||||
],
|
||||
assetValueList: [
|
||||
buyPriceList: [
|
||||
{ label: '原值1', value: 1 },
|
||||
{ label: '原值2', value: 2 },
|
||||
],
|
||||
|
|
@ -244,29 +269,30 @@ export default {
|
|||
],
|
||||
|
||||
tableColumns: [
|
||||
{ label: '公司名称', prop: 'compName' },
|
||||
{ label: '工程专业', prop: 'proFee' },
|
||||
{ label: '施工主工序', prop: 'process' },
|
||||
{ label: '装备名称', prop: 'equipName' },
|
||||
{ label: '装备型号', prop: 'equipType' },
|
||||
{ label: '装备编号', prop: 'equipCode' },
|
||||
{ label: '公司名称', prop: 'companyName' },
|
||||
{ label: '产权单位', prop: 'companyName' },
|
||||
{ label: '工程专业', prop: 'proType' },
|
||||
{ label: '主工序', prop: 'mainGx' },
|
||||
{ label: '子工序', prop: 'childGx' },
|
||||
{ label: '装备大类', prop: 'devCategory' },
|
||||
{ label: '装备小类', prop: 'devSubcategory' },
|
||||
{ label: '类型分支', prop: 'devName' },
|
||||
{ label: '装备名称', prop: 'deviceName' },
|
||||
{ label: '规格型号', prop: 'devModel' },
|
||||
{ label: '装备编号', prop: 'code' },
|
||||
{ label: '计量单位', prop: 'unitName' },
|
||||
{ label: '产权单位', prop: 'propertyUnit' },
|
||||
{ label: '资产原值(元)', prop: 'unitPrice' },
|
||||
{ label: '采购日期', prop: 'purchaseDate' },
|
||||
],
|
||||
tableList: [
|
||||
// { id: 1, equipName: '测试1', equipType: '测试1', equipCode: '测试1' },
|
||||
// { id: 2, equipName: '测试1', equipType: '测试1', equipCode: '测试1' },
|
||||
// { id: 3, equipName: '测试1', equipType: '测试1', equipCode: '测试1' },
|
||||
// { id: 4, equipName: '测试1', equipType: '测试1', equipCode: '测试1' },
|
||||
// { id: 5, equipName: '测试1', equipType: '测试1', equipCode: '测试1' },
|
||||
// { id: 6, equipName: '测试1', equipType: '测试1', equipCode: '测试1' },
|
||||
// { id: 7, equipName: '测试1', equipType: '测试1', equipCode: '测试1' },
|
||||
// { id: 8, equipName: '测试1', equipType: '测试1', equipCode: '测试1' },
|
||||
// { id: 9, equipName: '测试1', equipType: '测试1', equipCode: '测试1' },
|
||||
// { id: 10, equipName: '测试1', equipType: '测试1', equipCode: '测试1' },
|
||||
{ label: '所在项目', prop: 'proName' },
|
||||
{ label: '使用到期时间', prop: 'buyPrice' },
|
||||
{ label: '装备原始编码', prop: 'identifyCode' },
|
||||
{ label: '出厂日期', prop: 'productionDate' },
|
||||
{ label: '生产厂家', prop: 'brand' },
|
||||
{ label: '资产原值', prop: 'buyPrice' },
|
||||
{ label: '下次维保日期', prop: 'nextCheckTime' },
|
||||
{ label: '使用年限', prop: 'workingHours' },
|
||||
{ label: '特征项', prop: 'featureItem' },
|
||||
{ label: '特征值', prop: 'featureValue' },
|
||||
],
|
||||
tableList: [],
|
||||
total: 0,
|
||||
}
|
||||
},
|
||||
|
|
@ -274,8 +300,21 @@ export default {
|
|||
methods: {
|
||||
openDialog() {
|
||||
this.dialogVisible = true
|
||||
this.getList()
|
||||
this.getDeptNameList()
|
||||
this.getProTypeList()
|
||||
this.getOnProjectList()
|
||||
},
|
||||
async getList() {
|
||||
try {
|
||||
const res = await getDeviceListAPI(this.queryParams)
|
||||
console.log('🚀 ~ getList ~ res:', res)
|
||||
this.tableList = res.data?.rows || []
|
||||
this.total = res.data?.total || 0
|
||||
} catch (error) {
|
||||
console.log('🚀 ~ getList ~ error:', error)
|
||||
}
|
||||
},
|
||||
getList() {},
|
||||
// 查询
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1
|
||||
|
|
@ -288,6 +327,118 @@ export default {
|
|||
this.queryParams.pageSize = 10
|
||||
this.getList()
|
||||
},
|
||||
// 拼接特征项
|
||||
getFeatureItem(item) {
|
||||
return item.map((item) => item.propertyName).join(',')
|
||||
},
|
||||
// 拼接特征值
|
||||
getFeatureValue(item) {
|
||||
return item.map((item) => item.propertyValue).join(',')
|
||||
},
|
||||
// 装备范围
|
||||
async getDeptNameList() {
|
||||
try {
|
||||
const res = await getAddressApi()
|
||||
console.log('🚀 ~ getDeptNameList ~ res:', res)
|
||||
this.deptNameList = res.data || []
|
||||
} catch (error) {
|
||||
console.log('🚀 ~ getDeptNameList ~ error:', error)
|
||||
}
|
||||
},
|
||||
// 转换为树结构
|
||||
convertToSubTree(list) {
|
||||
const map = {}
|
||||
const tree = []
|
||||
|
||||
// 构建节点映射
|
||||
list.forEach((item) => {
|
||||
map[item.value] = {
|
||||
value: item.value.toString(),
|
||||
label: item.label,
|
||||
}
|
||||
})
|
||||
|
||||
// 构建树形关系
|
||||
list.forEach((item) => {
|
||||
const current = map[item.value]
|
||||
const parent = map[item.parentId]
|
||||
|
||||
if (parent) {
|
||||
if (!parent.children) {
|
||||
parent.children = []
|
||||
}
|
||||
parent.children.push(current)
|
||||
} else {
|
||||
tree.push(current)
|
||||
}
|
||||
})
|
||||
|
||||
return tree
|
||||
},
|
||||
changeDept(val) {
|
||||
if (val) {
|
||||
this.getCompanyNameList(val)
|
||||
} else {
|
||||
this.companyNameList = []
|
||||
this.queryParams.companyName = ''
|
||||
}
|
||||
},
|
||||
// 地市公司
|
||||
async getCompanyNameList(code) {
|
||||
console.log('🚀 ~ getCompanyNameList ~ code:', code)
|
||||
try {
|
||||
const res = await getDeptApi({ code })
|
||||
console.log('🚀 ~ getCompanyNameList ~ res:', res)
|
||||
this.companyNameList = res.data || []
|
||||
} catch (error) {
|
||||
console.log('🚀 ~ getCompanyNameList ~ error:', error)
|
||||
}
|
||||
},
|
||||
// 装备类目
|
||||
async getDeviceSeriesList(firstLevelId) {
|
||||
try {
|
||||
const res = await getMaTypeApi({ firstLevelId })
|
||||
console.log('🚀 ~ getMaTypeApi ~ res:', res)
|
||||
this.deviceSeriesList = this.convertToSubTree(res.data) || []
|
||||
} catch (error) {
|
||||
console.log('🚀 ~ getMaTypeApi ~ error:', error)
|
||||
}
|
||||
},
|
||||
changeDeviceSeries(val) {
|
||||
console.log('🚀 ~ changeDeviceSeries ~ val:', val)
|
||||
if (!val) {
|
||||
this.queryParams.deviceSeries == ''
|
||||
return
|
||||
}
|
||||
this.queryParams.deviceSeries = val[val.length - 1]
|
||||
},
|
||||
// 工程专业
|
||||
async getProTypeList() {
|
||||
try {
|
||||
const res = await getFirstLevelApi()
|
||||
this.proTypeList = res.data || []
|
||||
} catch (error) {
|
||||
console.log('🚀 ~ getProTypeList ~ error:', error)
|
||||
}
|
||||
},
|
||||
changeProType(val) {
|
||||
console.log('🚀 ~ changeProType ~ val:', val)
|
||||
if (val) {
|
||||
this.getDeviceSeriesList(val)
|
||||
} else {
|
||||
this.deviceSeriesList = []
|
||||
this.queryParams.deviceSeries = ''
|
||||
}
|
||||
},
|
||||
// 所在项目
|
||||
async getOnProjectList() {
|
||||
try {
|
||||
const res = await getProListApi()
|
||||
this.onProjectList = res.data || []
|
||||
} catch (error) {
|
||||
console.log('🚀 ~ getOnProjectList ~ error:', error)
|
||||
}
|
||||
},
|
||||
// 导出数据
|
||||
handleExport() {
|
||||
// 提示
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
</div>
|
||||
<div class="left-item">
|
||||
<div class="left-tip">装备价值 <span>(亿元)</span></div>
|
||||
<div class="number">{{ query.price || 0 }}</div>
|
||||
<div class="number">{{ (query.price / 100000000).toFixed(4) || 0 }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
|
|
|
|||
|
|
@ -37,6 +37,9 @@
|
|||
:prop="column.prop"
|
||||
align="center"
|
||||
>
|
||||
<template v-slot="{ row }" v-if="column.prop === 'equipPrice'">
|
||||
<span>{{ (row.equipPrice / 100000000).toFixed(4) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
<tr v-for="(row, index) in tableData" :key="index">
|
||||
<td style="width: 60px">{{ index + 1 }}</td>
|
||||
<td style="width: 180px">{{ row.deptName }}</td>
|
||||
<td style="width: 110px">{{ row.totalValue }}</td>
|
||||
<td style="width: 110px">{{ (row.totalValue / 100000000).toFixed(4) }}</td>
|
||||
|
||||
<!-- 装备数量 -->
|
||||
<td>{{ row.totalEquipmentQuantity }}</td>
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
<div class="equip-item-2" @click="openSystemEquip">{{ equipData.total }} <span class="unit">台</span></div>
|
||||
<div class="equip-item-3">总价值</div>
|
||||
<div class="equip-item-4" @click="openTotalPrice"
|
||||
>{{ equipData.totalPrice }} <span class="unit">亿元</span></div
|
||||
>{{ (equipData.totalPrice / 100000000).toFixed(4) }} <span class="unit">亿元</span></div
|
||||
>
|
||||
</div>
|
||||
<div class="item-box">
|
||||
|
|
@ -139,27 +139,49 @@ export default {
|
|||
try {
|
||||
const { data } = await getEquipmentClassificationApi()
|
||||
console.log('🚀 ~ getEquipList ~ data:', data)
|
||||
this.state1.num = data.line.num || 0
|
||||
this.state1.price = data.line.price || 0
|
||||
this.state2.num = data.cable.num || 0
|
||||
this.state2.price = data.cable.price || 0
|
||||
this.state3.num = data.substation.num || 0
|
||||
this.state3.price = data.substation.price || 0
|
||||
this.list1[0] = data.line.five
|
||||
this.list1[1] = data.line.fiveOrTen
|
||||
this.list1[2] = data.line.ten
|
||||
this.list2[0] = data.cable.five
|
||||
this.list2[1] = data.cable.fiveOrTen
|
||||
this.list2[2] = data.cable.ten
|
||||
this.list3[0] = data.substation.five
|
||||
this.list3[1] = data.substation.fiveOrTen
|
||||
this.list3[2] = data.substation.ten
|
||||
console.log('🚀 ~ getEquipList ~ this.list1:', this.list1)
|
||||
console.log('🚀 ~ getEquipList ~ this.list2:', this.list2)
|
||||
console.log('🚀 ~ getEquipList ~ this.list3:', this.list3)
|
||||
console.log('🚀 ~ getEquipList ~ this.state1:', this.state1)
|
||||
console.log('🚀 ~ getEquipList ~ this.state2:', this.state2)
|
||||
console.log('🚀 ~ getEquipList ~ this.state3:', this.state3)
|
||||
if (!data || data.length === 0) return
|
||||
data.forEach(item => {
|
||||
if (item.targetType == 'line') {
|
||||
this.state1.num = item.num || 0
|
||||
this.state1.price = item.price || 0
|
||||
this.list1[0] = item.five
|
||||
this.list1[1] = item.fiveOrTen
|
||||
this.list1[2] = item.ten
|
||||
} else if (item.targetType == 'cable') {
|
||||
this.state2.num = item.num || 0
|
||||
this.state2.price = item.price || 0
|
||||
this.list2[0] = item.five
|
||||
this.list2[1] = item.fiveOrTen
|
||||
this.list2[2] = item.ten
|
||||
} else if (item.targetType == 'substation') {
|
||||
this.state3.num = item.num || 0
|
||||
this.state3.price = item.price || 0
|
||||
this.list3[0] = item.five
|
||||
this.list3[1] = item.fiveOrTen
|
||||
this.list3[2] = item.ten
|
||||
}
|
||||
})
|
||||
// this.state1.num = data.line.num || 0
|
||||
// this.state1.price = data.line.price || 0
|
||||
// this.state2.num = data.cable.num || 0
|
||||
// this.state2.price = data.cable.price || 0
|
||||
// this.state3.num = data.substation.num || 0
|
||||
// this.state3.price = data.substation.price || 0
|
||||
// this.list1[0] = data.line.five
|
||||
// this.list1[1] = data.line.fiveOrTen
|
||||
// this.list1[2] = data.line.ten
|
||||
// this.list2[0] = data.cable.five
|
||||
// this.list2[1] = data.cable.fiveOrTen
|
||||
// this.list2[2] = data.cable.ten
|
||||
// this.list3[0] = data.substation.five
|
||||
// this.list3[1] = data.substation.fiveOrTen
|
||||
// this.list3[2] = data.substation.ten
|
||||
// console.log('🚀 ~ getEquipList ~ this.list1:', this.list1)
|
||||
// console.log('🚀 ~ getEquipList ~ this.list2:', this.list2)
|
||||
// console.log('🚀 ~ getEquipList ~ this.list3:', this.list3)
|
||||
// console.log('🚀 ~ getEquipList ~ this.state1:', this.state1)
|
||||
// console.log('🚀 ~ getEquipList ~ this.state2:', this.state2)
|
||||
// console.log('🚀 ~ getEquipList ~ this.state3:', this.state3)
|
||||
} catch (error) {
|
||||
console.log('🚀 ~ getEquipList ~ error:', error)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,8 +23,8 @@
|
|||
<tr v-for="(row, index) in tableData" :key="index">
|
||||
<td style="width: 60px">{{ index + 1 }}</td>
|
||||
<td style="width: 200px">{{ row.name }}</td>
|
||||
<td>{{ row.proportion }}</td>
|
||||
<td>{{ row.turnoverRate }}</td>
|
||||
<td>{{ row.proportion }} %</td>
|
||||
<td>{{ row.turnoverRate }} 次/年</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
<div class="equipment-list">
|
||||
<div class="equip-item1 item">
|
||||
<div class="title">年度总投资额</div>
|
||||
<div class="number">{{ annualTotal }} <span class="unit">亿元</span></div>
|
||||
<div class="number">{{ (annualTotal / 100000000).toFixed(4) }} <span class="unit">亿元</span></div>
|
||||
</div>
|
||||
<div class="equip-item2 item">
|
||||
<div class="title">在建工程数</div>
|
||||
|
|
|
|||
Loading…
Reference in New Issue