8 changed files with 240 additions and 170 deletions
@ -0,0 +1,10 @@ |
|||
const BASE_URL = '/carbon-smart'; |
|||
export enum device { |
|||
queryDeviceTree = `${BASE_URL}/deviceInfo/queryDeviceTree`, |
|||
queryDevicePage = `${BASE_URL}/deviceInfo/queryDevicePage`, |
|||
dropArea = `${BASE_URL}/deviceInfo/dropArea`, |
|||
} |
|||
|
|||
export enum group { |
|||
queryDeviceGroupTree = `${BASE_URL}/deviceGroup/queryDeviceGroupTree`, |
|||
} |
@ -1,180 +1,233 @@ |
|||
import { dateUtil } from '/nerv-lib/util/date-util'; |
|||
import data from './mock.json'; |
|||
export const tableConfig = { |
|||
title: '设备台账', |
|||
// api: '/carbon_emission/device/getDeviceList',
|
|||
value: data.dataSource, |
|||
treeConfig: { |
|||
header: { |
|||
icon: 'orgLink', |
|||
title: '设备类别', |
|||
}, |
|||
defaultExpandAll: true, |
|||
api: () => { |
|||
return new Promise((resolve) => { |
|||
setTimeout(() => { |
|||
resolve(data); |
|||
}, 100); |
|||
}); |
|||
import { device } from '/@/api/deviceManage'; |
|||
import { ref } from 'vue'; |
|||
import { http } from '/nerv-lib/util'; |
|||
|
|||
export const tableConfig = (orgId) => { |
|||
return ref({ |
|||
title: '设备信息', |
|||
api: device.queryDevicePage, |
|||
params: { orgId }, |
|||
treeConfig: { |
|||
header: { |
|||
icon: 'orgLink', |
|||
title: '设备类别', |
|||
}, |
|||
params: { orgId }, |
|||
dynamicParams: 'code', |
|||
defaultExpandAll: true, |
|||
api: device.queryDeviceTree, |
|||
fieldNames: { title: 'deviceType', key: 'code' }, |
|||
formConfig: { |
|||
schemas: [ |
|||
{ |
|||
field: 'deviceType', |
|||
label: '设备名称', |
|||
component: 'NsInput', |
|||
autoSubmit: true, |
|||
componentProps: { |
|||
placeholder: '请输入设备类型', |
|||
}, |
|||
}, |
|||
], |
|||
}, |
|||
}, |
|||
rowSelection: null, |
|||
columns: [ |
|||
{ |
|||
title: '设备名称', |
|||
dataIndex: 'deviceName', |
|||
}, |
|||
{ |
|||
title: '设备型号', |
|||
dataIndex: 'deviceModel', |
|||
}, |
|||
{ |
|||
title: 'SN码', |
|||
dataIndex: 'snCode', |
|||
textNumber: 5, |
|||
textEllipsis: true, |
|||
}, |
|||
{ |
|||
title: '设备一级区域', |
|||
dataIndex: 'device1Area', |
|||
textNumber: 5, |
|||
textEllipsis: true, |
|||
}, |
|||
{ |
|||
title: '设备二级区域', |
|||
dataIndex: 'device2Area', |
|||
textNumber: 5, |
|||
textEllipsis: true, |
|||
}, |
|||
{ |
|||
title: '设备详细位置', |
|||
dataIndex: 'deviceAddress', |
|||
textNumber: 5, |
|||
textEllipsis: true, |
|||
}, |
|||
{ |
|||
title: '设备规格', |
|||
dataIndex: 'deviceTp', |
|||
}, |
|||
{ |
|||
title: '设备厂商纳税人识别号', |
|||
dataIndex: 'deviceRatepay', |
|||
}, |
|||
{ |
|||
title: '设备厂商', |
|||
dataIndex: 'manufacturer', |
|||
}, |
|||
{ |
|||
title: '厂商联系人', |
|||
dataIndex: 'contactPerson', |
|||
}, |
|||
{ |
|||
title: '设备描述', |
|||
dataIndex: 'deviceDesc', |
|||
textNumber: 5, |
|||
textEllipsis: true, |
|||
}, |
|||
{ |
|||
title: 'IP地址', |
|||
dataIndex: 'ipAddress', |
|||
}, |
|||
{ |
|||
title: '生产日期', |
|||
dataIndex: 'manufactureDate', |
|||
}, |
|||
{ |
|||
title: '采购日期', |
|||
dataIndex: 'purchaseDate', |
|||
}, |
|||
{ |
|||
title: '启用日期', |
|||
dataIndex: 'startDate', |
|||
}, |
|||
{ |
|||
title: '设备成本(元)', |
|||
dataIndex: 'equipmentCost', |
|||
textNumber: 6, |
|||
}, |
|||
{ |
|||
title: '使用期限', |
|||
dataIndex: 'usagePeriod', |
|||
textNumber: 4, |
|||
customRender: ({ value }) => `${value}年`, |
|||
}, |
|||
{ |
|||
title: '额定功率', |
|||
dataIndex: 'ratedPower', |
|||
textNumber: 5, |
|||
// customRender: ({ value }) => `${value}年`,
|
|||
}, |
|||
{ |
|||
title: '特殊参数', |
|||
textNumber: 5, |
|||
dataIndex: 'specialParameters', |
|||
}, |
|||
], |
|||
|
|||
formConfig: { |
|||
schemas: [ |
|||
{ |
|||
field: 'name', |
|||
field: 'deviceName', |
|||
label: '设备名称', |
|||
component: 'NsInput', |
|||
autoSubmit: true, |
|||
componentProps: { |
|||
placeholder: '请输入', |
|||
placeholder: '请输入设备名称', |
|||
}, |
|||
}, |
|||
], |
|||
}, |
|||
}, |
|||
params: { |
|||
page: 0, |
|||
pageSize: 10, |
|||
}, |
|||
rowSelection: null, |
|||
columns: [ |
|||
{ |
|||
title: '设备名称', |
|||
dataIndex: 'id', |
|||
}, |
|||
{ |
|||
title: '设备型号', |
|||
dataIndex: 'deviceCode', |
|||
}, |
|||
{ |
|||
title: 'SN码', |
|||
dataIndex: 'deviceName', |
|||
textNumber: 8, |
|||
textEllipsis: true, |
|||
}, |
|||
{ |
|||
title: '设备一级区域', |
|||
dataIndex: 'position', |
|||
}, |
|||
{ |
|||
title: '设备二级区域', |
|||
dataIndex: 'position', |
|||
}, |
|||
{ |
|||
title: '设备详细位置', |
|||
dataIndex: 'position', |
|||
}, |
|||
{ |
|||
title: '设备规格', |
|||
dataIndex: 'position', |
|||
}, |
|||
{ |
|||
title: '设备厂商纳税人识别号', |
|||
dataIndex: 'position', |
|||
}, |
|||
{ |
|||
title: '厂商联系人', |
|||
dataIndex: 'position', |
|||
}, |
|||
{ |
|||
title: '设备描述', |
|||
dataIndex: 'position', |
|||
}, |
|||
{ |
|||
title: 'IP地址', |
|||
dataIndex: 'position', |
|||
}, |
|||
{ |
|||
title: '生产日期', |
|||
dataIndex: 'position', |
|||
}, |
|||
{ |
|||
title: '采购日期', |
|||
dataIndex: 'position', |
|||
}, |
|||
{ |
|||
title: '启用日期', |
|||
dataIndex: 'position', |
|||
}, |
|||
{ |
|||
title: '设备成本(元)', |
|||
dataIndex: 'position', |
|||
}, |
|||
{ |
|||
title: '使用期限', |
|||
dataIndex: 'position', |
|||
}, |
|||
{ |
|||
title: '额定功率', |
|||
dataIndex: 'position', |
|||
}, |
|||
{ |
|||
title: '特殊参数', |
|||
dataIndex: 'position', |
|||
}, |
|||
], |
|||
{ |
|||
field: 'areas', |
|||
label: '设备区域', |
|||
component: 'NsCascader', |
|||
format: (record) => { |
|||
console.log(record); |
|||
|
|||
formConfig: { |
|||
schemas: [ |
|||
{ |
|||
field: 'name', |
|||
label: '设备名称', |
|||
component: 'NsInput', |
|||
componentProps: { |
|||
placeholder: '请输入', |
|||
}, |
|||
}, |
|||
{ |
|||
field: 'provider', |
|||
label: '设备厂商', |
|||
component: 'NsInput', |
|||
componentProps: { |
|||
placeholder: '请输入', |
|||
}, |
|||
}, |
|||
{ |
|||
field: 'payWay', |
|||
label: '设备区域', |
|||
component: 'NsSelect', |
|||
componentProps: { |
|||
placeholder: '请选择', |
|||
options: [ |
|||
{ |
|||
label: '全部', |
|||
value: '', |
|||
return record?.reduce( |
|||
(pre, cur) => { |
|||
const len = cur?.length - 1; |
|||
pre[len].push(cur[len]); |
|||
return pre; |
|||
}, |
|||
[[], []], |
|||
); |
|||
}, |
|||
fieldMap: ['area1', 'area2'], |
|||
componentProps: { |
|||
placeholder: '请选择设备区域', |
|||
multiple: true, |
|||
loadData: (selectedOptions, options) => { |
|||
const targetOption = selectedOptions[selectedOptions.length - 1]; |
|||
if (!selectedOptions.length) { |
|||
http.post(device.dropArea, { orgId }).then((res) => { |
|||
options.value = res.data?.map((item) => { |
|||
return { label: item, value: item, children: [], isLeaf: false }; |
|||
}); |
|||
}); |
|||
} |
|||
const value = targetOption?.value; |
|||
if (targetOption) { |
|||
targetOption.loading = true; |
|||
http.post(device.dropArea, { device1Area: value, orgId }).then((res) => { |
|||
targetOption.loading = false; |
|||
targetOption.children = res.data?.map((item) => { |
|||
return { label: item, value: item, children: [], isLeaf: true }; |
|||
}); |
|||
}); |
|||
} |
|||
}, |
|||
], |
|||
}, |
|||
}, |
|||
}, |
|||
{ |
|||
field: 'createTime', |
|||
label: '生产日期', |
|||
component: 'NsRangePicker', |
|||
fieldMap: ['queryStartDate', 'queryEndDate'], |
|||
componentProps: { |
|||
valueFormat: 'YYYY-MM-DD', |
|||
{ |
|||
field: 'manufacturer', |
|||
label: '设备厂商', |
|||
component: 'NsInput', |
|||
componentProps: { |
|||
placeholder: '请输入设备厂商', |
|||
options: [ |
|||
{ |
|||
label: '全部', |
|||
value: '', |
|||
}, |
|||
], |
|||
}, |
|||
}, |
|||
}, |
|||
{ |
|||
field: 'createTime1', |
|||
label: '采购日期', |
|||
component: 'NsRangePicker', |
|||
fieldMap: ['queryStartDate', 'queryEndDate'], |
|||
componentProps: { |
|||
valueFormat: 'YYYY-MM-DD', |
|||
{ |
|||
field: 'createTime', |
|||
label: '生产日期', |
|||
component: 'NsRangePicker', |
|||
fieldMap: ['manufactureBeginDate', 'manufactureEndDate'], |
|||
componentProps: { |
|||
valueFormat: 'YYYY-MM-DD', |
|||
placeholder: ['设备生产开始日期', '设备生产结束日期'], |
|||
}, |
|||
}, |
|||
}, |
|||
{ |
|||
field: 'createTime2', |
|||
label: '启用日期', |
|||
component: 'NsRangePicker', |
|||
fieldMap: ['queryStartDate', 'queryEndDate'], |
|||
componentProps: { |
|||
valueFormat: 'YYYY-MM-DD', |
|||
{ |
|||
field: 'createTime1', |
|||
label: '采购日期', |
|||
component: 'NsRangePicker', |
|||
fieldMap: ['purchaseBeginDate', 'purchaseEndDate'], |
|||
componentProps: { |
|||
valueFormat: 'YYYY-MM-DD', |
|||
placeholder: ['设备采购开始日期', '设备采购结束日期'], |
|||
}, |
|||
}, |
|||
}, |
|||
], |
|||
params: {}, |
|||
}, |
|||
// pagination: { pageSizeOptions: false },
|
|||
rowKey: 'uuid', |
|||
{ |
|||
field: 'createTime2', |
|||
label: '启用日期', |
|||
component: 'NsRangePicker', |
|||
fieldMap: ['startBeginDate', 'startEndDate'], |
|||
componentProps: { |
|||
valueFormat: 'YYYY-MM-DD', |
|||
placeholder: ['设备启用开始日期', '设备启用结束日期'], |
|||
}, |
|||
}, |
|||
], |
|||
params: {}, |
|||
}, |
|||
// pagination: { pageSizeOptions: false },
|
|||
rowKey: 'uuid', |
|||
}); |
|||
}; |
|||
|
Loading…
Reference in new issue