|
|
@@ -14,174 +14,91 @@
|
|
|
<el-col :span="20" :xs="24">
|
|
|
<div class="main-right-box">
|
|
|
<div class="main-search-box">
|
|
|
- <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
|
|
|
- <el-form-item label="设备名称" prop="deviceName">
|
|
|
- <el-input clearable v-model="queryParams.deviceName" placeholder="请输入关键字" maxlength="50"
|
|
|
- @keyup.enter.native="handleQuery" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="设备类别" prop="assetType" label-width="80">
|
|
|
-
|
|
|
- <el-select style="width: 100%;" v-model="queryParams.assetType" placeholder="请选择设备类别"
|
|
|
- @change="searchChangeSelectDevice" clearable>
|
|
|
- <el-option v-for="dict in dict.type.sys_asset_type" :key="dict.value" :label="dict.label"
|
|
|
- :value="`${dict.value}`"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
-
|
|
|
- <el-form-item label="设备分类" prop="deviceType" label-width="80">
|
|
|
-
|
|
|
- <el-select style="width: 100%;" clearable v-model="queryParams.deviceType" placeholder="请选择设备种类">
|
|
|
- <el-option v-for="item in searchDevices" :key="item.dictValue" :label="item.dictLabel"
|
|
|
- :value="item.dictValue"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
- <el-row :gutter="10">
|
|
|
- <el-col :span="1.5">
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- icon="el-icon-search"
|
|
|
- size="mini"
|
|
|
- @click="handleQuery"
|
|
|
- >搜索</el-button
|
|
|
- >
|
|
|
- </el-col>
|
|
|
- <el-col :span="1.5">
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- icon="el-icon-refresh"
|
|
|
- size="mini"
|
|
|
- @click="resetQuery"
|
|
|
-
|
|
|
- >重置</el-button
|
|
|
- >
|
|
|
- </el-col>
|
|
|
-
|
|
|
-
|
|
|
- <el-col :span="1.5">
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- icon="el-icon-plus"
|
|
|
- size="mini"
|
|
|
- @click="handleAdd"
|
|
|
- v-hasPermi="['system:device:add']"
|
|
|
- >新增设备</el-button
|
|
|
- >
|
|
|
- </el-col>
|
|
|
-
|
|
|
- <el-col :span="1.5">
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- icon="el-icon-upload"
|
|
|
- size="mini"
|
|
|
- @click="handleImport"
|
|
|
- v-hasPermi="['system:device:importData']"
|
|
|
- >导入设备</el-button
|
|
|
- >
|
|
|
- </el-col>
|
|
|
-
|
|
|
- <el-col :span="1.5">
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- icon="el-icon-download"
|
|
|
- size="mini"
|
|
|
- @click="handleOut"
|
|
|
- v-hasPermi="['system:device:export']"
|
|
|
- >导出模版</el-button
|
|
|
- >
|
|
|
- </el-col>
|
|
|
- <right-toolbar
|
|
|
- :showSearch.sync="showSearch"
|
|
|
- @queryTable="getList"
|
|
|
- ></right-toolbar>
|
|
|
- </el-row>
|
|
|
- </div>
|
|
|
- <el-table
|
|
|
- border
|
|
|
- height="646"
|
|
|
- size="small"
|
|
|
- v-loading="loading"
|
|
|
- :data="deviceList"
|
|
|
- @selection-change="handleSelectionChange"
|
|
|
-
|
|
|
- >
|
|
|
- <!-- :header-cell-style="{backgroundColor:'#CCE8F7'}" -->
|
|
|
- <!--<el-table-column type="selection" width="55" align="center" />-->
|
|
|
+ <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
|
|
|
+ <el-form-item label="设备名称" prop="deviceName">
|
|
|
+ <el-input clearable v-model="queryParams.deviceName" placeholder="请输入关键字" maxlength="50"
|
|
|
+ @keyup.enter.native="handleQuery"/>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="资产类别" prop="assetType" label-width="80">
|
|
|
+
|
|
|
+ <el-select style="width: 100%;" v-model="queryParams.assetType" placeholder="请选择资产类别"
|
|
|
+ @change="assetSelectChange" @clear="clearAsset" clearable>
|
|
|
+ <el-option v-for="item in getAssetDict('AssetDeviceType',-1)" :key="item.id" :label="item.name"
|
|
|
+ :value="item.id"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-form-item label="设备分类" prop="deviceType" label-width="80">
|
|
|
+ <el-select style="width: 100%;" clearable v-model="queryParams.deviceType" placeholder="请选择设备分类">
|
|
|
+ <el-option v-for="item in assetChildrenDictList" :key="item.id" :label="item.name"
|
|
|
+ :value="item.id"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <el-row :gutter="10">
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button type="primary" icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
|
|
+ </el-col>
|
|
|
+
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd"
|
|
|
+ v-hasPermi="['system:device:add']">新增设备
|
|
|
+ </el-button>
|
|
|
+ </el-col>
|
|
|
+
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button type="primary" icon="el-icon-upload" size="mini" @click="handleImport"
|
|
|
+ v-hasPermi="['system:device:importData']">导入设备
|
|
|
+ </el-button>
|
|
|
+ </el-col>
|
|
|
+
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button type="primary" icon="el-icon-download" size="mini" @click="handleOut"
|
|
|
+ v-hasPermi="['system:device:export']">导出模版
|
|
|
+ </el-button>
|
|
|
+ </el-col>
|
|
|
+ <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
+ <el-table border height="646" size="small" v-loading="loading" :data="deviceList"
|
|
|
+ @selection-change="handleSelectionChange">
|
|
|
<el-table-column label="序号" align="center" min-width="50">
|
|
|
<template v-slot:default="scope">
|
|
|
<span v-text="getPageIndex(scope.$index)"> </span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="地区" align="left" prop="affiliatedArea" />
|
|
|
- <el-table-column label="行社" align="left" prop="affiliatedBank" />
|
|
|
- <el-table-column label="所属机构" align="left" prop="orgName" />
|
|
|
-
|
|
|
- <el-table-column
|
|
|
- label="设备类别"
|
|
|
- align="center"
|
|
|
- key="assetType"
|
|
|
- prop="assetType"
|
|
|
- >
|
|
|
+ <el-table-column label="地区" align="left" prop="affiliatedArea"/>
|
|
|
+ <el-table-column label="行社" align="left" prop="affiliatedBank"/>
|
|
|
+ <el-table-column label="所属机构" align="left" prop="orgName"/>
|
|
|
+
|
|
|
+ <el-table-column label="设备类别" align="center" key="assetType" prop="assetType">
|
|
|
<template slot-scope="scope">
|
|
|
- <dict-tag
|
|
|
- :options="dict.type.sys_asset_type"
|
|
|
- :value="scope.row.assetType"
|
|
|
- />
|
|
|
+ <dict-tag :options="dict.type.sys_asset_type" :value="scope.row.assetType"/>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
|
|
|
- <el-table-column
|
|
|
- label="设备分类"
|
|
|
- align="center"
|
|
|
- key="deviceType"
|
|
|
- prop="deviceType"
|
|
|
- >
|
|
|
+ <el-table-column label="设备分类" align="center" key="deviceType" prop="deviceType">
|
|
|
<template slot-scope="scope">
|
|
|
- <dict-tag
|
|
|
- :options="dict.type.sys_device_type"
|
|
|
- :value="scope.row.deviceType"
|
|
|
- />
|
|
|
+ <dict-tag :options="dict.type.sys_device_type" :value="scope.row.deviceType"/>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="设备名称" align="center" prop="deviceName" />
|
|
|
- <!-- <el-table-column label="设备品牌" align="center" prop="deviceBrand" />
|
|
|
- <el-table-column
|
|
|
- label="有效期至"
|
|
|
- align="center"
|
|
|
- prop="checkTime"
|
|
|
- width="160"
|
|
|
- >
|
|
|
- </el-table-column> -->
|
|
|
- <!-- <el-table-column label="保修期限" align="center" prop="maintenanceTerm" /> -->
|
|
|
- <el-table-column
|
|
|
- label="操作"
|
|
|
- align="center"
|
|
|
- class-name="small-padding fixed-width"
|
|
|
- >
|
|
|
+ <el-table-column label="设备名称" align="center" prop="deviceName"/>
|
|
|
+ <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-button
|
|
|
- size="mini"
|
|
|
- type="text"
|
|
|
- icon="el-icon-edit-outline"
|
|
|
- @click="handleUpdate(scope.row)"
|
|
|
- v-hasPermi="['system:device:edit']"
|
|
|
- >编辑</el-button>
|
|
|
- <el-button
|
|
|
- size="mini"
|
|
|
- type="text"
|
|
|
- icon="el-icon-delete"
|
|
|
- @click="handleDelete(scope.row)"
|
|
|
- v-hasPermi="['system:device:remove']"
|
|
|
- >删除</el-button>
|
|
|
+ <el-button size="mini" type="text" icon="el-icon-edit-outline" @click="handleUpdate(scope.row)"
|
|
|
+ v-hasPermi="['system:device:edit']">编辑
|
|
|
+ </el-button>
|
|
|
+ <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
|
|
|
+ v-hasPermi="['system:device:remove']">删除
|
|
|
+ </el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
- <pagination
|
|
|
- :total="total"
|
|
|
- :page.sync="queryParams.pageNum"
|
|
|
- :limit.sync="queryParams.pageSize"
|
|
|
- @pagination="getList"
|
|
|
- />
|
|
|
+ <pagination :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
|
|
|
+ @pagination="getList"/>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
@@ -195,6 +112,7 @@
|
|
|
append-to-body
|
|
|
>
|
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
|
|
|
+
|
|
|
<el-row>
|
|
|
<el-col :span="24">
|
|
|
<el-form-item label="所属机构" prop="orgId">
|
|
|
@@ -214,50 +132,18 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
+
|
|
|
<el-row>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="设备类别" prop="assetType">
|
|
|
- <el-select
|
|
|
- style="width: 100%"
|
|
|
- v-model="form.assetType"
|
|
|
- :popper-append-to-body="false"
|
|
|
- placeholder="请选择设备类别"
|
|
|
- @change="changeSelectDevice"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="dict in dict.type.sys_asset_type"
|
|
|
- :key="dict.value"
|
|
|
- :label="dict.label"
|
|
|
- :value="`${dict.value}`"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
+ <el-form-item label="资产编号" prop="assetNo">
|
|
|
+ <el-input
|
|
|
+ v-model="form.assetNo"
|
|
|
+ placeholder="请输入设备名称"
|
|
|
+ maxlength="50"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="设备分类" prop="deviceType">
|
|
|
- <el-select
|
|
|
- style="width: 100%"
|
|
|
- :popper-append-to-body="false"
|
|
|
- v-model="form.deviceType"
|
|
|
- placeholder="请选择设备分类"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in devices"
|
|
|
- :key="item.dictValue"
|
|
|
- :label="item.dictLabel"
|
|
|
- :value="item.dictValue"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- </el-row>
|
|
|
- <el-row>
|
|
|
-
|
|
|
- <el-col :span="12">
|
|
|
<el-form-item label="设备名称" prop="deviceName">
|
|
|
<el-input
|
|
|
v-model="form.deviceName"
|
|
|
@@ -266,83 +152,151 @@
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ <el-row>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="设备品牌" prop="deviceBrand">
|
|
|
- <el-input v-model="form.deviceBrand" placeholder="请输入设备品牌" maxlength="50" />
|
|
|
+ <el-form-item label="资产分类" prop="assetType">
|
|
|
+ <el-select style="width: 100%" v-model="form.assetType" :popper-append-to-body="false"
|
|
|
+ placeholder="请选择资产分类" @change="assetSelectChange">
|
|
|
+ <el-option v-for="item in getAssetDict('AssetDeviceType',-1)" :key="item.id" :label="item.name"
|
|
|
+ :value="item.id"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="设备分类" prop="deviceType">
|
|
|
+ <el-select style="width: 100%" :popper-append-to-body="false" clearable v-model="form.deviceType"
|
|
|
+ placeholder="请选择设备分类">
|
|
|
+ <el-option v-for="item in assetChildrenDictList" :key="item.id" :label="item.name"
|
|
|
+ :value="item.id"></el-option>
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
+
|
|
|
+
|
|
|
<el-row>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item
|
|
|
- v-if="form.deviceType == 2"
|
|
|
- label="硬盘录像机"
|
|
|
- prop="hostId"
|
|
|
- >
|
|
|
- <el-select
|
|
|
- style="width: 100%"
|
|
|
- v-model="form.hostId"
|
|
|
- placeholder="请选择关联主机"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in hostList"
|
|
|
- :key="item.id"
|
|
|
- :label="item.deviceName"
|
|
|
- :value="item.id"
|
|
|
- ></el-option>
|
|
|
+ <el-form-item label="设备品牌" prop="deviceBrand">
|
|
|
+ <el-select style="width: 100%" v-model="form.deviceBrand" placeholder="请选择设备品牌"
|
|
|
+ @change="brandSelectChange">
|
|
|
+ <el-option v-for="item in getAssetDict('BrandType',-1)" :key="item.id" :label="item.name"
|
|
|
+ :value="item.id"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
+ <!-- <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item v-if="form.deviceType == 2" label="硬盘录像机" prop="hostId">
|
|
|
+ <el-select style="width: 100%" v-model="form.hostId" placeholder="请选择关联主机">
|
|
|
+ <el-option v-for="item in hostList" :key="item.id" :label="item.deviceName"
|
|
|
+ :value="item.id"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item v-if="form.deviceType == 2" label="通道号" prop="channel">
|
|
|
+ <el-input type="number" max="64" min="0"
|
|
|
+ oninput="if(value<=0)value=null;if(value>=64)value=64;value=parseInt(value)"
|
|
|
+ v-model="form.channel" placeholder="请输入关联通道号"/>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item v-if="form.assetType == 0" label="有效期至" prop="checkTime">
|
|
|
+ <el-date-picker style="width: 100%" clearable v-model="form.checkTime" type="date"
|
|
|
+ value-format="yyyy-MM-dd" placeholder="请选择到期时间">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>-->
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="设备型号" prop="deviceModel">
|
|
|
+ <el-select style="width: 100%" v-model="form.deviceModel" placeholder="请选择设备型号">
|
|
|
+ <el-option v-for="item in brandChildrenDictList" :key="item.id" :label="item.name"
|
|
|
+ :value="item.id"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
|
|
|
+ <el-row>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item
|
|
|
- v-if="form.deviceType == 2"
|
|
|
- label="通道号"
|
|
|
- prop="channel"
|
|
|
- >
|
|
|
- <el-input
|
|
|
- type="number"
|
|
|
- max="64"
|
|
|
- min="0"
|
|
|
- oninput="if(value<=0)value=null;if(value>=64)value=64;value=parseInt(value)"
|
|
|
- v-model="form.channel"
|
|
|
- placeholder="请输入关联通道号"
|
|
|
- />
|
|
|
+ <el-form-item label="采购日期" prop="purchasingTime">
|
|
|
+ <el-date-picker style="width: 100%" clearable v-model="form.purchasingTime" type="date"
|
|
|
+ value-format="yyyy-MM-dd" placeholder="请选择采购日期">
|
|
|
+ </el-date-picker>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
+
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="是否高清" v-if="form.deviceType == 2" >
|
|
|
- <el-switch v-model="form.definition" active-value="1" inactive-value="0"></el-switch>
|
|
|
- </el-form-item>
|
|
|
+ <el-form-item label="安装位置" prop="address">
|
|
|
+ <el-input v-model="form.address" placeholder="请输入安装位置" maxlength="50"/>
|
|
|
+ </el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
|
|
|
<el-row>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item
|
|
|
- v-if="form.assetType == 0"
|
|
|
- label="有效期至"
|
|
|
- prop="checkTime"
|
|
|
- >
|
|
|
- <el-date-picker
|
|
|
- style="width: 100%"
|
|
|
- clearable
|
|
|
- v-model="form.checkTime"
|
|
|
- type="date"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- placeholder="请选择到期时间"
|
|
|
- >
|
|
|
+ <el-form-item label="消防类有效期" prop="checkTime">
|
|
|
+ <el-date-picker style="width: 100%" clearable v-model="form.checkTime" type="date"
|
|
|
+ value-format="yyyy-MM-dd" placeholder="请选择消防类有效期">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="保修期限" prop="maintenanceTerm">
|
|
|
+ <el-date-picker style="width: 100%" clearable v-model="form.maintenanceTerm" type="date"
|
|
|
+ value-format="yyyy-MM-dd" placeholder="请选择保修期限">
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
+
|
|
|
<el-row>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="关联登记簿" v-if="form.deviceType == 1" prop="inBook">
|
|
|
- <el-switch v-model="form.inBook" :active-value="1" :inactive-value="0"></el-switch>
|
|
|
+ <el-form-item label="投入使用时间" prop="useTime">
|
|
|
+ <el-date-picker style="width: 100%" clearable v-model="form.useTime" type="date"
|
|
|
+ value-format="yyyy-MM-dd" placeholder="请选择投入使用时间">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="资产状态" prop="deviceStatus">
|
|
|
+ <el-select
|
|
|
+ v-model="form.deviceStatus"
|
|
|
+ clearable
|
|
|
+ placeholder="请选择机构类型"
|
|
|
+ style="width: 100%;">
|
|
|
+ <el-option
|
|
|
+ v-for="dict in dict.type.asset_status"
|
|
|
+ :key="dict.value"
|
|
|
+ :label="dict.label"
|
|
|
+ :value="`${dict.value}`"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
+
|
|
|
+ <!-- <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="关联登记簿" v-if="form.deviceType == 1" prop="inBook">
|
|
|
+ <el-switch v-model="form.inBook" :active-value="1" :inactive-value="0"></el-switch>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="是否高清" v-if="form.deviceType == 2">
|
|
|
+ <el-switch v-model="form.definition" active-value="1" inactive-value="0"></el-switch>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>-->
|
|
|
</el-form>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
|
|
@@ -381,28 +335,28 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { getToken } from "@/utils/auth";
|
|
|
+import {getToken} from "@/utils/auth";
|
|
|
import orgDropDown from "../../../components/orgTree/orgDropDown.vue";
|
|
|
import OrgTree from "@/components/orgTree";
|
|
|
import tableList from "@/mixins/tableList";
|
|
|
-import { deptTreeSelect } from "@/api/system/public";
|
|
|
-import { getDeviceType } from "@/api/system/dict/data";
|
|
|
+import {deptTreeSelect} from "@/api/system/public";
|
|
|
+import {getDeviceType} from "@/api/system/dict/data";
|
|
|
import {
|
|
|
- listDevice,
|
|
|
- getDevice,
|
|
|
- delDevice,
|
|
|
addDevice,
|
|
|
- updateDevice,
|
|
|
+ delDevice,
|
|
|
+ getDevice,
|
|
|
+ getDictTree, getDictTreeByParentId,
|
|
|
getHostByOrgId,
|
|
|
- getDeviceByHost,
|
|
|
- downInCharge,
|
|
|
+ listDevice,
|
|
|
+ updateDevice,
|
|
|
} from "@/api/system/device";
|
|
|
+
|
|
|
export default {
|
|
|
/** 引入基础minxins*/
|
|
|
mixins: [tableList],
|
|
|
- dicts: ["sys_asset_type", "sys_device_type"],
|
|
|
+ dicts: ["sys_asset_type", "sys_device_type",'asset_status'],
|
|
|
name: "Device",
|
|
|
- components: { OrgTree, orgDropDown },
|
|
|
+ components: {OrgTree, orgDropDown},
|
|
|
data() {
|
|
|
return {
|
|
|
checkList: [],
|
|
|
@@ -415,21 +369,14 @@ export default {
|
|
|
label: "name",
|
|
|
},
|
|
|
rules: {
|
|
|
- deviceName: [
|
|
|
- { required: true, message: "请输入设备名称", trigger: "change" },
|
|
|
- ],
|
|
|
- orgId: [{ required: true, message: "请选择所属机构", trigger: "blur" }],
|
|
|
- assetType: [
|
|
|
- { required: true, message: '请选择资产类别', trigger: 'change' },
|
|
|
- ],
|
|
|
- hostId: [{ required: true, message: '请选择主机', trigger: 'change' }],
|
|
|
- channel: [{ required: true, message: '请输入通道号', trigger: 'change' }],
|
|
|
- deviceType: [
|
|
|
- { required: true, message: "请选择设备分类", trigger: "change" },
|
|
|
- ],
|
|
|
- checkTime: [
|
|
|
- { required: true, message: "请选择有效期", trigger: "blur" },
|
|
|
- ],
|
|
|
+ assetNo: [{required: true, message: "请输入资产编号", trigger: "change"}],
|
|
|
+ deviceName: [{required: true, message: "请输入设备名称", trigger: "change"}],
|
|
|
+ orgId: [{required: true, message: "请选择所属机构", trigger: "blur"}],
|
|
|
+ assetType: [{required: true, message: '请选择资产类别', trigger: 'change'}],
|
|
|
+ /* hostId: [{required: true, message: '请选择主机', trigger: 'change'}],
|
|
|
+ channel: [{required: true, message: '请输入通道号', trigger: 'change'}],*/
|
|
|
+ deviceType: [{required: true, message: "请选择设备分类", trigger: "change"}],
|
|
|
+ deviceStatus: [{required: true, message: "请选择资产状态", trigger: "blur"}],
|
|
|
},
|
|
|
// 遮罩层
|
|
|
loading: true,
|
|
|
@@ -449,9 +396,12 @@ export default {
|
|
|
// 【请填写功能名称】表格数据
|
|
|
deviceList: [],
|
|
|
devices: null,
|
|
|
- searchDevices:null,
|
|
|
+ searchDevices: null,
|
|
|
//主机集合
|
|
|
hostList: [],
|
|
|
+ dictionaryTreeList: [],
|
|
|
+ assetChildrenDictList: [],
|
|
|
+ brandChildrenDictList: [],
|
|
|
deviceType: 0,
|
|
|
|
|
|
// 弹出层标题
|
|
|
@@ -487,7 +437,7 @@ export default {
|
|
|
isUploading: false,
|
|
|
|
|
|
// 设置上传的请求头部
|
|
|
- headers: { Authorization: "Bearer " + getToken() },
|
|
|
+ headers: {Authorization: "Bearer " + getToken()},
|
|
|
// 上传的地址
|
|
|
url:
|
|
|
process.env.NODE_ENV === "development"
|
|
|
@@ -501,12 +451,17 @@ export default {
|
|
|
assetType: null,
|
|
|
deviceType: null,
|
|
|
deviceBrand: null,
|
|
|
+ deviceModel: null,
|
|
|
checkTime: null,
|
|
|
maintenanceTerm: null,
|
|
|
hostId: null,
|
|
|
channel: null,
|
|
|
- definition:"1",
|
|
|
+ address: null,
|
|
|
+ definition: null,
|
|
|
inBook: 0,
|
|
|
+ purchasingTime: null,
|
|
|
+ assetNo: null,
|
|
|
+ deviceStatus: null,
|
|
|
},
|
|
|
// 表单校验
|
|
|
|
|
|
@@ -518,9 +473,11 @@ export default {
|
|
|
created() {
|
|
|
this.getDeptTree();
|
|
|
//this.getList();
|
|
|
- this.searchChangeSelectDevice(1);
|
|
|
+ this.assetSelectChange(1);
|
|
|
+ this.initDictionaryTreeList();
|
|
|
},
|
|
|
|
|
|
+
|
|
|
watch: {
|
|
|
// 根据名称筛选部门树
|
|
|
deptName(val) {
|
|
|
@@ -541,7 +498,6 @@ export default {
|
|
|
this.upload.title = "设备导入";
|
|
|
this.upload.open = true;
|
|
|
},
|
|
|
-
|
|
|
// 文件上传成功处理
|
|
|
handleFileSuccess(response, file, fileList) {
|
|
|
this.upload.open = false;
|
|
|
@@ -549,10 +505,10 @@ export default {
|
|
|
this.$refs.upload.clearFiles();
|
|
|
this.$alert(
|
|
|
"<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
|
|
|
- response.msg +
|
|
|
- "</div>",
|
|
|
+ response.msg +
|
|
|
+ "</div>",
|
|
|
"导入结果",
|
|
|
- { dangerouslyUseHTMLString: true }
|
|
|
+ {dangerouslyUseHTMLString: true}
|
|
|
);
|
|
|
this.getList();
|
|
|
},
|
|
|
@@ -594,7 +550,7 @@ export default {
|
|
|
this.handleQuery();
|
|
|
},
|
|
|
changeSelect(val) {
|
|
|
- if(!val || !val.id) return;
|
|
|
+ if (!val || !val.id) return;
|
|
|
getHostByOrgId(val).then((response) => {
|
|
|
this.form.hostId = null;
|
|
|
this.hostList = response.data;
|
|
|
@@ -676,7 +632,7 @@ export default {
|
|
|
delFlag: null,
|
|
|
hostId: null,
|
|
|
channel: null,
|
|
|
- definition:"1",
|
|
|
+ definition: "1",
|
|
|
};
|
|
|
this.resetForm("form");
|
|
|
},
|
|
|
@@ -688,7 +644,7 @@ export default {
|
|
|
/** 重置按钮操作 */
|
|
|
resetQuery() {
|
|
|
this.devices = null;
|
|
|
- this.searchDevices=null;
|
|
|
+ this.searchDevices = null;
|
|
|
this.resetForm("queryForm");
|
|
|
this.handleQuery();
|
|
|
},
|
|
|
@@ -717,14 +673,38 @@ export default {
|
|
|
});
|
|
|
}
|
|
|
},
|
|
|
- searchChangeSelectDevice(val) {
|
|
|
- if (val) {
|
|
|
- getDeviceType(val).then(response => {
|
|
|
- this.searchDevices = response.data;
|
|
|
- this.form.deviceType = null;
|
|
|
- this.queryParams.deviceType = null;
|
|
|
- })
|
|
|
- }
|
|
|
+ //获取字典数据
|
|
|
+ initDictionaryTreeList() {
|
|
|
+ getDictTree().then((response) => {
|
|
|
+ this.dictionaryTreeList = response.data;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //从基础数据中获取资产分类
|
|
|
+ getAssetDict(type, parentId) {
|
|
|
+ let arr = []
|
|
|
+ this.dictionaryTreeList.filter(item => item.type === type && item.parentId == parentId).map(item => {
|
|
|
+ arr.push(item);
|
|
|
+ });
|
|
|
+ return arr;
|
|
|
+ },
|
|
|
+ assetSelectChange(val) {
|
|
|
+ //改成数据库查询, children里面
|
|
|
+ if (!val) return;
|
|
|
+ this.form.deviceType = null;
|
|
|
+ getDictTreeByParentId(val).then((response) => {
|
|
|
+ this.assetChildrenDictList = response.data;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ brandSelectChange(val) {
|
|
|
+ //改成数据库查询, children里面
|
|
|
+ if (!val) return;
|
|
|
+ this.form.deviceModel = null;
|
|
|
+ getDictTreeByParentId(val).then((response) => {
|
|
|
+ this.brandChildrenDictList = response.data;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ clearAsset() {
|
|
|
+ this.queryParams.deviceType = null;
|
|
|
},
|
|
|
/** 修改按钮操作 */
|
|
|
handleUpdate(row) {
|
|
|
@@ -732,7 +712,7 @@ export default {
|
|
|
const id = row.id || this.ids;
|
|
|
getDevice(id).then((response) => {
|
|
|
this.form = response.data;
|
|
|
- // this.form.inBook=response.data.inBook.toString();
|
|
|
+ // this.form.inBook=response.data.inBook.toString();
|
|
|
this.devices = response.devices;
|
|
|
this.hostList = response.hostList;
|
|
|
this.open = true;
|
|
|
@@ -772,7 +752,8 @@ export default {
|
|
|
this.getList();
|
|
|
this.$modal.msgSuccess("删除成功");
|
|
|
})
|
|
|
- .catch(() => {});
|
|
|
+ .catch(() => {
|
|
|
+ });
|
|
|
},
|
|
|
// 提交上传文件
|
|
|
submitFileForm() {
|