| | |
| | | |
| | | # 页面标题 |
| | | VITE_APP_TITLE = 生态流量监测系统 |
| | | VITE_APP_TITLE = 后台管理系统 |
| | | |
| | | # 开发环境配置 |
| | | VITE_APP_ENV = 'development' |
| | |
| | | # VITE_APP_PUBLIC_REQUEST_API = 'http://113.250.189.120:8030' |
| | | # VITE_APP_PUBLIC_REQUEST_API = 'http://113.250.189.120:8036' |
| | | #后端本地 |
| | | VITE_APP_PUBLIC_REQUEST_API = 'http://192.168.0.200:8036' |
| | | VITE_APP_PUBLIC_REQUEST_API = 'http://192.168.0.200:8036' |
| | |
| | | |
| | | # 页面标题 |
| | | VITE_APP_TITLE = 生态流量监测系统 |
| | | VITE_APP_TITLE = 后台管理系统 |
| | | |
| | | # 开发环境配置 |
| | | VITE_APP_ENV = 'production' |
| | |
| | | //公司配置信息 |
| | | export default function commonParameters() { |
| | | return { |
| | | //创建公司配置信息 |
| | | //创建配置信息 |
| | | create: (data) => { |
| | | return publicRequest({ |
| | | url: '/commonParameters/create', |
| | |
| | | data, |
| | | }); |
| | | }, |
| | | //删除公司配置信息 |
| | | //删除配置信息 |
| | | remove: (id) => { |
| | | return publicRequest({ |
| | | url: `/commonParameters/remove?id=${id}`, |
| | | method: 'get', |
| | | }); |
| | | }, |
| | | //编辑公司配置信息 |
| | | //编辑配置信息 |
| | | modify: (data) => { |
| | | return publicRequest({ |
| | | url: '/commonParameters/modify', |
| | |
| | | data, |
| | | }); |
| | | }, |
| | | //分页查询公司配置信息 |
| | | //分页查询配置信息 |
| | | search: (data) => { |
| | | return publicRequest({ |
| | | url: '/commonParameters/search', |
| | | method: 'post', |
| | | data, |
| | | }); |
| | | }, |
| | | //获取公司配置信息 |
| | | get: (id) => { |
| | | return publicRequest({ |
| | | url: `/commonParameters/get?id=${id}`, |
| | | method: 'get', |
| | | }); |
| | | }, |
| | | }; |
| | |
| | | method: 'post' |
| | | }); |
| | | }, |
| | | stop: (id) => { |
| | | return publicRequest({ |
| | | url: `/waterFacilityType/stop?id=${id}`, |
| | | method: 'post' |
| | | }); |
| | | }, |
| | | enable: (id) => { |
| | | return publicRequest({ |
| | | url: `/waterFacilityType/enable?id=${id}`, |
| | | method: 'post' |
| | | }); |
| | | }, |
| | | search: (data) => { |
| | | return publicRequest({ |
| | | url: '/waterFacilityType/search', |
| | | method: 'post', |
| | | data |
| | | }); |
| | | }, |
| | | getList: (data) => { |
| | | return publicRequest({ |
| | | url: `/waterFacilityType/getList`, |
| | | method: 'get', |
| | | data |
| | | }); |
| | | }, |
| | |
| | | data, |
| | | }); |
| | | }, |
| | | stop: (data) => { |
| | | return publicRequest({ |
| | | url: `/waterFacility/stop?id=${data}`, |
| | | method: 'post', |
| | | data, |
| | | }); |
| | | }, |
| | | enable: (data) => { |
| | | return publicRequest({ |
| | | url: `/waterFacility/enable?id=${data}`, |
| | | method: 'post', |
| | | data, |
| | | }); |
| | | }, |
| | | search: (data) => { |
| | | return publicRequest({ |
| | | url: '/waterFacility/search', |
| | | method: 'post', |
| | | data, |
| | | }); |
| | | }, |
| | | getList: (data) => { |
| | | return publicRequest({ |
| | | url: `/waterFacility/getList`, |
| | | method: 'get', |
| | | data, |
| | | }); |
| | | }, |
| | |
| | | data, |
| | | }); |
| | | }, |
| | | get: (id) => { |
| | | return publicRequest({ |
| | | url: `/waterFacilityParameter/get?id=${id}`, |
| | | method: 'get', |
| | | }); |
| | | }, |
| | | getParam: (id) => { |
| | | return publicRequest({ |
| | | url: `waterFacilityParameter/getListByFacilityId?facilityId=${id}`, |
| | |
| | | method: 'post' |
| | | }); |
| | | }, |
| | | stop: (id) => { |
| | | return publicRequest({ |
| | | url: `/waterMonitoryPoint/stop?id=${id}`, |
| | | method: 'post' |
| | | }); |
| | | }, |
| | | enable: (id) => { |
| | | return publicRequest({ |
| | | url: `/waterMonitoryPoint/enable?id=${id}`, |
| | | method: 'post' |
| | | }); |
| | | }, |
| | | search: (data) => { |
| | | return publicRequest({ |
| | | url: '/waterMonitoryPoint/search', |
| | | method: 'post', |
| | | data |
| | | }); |
| | | }, |
| | | getList: (data) => { |
| | | return publicRequest({ |
| | | url: `/waterMonitoryPoint/getList`, |
| | | method: 'get', |
| | | data |
| | | }); |
| | | }, |
| | |
| | | data, |
| | | }); |
| | | }, |
| | | stop: (data) => { |
| | | return publicRequest({ |
| | | url: `/supplierInformation/stop?id=${data}`, |
| | | method: 'post', |
| | | data, |
| | | }); |
| | | }, |
| | | enable: (data) => { |
| | | return publicRequest({ |
| | | url: `/supplierInformation/enable?id=${data}`, |
| | | method: 'post', |
| | | data, |
| | | }); |
| | | }, |
| | | search: (data) => { |
| | | return publicRequest({ |
| | | url: '/supplierInformation/search', |
| | | method: 'post', |
| | | data, |
| | | }); |
| | | }, |
| | | get: (data) => { |
| | | return publicRequest({ |
| | | url: `/supplierInformation/get?id=${data}`, |
| | | method: 'get', |
| | | data, |
| | | }); |
| | | }, |
| | |
| | | //删除权限 |
| | | remove:(id) =>{ |
| | | return publicRequest({ |
| | | url: `/admin/permission/remove?powerId=${id}`, |
| | | url: `/admin/permission/remove/${id}`, |
| | | method: 'get', |
| | | }) |
| | | }, |
| | |
| | | //删除角色 |
| | | remove:(id) =>{ |
| | | return publicRequest({ |
| | | url: `/admin/role/remove?roleId=${id}`, |
| | | url: `/admin/role/remove/${id}`, |
| | | method: 'post', |
| | | }) |
| | | }, |
| | |
| | | //获取角色菜单权限列表 |
| | | getListMenuAndPermission:(id) =>{ |
| | | return publicRequest({ |
| | | url: `/admin/role/getListMenuAndPermission?roleId=${id}`, |
| | | url: `/admin/role/getListMenuAndPermission/${id}`, |
| | | method: 'get', |
| | | }) |
| | | }, |
| | |
| | | margin-left: 8px; |
| | | |
| | | .no-redirect { |
| | | color: #97a8be; |
| | | color: #fff; |
| | | cursor: text; |
| | | } |
| | | .el-breadcrumb__inner a{ |
| | | color: #fff; |
| | | } |
| | | } |
| | | </style> |
| | |
| | | xmlns="http://www.w3.org/2000/svg" |
| | | width="64" |
| | | height="64" |
| | | fill="#fff" |
| | | > |
| | | <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM142.4 642.1L298.7 519a8.84 8.84 0 0 0 0-13.9L142.4 381.9c-5.8-4.6-14.4-.5-14.4 6.9v246.3a8.9 8.9 0 0 0 14.4 7z" /> |
| | | </svg> |
| | |
| | | let form = new FormData(); |
| | | form.append("file1", params.file); |
| | | form.append("fileId", params.file.lastModified); |
| | | form.append("path", 'operation'); |
| | | form.append("path", 'hydropower'); |
| | | //发出上传文件请求 |
| | | let res = await upload().uploadFile(form) |
| | | if(res.code == 200){ |
| | |
| | | </template> |
| | | |
| | | <script setup> |
| | | import { onMounted } from "vue"; |
| | | import iframeToggle from "./IframeToggle/index" |
| | | import useTagsViewStore from '@/store/modules/tagsView' |
| | | |
| | |
| | | cursor: pointer; |
| | | transition: background 0.3s; |
| | | -webkit-tap-highlight-color: transparent; |
| | | |
| | | &:hover { |
| | | background: rgba(250, 250, 250, 0.025); |
| | | } |
| | |
| | | { |
| | | path: 'home', |
| | | component: () => import('@/views/screen/flow/home/index.vue') |
| | | } |
| | | }, |
| | | { |
| | | path: 'ecology', |
| | | component: () => import('@/views/screen/flow/ecology/index.vue') |
| | | }, |
| | | { |
| | | path: 'graphic', |
| | | component: () => import('@/views/screen/flow/graphic/index.vue') |
| | | }, |
| | | { |
| | | path: 'shebei', |
| | | component: () => import('@/views/screen/flow/shebei/index.vue') |
| | | }, |
| | | { |
| | | path: 'warning', |
| | | component: () => import('@/views/screen/flow/warning/index.vue') |
| | | }, |
| | | { |
| | | path: 'report', |
| | | component: () => import('@/views/screen/flow/report/index.vue') |
| | | }, |
| | | ] |
| | | }, |
| | | ] |
| | |
| | | { |
| | | path: 'home', |
| | | component: () => import('@/views/screen/temperature/home/index.vue') |
| | | } |
| | | }, |
| | | { |
| | | path: 'shebei', |
| | | component: () => import('@/views/screen/temperature/shebei/index.vue') |
| | | }, |
| | | { |
| | | path: 'monitor', |
| | | component: () => import('@/views/screen/temperature/monitor/index.vue') |
| | | }, |
| | | { |
| | | path: 'graphic', |
| | | component: () => import('@/views/screen/temperature/graphic/index.vue') |
| | | }, |
| | | { |
| | | path: 'statics', |
| | | component: () => import('@/views/screen/temperature/statics/index.vue') |
| | | }, |
| | | { |
| | | path: 'report', |
| | | component: () => import('@/views/screen/temperature/report/index.vue') |
| | | }, |
| | | ] |
| | | } |
| | | ] |
| | |
| | | const router = useRouter() |
| | | const route = ref(useRoute()) |
| | | const btnList = ref([ |
| | | {name:'总览',url:'/flow/home'}, |
| | | {name:'生态流量',url:''}, |
| | | {name:'图像监测', url:''}, |
| | | {name:'设备管理',url:''}, |
| | | {name:'报警管理',url:''}, |
| | | {name:'报表管理',url:''}, |
| | | {name:'首页总览',url:'/flow/home'}, |
| | | {name:'生态流量',url:'/flow/ecology'}, |
| | | {name:'图像监测', url:'/flow/graphic'}, |
| | | {name:'设备管理',url:'/flow/shebei'}, |
| | | {name:'报警管理',url:'/flow/warning'}, |
| | | {name:'报表管理',url:'/flow/report'}, |
| | | ]) |
| | | const navTo = (item) =>{ |
| | | router.push(item.url) |
| | |
| | | .header{ |
| | | width: 100%; |
| | | height: 14%; |
| | | background-color: rgb(82, 120, 128); |
| | | position: relative; |
| | | .top{ |
| | | height: 60%; |
| | | display: flex; |
| | |
| | | font-size: 38px; |
| | | font-weight: 700; |
| | | color: #fff; |
| | | position: relative; |
| | | z-index: 100; |
| | | } |
| | | .nav{ |
| | | display: flex; |
| | | height: 40%; |
| | | position: relative; |
| | | z-index: 100; |
| | | .plain{ |
| | | flex-grow: 1; |
| | | height: 100%; |
| | |
| | | <template> |
| | | <div class="main"> |
| | | <div class="header"> |
| | | <div class="top">金川水电站生态流量监测系统 </div> |
| | | <div class="top">金川水电站水温监测系统 </div> |
| | | <div class="nav"> |
| | | <div v-for="(item,index) in btnList" :key="index" @click="navTo(item)" class="plain" :class="item.url === route.path ? 'active' : ''">{{ item.name }}</div> |
| | | </div> |
| | |
| | | const route = ref(useRoute()) |
| | | const btnList = ref([ |
| | | {name:'总览',url:'/temp/home'}, |
| | | {name:'设备管理',url:''}, |
| | | {name:'实时监测', url:''}, |
| | | {name:'图形分析',url:''}, |
| | | {name:'汇总统计',url:''}, |
| | | {name:'报表管理',url:''}, |
| | | {name:'设备管理',url:'/temp/shebei'}, |
| | | {name:'实时监测', url:'/temp/monitor'}, |
| | | {name:'图形分析',url:'/temp/graphic'}, |
| | | {name:'汇总统计',url:'/temp/statics'}, |
| | | {name:'报表管理',url:'/temp/report'}, |
| | | {name:'系统管理',url:'/user'}, |
| | | ]) |
| | | const navTo = (item) =>{ |
| | |
| | | .header{ |
| | | width: 100%; |
| | | height: 14%; |
| | | background-color: rgb(82, 120, 128); |
| | | position: relative; |
| | | .top{ |
| | | height: 60%; |
| | | display: flex; |
| | |
| | | font-size: 38px; |
| | | font-weight: 700; |
| | | color: #fff; |
| | | position: relative; |
| | | z-index: 100; |
| | | } |
| | | .nav{ |
| | | display: flex; |
| | | height: 40%; |
| | | position: relative; |
| | | z-index: 100; |
| | | .plain{ |
| | | flex-grow: 1; |
| | | height: 100%; |
| | |
| | | } |
| | | function permsJudge(value) { |
| | | let perms = JSON.parse(localStorage.getItem("listPermission")|| '0'); |
| | | console.log(value, perms) |
| | | for (let i in perms) { |
| | | if(typeof value == 'object'){ |
| | | let val = value[0] |
| | |
| | | facilityCode: '设备编号', |
| | | facilityName: '设备名称', |
| | | facilityTypeName: '设备类型', |
| | | longitude: '经度', |
| | | latitude: '纬度', |
| | | pointName: '设备监控点', |
| | | networkType:'网络类型', |
| | | facilityUrl: '设备图片', |
| | | producedDate:'出厂日期', |
| | | installDate:'安装日期', |
| | | supplier: '设备供应商', |
| | | createTimeView: '创建时间' |
| | | }) |
| | | |
| | | /** 获取权限列表 */ |
| | |
| | | facilityCode: '设备编号', |
| | | facilityName: '设备名称', |
| | | facilityType: '设备类型', |
| | | longitude: '经度', |
| | | latitude: '纬度', |
| | | pointId: '设备监控点', |
| | | facilityUrl: '设备图片', |
| | | supplier: '设备供应商', |
| | | networkType:'网络类型', |
| | | remark:'备注信息', |
| | | createTimeView: '创建时间' |
| | | }) |
| | |
| | | //查询监控点 |
| | | const pointList = ref(); |
| | | const getPoint = async () => { |
| | | await pointApi().search({limit: 10000, page: 1}).then((res) => { |
| | | await pointApi().search({limit: 100, page: 1}).then((res) => { |
| | | pointList.value = res.data.list |
| | | }) |
| | | } |
| | |
| | | //查询供应商 |
| | | const supplierList = ref(); |
| | | const getSupplier = async () => { |
| | | await supplierApi().search({limit: 10000, page: 1}).then((res) => { |
| | | await supplierApi().search({limit: 100, page: 1}).then((res) => { |
| | | console.log("供应商" + res.data.list); |
| | | supplierList.value = res.data.list |
| | | }) |
| | |
| | | //查询设备类型 |
| | | const facilityTypeList = ref(); |
| | | const getFacilityTypeList = async () => { |
| | | await facilityTypeApi().search({limit: 10000, page: 1}).then((res) => { |
| | | await facilityTypeApi().search({limit: 100, page: 1}).then((res) => { |
| | | facilityTypeList.value = res.data.list |
| | | }) |
| | | } |
| | |
| | | /> |
| | | <!-- 添加/修改表单 --> |
| | | <el-dialog :title="title" v-model="open" append-to-body center> |
| | | <el-form class="form-box" ref="facilityTypeRef" :model="form" :rules="rules" label-width='auto' > |
| | | <el-form class="form-box" ref="facilityTypeRef" :model="form" :rules="rules" label-width='120' > |
| | | <el-form-item :label="formLabel.facilityCode" prop="facilityCode"> |
| | | <el-input v-model="form.facilityCode" :placeholder="inpTip+formLabel.facilityCode"/> |
| | | </el-form-item> |
| | | <el-form-item :label="formLabel.facilityName" prop="facilityName"> |
| | | <el-input v-model="form.facilityName" :placeholder="inpTip+formLabel.facilityName"/> |
| | | </el-form-item> |
| | | <el-form-item :label="formLabel.longitude" prop="longitude"> |
| | | <el-input v-model="form.longitude" :placeholder="inpTip+formLabel.longitude"/> |
| | | </el-form-item> |
| | | <el-form-item :label="formLabel.latitude" prop="latitude"> |
| | | <el-input v-model="form.latitude" :placeholder="inpTip+formLabel.latitude"/> |
| | | </el-form-item> |
| | | <el-form-item label="选择设备类型" prop="facilityType"> |
| | | <el-select v-model="form.facilityType" :placeholder="inpTip+formLabel.facilityType"> |
| | |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="选择供应商" prop="supplier"> |
| | | <el-select v-model="form.supplier" :placeholder="inpTip+formLabel.supplier"> |
| | | <el-option |
| | | v-for="(item,index) in supplierList" |
| | | :label="item.name" |
| | | :value="item.name" |
| | | :key="index" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="设备出厂日期" prop="producedDate"> |
| | | <el-input v-model="form.producedDate" placeholder="请输入出厂日期(格式:xxxx年xx月xx日)" /> |
| | | </el-form-item> |
| | | <el-form-item label="安装日期" prop="installDate"> |
| | | <el-date-picker |
| | | v-model="form.installDate" |
| | |
| | | value-format="YYYY-MM-DD" |
| | | :disabled="isDetail ? true : false" |
| | | /> |
| | | <!-- <el-input v-model="item.installTime" :disabled="isDetail ? true : false"></el-input> --> |
| | | </el-form-item> |
| | | <el-form-item :label="formLabel.networkType" prop="networkType"> |
| | | <el-input v-model="form.networkType" :placeholder="inpTip+formLabel.networkType" /> |
| | | </el-form-item> |
| | | <el-form-item :label="formLabel.remark" prop="remark"> |
| | | <el-input v-model="form.remark" :placeholder="inpTip+formLabel.remark" /> |
| | | </el-form-item> |
| | | <el-form-item><br></el-form-item> |
| | | <el-form-item label="资料上传" prop="facilityUrl"> |
| | | <upload-icons @uploadData="uploadData" :imageList="form.facilityUrl" :limit="1" |
| | | :disabled='isDetail ? true : false'></upload-icons> |
| | | <span style="display: block;">(请上传1张设备图片)</span> |
| | | </el-form-item> |
| | | <el-form-item></el-form-item> |
| | | </el-form> |
| | | <template #footer> |
| | | <div class="dialog-footer"> |
| | |
| | | max-width: 100px; |
| | | height: 50px; |
| | | } |
| | | .form-box{ |
| | | justify-content: normal; |
| | | } |
| | | </style> |
| | | |
| | |
| | | let tableHeader = ref({ |
| | | name: '类型名称', |
| | | code: '类型编号', |
| | | facilityType: '设备类型', |
| | | createTimeView: '创建时间' |
| | | }) |
| | | |
| | |
| | | } |
| | | |
| | | function getCookie() { |
| | | const userName = Cookies.get("userName"); |
| | | const password = decrypt(Cookies.get("password")); |
| | | const rememberMe = Cookies.get("rememberMe"); |
| | | loginForm.userName = userName === undefined ? loginForm.userName : userName; |
| | | loginForm.password = password === undefined ? loginForm.password : password; |
| | | loginForm.rememberMe = rememberMe === undefined ? loginForm.rememberMe : rememberMe; |
| | | const userName = Cookies.get("userName") || ''; |
| | | const password = decrypt(Cookies.get("password")) || ''; |
| | | const rememberMe = Cookies.get("rememberMe") || false; |
| | | loginForm.userName = userName ? userName : loginForm.userName; |
| | | loginForm.password = password ? password : loginForm.password; |
| | | loginForm.rememberMe = rememberMe ? rememberMe : loginForm.rememberMe; |
| | | } |
| | | |
| | | onMounted(() => { |
对比新文件 |
| | |
| | | <script setup> |
| | | |
| | | </script> |
| | | |
| | | <template> |
| | | <div> |
| | | 生态流量 |
| | | </div> |
| | | </template> |
| | | |
| | | <style scoped lang="scss"> |
| | | |
| | | </style> |
对比新文件 |
| | |
| | | <script setup> |
| | | |
| | | </script> |
| | | |
| | | <template> |
| | | <div> |
| | | 图像监测 |
| | | </div> |
| | | </template> |
| | | |
| | | <style scoped lang="scss"> |
| | | |
| | | </style> |
| | |
| | | height: 100%; |
| | | background: url("@/assets/images/map-bg.png") no-repeat; |
| | | background-size: 100% 100%; |
| | | z-index: -1; |
| | | z-index: 11; |
| | | } |
| | | .home-c{ |
| | | width: 100%; |
| | | height: 100%; |
| | | position: relative; |
| | | z-index: 20; |
| | | .point{ |
| | | position: absolute; |
| | | left: 58%; |
对比新文件 |
| | |
| | | <script setup> |
| | | |
| | | </script> |
| | | |
| | | <template> |
| | | <div> |
| | | 报表管理 |
| | | </div> |
| | | </template> |
| | | |
| | | <style scoped lang="scss"> |
| | | |
| | | </style> |
对比新文件 |
| | |
| | | <script setup> |
| | | |
| | | </script> |
| | | |
| | | <template> |
| | | <div> |
| | | 设备管理 |
| | | </div> |
| | | </template> |
| | | |
| | | <style scoped lang="scss"> |
| | | |
| | | </style> |
对比新文件 |
| | |
| | | <script setup> |
| | | |
| | | </script> |
| | | |
| | | <template> |
| | | <div> |
| | | 预警管理 |
| | | </div> |
| | | </template> |
| | | |
| | | <style scoped lang="scss"> |
| | | |
| | | </style> |
对比新文件 |
| | |
| | | <script setup> |
| | | |
| | | </script> |
| | | |
| | | <template> |
| | | <div> |
| | | 图形分析 |
| | | </div> |
| | | </template> |
| | | |
| | | <style scoped lang="scss"> |
| | | |
| | | </style> |
| | |
| | | height: 100%; |
| | | background: url("@/assets/images/map-bg.png") no-repeat; |
| | | background-size: 100% 100%; |
| | | z-index: -1; |
| | | z-index: 11; |
| | | } |
| | | .home-c{ |
| | | width: 100%; |
| | | height: 100%; |
| | | position: relative; |
| | | z-index: 20; |
| | | .point{ |
| | | position: absolute; |
| | | left: 58%; |
对比新文件 |
| | |
| | | <script setup> |
| | | |
| | | </script> |
| | | |
| | | <template> |
| | | <div> |
| | | 实时监测 |
| | | </div> |
| | | </template> |
| | | |
| | | <style scoped lang="scss"> |
| | | |
| | | </style> |
对比新文件 |
| | |
| | | <script setup> |
| | | |
| | | </script> |
| | | |
| | | <template> |
| | | <div> |
| | | 报表管理 |
| | | </div> |
| | | </template> |
| | | |
| | | <style scoped lang="scss"> |
| | | |
| | | </style> |
对比新文件 |
| | |
| | | <script setup> |
| | | |
| | | </script> |
| | | |
| | | <template> |
| | | <div> |
| | | 设备管理 |
| | | </div> |
| | | </template> |
| | | |
| | | <style scoped lang="scss"> |
| | | |
| | | </style> |
对比新文件 |
| | |
| | | <script setup> |
| | | |
| | | </script> |
| | | |
| | | <template> |
| | | <div> |
| | | 汇总统计 |
| | | </div> |
| | | </template> |
| | | |
| | | <style scoped lang="scss"> |
| | | |
| | | </style> |
| | |
| | | align="center" |
| | | > |
| | | <template #default="scope"> |
| | | <div v-if="key.toString() == 'headImg'" style="width: 50px;height: 50px;margin: 0 auto"> |
| | | <img :src="preUrl + scope.row.headImg" class="table-headImg"/> |
| | | <div v-if="key === 'userType'"> |
| | | {{userTypeList.filter(fil => fil.dictValue == scope.row.userType.toString())[0].dictLabel}} |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | /** |
| | | * Table表格权限数据列表相关 |
| | | */ |
| | | |
| | | let preUrl = ref(PREURL) |
| | | const pageParam = ref({ |
| | | total:0, |
| | | limit:0, |
| | |
| | | }) |
| | | const tableData = ref([]); |
| | | let tableHeader = ref({ |
| | | userName: '用户名称', |
| | | nickName: '昵称', |
| | | // headImg:'头像', |
| | | userTypeView:'用户类型', |
| | | // userTypeView:'用户角色', |
| | | contact:'联系方式', |
| | | email:'邮箱地址', |
| | | createTimeView:'创建时间' |
| | | userName: '用户名称', |
| | | nickName: '昵称', |
| | | userType:'用户类型', |
| | | contact:'联系方式', |
| | | email:'邮箱地址', |
| | | createTimeView:'创建时间' |
| | | }) |
| | | /** 获取列表 */ |
| | | async function getList(val) { |
| | |
| | | password: [{ required: true, message: "请输入密码", trigger: "blur" }], |
| | | nickName: [{ required: true, message: "请输入昵称", trigger: "blur" }], |
| | | userType: [{ required: true, message: "请选择用户类型", trigger: "blur" }], |
| | | // userRelId: [{ required: true, message: "请选择用户角色", trigger: "blur" }], |
| | | contact: [{ required: true, message: "请输入联系方式", trigger: "blur" }], |
| | | email: [{ required: true, message: "请输入邮箱地址", trigger: "blur" }], |
| | | headImg: [{ required: true, message: "请上传用户头像", trigger: "blur" }], |
| | |
| | | nickName: '', |
| | | headImg:undefined, |
| | | userType:undefined, |
| | | // userRelId:undefined, |
| | | contact:'', |
| | | email:'', |
| | | }; |