🌷 UI(内容): 内容整体ui调整,改成灰色背景,卡片式布局

- 给塑壳断路器添加告警配置
This commit is contained in:
fhysy 2025-05-09 15:48:49 +08:00
parent 4ce851bff7
commit 09b40f5f1e
51 changed files with 9096 additions and 9308 deletions

View File

@ -53,7 +53,7 @@
"crypto-js": "^4.1.1",
"debounce": "^1.2.1",
"echarts": "^5.3.3",
"element-ui": "2.14.1",
"element-ui": "2.15.14",
"file-saver": "2.0.4",
"fuse.js": "6.4.3",
"highlight.js": "9.18.5",

View File

@ -134,6 +134,40 @@ aside {
.pagination-container {
margin-top: 30px;
}
//卡片式布局
.main-search-card{
padding: 20px;
padding-bottom: 0;
background-color: #fff;
margin-bottom: 20px;
border-radius: 8px;
border: 1px solid #e6ebf5;
}
.main-content-card{
min-height: 100%;
width: 100%;
padding: 20px;
background-color: #fff;
border-radius: 8px;
border: 1px solid #e6ebf5;
}
//项目卡片
.main-project-card{
padding: 20px !important;
background-color: #fff;
margin-bottom: 20px;
border-radius: 8px;
border: 1px solid #e6ebf5;
}
//设备详情卡片
.main-device-card{
padding: 20px !important;
background-color: #fff;
border-radius: 8px;
border: 1px solid #e6ebf5;
}
.text-center {
text-align: center

View File

@ -31,7 +31,7 @@ export default {
overflow: auto;
height: calc(100vh - 84px);
min-height: calc(100vh - 84px);
//background: #F0F2F5;
background: #F0F2F5;
}
.fixed-header + .app-main {

View File

@ -1,17 +1,18 @@
<template>
<div class="app-container">
<el-form
:model="queryParams"
v-show="showSearch"
ref="queryForm"
:inline="true"
v-show="showSearch"
:model="queryParams"
class="main-search-card"
label-width="68px"
>
<el-form-item label="密钥" prop="appId">
<el-input
v-model="queryParams.appId"
placeholder="请输入密钥"
clearable
placeholder="请输入密钥"
size="small"
@keyup.enter.native="handleQuery"
/>
@ -19,8 +20,8 @@
<el-form-item label="密钥值" prop="appSecret">
<el-input
v-model="queryParams.appSecret"
placeholder="请输入密钥值"
clearable
placeholder="请输入密钥值"
size="small"
@keyup.enter.native="handleQuery"
/>
@ -28,9 +29,9 @@
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
type="primary"
@click="handleQuery"
>搜索</el-button
>
@ -39,46 +40,43 @@
>
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['system:secret:add']"
icon="el-icon-plus"
plain
size="mini"
type="primary"
@click="handleAdd"
>新增</el-button
>
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['system:secret:remove']"
:disabled="multiple"
icon="el-icon-delete"
plain
size="mini"
type="danger"
@click="handleDelete"
>删除</el-button
>
<el-button
type="warning"
plain
icon="el-icon-download"
plain
size="mini"
type="warning"
@click="handleExport"
>导出</el-button
>
</el-form-item>
</el-form>
<div class="main-content-card">
<el-table
v-loading="loading"
:data="secretList"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="50" align="center" />
<el-table-column align="center" type="selection" width="50" />
<el-table-column
v-if="isIndex"
type="index"
label="序号"
align="center"
:index="
(val) => {
return (
@ -86,57 +84,60 @@
);
}
"
align="center"
label="序号"
type="index"
width="80px"
></el-table-column>
<el-table-column label="密钥" align="left" prop="appId">
<el-table-column align="left" label="密钥" prop="appId">
<template slot-scope="scope">
<span class="lay-table-textarea" :title="scope.row.appId">
<span :title="scope.row.appId" class="lay-table-textarea">
{{ scope.row.appId }}
</span>
</template>
</el-table-column>
<el-table-column label="密钥值" align="left" prop="appSecret">
<el-table-column align="left" label="密钥值" prop="appSecret">
<template slot-scope="scope">
<span class="lay-table-textarea" :title="scope.row.appSecret">
<span :title="scope.row.appSecret" class="lay-table-textarea">
{{ scope.row.appSecret }}
</span>
</template>
</el-table-column>
<el-table-column
label="状态"
:formatter="statusFormat"
align="center"
label="状态"
prop="status"
width="120"
:formatter="statusFormat"
/>
<el-table-column label="备注" align="left" prop="remark">
<el-table-column align="left" label="备注" prop="remark">
<template slot-scope="scope">
<span class="lay-table-textarea" :title="scope.row.remark">
<span :title="scope.row.remark" class="lay-table-textarea">
{{ scope.row.remark }}
</span>
</template>
</el-table-column>
<el-table-column
label="操作"
align="center"
width="200px"
class-name="small-padding fixed-width"
label="操作"
width="200px"
>
<template slot-scope="scope">
<el-button
v-hasPermi="['system:secret:edit']"
icon="el-icon-edit"
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:secret:edit']"
>修改</el-button
>
<el-button
v-hasPermi="['system:secret:remove']"
icon="el-icon-delete"
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:secret:remove']"
>删除</el-button
>
</template>
@ -145,16 +146,16 @@
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
:page.sync="queryParams.pageNum"
:total="total"
@pagination="getList"
/>
</div>
<!-- 添加或修改api密钥对话框 -->
<dialog-template :title="title" :visible="open" @close="open = false" width="500px">
<dialog-template :title="title" :visible="open" width="500px" @close="open = false">
<el-form ref="form" slot="dialog-center" :model="form" :rules="rules" label-width="80px">
<el-form-item label="密钥" prop="appId" v-if="form.recordId">
<el-form-item v-if="form.recordId" label="密钥" prop="appId">
<el-input
v-model="form.appId"
:disabled="true"
@ -162,7 +163,7 @@
/>
</el-form-item>
<el-form-item label="密钥值" prop="appSecret" v-if="form.recordId">
<el-form-item v-if="form.recordId" label="密钥值" prop="appSecret">
<el-input
v-model="form.appSecret"
:disabled="true"
@ -173,22 +174,22 @@
<el-form-item label="备注" prop="remark">
<el-input
v-model="form.remark"
type="textarea"
:rows="4"
maxlength="200"
placeholder="请输入备注"
type="textarea"
/>
</el-form-item>
<el-form-item label="启用状态">
<el-radio-group v-model="form.status">
<el-radio :label="dict.dictValue" v-for="dict in statusOptions" :key="dict.dictValue" :disabled="form.recordId">{{ dict.dictLabel }}</el-radio>
<el-radio v-for="dict in statusOptions" :key="dict.dictValue" :disabled="form.recordId" :label="dict.dictValue">{{ dict.dictLabel }}</el-radio>
</el-radio-group>
</el-form-item>
</el-form>
<div slot="dialog-footer" class="dialog-footer">
<el-button type="primary" size="mini" @click="submitForm"> </el-button>
<el-button @click="cancel" size="mini"> </el-button>
<el-button size="mini" type="primary" @click="submitForm"> </el-button>
<el-button size="mini" @click="cancel"> </el-button>
</div>
</dialog-template>
</div>

View File

@ -6,6 +6,7 @@
ref="queryForm"
:inline="true"
:model="queryParams"
class="main-search-card"
label-width="68px"
>
<el-form-item label="文件名" prop="docName">
@ -39,6 +40,7 @@
<!-- >-->
</el-form-item>
</el-form>
<div class="main-content-card">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
@ -125,7 +127,7 @@
:total="total"
@pagination="getList"
/>
</div>
<el-dialog
:close-on-click-modal="false"
:title="title"

View File

@ -6,6 +6,7 @@
ref="queryForm"
:inline="true"
:model="queryParams"
class="main-search-card"
label-width="68px"
>
<el-form-item label="所属项目" prop="inProject">
@ -61,6 +62,7 @@
<!-- >-->
</el-form-item>
</el-form>
<div class="main-content-card">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
@ -259,6 +261,7 @@
</div>
</el-col>
</el-row>
<el-empty v-if="total === 0"></el-empty>
</div>
<pagination
@ -269,6 +272,7 @@
:total="total"
@pagination="getList"
/>
</div>
<dialog-template :title="title" :visible="open" class="eldialog-wrap"
width="600px"
@close="open = false"

View File

@ -1,16 +1,17 @@
<template>
<div class="app-container alarm-type">
<el-form
:model="queryParams"
ref="queryForm"
:inline="true"
:model="queryParams"
class="main-search-card"
label-width="68px"
>
<el-form-item label="类型名称" prop="typeName">
<el-input
v-model="queryParams.typeName"
placeholder="请输入报警类型名称"
clearable
placeholder="请输入报警类型名称"
size="small"
@keyup.enter.native="handleQuery"
/>
@ -19,17 +20,17 @@
<el-form-item label="设备类型" prop="deviceType">
<el-select
v-model="queryParams.deviceType"
style="width: 100%"
clearable
size="small"
placeholder="请输入报警设备类型"
size="small"
style="width: 100%"
@change="handleQuery"
>
<el-option
v-for="(keys, vals) in deviceTypeList"
:key="vals"
:label="keys"
:value="vals"
:key="vals"
/>
</el-select>
</el-form-item>
@ -37,26 +38,26 @@
<el-form-item label="报警划分" prop="alarmDivide">
<el-select
v-model="queryParams.alarmDivide"
style="width: 100%"
clearable
size="small"
placeholder="请输入报警设备类型"
size="small"
style="width: 100%"
@change="handleQuery"
>
<el-option
:label="keys"
v-for="(keys, vals) in alarmDivideType"
:value="vals"
:key="vals"
:label="keys"
:value="vals"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
type="primary"
@click="handleQuery"
>搜索</el-button
>
@ -65,15 +66,16 @@
>
</el-form-item>
</el-form>
<div class="main-content-card">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
v-hasPermi="['iot:type:add']"
icon="el-icon-plus"
size="mini"
type="primary"
@click="handleAdd"
v-hasPermi="['iot:type:add']"
>新增</el-button
>
</el-col>
@ -89,12 +91,12 @@
</el-col>-->
<el-col :span="1.5">
<el-button
type="danger"
v-hasPermi="['iot:type:remove']"
:disabled="multiple"
icon="el-icon-delete"
size="mini"
:disabled="multiple"
type="danger"
@click="handleDelete"
v-hasPermi="['iot:type:remove']"
>删除</el-button
>
</el-col>
@ -111,27 +113,27 @@
<el-table
v-loading="loading"
@sort-change="sortChange"
:data="alarmTypeList"
@sort-change="sortChange"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column align="center" type="selection" width="55" />
<!-- <el-table-column label="编码" align="left" sortable="custom" prop="typeCode" /> -->
<el-table-column
label="名称"
align="left"
sortable="custom"
label="名称"
prop="typeName"
sortable="custom"
/>
<el-table-column label="设备类型" align="center" prop="deviceTypeName" />
<el-table-column align="center" label="设备类型" prop="deviceTypeName" />
<el-table-column
label="报警划分"
align="center"
width="100px"
prop="alarmDivide"
:formatter="alarmDivideForm"
align="center"
label="报警划分"
prop="alarmDivide"
width="100px"
/>
<el-table-column label="状态" align="center" prop="status">
<el-table-column align="center" label="状态" prop="status">
<template slot-scope="scope">
<span v-if="scope.row.status === '0' || scope.row.status === 0"
>启用</span
@ -140,28 +142,28 @@
</template>
</el-table-column>
<el-table-column
label="操作"
width="200"
align="center"
class-name="small-padding fixed-width"
label="操作"
width="200"
>
<template slot-scope="scope">
<el-button
v-if="scope.row.tenantId === tenantId"
v-hasPermi="['iot:type:edit']"
icon="el-icon-edit"
size="mini"
type="text"
icon="el-icon-edit"
v-if="scope.row.tenantId === tenantId"
@click="handleUpdate(scope.row)"
v-hasPermi="['iot:type:edit']"
>修改</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-if="scope.row.tenantId === tenantId"
v-hasPermi="['iot:type:remove']"
icon="el-icon-delete"
size="mini"
type="text"
@click="handleDelete(scope.row)"
>删除</el-button
>
</template>
@ -170,18 +172,18 @@
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
:page.sync="queryParams.pageNum"
:total="total"
@pagination="getList"
/>
</div>
<!-- 添加或修改告警类型对话框 -->
<dialog-template
class="eldialog-wrap"
:close-on-click-modal="false"
:title="title"
:visible="open"
class="eldialog-wrap"
width="500px"
@close="open = false"
>
@ -207,15 +209,15 @@
<el-form-item label="设备类型" prop="deviceType">
<el-select
v-model="form.deviceType"
style="width: 100%"
clearable
placeholder="请输入报警设备类型"
style="width: 100%"
>
<el-option
v-for="(keys, vals) in deviceTypeList"
:key="vals"
:label="keys"
:value="vals"
:key="vals"
/>
</el-select>
</el-form-item>
@ -223,15 +225,15 @@
<el-form-item label="联系人" prop="userId">
<el-select
v-model="form.userId"
style="width: 100%"
clearable
placeholder="请输入联系人"
style="width: 100%"
>
<el-option
v-for="(doc, idx) in userList"
:key="idx"
:label="doc.nickName"
:value="doc.userName"
:key="idx"
/>
</el-select>
</el-form-item>
@ -239,9 +241,9 @@
<el-form-item label="报警划分" prop="alarmDivide">
<el-radio-group v-model="form.alarmDivide">
<el-radio
:label="vals"
v-for="(keys, vals) in alarmDivideType"
:key="vals"
:label="vals"
>{{ keys }}</el-radio
>
</el-radio-group>
@ -251,8 +253,8 @@
<el-switch
v-model="form.status"
active-color="#13ce66"
inactive-color="#dad5d5"
active-value="0"
inactive-color="#dad5d5"
inactive-value="1"
></el-switch>
</el-form-item>

View File

@ -6,6 +6,7 @@
ref="queryForm"
:inline="true"
:model="queryParams"
class="main-search-card"
label-width="68px"
>
<el-form-item label="所属项目" prop="inProject">
@ -54,6 +55,7 @@
>
</el-form-item>
</el-form>
<div class="main-content-card">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
@ -241,6 +243,7 @@
</div>
</el-col>
</el-row>
<el-empty v-if="total === 0"></el-empty>
</div>
<pagination
@ -251,6 +254,7 @@
:total="total"
@pagination="getList"
/>
</div>
</div>
</template>

View File

@ -1,17 +1,18 @@
<template>
<div class="app-container">
<el-form
:model="queryParams"
v-show="showSearch"
ref="queryForm"
:inline="true"
v-show="showSearch"
:model="queryParams"
class="main-search-card"
label-width="68px"
>
<el-form-item label="批次号" prop="batchNumber">
<el-input
v-model="queryParams.batchNumber"
placeholder="请输入批次号"
clearable
placeholder="请输入批次号"
size="small"
@keyup.enter.native="handleQuery"
/>
@ -33,8 +34,8 @@
<el-form-item label="厂商" prop="vendorId">
<el-select
v-model="queryParams.vendorId"
style="width: 100%"
placeholder="请选择区别编码"
style="width: 100%"
>
<el-option
v-for="dict in queryVendorList"
@ -47,17 +48,17 @@
<el-form-item label="批次编码" prop="batchCode">
<el-input
v-model="queryParams.batchCode"
placeholder="请输入批次编码"
clearable
placeholder="请输入批次编码"
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
type="primary"
@click="handleQuery"
>搜索</el-button
>
@ -66,39 +67,39 @@
>
</el-form-item>
</el-form>
<div class="main-content-card">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['iot:batch:add']"
icon="el-icon-plus"
plain
size="mini"
type="primary"
@click="handleAdd"
>新增</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['iot:batch:remove']"
:disabled="multiple"
icon="el-icon-delete"
plain
size="mini"
type="danger"
@click="handleDelete"
>删除</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['iot:batch:export']"
icon="el-icon-download"
plain
size="mini"
type="warning"
@click="handleExport"
>导出</el-button
>
</el-col>
@ -111,34 +112,34 @@
<el-table
v-loading="loading"
:data="batchList"
@selection-change="handleSelectionChange"
:default-sort="{ prop: 'createTime', order: 'descending' }"
@selection-change="handleSelectionChange"
@sort-change="sortChange"
>
<el-table-column type="selection" width="50" align="center" />
<el-table-column type="index" label="序号" align="center" :index="indexFormatter" width="80px"></el-table-column>
<el-table-column align="center" type="selection" width="50" />
<el-table-column :index="indexFormatter" align="center" label="序号" type="index" width="80px"></el-table-column>
<!-- <el-table-column label="序号" align="center" prop="index" width="50" /> -->
<el-table-column label="批次号" align="center" prop="batchNumber" />
<el-table-column align="center" label="批次号" prop="batchNumber" />
<!-- <el-table-column
label="区别编码"
align="left"
prop="differentCode"
:formatter="statusFormat"
/> -->
<el-table-column label="厂商" align="left" prop="vendorName" />
<el-table-column label="批次编码" align="left" prop="batchCode" />
<el-table-column align="left" label="厂商" prop="vendorName" />
<el-table-column align="left" label="批次编码" prop="batchCode" />
<el-table-column
label=" 创建时间"
align="center"
label=" 创建时间"
prop="createTime"
sortable="custom"
width="150px"
/>
<el-table-column
label="操作"
align="center"
width="200"
class-name="small-padding fixed-width"
label="操作"
width="200"
>
<template slot-scope="scope">
<!-- <el-button
@ -150,11 +151,11 @@
>修改</el-button
> -->
<el-button
v-hasPermi="['iot:batch:remove']"
icon="el-icon-delete"
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['iot:batch:remove']"
>删除</el-button
>
</template>
@ -163,20 +164,20 @@
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
:page.sync="queryParams.pageNum"
:total="total"
@pagination="getList"
/>
</div>
<!-- 添加或修改硬件数据库对话框 -->
<div>
<dialog-template :title="title" :visible="open" @close="open = false" >
<el-form
ref="form"
slot="dialog-center"
:model="form"
:rules="rules"
slot="dialog-center"
label-width="80px"
>
<el-form-item label="批次号" prop="batchNumber">
@ -205,7 +206,7 @@
</el-form-item>
</el-form>
<div slot="dialog-footer">
<el-button type="primary" size="mini" @click="submitForm"
<el-button size="mini" type="primary" @click="submitForm"
> </el-button
>
<el-button size="mini" @click="cancel"> </el-button>
@ -213,20 +214,20 @@
</dialog-template>
<el-dialog
title="选择"
:visible.sync="selectTableShow"
width="75%"
top="10vh"
class="select-table-dialog"
:close-on-click-modal="false"
:visible.sync="selectTableShow"
class="select-table-dialog"
title="选择"
top="10vh"
width="75%"
>
<select-table-wrap
v-if="selectTableShow"
:tableOption="tableSelectOption.tableOpt"
:otherOption="tableSelectOption.otherOption"
:queryOption="tableSelectOption.queryOpt"
:tableList="tableSelectOption.tableList"
:tableOption="tableSelectOption.tableOpt"
@parentGetList="childGetList($event)"
:otherOption="tableSelectOption.otherOption"
@returnEvent="returnEvent($event)"
/>

View File

@ -8,12 +8,12 @@
@toTableClick="toTableClick"
></component>
<div v-show="componectVal === ''">
<!-- class="main-search-card"-->
<el-form
v-show="showSearch"
ref="queryForm"
:inline="true"
:model="queryParams"
class="main-search-card"
label-width="68px"
>
<el-form-item label="所属项目" prop="inProject">
@ -127,7 +127,7 @@
</el-form-item>
</el-form>
<!-- <div class="main-content-card">-->
<div class="main-content-card">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
@ -388,6 +388,7 @@
</div>
</el-col>
</el-row>
<el-empty v-if="total === 0"></el-empty>
</div>
<pagination
v-show="total > 0"
@ -397,7 +398,7 @@
:total="total"
@pagination="getList"
/>
<!-- </div>-->
</div>

View File

@ -150,8 +150,7 @@
</div>
</div>
</div>
<div v-if="infoData.deviceType === 'MINIATURE_BREAKER'" class="group-list-info" style="margin-top: 15px;">
<div v-if="infoData.deviceType === 'MINIATURE_BREAKER' || infoData.deviceType === 'MOLDED_BREAKER'" class="group-list-info" style="margin-top: 15px;">
<div class="top">
<div class="top-label">
<svg-icon icon-class="A_product1" style="margin-right: 2px; height: 20px; width: 20px;" />告警配置
@ -159,8 +158,8 @@
</div>
</div>
<div v-if="infoData.deviceType === 'MINIATURE_BREAKER'" class="group-list-table" style="border: 0;">
<device-alarm-config v-if="infoData.deviceType === 'MINIATURE_BREAKER'" :deviceId="infoData.deviceId" :deviceKey="infoData.deviceKey" />
<div v-if="infoData.deviceType === 'MINIATURE_BREAKER' || infoData.deviceType === 'MOLDED_BREAKER'" class="group-list-table" style="border: 0;">
<device-alarm-config v-if="infoData.deviceType === 'MINIATURE_BREAKER' || infoData.deviceType === 'MOLDED_BREAKER'" :deviceId="infoData.deviceId" :deviceKey="infoData.deviceKey" />
</div>

View File

@ -5,6 +5,7 @@
ref="queryForm"
:inline="true"
:model="queryParams"
class="main-search-card"
label-width="68px"
>
<el-form-item label="芯片ID" prop="uId">
@ -47,7 +48,7 @@
>
</el-form-item>
</el-form>
<div class="main-content-card">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
@ -181,7 +182,7 @@
:total="total"
@pagination="getList"
/>
</div>
<!-- 添加或修改硬件数据库对话框 -->
<div>
<dialog-template :title="title" :visible="open" @close="open = false">

View File

@ -5,6 +5,7 @@
ref="queryForm"
:inline="true"
:model="queryParams"
class="main-search-card"
label-width="68px"
>
<el-form-item label="型号名称" prop="modelName">
@ -55,7 +56,7 @@
>
</el-form-item>
</el-form>
<div class="main-content-card">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
@ -190,7 +191,7 @@
:total="total"
@pagination="getList"
/>
</div>
<!-- 添加或修改型号对话框 -->
<dialog-template
:title="title"

View File

@ -1,6 +1,6 @@
<template>
<div class="app-container iot-model-series">
<el-form v-show="showSearch" ref="queryForm" :inline="true" :model="queryParams" label-width="68px">
<el-form v-show="showSearch" ref="queryForm" :inline="true" :model="queryParams" class="main-search-card" label-width="68px">
<el-form-item label="系列名称" prop="seriesName">
<el-input
v-model="queryParams.seriesName"
@ -26,7 +26,7 @@
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<div class="main-content-card">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
@ -164,7 +164,7 @@
:total="total"
@pagination="getList"
/>
</div>
<dialog-template :title="title" :visible="open" width="1000px" @close="open = false" >
<el-form ref="form" slot="dialog-center" :model="form" :rules="rules" label-width="100px">
<el-row>

View File

@ -1,17 +1,18 @@
<template>
<div class="app-container">
<el-form
:model="queryParams"
v-show="showSearch"
ref="queryForm"
:inline="true"
v-show="showSearch"
:model="queryParams"
class="main-search-card"
label-width="68px"
>
<el-form-item label="固件版本" prop="otaVersion">
<el-input
v-model="queryParams.otaVersion"
placeholder="请输入固件版本"
clearable
placeholder="请输入固件版本"
size="small"
@keyup.enter.native="handleQuery"
/>
@ -19,9 +20,9 @@
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
type="primary"
@click="handleQuery"
>搜索</el-button
>
@ -29,16 +30,16 @@
>重置</el-button
>
<el-button
type="primary"
v-hasPermi="['system:ota:add']"
icon="el-icon-plus"
size="mini"
type="primary"
@click="handleAdd"
v-hasPermi="['system:ota:add']"
>新增</el-button
>
</el-form-item>
</el-form>
<div class="main-content-card">
<!-- <el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
@ -76,28 +77,28 @@
@selection-change="handleSelectionChange"
>
<el-table-column
type="index"
label="序号"
align="center"
:index="indexFormatter"
align="center"
label="序号"
type="index"
width="80px"
></el-table-column>
<el-table-column label="型号" align="laft" width="150" prop="modelName" />
<el-table-column align="laft" label="型号" prop="modelName" width="150" />
<el-table-column
align="center"
label="固件版本"
align="center"
width="120"
prop="otaVersion"
/>
<el-table-column
label="固件大小"
align="center"
width="120"
prop="otaSize"
/>
<el-table-column
label="升级地址"
align="center"
label="固件大小"
prop="otaSize"
width="120"
/>
<el-table-column
align="left"
label="升级地址"
prop="otaUrl"
style="display: flex; align-items: center"
>
@ -129,7 +130,7 @@
</div>
</template>
</el-table-column>
<el-table-column label="文件地址" align="left" prop="txtUrl">
<el-table-column align="left" label="文件地址" prop="txtUrl">
<template slot-scope="scope">
<div style="display: flex; align-items: center">
<span
@ -158,43 +159,43 @@
</div>
</template>
</el-table-column>
<el-table-column label="升级信息" align="left" prop="otaInfo">
<el-table-column align="left" label="升级信息" prop="otaInfo">
<template slot-scope="scope">
<div style="display: flex; align-items: center">
<span class="lay-table-textarea" :title="scope.row.otaInfo">
<span :title="scope.row.otaInfo" class="lay-table-textarea">
{{ scope.row.otaInfo }}
</span>
</div>
</template>
</el-table-column>
<el-table-column
label=" 创建时间"
align="center"
label=" 创建时间"
prop="createTime"
sortable="custom"
width="150px"
/>
<el-table-column
label="操作"
width="150"
align="center"
class-name="small-padding fixed-width"
label="操作"
width="150"
>
<template slot-scope="scope">
<el-button
v-hasPermi="['system:ota:edit']"
icon="el-icon-edit"
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:ota:edit']"
>修改</el-button
>
<el-button
v-hasPermi="['system:ota:remove']"
icon="el-icon-delete"
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:ota:remove']"
>删除</el-button
>
</template>
@ -203,25 +204,25 @@
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
:page.sync="queryParams.pageNum"
:total="total"
@pagination="getList"
/>
</div>
<!-- 添加或修改固件版本对话框 -->
<div>
<dialog-template
@close="open = false"
:title="title"
:visible="open"
width="500px"
@close="open = false"
>
<el-form
ref="form"
slot="dialog-center"
:model="form"
:rules="rules"
slot="dialog-center"
label-width="100px"
>
<el-form-item label="型号:" prop="modelName">
@ -235,7 +236,7 @@
<el-input v-model="form.otaVersion" placeholder="请输入固件版本" />
</el-form-item>
<el-form-item label="升级地址:" prop="otaUrl" v-if="form.otaId">
<el-form-item v-if="form.otaId" label="升级地址:" prop="otaUrl">
<el-input
v-model="form.otaUrl"
disabled
@ -246,9 +247,9 @@
<el-form-item label="文件地址:" prop="txtUrl">
<el-upload
ref="upload"
:show-file-list="false"
:before-upload="beforeAvatarUpload"
:http-request="uploud"
:show-file-list="false"
action
drag
>
@ -259,14 +260,14 @@
</div>
</el-upload>
<span
v-if="form.txtUrl"
:title="form.txtUrl"
style="
display: block;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
"
:title="form.txtUrl"
v-if="form.txtUrl"
v-text="form.txtUrl"
></span>
<!-- <el-tabs v-model="isFileUpload">
@ -306,16 +307,16 @@
<el-form-item label="升级信息:" prop="otaInfo">
<el-input
v-model="form.otaInfo"
type="textarea"
:rows="4"
maxlength="99"
placeholder="请输入固件升级信息"
type="textarea"
/>
</el-form-item>
</el-form>
<div slot="dialog-footer">
<el-button type="primary" size="mini" @click="submitForm"
<el-button size="mini" type="primary" @click="submitForm"
> </el-button
>
<el-button size="mini" @click="cancel"> </el-button>
@ -323,20 +324,20 @@
</dialog-template>
<el-dialog
title="选择"
:visible.sync="selectTableShow"
width="75%"
top="10vh"
class="select-table-dialog"
:close-on-click-modal="false"
:visible.sync="selectTableShow"
class="select-table-dialog"
title="选择"
top="10vh"
width="75%"
>
<select-table-wrap
v-if="selectTableShow"
:tableOption="tableSelectOption.tableOpt"
:otherOption="tableSelectOption.otherOption"
:queryOption="tableSelectOption.queryOpt"
:tableList="tableSelectOption.tableList"
:tableOption="tableSelectOption.tableOpt"
@parentGetList="childGetList($event)"
:otherOption="tableSelectOption.otherOption"
@returnEvent="returnEvent($event)"
/>

View File

@ -12,6 +12,7 @@
ref="queryForm"
:inline="true"
:model="queryParams"
class="main-search-card"
label-width="68px"
>
<el-form-item label="项目名称" prop="projectName">
@ -51,7 +52,7 @@
>
</el-form-item>
</el-form>
<div class="main-content-card">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
@ -191,6 +192,7 @@
</div>
</el-col>
</el-row>
<el-empty v-if="total === 0"></el-empty>
</div>
<pagination
@ -201,7 +203,7 @@
:total="total"
@pagination="getList"
/>
</div>
<!-- 添加或修改项目对话框 -->
<dialog-template
:title="title"

View File

@ -14,39 +14,40 @@
}"
-->
<div :class="isFoldRight ? 'block-lift block-right-fold' : 'block-lift'">
<div class="container-title">
<div
v-for="(item, idx) in projectList"
v-show="item.projectId === infoData.projectId"
:key="idx"
class="title-left"
>
<span>{{ item.projectName }}</span>
<i
class="el-icon-arrow-left icon-c but-icon"
@click="handlePrev(idx)"
></i>
<i
class="el-icon-arrow-right icon-c but-icon"
@click="handleNext(idx)"
></i>
</div>
<div class="title-but">
<div class="but-home" @click="handleLinkToTable">
<i class="el-icon-d-arrow-left icon-c"></i>
<span class="but-title">返回列表</span>
<div class="main-project-card">
<div class="container-title">
<div
v-for="(item, idx) in projectList"
v-show="item.projectId === infoData.projectId"
:key="idx"
class="title-left"
>
<span>{{ item.projectName }}</span>
<i
class="el-icon-arrow-left icon-c but-icon"
@click="handlePrev(idx)"
></i>
<i
class="el-icon-arrow-right icon-c but-icon"
@click="handleNext(idx)"
></i>
</div>
<div class="but-tz" @click="handleFoldRight">
<i class="el-icon-back icon-c"></i>
<i class="el-icon-right icon-c"></i>
<div class="title-but">
<div class="but-home" @click="handleLinkToTable">
<i class="el-icon-d-arrow-left icon-c"></i>
<span class="but-title">返回列表</span>
</div>
<div class="but-tz" @click="handleFoldRight">
<i class="el-icon-back icon-c"></i>
<i class="el-icon-right icon-c"></i>
</div>
</div>
</div>
</div>
<div style="width: 100%;display: flex;justify-content: space-between;align-items: center">
<e-nav-menu-button
v-model="activeType"
:activeList="activeList"
@input="
<div style="width: 100%;display: flex;justify-content: space-between;align-items: center">
<e-nav-menu-button
v-model="activeType"
:activeList="activeList"
@input="
(data) => {
selectNavChildren = [];
activeName = data['template'];
@ -54,14 +55,14 @@
selectNavChildren = data.children || [];
}
"
/>
<el-button size="mini" type="primary" @click="goDeviceList">查看设备</el-button>
</div>
<div class="container-info">
<el-row :gutter="10">
<el-col :span="12">
<div
style="
/>
<el-button size="mini" type="primary" @click="goDeviceList">查看设备</el-button>
</div>
<div class="container-info">
<el-row :gutter="10">
<el-col :span="12">
<div
style="
background: rgb(244, 245, 247);
height: 104px;
width: 100%;
@ -70,61 +71,61 @@
align-items: center;
padding-left: 20px;
"
>
<el-descriptions :column="2" class="margin-top" title="">
<el-descriptions-item label="行业类型:">{{
statusFormat(infoData)
}}</el-descriptions-item>
<el-descriptions-item label="联系人1">
{{ infoData["contacts1"] || "--" }}
</el-descriptions-item>
<el-descriptions-item label="联系人2">
{{ infoData["contacts2"] || "--" }}
</el-descriptions-item>
<el-descriptions-item label="联系人3">
{{ infoData["contacts3"] || "--" }}
</el-descriptions-item>
<el-descriptions-item label="项目地址:">
<div class="e-descriptions-address">
>
<el-descriptions :column="2" class="margin-top" title="">
<el-descriptions-item label="行业类型:">{{
statusFormat(infoData)
}}</el-descriptions-item>
<el-descriptions-item label="联系人1">
{{ infoData["contacts1"] || "--" }}
</el-descriptions-item>
<el-descriptions-item label="联系人2">
{{ infoData["contacts2"] || "--" }}
</el-descriptions-item>
<el-descriptions-item label="联系人3">
{{ infoData["contacts3"] || "--" }}
</el-descriptions-item>
<el-descriptions-item label="项目地址:">
<div class="e-descriptions-address">
<span
:title="infoData.projectAddress"
class="e-address-span"
>
{{ infoData.projectAddress }}
</span>
<i
class="el-icon-map-location e-i-custom"
@click="mapClick"
></i>
<el-popover
v-model="visible"
placement="bottom"
style="top: 30px; left: -85%; position: relative"
title="项目地址坐标"
trigger="manual"
width="1080"
>
<slot>
<el-row>
<el-col :span="10">
<span>经度{{ mapForm.lng }}</span>
</el-col>
<el-col :span="10">
<span>纬度{{ mapForm.lat }}</span>
</el-col>
</el-row>
<i
class="el-icon-map-location e-i-custom"
@click="mapClick"
></i>
<el-popover
v-model="visible"
placement="bottom"
style="top: 30px; left: -85%; position: relative"
title="项目地址坐标"
trigger="manual"
width="1080"
>
<slot>
<el-row>
<el-col :span="10">
<span>经度{{ mapForm.lng }}</span>
</el-col>
<el-col :span="10">
<span>纬度{{ mapForm.lat }}</span>
</el-col>
</el-row>
<shop-location
v-if="visible === true"
:draggable="false"
:mapCenter="mapCenter"
:zoom="zoom"
style="height: 450px; margin-top: 10px"
@mapEvent="mapEvent"
/>
<shop-location
v-if="visible === true"
:draggable="false"
:mapCenter="mapCenter"
:zoom="zoom"
style="height: 450px; margin-top: 10px"
@mapEvent="mapEvent"
/>
<div
style="
<div
style="
width: 100%;
height: 35px;
display: flex;
@ -132,24 +133,24 @@
justify-content: flex-end;
margin-top: 5px;
"
>
<el-button
size="mini"
type="primary"
@click="visible = false"
> </el-button
>
</div>
</slot>
</el-popover>
</div>
</el-descriptions-item>
</el-descriptions>
</div>
</el-col>
<el-col :span="12">
<div
style="
<el-button
size="mini"
type="primary"
@click="visible = false"
> </el-button
>
</div>
</slot>
</el-popover>
</div>
</el-descriptions-item>
</el-descriptions>
</div>
</el-col>
<el-col :span="12">
<div
style="
background: rgb(244, 245, 247);
height: 104px;
width: 100%;
@ -158,16 +159,17 @@
align-items: center;
padding-left: 20px;
"
>
<e-census-cards
:propList="censusCardList"
:result="projectStatistics"
/>
</div>
</el-col>
</el-row>
>
<e-census-cards
:propList="censusCardList"
:result="projectStatistics"
/>
</div>
</el-col>
</el-row>
</div>
</div>
<div class="container-main">
<div class="container-main main-content-card">
<div
:style="isShrink ? 'width: 100%;' : 'width: calc(100% - 150px);'"
class="main-block"
@ -185,7 +187,7 @@
</div>
</div>
</div>
<div v-if="!isFoldRight" class="block-right">
<div v-if="!isFoldRight" class="block-right main-project-card">
<e-simple-card class="today-ratio-card" title="最近2 天警情同比">
<template slot="cardBody">
<e-today-ratio
@ -665,11 +667,11 @@ export default {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 10px;
.title-left {
width: 50%;
display: flex;
justify-content: flex-start;
height: 100%;
align-items: center;
> span {
font-size: 24px;
@ -743,8 +745,8 @@ export default {
// height: 104px;
width: 100%;
background: #f4f5f7;
border-radius: 5px;
margin-top: 5px;
border-radius: 8px;
margin-top: 10px;
display: flex;
padding: 10px;
.info-left {
@ -778,12 +780,11 @@ export default {
display: flex;
height: calc(100% - 190px);
.main-block {
padding: 15px;
width: calc(100% - 150px);
height: 100%;
width: 100%;
padding-right: 0;
padding-left: 25px;
//padding-left: 25px;
}
}
}
@ -792,7 +793,7 @@ export default {
}
.block-right {
width: 290px;
height: 100%;
min-height: 855px;
display: flex;
flex-wrap: wrap;
justify-content: center;

View File

@ -1,35 +1,36 @@
<template>
<div class="app-container el-compared-container">
<el-form
:model="queryParams"
ref="queryForm"
:inline="true"
:model="queryParams"
class="main-search-card"
label-width="68px"
>
<el-form-item label="项目名称" prop="projectName">
<e-dialog-table-input
:table="selectTable"
:refurbishFun="listProject"
showFileName="projectName"
fileName="projectId,projectName"
v-model="queryParams.projectName"
:preference="true"
title="项目"
:refurbishFun="listProject"
:table="selectTable"
fileName="projectId,projectName"
psize="small"
showFileName="projectName"
title="项目"
@change="handleDialogEvent"
/>
</el-form-item>
<el-form-item label="时间" prop="time">
<el-date-picker v-model="time" type="year" size="small" :clearable="false" placeholder="选择年">
<el-date-picker v-model="time" :clearable="false" placeholder="选择年" size="small" type="year">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="small"
type="primary"
@click="handleQuery"
>搜索</el-button
>
@ -37,22 +38,22 @@
>重置</el-button
> -->
<el-button
type="warning"
plain
icon="el-icon-download"
plain
size="mini"
type="warning"
@click="handleExport"
>导出</el-button
>
</el-form-item>
</el-form>
<el-tabs v-model="activeName">
<el-tab-pane :label="tabItem.label" :name="tabItem.key" v-for="tabItem in tabsList" :key="tabItem.key">
<e-chain-template ref="chainTemplate" v-if="tabItem.key === activeName" :energyType="tabItem.key" :unit="tabItem.unit" :params="queryParams" />
<el-tabs v-model="activeName" class="main-content-card">
<el-tab-pane v-for="tabItem in tabsList" :key="tabItem.key" :label="tabItem.label" :name="tabItem.key">
<e-chain-template v-if="tabItem.key === activeName" ref="chainTemplate" :energyType="tabItem.key" :params="queryParams" :unit="tabItem.unit" />
</el-tab-pane>
</el-tabs>
</div>
</template>
<script>

View File

@ -1,22 +1,23 @@
<template>
<div class="app-container el-compared-container">
<el-form
:model="queryParams"
ref="queryForm"
:inline="true"
:model="queryParams"
class="main-search-card"
label-width="68px"
>
<el-form-item label="项目名称" prop="projectName">
<e-dialog-table-input
:table="selectTable"
:refurbishFun="listProject"
type="input"
showFileName="projectName"
fileName="projectId,projectName"
v-model="queryParams.projectName"
:preference="true"
title="项目"
:refurbishFun="listProject"
:table="selectTable"
fileName="projectId,projectName"
psize="small"
showFileName="projectName"
title="项目"
type="input"
@change="handleDialogEvent"
/>
</el-form-item>
@ -24,19 +25,19 @@
<el-form-item label="时间" prop="time">
<el-date-picker
v-model="time"
type="year"
size="small"
:clearable="false"
placeholder="选择年"
size="small"
type="year"
>
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="small"
type="primary"
@click="handleQuery"
>搜索</el-button
>
@ -44,29 +45,28 @@
>重置</el-button
> -->
<el-button
type="warning"
plain
icon="el-icon-download"
plain
size="mini"
type="warning"
@click="handleExport"
>导出</el-button
>
</el-form-item>
</el-form>
<el-tabs v-model="activeName">
<el-tabs v-model="activeName" class="main-content-card">
<el-tab-pane
:label="tabItem.label"
:name="tabItem.key"
v-for="tabItem in tabsList"
:key="tabItem.key"
:label="tabItem.label"
:name="tabItem.key"
>
<e-compared-template
ref="comparedTemplate"
v-if="tabItem.key === activeName"
ref="comparedTemplate"
:energyType="tabItem.key"
:unit="tabItem.unit"
:params="queryParams"
:unit="tabItem.unit"
></e-compared-template>
</el-tab-pane>
</el-tabs>

View File

@ -1,16 +1,17 @@
<template>
<div class="app-container">
<el-form
:model="queryParams"
ref="queryForm"
:inline="true"
:model="queryParams"
class="main-search-card"
label-width="68px"
>
<el-form-item label="项目名称" prop="projectName">
<el-input
v-model="queryParams.projectName"
placeholder="请输入项目名称"
clearable
placeholder="请输入项目名称"
size="small"
@keyup.enter.native="handleQuery"
/>
@ -19,22 +20,22 @@
<el-form-item label="时间" prop="time">
<el-date-picker
v-model="time"
size="small"
type="datetimerange"
range-separator="至"
class="form-input"
start-placeholder="开始时间"
end-placeholder="结束时间"
@change="timeChange"
placeholder="选择时间范围"
range-separator="至"
size="small"
start-placeholder="开始时间"
type="datetimerange"
@change="timeChange"
></el-date-picker>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
type="primary"
@click="handleQuery"
>搜索</el-button
>
@ -42,54 +43,54 @@
>重置</el-button
>
<el-button
type="warning"
plain
icon="el-icon-download"
plain
size="mini"
type="warning"
@click="handleExport"
>导出</el-button
>
</el-form-item>
</el-form>
<div class="main-content-card">
<el-table v-loading="loading" :data="tableList">
<!-- :default-sort="{prop: 'createTime', order: 'descending'}"
@sort-change="sortChange" -->
<el-table-column
type="index"
label="序号"
align="center"
:index="
(val) => {
return val + 1 + (queryParams.pageNum - 1) * queryParams.pageSize;
}
"
align="center"
label="序号"
type="index"
width="80px"
></el-table-column>
<el-table-column label="项目ID" align="left" prop="projectName" />
<el-table-column label="项目名称" align="left" prop="projectName" />
<el-table-column label="电用量 (kwh)" align="center" prop="electric">
<el-table-column align="left" label="项目ID" prop="projectName" />
<el-table-column align="left" label="项目名称" prop="projectName" />
<el-table-column align="center" label="电用量 (kwh)" prop="electric">
<template slot-scope="scope">
<span class="lay-table-textarea">{{
Number(scope.row.electric).toFixed(2) || "--"
}}</span>
</template>
</el-table-column>
<el-table-column label="水用量 (吨)" align="center" prop="water">
<el-table-column align="center" label="水用量 (吨)" prop="water">
<template slot-scope="scope">
<span class="lay-table-textarea">{{
Number(scope.row.water).toFixed(2) || "--"
}}</span>
</template>
</el-table-column>
<el-table-column label="气用量 (m³)" align="center" prop="gas">
<el-table-column align="center" label="气用量 (m³)" prop="gas">
<template slot-scope="scope">
<span class="lay-table-textarea">{{
Number(scope.row.gas).toFixed(2) || "--"
}}</span>
</template>
</el-table-column>
<el-table-column label="碳排放 (吨)" align="center" prop="coal">
<el-table-column align="center" label="碳排放 (吨)" prop="coal">
<template slot-scope="scope">
<span class="lay-table-textarea">{{
Number(scope.row.coal).toFixed(2) || "--"
@ -100,11 +101,12 @@
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
:page.sync="queryParams.pageNum"
:total="total"
@pagination="getList"
/>
</div>
</div>
</template>
<script>

View File

@ -1,17 +1,18 @@
<template>
<div class="app-container iot-vendor">
<el-form
:model="queryParams"
v-show="showSearch"
ref="queryForm"
:inline="true"
v-show="showSearch"
:model="queryParams"
class="main-search-card"
label-width="68px"
>
<el-form-item label="厂商名称" prop="vendorName">
<el-input
v-model="queryParams.vendorName"
placeholder="厂商名称"
clearable
placeholder="厂商名称"
size="small"
@keyup.enter.native="handleQuery"
/>
@ -19,8 +20,8 @@
<el-form-item label="厂商地址" prop="vendorAddress">
<el-input
v-model="queryParams.vendorAddress"
placeholder="厂商地址"
clearable
placeholder="厂商地址"
size="small"
@keyup.enter.native="handleQuery"
/>
@ -28,17 +29,17 @@
<el-form-item label="联系方式" prop="vendorContact">
<el-input
v-model="queryParams.vendorContact"
placeholder="联系方式"
clearable
placeholder="联系方式"
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
type="primary"
@click="handleQuery"
>搜索</el-button
>
@ -47,16 +48,16 @@
>
</el-form-item>
</el-form>
<div class="main-content-card">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['iot:vendor:add']"
icon="el-icon-plus"
plain
size="mini"
type="primary"
@click="handleAdd"
>新增</el-button
>
</el-col>
@ -69,72 +70,72 @@
<el-table
v-loading="loading"
:data="vendorList"
@selection-change="handleSelectionChange"
:default-sort="{ prop: 'createTime', order: 'descending' }"
@selection-change="handleSelectionChange"
@sort-change="sortChange"
>
<el-table-column
type="index"
label="序号"
align="center"
:index="indexFormatter"
align="center"
label="序号"
type="index"
width="80px"
></el-table-column>
<el-table-column
label="厂商名称"
align="left"
width="250"
label="厂商名称"
prop="vendorName"
width="250"
/>
<el-table-column
label="联系方式"
align="left"
width="250"
label="联系方式"
prop="vendorContact"
width="250"
/>
<el-table-column label="厂商地址" align="left" prop="vendorAddress">
<el-table-column align="left" label="厂商地址" prop="vendorAddress">
<template slot-scope="scope">
<span class="lay-table-textarea" :title="scope.row.vendorAddress">
<span :title="scope.row.vendorAddress" class="lay-table-textarea">
{{ scope.row.vendorAddress }}
</span>
</template>
</el-table-column>
<el-table-column label="备注" align="left" prop="remark">
<el-table-column align="left" label="备注" prop="remark">
<template slot-scope="scope">
<span class="lay-table-textarea" :title="scope.row.remark">
<span :title="scope.row.remark" class="lay-table-textarea">
{{ scope.row.remark }}
</span>
</template>
</el-table-column>
<el-table-column
label="创建时间"
align="center"
label="创建时间"
prop="createTime"
sortable="custom"
width="160"
prop="createTime"
/>
<el-table-column
label="操作"
align="center"
width="200"
class-name="small-padding fixed-width"
label="操作"
width="200"
>
<template slot-scope="scope">
<el-button
v-hasPermi="['iot:vendor:edit']"
icon="el-icon-edit"
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['iot:vendor:edit']"
>修改</el-button
>
<el-button
v-hasPermi="['iot:vendor:remove']"
icon="el-icon-delete"
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['iot:vendor:remove']"
>删除</el-button
>
</template>
@ -143,11 +144,12 @@
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
:page.sync="queryParams.pageNum"
:total="total"
@pagination="getList"
/>
</div>
<div>
<dialog-template :title="title" :visible="open" @close="open = false">
<el-form
@ -175,8 +177,8 @@
</el-form-item>
<el-form-item label="厂商地址:" prop="vendorAddress">
<el-input
maxlength="120"
v-model="form.vendorAddress"
maxlength="120"
placeholder="请输入厂商地址"
/>
</el-form-item>
@ -184,15 +186,15 @@
<el-form-item label="备注:" prop="remark">
<el-input
v-model="form.remark"
type="textarea"
:rows="4"
maxlength="200"
placeholder="请输入备注"
type="textarea"
/>
</el-form-item>
</el-form>
<div slot="dialog-footer">
<el-button type="primary" size="mini" @click="submitForm"
<el-button size="mini" type="primary" @click="submitForm"
> </el-button
>
<el-button size="mini" @click="cancel"> </el-button>

View File

@ -1,15 +1,16 @@
<template>
<div class="app-container video-camera">
<el-form
:model="queryParams"
ref="queryForm"
:inline="true"
:model="queryParams"
class="main-search-card"
label-width="85px"
>
<el-form-item label="选择站点" prop="siteId">
<select-input
psize="mini"
ref="querySelectInput"
psize="mini"
@EventResult="eventResult($event)"
></select-input>
@ -17,8 +18,8 @@
<el-form-item label="摄像头名称" prop="videoName">
<el-input
v-model="queryParams.videoName"
placeholder="请输入摄像头名称"
clearable
placeholder="请输入摄像头名称"
size="mini"
@keyup.enter.native="handleQuery"
/>
@ -26,17 +27,17 @@
<el-form-item label="摄像头通道" prop="devChannel">
<el-input
v-model="queryParams.devChannel"
placeholder="请输入站点通道"
clearable
placeholder="请输入站点通道"
size="mini"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
type="primary"
@click="handleQuery"
>搜索</el-button
>
@ -45,26 +46,26 @@
>
</el-form-item>
</el-form>
<div class="main-content-card">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
v-hasPermi="['iot:video:add']"
icon="el-icon-plus"
size="mini"
type="primary"
@click="handleAdd"
v-hasPermi="['iot:video:add']"
>新增</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
v-hasPermi="['iot:video:remove']"
:disabled="multiple"
icon="el-icon-delete"
size="mini"
:disabled="multiple"
type="danger"
@click="handleDelete"
v-hasPermi="['iot:video:remove']"
>删除</el-button
>
</el-col>
@ -95,28 +96,28 @@
:data="infoList"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column align="center" type="selection" width="55" />
<el-table-column
label="摄像头名称"
align="left"
width="200"
label="摄像头名称"
prop="deviceName"
width="200"
/>
<el-table-column
label="站点名称"
align="left"
width="210"
label="站点名称"
prop="siteName"
width="210"
/>
<el-table-column label="站点通道" align="left" width="200" prop="devId" />
<el-table-column align="left" label="站点通道" prop="devId" width="200" />
<el-table-column
label="摄像头通道"
align="left"
width="200"
label="摄像头通道"
prop="devChannel"
width="200"
/>
<el-table-column label="摄像头地址" prop="videoAddress" align="left">
<el-table-column align="left" label="摄像头地址" prop="videoAddress">
<template slot-scope="scope">
<span class="lay-table-textarea">{{
scope.row.videoAddress || "--"
@ -155,34 +156,34 @@
</el-table-column> -->
<el-table-column
label="操作"
align="center"
width="230"
class-name="small-padding fixed-width"
label="操作"
width="230"
>
<template slot-scope="scope">
<el-button
v-hasPermi="['iot:video:edit']"
icon="el-icon-edit"
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['iot:video:edit']"
>修改</el-button
>
<el-button
v-hasPermi="['iot:video:edit']"
icon="el-icon-s-custom"
size="mini"
type="text"
icon="el-icon-s-custom"
@click="handleDistri(scope.row)"
v-hasPermi="['iot:video:edit']"
>修改标签</el-button
>
<el-button
v-hasPermi="['iot:video:remove']"
icon="el-icon-delete"
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['iot:video:remove']"
>删除</el-button
>
</template>
@ -191,32 +192,32 @@
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
:page.sync="queryParams.pageNum"
:total="total"
@pagination="getList"
/>
</div>
<!-- 添加或修改监控详情对话框 -->
<dialog-template
:title="title"
:visible="open"
@close="open = false"
width="750px"
@close="open = false"
>
<el-form ref="form" slot="dialog-center" :model="form" :rules="rules" label-width="100px">
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="摄像头名称" prop="videoName">
<e-dialog-table-input
:disabled="tempType === 'distri'"
:table="selectDevieTable"
:refurbishFun="unbindVideoDev"
showFileName="deviceName"
fileName="deviceKey,deviceName"
v-model="form.videoName"
title="摄像头设备"
:disabled="tempType === 'distri'"
:refurbishFun="unbindVideoDev"
:table="selectDevieTable"
fileName="deviceKey,deviceName"
psize="small"
showFileName="deviceName"
title="摄像头设备"
@change="handleDeviceDialogEvent"
/>
</el-form-item>
@ -225,21 +226,21 @@
<el-col :span="12">
<el-form-item label="站点名称" prop="siteName">
<e-dialog-table-input
:disabled="tempType === 'distri'"
:table="selectSiteTable"
:refurbishFun="listSite"
showFileName="siteName"
fileName="recordId,devId,siteLng,siteLat,siteAddress,siteName"
v-model="form.siteName"
title="站点"
:disabled="tempType === 'distri'"
:refurbishFun="listSite"
:table="selectSiteTable"
fileName="recordId,devId,siteLng,siteLat,siteAddress,siteName"
psize="small"
showFileName="siteName"
title="站点"
@change="handleSiteDialogEvent"
/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" v-if="tempType !== 'distri'">
<el-row v-if="tempType !== 'distri'" :gutter="20">
<el-col :span="12">
<el-form-item label="摄像头通道" prop="devChannel">
<el-input
@ -265,8 +266,8 @@
<el-col :span="12">
<el-form-item label="接入方式" prop="joinType">
<el-select
:disabled="tempType === 'distri'"
v-model="form.joinType"
:disabled="tempType === 'distri'"
placeholder="请选择接入方式"
style="width: 100%"
>
@ -311,7 +312,7 @@
</el-col>
</el-row>
<el-row :gutter="20" v-if="tempType !== 'distri'">
<el-row v-if="tempType !== 'distri'" :gutter="20">
<el-col :span="12">
<el-form-item label="摄像头纬度" prop="videoLat">
<el-input
@ -338,17 +339,17 @@
<el-form-item label="摄像头地址" prop="videoAddress">
<el-input
v-model="form.videoAddress"
@blur="mapAddressFromPoint"
:disabled="tempType === 'distri'"
placeholder="请输入站点地址"
@blur="mapAddressFromPoint"
>
<el-popover
slot="suffix"
v-model="visible"
placement="left-start"
title="地图选择坐标"
width="730"
trigger="manual"
v-model="visible"
width="730"
>
<i
slot="reference"
@ -371,11 +372,11 @@
<shop-location
v-if="visible === true"
style="height: 300px"
:mapCenter="mapCenter"
:draggable="true"
@mapEvent="mapEvent"
:mapCenter="mapCenter"
:zoom="zoom"
style="height: 300px"
@mapEvent="mapEvent"
/>
<div
@ -401,10 +402,10 @@
</el-row>
</el-form>
<div slot="dialog-footer" class="dialog-footer">
<el-button type="primary" size="mini" @click="submitForm"
<el-button size="mini" type="primary" @click="submitForm"
> </el-button
>
<el-button @click="cancel" size="mini"> </el-button>
<el-button size="mini" @click="cancel"> </el-button>
</div>
</dialog-template>
@ -415,16 +416,16 @@
width="400px"
@close="upload.open = false"
>
<el-upload slot="dialog-center"
ref="upload"
:limit="1"
accept=".xlsx, .xls"
:headers="upload.headers"
<el-upload ref="upload"
slot="dialog-center"
:action="upload.url + '?updateSupport=' + upload.updateSupport"
:auto-upload="false"
:disabled="upload.isUploading"
:headers="upload.headers"
:limit="1"
:on-progress="handleFileUploadProgress"
:on-success="handleFileSuccess"
:auto-upload="false"
accept=".xlsx, .xls"
drag
>
<i class="el-icon-upload"></i>
@ -432,18 +433,18 @@
将文件拖到此处
<em>点击上传</em>
</div>
<div class="el-upload__tip" slot="tip">
<div slot="tip" class="el-upload__tip">
<el-checkbox
v-model="upload.updateSupport"
/>
<el-link
type="info"
style="font-size: 12px; color: #1890ff"
type="info"
@click="importTemplate"
>下载模板</el-link
>
</div>
<div class="el-upload__tip" style="color: red" slot="tip">
<div slot="tip" class="el-upload__tip" style="color: red">
提示仅允许导入xlsxlsx格式文件
</div>
</el-upload>

View File

@ -4,7 +4,7 @@
style="background: #f4f4f4; height: calc(100vh - 85px); padding: 10px"
>
<el-row :gutter="20">
<el-col :span="5" style="overflow: hidden">
<el-col :span="5" style="overflow: hidden">
<div>
<span
style="
@ -20,46 +20,46 @@
>监控资源</span
>
<el-tree
ref="entityTreeRef"
:data="deptOptions"
:default-expanded-keys="expandedList"
:expand-on-click-node="true"
:filter-node-method="filterNode"
:props="defaultProps"
class="zzjg-video-tree"
node-key="treeId"
style="
height: 100%;
padding-top: 10px;
height: calc(100vh - 370px);
overflow: auto;
"
class="zzjg-video-tree"
:data="deptOptions"
:props="defaultProps"
node-key="treeId"
:default-expanded-keys="expandedList"
:expand-on-click-node="true"
@node-expand="handleNodeExpand"
@node-collapse="handleNodeCollapse"
:filter-node-method="filterNode"
ref="entityTreeRef"
>
<div
slot-scope="{ node, data }"
class="custom-tree-node"
style="display: flex; width: 100%; align-items: baseline"
slot-scope="{ node, data }"
>
<i class="el-icon-folder-opened" v-if="node.level !== 3"></i>
<i v-if="node.level !== 3" class="el-icon-folder-opened"></i>
<svg-icon
v-if="data.videoType === 'GUN_MACHINE'"
icon-class="A_qjsxt"
class="svg-icon"
icon-class="A_qjsxt"
style="position: relative; top: 3px"
/>
<svg-icon
v-else-if="data.videoType === 'BALL_MACHINE'"
icon-class="A_yjsxt"
class="svg-icon"
icon-class="A_yjsxt"
style="position: relative; top: 3px"
/>
<span
v-if="node.level === 3"
:style="computeIsPlaying(data) || data.playing ? 'background: #27e874;' : ''"
:title="data.playing ? '在线' : '离线'"
class="palying-span"
:style="computeIsPlaying(data) || data.playing ? 'background: #27e874;' : ''"
v-if="node.level === 3"
></span>
<span
style="font-size: 13px; margin-left: 5px; line-height: 18px"
@ -67,8 +67,8 @@
>{{ node.label }}</span
>
<el-button
type="text"
v-if="node.level === 3"
type="text"
@click="handlePaly(node, data)"
>
<i
@ -98,17 +98,17 @@
></cloud-control>
</div>
</el-col>
<el-col :span="19" id="videoView">
<el-col id="videoView" :span="19">
<div
v-loading="splitScreenLoading"
:class="
fullscreen
? 'third-party-right-view fullscreen'
: 'third-party-right-view'
"
v-loading="splitScreenLoading"
element-loading-text="拼命加载中"
element-loading-spinner="el-icon-loading"
element-loading-background="rgba(0, 0, 0, 0.8)"
element-loading-spinner="el-icon-loading"
element-loading-text="拼命加载中"
>
<!-- <split-screen
v-if="!splitScreenLoading && !isWebRTC"
@ -127,12 +127,12 @@
/>
</div>
<div
class="third-rarty-right-option"
:style="isWebRTC ? 'justify-content: right' : ''"
class="third-rarty-right-option"
>
<div
class="ptz-attribute"
v-show="!isWebRTC"
class="ptz-attribute"
style="
padding-left: 5px;
display: flex;
@ -157,26 +157,26 @@
title="一宫格"
></el-button> -->
<el-button
type="text"
:style="splitType === 4 ? 'color: #1890ff' : ''"
icon="el-icon-menu"
size="medium"
:style="splitType === 4 ? 'color: #1890ff' : ''"
@click="radioScreenChange(4)"
title="四宫格"
type="text"
@click="radioScreenChange(4)"
></el-button>
<el-button
:style="splitType === 9 ? 'color: #1890ff' : ''"
type="text"
icon="el-icon-s-grid"
size="medium"
@click="radioScreenChange(9)"
title="九宫格"
type="text"
@click="radioScreenChange(9)"
></el-button>
<el-button
type="text"
size="medium"
@click="radioScreenChange(16)"
title="十六宫格"
type="text"
@click="radioScreenChange(16)"
>
<img
:src="
@ -186,11 +186,11 @@
/>
</el-button>
<el-button
type="text"
icon="el-icon-full-screen"
@click="screen"
size="medium"
title="全屏"
type="text"
@click="screen"
></el-button>
</div>
</div>

View File

@ -1,36 +1,37 @@
<template>
<div class="app-container video-site">
<el-form
:model="queryParams"
ref="queryForm"
:inline="true"
:model="queryParams"
class="main-search-card"
label-width="68px"
>
<el-form-item label="站点名称" prop="siteName">
<el-input
v-model="queryParams.siteName"
placeholder="请输入站点名称"
clearable
placeholder="请输入站点名称"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery"
<el-button icon="el-icon-search" type="primary" @click="handleQuery"
>搜索</el-button
>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<div class="main-content-card">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
v-hasPermi="['iot:site:add']"
icon="el-icon-plus"
size="mini"
type="primary"
@click="handleAdd"
v-hasPermi="['iot:site:add']"
>新增</el-button
>
</el-col>
@ -42,26 +43,26 @@
@selection-change="handleSelectionChange"
>
<el-table-column
type="index"
label="序号"
align="center"
:index="indexFormatter"
align="center"
label="序号"
type="index"
width="80px"
></el-table-column>
<el-table-column
label="站点名称"
align="left"
width="200"
label="站点名称"
prop="siteName"
width="200"
/>
<el-table-column
label="项目名称"
align="left"
width="150"
label="项目名称"
prop="projectName"
width="150"
/>
<el-table-column label="站点地址" align="left" prop="siteAddress">
<el-table-column align="left" label="站点地址" prop="siteAddress">
<template slot-scope="scope">
<span :title="scope.row.siteAddress" class="lay-table-textarea">{{
scope.row.siteAddress || "--"
@ -69,21 +70,21 @@
</template>
</el-table-column>
<el-table-column
align="left"
label="接入协议"
align="left"
width="100"
prop="videoProtocol"
width="100"
/>
<el-table-column label="站点通道" align="left" width="200" prop="devId" />
<el-table-column align="left" label="站点通道" prop="devId" width="200" />
<el-table-column
label="设备编码"
align="left"
width="150"
label="设备编码"
prop="devCode"
width="150"
/>
<el-table-column
label="创建时间"
align="center"
label="创建时间"
prop="createTime"
width="160"
>
@ -94,26 +95,26 @@
</template>
</el-table-column>
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
label="操作"
width="200"
>
<template slot-scope="scope">
<el-button
v-hasPermi="['iot:site:edit']"
icon="el-icon-edit"
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['iot:site:edit']"
>修改</el-button
>
<el-button
v-hasPermi="['iot:site:remove']"
icon="el-icon-delete"
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['iot:site:remove']"
>删除</el-button
>
</template>
@ -122,12 +123,12 @@
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
:page.sync="queryParams.pageNum"
:total="total"
@pagination="getList"
/>
</div>
<!-- 添加或修改站点监控对话框 -->
<div class="eldialog-div">
<dialog-template
@ -137,17 +138,17 @@
@close="open = false"
>
<el-form ref="form" slot="dialog-center" :model="form" :rules="rules" label-width="110px">
<el-row :gutter="20" v-show="tempType !== 'distri'">
<el-row v-show="tempType !== 'distri'" :gutter="20">
<el-col :span="24">
<el-form-item label="所属项目" prop="projectName">
<e-dialog-table-input
:table="selectProjectTable"
:refurbishFun="listProject"
showFileName="projectName"
fileName="projectId,projectName,projectLat,projectLng,projectAddress"
v-model="form.projectName"
title="项目"
:refurbishFun="listProject"
:table="selectProjectTable"
fileName="projectId,projectName,projectLat,projectLng,projectAddress"
psize="small"
showFileName="projectName"
title="项目"
@change="handleDialogEvent"
/>
</el-form-item>
@ -156,8 +157,8 @@
<el-col :span="12">
<el-form-item label="站点名称" prop="siteName">
<el-input
:disabled="tempType === 'distri'"
v-model="form.siteName"
:disabled="tempType === 'distri'"
placeholder="请输入站点名称"
/>
</el-form-item>
@ -166,10 +167,10 @@
<el-col :span="12">
<el-form-item label="接入协议" prop="videoProtocol">
<el-select
:disabled="tempType === 'distri'"
v-model="form.videoProtocol"
placeholder="请输入接入协议"
:disabled="tempType === 'distri'"
clearable
placeholder="请输入接入协议"
style="width: 100%"
>
<el-option
@ -182,19 +183,19 @@
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" v-show="tempType !== 'distri'">
<el-row v-show="tempType !== 'distri'" :gutter="20">
<el-col :span="12">
<el-form-item label="启用https" prop="https">
<el-switch
size="mini"
v-model="form.https"
active-text="启用"
inactive-text="关闭"
:active-value="true"
:inactive-value="false"
active-color="#13ce66"
inactive-color="#dcdfe6"
active-text="启用"
class="e-switch-c"
inactive-color="#dcdfe6"
inactive-text="关闭"
size="mini"
>
</el-switch>
</el-form-item>
@ -202,8 +203,8 @@
<el-col :span="12">
<el-form-item label="服务类型" prop="serverType">
<el-select
:disabled="tempType === 'distri'"
v-model="form.serverType"
:disabled="tempType === 'distri'"
placeholder="请选择服务类型"
style="width: 100%"
>
@ -218,7 +219,7 @@
</el-col>
</el-row>
<el-row :gutter="20" v-show="tempType !== 'distri'">
<el-row v-show="tempType !== 'distri'" :gutter="20">
<el-col :span="12">
<el-form-item label="站点经度" prop="siteLng">
<el-input
@ -245,17 +246,17 @@
<el-form-item label="站点地址" prop="siteAddress">
<el-input
v-model="form.siteAddress"
@blur="mapAddressFromPoint"
:disabled="tempType === 'distri'"
placeholder="请输入站点地址"
@blur="mapAddressFromPoint"
>
<el-popover
slot="suffix"
v-model="visible"
placement="left-start"
title="地图选择坐标"
width="730"
trigger="manual"
v-model="visible"
width="730"
>
<i
slot="reference"
@ -278,11 +279,11 @@
<shop-location
v-if="visible === true"
style="height: 300px"
:mapCenter="mapCenter"
:draggable="true"
@mapEvent="mapEvent"
:mapCenter="mapCenter"
:zoom="zoom"
style="height: 300px"
@mapEvent="mapEvent"
/>
<div
@ -308,9 +309,9 @@
</el-row>
<el-form-item
v-show="tempType !== 'distri'"
label="站点通道"
prop="devId"
v-show="tempType !== 'distri'"
>
<el-input
v-model="form.devId"
@ -319,9 +320,9 @@
/>
</el-form-item>
<el-form-item
v-show="tempType !== 'distri'"
label="设备编码"
prop="devCode"
v-show="tempType !== 'distri'"
>
<el-input
v-model="form.devCode"
@ -338,8 +339,8 @@
</el-row>
<el-row
:gutter="20"
v-if="tempType !== 'distri' && form.serverType === 'QI_NIU'"
:gutter="20"
>
<!-- <template> -->
<el-col :span="12">
@ -379,8 +380,8 @@
<!-- </template> -->
</el-row>
<el-row
:gutter="20"
v-if="tempType !== 'distri' && form.serverType === 'M7S'"
:gutter="20"
>
<el-col :span="12">
<el-form-item label="版本" prop="m7sVersion">
@ -413,7 +414,7 @@
</el-row>
</el-form>
<div slot="dialog-footer" class="dialog-footer form-button-div">
<el-button type="primary" size="mini" @click="submitForm"
<el-button size="mini" type="primary" @click="submitForm"
> </el-button
>
<el-button size="mini" @click="cancel"> </el-button>

View File

@ -1,17 +1,18 @@
<template>
<div class="app-container power-examine">
<el-form
:model="queryParams"
v-show="showSearch"
ref="queryForm"
:inline="true"
v-show="showSearch"
:model="queryParams"
class="main-search-card"
label-width="68px"
>
<el-form-item label="设备名称" prop="deviceName">
<el-input
v-model="queryParams.deviceName"
placeholder="请输入设备名称"
clearable
placeholder="请输入设备名称"
size="small"
@keyup.enter.native="handleQuery"
/>
@ -20,8 +21,8 @@
<el-form-item label="故障类型" prop="faultType">
<el-select
v-model="queryParams.faultType"
placeholder="请选择故障类型"
clearable
placeholder="请选择故障类型"
size="small"
>
<el-option
@ -36,8 +37,8 @@
<el-form-item label="上报人" prop="reporterName">
<el-input
v-model="queryParams.reporterName"
placeholder="请输入上报人名称"
clearable
placeholder="请输入上报人名称"
size="small"
@keyup.enter.native="handleQuery"
/>
@ -46,8 +47,8 @@
<el-form-item label="处理人" prop="handlerName">
<el-input
v-model="queryParams.handlerName"
placeholder="请输入处理人名称"
clearable
placeholder="请输入处理人名称"
size="small"
@keyup.enter.native="handleQuery"
/>
@ -55,9 +56,9 @@
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
type="primary"
@click="handleQuery"
>搜索</el-button
>
@ -66,7 +67,7 @@
>
</el-form-item>
</el-form>
<div class="main-content-card">
<!-- <el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
@ -88,41 +89,41 @@
@sort-change="sortChange"
>
<el-table-column
type="index"
label="序号"
align="center"
:index="indexFormatter"
align="center"
label="序号"
type="index"
width="80px"
></el-table-column>
<!-- <el-table-column label="审核节点ID" align="center" prop="nodeId" /> -->
<el-table-column label="项目名称" align="left" prop="projectName" />
<el-table-column label="项目地址" align="left" prop="projectAddress" />
<el-table-column label="设备名称" align="left" prop="deviceName" />
<el-table-column align="left" label="项目名称" prop="projectName" />
<el-table-column align="left" label="项目地址" prop="projectAddress" />
<el-table-column align="left" label="设备名称" prop="deviceName" />
<el-table-column
sortable="custom"
label="故障类型"
align="center"
width="150"
prop="faultType"
:formatter="statusFormat"
align="center"
label="故障类型"
prop="faultType"
sortable="custom"
width="150"
/>
<el-table-column label="上报人" align="left" prop="reporterNickName" />
<el-table-column label="处理人" align="left" prop="handleNickName" />
<el-table-column label="工作内容" align="left" prop="maintenanceContext">
<el-table-column align="left" label="上报人" prop="reporterNickName" />
<el-table-column align="left" label="处理人" prop="handleNickName" />
<el-table-column align="left" label="工作内容" prop="maintenanceContext">
<template slot-scope="scope">
<span
class="lay-table-textarea"
:title="scope.row.maintenanceContext"
class="lay-table-textarea"
>
{{ scope.row.maintenanceContext }}
</span>
</template>
</el-table-column>
<el-table-column
label="处理时间"
align="center"
sortable="custom"
label="处理时间"
prop="handleTime"
sortable="custom"
width="120"
>
<template slot-scope="scope">
@ -136,23 +137,23 @@
</template>
</el-table-column>-->
<el-table-column
label="操作"
align="center"
width="200"
class-name="small-padding fixed-width"
label="操作"
width="200"
>
<template slot-scope="scope">
<el-button
icon="el-icon-edit"
size="mini"
type="text"
icon="el-icon-edit"
@click="handelDetailExamine(scope.row)"
>工单审核</el-button
>
<el-button
icon="el-icon-edit"
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
>通过</el-button
>
@ -168,20 +169,20 @@
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
:page.sync="queryParams.pageNum"
:total="total"
@pagination="getList"
/>
</div>
<!-- 添加或修改工单审核对话框 -->
<el-dialog
class="eldialog-wrap"
:close-on-click-modal="false"
:title="title"
:visible.sync="open"
width="450px"
append-to-body
:close-on-click-modal="false"
class="eldialog-wrap"
width="450px"
>
<el-form>
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
@ -194,10 +195,10 @@
<el-form-item label="审核意见:" prop="auditOpinion">
<el-input
v-model="form.auditOpinion"
type="textarea"
maxlength="150"
:rows="2"
maxlength="150"
placeholder="请输入审核意见"
type="textarea"
/>
</el-form-item>
</el-form>
@ -211,16 +212,16 @@
</el-dialog>
<el-dialog
:close-on-click-modal="false"
:visible.sync="openDetails"
class="eldialog-wrap details-w"
title="工单审核"
:visible.sync="openDetails"
width="700px"
:close-on-click-modal="false"
>
<power-details-wrap
:maintenanceId="workDetails.maintenanceId"
:maintenanceInfo="workDetails"
tempType="examine"
:maintenanceId="workDetails.maintenanceId"
></power-details-wrap>
<el-divider content-position="left">审核信息</el-divider>
<el-form>
@ -235,8 +236,8 @@
</el-radio-group>
</el-form-item>
<el-form-item
label="退回节点:"
v-if="form.auditResult === '不通过'"
label="退回节点:"
prop="maintenanceStatus"
>
<el-radio-group v-model="form.maintenanceStatus">
@ -247,9 +248,9 @@
<el-form-item label="审核意见:" prop="auditOpinion">
<el-input
v-model="form.auditOpinion"
type="textarea"
:rows="2"
placeholder="请输入审核意见"
type="textarea"
/>
</el-form-item>
</el-form>

View File

@ -5,6 +5,7 @@
ref="queryForm"
:inline="true"
:model="queryParams"
class="main-search-card"
label-width="68px"
>
<el-form-item label="设备名称" prop="deviceName">
@ -92,7 +93,7 @@
>
</el-form-item>
</el-form>
<div class="main-content-card">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
@ -255,7 +256,7 @@
:total="total"
@pagination="getList"
/>
</div>
<!-- 添加或修改工单信息对话框 -->
<el-dialog
:close-on-click-modal="false"

View File

@ -1,17 +1,18 @@
<template>
<div class="app-container power-maintenance-my">
<el-form
:model="queryParams"
v-show="showSearch"
ref="queryForm"
:inline="true"
v-show="showSearch"
:model="queryParams"
class="main-search-card"
label-width="68px"
>
<el-form-item label="设备名称" prop="deviceName">
<el-input
v-model="queryParams.deviceName"
placeholder="请输入设备名称"
clearable
placeholder="请输入设备名称"
size="small"
@keyup.enter.native="handleQuery"
/>
@ -19,8 +20,8 @@
<el-form-item label="故障类型" prop="faultType">
<el-select
v-model="queryParams.faultType"
placeholder="请选择故障类型"
clearable
placeholder="请选择故障类型"
size="small"
>
<el-option
@ -34,36 +35,36 @@
<el-form-item label="处理时间" prop="handleTime">
<el-date-picker
v-model="queryParams.handleTime"
clearable
placeholder="选择处理时间"
size="small"
style="width: 200px"
v-model="queryParams.handleTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择处理时间"
></el-date-picker>
</el-form-item>
<el-form-item label="工单状态" prop="maintenanceStatus">
<el-select
v-model="queryParams.maintenanceStatus"
placeholder="请选择工单状态"
clearable
placeholder="请选择工单状态"
size="small"
>
<el-option
:label="keys"
:value="val"
v-for="(keys, val) in workStateList"
:key="keys"
:label="keys"
:value="val"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
type="primary"
@click="handleQuery"
>搜索</el-button
>
@ -72,27 +73,27 @@
>
</el-form-item>
</el-form>
<div class="main-content-card">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['iot:maintenance:add']"
icon="el-icon-plus"
plain
size="mini"
type="primary"
@click="handleAdd"
>新增</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['iot:maintenance:export']"
icon="el-icon-download"
plain
size="mini"
type="warning"
@click="handleExport"
>导出</el-button
>
</el-col>
@ -109,36 +110,36 @@
@sort-change="sortChange"
>
<el-table-column
type="index"
label="序号"
align="center"
:index="indexFormatter"
align="center"
label="序号"
type="index"
width="80px"
></el-table-column>
<el-table-column label="设备名称" align="left" prop="deviceName" />
<el-table-column align="left" label="设备名称" prop="deviceName" />
<el-table-column
label="故障类型"
sortable="custom"
align="center"
width="150"
prop="faultType"
:formatter="statusFormat"
align="center"
label="故障类型"
prop="faultType"
sortable="custom"
width="150"
/>
<el-table-column label="上报人" align="left" prop="reporterNickName" />
<el-table-column label="处理人" align="left" prop="handleNickName" />
<el-table-column label="工作内容" align="left" prop="maintenanceContext">
<el-table-column align="left" label="上报人" prop="reporterNickName" />
<el-table-column align="left" label="处理人" prop="handleNickName" />
<el-table-column align="left" label="工作内容" prop="maintenanceContext">
<template slot-scope="scope">
<span
class="lay-table-textarea"
:title="scope.row.maintenanceContext"
class="lay-table-textarea"
>
{{ scope.row.maintenanceContext }}
</span>
</template>
</el-table-column>
<el-table-column
label="上报时间"
align="left"
label="上报时间"
prop="createTime"
sortable="custom"
width="120"
@ -149,8 +150,8 @@
</el-table-column>
<el-table-column
label="处理时间"
align="left"
label="处理时间"
prop="handleTime"
width="120"
>
@ -160,16 +161,16 @@
</el-table-column>
<el-table-column
label="工单状态"
align="center"
width="120"
label="工单状态"
prop="maintenanceStatus"
width="120"
>
<template slot-scope="scope">
<el-tag
v-if="scope.row.maintenanceStatus === '-1'"
type="info"
effect="plain"
type="info"
>
{{ workStateList[scope.row.maintenanceStatus] }}
</el-tag>
@ -182,24 +183,24 @@
<el-tag v-if="scope.row.maintenanceStatus === '3'">{{
workStateList[scope.row.maintenanceStatus]
}}</el-tag>
<el-tag type="warning" v-if="scope.row.maintenanceStatus === '2'">{{
<el-tag v-if="scope.row.maintenanceStatus === '2'" type="warning">{{
workStateList[scope.row.maintenanceStatus]
}}</el-tag>
<el-tag
type="danger"
v-if="
scope.row.maintenanceStatus === '1' ||
scope.row.maintenanceStatus === '4'
"
type="danger"
>{{ workStateList[scope.row.maintenanceStatus] }}</el-tag
>
</template>
</el-table-column>
<el-table-column
label="操作"
align="center"
width="150"
class-name="small-padding fixed-width"
label="操作"
width="150"
>
<template slot-scope="scope">
<!-- <el-button
@ -225,33 +226,33 @@
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
:page.sync="queryParams.pageNum"
:total="total"
@pagination="getList"
/>
</div>
<!-- 添加或修改工单信息对话框 -->
<el-dialog
class="eldialog-wrap"
:close-on-click-modal="false"
:title="title"
:visible.sync="open"
class="eldialog-wrap"
width="500px"
>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="设备名称" prop="deviceName">
<el-input
v-model="form.deviceName"
@focus="openTableSelectDialog"
placeholder="请输入设备名称"
@focus="openTableSelectDialog"
/>
</el-form-item>
<el-form-item label="故障类型" prop="faultType">
<el-select
v-model="form.faultType"
style="width: 100%"
placeholder="请选择故障类型"
style="width: 100%"
>
<el-option
v-for="dict in faultTypeOptions"
@ -285,8 +286,8 @@
/> -->
<el-select
v-model="form.handlerId"
style="width: 100%"
placeholder="请选择处理人"
style="width: 100%"
>
<el-option
v-for="item in gdUserList"
@ -300,9 +301,9 @@
<el-form-item label="工作内容" prop="maintenanceContext">
<el-input
v-model="form.maintenanceContext"
type="textarea"
maxlength="200"
placeholder="请输入内容"
type="textarea"
/>
</el-form-item>
</el-form>
@ -315,20 +316,20 @@
</el-dialog>
<el-dialog
title="选择"
:visible.sync="selectTableShow"
width="75%"
top="10vh"
class="select-table-dialog"
:close-on-click-modal="false"
:visible.sync="selectTableShow"
class="select-table-dialog"
title="选择"
top="10vh"
width="75%"
>
<select-table-wrap
v-if="selectTableShow"
:tableOption="tableSelectOption.tableOpt"
:otherOption="tableSelectOption.otherOption"
:queryOption="tableSelectOption.queryOpt"
:tableList="tableSelectOption.tableList"
:tableOption="tableSelectOption.tableOpt"
@parentGetList="childGetList($event)"
:otherOption="tableSelectOption.otherOption"
@returnEvent="returnEvent($event)"
/>
@ -349,19 +350,19 @@
</el-dialog>
<el-dialog
title="工单详情"
class="eldialog-wrap dialot-det"
top="5vh"
@close="dialogCloes()"
:visible.sync="openDestail"
class="eldialog-wrap dialot-det"
title="工单详情"
top="5vh"
width="800px"
@close="dialogCloes()"
>
<div class="dialot-details">
<details-wrap
tempType="myWork"
v-if="openDestail"
:maintenanceInfo="workDetails"
:maintenanceId="workDetails.maintenanceId"
:maintenanceInfo="workDetails"
tempType="myWork"
/>
</div>
</el-dialog>

View File

@ -1,46 +1,47 @@
<template>
<div class="app-container contract-wrap">
<el-form
:model="queryParams"
v-show="showSearch"
ref="queryForm"
:inline="true"
v-show="showSearch"
:model="queryParams"
class="main-search-card"
label-width="68px"
>
<el-form-item label="合同名称" prop="contractName">
<el-input
v-model="queryParams.contractName"
placeholder="请输入合同名称"
clearable
placeholder="请输入合同名称"
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="计价类型" prop="contractType">
<el-select v-model="queryParams.contractType" placeholder="请选择计价类型" clearable size="small">
<el-select v-model="queryParams.contractType" clearable placeholder="请选择计价类型" size="small">
<el-option
:label="keys"
v-for="(keys, vals) in contractTypeOption"
:key="keys"
:label="keys"
:value="vals"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-search" size="mini" type="primary" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<div class="main-content-card">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['iot:contract:add']"
icon="el-icon-plus"
plain
size="mini"
type="primary"
@click="handleAdd"
>新增</el-button>
</el-col>
<!-- <el-col :span="1.5">
@ -57,47 +58,47 @@
</el-row>
<el-table v-loading="loading" :data="contractList">
<el-table-column type="index" label="序号" align="center" :index="indexFormatter" width="80px"></el-table-column>
<el-table-column label="合同名称" align="left" prop="contractName" />
<el-table-column :index="indexFormatter" align="center" label="序号" type="index" width="80px"></el-table-column>
<el-table-column align="left" label="合同名称" prop="contractName" />
<el-table-column
label="计价类型"
align="left"
prop="contractType"
:formatter="contractTypeFormatter"
align="left"
label="计价类型"
prop="contractType"
/>
<el-table-column
label="状态"
align="center"
width="150px"
prop="status"
:formatter="statusFormatter"
align="center"
label="状态"
prop="status"
width="150px"
/>
<el-table-column
label="操作"
align="center"
width="200px"
class-name="small-padding fixed-width"
label="操作"
width="200px"
>
<template slot-scope="scope">
<el-button
icon="el-icon-edit"
size="mini"
type="text"
icon="el-icon-edit"
@click="handleDestail(scope.row)"
>详情</el-button>
<el-button
v-hasPermi="['iot:contract:edit']"
icon="el-icon-edit"
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['iot:contract:edit']"
>修改</el-button>
<el-button
v-hasPermi="['iot:contract:remove']"
icon="el-icon-delete"
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['iot:contract:remove']"
>删除</el-button>
</template>
</el-table-column>
@ -105,20 +106,20 @@
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
:page.sync="queryParams.pageNum"
:total="total"
@pagination="getList"
/>
</div>
<!-- 添加或修改电价合同对话框 -->
<el-dialog
class="eldialog-wrap"
:close-on-click-modal="false"
:title="title"
:visible.sync="open"
width="720px"
:close-on-click-modal="false"
append-to-body
class="eldialog-wrap"
width="720px"
>
<el-form ref="form" :disabled="tempType === 'destail'" :model="form" :rules="rules" label-width="100px">
<el-form-item label="合同名称:" prop="contractName">
@ -129,14 +130,14 @@
<el-form-item label="计价类型:" prop="contractType">
<el-select
v-model="form.contractType"
placeholder="请选择计价类型"
style="width: 100%;"
@change="contractTypeChange"
placeholder="请选择计价类型"
>
<el-option
:label="keys"
v-for="(keys, vals) in contractTypeOption"
:key="keys"
:label="keys"
:value="vals"
/>
</el-select>
@ -146,10 +147,10 @@
<el-form-item label="状态:">
<el-switch
v-model="form.status"
active-value="0"
inactive-value="1"
active-color="#13ce66"
active-value="0"
inactive-color="#ff4949"
inactive-value="1"
></el-switch>
</el-form-item>
</el-col>
@ -157,22 +158,22 @@
<el-form-item label="合同规则:" prop>
<el-button size="mini" type="primary" @click="handelAddRule">添加规则</el-button>
<div class="contract-gz-wrap" v-for="(item, index) in form.priceContractRuleList" :key="item.guid">
<div v-for="(item, index) in form.priceContractRuleList" :key="item.guid" class="contract-gz-wrap">
<time-picker-wrap
:priceList="item"
:contractType="form.contractType"
:tempIndex="item.guid"
:delshow="form.priceContractRuleList.length >= 2"
:nodeMaxTime="returnMinTime(index)"
:nodeMaxVal="returnMaxVal(index)"
@resultEvent="resultEvent"
:priceList="item"
:tempIndex="item.guid"
@delEvent="delEvent"
@resultEvent="resultEvent"
></time-picker-wrap>
</div>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button size="mini" type="primary" v-show="tempType !== 'destail'" @click="submitForm"> </el-button>
<el-button v-show="tempType !== 'destail'" size="mini" type="primary" @click="submitForm"> </el-button>
<el-button size="mini" @click="cancel"> </el-button>
</div>
</el-dialog>

View File

@ -8,6 +8,7 @@
@changeEvent="viewDeviceChange($event)"
@wsRealTImeMsg="wsRealTImeMsg($event)"
></device-select>
<div class="main-device-card">
<div :class="infoData.deviceType === 'GATEWAY_CONTROLLER' ? 'link-to-list is-widening': 'link-to-list'">
<el-button circle icon="el-icon-d-arrow-left" style="margin-left: 10px;" title="返回列表" @click="toTableClick"
>返回列表</el-button
@ -121,7 +122,7 @@
</el-tab-pane>
</el-tabs>
</div>
</div>
<div style="height: 0;">
<!-- 添加或修改建筑类型对话框 -->
<dialog-template

View File

@ -211,9 +211,8 @@
</div>
</div>
</div>
<div
v-if="infoData.deviceType === 'MINIATURE_BREAKER'"
v-if="infoData.deviceType === 'MINIATURE_BREAKER' || infoData.deviceType === 'MOLDED_BREAKER'"
class="group-list-info"
style="margin-top: 15px"
>
@ -228,12 +227,12 @@
</div>
<div
v-if="infoData.deviceType === 'MINIATURE_BREAKER'"
v-if="infoData.deviceType === 'MINIATURE_BREAKER' || infoData.deviceType === 'MOLDED_BREAKER'"
class="group-list-table"
style="border: 0"
>
<device-alarm-config
v-if="infoData.deviceType === 'MINIATURE_BREAKER'"
v-if="infoData.deviceType === 'MINIATURE_BREAKER' || infoData.deviceType === 'MOLDED_BREAKER'"
:deviceId="infoData.deviceId"
:deviceKey="infoData.deviceKey"
/>

View File

@ -5,6 +5,7 @@
ref="queryForm"
:inline="true"
:model="queryParams"
class="main-search-card"
label-width="68px"
>
<el-form-item label="属性值" prop="attributeValue">
@ -38,7 +39,7 @@
</el-form-item>
</el-form>
<div class="main-content-card">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
@ -115,7 +116,7 @@
:total="total"
@pagination="getList"
/>
</div>
<!-- 添加或修改企业属性对话框 -->
<el-dialog :close-on-click-modal="false" :title="title" :visible.sync="open" append-to-body class="eldialog-wrap" width="600px">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">

View File

@ -1,11 +1,11 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<el-form v-show="showSearch" ref="queryForm" :inline="true" :model="queryParams" class="main-search-card" label-width="68px">
<el-form-item label="参数名称" prop="configName">
<el-input
v-model="queryParams.configName"
placeholder="请输入参数名称"
clearable
placeholder="请输入参数名称"
size="small"
style="width: 240px"
@keyup.enter.native="handleQuery"
@ -14,15 +14,15 @@
<el-form-item label="参数键名" prop="configKey">
<el-input
v-model="queryParams.configKey"
placeholder="请输入参数键名"
clearable
placeholder="请输入参数键名"
size="small"
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="系统内置" prop="configType">
<el-select v-model="queryParams.configType" placeholder="系统内置" clearable size="small">
<el-select v-model="queryParams.configType" clearable placeholder="系统内置" size="small">
<el-option
v-for="dict in typeOptions"
:key="dict.dictValue"
@ -34,104 +34,104 @@
<el-form-item label="创建时间">
<el-date-picker
v-model="dateRange"
size="small"
style="width: 240px"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
range-separator="-"
size="small"
start-placeholder="开始日期"
style="width: 240px"
type="daterange"
value-format="yyyy-MM-dd"
></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-search" size="mini" type="primary" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<div class="main-content-card">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['system:config:add']"
icon="el-icon-plus"
plain
size="mini"
type="primary"
@click="handleAdd"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['system:config:edit']"
:disabled="single"
icon="el-icon-edit"
plain
size="mini"
type="success"
@click="handleUpdate"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['system:config:remove']"
:disabled="multiple"
icon="el-icon-delete"
plain
size="mini"
type="danger"
@click="handleDelete"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['system:config:export']"
icon="el-icon-download"
plain
size="mini"
type="warning"
@click="handleExport"
>导出</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-refresh"
size="mini"
@click="handleClearCache"
v-hasPermi="['system:config:remove']"
icon="el-icon-refresh"
plain
size="mini"
type="danger"
@click="handleClearCache"
>清理缓存</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="configList" >
<el-table-column type="index" label="序号" align="center" :index="indexFormatter" width="80px"></el-table-column>
<el-table-column label="参数名称" align="center" prop="configName" :show-overflow-tooltip="true" />
<el-table-column label="参数键名" align="center" prop="configKey" :show-overflow-tooltip="true" />
<el-table-column label="参数键值" align="center" prop="configValue" />
<el-table-column label="系统内置" align="center" prop="configType" :formatter="typeFormat" />
<el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<el-table-column :index="indexFormatter" align="center" label="序号" type="index" width="80px"></el-table-column>
<el-table-column :show-overflow-tooltip="true" align="center" label="参数名称" prop="configName" />
<el-table-column :show-overflow-tooltip="true" align="center" label="参数键名" prop="configKey" />
<el-table-column align="center" label="参数键值" prop="configValue" />
<el-table-column :formatter="typeFormat" align="center" label="系统内置" prop="configType" />
<el-table-column :show-overflow-tooltip="true" align="center" label="备注" prop="remark" />
<el-table-column align="center" label="创建时间" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column align="center" class-name="small-padding fixed-width" label="操作">
<template slot-scope="scope">
<el-button
v-hasPermi="['system:config:edit']"
icon="el-icon-edit"
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:config:edit']"
>修改</el-button>
<el-button
v-hasPermi="['system:config:remove']"
icon="el-icon-delete"
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:config:remove']"
>删除</el-button>
</template>
</el-table-column>
@ -139,14 +139,14 @@
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
:page.sync="queryParams.pageNum"
:total="total"
@pagination="getList"
/>
</div>
<!-- 添加或修改参数配置对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body :close-on-click-modal="false">
<el-dialog :close-on-click-modal="false" :title="title" :visible.sync="open" append-to-body width="500px">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="参数名称" prop="configName">
<el-input v-model="form.configName" placeholder="请输入参数名称" />
@ -167,7 +167,7 @@
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
<el-input v-model="form.remark" placeholder="请输入内容" type="textarea" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">

View File

@ -1,17 +1,17 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch">
<el-form v-show="showSearch" ref="queryForm" :inline="true" :model="queryParams" class="main-search-card">
<el-form-item label="部门名称" prop="deptName">
<el-input
v-model="queryParams.deptName"
placeholder="请输入部门名称"
clearable
placeholder="请输入部门名称"
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="部门状态" clearable size="small">
<el-select v-model="queryParams.status" clearable placeholder="部门状态" size="small">
<el-option
v-for="dict in statusOptions"
:key="dict.dictValue"
@ -21,20 +21,20 @@
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-search" size="mini" type="primary" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<div class="main-content-card">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['system:dept:add']"
icon="el-icon-plus"
plain
size="mini"
type="primary"
@click="handleAdd"
>新增</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
@ -43,56 +43,56 @@
<el-table
v-loading="loading"
:data="deptList"
row-key="deptId"
default-expand-all
:tree-props="{children: 'children', hasChildren: 'hasChildren'}"
default-expand-all
row-key="deptId"
>
<el-table-column prop="deptName" label="部门名称"></el-table-column>
<el-table-column prop="orderNum" label="排序" align="center"></el-table-column>
<el-table-column prop="status" label="状态" align="center" :formatter="statusFormat"></el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime">
<el-table-column label="部门名称" prop="deptName"></el-table-column>
<el-table-column align="center" label="排序" prop="orderNum"></el-table-column>
<el-table-column :formatter="statusFormat" align="center" label="状态" prop="status"></el-table-column>
<el-table-column align="center" label="创建时间" prop="createTime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" width="200" align="center" class-name="small-padding fixed-width">
<el-table-column align="center" class-name="small-padding fixed-width" label="操作" width="200">
<template slot-scope="scope">
<el-button
v-hasPermi="['system:dept:edit']"
icon="el-icon-edit"
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:dept:edit']"
>修改</el-button>
<el-button
v-hasPermi="['system:dept:add']"
icon="el-icon-plus"
size="mini"
type="text"
icon="el-icon-plus"
@click="handleAdd(scope.row)"
v-hasPermi="['system:dept:add']"
>新增</el-button>
<el-button
v-if="scope.row.parentId != 0"
v-hasPermi="['system:dept:remove']"
icon="el-icon-delete"
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:dept:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
</div>
<!-- 添加或修改部门对话框 -->
<el-dialog class="eldialog-wrap" :close-on-click-modal="false" :title="title" :visible.sync="open" width="600px">
<el-dialog :close-on-click-modal="false" :title="title" :visible.sync="open" class="eldialog-wrap" width="600px">
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-row>
<el-col :span="24" v-if="form.parentId !== 0">
<el-col v-if="form.parentId !== 0" :span="24">
<el-form-item label="上级部门:" prop="parentId">
<treeselect
v-model="form.parentId"
:options="deptOptions"
:normalizer="normalizer"
:options="deptOptions"
placeholder="选择上级部门"
/>
</el-form-item>
@ -104,22 +104,22 @@
</el-col>
<el-col :span="12">
<el-form-item label="显示排序:" prop="orderNum">
<el-input-number v-model="form.orderNum" controls-position="right" :min="0" />
<el-input-number v-model="form.orderNum" :min="0" controls-position="right" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="负责人:" prop="leader">
<el-input v-model="form.leader" placeholder="请输入负责人" maxlength="20" />
<el-input v-model="form.leader" maxlength="20" placeholder="请输入负责人" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="联系电话:" prop="phone">
<el-input v-model="form.phone" placeholder="请输入联系电话" maxlength="11" />
<el-input v-model="form.phone" maxlength="11" placeholder="请输入联系电话" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="邮箱:" prop="email">
<el-input v-model="form.email" placeholder="请输入邮箱" maxlength="50" />
<el-input v-model="form.email" maxlength="50" placeholder="请输入邮箱" />
</el-form-item>
</el-col>
<el-col :span="12">

View File

@ -1,17 +1,18 @@
<template>
<div class="app-container">
<el-form
:model="queryParams"
v-show="showSearch"
ref="queryForm"
:inline="true"
v-show="showSearch"
:model="queryParams"
class="main-search-card"
label-width="68px"
>
<el-form-item label="字典名称" prop="dictName">
<el-input
v-model="queryParams.dictName"
placeholder="请输入字典名称"
clearable
placeholder="请输入字典名称"
size="small"
style="width: 240px"
@keyup.enter.native="handleQuery"
@ -20,8 +21,8 @@
<el-form-item label="字典类型" prop="dictType">
<el-input
v-model="queryParams.dictType"
placeholder="请输入字典类型"
clearable
placeholder="请输入字典类型"
size="small"
style="width: 240px"
@keyup.enter.native="handleQuery"
@ -30,8 +31,8 @@
<el-form-item label="状态" prop="status">
<el-select
v-model="queryParams.status"
placeholder="字典状态"
clearable
placeholder="字典状态"
size="small"
style="width: 240px"
>
@ -46,30 +47,30 @@
<el-form-item label="创建时间">
<el-date-picker
v-model="dateRange"
size="small"
style="width: 240px"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
range-separator="-"
size="small"
start-placeholder="开始日期"
style="width: 240px"
type="daterange"
value-format="yyyy-MM-dd"
></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-search" size="mini" type="primary" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<div class="main-content-card">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['system:dict:add']"
icon="el-icon-plus"
plain
size="mini"
type="primary"
@click="handleAdd"
>新增</el-button>
</el-col>
<!-- <el-col :span="1.5">
@ -85,22 +86,22 @@
</el-col> -->
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['system:dict:export']"
icon="el-icon-download"
plain
size="mini"
type="warning"
@click="handleExport"
>导出</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-refresh"
size="mini"
@click="handleClearCache"
v-hasPermi="['system:dict:remove']"
icon="el-icon-refresh"
plain
size="mini"
type="danger"
@click="handleClearCache"
>清理缓存</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
@ -112,9 +113,9 @@
:default-sort="{prop: 'createTime', order: 'descending'}"
@sort-change="sortChange"
>
<el-table-column type="index" label="序号" align="center" :index="indexFormatter" width="80px"></el-table-column>
<el-table-column label="字典名称" align="left" prop="dictName" :show-overflow-tooltip="true" />
<el-table-column label="字典类型" align="left" width="180" :show-overflow-tooltip="true">
<el-table-column :index="indexFormatter" align="center" label="序号" type="index" width="80px"></el-table-column>
<el-table-column :show-overflow-tooltip="true" align="left" label="字典名称" prop="dictName" />
<el-table-column :show-overflow-tooltip="true" align="left" label="字典类型" width="180">
<template slot-scope="scope">
<router-link :to="'/dict/type/data/' + scope.row.dictId" class="link-type">
<span>{{ scope.row.dictType }}</span>
@ -122,33 +123,33 @@
</template>
</el-table-column>
<el-table-column
label="状态"
align="center"
width="120"
prop="status"
:formatter="statusFormat"
align="center"
label="状态"
prop="status"
width="120"
/>
<el-table-column label="备注" align="left" prop="remark" :show-overflow-tooltip="true" />
<el-table-column label="创建时间" align="center" sortable="custom" prop="createTime" width="160">
<el-table-column :show-overflow-tooltip="true" align="left" label="备注" prop="remark" />
<el-table-column align="center" label="创建时间" prop="createTime" sortable="custom" width="160">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="200" class-name="small-padding fixed-width">
<el-table-column align="center" class-name="small-padding fixed-width" label="操作" width="200">
<template slot-scope="scope">
<el-button
v-hasPermi="['system:dict:edit']"
icon="el-icon-edit"
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:dict:edit']"
>修改</el-button>
<el-button
v-hasPermi="['system:dict:remove']"
icon="el-icon-delete"
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:dict:remove']"
>删除</el-button>
</template>
</el-table-column>
@ -156,14 +157,14 @@
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
:page.sync="queryParams.pageNum"
:total="total"
@pagination="getList"
/>
</div>
<!-- 添加或修改参数配置对话框 -->
<el-dialog class="eldialog-wrap" :close-on-click-modal="false" :title="title" :visible.sync="open" width="500px">
<el-dialog :close-on-click-modal="false" :title="title" :visible.sync="open" class="eldialog-wrap" width="500px">
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-form-item label="字典名称:" prop="dictName">
<el-input v-model="form.dictName" placeholder="请输入字典名称" />
@ -181,7 +182,7 @@
</el-radio-group>
</el-form-item>
<el-form-item label="备注:" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容"></el-input>
<el-input v-model="form.remark" placeholder="请输入内容" type="textarea"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">

View File

@ -1,17 +1,17 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch">
<el-form v-show="showSearch" ref="queryForm" :inline="true" :model="queryParams" class="main-search-card">
<el-form-item label="菜单名称" prop="menuName">
<el-input
v-model="queryParams.menuName"
placeholder="请输入菜单名称"
clearable
placeholder="请输入菜单名称"
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="菜单状态" clearable size="small">
<el-select v-model="queryParams.status" clearable placeholder="菜单状态" size="small">
<el-option
v-for="dict in statusOptions"
:key="dict.dictValue"
@ -21,7 +21,7 @@
</el-select>
</el-form-item>
<el-form-item label="数据类型" prop="status">
<el-select v-model="queryParams.dataType" @change="handleQuery" placeholder="数据类型" clearable size="small">
<el-select v-model="queryParams.dataType" clearable placeholder="数据类型" size="small" @change="handleQuery">
<el-option
v-for="(keys, vals) in menuTypeOpt"
:key="keys"
@ -31,20 +31,20 @@
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-search" size="mini" type="primary" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<div class="main-content-card">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['system:menu:add']"
icon="el-icon-plus"
plain
size="mini"
type="primary"
@click="handleAdd"
>新增</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
@ -53,63 +53,63 @@
<el-table
v-loading="loading"
:data="menuList"
row-key="menuId"
:tree-props="{children: 'children', hasChildren: 'hasChildren'}"
row-key="menuId"
>
<el-table-column prop="menuName" label="菜单名称" :show-overflow-tooltip="true" width="160"></el-table-column>
<el-table-column prop="icon" label="图标" align="center" width="100">
<el-table-column :show-overflow-tooltip="true" label="菜单名称" prop="menuName" width="160"></el-table-column>
<el-table-column align="center" label="图标" prop="icon" width="100">
<template slot-scope="scope">
<svg-icon :icon-class="scope.row.icon" />
</template>
</el-table-column>
<el-table-column prop="orderNum" label="排序" width="60"></el-table-column>
<el-table-column prop="perms" label="权限标识" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="component" label="组件路径" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="status" label="状态" :formatter="statusFormat" width="80"></el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime">
<el-table-column label="排序" prop="orderNum" width="60"></el-table-column>
<el-table-column :show-overflow-tooltip="true" label="权限标识" prop="perms"></el-table-column>
<el-table-column :show-overflow-tooltip="true" label="组件路径" prop="component"></el-table-column>
<el-table-column :formatter="statusFormat" label="状态" prop="status" width="80"></el-table-column>
<el-table-column align="center" label="创建时间" prop="createTime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column align="center" class-name="small-padding fixed-width" label="操作">
<template slot-scope="scope">
<el-button
size="mini"
v-if="scope.row.tenantId === tenantId"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:menu:edit']"
icon="el-icon-edit"
size="mini"
type="text"
@click="handleUpdate(scope.row)"
>修改</el-button>
<el-button
v-hasPermi="['system:menu:add']"
icon="el-icon-plus"
size="mini"
type="text"
icon="el-icon-plus"
@click="handleAdd(scope.row)"
v-hasPermi="['system:menu:add']"
>新增</el-button>
<el-button
v-if="scope.row.tenantId === tenantId"
v-hasPermi="['system:menu:remove']"
icon="el-icon-delete"
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:menu:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
</div>
<!-- 添加或修改菜单对话框 -->
<el-dialog class="eldialog-wrap" :close-on-click-modal="false" :title="title" :visible.sync="open" width="600px">
<el-dialog :close-on-click-modal="false" :title="title" :visible.sync="open" class="eldialog-wrap" width="600px">
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-row>
<el-col :span="24">
<el-form-item label="上级菜单:">
<treeselect
v-model="form.parentId"
:options="menuOptions"
:normalizer="normalizer"
:options="menuOptions"
:show-count="true"
placeholder="选择上级菜单"
/>
@ -128,8 +128,8 @@
<el-form-item v-if="form.menuType != 'F'" label="菜单图标:">
<el-popover
placement="bottom-start"
width="460"
trigger="click"
width="460"
@show="$refs['iconSelect'].reset()"
>
<IconSelect ref="iconSelect" @selected="selected" />
@ -154,10 +154,10 @@
<el-col :span="12">
<el-form-item label="显示排序:" prop="orderNum">
<el-input-number
style="width: 170px;"
v-model="form.orderNum"
controls-position="right"
:min="0"
controls-position="right"
style="width: 170px;"
/>
</el-form-item>
</el-col>
@ -174,14 +174,14 @@
<el-input v-model="form.path" placeholder="请输入路由地址" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="form.menuType == 'C'">
<el-col v-if="form.menuType == 'C'" :span="12">
<el-form-item label="组件路径:" prop="component">
<el-input v-model="form.component" placeholder="请输入组件路径" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item v-if="form.menuType != 'M'" label="权限标识:">
<el-input v-model="form.perms" placeholder="请权限标识" maxlength="50" />
<el-input v-model="form.perms" maxlength="50" placeholder="请权限标识" />
</el-form-item>
</el-col>
@ -217,7 +217,7 @@
</el-form-item>
</el-col>
<el-col :span="24" v-if="tenantId === 0">
<el-col v-if="tenantId === 0" :span="24">
<el-form-item label="数据类型:">
<el-radio-group v-model="form.dataType">
<el-radio v-for="(lab, value) in menuTypeOpt" :key="value" :label="value">{{lab}}</el-radio>

View File

@ -1,23 +1,24 @@
<template>
<div class="app-container notice-wrap">
<el-form
:model="queryParams"
v-show="showSearch"
ref="queryForm"
:inline="true"
v-show="showSearch"
:model="queryParams"
class="main-search-card"
label-width="68px"
>
<el-form-item label="公告标题" prop="noticeTitle">
<el-input
v-model="queryParams.noticeTitle"
placeholder="请输入公告标题"
clearable
placeholder="请输入公告标题"
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="公告类型" prop="noticeType">
<el-select v-model="queryParams.noticeType" placeholder="公告类型" clearable size="small">
<el-select v-model="queryParams.noticeType" clearable placeholder="公告类型" size="small">
<el-option
v-for="dict in typeOptions"
:key="dict.dictValue"
@ -27,68 +28,68 @@
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-search" size="mini" type="primary" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<div class="main-content-card">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['system:notice:add']"
icon="el-icon-plus"
plain
size="mini"
type="primary"
@click="handleAdd"
>新增</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="noticeList">
<el-table-column type="index" label="序号" align="center" :index="indexFormatter" width="80px"></el-table-column>
<el-table-column label="公告标题" align="left" prop="noticeTitle" :show-overflow-tooltip="true" />
<el-table-column :index="indexFormatter" align="center" label="序号" type="index" width="80px"></el-table-column>
<el-table-column :show-overflow-tooltip="true" align="left" label="公告标题" prop="noticeTitle" />
<el-table-column
label="公告类型"
align="center"
prop="noticeType"
:formatter="typeFormat"
align="center"
label="公告类型"
prop="noticeType"
width="120"
/>
<el-table-column
label="状态"
align="center"
prop="status"
:formatter="statusFormat"
align="center"
label="状态"
prop="status"
width="120"
/>
<el-table-column label="创建时间" align="center" prop="createTime" width="160">
<el-table-column align="center" label="创建时间" prop="createTime" width="160">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="200" class-name="small-padding fixed-width">
<el-table-column align="center" class-name="small-padding fixed-width" label="操作" width="200">
<template slot-scope="scope">
<el-button
v-hasPermi="['system:notice:edit']"
icon="el-icon-edit"
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:notice:edit']"
>修改</el-button>
<el-button
icon="el-icon-search"
size="mini"
type="text"
icon="el-icon-search"
@click="handelDetails(scope.row)"
>详情</el-button>
<el-button
v-hasPermi="['system:notice:remove']"
icon="el-icon-delete"
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:notice:remove']"
>删除</el-button>
</template>
</el-table-column>
@ -96,18 +97,18 @@
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
:page.sync="queryParams.pageNum"
:total="total"
@pagination="getList"
/>
</div>
<!-- 添加或修改公告对话框 -->
<el-dialog
class="eldialog-wrap"
:close-on-click-modal="false"
:title="title"
:visible.sync="open"
class="eldialog-wrap"
width="780px"
>
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
@ -119,7 +120,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="公告类型:" prop="noticeType">
<el-select style="width: 100%;" v-model="form.noticeType" placeholder="请选择">
<el-select v-model="form.noticeType" placeholder="请选择" style="width: 100%;">
<el-option
v-for="dict in typeOptions"
:key="dict.dictValue"
@ -142,7 +143,7 @@
</el-col>
</el-row>
<el-form-item label="内容:">
<editor v-model="form.noticeContent" class="editor-wrap" :min-height="192" />
<editor v-model="form.noticeContent" :min-height="192" class="editor-wrap" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">

View File

@ -1,17 +1,18 @@
<template>
<div class="app-container system-oneself">
<el-form
:model="queryParams"
v-show="showSearch"
ref="queryForm"
:inline="true"
v-show="showSearch"
:model="queryParams"
class="main-search-card"
label-width="68px"
>
<el-form-item label="用户账号" prop="userName">
<el-input
v-model="queryParams.userName"
placeholder="请输入用户账号"
clearable
placeholder="请输入用户账号"
size="small"
@keyup.enter.native="handleQuery"
/>
@ -19,18 +20,18 @@
<el-form-item label="手机号码" prop="phonenumber">
<el-input
v-model="queryParams.phonenumber"
placeholder="请输入手机号码"
clearable
placeholder="请输入手机号码"
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-search" size="mini" type="primary" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<div class="main-content-card">
<el-row :gutter="10" class="mb8">
<!-- <el-col :span="1.5">
<el-button
@ -44,68 +45,68 @@
</el-col>-->
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['system:oneself:export']"
icon="el-icon-download"
plain
size="mini"
type="warning"
@click="handleExport"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="oneselfList">
<el-table-column type="index" label="序号" align="center" :index="indexFormatter" width="80px"></el-table-column>
<el-table-column label="账号" align="left" prop="userName" />
<el-table-column label="昵称" align="left" prop="nickName" />
<el-table-column label="邮箱" align="left" prop="email" />
<el-table-column label="手机号码" align="left" width="160" prop="phonenumber" />
<el-table-column label="性别" align="center" prop="sex" width="80" :formatter="sexFormatter" />
<el-table-column label="头像" align="center" width="100" prop="avatar">
<el-table-column :index="indexFormatter" align="center" label="序号" type="index" width="80px"></el-table-column>
<el-table-column align="left" label="账号" prop="userName" />
<el-table-column align="left" label="昵称" prop="nickName" />
<el-table-column align="left" label="邮箱" prop="email" />
<el-table-column align="left" label="手机号码" prop="phonenumber" width="160" />
<el-table-column :formatter="sexFormatter" align="center" label="性别" prop="sex" width="80" />
<el-table-column align="center" label="头像" prop="avatar" width="100">
<template slot-scope="scope">
<div class="demo-image__preview">
<el-image
style="width: 30px; height: 35px;"
:src="getIotFileUrl(scope.row.avatar)"
:preview-src-list="[getIotFileUrl(scope.row.avatar)]"
:src="getIotFileUrl(scope.row.avatar)"
style="width: 30px; height: 35px;"
></el-image>
</div>
</template>
</el-table-column>
<el-table-column label="帐号状态" align="center" width="120" prop="status">
<el-table-column align="center" label="帐号状态" prop="status" width="120">
<template slot-scope="scope">
<el-popconfirm
@confirm="statusUpdate(scope.row)"
@cancel="() => { scope.row.status === '0' ? scope.row.status = '1': scope.row.status = '0'}"
:title="scope.row.status === '0'? '确定启用此账号吗?':'确定停用此账号吗?'"
@cancel="() => { scope.row.status === '0' ? scope.row.status = '1': scope.row.status = '0'}"
@confirm="statusUpdate(scope.row)"
>
<el-switch
slot="reference"
v-model="scope.row.status"
active-color="#13ce66"
inactive-color="#ff4949"
active-value="0"
inactive-color="#ff4949"
inactive-value="1"
></el-switch>
</el-popconfirm>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="200" class-name="small-padding fixed-width">
<el-table-column align="center" class-name="small-padding fixed-width" label="操作" width="200">
<template slot-scope="scope">
<el-button
v-hasPermi="['system:oneself:edit']"
icon="el-icon-edit"
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:oneself:edit']"
>修改</el-button>
<el-button
v-hasPermi="['system:oneself:remove']"
icon="el-icon-delete"
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:oneself:remove']"
>删除</el-button>
</template>
</el-table-column>
@ -113,14 +114,14 @@
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
:page.sync="queryParams.pageNum"
:total="total"
@pagination="getList"
/>
</div>
<!-- 添加或修改个人用户信息对话框 -->
<el-dialog class="eldialog-wrap" :close-on-click-modal="false" :title="title" :visible.sync="open" width="500px">
<el-dialog :close-on-click-modal="false" :title="title" :visible.sync="open" class="eldialog-wrap" width="500px">
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-row :gutter="20">
<el-col :span="16">
@ -141,7 +142,7 @@
</el-form-item>-->
</el-col>
<el-col :span="8">
<el-form-item label class="table-avatar" style="margin-left: 0px;" prop="avatar">
<el-form-item class="table-avatar" label prop="avatar" style="margin-left: 0px;">
<upload-image
:fileType="fileType"
:imageUrl="form.avatar"
@ -167,7 +168,7 @@
<el-form-item label="性别:" prop="sex">
<el-radio-group v-model="form.sex">
<el-radio :label="vals" v-for="(keys, vals) in sexOption" :key="keys">{{keys}}</el-radio>
<el-radio v-for="(keys, vals) in sexOption" :key="keys" :label="vals">{{keys}}</el-radio>
</el-radio-group>
</el-form-item>
</el-form>

View File

@ -1,17 +1,18 @@
<template>
<div class="app-container">
<el-form
:model="queryParams"
v-show="showSearch"
ref="queryForm"
:inline="true"
v-show="showSearch"
:model="queryParams"
class="main-search-card"
label-width="68px"
>
<el-form-item label="岗位编码" prop="postCode">
<el-input
v-model="queryParams.postCode"
placeholder="请输入岗位编码"
clearable
placeholder="请输入岗位编码"
size="small"
@keyup.enter.native="handleQuery"
/>
@ -19,14 +20,14 @@
<el-form-item label="岗位名称" prop="postName">
<el-input
v-model="queryParams.postName"
placeholder="请输入岗位名称"
clearable
placeholder="请输入岗位名称"
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="岗位状态" clearable size="small">
<el-select v-model="queryParams.status" clearable placeholder="岗位状态" size="small">
<el-option
v-for="dict in statusOptions"
:key="dict.dictValue"
@ -36,20 +37,20 @@
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-search" size="mini" type="primary" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<div class="main-content-card">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['system:post:add']"
icon="el-icon-plus"
plain
size="mini"
type="primary"
@click="handleAdd"
>新增</el-button>
</el-col>
<!-- <el-col :span="1.5">
@ -65,12 +66,12 @@
</el-col> -->
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['system:post:export']"
icon="el-icon-download"
plain
size="mini"
type="warning"
@click="handleExport"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
@ -82,31 +83,31 @@
:default-sort="{prop: 'createTime', order: 'descending'}"
@sort-change="sortChange"
>
<el-table-column type="index" label="序号" align="center" :index="indexFormatter" width="80px"></el-table-column>
<el-table-column label="岗位编码" align="left" prop="postCode" />
<el-table-column label="岗位名称" align="left" prop="postName" />
<el-table-column label="岗位排序" align="center" prop="postSort" />
<el-table-column label="状态" align="center" prop="status" :formatter="statusFormat" />
<el-table-column label="创建时间" align="center" sortable="custom" prop="createTime" width="160">
<el-table-column :index="indexFormatter" align="center" label="序号" type="index" width="80px"></el-table-column>
<el-table-column align="left" label="岗位编码" prop="postCode" />
<el-table-column align="left" label="岗位名称" prop="postName" />
<el-table-column align="center" label="岗位排序" prop="postSort" />
<el-table-column :formatter="statusFormat" align="center" label="状态" prop="status" />
<el-table-column align="center" label="创建时间" prop="createTime" sortable="custom" width="160">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="200" class-name="small-padding fixed-width">
<el-table-column align="center" class-name="small-padding fixed-width" label="操作" width="200">
<template slot-scope="scope">
<el-button
v-hasPermi="['system:post:edit']"
icon="el-icon-edit"
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:post:edit']"
>修改</el-button>
<el-button
v-hasPermi="['system:post:remove']"
icon="el-icon-delete"
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:post:remove']"
>删除</el-button>
</template>
</el-table-column>
@ -114,14 +115,14 @@
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
:page.sync="queryParams.pageNum"
:total="total"
@pagination="getList"
/>
</div>
<!-- 添加或修改岗位对话框 -->
<el-dialog class="eldialog-wrap" :close-on-click-modal="false" :title="title" :visible.sync="open" width="500px">
<el-dialog :close-on-click-modal="false" :title="title" :visible.sync="open" class="eldialog-wrap" width="500px">
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-form-item label="岗位名称:" prop="postName">
<el-input v-model="form.postName" placeholder="请输入岗位名称" />
@ -131,10 +132,10 @@
</el-form-item>
<el-form-item label="岗位顺序:" prop="postSort">
<el-input-number
style="width: 100%;"
v-model="form.postSort"
controls-position="right"
:min="0"
controls-position="right"
style="width: 100%;"
/>
</el-form-item>
<el-form-item label="岗位状态:" prop="status">
@ -147,7 +148,7 @@
</el-radio-group>
</el-form-item>
<el-form-item label="备注:" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
<el-input v-model="form.remark" placeholder="请输入内容" type="textarea" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">

View File

@ -6,29 +6,30 @@
<!-- <div class="head-container">
搜索栏按钮
</div>-->
<div class="head-container">
<div class="head-container main-search-card" >
<el-tree
ref="tree"
:data="regionalismOptions"
node-key="id"
:default-expanded-keys="defalutExpanded"
:props="defaultProps"
:expand-on-click-node="false"
:filter-node-method="filterNode"
:props="defaultProps"
node-key="id"
@node-click="nodeClick"
ref="tree"
/>
</div>
</el-col>
<!--列表结构数据-->
<el-col :span="20" :xs="24">
<div class="main-content-card">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
class="filter-item"
type="primary"
size="mini"
@click="handleAdd"
v-hasPermi="['system:regionalism:add']"
class="filter-item"
size="mini"
type="primary"
@click="handleAdd"
>添加</el-button>
</el-col>
<!-- <el-col :span="1.5">
@ -98,51 +99,52 @@
<el-table
v-loading="loading"
:data="regionalismList"
row-key="regionalismId"
default-expand-all
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
default-expand-all
row-key="regionalismId"
>
<!--<el-table
v-loading="loading"
:data="regionalismList"
@selection-change="handleSelectionChange"
>-->
<el-table-column label="行政区划" align="left" prop="regionalismName" />
<el-table-column label="行政区划代码" align="left" prop="regionalismCode" />
<el-table-column label="驻地经度" align="left" prop="stationLng" />
<el-table-column label="驻地纬度" align="left" prop="stationLat" />
<el-table-column align="left" label="行政区划" prop="regionalismName" />
<el-table-column align="left" label="行政区划代码" prop="regionalismCode" />
<el-table-column align="left" label="驻地经度" prop="stationLng" />
<el-table-column align="left" label="驻地纬度" prop="stationLat" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column align="center" class-name="small-padding fixed-width" label="操作">
<template slot-scope="scope">
<el-button
v-hasPermi="['system:regionalism:edit']"
icon="el-icon-edit"
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:regionalism:edit']"
>修改</el-button>
<el-button
v-hasPermi="['system:regionalism:remove']"
icon="el-icon-delete"
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:regionalism:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
</div>
</el-col>
</el-row>
<!-- 添加或修改行政划分对话框 -->
<el-dialog :title="title" :visible.sync="open" width="600px" append-to-body :close-on-click-modal="false">
<el-dialog :close-on-click-modal="false" :title="title" :visible.sync="open" append-to-body width="600px">
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-row>
<el-form-item label="上级行政区划" prop="parentId">
<treeselect
v-model="form.parentId"
:options="regionalismOption"
:normalizer="normalizer"
:options="regionalismOption"
placeholder="请选择上级行政区划"
/>
</el-form-item>

View File

@ -1,11 +1,11 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" v-show="showSearch" :inline="true">
<el-form v-show="showSearch" ref="queryForm" :inline="true" :model="queryParams" class="main-search-card">
<el-form-item label="角色名称" prop="roleName">
<el-input
v-model="queryParams.roleName"
placeholder="请输入角色名称"
clearable
placeholder="请输入角色名称"
size="small"
style="width: 240px"
@keyup.enter.native="handleQuery"
@ -14,8 +14,8 @@
<el-form-item label="权限字符" prop="roleKey">
<el-input
v-model="queryParams.roleKey"
placeholder="请输入权限字符"
clearable
placeholder="请输入权限字符"
size="small"
style="width: 240px"
@keyup.enter.native="handleQuery"
@ -24,8 +24,8 @@
<el-form-item label="状态" prop="status">
<el-select
v-model="queryParams.status"
placeholder="角色状态"
clearable
placeholder="角色状态"
size="small"
style="width: 240px"
>
@ -40,30 +40,30 @@
<el-form-item label="创建时间">
<el-date-picker
v-model="dateRange"
size="small"
style="width: 240px"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
range-separator="-"
size="small"
start-placeholder="开始日期"
style="width: 240px"
type="daterange"
value-format="yyyy-MM-dd"
></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-search" size="mini" type="primary" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<div class="main-content-card">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['system:role:add']"
icon="el-icon-plus"
plain
size="mini"
type="primary"
@click="handleAdd"
>新增</el-button>
</el-col>
<!-- <el-col :span="1.5">
@ -79,12 +79,12 @@
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['system:role:export']"
icon="el-icon-download"
plain
size="mini"
type="warning"
@click="handleExport"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
@ -92,15 +92,15 @@
<el-table
v-loading="loading"
:data="roleList"
:default-sort="{prop: 'createTime', order: 'descending'}"
@sort-change="sortChange"
:data="roleList"
>
<el-table-column type="index" label="序号" align="center" :index="indexFormatter" width="80px"></el-table-column>
<el-table-column label="角色名称" prop="roleName" :show-overflow-tooltip="true" />
<el-table-column label="权限字符" prop="roleKey" :show-overflow-tooltip="true" />
<el-table-column label="显示顺序" prop="roleSort" align="center" width="150" />
<el-table-column label="状态" align="center" width="150">
<el-table-column :index="indexFormatter" align="center" label="序号" type="index" width="80px"></el-table-column>
<el-table-column :show-overflow-tooltip="true" label="角色名称" prop="roleName" />
<el-table-column :show-overflow-tooltip="true" label="权限字符" prop="roleKey" />
<el-table-column align="center" label="显示顺序" prop="roleSort" width="150" />
<el-table-column align="center" label="状态" width="150">
<template slot-scope="scope">
<el-switch
v-model="scope.row.status"
@ -110,33 +110,33 @@
></el-switch>
</template>
</el-table-column>
<el-table-column label="创建时间" sortable="custom" align="center" prop="createTime" width="160">
<el-table-column align="center" label="创建时间" prop="createTime" sortable="custom" width="160">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="200" class-name="small-padding fixed-width">
<el-table-column align="center" class-name="small-padding fixed-width" label="操作" width="200">
<template slot-scope="scope">
<el-button
v-hasPermi="['system:role:edit']"
icon="el-icon-edit"
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:role:edit']"
>修改</el-button>
<el-button
v-hasPermi="['system:role:edit']"
icon="el-icon-circle-check"
size="mini"
type="text"
icon="el-icon-circle-check"
@click="handleDataScope(scope.row)"
v-hasPermi="['system:role:edit']"
>数据权限</el-button>
<el-button
v-hasPermi="['system:role:remove']"
icon="el-icon-delete"
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:role:remove']"
>删除</el-button>
</template>
</el-table-column>
@ -144,20 +144,20 @@
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
:page.sync="queryParams.pageNum"
:total="total"
@pagination="getList"
/>
</div>
<!-- 添加或修改角色配置对话框 -->
<el-dialog
class="eldialog-wrap"
:close-on-click-modal="false"
:title="title"
:visible.sync="open"
width="500px"
append-to-body
:close-on-click-modal="false"
class="eldialog-wrap"
width="500px"
>
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-form-item label="角色名称:" prop="roleName">
@ -168,10 +168,10 @@
</el-form-item>
<el-form-item label="角色顺序:" prop="roleSort">
<el-input-number
style="width: 100%;"
v-model="form.roleSort"
controls-position="right"
:min="0"
controls-position="right"
style="width: 100%;"
/>
</el-form-item>
<el-form-item label="状态:">
@ -194,18 +194,18 @@
@change="handleCheckedTreeConnect($event, 'menu')"
>父子联动</el-checkbox>
<el-tree
class="tree-border"
:data="menuOptions"
show-checkbox
ref="menu"
node-key="id"
:check-strictly="!form.menuCheckStrictly"
empty-text="加载中,请稍后"
:data="menuOptions"
:props="defaultProps"
class="tree-border"
empty-text="加载中,请稍后"
node-key="id"
show-checkbox
></el-tree>
</el-form-item>
<el-form-item label="备注:">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容"></el-input>
<el-input v-model="form.remark" placeholder="请输入内容" type="textarea"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -216,12 +216,12 @@
<!-- 分配角色数据权限对话框 -->
<el-dialog
class="eldialog-wrap"
:close-on-click-modal="false"
:title="title"
:visible.sync="openDataScope"
width="500px"
append-to-body
:close-on-click-modal="false"
class="eldialog-wrap"
width="500px"
>
<el-form :model="form" label-width="100px">
<el-form-item label="角色名称:">
@ -240,7 +240,7 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item label="数据权限:" v-show="form.dataScope == 2">
<el-form-item v-show="form.dataScope == 2" label="数据权限:">
<el-checkbox v-model="deptExpand" @change="handleCheckedTreeExpand($event, 'dept')">展开/折叠</el-checkbox>
<el-checkbox
v-model="deptNodeAll"
@ -251,15 +251,15 @@
@change="handleCheckedTreeConnect($event, 'dept')"
>父子联动</el-checkbox>
<el-tree
class="tree-border"
:data="deptOptions"
show-checkbox
default-expand-all
ref="dept"
node-key="id"
:check-strictly="!form.deptCheckStrictly"
empty-text="加载中,请稍后"
:data="deptOptions"
:props="defaultProps"
class="tree-border"
default-expand-all
empty-text="加载中,请稍后"
node-key="id"
show-checkbox
></el-tree>
</el-form-item>
</el-form>

View File

@ -1,6 +1,6 @@
<template>
<div class="app-container">
<el-form ref="queryForm" :inline="true" :model="queryParams" label-width="68px">
<el-form ref="queryForm" :inline="true" :model="queryParams" class="main-search-card" label-width="68px">
<el-form-item label="企业名称" prop="tenantName">
<el-input
v-model="queryParams.tenantName"
@ -55,7 +55,7 @@
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<div class="main-content-card">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
@ -137,7 +137,7 @@
:total="total"
@pagination="getList"
/>
</div>
<!-- 添加或修改企业用户对话框 -->
<el-dialog
:close-on-click-modal="false"

View File

@ -1,11 +1,11 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px">
<el-form ref="queryForm" :inline="true" :model="queryParams" class="main-search-card" label-width="68px">
<el-form-item label="用户名称" prop="username">
<el-input
v-model="queryParams.username"
placeholder="请输入用户名称"
clearable
placeholder="请输入用户名称"
size="small"
@keyup.enter.native="handleQuery"
/>
@ -14,72 +14,72 @@
<el-form-item label="手机号码" prop="phoneNumber">
<el-input
v-model="queryParams.phoneNumber"
placeholder="请输入手机号码"
clearable
placeholder="请输入手机号码"
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="审核状态" prop="status">
<el-select v-model="queryParams.status" placeholder="审核状态" clearable size="small">
<el-option :label="keys" v-for="(keys, vals) in stateOption" :key="keys" :value="vals" />
<el-select v-model="queryParams.status" clearable placeholder="审核状态" size="small">
<el-option v-for="(keys, vals) in stateOption" :key="keys" :label="keys" :value="vals" />
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-search" size="mini" type="primary" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<div class="main-content-card">
<el-table v-loading="loading" :data="registeredList">
<el-table-column type="index" label="序号" align="center" :index="indexFormatter" width="80px"></el-table-column>
<el-table-column :index="indexFormatter" align="center" label="序号" type="index" width="80px"></el-table-column>
<el-table-column type="expand" width="50px">
<template slot-scope="props">
<expand-temp :sourceId="props.row.registeredId" @expandExent="expandExent" />
</template>
</el-table-column>
<el-table-column label="用户名称" align="left" prop="username" />
<el-table-column label="手机号码" align="center" prop="phoneNumber" />
<el-table-column label="注册邮箱" align="center" prop="email" />
<el-table-column label="头像" align="center" prop="avatar" width="50px">
<el-table-column align="left" label="用户名称" prop="username" />
<el-table-column align="center" label="手机号码" prop="phoneNumber" />
<el-table-column align="center" label="注册邮箱" prop="email" />
<el-table-column align="center" label="头像" prop="avatar" width="50px">
<template slot-scope="scope">
<div class="demo-image__preview">
<el-image
style="width: 30px; height: 25px;"
:src="getIotFileUrl(scope.row.avatar)"
:preview-src-list="[getIotFileUrl(scope.row.avatar)]"
:src="getIotFileUrl(scope.row.avatar)"
style="width: 30px; height: 25px;"
></el-image>
</div>
</template>
</el-table-column>
<el-table-column label="注册状态" align="center" prop="status">
<el-table-column align="center" label="注册状态" prop="status">
<template slot-scope="scope">
<span v-text="stateOption[scope.row.status]"></span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column align="center" class-name="small-padding fixed-width" label="操作">
<template slot-scope="scope">
<el-button
v-if="scope.row.status === '1'"
icon="el-icon-s-finance"
size="mini"
type="text"
icon="el-icon-s-finance"
v-if="scope.row.status === '1'"
@click="handleUuser(scope.row)"
>通过审核</el-button>
<el-button
v-hasPermi="['system:registered:edit']"
icon="el-icon-edit"
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:registered:edit']"
>修改</el-button>
<el-button
v-hasPermi="['system:registered:remove']"
icon="el-icon-delete"
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:registered:remove']"
>删除</el-button>
</template>
</el-table-column>
@ -87,14 +87,14 @@
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
:page.sync="queryParams.pageNum"
:total="total"
@pagination="getList"
/>
</div>
<!-- 添加或修改注册用户对话框 -->
<el-dialog :title="title" :visible.sync="open" width="650px" append-to-body :close-on-click-modal="false">
<el-dialog :close-on-click-modal="false" :title="title" :visible.sync="open" append-to-body width="650px">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row>
<el-col :span="17">
@ -109,7 +109,7 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item prop="avatar" class="table-avatar">
<el-form-item class="table-avatar" prop="avatar">
<upload-image
:fileType="fileType"
:imageUrl="form.avatar"

View File

@ -1,11 +1,11 @@
<template>
<div class="app-container uplog-wrap">
<el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px">
<el-form ref="queryForm" :inline="true" :model="queryParams" class="main-search-card" label-width="68px">
<el-form-item label="版本号" prop="version">
<el-input
v-model="queryParams.version"
placeholder="请输入版本号"
clearable
placeholder="请输入版本号"
size="small"
@keyup.enter.native="handleQuery"
/>
@ -13,35 +13,35 @@
<el-form-item label="标题" prop="title">
<el-input
v-model="queryParams.title"
placeholder="请输入标题"
clearable
placeholder="请输入标题"
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-search" size="mini" type="primary" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<div class="main-content-card">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
v-hasPermi="['system:uplog:add']"
icon="el-icon-plus"
size="mini"
type="primary"
@click="handleAdd"
v-hasPermi="['system:uplog:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
v-hasPermi="['system:uplog:export']"
icon="el-icon-download"
size="mini"
type="warning"
@click="handleExport"
v-hasPermi="['system:uplog:export']"
>导出</el-button>
</el-col>
</el-row>
@ -49,38 +49,38 @@
<el-table
v-loading="loading"
:data="uplogList"
@selection-change="handleSelectionChange"
:default-sort="{prop: 'uploadTime', order: 'descending'}"
@selection-change="handleSelectionChange"
@sort-change="sortChange"
>
<el-table-column type="index" label="序号" align="center" :index="indexFormatter" width="80px"></el-table-column>
<el-table-column label="版本号" sortable align="left" prop="version" width="200px" />
<el-table-column label="标题" sortable="custom" align="left" prop="title" />
<el-table-column label="升级内容" align="left" prop="content" >
<el-table-column :index="indexFormatter" align="center" label="序号" type="index" width="80px"></el-table-column>
<el-table-column align="left" label="版本号" prop="version" sortable width="200px" />
<el-table-column align="left" label="标题" prop="title" sortable="custom" />
<el-table-column align="left" label="升级内容" prop="content" >
<template slot-scope="scope">
<span style=" text-overflow: ellipsis; white-space: nowrap; overflow: hidden;" v-text="scope.row.content"></span>
</template>
</el-table-column>
<el-table-column sortable label="升级时间" align="center" prop="uploadTime" width="160">
<el-table-column align="center" label="升级时间" prop="uploadTime" sortable width="160">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.uploadTime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="160">
<el-table-column align="center" class-name="small-padding fixed-width" label="操作" width="160">
<template slot-scope="scope">
<el-button
v-hasPermi="['system:uplog:edit']"
icon="el-icon-edit"
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:uplog:edit']"
>修改</el-button>
<el-button
v-hasPermi="['system:uplog:remove']"
icon="el-icon-delete"
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:uplog:remove']"
>删除</el-button>
</template>
</el-table-column>
@ -88,14 +88,14 @@
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
:page.sync="queryParams.pageNum"
:total="total"
@pagination="getList"
/>
</div>
<!-- 添加或修改系统升级日志对话框 -->
<el-dialog class="eldialog-wrap" :close-on-click-modal="false" :title="title" :visible.sync="open" width="650px">
<el-dialog :close-on-click-modal="false" :title="title" :visible.sync="open" class="eldialog-wrap" width="650px">
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-form-item label="版本号:" prop="version">
<el-input v-model="form.version" placeholder="请输入版本号" />
@ -106,13 +106,13 @@
<el-form-item label="升级时间:" prop="uploadTime">
<el-date-picker
v-model="form.uploadTime"
clearable
placeholder="选择升级时间"
size="small"
style="width: 100%"
v-model="form.uploadTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择升级时间"
></el-date-picker>
</el-form-item>

View File

@ -1,26 +1,26 @@
<template>
<div class="app-container">
<el-row :gutter="20">
<el-row :gutter="40">
<!--部门数据-->
<el-col :span="4" :xs="24">
<el-col :span="4" :xs="24" class="main-search-card">
<div class="head-container">
<el-input
v-model="deptName"
placeholder="请输入部门名称"
clearable
size="small"
placeholder="请输入部门名称"
prefix-icon="el-icon-search"
size="small"
style="margin-bottom: 20px"
/>
</div>
<div class="head-container">
<el-tree
ref="tree"
v-model="queryParams.deptId"
:data="deptOptions"
:props="defaultProps"
:expand-on-click-node="false"
:filter-node-method="filterNode"
v-model="queryParams.deptId"
ref="tree"
:props="defaultProps"
default-expand-all
@node-click="handleNodeClick"
/>
@ -29,17 +29,18 @@
<!--用户数据-->
<el-col :span="20" :xs="24">
<el-form
:model="queryParams"
v-show="showSearch"
ref="queryForm"
:inline="true"
v-show="showSearch"
:model="queryParams"
class="main-search-card"
label-width="68px"
>
<el-form-item label="用户名称" prop="userName">
<el-input
v-model="queryParams.userName"
placeholder="请输入用户名称"
clearable
placeholder="请输入用户名称"
size="small"
style="width: 240px"
@keyup.enter.native="handleQuery"
@ -48,8 +49,8 @@
<el-form-item label="手机号码" prop="phonenumber">
<el-input
v-model="queryParams.phonenumber"
placeholder="请输入手机号码"
clearable
placeholder="请输入手机号码"
size="small"
style="width: 240px"
@keyup.enter.native="handleQuery"
@ -58,8 +59,8 @@
<el-form-item label="状态" prop="status">
<el-select
v-model="queryParams.status"
placeholder="用户状态"
clearable
placeholder="用户状态"
size="small"
style="width: 240px"
>
@ -74,20 +75,20 @@
<el-form-item label="创建时间">
<el-date-picker
v-model="dateRange"
size="small"
style="width: 240px"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
range-separator="-"
size="small"
start-placeholder="开始日期"
style="width: 240px"
type="daterange"
value-format="yyyy-MM-dd"
></el-date-picker>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
type="primary"
@click="handleQuery"
>搜索</el-button
>
@ -97,15 +98,16 @@
</el-form-item>
</el-form>
<div class="main-content-card">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['system:user:add']"
icon="el-icon-plus"
plain
size="mini"
type="primary"
@click="handleAdd"
>新增</el-button
>
</el-col>
@ -134,84 +136,84 @@
</el-col> -->
<el-col :span="1.5">
<el-button
type="info"
plain
icon="el-icon-upload2"
size="mini"
@click="handleImport"
v-hasPermi="['system:user:import']"
icon="el-icon-upload2"
plain
size="mini"
type="info"
@click="handleImport"
>导入</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['system:user:export']"
icon="el-icon-download"
plain
size="mini"
type="warning"
@click="handleExport"
>导出</el-button
>
</el-col>
<right-toolbar
:columns="columns"
:showSearch.sync="showSearch"
@queryTable="getList"
:columns="columns"
></right-toolbar>
</el-row>
<el-table
v-loading="loading"
:data="userList"
@selection-change="handleSelectionChange"
:default-sort="{ prop: 'createTime', order: 'descending' }"
@selection-change="handleSelectionChange"
@sort-change="sortChange"
>
<el-table-column
type="index"
label="序号"
align="center"
:index="indexFormatter"
align="center"
label="序号"
type="index"
width="80px"
></el-table-column>
<el-table-column
label="用户名称"
align="center"
key="userName"
prop="userName"
v-if="columns[1].visible"
key="userName"
:show-overflow-tooltip="true"
align="center"
label="用户名称"
prop="userName"
/>
<el-table-column
label="用户昵称"
align="center"
key="nickName"
prop="nickName"
v-if="columns[2].visible"
key="nickName"
:show-overflow-tooltip="true"
align="center"
label="用户昵称"
prop="nickName"
/>
<el-table-column
label="部门"
align="center"
key="deptName"
prop="dept.deptName"
v-if="columns[3].visible"
key="deptName"
:show-overflow-tooltip="true"
align="center"
label="部门"
prop="dept.deptName"
/>
<el-table-column
label="手机号码"
align="center"
key="phonenumber"
prop="phonenumber"
v-if="columns[4].visible"
key="phonenumber"
align="center"
label="手机号码"
prop="phonenumber"
width="120"
/>
<el-table-column
label="状态"
align="center"
key="status"
v-if="columns[5].visible"
key="status"
align="center"
label="状态"
>
<template slot-scope="scope">
<el-switch
@ -223,11 +225,11 @@
</template>
</el-table-column>
<el-table-column
label="创建时间"
v-if="columns[6].visible"
align="center"
label="创建时间"
prop="createTime"
sortable="custom"
v-if="columns[6].visible"
width="160"
>
<template slot-scope="scope">
@ -235,35 +237,35 @@
</template>
</el-table-column>
<el-table-column
label="操作"
align="center"
width="200"
class-name="small-padding fixed-width"
label="操作"
width="200"
>
<template slot-scope="scope">
<el-button
v-hasPermi="['system:user:edit']"
icon="el-icon-edit"
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:user:edit']"
>修改</el-button
>
<el-button
v-if="scope.row.userId !== 1"
v-hasPermi="['system:user:remove']"
icon="el-icon-delete"
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:user:remove']"
>删除</el-button
>
<el-button
v-hasPermi="['system:user:resetPwd']"
icon="el-icon-key"
size="mini"
type="text"
icon="el-icon-key"
@click="handleResetPwd(scope.row)"
v-hasPermi="['system:user:resetPwd']"
>重置密码</el-button
>
</template>
@ -272,20 +274,21 @@
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
:page.sync="queryParams.pageNum"
:total="total"
@pagination="getList"
/>
</div>
</el-col>
</el-row>
<!-- 添加或修改参数配置对话框 -->
<el-dialog
class="eldialog-wrap"
:close-on-click-modal="false"
:title="title"
:visible.sync="open"
class="eldialog-wrap"
width="750px"
>
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
@ -311,8 +314,8 @@
<el-form-item label="手机号码:" prop="phonenumber">
<el-input
v-model="form.phonenumber"
placeholder="请输入手机号码"
maxlength="11"
placeholder="请输入手机号码"
/>
</el-form-item>
</el-col>
@ -320,8 +323,8 @@
<el-form-item label="邮箱:" prop="email">
<el-input
v-model="form.email"
placeholder="请输入邮箱"
maxlength="50"
placeholder="请输入邮箱"
/>
</el-form-item>
</el-col>
@ -348,14 +351,14 @@
>
<el-input
v-model="form.passWord"
clearable
placeholder="请输入用户密码"
type="password"
autocomplete="new-password"
style="background-color: #ffffff !important"
readonly
onfocus="this.removeAttribute('readonly');"
clearable
onblur="this.setAttribute('readonly',true);"
onfocus="this.removeAttribute('readonly');"
placeholder="请输入用户密码"
readonly
style="background-color: #ffffff !important"
type="password"
/>
</el-form-item>
</el-col>
@ -363,7 +366,7 @@
<el-row>
<el-col :span="12">
<el-form-item label="用户性别:">
<el-select v-model="form.sex" style="width: 100%" placeholder="请选择">
<el-select v-model="form.sex" placeholder="请选择" style="width: 100%">
<el-option
v-for="dict in sexOptions"
:key="dict.dictValue"
@ -389,26 +392,26 @@
<el-row>
<el-col :span="12">
<el-form-item label="岗位:">
<el-select v-model="form.postIds" style="width: 100%" multiple placeholder="请选择">
<el-select v-model="form.postIds" multiple placeholder="请选择" style="width: 100%">
<el-option
v-for="item in postOptions"
:key="item.postId"
:disabled="item.status == 1"
:label="item.postName"
:value="item.postId"
:disabled="item.status == 1"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="角色:">
<el-select v-model="form.roleIds" style="width: 100%" multiple placeholder="请选择">
<el-select v-model="form.roleIds" multiple placeholder="请选择" style="width: 100%">
<el-option
v-for="item in roleOptions"
:key="item.roleId"
:disabled="item.status == 1"
:label="item.roleName"
:value="item.roleId"
:disabled="item.status == 1"
></el-option>
</el-select>
</el-form-item>
@ -419,10 +422,10 @@
<el-form-item label="备注:">
<el-input
v-model="form.remark"
maxlength="150"
type="textarea"
:autosize="{ minRows: 3, maxRows: 5 }"
maxlength="150"
placeholder="请输入内容"
type="textarea"
></el-input>
</el-form-item>
</el-col>
@ -438,22 +441,22 @@
<!-- 用户导入对话框 -->
<el-dialog
:close-on-click-modal="false"
:title="upload.title"
:visible.sync="upload.open"
width="400px"
append-to-body
:close-on-click-modal="false"
width="400px"
>
<el-upload
ref="upload"
:limit="1"
accept=".xlsx, .xls"
:headers="upload.headers"
:action="upload.url + '?updateSupport=' + upload.updateSupport"
:auto-upload="false"
:disabled="upload.isUploading"
:headers="upload.headers"
:limit="1"
:on-progress="handleFileUploadProgress"
:on-success="handleFileSuccess"
:auto-upload="false"
accept=".xlsx, .xls"
drag
>
<i class="el-icon-upload"></i>
@ -461,15 +464,15 @@
将文件拖到此处
<em>点击上传</em>
</div>
<div class="el-upload__tip" slot="tip">
<div slot="tip" class="el-upload__tip">
<el-checkbox
v-model="upload.updateSupport"
/>
<el-link type="info" style="font-size: 12px" @click="importTemplate"
<el-link style="font-size: 12px" type="info" @click="importTemplate"
>下载模板</el-link
>
</div>
<div class="el-upload__tip" style="color: red" slot="tip">
<div slot="tip" class="el-upload__tip" style="color: red">
提示仅允许导入xlsxlsx格式文件
</div>
</el-upload>

View File

@ -6,6 +6,7 @@
ref="queryForm"
:inline="true"
:model="queryParams"
class="main-search-card"
label-width="68px"
>
<el-form-item label="所属项目" prop="inProject">
@ -55,7 +56,7 @@
>
</el-form-item>
</el-form>
<div class="main-content-card">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
@ -241,6 +242,7 @@
</div>
</el-col>
</el-row>
<el-empty v-if="total === 0"></el-empty>
</div>
<pagination
@ -251,7 +253,7 @@
:total="total"
@pagination="getList"
/>
</div>
<el-dialog
:close-on-click-modal="false"
:title="title"

View File

@ -6,6 +6,7 @@
ref="queryForm"
:inline="true"
:model="queryParams"
class="main-search-card"
label-width="68px"
>
<el-form-item label="所属项目" prop="inProject">
@ -54,7 +55,7 @@
>
</el-form-item>
</el-form>
<div class="main-content-card">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
@ -240,6 +241,7 @@
</div>
</el-col>
</el-row>
<el-empty v-if="total === 0"></el-empty>
</div>
<pagination
@ -250,7 +252,7 @@
:total="total"
@pagination="getList"
/>
</div>
<el-dialog
:close-on-click-modal="false"
:title="title"

View File

@ -13,6 +13,7 @@
ref="queryForm"
:inline="true"
:model="queryParams"
class="main-search-card"
label-width="68px"
>
<el-form-item label="所属项目" prop="inProject">
@ -102,6 +103,7 @@
>
</el-form-item>
</el-form>
<div class="main-content-card">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
@ -317,6 +319,7 @@
</div>
</el-col>
</el-row>
<el-empty v-if="total === 0"></el-empty>
</div>
<pagination
@ -327,6 +330,7 @@
:total="total"
@pagination="getList"
/>
</div>
</div>
<div

View File

@ -8,6 +8,7 @@
ref="queryForm"
:inline="true"
:model="queryParams"
class="main-search-card"
label-width="68px"
>
<el-form-item label="项目名称" prop="projectName">
@ -34,19 +35,19 @@
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<div class="main-content-card">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
v-hasPermi="['iot:project:add']"
icon="el-icon-plus"
plain
size="mini"
type="primary"
@click="handleAdd"
>新增</el-button
>
</el-col>
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- v-hasPermi="['iot:project:add']"-->
<!-- icon="el-icon-plus"-->
<!-- plain-->
<!-- size="mini"-->
<!-- type="primary"-->
<!-- @click="handleAdd"-->
<!-- >新增</el-button-->
<!-- >-->
<!-- </el-col>-->
<right-toolbar
:showSearch.sync="showSearch"
:view-type="viewType"
@ -141,12 +142,13 @@
<el-button icon="el-icon-search" type="text" @click="handleDetails(item)">查看详情</el-button>
<el-divider direction="vertical"></el-divider>
<el-button v-hasPermi="['iot:project:edit']" icon="el-icon-edit" type="text" @click="handleUpdate(item)">修改</el-button>
<el-divider direction="vertical"></el-divider>
<el-button v-hasPermi="['iot:project:remove']" type="text"><el-divider direction="vertical"></el-divider></el-button>
<el-button v-hasPermi="['iot:project:remove']" icon="el-icon-delete" type="text" @click="handleDelete(item)">删除</el-button>
</div>
</div>
</el-col>
</el-row>
<el-empty v-if="total === 0"></el-empty>
</div>
<pagination
@ -157,7 +159,7 @@
:total="total"
@pagination="getList"
/>
</div>
</div>
<!-- <div class="to-home-wrap2" @click="toTableClick" v-show="componectVal !== ''">

View File

@ -1,6 +1,6 @@
<template>
<div class="container">
<div class="left-board">
<div class="left-board main-search-card" >
<div class="logo-wrapper">
<div class="logo">
<img :src="logo" alt="logo"> Form Generator
@ -12,12 +12,12 @@
<svg-icon icon-class="component" />输入型组件
</div>
<draggable
class="components-draggable"
:list="inputComponents"
:group="{ name: 'componentsGroup', pull: 'clone', put: false }"
:clone="cloneComponent"
draggable=".components-item"
:group="{ name: 'componentsGroup', pull: 'clone', put: false }"
:list="inputComponents"
:sort="false"
class="components-draggable"
draggable=".components-item"
@end="onEnd"
>
<div
@ -34,12 +34,12 @@
<svg-icon icon-class="component" />选择型组件
</div>
<draggable
class="components-draggable"
:list="selectComponents"
:group="{ name: 'componentsGroup', pull: 'clone', put: false }"
:clone="cloneComponent"
draggable=".components-item"
:group="{ name: 'componentsGroup', pull: 'clone', put: false }"
:list="selectComponents"
:sort="false"
class="components-draggable"
draggable=".components-item"
@end="onEnd"
>
<div
@ -58,9 +58,9 @@
<svg-icon icon-class="component" /> 布局型组件
</div>
<draggable
class="components-draggable" :list="layoutComponents"
:group="{ name: 'componentsGroup', pull: 'clone', put: false }" :clone="cloneComponent"
draggable=".components-item" :sort="false" @end="onEnd"
:clone="cloneComponent" :group="{ name: 'componentsGroup', pull: 'clone', put: false }"
:list="layoutComponents" :sort="false"
class="components-draggable" draggable=".components-item" @end="onEnd"
>
<div
v-for="(element, index) in layoutComponents" :key="index" class="components-item"
@ -76,7 +76,7 @@
</el-scrollbar>
</div>
<div class="center-board">
<div class="center-board main-search-card">
<div class="action-bar">
<el-button icon="el-icon-download" type="text" @click="download">
导出vue文件
@ -89,22 +89,22 @@
</el-button>
</div>
<el-scrollbar class="center-scrollbar">
<el-row class="center-board-row" :gutter="formConf.gutter">
<el-row :gutter="formConf.gutter" class="center-board-row">
<el-form
:size="formConf.size"
:label-position="formConf.labelPosition"
:disabled="formConf.disabled"
:label-position="formConf.labelPosition"
:label-width="formConf.labelWidth + 'px'"
:size="formConf.size"
>
<draggable class="drawing-board" :list="drawingList" :animation="340" group="componentsGroup">
<draggable :animation="340" :list="drawingList" class="drawing-board" group="componentsGroup">
<draggable-item
v-for="(element, index) in drawingList"
:key="element.renderKey"
:active-id="activeId"
:drawing-list="drawingList"
:element="element"
:index="index"
:active-id="activeId"
:form-conf="formConf"
:index="index"
@activeItem="activeFormItem"
@copyItem="drawingItemCopy"
@deleteItem="drawingItemDelete"
@ -122,13 +122,14 @@
:active-data="activeData"
:form-conf="formConf"
:show-field="!!drawingList.length"
class="main-search-card"
@tag-change="tagChange"
/>
<code-type-dialog
:show-file-name="showFileName"
:visible.sync="dialogVisible"
title="选择生成类型"
:show-file-name="showFileName"
@confirm="generate"
/>
<input id="copyNode" type="hidden">

View File

@ -1,11 +1,11 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<el-form v-show="showSearch" ref="queryForm" :inline="true" :model="queryParams" class="main-search-card" label-width="68px">
<el-form-item label="表名称" prop="tableName">
<el-input
v-model="queryParams.tableName"
placeholder="请输入表名称"
clearable
placeholder="请输入表名称"
size="small"
@keyup.enter.native="handleQuery"
/>
@ -13,8 +13,8 @@
<el-form-item label="表描述" prop="tableComment">
<el-input
v-model="queryParams.tableComment"
placeholder="请输入表描述"
clearable
placeholder="请输入表描述"
size="small"
@keyup.enter.native="handleQuery"
/>
@ -22,152 +22,153 @@
<el-form-item label="创建时间">
<el-date-picker
v-model="dateRange"
size="small"
style="width: 240px"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
range-separator="-"
size="small"
start-placeholder="开始日期"
style="width: 240px"
type="daterange"
value-format="yyyy-MM-dd"
></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-search" size="mini" type="primary" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<div class="main-content-card">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-download"
size="mini"
@click="handleGenTable"
v-hasPermi="['tool:gen:code']"
icon="el-icon-download"
plain
size="mini"
type="primary"
@click="handleGenTable"
>生成</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="info"
plain
icon="el-icon-upload"
size="mini"
@click="openImportTable"
v-hasPermi="['tool:gen:import']"
icon="el-icon-upload"
plain
size="mini"
type="info"
@click="openImportTable"
>导入</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleEditTable"
v-hasPermi="['tool:gen:edit']"
:disabled="single"
icon="el-icon-edit"
plain
size="mini"
type="success"
@click="handleEditTable"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['tool:gen:remove']"
:disabled="multiple"
icon="el-icon-delete"
plain
size="mini"
type="danger"
@click="handleDelete"
>删除</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="tableList" @selection-change="handleSelectionChange">
<el-table-column type="selection" align="center" width="55"></el-table-column>
<el-table-column label="序号" type="index" width="50" align="center">
<el-table-column align="center" type="selection" width="55"></el-table-column>
<el-table-column align="center" label="序号" type="index" width="50">
<template slot-scope="scope">
<span>{{(queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column
:show-overflow-tooltip="true"
align="center"
label="表名称"
align="center"
prop="tableName"
:show-overflow-tooltip="true"
width="120"
/>
<el-table-column
:show-overflow-tooltip="true"
align="center"
label="表描述"
align="center"
prop="tableComment"
:show-overflow-tooltip="true"
width="120"
/>
<el-table-column
label="实体"
align="center"
prop="className"
:show-overflow-tooltip="true"
align="center"
label="实体"
prop="className"
width="120"
/>
<el-table-column label="创建时间" align="center" prop="createTime" width="160" />
<el-table-column label="更新时间" align="center" prop="updateTime" width="160" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column align="center" label="创建时间" prop="createTime" width="160" />
<el-table-column align="center" label="更新时间" prop="updateTime" width="160" />
<el-table-column align="center" class-name="small-padding fixed-width" label="操作">
<template slot-scope="scope">
<el-button
type="text"
size="small"
icon="el-icon-view"
@click="handlePreview(scope.row)"
v-hasPermi="['tool:gen:preview']"
icon="el-icon-view"
size="small"
type="text"
@click="handlePreview(scope.row)"
>预览</el-button>
<el-button
type="text"
size="small"
icon="el-icon-edit"
@click="handleEditTable(scope.row)"
v-hasPermi="['tool:gen:edit']"
icon="el-icon-edit"
size="small"
type="text"
@click="handleEditTable(scope.row)"
>编辑</el-button>
<el-button
type="text"
size="small"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['tool:gen:remove']"
icon="el-icon-delete"
size="small"
type="text"
@click="handleDelete(scope.row)"
>删除</el-button>
<el-button
type="text"
size="small"
icon="el-icon-refresh"
@click="handleSynchDb(scope.row)"
v-hasPermi="['tool:gen:edit']"
icon="el-icon-refresh"
size="small"
type="text"
@click="handleSynchDb(scope.row)"
>同步</el-button>
<el-button
type="text"
size="small"
icon="el-icon-download"
@click="handleGenTable(scope.row)"
v-hasPermi="['tool:gen:code']"
icon="el-icon-download"
size="small"
type="text"
@click="handleGenTable(scope.row)"
>生成代码</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
:page.sync="queryParams.pageNum"
:total="total"
@pagination="getList"
/>
</div>
<!-- 预览界面 -->
<el-dialog :title="preview.title" :visible.sync="preview.open" width="80%" top="5vh" append-to-body>
<el-dialog :title="preview.title" :visible.sync="preview.open" append-to-body top="5vh" width="80%">
<el-tabs v-model="preview.activeName">
<el-tab-pane
v-for="(value, key) in preview.data"
:key="key"
:label="key.substring(key.lastIndexOf('/')+1,key.indexOf('.vm'))"
:name="key.substring(key.lastIndexOf('/')+1,key.indexOf('.vm'))"
:key="key"
>
<pre><code class="hljs" v-html="highlightedCode(value, key)"></code></pre>
</el-tab-pane>

15653
yarn.lock

File diff suppressed because it is too large Load Diff