|
|
@@ -118,6 +118,25 @@
|
|
|
<el-col :span="1.5">
|
|
|
<el-button
|
|
|
type="primary"
|
|
|
+ icon="el-icon-plus"
|
|
|
+ size="mini"
|
|
|
+ @click="handleAdd"
|
|
|
+ >新增设备</el-button
|
|
|
+ >
|
|
|
+ </el-col>
|
|
|
+
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ icon="el-icon-upload"
|
|
|
+ size="mini"
|
|
|
+ @click="handleImport"
|
|
|
+ >导入设备</el-button
|
|
|
+ >
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
icon="el-icon-refresh"
|
|
|
size="mini"
|
|
|
@click="resetQuery"
|
|
|
@@ -134,7 +153,7 @@
|
|
|
>导出</el-button
|
|
|
>
|
|
|
</el-col> -->
|
|
|
-
|
|
|
+
|
|
|
<right-toolbar
|
|
|
:showSearch.sync="showSearch"
|
|
|
@queryTable="getList"
|
|
|
@@ -149,20 +168,6 @@
|
|
|
height="600"
|
|
|
size="small"
|
|
|
>
|
|
|
- <!-- <el-table-column
|
|
|
- label="序号"
|
|
|
- type="index"
|
|
|
- align="center"
|
|
|
- width="100"
|
|
|
- >
|
|
|
- <template slot-scope="scope">
|
|
|
- <span>{{
|
|
|
- (queryParams.pageNum - 1) * queryParams.pageSize +
|
|
|
- scope.$index +
|
|
|
- 1
|
|
|
- }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column> -->
|
|
|
<el-table-column
|
|
|
label="组织机构"
|
|
|
align="center"
|
|
|
@@ -173,7 +178,6 @@
|
|
|
label="设备编码"
|
|
|
align="center"
|
|
|
prop="sbmc"
|
|
|
-
|
|
|
show-overflow-tooltip="true"
|
|
|
/>
|
|
|
<el-table-column
|
|
|
@@ -184,57 +188,25 @@
|
|
|
show-overflow-tooltip="true"
|
|
|
/>
|
|
|
|
|
|
- <el-table-column
|
|
|
- label="资产类别"
|
|
|
- align="center"
|
|
|
- prop="pp"
|
|
|
-
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- label="设备类型"
|
|
|
- align="center"
|
|
|
- prop="ip"
|
|
|
-
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- label="门磁报警模板"
|
|
|
- align="center"
|
|
|
- prop="mcmb"
|
|
|
-
|
|
|
- >
|
|
|
- <template slot-scope="scope">
|
|
|
- <span :style="{color:'#ec4035'}">{{scope.row.mcmb
|
|
|
- }}</span>
|
|
|
+ <el-table-column label="资产类别" align="center" prop="pp" />
|
|
|
+ <el-table-column label="设备类型" align="center" prop="ip" />
|
|
|
+ <el-table-column label="门磁报警模板" align="center" prop="mcmb">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span :style="{ color: '#ec4035' }">{{ scope.row.mcmb }}</span>
|
|
|
</template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- label="设备状态"
|
|
|
- align="center"
|
|
|
- prop="status"
|
|
|
-
|
|
|
- />
|
|
|
- <el-table-column label="上报时间" align="center" prop="wlzt">
|
|
|
- <!-- <template slot-scope="scope">
|
|
|
- <span>
|
|
|
- <dict-tag
|
|
|
- :options="dict.type.retrieval_task_status"
|
|
|
- :value="scope.row.status"
|
|
|
- />
|
|
|
- </span>
|
|
|
- </template> -->
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="上报内容" align="center" prop="ypzs">
|
|
|
- <!-- <template slot-scope="scope">
|
|
|
- {{ scope.row.planStartTime }}~{{ scope.row.planEndTime }}
|
|
|
- </template> -->
|
|
|
+ <el-table-column label="设备状态" align="center" prop="status" />
|
|
|
+ <!-- <el-table-column label="上报时间" align="center" prop="wlzt">
|
|
|
+
|
|
|
</el-table-column>
|
|
|
-
|
|
|
-
|
|
|
+ <el-table-column label="上报内容" align="center" prop="ypzs">
|
|
|
+
|
|
|
+ </el-table-column> -->
|
|
|
|
|
|
<el-table-column
|
|
|
label="操作"
|
|
|
fixed="right"
|
|
|
- style="width: 100px"
|
|
|
+ width="300"
|
|
|
align="center"
|
|
|
class-name="small-padding fixed-width"
|
|
|
>
|
|
|
@@ -247,6 +219,20 @@
|
|
|
v-hasPermi="['core:task:query']"
|
|
|
>历史数据</el-button
|
|
|
>
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-edit-outline"
|
|
|
+ @click="handleUpdate(scope.row)"
|
|
|
+
|
|
|
+ >编辑</el-button>
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-delete"
|
|
|
+ @click="handleDelete(scope.row)"
|
|
|
+
|
|
|
+ >删除</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
@@ -258,6 +244,172 @@
|
|
|
:limit.sync="queryParams.pageSize"
|
|
|
@pagination="getList"
|
|
|
/>
|
|
|
+ <!-- 新增编辑设备弹框 -->
|
|
|
+ <!-- 添加或修改【请填写功能名称】对话框 -->
|
|
|
+ <DialogCom
|
|
|
+ :title="title"
|
|
|
+ :visible.sync="open"
|
|
|
+ width="850px"
|
|
|
+ @close="closeHandler"
|
|
|
+ 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">
|
|
|
+ <tree-select
|
|
|
+ v-model="form.orgId"
|
|
|
+ :options="deptOptions"
|
|
|
+ :show-count="true"
|
|
|
+ :normalizer="tenantIdnormalizer"
|
|
|
+ :props="{ checkStrictly: true, label: 'name' }"
|
|
|
+ placeholder="请选择所属机构"
|
|
|
+ @select="changeSelect"
|
|
|
+ clearValueText="清除"
|
|
|
+ :noChildrenText="''"
|
|
|
+ noOptionsText="没有数据"
|
|
|
+ noResultsText="没有搜索结果"
|
|
|
+ />
|
|
|
+ </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>
|
|
|
+ </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"
|
|
|
+ placeholder="请输入设备名称"
|
|
|
+ maxlength="50"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="设备品牌" prop="deviceBrand">
|
|
|
+ <el-input
|
|
|
+ v-model="form.deviceBrand"
|
|
|
+ placeholder="请输入设备品牌"
|
|
|
+ maxlength="50"
|
|
|
+ />
|
|
|
+ </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-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-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-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-row> </el-row>
|
|
|
+ </el-form>
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
+ <el-button type="primary" @click="submitForm">确 定</el-button>
|
|
|
+ <el-button @click="cancel">取 消</el-button>
|
|
|
+ </div>
|
|
|
+ </DialogCom>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
@@ -338,7 +490,7 @@ export default {
|
|
|
...mapGetters(["orgId", "orgName"]),
|
|
|
},
|
|
|
methods: {
|
|
|
- /** 查询监控调阅任务列表 */
|
|
|
+ /** 查询列表 */
|
|
|
getList() {
|
|
|
this.taskList = [
|
|
|
{
|
|
|
@@ -350,10 +502,10 @@ export default {
|
|
|
wlzt: "2023-12-22 15:01:25",
|
|
|
ypzs: "门已打开",
|
|
|
status: "在线",
|
|
|
- mcmb:'未绑定',
|
|
|
-
|
|
|
+ mcmb: "未绑定",
|
|
|
},
|
|
|
- { //自助区卷帘门一
|
|
|
+ {
|
|
|
+ //自助区卷帘门一
|
|
|
taskName: "福建农信",
|
|
|
sbmc: "80011",
|
|
|
sbmc1: "自助区卷帘门一",
|
|
|
@@ -362,7 +514,7 @@ export default {
|
|
|
wlzt: "2023-12-22 15:01:25",
|
|
|
ypzs: "未知",
|
|
|
status: "离线",
|
|
|
- mcmb:'未绑定',
|
|
|
+ mcmb: "未绑定",
|
|
|
},
|
|
|
];
|
|
|
return;
|
|
|
@@ -373,7 +525,52 @@ export default {
|
|
|
this.loading = false;
|
|
|
});
|
|
|
},
|
|
|
-
|
|
|
+ /** 修改按钮操作 */
|
|
|
+ handleUpdate(row) {
|
|
|
+ this.open = true;
|
|
|
+ this.title = "编辑设备信息";
|
|
|
+ return
|
|
|
+ this.reset();
|
|
|
+ const id = row.id || this.ids;
|
|
|
+ getDevice(id).then((response) => {
|
|
|
+ this.form = response.data;
|
|
|
+ this.devices = response.devices;
|
|
|
+ this.hostList = response.hostList;
|
|
|
+ this.open = true;
|
|
|
+ this.title = "编辑设备信息";
|
|
|
+ });
|
|
|
+ },
|
|
|
+ /** 删除按钮操作 */
|
|
|
+ handleDelete(row) {
|
|
|
+ return
|
|
|
+ const ids = row.id || this.ids;
|
|
|
+ const names = row.deviceName || this.names;
|
|
|
+ this.$modal
|
|
|
+ .confirm('是否确认删除名称为"' + names + '"的数据项?')
|
|
|
+ .then(function () {
|
|
|
+
|
|
|
+ return delDevice(ids);
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ this.getList();
|
|
|
+ this.$modal.msgSuccess("删除成功");
|
|
|
+ })
|
|
|
+ .catch(() => {});
|
|
|
+ },
|
|
|
+ /** 新增按钮操作 */
|
|
|
+ handleAdd(val) {
|
|
|
+ // this.open = true;
|
|
|
+ // this.title = "新增设备信息";
|
|
|
+ // this.form.orgId = this.selectOrgId;
|
|
|
+ // this.dept.id = this.selectOrgId;
|
|
|
+ // this.changeSelect(this.dept);
|
|
|
+ // this.devices = null;
|
|
|
+ },
|
|
|
+ // 取消弹框
|
|
|
+ closeHandler() {
|
|
|
+ this.reset();
|
|
|
+ },
|
|
|
+ handleImport() {},
|
|
|
getDefaultOrg(org) {
|
|
|
this.orgName = org.name;
|
|
|
this.selectedOrgName = org.shortName;
|
|
|
@@ -484,5 +681,4 @@ export default {
|
|
|
},
|
|
|
};
|
|
|
</script>
|
|
|
-<style lang="scss" scoped>
|
|
|
-</style>
|
|
|
+<style lang="scss" scoped></style>
|