feat(base): 添加设备参数查看功能及联动查询

- 在设备台账列表中添加“参数”按钮以查看设备参数详情
- 设备详情页设备编号输入框改为可编辑
- 设备台账表单中增加资产编号字段
- 点击“参数”按钮跳转至设备参数页面并携带deviceCode查询参数
- 设备参数页面新增路由query参数监听,实现路由变化时自动刷新设备参数列表
- 重置查询时清除路由中的deviceCode参数,保证查询条件同步
master
zangch@mesnac.com 2 weeks ago
parent 2a76c440a3
commit 2798237780

@ -184,6 +184,13 @@
v-hasPermi="['base:deviceLedger:remove']" v-hasPermi="['base:deviceLedger:remove']"
>删除 >删除
</el-button> </el-button>
<el-button
size="mini"
type="text"
icon="el-icon-s-data"
@click="handleViewParams(scope.row)"
>参数
</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -202,13 +209,13 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="设备编号" prop="deviceCode"> <el-form-item label="设备编号" prop="deviceCode">
<el-input v-model="form.deviceCode" placeholder="请输入设备编号" :disabled="true"/> <el-input v-model="form.deviceCode" placeholder="请输入设备编号" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="资产编号" prop="assetCode"> <el-form-item label="资产编号" prop="assetCode">
<el-input <el-input
v-model="queryParams.assetCode" v-model="form.assetCode"
placeholder="请输入资产编号" placeholder="请输入资产编号"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
@ -447,6 +454,7 @@ export default {
this.form = { this.form = {
objId: null, objId: null,
deviceCode: null, deviceCode: null,
assetCode: null,
deviceName: null, deviceName: null,
deviceModel: null, deviceModel: null,
deviceType: '1', deviceType: '1',
@ -539,6 +547,13 @@ export default {
this.download('base/deviceLedger/export', { this.download('base/deviceLedger/export', {
...this.queryParams ...this.queryParams
}, `deviceLedger_${new Date().getTime()}.xlsx`) }, `deviceLedger_${new Date().getTime()}.xlsx`)
},
/** 查看设备参数 */
handleViewParams(row) {
this.$router.push({
path: '/device/dms/deviceParam',
query: { deviceCode: row.deviceCode }
})
} }
} }
} }

@ -10,7 +10,7 @@
<!-- />--> <!-- />-->
<!-- </el-form-item>--> <!-- </el-form-item>-->
<el-form-item label="设备名称" prop="deviceCode"> <el-form-item label="设备名称" prop="deviceCode">
<el-select v-model="form.deviceCode" placeholder="请选择设备名称" clearable> <el-select v-model="queryParams.deviceCode" placeholder="请选择设备名称" clearable>
<el-option <el-option
v-for="item in deviceLedgerList" v-for="item in deviceLedgerList"
:key="item.deviceCode" :key="item.deviceCode"
@ -280,8 +280,26 @@ export default {
getDeviceLedgerList().then(response => { getDeviceLedgerList().then(response => {
this.deviceLedgerList = response.data this.deviceLedgerList = response.data
}) })
//
const deviceCode = this.$route.query.deviceCode;
if (deviceCode) {
this.queryParams.deviceCode = deviceCode;
}
this.getList(); this.getList();
}, },
watch: {
//
'$route.query.deviceCode': {
handler(newVal, oldVal) {
//
if (newVal && newVal !== this.queryParams.deviceCode) {
this.queryParams.deviceCode = newVal;
this.queryParams.pageNum = 1;
this.getList();
}
}
}
},
methods: { methods: {
/** 查询设备参数列表 */ /** 查询设备参数列表 */
getList() { getList() {
@ -324,6 +342,11 @@ export default {
/** 重置按钮操作 */ /** 重置按钮操作 */
resetQuery() { resetQuery() {
this.resetForm("queryForm"); this.resetForm("queryForm");
this.queryParams.deviceCode = null;
// deviceCode
if (this.$route.query.deviceCode) {
this.$router.replace({ path: this.$route.path });
}
this.handleQuery(); this.handleQuery();
}, },
// //

Loading…
Cancel
Save