基础管理页面初始化完成

This commit is contained in:
zhulongchuan 2025-09-16 19:37:49 +08:00
parent 40dea1d487
commit 28f61222d4
5 changed files with 714 additions and 671 deletions

View File

@ -3,7 +3,7 @@ import request from '@/utils/request'
export function listData(query) {
return request({
url: '/uav/equ/info/list',
url: '/equ/info/list',
method: 'get',
params: query
})
@ -12,7 +12,7 @@ export function listData(query) {
// 详细
export function getData(equId) {
return request({
url: '/uav/equ/info/' + equId,
url: '/equ/info/' + equId,
method: 'get'
})
}
@ -22,7 +22,7 @@ export function getData(equId) {
// 新增数据
export function addData(data) {
return request({
url: '/uav/equ/info',
url: '/equ/info',
method: 'post',
data: data
})
@ -31,7 +31,7 @@ export function addData(data) {
// 修改数据
export function updateData(data) {
return request({
url: '/uav/equ/info',
url: '/equ/info',
method: 'put',
data: data
})
@ -40,7 +40,7 @@ export function updateData(data) {
// 删除
export function delData(equId) {
return request({
url: '/uav/equ/info/' + equId,
url: '/equ/info/' + equId,
method: 'delete'
})
}
@ -49,7 +49,7 @@ export function delData(equId) {
// 导出数据
export function exportData(query) {
return request({
url: '/uav/equ/info/export',
url: '/equ/info/export',
method: 'get',
params: query
})
@ -58,7 +58,7 @@ export function exportData(query) {
// 【用户】获取部门列表
export function GET_deptTree_for_equ (data) {
return request({
url: '/uav/equ/info/getTjTree',
url: '/equ/info/getTjTree',
method: 'get'
})
}
@ -67,7 +67,7 @@ export function GET_deptTree_for_equ (data) {
// 详细
export function getEquModel(typeId) {
return request({
url: '/uav/equ/info/getEquModel/' + typeId,
url: '/equ/info/getEquModel/' + typeId,
method: 'get'
})
}
@ -76,7 +76,7 @@ export function getEquModel(typeId) {
// 查询设备型号列表
export function listEquInfoList(query) {
return request({
url: '/uav/equ/info/list',
url: '/equ/info/list',
method: 'get',
params: query
})
@ -85,7 +85,7 @@ export function listEquInfoList(query) {
// 获取警员缓存
export function getTaskPoliceInfoTask() {
return request({
url: '/uav/cacheApi/getTaskPoliceInfoTask',
url: '/cacheApi/getTaskPoliceInfoTask',
method: 'post'
})
}

View File

@ -16,20 +16,12 @@
<!--用户数据-->
<pane size="84">
<el-col>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="用户名称" prop="userName">
<el-input v-model="queryParams.userName" placeholder="请输入用户名称" clearable style="width: 240px" @keyup.enter.native="handleQuery" />
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
<el-form-item label="设备编号" prop="equCode">
<el-input v-model="queryParams.equCode" placeholder="请输入设备编号" clearable style="width: 240px" @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="手机号码" prop="phonenumber">
<el-input v-model="queryParams.phonenumber" placeholder="请输入手机号码" clearable style="width: 240px" @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="用户状态" clearable style="width: 240px">
<el-option v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="创建时间">
<el-date-picker v-model="dateRange" style="width: 240px" value-format="yyyy-MM-dd" type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
<el-form-item label="设备序列号" prop="equSn">
<el-input v-model="queryParams.equSn" placeholder="请输入设备序列号" clearable style="width: 240px" @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
@ -41,12 +33,12 @@
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['system:user:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<!-- <el-col :span="1.5">
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate" v-hasPermi="['system:user:edit']">修改</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:user:remove']">删除</el-button>
</el-col>
</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']">导入</el-button>
</el-col>
@ -57,33 +49,57 @@
</el-row>
<el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="50" align="center" />
<el-table-column label="用户编号" align="center" key="userId" prop="userId" v-if="columns.userId.visible" />
<el-table-column label="用户名称" align="center" key="userName" prop="userName" v-if="columns.userName.visible" :show-overflow-tooltip="true" />
<el-table-column label="用户昵称" align="center" key="nickName" prop="nickName" v-if="columns.nickName.visible" :show-overflow-tooltip="true" />
<el-table-column label="部门" align="center" key="deptName" prop="dept.deptName" v-if="columns.deptName.visible" :show-overflow-tooltip="true" />
<el-table-column label="手机号码" align="center" key="phonenumber" prop="phonenumber" v-if="columns.phonenumber.visible" width="120" />
<el-table-column label="状态" align="center" key="status" v-if="columns.status.visible">
<template slot-scope="scope">
<el-switch v-model="scope.row.status" active-value="0" inactive-value="1" @change="handleStatusChange(scope.row)"></el-switch>
<!-- <el-table-column label="设备编号" align="center" key="equId" prop="equId" /> -->
<el-table-column label="设备编号" align="center" key="equCode" prop="equCode" />
<el-table-column label="部门" align="center" key="deptName" prop="deptName" />
<el-table-column label="品牌型号" align="center" key="modelId" prop="modelId" />
<el-table-column label="设备分类" align="center" key="classify" prop="classify" >
<template #default="scope">
<dict-tag :options="dict.type.dev_equ_classify" :value="scope.row.classify" />
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" v-if="columns.createTime.visible" width="160">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
<el-table-column label="设备序列号" align="center" key="equSn" prop="equSn" />
<el-table-column label="任务荷载" align="center" key="equLoad" prop="equLoad"/>
<el-table-column label="设备状态" align="center" key="equSts" prop="equSts" >
<template #default="scope">
<dict-tag :options="dict.type.dev_health_status" :value="scope.row.equSts" />
</template>
</el-table-column>
<el-table-column label="归属权是否属于本单位" align="center" key="attribution" prop="attribution" >
<template #default="scope">
<dict-tag :options="dict.type.equ_attribution_sts" :value="scope.row.attribution" />
</template>
</el-table-column>
<el-table-column label="保险状态" align="center" key="insuranceSts" prop="insuranceSts" />
<el-table-column label="保险期限" align="center" key="mtnDate" prop="mtnDate"/>
<el-table-column label="备注" align="center" key="remark" prop="remark" />
<!-- <el-table-column prop="equCode" label="设备编号" header-align="center" align="center">
<template #default="{ row }">
<span @click="downloadText(row.equCode)"
style="cursor: pointer; color: blue;">{{ row.equCode }}</span>
</template>
</el-table-column>
<el-table-column label="二维码" align="center" width="150">
<template #default="{ row }">
<div class="qrcode-container" @click="downloadQRCode(row)"
@dblclick="zoomQRCode(row)">
<img :src="row.qrCode" alt="QR Code" class="qrcode-image" />
</div>
</template>
</el-table-column> -->
<el-table-column label="操作" align="center" width="160" class-name="small-padding fixed-width">
<template slot-scope="scope" v-if="scope.row.userId !== 1">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['system:user:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['system:user:remove']">删除</el-button>
<el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:user:resetPwd', 'system:user:edit']">
<!-- <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:user:resetPwd', 'system:user:edit']">
<el-button size="mini" type="text" icon="el-icon-d-arrow-right">更多</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="handleResetPwd" icon="el-icon-key" v-hasPermi="['system:user:resetPwd']">重置密码</el-dropdown-item>
<el-dropdown-item command="handleAuthRole" icon="el-icon-circle-check" v-hasPermi="['system:user:edit']">分配角色</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</el-dropdown> -->
</template>
</el-table-column>
</el-table>
@ -99,8 +115,38 @@
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row>
<el-col :span="12">
<el-form-item label="用户昵称" prop="nickName">
<el-input v-model="form.nickName" placeholder="请输入用户昵称" maxlength="30" />
<el-form-item label="品牌型号">
<el-select v-model="form.modelId" placeholder="请选择品牌型号">
<el-option v-for="dict in dict.type.equ_model_info" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="设备状态">
<el-select v-model="form.equSts" placeholder="请选择设备状态">
<el-option v-for="dict in dict.type.dev_health_status" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="设备分类">
<el-select v-model="form.classify" placeholder="请选择设备分类">
<el-option v-for="dict in dict.type.dev_equ_classify" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="序列号" prop="equSn">
<el-input v-model="form.equSn" placeholder="请输入设备序列号" maxlength="30" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="任务荷载" prop="equLoad">
<el-input v-model="form.equLoad" placeholder="请输入设备序列号" maxlength="30" />
</el-form-item>
</el-col>
<el-col :span="12">
@ -109,59 +155,22 @@
</el-form-item>
</el-col>
</el-row>
<el-form-item label="是否归属本单位">
<el-select v-model="form.attribution" placeholder="请选择归属权">
<el-option v-for="dict in dict.type.equ_attribution_sts" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
</el-select>
</el-form-item>
<el-row>
<el-col :span="12">
<el-form-item label="手机号码" prop="phonenumber">
<el-input v-model="form.phonenumber" placeholder="请输入手机号码" maxlength="11" />
</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-form-item label="采购日期" prop="purDate">
<el-date-picker clearable v-model="form.purDate" type="date" value-format="yyyy-MM-dd" placeholder="采购日期"></el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item v-if="form.userId == undefined" label="用户名称" prop="userName">
<el-input v-model="form.userName" placeholder="请输入用户名称" maxlength="30" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item v-if="form.userId == undefined" label="用户密码" prop="password">
<el-input v-model="form.password" placeholder="请输入用户密码" type="password" maxlength="20" show-password />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="用户性别">
<el-select v-model="form.sex" placeholder="请选择性别">
<el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="状态">
<el-radio-group v-model="form.status">
<el-radio v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.value">{{ dict.label }}</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="岗位">
<el-select v-model="form.postIds" multiple placeholder="请选择岗位">
<el-option v-for="item in postOptions" :key="item.postId" :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" multiple placeholder="请选择角色">
<el-option v-for="item in roleOptions" :key="item.roleId" :label="item.roleName" :value="item.roleId" :disabled="item.status == 1"></el-option>
</el-select>
<el-form-item label="保险期限" prop="mtnDate">
<el-date-picker clearable v-model="form.mtnDate" type="date" value-format="yyyy-MM-dd" placeholder="保险期限"></el-date-picker>
</el-form-item>
</el-col>
</el-row>
@ -202,6 +211,7 @@
<script>
import { listUser, getUser, delUser, addUser, updateUser, resetUserPwd, changeUserStatus, deptTreeSelect } from "@/api/system/user"
import { listData, getData, delData, addData, updateData } from "@/api/system/equInfoapi"
import { getToken } from "@/utils/auth"
import Treeselect from "@riophae/vue-treeselect"
import "@riophae/vue-treeselect/dist/vue-treeselect.css"
@ -210,7 +220,7 @@ import "splitpanes/dist/splitpanes.css"
export default {
name: "User",
dicts: ['sys_normal_disable', 'sys_user_sex'],
dicts: ['sys_normal_disable', 'sys_user_sex','dev_equ_classify','dev_health_status', 'equ_attribution_sts','equ_model_info'],
components: { Treeselect, Splitpanes, Pane },
data() {
return {
@ -265,16 +275,14 @@ export default {
//
headers: { Authorization: "Bearer " + getToken() },
//
url: process.env.VUE_APP_BASE_API + "/system/user/importData"
url: process.env.VUE_APP_BASE_API + "/equ/info/importData"
},
//
queryParams: {
pageNum: 1,
pageSize: 10,
userName: undefined,
phonenumber: undefined,
status: undefined,
deptId: undefined
equCode: '',
equSn: '',
},
//
columns: {
@ -288,32 +296,41 @@ export default {
},
//
rules: {
userName: [
{ required: true, message: "用户名称不能为空", trigger: "blur" },
{ min: 2, max: 20, message: '用户名称长度必须介于 2 和 20 之间', trigger: 'blur' }
// userName: [
// { required: true, message: "", trigger: "blur" },
// { min: 2, max: 20, message: ' 2 20 ', trigger: 'blur' }
// ],
modelId: [
{ required: true, message: "品牌型号不能为空", trigger: "blur" }
],
nickName: [
{ required: true, message: "用户昵称不能为空", trigger: "blur" }
equSts: [
{ required: true, message: "状态不能为空", trigger: "blur" }
],
password: [
{ required: true, message: "用户密码不能为空", trigger: "blur" },
{ min: 5, max: 20, message: '用户密码长度必须介于 5 和 20 之间', trigger: 'blur' },
{ pattern: /^[^<>"'|\\]+$/, message: "不能包含非法字符:< > \" ' \\\ |", trigger: "blur" }
equSn: [
{ required: true, message: "序列号不能为空", trigger: "blur" }
],
email: [
{
type: "email",
message: "请输入正确的邮箱地址",
trigger: ["blur", "change"]
}
deptId: [
{ required: true, message: "部门不能为空", trigger: "blur" }
],
phonenumber: [
{
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
message: "请输入正确的手机号码",
trigger: "blur"
}
]
// password: [
// { required: true, message: "", trigger: "blur" },
// { min: 5, max: 20, message: ' 5 20 ', trigger: 'blur' },
// { pattern: /^[^<>"'|\\]+$/, message: "< > \" ' \\\ |", trigger: "blur" }
// ],
// email: [
// {
// type: "email",
// message: "",
// trigger: ["blur", "change"]
// }
// ],
// phonenumber: [
// {
// pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
// message: "",
// trigger: "blur"
// }
// ]
}
}
},
@ -334,7 +351,8 @@ export default {
/** 查询用户列表 */
getList() {
this.loading = true
listUser(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
this.queryParams.typeId = 10
listData(this.queryParams).then(response => {
this.userList = response.rows
this.total = response.total
this.loading = false
@ -389,18 +407,20 @@ export default {
//
reset() {
this.form = {
userId: undefined,
deptId: undefined,
userName: undefined,
nickName: undefined,
password: undefined,
phonenumber: undefined,
email: undefined,
sex: undefined,
status: "0",
remark: undefined,
postIds: [],
roleIds: []
// userId: undefined,
// deptId: undefined,
// userName: undefined,
// nickName: undefined,
// password: undefined,
// phonenumber: undefined,
// email: undefined,
// sex: undefined,
// status: "0",
// remark: undefined,
// postIds: [],
// typeId: 10
equCode: '',
equSn: '',
}
this.resetForm("form")
},
@ -439,27 +459,18 @@ export default {
/** 新增按钮操作 */
handleAdd() {
this.reset()
getUser().then(response => {
this.postOptions = response.posts
this.roleOptions = response.roles
this.open = true
this.title = "添加用户"
this.form.password = this.initPassword
})
this.title = "添加"
this.form.typeId =10
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset()
const userId = row.userId || this.ids
getUser(userId).then(response => {
const userId = row.equId || this.ids
getData(userId).then(response => {
this.form = response.data
this.postOptions = response.posts
this.roleOptions = response.roles
this.$set(this.form, "postIds", response.postIds)
this.$set(this.form, "roleIds", response.roleIds)
this.open = true
this.title = "修改用户"
this.form.password = ""
this.title = "修改"
})
},
/** 重置密码按钮操作 */
@ -490,14 +501,18 @@ export default {
submitForm: function() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.userId != undefined) {
updateUser(this.form).then(response => {
this.form.typeId = 10
console.log("this.form.deptId",this.form.deptId)
this.form.organId = this.form.deptId
console.log("this.form.organId",this.form.organId)
if (this.form.equId != undefined) {
updateData(this.form).then(response => {
this.$modal.msgSuccess("修改成功")
this.open = false
this.getList()
})
} else {
addUser(this.form).then(response => {
addData(this.form).then(response => {
this.$modal.msgSuccess("新增成功")
this.open = false
this.getList()
@ -508,9 +523,9 @@ export default {
},
/** 删除按钮操作 */
handleDelete(row) {
const userIds = row.userId || this.ids
this.$modal.confirm('是否确认删除用户编号为"' + userIds + '"的数据项?').then(function() {
return delUser(userIds)
const userIds = row.equId || this.ids
this.$modal.confirm('是否确认删除编号为"' + userIds + '"的数据项?').then(function() {
return delData(userIds)
}).then(() => {
this.getList()
this.$modal.msgSuccess("删除成功")
@ -518,9 +533,9 @@ export default {
},
/** 导出按钮操作 */
handleExport() {
this.download('system/user/export', {
this.download('equ/info/export', {
...this.queryParams
}, `user_${new Date().getTime()}.xlsx`)
}, `equInfo_${new Date().getTime()}.xlsx`)
},
/** 导入按钮操作 */
handleImport() {
@ -529,8 +544,8 @@ export default {
},
/** 下载模板操作 */
importTemplate() {
this.download('system/user/importTemplate', {
}, `user_template_${new Date().getTime()}.xlsx`)
this.download('equ/info/export', {
}, `equ_template_${new Date().getTime()}.xlsx`)
},
//
handleFileUploadProgress(event, file, fileList) {

View File

@ -16,20 +16,12 @@
<!--用户数据-->
<pane size="84">
<el-col>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="用户名称" prop="userName">
<el-input v-model="queryParams.userName" placeholder="请输入用户名称" clearable style="width: 240px" @keyup.enter.native="handleQuery" />
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
<el-form-item label="设备编号" prop="equCode">
<el-input v-model="queryParams.equCode" placeholder="请输入设备编号" clearable style="width: 240px" @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="手机号码" prop="phonenumber">
<el-input v-model="queryParams.phonenumber" placeholder="请输入手机号码" clearable style="width: 240px" @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="用户状态" clearable style="width: 240px">
<el-option v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="创建时间">
<el-date-picker v-model="dateRange" style="width: 240px" value-format="yyyy-MM-dd" type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
<el-form-item label="设备序列号" prop="equSn">
<el-input v-model="queryParams.equSn" placeholder="请输入设备序列号" clearable style="width: 240px" @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
@ -41,12 +33,12 @@
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['system:user:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<!-- <el-col :span="1.5">
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate" v-hasPermi="['system:user:edit']">修改</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:user:remove']">删除</el-button>
</el-col>
</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']">导入</el-button>
</el-col>
@ -57,33 +49,54 @@
</el-row>
<el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="50" align="center" />
<el-table-column label="用户编号" align="center" key="userId" prop="userId" v-if="columns.userId.visible" />
<el-table-column label="用户名称" align="center" key="userName" prop="userName" v-if="columns.userName.visible" :show-overflow-tooltip="true" />
<el-table-column label="用户昵称" align="center" key="nickName" prop="nickName" v-if="columns.nickName.visible" :show-overflow-tooltip="true" />
<el-table-column label="部门" align="center" key="deptName" prop="dept.deptName" v-if="columns.deptName.visible" :show-overflow-tooltip="true" />
<el-table-column label="手机号码" align="center" key="phonenumber" prop="phonenumber" v-if="columns.phonenumber.visible" width="120" />
<el-table-column label="状态" align="center" key="status" v-if="columns.status.visible">
<template slot-scope="scope">
<el-switch v-model="scope.row.status" active-value="0" inactive-value="1" @change="handleStatusChange(scope.row)"></el-switch>
<!-- <el-table-column label="设备编号" align="center" key="equId" prop="equId" /> -->
<el-table-column label="设备编号" align="center" key="equCode" prop="equCode" />
<el-table-column label="部门" align="center" key="deptName" prop="deptName" />
<el-table-column label="国标码" align="center" key="gbCode" prop="gbCode" />
<el-table-column label="品牌型号" align="center" key="modelId" prop="modelId" />
<!-- <el-table-column label="设备分类" align="center" key="classify" prop="classify" >
<template #default="scope">
<dict-tag :options="dict.type.dev_equ_classify" :value="scope.row.classify" />
</template>
</el-table-column> -->
<el-table-column label="设备序列号" align="center" key="equSn" prop="equSn" />
<el-table-column label="责任人" align="center" key="mngName" prop="mngName" />
<el-table-column label="责任人警号" align="center" key="mngCode" prop="mngCode" />
<el-table-column label="设备状态" align="center" key="equSts" prop="equSts" >
<template #default="scope">
<dict-tag :options="dict.type.dev_health_status" :value="scope.row.equSts" />
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" v-if="columns.createTime.visible" width="160">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
<el-table-column label="保险状态" align="center" key="insuranceSts" prop="insuranceSts" />
<el-table-column label="保险期限" align="center" key="mtnDate" prop="mtnDate"/>
<el-table-column label="备注" align="center" key="remark" prop="remark" />
<!-- <el-table-column prop="equCode" label="设备编号" header-align="center" align="center">
<template #default="{ row }">
<span @click="downloadText(row.equCode)"
style="cursor: pointer; color: blue;">{{ row.equCode }}</span>
</template>
</el-table-column>
<el-table-column label="二维码" align="center" width="150">
<template #default="{ row }">
<div class="qrcode-container" @click="downloadQRCode(row)"
@dblclick="zoomQRCode(row)">
<img :src="row.qrCode" alt="QR Code" class="qrcode-image" />
</div>
</template>
</el-table-column> -->
<el-table-column label="操作" align="center" width="160" class-name="small-padding fixed-width">
<template slot-scope="scope" v-if="scope.row.userId !== 1">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['system:user:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['system:user:remove']">删除</el-button>
<el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:user:resetPwd', 'system:user:edit']">
<!-- <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:user:resetPwd', 'system:user:edit']">
<el-button size="mini" type="text" icon="el-icon-d-arrow-right">更多</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="handleResetPwd" icon="el-icon-key" v-hasPermi="['system:user:resetPwd']">重置密码</el-dropdown-item>
<el-dropdown-item command="handleAuthRole" icon="el-icon-circle-check" v-hasPermi="['system:user:edit']">分配角色</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</el-dropdown> -->
</template>
</el-table-column>
</el-table>
@ -99,69 +112,60 @@
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row>
<el-col :span="12">
<el-form-item label="用户昵称" prop="nickName">
<el-input v-model="form.nickName" placeholder="请输入用户昵称" maxlength="30" />
<el-form-item label="品牌型号">
<el-select v-model="form.modelId" placeholder="请选择品牌型号">
<el-option v-for="dict in dict.type.equ_model_info" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="设备状态">
<el-select v-model="form.equSts" placeholder="请选择设备状态">
<el-option v-for="dict in dict.type.dev_health_status" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="归属部门" prop="deptId">
<treeselect v-model="form.deptId" :options="enabledDeptOptions" :show-count="true" placeholder="请选择归属部门" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="手机号码" prop="phonenumber">
<el-input v-model="form.phonenumber" placeholder="请输入手机号码" maxlength="11" />
</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-form-item label="序列号" prop="equSn">
<el-input v-model="form.equSn" placeholder="请输入设备序列号" maxlength="30" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item v-if="form.userId == undefined" label="用户名称" prop="userName">
<el-input v-model="form.userName" placeholder="请输入用户名称" maxlength="30" />
<el-form-item label="责任人" prop="mngName">
<el-input v-model="form.mngName" placeholder="请输入责任人" maxlength="30" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item v-if="form.userId == undefined" label="用户密码" prop="password">
<el-input v-model="form.password" placeholder="请输入用户密码" type="password" maxlength="20" show-password />
<el-form-item label="责任警号" prop="mngCode">
<el-input v-model="form.mngCode" placeholder="请输入责任警号" maxlength="30" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="用户性别">
<el-select v-model="form.sex" placeholder="请选择性别">
<el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
</el-select>
<el-form-item label="国标码" prop="gbCode">
<el-input v-model="form.gbCode" placeholder="请输入国标码" maxlength="30" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="状态">
<el-radio-group v-model="form.status">
<el-radio v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.value">{{ dict.label }}</el-radio>
</el-radio-group>
<el-form-item label="采购日期" prop="purDate">
<el-date-picker clearable v-model="form.purDate" type="date" value-format="yyyy-MM-dd" placeholder="采购日期"></el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="岗位">
<el-select v-model="form.postIds" multiple placeholder="请选择岗位">
<el-option v-for="item in postOptions" :key="item.postId" :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" multiple placeholder="请选择角色">
<el-option v-for="item in roleOptions" :key="item.roleId" :label="item.roleName" :value="item.roleId" :disabled="item.status == 1"></el-option>
</el-select>
<el-form-item label="保险期限" prop="mtnDate">
<el-date-picker clearable v-model="form.mtnDate" type="date" value-format="yyyy-MM-dd" placeholder="保险期限"></el-date-picker>
</el-form-item>
</el-col>
</el-row>
@ -202,6 +206,7 @@
<script>
import { listUser, getUser, delUser, addUser, updateUser, resetUserPwd, changeUserStatus, deptTreeSelect } from "@/api/system/user"
import { listData, getData, delData, addData, updateData } from "@/api/system/equInfoapi"
import { getToken } from "@/utils/auth"
import Treeselect from "@riophae/vue-treeselect"
import "@riophae/vue-treeselect/dist/vue-treeselect.css"
@ -210,7 +215,7 @@ import "splitpanes/dist/splitpanes.css"
export default {
name: "User",
dicts: ['sys_normal_disable', 'sys_user_sex'],
dicts: ['sys_normal_disable', 'sys_user_sex','dev_equ_classify','dev_health_status', 'equ_attribution_sts','equ_model_info'],
components: { Treeselect, Splitpanes, Pane },
data() {
return {
@ -265,16 +270,14 @@ export default {
//
headers: { Authorization: "Bearer " + getToken() },
//
url: process.env.VUE_APP_BASE_API + "/system/user/importData"
url: process.env.VUE_APP_BASE_API + "/equ/info/importData"
},
//
queryParams: {
pageNum: 1,
pageSize: 10,
userName: undefined,
phonenumber: undefined,
status: undefined,
deptId: undefined
equCode: '',
equSn: '',
},
//
columns: {
@ -288,32 +291,41 @@ export default {
},
//
rules: {
userName: [
{ required: true, message: "用户名称不能为空", trigger: "blur" },
{ min: 2, max: 20, message: '用户名称长度必须介于 2 和 20 之间', trigger: 'blur' }
// userName: [
// { required: true, message: "", trigger: "blur" },
// { min: 2, max: 20, message: ' 2 20 ', trigger: 'blur' }
// ],
modelId: [
{ required: true, message: "品牌型号不能为空", trigger: "blur" }
],
nickName: [
{ required: true, message: "用户昵称不能为空", trigger: "blur" }
equSts: [
{ required: true, message: "状态不能为空", trigger: "blur" }
],
password: [
{ required: true, message: "用户密码不能为空", trigger: "blur" },
{ min: 5, max: 20, message: '用户密码长度必须介于 5 和 20 之间', trigger: 'blur' },
{ pattern: /^[^<>"'|\\]+$/, message: "不能包含非法字符:< > \" ' \\\ |", trigger: "blur" }
equSn: [
{ required: true, message: "序列号不能为空", trigger: "blur" }
],
email: [
{
type: "email",
message: "请输入正确的邮箱地址",
trigger: ["blur", "change"]
}
deptId: [
{ required: true, message: "部门不能为空", trigger: "blur" }
],
phonenumber: [
{
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
message: "请输入正确的手机号码",
trigger: "blur"
}
]
// password: [
// { required: true, message: "", trigger: "blur" },
// { min: 5, max: 20, message: ' 5 20 ', trigger: 'blur' },
// { pattern: /^[^<>"'|\\]+$/, message: "< > \" ' \\\ |", trigger: "blur" }
// ],
// email: [
// {
// type: "email",
// message: "",
// trigger: ["blur", "change"]
// }
// ],
// phonenumber: [
// {
// pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
// message: "",
// trigger: "blur"
// }
// ]
}
}
},
@ -334,7 +346,8 @@ export default {
/** 查询用户列表 */
getList() {
this.loading = true
listUser(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
this.queryParams.typeId = 13
listData(this.queryParams).then(response => {
this.userList = response.rows
this.total = response.total
this.loading = false
@ -389,18 +402,20 @@ export default {
//
reset() {
this.form = {
userId: undefined,
deptId: undefined,
userName: undefined,
nickName: undefined,
password: undefined,
phonenumber: undefined,
email: undefined,
sex: undefined,
status: "0",
remark: undefined,
postIds: [],
roleIds: []
// userId: undefined,
// deptId: undefined,
// userName: undefined,
// nickName: undefined,
// password: undefined,
// phonenumber: undefined,
// email: undefined,
// sex: undefined,
// status: "0",
// remark: undefined,
// postIds: [],
// typeId: 10
equCode: '',
equSn: '',
}
this.resetForm("form")
},
@ -439,27 +454,18 @@ export default {
/** 新增按钮操作 */
handleAdd() {
this.reset()
getUser().then(response => {
this.postOptions = response.posts
this.roleOptions = response.roles
this.open = true
this.title = "添加用户"
this.form.password = this.initPassword
})
this.title = "添加"
this.form.typeId =12
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset()
const userId = row.userId || this.ids
getUser(userId).then(response => {
const userId = row.equId || this.ids
getData(userId).then(response => {
this.form = response.data
this.postOptions = response.posts
this.roleOptions = response.roles
this.$set(this.form, "postIds", response.postIds)
this.$set(this.form, "roleIds", response.roleIds)
this.open = true
this.title = "修改用户"
this.form.password = ""
this.title = "修改"
})
},
/** 重置密码按钮操作 */
@ -490,14 +496,18 @@ export default {
submitForm: function() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.userId != undefined) {
updateUser(this.form).then(response => {
this.form.typeId = 13
console.log("this.form.deptId",this.form.deptId)
this.form.organId = this.form.deptId
console.log("this.form.organId",this.form.organId)
if (this.form.equId != undefined) {
updateData(this.form).then(response => {
this.$modal.msgSuccess("修改成功")
this.open = false
this.getList()
})
} else {
addUser(this.form).then(response => {
addData(this.form).then(response => {
this.$modal.msgSuccess("新增成功")
this.open = false
this.getList()
@ -508,9 +518,9 @@ export default {
},
/** 删除按钮操作 */
handleDelete(row) {
const userIds = row.userId || this.ids
this.$modal.confirm('是否确认删除用户编号为"' + userIds + '"的数据项?').then(function() {
return delUser(userIds)
const userIds = row.equId || this.ids
this.$modal.confirm('是否确认删除编号为"' + userIds + '"的数据项?').then(function() {
return delData(userIds)
}).then(() => {
this.getList()
this.$modal.msgSuccess("删除成功")
@ -518,9 +528,9 @@ export default {
},
/** 导出按钮操作 */
handleExport() {
this.download('system/user/export', {
this.download('equ/info/export', {
...this.queryParams
}, `user_${new Date().getTime()}.xlsx`)
}, `equInfo_${new Date().getTime()}.xlsx`)
},
/** 导入按钮操作 */
handleImport() {
@ -529,8 +539,8 @@ export default {
},
/** 下载模板操作 */
importTemplate() {
this.download('system/user/importTemplate', {
}, `user_template_${new Date().getTime()}.xlsx`)
this.download('equ/info/export', {
}, `equ_template_${new Date().getTime()}.xlsx`)
},
//
handleFileUploadProgress(event, file, fileList) {

View File

@ -16,21 +16,18 @@
<!--用户数据-->
<pane size="84">
<el-col>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="用户名称" prop="userName">
<el-input v-model="queryParams.userName" placeholder="请输入用户名称" clearable style="width: 240px" @keyup.enter.native="handleQuery" />
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
<el-form-item label="设备编号" prop="equCode">
<el-input v-model="queryParams.equCode" placeholder="请输入设备编号" clearable style="width: 240px" @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="手机号码" prop="phonenumber">
<el-input v-model="queryParams.phonenumber" placeholder="请输入手机号码" clearable style="width: 240px" @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="用户状态" clearable style="width: 240px">
<el-option v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.label" :value="dict.value" />
<el-form-item label="品牌型号" prop="modelId">
<el-select v-model="queryParams.modelId" placeholder="请选择品牌型号">
<el-option v-for="dict in dict.type.equ_model_info" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="创建时间">
<el-date-picker v-model="dateRange" style="width: 240px" value-format="yyyy-MM-dd" type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
</el-form-item>
<!-- <el-form-item label="设备序列号" prop="equSn">
<el-input v-model="queryParams.equSn" placeholder="请输入设备序列号" clearable style="width: 240px" @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-refresh" size="mini" @click="resetQuery">重置</el-button>
@ -41,12 +38,12 @@
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['system:user:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<!-- <el-col :span="1.5">
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate" v-hasPermi="['system:user:edit']">修改</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:user:remove']">删除</el-button>
</el-col>
</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']">导入</el-button>
</el-col>
@ -57,33 +54,39 @@
</el-row>
<el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="50" align="center" />
<el-table-column label="用户编号" align="center" key="userId" prop="userId" v-if="columns.userId.visible" />
<el-table-column label="用户名称" align="center" key="userName" prop="userName" v-if="columns.userName.visible" :show-overflow-tooltip="true" />
<el-table-column label="用户昵称" align="center" key="nickName" prop="nickName" v-if="columns.nickName.visible" :show-overflow-tooltip="true" />
<el-table-column label="部门" align="center" key="deptName" prop="dept.deptName" v-if="columns.deptName.visible" :show-overflow-tooltip="true" />
<el-table-column label="手机号码" align="center" key="phonenumber" prop="phonenumber" v-if="columns.phonenumber.visible" width="120" />
<el-table-column label="状态" align="center" key="status" v-if="columns.status.visible">
<template slot-scope="scope">
<el-switch v-model="scope.row.status" active-value="0" inactive-value="1" @change="handleStatusChange(scope.row)"></el-switch>
<!-- <el-table-column label="设备编号" align="center" key="equId" prop="equId" /> -->
<el-table-column label="设备编号" align="center" key="equCode" prop="equCode" />
<el-table-column label="所属机构" align="center" key="deptName" prop="deptName" />
<el-table-column label="品牌型号" align="center" key="modelId" prop="modelId" />
<el-table-column label="设备功能 " align="center" prop="equFunction"/>
<el-table-column label="设备类型" align="center" prop="equType" />
<el-table-column label="范围角度" align="center" key="rangeRad" prop="rangeRad" >
<template #default="scope">
<dict-tag :options="dict.type.sys_range_rad" :value="scope.row.rangeRad" />
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" v-if="columns.createTime.visible" width="160">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
<el-table-column label="特定功能" align="center" key="spacialFunction" prop="spacialFunction" >
<template #default="scope">
<dict-tag :options="dict.type.sys_spacial_fuction" :value="scope.row.spacialFunction" />
</template>
</el-table-column>
<el-table-column label="设备状态" align="center" key="equSts" prop="equSts" >
<template #default="scope">
<dict-tag :options="dict.type.dev_health_status" :value="scope.row.equSts" />
</template>
</el-table-column>
<el-table-column label="备注" align="center" key="remark" prop="remark" />
<el-table-column label="操作" align="center" width="160" class-name="small-padding fixed-width">
<template slot-scope="scope" v-if="scope.row.userId !== 1">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['system:user:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['system:user:remove']">删除</el-button>
<el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:user:resetPwd', 'system:user:edit']">
<!-- <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:user:resetPwd', 'system:user:edit']">
<el-button size="mini" type="text" icon="el-icon-d-arrow-right">更多</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="handleResetPwd" icon="el-icon-key" v-hasPermi="['system:user:resetPwd']">重置密码</el-dropdown-item>
<el-dropdown-item command="handleAuthRole" icon="el-icon-circle-check" v-hasPermi="['system:user:edit']">分配角色</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</el-dropdown> -->
</template>
</el-table-column>
</el-table>
@ -99,8 +102,10 @@
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row>
<el-col :span="12">
<el-form-item label="用户昵称" prop="nickName">
<el-input v-model="form.nickName" placeholder="请输入用户昵称" maxlength="30" />
<el-form-item label="品牌型号">
<el-select v-model="form.modelId" placeholder="请选择品牌型号">
<el-option v-for="dict in dict.type.equ_model_info" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
@ -111,56 +116,42 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="手机号码" prop="phonenumber">
<el-input v-model="form.phonenumber" placeholder="请输入手机号码" maxlength="11" />
</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-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item v-if="form.userId == undefined" label="用户名称" prop="userName">
<el-input v-model="form.userName" placeholder="请输入用户名称" maxlength="30" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item v-if="form.userId == undefined" label="用户密码" prop="password">
<el-input v-model="form.password" placeholder="请输入用户密码" type="password" maxlength="20" show-password />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="用户性别">
<el-select v-model="form.sex" placeholder="请选择性别">
<el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
<el-form-item label="设备功能" prop="equFunction">
<!-- <el-select v-model="form.equFunction" placeholder="请选择" @change="changeSelect()"> -->
<el-select v-model="form.equFunction" placeholder="请选择" >
<el-option v-for="(item,i) in procedureType" :key="i" :label="item" :value="item" ></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="状态">
<el-radio-group v-model="form.status">
<el-radio v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.value">{{ dict.label }}</el-radio>
</el-radio-group>
<el-form-item label="设备分类" prop="equType">
<el-select v-model="form.equType" placeholder="请选择">
<el-option v-for="(item,i) in causeGroup" :key="i" :label="item" :value="item" ></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="岗位">
<el-select v-model="form.postIds" multiple placeholder="请选择岗位">
<el-option v-for="item in postOptions" :key="item.postId" :label="item.postName" :value="item.postId" :disabled="item.status == 1" ></el-option>
<el-form-item label="范围角度" prop="rangeRad">
<el-select v-model="form.rangeRad" placeholder="请选择范围角度">
<el-option v-for="dict in dict.type.sys_range_rad" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="角色">
<el-select v-model="form.roleIds" multiple placeholder="请选择角色">
<el-option v-for="item in roleOptions" :key="item.roleId" :label="item.roleName" :value="item.roleId" :disabled="item.status == 1"></el-option>
<el-form-item label="特定功能" prop="spacialFunction">
<el-select v-model="form.spacialFunction" placeholder="请选择特定功能">
<el-option v-for="dict in dict.type.sys_spacial_fuction" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="设备状态">
<el-select v-model="form.equSts" placeholder="请选择设备状态">
<el-option v-for="dict in dict.type.dev_health_status" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
</el-select>
</el-form-item>
</el-col>
@ -202,6 +193,7 @@
<script>
import { listUser, getUser, delUser, addUser, updateUser, resetUserPwd, changeUserStatus, deptTreeSelect } from "@/api/system/user"
import { listData, getData, delData, addData, updateData } from "@/api/system/equInfoapi"
import { getToken } from "@/utils/auth"
import Treeselect from "@riophae/vue-treeselect"
import "@riophae/vue-treeselect/dist/vue-treeselect.css"
@ -210,7 +202,7 @@ import "splitpanes/dist/splitpanes.css"
export default {
name: "User",
dicts: ['sys_normal_disable', 'sys_user_sex'],
dicts: ['sys_normal_disable', 'sys_user_sex','dev_equ_classify','dev_health_status', 'equ_attribution_sts','equ_model_info','sys_range_rad','sys_spacial_fuction'],
components: { Treeselect, Splitpanes, Pane },
data() {
return {
@ -248,6 +240,13 @@ export default {
roleOptions: [],
//
form: {},
procedureType: ["发现类", "反制类", "车载类"],
TypeObj:{
发现类: ["雷达探测设备", "频谱探测设备", "光电侦测设备","便携式侦测设备", "侦反一体设备"],
反制类: ["全向电磁压制设备", "定向电磁压制设备", "便携式反制设备","导航诱骗设备", "物理打击设备", "激光毁伤设备", "侦反一体设备"],
车载类: ["无人机侦测反制车"],
},
causeGroup:["雷达探测设备", "频谱探测设备", "光电侦测设备","便携式侦测设备", "侦反一体设备","全向电磁压制设备", "定向电磁压制设备", "便携式反制设备","导航诱骗设备", "物理打击设备", "激光毁伤设备", "侦反一体设备","无人机侦测反制车"],
defaultProps: {
children: "children",
label: "label"
@ -265,16 +264,14 @@ export default {
//
headers: { Authorization: "Bearer " + getToken() },
//
url: process.env.VUE_APP_BASE_API + "/system/user/importData"
url: process.env.VUE_APP_BASE_API + "/equ/info/importData"
},
//
queryParams: {
pageNum: 1,
pageSize: 10,
userName: undefined,
phonenumber: undefined,
status: undefined,
deptId: undefined
equCode: '',
equSn: '',
},
//
columns: {
@ -288,32 +285,41 @@ export default {
},
//
rules: {
userName: [
{ required: true, message: "用户名称不能为空", trigger: "blur" },
{ min: 2, max: 20, message: '用户名称长度必须介于 2 和 20 之间', trigger: 'blur' }
// userName: [
// { required: true, message: "", trigger: "blur" },
// { min: 2, max: 20, message: ' 2 20 ', trigger: 'blur' }
// ],
modelId: [
{ required: true, message: "品牌型号不能为空", trigger: "blur" }
],
nickName: [
{ required: true, message: "用户昵称不能为空", trigger: "blur" }
equSts: [
{ required: true, message: "状态不能为空", trigger: "blur" }
],
password: [
{ required: true, message: "用户密码不能为空", trigger: "blur" },
{ min: 5, max: 20, message: '用户密码长度必须介于 5 和 20 之间', trigger: 'blur' },
{ pattern: /^[^<>"'|\\]+$/, message: "不能包含非法字符:< > \" ' \\\ |", trigger: "blur" }
equSn: [
{ required: true, message: "序列号不能为空", trigger: "blur" }
],
email: [
{
type: "email",
message: "请输入正确的邮箱地址",
trigger: ["blur", "change"]
}
deptId: [
{ required: true, message: "部门不能为空", trigger: "blur" }
],
phonenumber: [
{
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
message: "请输入正确的手机号码",
trigger: "blur"
}
]
// password: [
// { required: true, message: "", trigger: "blur" },
// { min: 5, max: 20, message: ' 5 20 ', trigger: 'blur' },
// { pattern: /^[^<>"'|\\]+$/, message: "< > \" ' \\\ |", trigger: "blur" }
// ],
// email: [
// {
// type: "email",
// message: "",
// trigger: ["blur", "change"]
// }
// ],
// phonenumber: [
// {
// pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
// message: "",
// trigger: "blur"
// }
// ]
}
}
},
@ -331,10 +337,21 @@ export default {
})
},
methods: {
changeSelect() {
console.log("进入了联动子级滞空")
//
form.equType = "";
//
for (const k in procedureType) {
this.causeGroup = this.TypeObj[form.equFunction];
}
},
/** 查询用户列表 */
getList() {
this.loading = true
listUser(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
this.queryParams.typeId = 11
listData(this.queryParams).then(response => {
this.userList = response.rows
this.total = response.total
this.loading = false
@ -389,18 +406,20 @@ export default {
//
reset() {
this.form = {
userId: undefined,
deptId: undefined,
userName: undefined,
nickName: undefined,
password: undefined,
phonenumber: undefined,
email: undefined,
sex: undefined,
status: "0",
remark: undefined,
postIds: [],
roleIds: []
// userId: undefined,
// deptId: undefined,
// userName: undefined,
// nickName: undefined,
// password: undefined,
// phonenumber: undefined,
// email: undefined,
// sex: undefined,
// status: "0",
// remark: undefined,
// postIds: [],
// typeId: 10
equCode: '',
equSn: '',
}
this.resetForm("form")
},
@ -439,27 +458,18 @@ export default {
/** 新增按钮操作 */
handleAdd() {
this.reset()
getUser().then(response => {
this.postOptions = response.posts
this.roleOptions = response.roles
this.open = true
this.title = "添加用户"
this.form.password = this.initPassword
})
this.title = "添加"
this.form.typeId =11
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset()
const userId = row.userId || this.ids
getUser(userId).then(response => {
const userId = row.equId || this.ids
getData(userId).then(response => {
this.form = response.data
this.postOptions = response.posts
this.roleOptions = response.roles
this.$set(this.form, "postIds", response.postIds)
this.$set(this.form, "roleIds", response.roleIds)
this.open = true
this.title = "修改用户"
this.form.password = ""
this.title = "修改"
})
},
/** 重置密码按钮操作 */
@ -490,14 +500,18 @@ export default {
submitForm: function() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.userId != undefined) {
updateUser(this.form).then(response => {
this.form.typeId = 11
console.log("this.form.deptId",this.form.deptId)
this.form.organId = this.form.deptId
console.log("this.form.organId",this.form.organId)
if (this.form.equId != undefined) {
updateData(this.form).then(response => {
this.$modal.msgSuccess("修改成功")
this.open = false
this.getList()
})
} else {
addUser(this.form).then(response => {
addData(this.form).then(response => {
this.$modal.msgSuccess("新增成功")
this.open = false
this.getList()
@ -508,9 +522,9 @@ export default {
},
/** 删除按钮操作 */
handleDelete(row) {
const userIds = row.userId || this.ids
this.$modal.confirm('是否确认删除用户编号为"' + userIds + '"的数据项?').then(function() {
return delUser(userIds)
const userIds = row.equId || this.ids
this.$modal.confirm('是否确认删除编号为"' + userIds + '"的数据项?').then(function() {
return delData(userIds)
}).then(() => {
this.getList()
this.$modal.msgSuccess("删除成功")
@ -518,9 +532,9 @@ export default {
},
/** 导出按钮操作 */
handleExport() {
this.download('system/user/export', {
this.download('equ/info/export', {
...this.queryParams
}, `user_${new Date().getTime()}.xlsx`)
}, `equInfo_${new Date().getTime()}.xlsx`)
},
/** 导入按钮操作 */
handleImport() {
@ -529,8 +543,8 @@ export default {
},
/** 下载模板操作 */
importTemplate() {
this.download('system/user/importTemplate', {
}, `user_template_${new Date().getTime()}.xlsx`)
this.download('equ/info/export', {
}, `equ_template_${new Date().getTime()}.xlsx`)
},
//
handleFileUploadProgress(event, file, fileList) {

View File

@ -16,20 +16,12 @@
<!--用户数据-->
<pane size="84">
<el-col>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="用户名称" prop="userName">
<el-input v-model="queryParams.userName" placeholder="请输入用户名称" clearable style="width: 240px" @keyup.enter.native="handleQuery" />
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
<el-form-item label="设备编号" prop="equCode">
<el-input v-model="queryParams.equCode" placeholder="请输入设备编号" clearable style="width: 240px" @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="手机号码" prop="phonenumber">
<el-input v-model="queryParams.phonenumber" placeholder="请输入手机号码" clearable style="width: 240px" @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="用户状态" clearable style="width: 240px">
<el-option v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="创建时间">
<el-date-picker v-model="dateRange" style="width: 240px" value-format="yyyy-MM-dd" type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
<el-form-item label="设备序列号" prop="equSn">
<el-input v-model="queryParams.equSn" placeholder="请输入设备序列号" clearable style="width: 240px" @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
@ -41,12 +33,12 @@
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['system:user:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<!-- <el-col :span="1.5">
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate" v-hasPermi="['system:user:edit']">修改</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:user:remove']">删除</el-button>
</el-col>
</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']">导入</el-button>
</el-col>
@ -57,33 +49,53 @@
</el-row>
<el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="50" align="center" />
<el-table-column label="用户编号" align="center" key="userId" prop="userId" v-if="columns.userId.visible" />
<el-table-column label="用户名称" align="center" key="userName" prop="userName" v-if="columns.userName.visible" :show-overflow-tooltip="true" />
<el-table-column label="用户昵称" align="center" key="nickName" prop="nickName" v-if="columns.nickName.visible" :show-overflow-tooltip="true" />
<el-table-column label="部门" align="center" key="deptName" prop="dept.deptName" v-if="columns.deptName.visible" :show-overflow-tooltip="true" />
<el-table-column label="手机号码" align="center" key="phonenumber" prop="phonenumber" v-if="columns.phonenumber.visible" width="120" />
<el-table-column label="状态" align="center" key="status" v-if="columns.status.visible">
<template slot-scope="scope">
<el-switch v-model="scope.row.status" active-value="0" inactive-value="1" @change="handleStatusChange(scope.row)"></el-switch>
<!-- <el-table-column label="设备编号" align="center" key="equId" prop="equId" /> -->
<el-table-column label="设备编号" align="center" key="equCode" prop="equCode" />
<el-table-column label="部门" align="center" key="deptName" prop="deptName" />
<el-table-column label="品牌型号" align="center" key="modelId" prop="modelId" />
<!-- <el-table-column label="设备分类" align="center" key="classify" prop="classify" >
<template #default="scope">
<dict-tag :options="dict.type.dev_equ_classify" :value="scope.row.classify" />
</template>
</el-table-column> -->
<el-table-column label="设备序列号" align="center" key="equSn" prop="equSn" />
<el-table-column label="责任人" align="center" key="mngName" prop="mngName" />
<el-table-column label="责任人警号" align="center" key="mngCode" prop="mngCode" />
<el-table-column label="设备状态" align="center" key="equSts" prop="equSts" >
<template #default="scope">
<dict-tag :options="dict.type.dev_health_status" :value="scope.row.equSts" />
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" v-if="columns.createTime.visible" width="160">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
<el-table-column label="保险状态" align="center" key="insuranceSts" prop="insuranceSts" />
<el-table-column label="保险期限" align="center" key="mtnDate" prop="mtnDate"/>
<el-table-column label="备注" align="center" key="remark" prop="remark" />
<!-- <el-table-column prop="equCode" label="设备编号" header-align="center" align="center">
<template #default="{ row }">
<span @click="downloadText(row.equCode)"
style="cursor: pointer; color: blue;">{{ row.equCode }}</span>
</template>
</el-table-column>
<el-table-column label="二维码" align="center" width="150">
<template #default="{ row }">
<div class="qrcode-container" @click="downloadQRCode(row)"
@dblclick="zoomQRCode(row)">
<img :src="row.qrCode" alt="QR Code" class="qrcode-image" />
</div>
</template>
</el-table-column> -->
<el-table-column label="操作" align="center" width="160" class-name="small-padding fixed-width">
<template slot-scope="scope" v-if="scope.row.userId !== 1">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['system:user:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['system:user:remove']">删除</el-button>
<el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:user:resetPwd', 'system:user:edit']">
<!-- <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:user:resetPwd', 'system:user:edit']">
<el-button size="mini" type="text" icon="el-icon-d-arrow-right">更多</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="handleResetPwd" icon="el-icon-key" v-hasPermi="['system:user:resetPwd']">重置密码</el-dropdown-item>
<el-dropdown-item command="handleAuthRole" icon="el-icon-circle-check" v-hasPermi="['system:user:edit']">分配角色</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</el-dropdown> -->
</template>
</el-table-column>
</el-table>
@ -99,69 +111,55 @@
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row>
<el-col :span="12">
<el-form-item label="用户昵称" prop="nickName">
<el-input v-model="form.nickName" placeholder="请输入用户昵称" maxlength="30" />
<el-form-item label="品牌型号">
<el-select v-model="form.modelId" placeholder="请选择品牌型号">
<el-option v-for="dict in dict.type.equ_model_info" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="设备状态">
<el-select v-model="form.equSts" placeholder="请选择设备状态">
<el-option v-for="dict in dict.type.dev_health_status" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="归属部门" prop="deptId">
<treeselect v-model="form.deptId" :options="enabledDeptOptions" :show-count="true" placeholder="请选择归属部门" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="手机号码" prop="phonenumber">
<el-input v-model="form.phonenumber" placeholder="请输入手机号码" maxlength="11" />
</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-form-item label="序列号" prop="equSn">
<el-input v-model="form.equSn" placeholder="请输入设备序列号" maxlength="30" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item v-if="form.userId == undefined" label="用户名称" prop="userName">
<el-input v-model="form.userName" placeholder="请输入用户名称" maxlength="30" />
<el-form-item label="责任人" prop="mngName">
<el-input v-model="form.mngName" placeholder="请输入责任人" maxlength="30" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item v-if="form.userId == undefined" label="用户密码" prop="password">
<el-input v-model="form.password" placeholder="请输入用户密码" type="password" maxlength="20" show-password />
<el-form-item label="责任警号" prop="mngCode">
<el-input v-model="form.mngCode" placeholder="请输入责任警号" maxlength="30" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="用户性别">
<el-select v-model="form.sex" placeholder="请选择性别">
<el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="状态">
<el-radio-group v-model="form.status">
<el-radio v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.value">{{ dict.label }}</el-radio>
</el-radio-group>
<el-form-item label="采购日期" prop="purDate">
<el-date-picker clearable v-model="form.purDate" type="date" value-format="yyyy-MM-dd" placeholder="采购日期"></el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="岗位">
<el-select v-model="form.postIds" multiple placeholder="请选择岗位">
<el-option v-for="item in postOptions" :key="item.postId" :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" multiple placeholder="请选择角色">
<el-option v-for="item in roleOptions" :key="item.roleId" :label="item.roleName" :value="item.roleId" :disabled="item.status == 1"></el-option>
</el-select>
<el-form-item label="保险期限" prop="mtnDate">
<el-date-picker clearable v-model="form.mtnDate" type="date" value-format="yyyy-MM-dd" placeholder="保险期限"></el-date-picker>
</el-form-item>
</el-col>
</el-row>
@ -202,6 +200,7 @@
<script>
import { listUser, getUser, delUser, addUser, updateUser, resetUserPwd, changeUserStatus, deptTreeSelect } from "@/api/system/user"
import { listData, getData, delData, addData, updateData } from "@/api/system/equInfoapi"
import { getToken } from "@/utils/auth"
import Treeselect from "@riophae/vue-treeselect"
import "@riophae/vue-treeselect/dist/vue-treeselect.css"
@ -210,7 +209,7 @@ import "splitpanes/dist/splitpanes.css"
export default {
name: "User",
dicts: ['sys_normal_disable', 'sys_user_sex'],
dicts: ['sys_normal_disable', 'sys_user_sex','dev_equ_classify','dev_health_status', 'equ_attribution_sts','equ_model_info'],
components: { Treeselect, Splitpanes, Pane },
data() {
return {
@ -265,16 +264,14 @@ export default {
//
headers: { Authorization: "Bearer " + getToken() },
//
url: process.env.VUE_APP_BASE_API + "/system/user/importData"
url: process.env.VUE_APP_BASE_API + "/equ/info/importData"
},
//
queryParams: {
pageNum: 1,
pageSize: 10,
userName: undefined,
phonenumber: undefined,
status: undefined,
deptId: undefined
equCode: '',
equSn: '',
},
//
columns: {
@ -288,32 +285,41 @@ export default {
},
//
rules: {
userName: [
{ required: true, message: "用户名称不能为空", trigger: "blur" },
{ min: 2, max: 20, message: '用户名称长度必须介于 2 和 20 之间', trigger: 'blur' }
// userName: [
// { required: true, message: "", trigger: "blur" },
// { min: 2, max: 20, message: ' 2 20 ', trigger: 'blur' }
// ],
modelId: [
{ required: true, message: "品牌型号不能为空", trigger: "blur" }
],
nickName: [
{ required: true, message: "用户昵称不能为空", trigger: "blur" }
equSts: [
{ required: true, message: "状态不能为空", trigger: "blur" }
],
password: [
{ required: true, message: "用户密码不能为空", trigger: "blur" },
{ min: 5, max: 20, message: '用户密码长度必须介于 5 和 20 之间', trigger: 'blur' },
{ pattern: /^[^<>"'|\\]+$/, message: "不能包含非法字符:< > \" ' \\\ |", trigger: "blur" }
equSn: [
{ required: true, message: "序列号不能为空", trigger: "blur" }
],
email: [
{
type: "email",
message: "请输入正确的邮箱地址",
trigger: ["blur", "change"]
}
deptId: [
{ required: true, message: "部门不能为空", trigger: "blur" }
],
phonenumber: [
{
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
message: "请输入正确的手机号码",
trigger: "blur"
}
]
// password: [
// { required: true, message: "", trigger: "blur" },
// { min: 5, max: 20, message: ' 5 20 ', trigger: 'blur' },
// { pattern: /^[^<>"'|\\]+$/, message: "< > \" ' \\\ |", trigger: "blur" }
// ],
// email: [
// {
// type: "email",
// message: "",
// trigger: ["blur", "change"]
// }
// ],
// phonenumber: [
// {
// pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
// message: "",
// trigger: "blur"
// }
// ]
}
}
},
@ -334,7 +340,8 @@ export default {
/** 查询用户列表 */
getList() {
this.loading = true
listUser(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
this.queryParams.typeId = 12
listData(this.queryParams).then(response => {
this.userList = response.rows
this.total = response.total
this.loading = false
@ -389,18 +396,20 @@ export default {
//
reset() {
this.form = {
userId: undefined,
deptId: undefined,
userName: undefined,
nickName: undefined,
password: undefined,
phonenumber: undefined,
email: undefined,
sex: undefined,
status: "0",
remark: undefined,
postIds: [],
roleIds: []
// userId: undefined,
// deptId: undefined,
// userName: undefined,
// nickName: undefined,
// password: undefined,
// phonenumber: undefined,
// email: undefined,
// sex: undefined,
// status: "0",
// remark: undefined,
// postIds: [],
// typeId: 10
equCode: '',
equSn: '',
}
this.resetForm("form")
},
@ -439,27 +448,18 @@ export default {
/** 新增按钮操作 */
handleAdd() {
this.reset()
getUser().then(response => {
this.postOptions = response.posts
this.roleOptions = response.roles
this.open = true
this.title = "添加用户"
this.form.password = this.initPassword
})
this.title = "添加"
this.form.typeId =12
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset()
const userId = row.userId || this.ids
getUser(userId).then(response => {
const userId = row.equId || this.ids
getData(userId).then(response => {
this.form = response.data
this.postOptions = response.posts
this.roleOptions = response.roles
this.$set(this.form, "postIds", response.postIds)
this.$set(this.form, "roleIds", response.roleIds)
this.open = true
this.title = "修改用户"
this.form.password = ""
this.title = "修改"
})
},
/** 重置密码按钮操作 */
@ -490,14 +490,18 @@ export default {
submitForm: function() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.userId != undefined) {
updateUser(this.form).then(response => {
this.form.typeId = 12
console.log("this.form.deptId",this.form.deptId)
this.form.organId = this.form.deptId
console.log("this.form.organId",this.form.organId)
if (this.form.equId != undefined) {
updateData(this.form).then(response => {
this.$modal.msgSuccess("修改成功")
this.open = false
this.getList()
})
} else {
addUser(this.form).then(response => {
addData(this.form).then(response => {
this.$modal.msgSuccess("新增成功")
this.open = false
this.getList()
@ -508,9 +512,9 @@ export default {
},
/** 删除按钮操作 */
handleDelete(row) {
const userIds = row.userId || this.ids
this.$modal.confirm('是否确认删除用户编号为"' + userIds + '"的数据项?').then(function() {
return delUser(userIds)
const userIds = row.equId || this.ids
this.$modal.confirm('是否确认删除编号为"' + userIds + '"的数据项?').then(function() {
return delData(userIds)
}).then(() => {
this.getList()
this.$modal.msgSuccess("删除成功")
@ -518,9 +522,9 @@ export default {
},
/** 导出按钮操作 */
handleExport() {
this.download('system/user/export', {
this.download('equ/info/export', {
...this.queryParams
}, `user_${new Date().getTime()}.xlsx`)
}, `equInfo_${new Date().getTime()}.xlsx`)
},
/** 导入按钮操作 */
handleImport() {
@ -529,8 +533,8 @@ export default {
},
/** 下载模板操作 */
importTemplate() {
this.download('system/user/importTemplate', {
}, `user_template_${new Date().getTime()}.xlsx`)
this.download('equ/info/export', {
}, `equ_template_${new Date().getTime()}.xlsx`)
},
//
handleFileUploadProgress(event, file, fileList) {