6/22完善引入,

This commit is contained in:
Zy
2026-06-22 08:14:35 +08:00
parent ea8129216b
commit 826bf3c782
208 changed files with 1122 additions and 1685 deletions

View File

@@ -115,8 +115,9 @@ import { pcaTextArr } from 'element-china-area-data';
import type { DataItem } from 'element-china-area-data';
import { useUserStore } from '@/store/modules/user';
import { CascaderValue } from 'element-plus';
import { addVillageAPI, editVillageAPI, getVillageByIdAPI, uploadVillageImageAPI } from '@/api/system/community/index';
import { addVillageAPI, editVillageAPI, getVillageByIdAPI, uploadVillageImageAPI } from '@/api/system/community';
import { communitylist_rows_type } from '@/api/system/community/type';
import { Delete, Plus } from '@element-plus/icons-vue';
const route = useRoute();
const router = useRouter();

View File

@@ -35,11 +35,11 @@
</div>
<div class="actions flex">
<div @click="handleclick(item)">管理</div>
<div @click="handleEdit(item)" v-hasPermi="['system:village:edit']">编辑</div>
<div @click="handleDelete(item)" v-hasPermi="['system:village:remove']">删除</div>
<div @click="handleEdit(item)" v-has-permi="['system:village:edit']">编辑</div>
<div @click="handleDelete(item)" v-has-permi="['system:village:remove']">删除</div>
</div>
</div>
<div v-hasPermi="['system:village:add']" @click="handleAdd" class="coummunity_card addActions flex flex-items-center justify-center">
<div v-has-permi="['system:village:add']" @click="handleAdd" class="coummunity_card addActions flex flex-items-center justify-center">
<div class="addCoummunity">
<el-icon>
<AddLocation></AddLocation>
@@ -57,7 +57,7 @@ import defaultVilageinfoImage from '@/assets/images/villageimage.png';
import Navbar from '@/layout/components/Navbar.vue';
import { deleteVillageByIdAPI, switchVillageAPI, getCommunitylistAPI } from '@/api/system/community/index';
import type { communitylist_rows_type } from '@/api/system/community/type';
import { Picture } from '@element-plus/icons-vue';
import { AddLocation, Picture } from '@element-plus/icons-vue';
import { useHouseStore } from '@/store/modules/house';
const houseStore = useHouseStore();
@@ -225,7 +225,7 @@ function handleclick(item: communitylist_rows_type) {
min-height: 358px;
border: 2px solid #ffffff;
background: linear-gradient(180deg, rgba(255, 255, 255, 0.2) 0%, #ffffff 70%);
box-shadow: 0px 4px 8px 0px rgba(0, 104, 255, 0.06);
box-shadow: 0 4px 8px 0 rgba(0, 104, 255, 0.06);
border-radius: 16px 16px 16px 16px;
margin-right: 20px;
margin-bottom: 15px;

View File

@@ -23,18 +23,18 @@
<template #header>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button v-hasPermi="['demo:demo:add']" type="primary" plain icon="Plus" @click="handleAdd">新增</el-button>
<el-button v-has-permi="['demo:demo:add']" type="primary" plain icon="Plus" @click="handleAdd">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button v-hasPermi="['demo:demo:edit']" type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()">编辑</el-button>
<el-button v-has-permi="['demo:demo:edit']" type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()">编辑</el-button>
</el-col>
<el-col :span="1.5">
<el-button v-hasPermi="['demo:demo:remove']" type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()"
<el-button v-has-permi="['demo:demo:remove']" type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()"
>删除</el-button
>
</el-col>
<el-col :span="1.5">
<el-button v-hasPermi="['demo:demo:export']" type="warning" plain icon="Download" @click="handleExport">导出</el-button>
<el-button v-has-permi="['demo:demo:export']" type="warning" plain icon="Download" @click="handleExport">导出</el-button>
</el-col>
<right-toolbar v-model:show-search="showSearch" @query-table="getList"></right-toolbar>
</el-row>
@@ -51,10 +51,10 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-tooltip content="修改" placement="top">
<el-button v-hasPermi="['demo:demo:edit']" link type="primary" icon="Edit" @click="handleUpdate(scope.row)"></el-button>
<el-button v-has-permi="['demo:demo:edit']" link type="primary" icon="Edit" @click="handleUpdate(scope.row)"></el-button>
</el-tooltip>
<el-tooltip content="删除" placement="top">
<el-button v-hasPermi="['demo:demo:remove']" link type="primary" icon="Delete" @click="handleDelete(scope.row)"></el-button>
<el-button v-has-permi="['demo:demo:remove']" link type="primary" icon="Delete" @click="handleDelete(scope.row)"></el-button>
</el-tooltip>
</template>
</el-table-column>
@@ -92,6 +92,8 @@
</template>
<script setup name="Demo" lang="ts">
import RightToolbar from '@/components/RightToolbar/index.vue';
import pagination from '@/components/Pagination/index.vue';
import { listDemo, getDemo, delDemo, addDemo, updateDemo } from '@/api/demo/demo';
import { DemoVO, DemoQuery, DemoForm } from '@/api/demo/demo/types';

View File

@@ -20,7 +20,7 @@
<template #header>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button v-hasPermi="['demo:tree:add']" type="primary" plain icon="Plus" @click="handleAdd()">新增</el-button>
<el-button v-has-permi="['demo:tree:add']" type="primary" plain icon="Plus" @click="handleAdd()">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="info" plain icon="Sort" @click="handleToggleExpandAll">展开/折叠</el-button>
@@ -44,13 +44,13 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-tooltip content="修改" placement="top">
<el-button v-hasPermi="['demo:tree:edit']" link type="primary" icon="Edit" @click="handleUpdate(scope.row)" />
<el-button v-has-permi="['demo:tree:edit']" link type="primary" icon="Edit" @click="handleUpdate(scope.row)" />
</el-tooltip>
<el-tooltip content="新增" placement="top">
<el-button v-hasPermi="['demo:tree:add']" link type="primary" icon="Plus" @click="handleAdd(scope.row)" />
<el-button v-has-permi="['demo:tree:add']" link type="primary" icon="Plus" @click="handleAdd(scope.row)" />
</el-tooltip>
<el-tooltip content="删除" placement="top">
<el-button v-hasPermi="['demo:tree:remove']" link type="primary" icon="Delete" @click="handleDelete(scope.row)" />
<el-button v-has-permi="['demo:tree:remove']" link type="primary" icon="Delete" @click="handleDelete(scope.row)" />
</el-tooltip>
</template>
</el-table-column>
@@ -90,6 +90,7 @@
</template>
<script setup name="Tree" lang="ts">
import RightToolbar from '@/components/RightToolbar/index.vue';
import { listTree, getTree, delTree, addTree, updateTree } from '@/api/demo/tree';
import { TreeVO, TreeQuery, TreeForm } from '@/api/demo/tree/types';

View File

@@ -235,7 +235,7 @@ onMounted(() => {
.input-icon {
height: 40px;
width: 23px;
margin-left: 0px;
margin-left: 0;
margin-right: 16px;
color: #1a75ff;
}

View File

@@ -127,6 +127,7 @@
import { getCache } from '@/api/monitor/cache';
import * as echarts from 'echarts';
import { CacheVO } from '@/api/monitor/cache/types';
import { Monitor, Odometer, PieChart } from '@element-plus/icons-vue';
const cache = ref<Partial<CacheVO>>({});
const commandstats = ref();

View File

@@ -41,20 +41,20 @@
<template #header>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button v-hasPermi="['monitor:logininfor:remove']" type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()">
<el-button v-has-permi="['monitor:logininfor:remove']" type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()">
删除
</el-button>
</el-col>
<el-col :span="1.5">
<el-button v-hasPermi="['monitor:logininfor:remove']" type="danger" plain icon="Delete" @click="handleClean">清空</el-button>
<el-button v-has-permi="['monitor:logininfor:remove']" type="danger" plain icon="Delete" @click="handleClean">清空</el-button>
</el-col>
<el-col :span="1.5">
<el-button v-hasPermi="['monitor:logininfor:unlock']" type="primary" plain icon="Unlock" :disabled="single" @click="handleUnlock">
<el-button v-has-permi="['monitor:logininfor:unlock']" type="primary" plain icon="Unlock" :disabled="single" @click="handleUnlock">
解锁
</el-button>
</el-col>
<el-col :span="1.5">
<el-button v-hasPermi="['monitor:logininfor:export']" type="warning" plain icon="Download" @click="handleExport">导出</el-button>
<el-button v-has-permi="['monitor:logininfor:export']" type="warning" plain icon="Download" @click="handleExport">导出</el-button>
</el-col>
<right-toolbar v-model:show-search="showSearch" @query-table="getList"></right-toolbar>
</el-row>

View File

@@ -49,7 +49,7 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-tooltip content="强退" placement="top">
<el-button v-hasPermi="['monitor:online:forceLogout']" link type="primary" icon="Delete" @click="handleForceLogout(scope.row)">
<el-button v-has-permi="['monitor:online:forceLogout']" link type="primary" icon="Delete" @click="handleForceLogout(scope.row)">
</el-button>
</el-tooltip>
</template>
@@ -64,7 +64,6 @@
<script setup name="Online" lang="ts">
import { forceLogout, list as initData } from '@/api/monitor/online';
import { OnlineQuery, OnlineVO } from '@/api/monitor/online/types';
import api from '@/api/system/user';
import { to } from 'await-to-js';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;

View File

@@ -49,15 +49,15 @@
<template #header>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button v-hasPermi="['monitor:operlog:remove']" type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()">
<el-button v-has-permi="['monitor:operlog:remove']" type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()">
删除
</el-button>
</el-col>
<el-col :span="1.5">
<el-button v-hasPermi="['monitor:operlog:remove']" type="danger" plain icon="WarnTriangleFilled" @click="handleClean">清空</el-button>
<el-button v-has-permi="['monitor:operlog:remove']" type="danger" plain icon="WarnTriangleFilled" @click="handleClean">清空</el-button>
</el-col>
<el-col :span="1.5">
<el-button v-hasPermi="['monitor:operlog:export']" type="warning" plain icon="Download" @click="handleExport">导出</el-button>
<el-button v-has-permi="['monitor:operlog:export']" type="warning" plain icon="Download" @click="handleExport">导出</el-button>
</el-col>
<right-toolbar v-model:show-search="showSearch" @query-table="getList"></right-toolbar>
</el-row>
@@ -116,7 +116,7 @@
<el-table-column label="操作" fixed="right" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-tooltip content="详细" placement="top">
<el-button v-hasPermi="['monitor:operlog:query']" link type="primary" icon="View" @click="handleView(scope.row)"> </el-button>
<el-button v-has-permi="['monitor:operlog:query']" link type="primary" icon="View" @click="handleView(scope.row)"> </el-button>
</el-tooltip>
</template>
</el-table-column>

View File

@@ -52,7 +52,7 @@
<template #prefix><svg-icon icon-class="validCode" class="el-input__icon input-icon" /></template>
</el-input>
<div class="register-code">
<img :src="codeUrl" class="register-code-img" @click="getCode" />
<img alt="验证码" :src="codeUrl" class="register-code-img" @click="getCode" />
</div>
</el-form-item>
<el-form-item style="width: 100%">
@@ -186,7 +186,7 @@ onMounted(() => {
justify-content: center;
align-items: center;
height: 100%;
background-image: url('../assets/images/login-background.jpg');
background-image: url('../assets/images/login-background.png');
background-size: cover;
}
@@ -194,7 +194,7 @@ onMounted(() => {
display: flex;
.title {
margin: 0px auto 30px auto;
margin: 0 auto 30px auto;
text-align: center;
color: #707070;
}

View File

@@ -28,9 +28,9 @@
v-model="activityTime"
format="YYYY-MM-DD HH:mm:ss"
value-format="YYYY-MM-DD HH:mm:ss"
@update:model-value="
(data) => {
if (data && data.length > 0) {
@change="
(data: string[] | null) => {
if (data) {
form.startTime = data[0];
form.endTime = data[1];
} else {
@@ -116,7 +116,7 @@
:on-error="handleError"
:limit="1"
>
<img v-if="form.coverImage" :src="form.coverImage" class="avatar" />
<img alt="活动封面" v-if="form.coverImage" :src="form.coverImage" class="avatar" />
<el-icon v-else class="avatar-uploader-icon"><Plus /></el-icon>
</el-upload>
</el-form-item>
@@ -210,11 +210,13 @@
</div>
</template>
<script setup lang="ts">
import editor from '@/components/Editor/index.vue';
import { ref } from 'vue';
import PageHeader from '@/components/Pageheader/index.vue';
import { addActivity, getActivity, updateActivity } from '@/api/system/Activity';
import { genFileId, UploadFiles, UploadInstance, UploadProps, UploadRawFile } from 'element-plus';
import { genFileId, UploadInstance, UploadProps, UploadRawFile } from 'element-plus';
import AMapLoader from '@amap/amap-jsapi-loader';
import { Plus } from '@element-plus/icons-vue';
const uploadUrl = import.meta.env.VITE_APP_BASE_API + '/activity/uploadImage';
@@ -290,7 +292,7 @@ const activityTime = ref([]);
// 上传文件
const upload = ref<UploadInstance>();
// 上传成功
const handleAvatarSuccess: UploadProps['onSuccess'] = (response, uploadFile) => {
const handleAvatarSuccess: UploadProps['onSuccess'] = (response) => {
if (response.data && response.data.url) {
form.value.coverImage = response.data.url;
}
@@ -305,14 +307,14 @@ const handleExceed: UploadProps['onExceed'] = (files) => {
upload.value?.submit();
};
// 上传失败
const handleError: UploadProps['onError'] = (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => {
const handleError: UploadProps['onError'] = (error: Error) => {
console.log(error);
};
// ! 投诉 ====================================================================================================
// ! 签到 =======================================
const isSignin = ref(false);
// const isSignin = ref(false);
let AMapLi = null;
let map: any = null;
let circle: any = null;
@@ -514,17 +516,17 @@ function handleBack() {
/**
* 销毁地图及所有工具实例(防内存泄漏、重复初始化)
*/
function destroyMapInstance() {
if (map) {
map.destroy();
map = null;
}
mouseTool = null;
geocoder = null;
circle = null;
AMapLi = null;
mapReady.value = false;
}
// function destroyMapInstance() {
// if (map) {
// map.destroy();
// map = null;
// }
// mouseTool = null;
// geocoder = null;
// circle = null;
// AMapLi = null;
// mapReady.value = false;
// }
onUnmounted(() => {
// destroyMapInstance();
});

View File

@@ -20,19 +20,6 @@
<el-card class="flex-1" shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<!-- <el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['activity:activity:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['repair:edit:activity']"
>修改</el-button
>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['activity:activity:remove']"
>删除</el-button
>
</el-col> -->
<right-toolbar
:disable-delete="multiple"
:disable-edit="single"
@@ -60,8 +47,8 @@
<el-table-column label="操作" align="center" width="300px" fixed="right">
<template #default="scope">
<el-button v-if="scope.row.status === '0'" link type="primary" @click="handleSend(scope.row)">发布</el-button>
<el-button link type="primary" @click="handleUpdate(scope.row)" v-hasPermi="['activity:activity:edit']">编辑</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-hasPermi="['activity:activity:remove']">删除</el-button>
<el-button link type="primary" @click="handleUpdate(scope.row)" v-has-permi="['activity:activity:edit']">编辑</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-has-permi="['activity:activity:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
@@ -89,7 +76,7 @@
</template>
<script setup name="Activity" lang="ts">
import { listActivity, delActivity, updateActivity } from '@/api/system/Activity/index';
import { listActivity, delActivity, updateActivity } from '@/api/system/Activity';
import { ActivityVO, ActivityQuery, ActivityForm } from '@/api/system/Activity/type';
import { checkPermi } from '@/utils/permission';
@@ -201,7 +188,7 @@ const handleAdd = () => {
};
/** 修改按钮操作 */
const handleUpdate = async (row?: ActivityVO) => {
const handleUpdate = (row?: ActivityVO) => {
const _id = row?.id || ids.value[0];
router.push({
path: '/repair/editActivity',
@@ -233,17 +220,6 @@ const handleDelete = async (row?: ActivityVO) => {
await getList();
};
/** 导出按钮操作 */
const handleExport = () => {
proxy?.download(
'activity/activity/export',
{
...queryParams.value
},
`activity_${new Date().getTime()}.xlsx`
);
};
onMounted(() => {
getList();
});

View File

@@ -21,7 +21,7 @@
v-on:error="handleAvatarError"
:before-upload="beforeAvatarUpload"
>
<img v-if="form.url" :src="form.url" class="avatar" />
<img v-if="form.url" :src="form.url" class="avatar" alt="" />
<el-icon v-else class="avatar-uploader-icon"><Plus /></el-icon>
<template #tip>
<div class="el-upload__tip">支持jpg, png等格式文件上传文件大小不超过10MB.</div>
@@ -49,9 +49,9 @@ import PageHeader from '@/components/Pageheader/index.vue';
import { addBanner, getBanner, updateBanner } from '@/api/system/Banner';
import { useUserStore } from '@/store/modules/user';
import { UploadProps, UploadRawFile } from 'element-plus';
import { Plus } from '@element-plus/icons-vue';
const uploadUrl = import.meta.env.VITE_APP_BASE_API + '/car/uploadImage';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const router = useRouter();
const route = useRoute();

View File

@@ -20,25 +20,12 @@
<el-card class="flex-1" shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<!-- <el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['banner:banner:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['banner:banner:edit']"
>修改</el-button
>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['banner:banner:remove']"
>删除</el-button
>
</el-col> -->
<right-toolbar
:disable-delete="multiple"
:disable-edit="single"
:show-add="checkPermi(['banner:banner:add'])"
:show-edit="checkPermi(['banner:banner:edit'])"
:show-delete="checkPermi(['banner:banner:remove'])"
:show-edit="false"
:show-delete="false"
@update:add="handleAdd"
@update:edit="handleUpdate()"
@update:delete="handleDelete()"
@@ -77,46 +64,25 @@
<el-table-column label="添加时间" align="center" prop="createTime" />
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
<template #default="scope">
<el-button link type="primary" @click="handleUpdate(scope.row)" v-hasPermi="['banner:banner:edit']">修改</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-hasPermi="['banner:banner:remove']">删除</el-button>
<el-button link type="primary" @click="handleUpdate(scope.row)" v-has-permi="['banner:banner:edit']">修改</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-has-permi="['banner:banner:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
<!-- 添加或修改Banner图管理对话框 -->
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
<el-form ref="bannerFormRef" :model="form" label-width="80px">
<el-form-item label="名称" prop="name">
<el-input v-model="form.name" placeholder="请输入名称" />
</el-form-item>
<el-form-item label="排序" prop="byOrder">
<el-input v-model="form.byOrder" placeholder="请输入排序" />
</el-form-item>
<el-form-item label="小区id" prop="villageId">
<el-input v-model="form.villageId" placeholder="请输入小区id" />
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button :loading="buttonLoading" type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</template>
</el-dialog>
</div>
</template>
<script setup name="Banner" lang="ts">
import { listBanner, getBanner, delBanner, addBanner, updateBanner, switchBanner } from '@/api/system/Banner';
import { listBanner, delBanner, switchBanner } from '@/api/system/Banner';
import { BannerVO, BannerQuery, BannerForm } from '@/api/system/Banner/type';
import { checkPermi } from '@/utils/permission';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const bannerList = ref<BannerVO[]>([]);
const buttonLoading = ref(false);
const loading = ref(true);
const showSearch = ref(true);
const ids = ref<Array<string | number>>([]);
@@ -125,20 +91,13 @@ const multiple = ref(true);
const total = ref(0);
const queryFormRef = ref<ElFormInstance>();
const bannerFormRef = ref<ElFormInstance>();
const dialog = reactive<DialogOption>({
visible: false,
title: ''
});
const initFormData: BannerForm = {
id: undefined,
name: undefined,
status: undefined,
byOrder: undefined,
link: undefined,
villageId: undefined
link: undefined
};
const data = reactive<PageData<BannerForm, BannerQuery>>({
form: { ...initFormData },
@@ -148,12 +107,11 @@ const data = reactive<PageData<BannerForm, BannerQuery>>({
name: undefined,
status: undefined,
byOrder: undefined,
link: undefined,
villageId: undefined
link: undefined
}
});
const { queryParams, form } = toRefs(data);
const { queryParams } = toRefs(data);
/** 查询Banner图管理列表 */
const getList = async () => {
@@ -168,18 +126,6 @@ const getList = async () => {
});
};
/** 取消按钮 */
const cancel = () => {
reset();
dialog.visible = false;
};
/** 表单重置 */
const reset = () => {
form.value = { ...initFormData };
bannerFormRef.value?.resetFields();
};
/** 搜索按钮操作 */
const handleQuery = () => {
queryParams.value.pageNum = 1;
@@ -208,7 +154,7 @@ const handleAdd = () => {
};
/** 修改按钮操作 */
const handleUpdate = async (row?: BannerVO) => {
const handleUpdate = (row?: BannerVO) => {
const _id = row?.id || ids.value[0];
router.push({
path: '/system/editBanner',
@@ -218,23 +164,6 @@ const handleUpdate = async (row?: BannerVO) => {
});
};
/** 提交按钮 */
const submitForm = () => {
bannerFormRef.value?.validate(async (valid: boolean) => {
if (valid) {
buttonLoading.value = true;
if (form.value.id) {
await updateBanner(form.value).finally(() => (buttonLoading.value = false));
} else {
await addBanner(form.value).finally(() => (buttonLoading.value = false));
}
proxy?.$modal.msgSuccess('操作成功');
dialog.visible = false;
await getList();
}
});
};
/** 删除按钮操作 */
const handleDelete = async (row?: BannerVO) => {
const _ids = row?.id || ids.value;
@@ -244,16 +173,6 @@ const handleDelete = async (row?: BannerVO) => {
await getList();
};
/** 导出按钮操作 */
const handleExport = () => {
proxy?.download(
'banner/banner/export',
{
...queryParams.value
},
`banner_${new Date().getTime()}.xlsx`
);
};
function handleSwitch(id: string, status: string) {
switchBanner(id, status).then(() => {
ElMessage.success('操作成功');

View File

@@ -11,50 +11,50 @@
</div>
</template>
<div>
<div class="CarinfoBox">
<div class="carinfo_item">
<div class="carInfoBox">
<div class="carInfo_item">
<div class="label">投诉类型</div>
<div class="main">{{ form.type }}</div>
</div>
<div class="carinfo_item">
<div class="carInfo_item">
<div class="label">投诉人姓名</div>
<div class="main">{{ form.complaintName }}</div>
</div>
<div class="carinfo_item">
<div class="carInfo_item">
<div class="label">手机号码</div>
<div class="main">{{ form.phone }}</div>
</div>
<div class="carinfo_item">
<div class="carInfo_item">
<div class="label">投诉时间</div>
<div class="main">{{ form.createTime }}</div>
</div>
<div class="carinfo_item">
<div class="carInfo_item">
<div class="label">处理状态</div>
<div class="main">
<DictTag :options="com_complaint_status" :value="form.status"></DictTag>
</div>
</div>
</div>
<div class="CarinfoBox signle">
<div class="carinfo_item">
<div class="carInfoBox signLe">
<div class="carInfo_item">
<div class="label">问题描述</div>
<div class="main">{{ form.problemDes }}</div>
</div>
</div>
<div class="CarinfoBox signle">
<div class="carinfo_item">
<div class="carInfoBox signLe">
<div class="carInfo_item">
<div class="label">问题照片</div>
<div class="main">
<el-image
v-for="(item, index) in problemIamgeUrllist"
v-for="(item, index) in problemImageUrlList"
:key="index"
:src="item"
:preview-teleported="true"
:preview-src-list="problemIamgeUrllist"
:preview-src-list="problemImageUrlList"
style="width: 120px; height: 120px; margin-right: 10px"
></el-image>
</div>
@@ -71,7 +71,7 @@
<span>处理情况</span>
</div>
</template>
<div class="formbox">
<div class="formBox">
<el-form ref="formRef" :rules="rules" class="m-auto" :inline="false" label-width="100px" :model="form">
<el-form-item label="处理状态" prop="status">
<el-radio-group v-model="form.status">
@@ -103,11 +103,13 @@
</div>
</template>
<script setup lang="ts">
import DictTag from '@/components/DictTag/index.vue';
import { ref } from 'vue';
import repairUser from '@/components/Holder/repairUser.vue';
import PageHeader from '@/components/Pageheader/index.vue';
import { getComplaint, updateComplaint } from '@/api/system/Complaint';
import { listComplaintType } from '@/api/system/ComplainType';
import { ResidentVO } from '@/api/system/resident/type';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { com_complaint_status } = toRefs<any>(proxy?.useDict('com_complaint_status'));
@@ -121,7 +123,7 @@ const form = ref({
'problemDes': '',
'complaintName': '',
'phone': '',
'problemIamgeUrl': '',
'problemImageUrl': '',
'status': '1', // 投诉状态 0待处理 1已处理
'handleId': '',
'handleName': '',
@@ -133,7 +135,7 @@ const rules = {
handleContent: [{ required: true, message: '投诉处理内容不能为空', trigger: 'blur' }]
};
const userid = ref();
const problemIamgeUrllist = ref([]);
const problemImageUrlList = ref([]);
// ! 投诉 ====================================================================================================
async function init() {
const res2 = await listComplaintType();
@@ -142,7 +144,7 @@ async function init() {
...form.value,
...res.data
};
problemIamgeUrllist.value = res.data.problemImageUrl ? res.data.problemImageUrl.split(',') : [];
problemImageUrlList.value = res.data.problemImageUrl ? res.data.problemImageUrl.split(',') : [];
form.value.status = '1';
const find = res2.rows.find((item) => item.id === form.value.typeId);
if (find) {
@@ -156,8 +158,7 @@ if (route.query.id) {
init();
}
function handleChange(pop) {
console.log(pop);
function handleChange(pop: ResidentVO) {
form.value.handleId = pop.userId;
form.value.handleName = pop.nickName;
}
@@ -195,14 +196,14 @@ function handleBack() {
flex: 1;
font-size: 14px;
.CarinfoBox {
.carInfoBox {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: repeat(2, 1fr);
gap: 20px;
margin-bottom: 20px;
.carinfo_item {
.carInfo_item {
display: flex;
align-items: center;
.label {
@@ -211,13 +212,13 @@ function handleBack() {
}
}
&.signle {
&.signLe {
grid-template-columns: repeat(1, 1fr);
grid-template-rows: repeat(1, 1fr);
}
}
.formbox {
.formBox {
width: 500px;
margin: 0 auto;
}

View File

@@ -7,7 +7,7 @@
<el-form ref="queryFormRef" label-width="120px" :model="queryParams" :inline="true">
<el-form-item label="投诉类型" prop="typeId">
<el-select v-model="queryParams.typeId" placeholder="请选择投诉类型" style="width: 240px">
<el-option :disabled="item.status === '1'" v-for="item in complaintyTyplist" :key="item.id" :label="item.name" :value="item.id" />
<el-option :disabled="item.status === '1'" v-for="item in complainTypeList" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="投诉人姓名" prop="complaintName">
@@ -36,7 +36,7 @@
</el-table-column>
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
<template #default="scope">
<el-button link type="primary" @click="handleUpdate(scope.row)" v-hasPermi="['complaint:complaint:query']">查看详情</el-button>
<el-button link type="primary" @click="handleUpdate(scope.row)" v-has-permi="['complaint:complaint:query']">查看详情</el-button>
</template>
</el-table-column>
</el-table>
@@ -45,9 +45,8 @@
</el-card>
</div>
</template>
<!-- complaint -->
<script setup name="Complaint" lang="ts">
import { listComplaint, getComplaint, delComplaint, addComplaint, updateComplaint } from '@/api/system/Complaint/index';
import { listComplaint } from '@/api/system/Complaint';
import { ComplaintVO, ComplaintQuery, ComplaintForm } from '@/api/system/Complaint/type';
import { listComplaintType } from '@/api/system/ComplainType';
@@ -55,7 +54,6 @@ const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { com_complaint_status } = toRefs<any>(proxy?.useDict('com_complaint_status'));
const complaintList = ref<ComplaintVO[]>([]);
const buttonLoading = ref(false);
const loading = ref(true);
const showSearch = ref(true);
const ids = ref<Array<string | number>>([]);
@@ -64,12 +62,6 @@ const multiple = ref(true);
const total = ref(0);
const queryFormRef = ref<ElFormInstance>();
const complaintFormRef = ref<ElFormInstance>();
const dialog = reactive<DialogOption>({
visible: false,
title: ''
});
const initFormData: ComplaintForm = {
id: undefined,
@@ -77,7 +69,7 @@ const initFormData: ComplaintForm = {
problemDes: undefined,
complaintName: undefined,
phone: undefined,
problemIamgeUrl: undefined,
problemImageUrl: undefined,
status: undefined,
handleId: undefined,
handleName: undefined,
@@ -92,26 +84,25 @@ const data = reactive<PageData<ComplaintForm, ComplaintQuery>>({
problemDes: undefined,
complaintName: undefined,
phone: undefined,
problemIamgeUrl: undefined,
problemImageUrl: undefined,
status: undefined,
handleId: undefined,
handleName: undefined,
handleContent: undefined,
params: {}
handleContent: undefined
},
rules: {
id: [{ required: true, message: '投诉管理表id不能为空', trigger: 'blur' }]
}
});
const { queryParams, form, rules } = toRefs(data);
const { queryParams } = toRefs(data);
const complaintyTyplist = ref([]);
const complainTypeList = ref([]);
/** 查询投诉管理列表 */
const getList = async () => {
loading.value = true;
const res2 = await listComplaintType();
complaintyTyplist.value = res2.rows;
complainTypeList.value = res2.rows;
listComplaint(queryParams.value)
.then((res) => {
complaintList.value = res.rows;
@@ -143,7 +134,7 @@ const handleSelectionChange = (selection: ComplaintVO[]) => {
const router = useRouter();
/** 详情按钮操作 */
const handleUpdate = async (row?: ComplaintVO) => {
const handleUpdate = (row?: ComplaintVO) => {
router.push({
path: '/repair/complainMain',
query: {
@@ -152,43 +143,6 @@ const handleUpdate = async (row?: ComplaintVO) => {
});
};
/** 提交按钮 */
const submitForm = () => {
complaintFormRef.value?.validate(async (valid: boolean) => {
if (valid) {
buttonLoading.value = true;
if (form.value.id) {
await updateComplaint(form.value).finally(() => (buttonLoading.value = false));
} else {
await addComplaint(form.value).finally(() => (buttonLoading.value = false));
}
proxy?.$modal.msgSuccess('操作成功');
dialog.visible = false;
await getList();
}
});
};
/** 删除按钮操作 */
const handleDelete = async (row?: ComplaintVO) => {
const _ids = row?.id || ids.value;
await proxy?.$modal.confirm('该信息删除后无法恢复,确定要删除吗?').finally(() => (loading.value = false));
await delComplaint(_ids);
proxy?.$modal.msgSuccess('删除成功');
await getList();
};
/** 导出按钮操作 */
const handleExport = () => {
proxy?.download(
'complaint/complaint/export',
{
...queryParams.value
},
`complaint_${new Date().getTime()}.xlsx`
);
};
onMounted(() => {
getList();
});

View File

@@ -20,31 +20,12 @@
<el-card shadow="never" class="flex-1">
<template #header>
<el-row :gutter="10" class="mb8">
<!-- <el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['complaintType:complaintType:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['complaintType:complaintType:edit']"
>修改</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="Delete"
:disabled="multiple"
@click="handleDelete()"
v-hasPermi="['complaintType:complaintType:remove']"
>删除</el-button
>
</el-col> -->
<right-toolbar
:disable-delete="multiple"
:disable-edit="single"
:show-add="checkPermi(['complaintType:complaintType:add'])"
:show-edit="checkPermi(['complaintType:complaintType:edit'])"
:show-delete="checkPermi(['complaintType:complaintType:remove'])"
:show-edit="false"
:show-delete="false"
@update:add="handleAdd"
@update:edit="handleUpdate()"
@update:delete="handleDelete()"
@@ -73,8 +54,8 @@
</el-table-column>
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
<template #default="scope">
<el-button link type="primary" @click="handleUpdate(scope.row)" v-hasPermi="['complaintType:complaintType:edit']">编辑</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-hasPermi="['complaintType:complaintType:remove']">删除</el-button>
<el-button link type="primary" @click="handleUpdate(scope.row)" v-has-permi="['complaintType:complaintType:edit']">编辑</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-has-permi="['complaintType:complaintType:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
@@ -85,7 +66,7 @@
</template>
<script setup name="ComplaintType" lang="ts">
import { listComplaintType, getComplaintType, delComplaintType, addComplaintType, updateComplaintType } from '@/api/system/ComplainType/index';
import { listComplaintType, delComplaintType } from '@/api/system/ComplainType/index';
import { ComplaintTypeVO, ComplaintTypeQuery, ComplaintTypeForm } from '@/api/system/ComplainType/type';
import { checkPermi } from '@/utils/permission';

View File

@@ -57,7 +57,6 @@ import { ref } from 'vue';
import PageHeader from '@/components/Pageheader/index.vue';
import { addDecoration, getDecoration, updateDecoration } from '@/api/system/Decoration';
import { useHouseStore } from '@/store/modules/house';
import { CascaderValue } from 'element-plus';
import { getHousePathById } from '@/utils/house';
const houseStore = useHouseStore();

View File

@@ -25,20 +25,6 @@
<el-card class="flex-1" shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<!-- <el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['repair:add:decoration']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['repair:edit:decoration']"
>修改</el-button
>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['decoration:decoration:remove']"
>删除</el-button
>
</el-col> -->
<right-toolbar
:disable-delete="multiple"
:disable-edit="single"
@@ -74,14 +60,14 @@
type="primary"
v-if="scope.row.inspectionResult !== '1'"
@click="handleInspection(scope.row, 0, '验收')"
v-hasPermi="['repair:edit:decoration']"
v-has-permi="['repair:edit:decoration']"
>验收</el-button
>
<el-button link type="primary" v-else @click="handleInspection(scope.row, 1, '详情')" v-hasPermi="['decoration:decoration:query']"
<el-button link type="primary" v-else @click="handleInspection(scope.row, 1, '详情')" v-has-permi="['decoration:decoration:query']"
>详情</el-button
>
<el-button link type="primary" @click="handleUpdate(scope.row)" v-hasPermi="['decoration:decoration:edit']">编辑</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-hasPermi="['decoration:decoration:remove']">删除</el-button>
<el-button link type="primary" @click="handleUpdate(scope.row)" v-has-permi="['decoration:decoration:edit']">编辑</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-has-permi="['decoration:decoration:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>

View File

@@ -90,6 +90,7 @@
</template>
<script setup lang="ts">
import editor from '@/components/Editor/index.vue';
import { ref } from 'vue';
import PageHeader from '@/components/Pageheader/index.vue';
import { addHandleLog, getHandleLog, updateHandleLog, uploadAttachments } from '@/api/system/HandleLog';

View File

@@ -55,8 +55,8 @@
</el-table-column>
<el-table-column label="操作" width="200" align="center" fixed="right" class-name="small-padding fixed-width">
<template #default="scope">
<el-button link type="primary" @click="handleUpdate(scope.row)" v-hasPermi="['handleLog:handleLog:edit']">编辑</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-hasPermi="['handleLog:handleLog:remove']">删除</el-button>
<el-button link type="primary" @click="handleUpdate(scope.row)" v-has-permi="['handleLog:handleLog:edit']">编辑</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-has-permi="['handleLog:handleLog:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
@@ -83,7 +83,7 @@
</template>
<script setup name="HandleLog" lang="ts">
import { listHandleLog, getHandleLog, delHandleLog, addHandleLog, updateHandleLog } from '@/api/system/HandleLog/index';
import { listHandleLog, delHandleLog } from '@/api/system/HandleLog/index';
import { HandleLogVO, HandleLogQuery, HandleLogForm } from '@/api/system/HandleLog/type';
import { checkPermi } from '@/utils/permission';

View File

@@ -20,37 +20,12 @@
<el-card class="flex-1" shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<!-- <el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['houseFacilities:houseFacilities:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="Edit"
:disabled="single"
@click="handleUpdate()"
v-hasPermi="['houseFacilities:houseFacilities:edit']"
>修改</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="Delete"
:disabled="multiple"
@click="handleDelete()"
v-hasPermi="['houseFacilities:houseFacilities:remove']"
>删除</el-button
>
</el-col> -->
<right-toolbar
:disable-delete="multiple"
:disable-edit="single"
:show-add="checkPermi(['houseFacilities:houseFacilities:add'])"
:show-edit="checkPermi(['houseFacilities:houseFacilities:edit'])"
:show-delete="checkPermi(['houseFacilities:houseFacilities:remove'])"
:show-edit="false"
:show-delete="false"
@update:add="handleAdd"
@update:edit="handleUpdate()"
@update:delete="handleDelete()"
@@ -68,8 +43,8 @@
</el-table-column>
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
<template #default="scope">
<el-button link type="primary" @click="handleUpdate(scope.row)" v-hasPermi="['houseFacilities:houseFacilities:edit']">编辑</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-hasPermi="['houseFacilities:houseFacilities:remove']">删除</el-button>
<el-button link type="primary" @click="handleUpdate(scope.row)" v-has-permi="['houseFacilities:houseFacilities:edit']">编辑</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-has-permi="['houseFacilities:houseFacilities:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
@@ -80,13 +55,7 @@
</template>
<script setup name="HouseFacilities" lang="ts">
import {
listHouseFacilities,
getHouseFacilities,
delHouseFacilities,
addHouseFacilities,
updateHouseFacilities
} from '@/api/system/HouseFacilities/index';
import { listHouseFacilities, delHouseFacilities } from '@/api/system/HouseFacilities';
import { HouseFacilitiesVO, HouseFacilitiesQuery, HouseFacilitiesForm } from '@/api/system/HouseFacilities/type';
import { checkPermi } from '@/utils/permission';

View File

@@ -90,6 +90,7 @@
<script setup lang="ts">
import { ref } from 'vue';
import LicensePlateInput from '@/components/LicensePlateInput/index.vue';
import PageHeader from '@/components/Pageheader/index.vue';
import { addMonthCard, getMonthCard, updateMonthCard } from '@/api/system/MonthCard';
import { LicensePlateValidator, validator } from '@/utils/Reg';

View File

@@ -26,15 +26,15 @@
<template #header>
<el-row :gutter="10" class="mb8">
<!-- <el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['carArea:add:monthcard']">新增</el-button>
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-has-permi="['carArea:add:monthcard']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['carArea:edit:monthcard']"
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-has-permi="['carArea:edit:monthcard']"
>修改</el-button
>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['monthCard:monthCard:remove']"
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-has-permi="['monthCard:monthCard:remove']"
>删除</el-button
>
</el-col> -->
@@ -79,8 +79,8 @@
<el-table-column label="备注" show-overflow-tooltip align="center" prop="remark"></el-table-column>
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
<template #default="scope">
<el-button link type="primary" @click="handleUpdate(scope.row)" v-hasPermi="['monthCard:monthCard:edit']">修改</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-hasPermi="['monthCard:monthCard:remove']">删除</el-button>
<el-button link type="primary" @click="handleUpdate(scope.row)" v-has-permi="['monthCard:monthCard:edit']">修改</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-has-permi="['monthCard:monthCard:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
@@ -138,7 +138,7 @@
</template>
<script setup name="MonthCard" lang="ts">
import { listMonthCard, getMonthCard, delMonthCard, addMonthCard, updateMonthCard } from '@/api/system/MonthCard/index';
import { listMonthCard, delMonthCard, addMonthCard, updateMonthCard } from '@/api/system/MonthCard/index';
import { MonthCardVO, MonthCardQuery, MonthCardForm } from '@/api/system/MonthCard/type';
import { checkPermi } from '@/utils/permission';
import { diffDays } from '@/utils/time';

View File

@@ -65,9 +65,10 @@
</div>
</template>
<script setup lang="ts">
import editor from '@/components/Editor/index.vue';
import { ref } from 'vue';
import PageHeader from '@/components/Pageheader/index.vue';
import { addNotice, getNotice } from '@/api/system/NoticePc/index';
import { addNotice, getNotice } from '@/api/system/NoticePc';
import { updateNotice } from '@/api/system/NoticePc';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { com_noticepc_level } = toRefs<any>(proxy?.useDict('com_noticepc_level'));

View File

@@ -21,15 +21,15 @@
<template #header>
<el-row :gutter="10" class="mb8">
<!-- <el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['repair:add:noticepc']">新增</el-button>
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-has-permi="['repair:add:noticepc']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['repair:edit:noticepc']"
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-has-permi="['repair:edit:noticepc']"
>修改</el-button
>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['notice:notice:remove']"
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-has-permi="['notice:notice:remove']"
>删除</el-button
>
</el-col> -->
@@ -70,8 +70,8 @@
</el-table-column>
<el-table-column label="操作" align="center" width="220" fixed="right" class-name="small-padding fixed-width">
<template #default="scope">
<el-button link type="primary" @click="handleUpdate(scope.row)" v-hasPermi="['notice:notice:edit']">编辑</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-hasPermi="['notice:notice:remove']">删除</el-button>
<el-button link type="primary" @click="handleUpdate(scope.row)" v-has-permi="['notice:notice:edit']">编辑</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-has-permi="['notice:notice:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
@@ -82,7 +82,7 @@
</template>
<script setup name="Notice" lang="ts">
import { listNotice, getNotice, delNotice, addNotice, updateNotice } from '@/api/system/NoticePc/index';
import { listNotice, delNotice } from '@/api/system/NoticePc/index';
import { NoticeVO, NoticeQuery, NoticeForm } from '@/api/system/NoticePc/type';
import { checkPermi } from '@/utils/permission';

View File

@@ -3,7 +3,7 @@
<Pageheader></Pageheader>
<div class="NotificationBody">
<ul class="lefttabs">
<div style="height: 50px"></div>
<li style="height: 50px"></li>
<li
:class="{
active: activeTabs === 1

View File

@@ -1,6 +1,6 @@
<template>
<div class="p-2 h-full flex flex-col">
<pageheader title="停车缴费管理"></pageheader>
<pageHeader title="停车缴费管理"></pageHeader>
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover">
@@ -23,19 +23,6 @@
<el-card class="flex-1" shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<!-- <el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['carArea:add:parkingcost']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['carArea:edit:parkingcost']"
>修改</el-button
>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['parkingCost:parkingCost:remove']"
>删除</el-button
>
</el-col> -->
<right-toolbar
:disable-delete="multiple"
:disable-edit="single"
@@ -83,21 +70,22 @@
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
<template #default="scope">
<el-button link type="primary" @click="handleUpdate(scope.row)" v-hasPermi="['parkingCost:parkingCost:edit']">修改</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-hasPermi="['parkingCost:parkingCost:remove']">删除</el-button>
<el-button link type="primary" @click="handleUpdate(scope.row)" v-has-permi="['parkingCost:parkingCost:edit']">修改</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-has-permi="['parkingCost:parkingCost:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
<Pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
</div>
</template>
<script setup name="ParkingCost" lang="ts">
import { listArea } from '@/api/system/carArea';
import { listParking } from '@/api/system/parking';
import { listParkingCost, getParkingCost, delParkingCost, addParkingCost, updateParkingCost } from '@/api/system/ParkingCost';
import Pagination from '@/components/Pagination/index.vue';
import pageHeader from '@/components/Pageheader/index.vue';
import RightToolbar from '@/components/RightToolbar/index.vue';
import { listParkingCost, delParkingCost } from '@/api/system/ParkingCost';
import { ParkingCostVO, ParkingCostQuery, ParkingCostForm } from '@/api/system/ParkingCost/type';
import { checkPermi } from '@/utils/permission';
import { formatTimeDiff } from '@/utils/time';

View File

@@ -115,8 +115,7 @@ init();
.container_box {
background-color: white;
font-size: 16px;
padding: 20px;
padding-bottom: 60px;
padding: 20px 20px 60px;
}
.contentBox {
width: 1200px;

View File

@@ -64,8 +64,7 @@ import Holder from '@/components/Holder/index.vue';
import QuestionnaireEdit from './components/QuestionnaireEdit.vue';
import PageHeader from '@/components/Pageheader/index.vue';
import { Delete, DocumentAdd } from '@element-plus/icons-vue';
import { QuestionComponentnaireForm, QuestionnaireForm, QuestionnaireVO } from '@/api/system/Questionnaire/type';
import { QuestionComponentnaireForm } from '@/api/system/Questionnaire/type';
import { addQuestionnaire, getQuestionnaire, updateQuestionnaire } from '@/api/system/Questionnaire';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
@@ -74,7 +73,6 @@ const { com_questionnaire_scope } = toRefs<any>(proxy?.useDict('com_questionnair
const router = useRouter();
const route = useRoute();
import { useHouseStore } from '@/store/modules/house';
import { listResident } from '@/api/system/resident';
const form = ref({

View File

@@ -103,7 +103,7 @@
<script setup lang="ts" name="QuestionnaireEdit">
import draggable from 'vuedraggable';
import { Plus, Delete, Rank, Tickets, Document, Edit } from '@element-plus/icons-vue';
import { Delete, Rank, Tickets, Document, Edit } from '@element-plus/icons-vue';
import { ComponentItem, QuestionComponentItem, QuestionComponentnaireForm } from '@/api/system/Questionnaire/type';
import { ElMessage } from 'element-plus'; // 👈 补充引入
// ==================== Props & Emit ====================

View File

@@ -1,6 +1,6 @@
<template>
<div class="flex flex-col h-full p-2">
<Pageheader></Pageheader>
<pageHeader></pageHeader>
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover">
@@ -19,29 +19,9 @@
</el-card>
</div>
</transition>
<!-- TODO 删除问题 -->
<el-card class="flex-1" shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<!-- <el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['repair:add:questionnaire']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['repair:edit:questionnaire']"
>修改</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="Delete"
:disabled="multiple"
@click="handleDelete()"
v-hasPermi="['questionnaire:questionnaire:remove']"
>删除</el-button
>
</el-col> -->
<right-toolbar
:disable-delete="multiple"
:disable-edit="single"
@@ -72,20 +52,24 @@
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" fixed="right" width="200">
<template #default="scope">
<el-button link type="primary" @click="handleView(scope.row)" v-hasPermi="['questionnaire:questionnaire:query']">查看</el-button>
<el-button link type="primary" @click="handleUpdate(scope.row)" v-hasPermi="['questionnaire:questionnaire:edit']">编辑</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-hasPermi="['questionnaire:questionnaire:remove']">删除</el-button>
<el-button link type="primary" @click="handleView(scope.row)" v-has-permi="['questionnaire:questionnaire:query']">查看</el-button>
<el-button link type="primary" @click="handleUpdate(scope.row)" v-has-permi="['questionnaire:questionnaire:edit']">编辑</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-has-permi="['questionnaire:questionnaire:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
<Pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
</div>
</template>
<script setup name="Questionnaire" lang="ts">
import { listQuestionnaire, getQuestionnaire, delQuestionnaire, addQuestionnaire, updateQuestionnaire } from '@/api/system/Questionnaire/index';
import Pagination from '@/components/Pagination/index.vue';
import pageHeader from '@/components/Pageheader/index.vue';
import RightToolbar from '@/components/RightToolbar/index.vue';
import DictTag from '@/components/DictTag/index.vue';
import { listQuestionnaire, delQuestionnaire, addQuestionnaire, updateQuestionnaire } from '@/api/system/Questionnaire';
import { QuestionnaireVO, QuestionnaireQuery, QuestionnaireForm } from '@/api/system/Questionnaire/type';
import { checkPermi } from '@/utils/permission';

View File

@@ -106,13 +106,14 @@
<script setup lang="ts">
import { ref } from 'vue';
import PageHeader from '@/components/Pageheader/index.vue';
import { convertBuildingToTree, hasFormData } from '@/utils/house';
import { hasFormData } from '@/utils/house';
import Holder from '@/components/Holder/index.vue';
import { UploadProps, UploadUserFile } from 'element-plus';
import { addRepair, getRepair, updateRepair, uploadRepairImages } from '@/api/system/Repair';
import { gettreelistRepairProject } from '@/api/system/RepairProject';
import { useHouseStore } from '@/store/modules/house';
import { validator } from '@/utils/Reg';
import { Plus } from '@element-plus/icons-vue';
const houseStore = useHouseStore();
const { treedata } = storeToRefs(houseStore);

View File

@@ -1,6 +1,6 @@
<template>
<div class="h-full flex flex-col p-2">
<Pageheader title="报修管理"></Pageheader>
<pageHeader title="报修管理"></pageHeader>
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover">
@@ -32,19 +32,6 @@
<el-card class="flex-1" shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<!-- <el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['repair:add:repair']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['repair:edit:repair']"
>修改</el-button
>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['repair:repair:remove']"
>删除</el-button
>
</el-col> -->
<right-toolbar
:disable-delete="multiple"
:disable-edit="single"
@@ -78,11 +65,11 @@
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
<template #default="scope">
<el-button link type="primary" @click="handleShare(scope.row)" v-hasPermi="['repair:repair:query']">{{
<el-button link type="primary" @click="handleShare(scope.row)" v-has-permi="['repair:repair:query']">{{
scope.row.problemStatus === '0' ? '分配' : '详情'
}}</el-button>
<el-button link type="primary" @click="handleUpdate(scope.row)" v-hasPermi="['repair:repair:edit']">编辑</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-hasPermi="['repair:repair:remove']">删除</el-button>
<el-button link type="primary" @click="handleUpdate(scope.row)" v-has-permi="['repair:repair:edit']">编辑</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-has-permi="['repair:repair:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
@@ -93,7 +80,11 @@
</template>
<script setup name="Repair" lang="ts">
import { listRepair, delRepair } from '@/api/system/Repair/index';
import Pagination from '@/components/Pagination/index.vue';
import pageHeader from '@/components/Pageheader/index.vue';
import RightToolbar from '@/components/RightToolbar/index.vue';
import DictTag from '@/components/DictTag/index.vue';
import { listRepair, delRepair } from '@/api/system/Repair';
import { RepairVO, RepairQuery, RepairForm } from '@/api/system/Repair/type';
import { checkPermi } from '@/utils/permission';

View File

@@ -153,7 +153,7 @@ import repairUser from '@/components/Holder/repairUser.vue';
import PageHeader from '@/components/Pageheader/index.vue';
import { getRepair, updateRepair } from '@/api/system/Repair';
import { RepairVO } from '@/api/system/Repair/type';
import { getRepairProcess, listRepairProcess, updateRepairProcess } from '@/api/system/repairProcess';
import { listRepairProcess, updateRepairProcess } from '@/api/system/repairProcess';
import { splitImages } from '@/utils';
const route = useRoute();

View File

@@ -20,7 +20,7 @@
<el-card class="flex-1" shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<!-- <el-button style="width: 100px" type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['repairProject:repairProject:add']"
<!-- <el-button style="width: 100px" type="primary" plain icon="Plus" @click="handleAdd" v-has-permi="['repairProject:repairProject:add']"
>新增维修类</el-button
>
<el-button
@@ -29,7 +29,7 @@
icon="Delete"
:disabled="multiple"
@click="handleDelete()"
v-hasPermi="['repairProject:repairProject:remove']"
v-has-permi="['repairProject:repairProject:remove']"
>删除</el-button
> -->
<right-toolbar
@@ -37,7 +37,7 @@
:disable-edit="single"
:show-add="checkPermi(['repairProject:repairProject:add'])"
:show-edit="false"
:show-delete="checkPermi(['repairProject:repairProject:remove'])"
:show-delete="false"
@update:add="handleAdd"
@update:edit="handleUpdate()"
@update:delete="handleDelete()"
@@ -97,8 +97,8 @@
</el-table-column>
<el-table-column label="操作" width="350" align="center" fixed="right" class-name="small-padding fixed-width">
<template #default="scope">
<el-button link type="primary" @click="handleUpdate(scope.row)" v-hasPermi="['repairProject:repairProject:edit']">编辑</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-hasPermi="['repairProject:repairProject:remove']">删除</el-button>
<el-button link type="primary" @click="handleUpdate(scope.row)" v-has-permi="['repairProject:repairProject:edit']">编辑</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-has-permi="['repairProject:repairProject:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
@@ -146,14 +146,7 @@
</template>
<script setup name="RepairProject" lang="ts">
import {
listRepairProject,
getRepairProject,
delRepairProject,
addRepairProject,
updateRepairProject,
gettreelistRepairProject
} from '@/api/system/RepairProject/index';
import { listRepairProject, delRepairProject, addRepairProject, updateRepairProject } from '@/api/system/RepairProject';
import { RepairProjectVO, RepairProjectQuery, RepairProjectForm } from '@/api/system/RepairProject/type';
import { checkPermi } from '@/utils/permission';

View File

@@ -1,6 +1,6 @@
<template>
<div class="flex flex-col h-full p-2">
<pageheader></pageheader>
<pageHeader></pageHeader>
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover">
@@ -81,8 +81,8 @@
<el-table-column label="备注" show-overflow-tooltip align="center" prop="remark" />
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
<template #default="scope">
<el-button link type="primary" @click="handleUpdate(scope.row)" v-hasPermi="['chargeItem:chargeItem:edit']">编辑</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-hasPermi="['chargeItem:chargeItem:remove']">删除</el-button>
<el-button link type="primary" @click="handleUpdate(scope.row)" v-has-permi="['chargeItem:chargeItem:edit']">编辑</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-has-permi="['chargeItem:chargeItem:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
@@ -93,7 +93,10 @@
</template>
<script setup name="ChargeItem" lang="ts">
import { listChargeItem, getChargeItem, delChargeItem, addChargeItem, updateChargeItem, changChargeItem } from '@/api/system/SdbChargeItem';
import pageHeader from '@/components/Pageheader/index.vue';
import Pagination from '@/components/Pagination/index.vue';
import DictTag from '@/components/DictTag/index.vue';
import { listChargeItem, delChargeItem, updateChargeItem } from '@/api/system/SdbChargeItem';
import { ChargeItemVO, ChargeItemQuery, ChargeItemForm } from '@/api/system/SdbChargeItem/type';
import { checkPermi } from '@/utils/permission';

View File

@@ -1,6 +1,6 @@
<template>
<div class="p-2 h-full flex flex-col">
<pageheader></pageheader>
<PageHeader></PageHeader>
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover">
@@ -20,25 +20,12 @@
<el-card class="flex-1" shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<!-- <el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['chargeType:chargeType:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['chargeType:chargeType:edit']"
>修改</el-button
>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['chargeType:chargeType:remove']"
>删除</el-button
>
</el-col> -->
<right-toolbar
:disable-delete="multiple"
:disable-edit="single"
:show-add="checkPermi(['chargeType:chargeType:add'])"
:show-edit="checkPermi(['chargeType:chargeType:edit'])"
:show-delete="checkPermi(['chargeType:chargeType:remove'])"
:show-edit="false"
:show-delete="false"
@update:add="handleAdd"
@update:edit="handleUpdate()"
@update:delete="handleDelete()"
@@ -61,8 +48,8 @@
</el-table-column>
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
<template #default="scope">
<el-button link type="primary" @click="handleUpdate(scope.row)" v-hasPermi="['chargeType:chargeType:edit']">修改</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-hasPermi="['chargeType:chargeType:remove']">删除</el-button>
<el-button link type="primary" @click="handleUpdate(scope.row)" v-has-permi="['chargeType:chargeType:edit']">修改</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-has-permi="['chargeType:chargeType:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
@@ -87,8 +74,10 @@
</template>
<script setup name="ChargeType" lang="ts">
import PageHeader from '@/components/Pageheader/index.vue';
import pagination from '@/components/Pagination/index.vue';
import { listChargeType, getChargeType, delChargeType, addChargeType, updateChargeType } from '@/api/system/ChargeType';
import { ChargeTypeVO, ChargeTypeQuery, ChargeTypeForm, ChargeType2Query } from '@/api/system/ChargeType/type';
import { ChargeTypeVO, ChargeTypeForm, ChargeType2Query } from '@/api/system/ChargeType/type';
import { checkPermi } from '@/utils/permission';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;

View File

@@ -38,7 +38,7 @@
<template #header>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['electricityRecord:electricityRecord:add']">新增</el-button>
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-has-permi="['electricityRecord:electricityRecord:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
@@ -47,7 +47,7 @@
icon="Edit"
:disabled="single"
@click="handleUpdate()"
v-hasPermi="['electricityRecord:electricityRecord:edit']"
v-has-permi="['electricityRecord:electricityRecord:edit']"
>修改</el-button
>
</el-col>
@@ -58,12 +58,12 @@
icon="Delete"
:disabled="multiple"
@click="handleDelete()"
v-hasPermi="['electricityRecord:electricityRecord:remove']"
v-has-permi="['electricityRecord:electricityRecord:remove']"
>删除</el-button
>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['electricityRecord:electricityRecord:export']"
<el-button type="warning" plain icon="Download" @click="handleExport" v-has-permi="['electricityRecord:electricityRecord:export']"
>导出</el-button
>
</el-col>
@@ -94,7 +94,7 @@
type="primary"
icon="Edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['electricityRecord:electricityRecord:edit']"
v-has-permi="['electricityRecord:electricityRecord:edit']"
></el-button>
</el-tooltip>
<el-tooltip content="删除" placement="top">
@@ -103,7 +103,7 @@
type="primary"
icon="Delete"
@click="handleDelete(scope.row)"
v-hasPermi="['electricityRecord:electricityRecord:remove']"
v-has-permi="['electricityRecord:electricityRecord:remove']"
></el-button>
</el-tooltip>
</template>
@@ -149,13 +149,14 @@
</template>
<script setup name="ElectricityRecord" lang="ts">
import pagination from '@/components/Pagination/index.vue';
import {
listElectricityRecord,
getElectricityRecord,
delElectricityRecord,
addElectricityRecord,
updateElectricityRecord
} from '@/api/system/SdbElectricityMeterReading/index';
} from '@/api/system/SdbElectricityMeterReading';
import { ElectricityRecordVO, ElectricityRecordQuery, ElectricityRecordForm } from '@/api/system/SdbElectricityMeterReading/type';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;

View File

@@ -1,6 +1,6 @@
<template>
<div class="h-full flex flex-col p-2">
<pageheader></pageheader>
<PageHeader></PageHeader>
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover">
@@ -20,20 +20,6 @@
<el-card class="flex-1" shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<!-- <el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['payRecordList:payRecordList:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="Delete"
:disabled="multiple"
@click="handleDelete()"
v-hasPermi="['payRecordList:payRecordList:remove']"
>删除</el-button
>
</el-col> -->
<right-toolbar
:disable-delete="multiple"
:show-edit="false"
@@ -79,8 +65,8 @@
</el-table-column>
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
<template #default="scope">
<el-button link type="primary" @click="handleMain(scope.row)" v-hasPermi="['sdb:main:payrecord']">明细</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-hasPermi="['payRecord:payRecord:remove']">删除</el-button>
<el-button link type="primary" @click="handleMain(scope.row)" v-has-permi="['sdb:main:payrecord']">明细</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-has-permi="['payRecord:payRecord:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
@@ -166,8 +152,11 @@
</template>
<script setup name="PayRecord" lang="ts">
import { listPayRecord, getPayRecord, delPayRecord, addPayRecord, updatePayRecord } from '@/api/system/SdbPayRecord';
import { PayRecordVO, PayRecordQuery, PayRecordForm } from '@/api/system/SdbPayRecord/type';
import PageHeader from '@/components/Pageheader/index.vue';
import pagination from '@/components/Pagination/index.vue';
import DictTag from '@/components/DictTag/index.vue';
import { listPayRecord, delPayRecord } from '@/api/system/SdbPayRecord';
import { PayRecordVO, PayRecordQuery } from '@/api/system/SdbPayRecord/type';
import { PayRecordListForm } from '@/api/system/SdbPayRecordMain/type';
import { checkPermi } from '@/utils/permission';

View File

@@ -142,7 +142,7 @@
</template>
<script setup name="PayRecordList" lang="ts">
import { listPayRecordList, getPayRecordList, delPayRecordList, addPayRecordList, updatePayRecordList } from '@/api/system/SdbPayRecordMain/index';
import { listPayRecordList, getPayRecordList, addPayRecordList, updatePayRecordList } from '@/api/system/SdbPayRecordMain/index';
import { PayRecordListVO, PayRecordListQuery, PayRecordListForm } from '@/api/system/SdbPayRecordMain/type';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;

View File

@@ -131,7 +131,7 @@ import CarUser from '@/components/Holder/CarUser.vue';
import PageHeader from '@/components/Pageheader/index.vue';
import { listChargeItem } from '@/api/system/SdbChargeItem';
import { getBill, updateBill, addBill, BillHouse, listBillHouse, queryResidentList_holder } from '@/api/system/SdbBill';
import { getBill, updateBill, addBill } from '@/api/system/SdbBill';
import type { DatePickerType } from 'element-plus';
import { formatDate2 } from '@/utils';

View File

@@ -1,6 +1,6 @@
<template>
<div class="p-2 h-full flex flex-col">
<pageheader></pageheader>
<PageHeader></PageHeader>
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover">
@@ -33,10 +33,10 @@
<el-table-column label="收费范围" align="center" prop="chargeScope" width="100">
<template #default="scope">
<template v-if="ShowHouselist.includes(scope.row.chargeTypeId)">
<dict-tag :options="com_bill_charge_scope_house" :value="scope.row.chargeScope"></dict-tag>
<DictTag :options="com_bill_charge_scope_house" :value="scope.row.chargeScope"></DictTag>
</template>
<template v-else>
<dict-tag :options="com_questionnaire_scope" :value="scope.row.chargeScope"></dict-tag>
<DictTag :options="com_questionnaire_scope" :value="scope.row.chargeScope"></DictTag>
</template>
</template>
</el-table-column>
@@ -51,15 +51,15 @@
<template #default="scope">
<div class="flex justify-center" v-if="scope.row.unit">
<span>{{ scope.row.fixedPrice }}</span> /
<dict-tag :options="com_charge_item_unit" :value="scope.row.unit"></dict-tag>
<DictTag :options="com_charge_item_unit" :value="scope.row.unit"></DictTag>
</div>
<span v-else>---</span>
</template>
</el-table-column>
<el-table-column label="操作" width="120" align="center" fixed="right" class-name="small-padding fixed-width">
<template #default="scope">
<el-button link type="primary" @click="handleUpdate(scope.row)" v-hasPermi="['bill:bill:edit']">编辑</el-button>
<el-button link type="primary" @click="handleMain(scope.row)" v-hasPermi="['bill:bill:query']">详情</el-button>
<el-button link type="primary" @click="handleUpdate(scope.row)" v-has-permi="['bill:bill:edit']">编辑</el-button>
<el-button link type="primary" @click="handleMain(scope.row)" v-has-permi="['bill:bill:query']">详情</el-button>
</template>
</el-table-column>
</el-table>
@@ -69,7 +69,10 @@
</template>
<script setup name="Bill" lang="ts">
import { listBill, getBill, delBill, addBill, updateBill } from '@/api/system/SdbBill/index';
import PageHeader from '@/components/Pageheader/index.vue';
import pagination from '@/components/Pagination/index.vue';
import DictTag from '@/components/DictTag/index.vue';
import { listBill } from '@/api/system/SdbBill';
import { BillVO, BillQuery, BillForm } from '@/api/system/SdbBill/type';
import { listChargeItem } from '@/api/system/SdbChargeItem';
import { checkPermi } from '@/utils/permission';
@@ -164,7 +167,7 @@ const handleAdd = () => {
};
/** 修改按钮操作 */
const handleUpdate = async (row?: BillVO) => {
const handleUpdate = (row?: BillVO) => {
router.push({
path: '/sdb/editSdbbill',
query: {
@@ -182,7 +185,6 @@ function handleMain(row) {
});
}
onMounted(() => {
getList();
});

View File

@@ -59,13 +59,11 @@
<script setup lang="ts">
import { ref } from 'vue';
import Holder from '@/components/Holder/index.vue';
import PageHeader from '@/components/Pageheader/index.vue';
import { listChargeItem } from '@/api/system/SdbChargeItem';
import { getBill, updateBill, addBill, listBillHouse } from '@/api/system/SdbBill';
import { getBill, listBillHouse } from '@/api/system/SdbBill';
import type { DatePickerType } from 'element-plus';
import { formatDate, formatDate2 } from '@/utils';
import { Delete } from '@element-plus/icons-vue';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { com_questionnaire_scope } = toRefs<any>(proxy?.useDict('com_questionnaire_scope'));

View File

@@ -108,6 +108,8 @@
</template>
<script setup lang="ts">
import DictTag from '@/components/DictTag/index.vue';
import pagination from '@/components/Pagination/index.vue';
import { ref } from 'vue';
import { billlistType, billQuery, billEdit } from '@/api/system/SdbCashier';
import { moneyAdd } from '@/utils/money';

View File

@@ -114,6 +114,8 @@
</template>
<script setup lang="ts">
import DictTag from '@/components/DictTag/index.vue';
import pagination from '@/components/Pagination/index.vue';
import { ref } from 'vue';
import { billlistType, billPrint, BillPrintType, billQuery } from '@/api/system/SdbCashier';
import { printTicketDiv } from '@/utils/print';

View File

@@ -114,10 +114,10 @@
<el-table-column label="缴费时间" align="center" prop="" />
<el-table-column label="操作" width="220" align="center" fixed="right" class-name="small-padding fixed-width">
<template #default="scope">
<el-button link type="primary" v-if="scope.row.payStatus === '0'" @click="handleIncome(scope.row)" v-hasPermi="['bill:bill:edit']"
<el-button link type="primary" v-if="scope.row.payStatus === '0'" @click="handleIncome(scope.row)" v-has-permi="['bill:bill:edit']"
>收费</el-button
>
<el-button link type="primary" v-if="scope.row.payStatus === '1'" @click="printPIaoJuByOnly(scope.row)" v-hasPermi="['bill:bill:query']"
<el-button link type="primary" v-if="scope.row.payStatus === '1'" @click="printPIaoJuByOnly(scope.row)" v-has-permi="['bill:bill:query']"
>打印票据</el-button
>
</template>

View File

@@ -76,8 +76,7 @@ function routeback() {
background-color: white;
.bodybox {
width: 600px;
margin: 0 auto;
margin-top: 20px;
margin: 20px auto 0;
}
.week-items {
width: 90px;

View File

@@ -36,7 +36,7 @@
<template #header>
<el-row :gutter="10" class="mb8">
<!-- <el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleMarkqrcode" v-hasPermi="['equipment:addqrcode:electricitydevice']"
<el-button type="primary" plain icon="Plus" @click="handleMarkqrcode" v-has-permi="['equipment:addqrcode:electricitydevice']"
>批量生成条形码</el-button
>
</el-col>
@@ -56,7 +56,7 @@
<span>批量下载条形码</span>
</el-dropdown-item>
<!-- </el-dropdown-menu> -->
<!-- <el-dropdown-item v-hasPermi="['equipment:addqrcode:electricitydevice']">
<!-- <el-dropdown-item v-has-permi="['equipment:addqrcode:electricitydevice']">
<div @click="handleMarkqrcode">批量更新固件</div>
</el-dropdown-item> -->
</template>
@@ -112,7 +112,7 @@
<span>{{ scope.row.electricityRecord ? scope.row.electricityRecord.readTime : '--' }}</span>
</template>
</el-table-column>
<!-- <el-table-column width="150" label="启停" align="center" prop="deleted" v-hasPermi="['equipment:isUse:electricitydevice']">
<!-- <el-table-column width="150" label="启停" align="center" prop="deleted" v-has-permi="['equipment:isUse:electricitydevice']">
<template #default="scope">
<el-switch
@change="(val: string) => handleChangeWater(val, scope.row)"
@@ -127,25 +127,25 @@
<el-table-column min-width="120" label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
<template #default="scope">
<div class="actions">
<el-button link type="primary" @click="handleRecode(scope.row)" v-hasPermi="['equipment:view:electricitydevice']">充值记录</el-button>
<el-button link type="primary" @click="handleQrCode(scope.row)" v-hasPermi="['equipment:addqrcode:electricitydevice']"
<el-button link type="primary" @click="handleRecode(scope.row)" v-has-permi="['equipment:view:electricitydevice']">充值记录</el-button>
<el-button link type="primary" @click="handleQrCode(scope.row)" v-has-permi="['equipment:addqrcode:electricitydevice']"
>生成条码</el-button
>
<el-button link type="primary" @click="handleOpenDialog('usedWater', scope.row)" v-hasPermi="['equipment:useWater:electricitydevice']"
<el-button link type="primary" @click="handleOpenDialog('usedWater', scope.row)" v-has-permi="['equipment:useWater:electricitydevice']"
>用电量</el-button
>
<!-- <el-button
link
type="primary"
@click="handleOpenDialog('Upload', scope.row)"
v-hasPermi="['equipment:updatehardware:electricitydevice']"
v-has-permi="['equipment:updatehardware:electricitydevice']"
>更新固件</el-button
> -->
<el-button
link
type="primary"
@click="handleOpenDialog('UpdateHouse', scope.row)"
v-hasPermi="['equipment:edithouse:electricitydevice']"
v-has-permi="['equipment:edithouse:electricitydevice']"
>绑定房屋</el-button
>
<!-- <el-dropdown style="vertical-align: text-top">
@@ -157,13 +157,13 @@
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item>
<div @click="handleOpenDialog('usedWater', scope.row)" v-hasPermi="['equipment:used:electricitydevice']">用电量</div>
<div @click="handleOpenDialog('usedWater', scope.row)" v-has-permi="['equipment:used:electricitydevice']">用电量</div>
</el-dropdown-item>
<el-dropdown-item>
<div @click="handleOpenDialog('Upload', scope.row)" v-hasPermi="['equipment:updatehardware:electricitydevice']">更新固件</div>
<div @click="handleOpenDialog('Upload', scope.row)" v-has-permi="['equipment:updatehardware:electricitydevice']">更新固件</div>
</el-dropdown-item>
<el-dropdown-item>
<div @click="handleOpenDialog('UpdateHouse', scope.row)" v-hasPermi="['equipment:edithouse:electricitydevice']">修改</div>
<div @click="handleOpenDialog('UpdateHouse', scope.row)" v-has-permi="['equipment:edithouse:electricitydevice']">修改</div>
</el-dropdown-item>
</el-dropdown-menu>
</template>
@@ -267,7 +267,7 @@ import { useHouseStore } from '@/store/modules/house';
import { useUserStore } from '@/store/modules/user';
import { checkPermi } from '@/utils/permission';
import { Upload } from '@element-plus/icons-vue';
import { CascaderValue, tourEmits, UploadProps, UploadRawFile } from 'element-plus';
import { CascaderValue, UploadProps, UploadRawFile } from 'element-plus';
import { exportImagesToZip } from '@/utils/exportZip';
const uploadUrl = import.meta.env.VITE_APP_BASE_API + '/electricityDevice/upload';

View File

@@ -1,12 +1,12 @@
<template>
<div class="p-2 h-full flex flex-col">
<Pageheader title="电表管理"></Pageheader>
<pageHeader title="电表管理"></pageHeader>
<div class="flex-1 color-gray flex h-full font-size-6 flex-center">系统还在维护中敬请期待...</div>
</div>
</template>
<script setup lang="ts">
import { ref } from 'vue';
import pageHeader from '@/components/Pageheader/index.vue';
</script>
<style scoped lang="scss"></style>

View File

@@ -1,12 +1,12 @@
<template>
<div class="p-2 h-full flex flex-col">
<Pageheader title="预存款管理"></Pageheader>
<pageHeader title="预存款管理"></pageHeader>
<div class="flex-1 color-gray flex h-full font-size-6 flex-center">系统还在维护中敬请期待...</div>
</div>
</template>
<script setup lang="ts">
import { ref } from 'vue';
import pageHeader from '@/components/Pageheader/index.vue';
</script>
<style scoped lang="scss"></style>

View File

@@ -44,7 +44,7 @@
<el-dropdown-item @click="handleMarkQrcodeZip">
<span>批量下载条形码</span>
</el-dropdown-item>
<!-- <el-dropdown-item v-hasPermi="['equipment:updatehardware:waterdevice']">
<!-- <el-dropdown-item v-has-permi="['equipment:updatehardware:waterdevice']">
<div @click="handleMarkUpload">批量更新固件</div>
</el-dropdown-item> -->
</template>
@@ -97,7 +97,7 @@
<span>{{ scope.row.waterRecord ? scope.row.waterRecord.readTime : '---' }}</span>
</template>
</el-table-column>
<!-- <el-table-column width="150" label="启停" align="center" prop="deleted" v-hasPermi="['equipment:isUse:waterdevice']">
<!-- <el-table-column width="150" label="启停" align="center" prop="deleted" v-has-permi="['equipment:isUse:waterdevice']">
<template #default="scope">
<el-switch
@change="(val: string) => handleChangeWater(val, scope.row)"
@@ -112,24 +112,24 @@
<el-table-column label="操作" min-width="150" align="center" fixed="right" class-name="small-padding fixed-width">
<template #default="scope">
<div class="actions">
<el-button link type="primary" @click="handleRecode(scope.row)" v-hasPermi="['equipment:view:waterdevice']">充值记录</el-button>
<el-button link type="primary" @click="handleRecode(scope.row)" v-has-permi="['equipment:view:waterdevice']">充值记录</el-button>
<el-button
link
type="primary"
:loading="loadingQRCode.includes(scope.row.id)"
@click="handleQrCode(scope.row)"
v-hasPermi="['equipment:addqrcode:waterdevice']"
v-has-permi="['equipment:addqrcode:waterdevice']"
>生成条码</el-button
>
<el-button link type="primary" @click="handleOpenDialog('usedWater', scope.row)" v-hasPermi="['equipment:useWater:waterdevice']"
<el-button link type="primary" @click="handleOpenDialog('usedWater', scope.row)" v-has-permi="['equipment:useWater:waterdevice']"
>用水量</el-button
>
<el-button link type="primary" @click="handleOpenDialog('Upload', scope.row)" v-hasPermi="['equipment:updatehardware:waterdevice']"
<el-button link type="primary" @click="handleOpenDialog('Upload', scope.row)" v-has-permi="['equipment:updatehardware:waterdevice']"
>更新固件</el-button
>
<!-- <el-button link type="primary" @click="handleUpdate(scope.row.deviceCode)">最新抄表记录</el-button> -->
<el-button link type="primary" @click="handleOpenDialog('UpdateHouse', scope.row)" v-hasPermi="['equipment:edithouse:waterdevice']"
<el-button link type="primary" @click="handleOpenDialog('UpdateHouse', scope.row)" v-has-permi="['equipment:edithouse:waterdevice']"
>绑定房屋</el-button
>
<!-- <el-dropdown style="vertical-align: text-top">
@@ -141,13 +141,13 @@
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item>
<div @click="handleOpenDialog('usedWater', scope.row)" v-hasPermi="['equipment:useWater:waterdevice']">用水量</div>
<div @click="handleOpenDialog('usedWater', scope.row)" v-has-permi="['equipment:useWater:waterdevice']">用水量</div>
</el-dropdown-item>
<el-dropdown-item>
<div @click="handleOpenDialog('Upload', scope.row)" v-hasPermi="['equipment:updatehardware:waterdevice']">更新固件</div>
<div @click="handleOpenDialog('Upload', scope.row)" v-has-permi="['equipment:updatehardware:waterdevice']">更新固件</div>
</el-dropdown-item>
<el-dropdown-item>
<div @click="handleOpenDialog('UpdateHouse', scope.row)" v-hasPermi="['equipment:edithouse:waterdevice']">修改</div>
<div @click="handleOpenDialog('UpdateHouse', scope.row)" v-has-permi="['equipment:edithouse:waterdevice']">修改</div>
</el-dropdown-item>
</el-dropdown-menu>
</template>

View File

@@ -1,12 +1,12 @@
<template>
<div class="p-2 h-full flex flex-col">
<Pageheader title="水表管理"></Pageheader>
<pageHeader title="水表管理"></pageHeader>
<div class="flex-1 color-gray flex h-full font-size-6 flex-center">系统还在维护中敬请期待...</div>
</div>
</template>
<script setup lang="ts">
import { ref } from 'vue';
import pageHeader from '@/components/Pageheader/index.vue';
</script>
<style scoped lang="scss"></style>

View File

@@ -26,20 +26,20 @@
<template #header>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['waterRecord:waterRecord:add']">新增</el-button>
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-has-permi="['waterRecord:waterRecord:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['waterRecord:waterRecord:edit']"
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-has-permi="['waterRecord:waterRecord:edit']"
>修改</el-button
>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['waterRecord:waterRecord:remove']"
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-has-permi="['waterRecord:waterRecord:remove']"
>删除</el-button
>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['waterRecord:waterRecord:export']">导出</el-button>
<el-button type="warning" plain icon="Download" @click="handleExport" v-has-permi="['waterRecord:waterRecord:export']">导出</el-button>
</el-col>
<right-toolbar></right-toolbar>
</el-row>
@@ -62,7 +62,7 @@
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
<template #default="scope">
<el-tooltip content="修改" placement="top">
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['waterRecord:waterRecord:edit']"></el-button>
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-has-permi="['waterRecord:waterRecord:edit']"></el-button>
</el-tooltip>
<el-tooltip content="删除" placement="top">
<el-button
@@ -70,7 +70,7 @@
type="primary"
icon="Delete"
@click="handleDelete(scope.row)"
v-hasPermi="['waterRecord:waterRecord:remove']"
v-has-permi="['waterRecord:waterRecord:remove']"
></el-button>
</el-tooltip>
</template>

View File

@@ -1,6 +1,6 @@
<template>
<div class="flex flex-col h-full p-2">
<pageheader></pageheader>
<pageHeader></pageHeader>
<el-card class="flex-1 mt-10px" shadow="never">
<template #header>
<div class="flex justify-between items-center">
@@ -31,11 +31,11 @@
end-placeholder="结束日期"
/>
</el-form-item>
<el-form-item label="" v-hasPermi="['electricity:topupRecord:list']">
<el-form-item label="" v-has-permi="['electricity:topupRecord:list']">
<el-button type="primary" @click="getList">查询</el-button>
</el-form-item>
</el-form>
<el-button @click="handleExport" v-hasPermi="['electricity:topupRecord:export']" type="warning">导出统计</el-button>
<el-button @click="handleExport" v-has-permi="['electricity:topupRecord:export']" type="warning">导出统计</el-button>
</div>
</template>
<el-table v-loading="loading" border :data="topupRecordList">
@@ -86,7 +86,9 @@
</template>
<script setup lang="ts">
import { getElectricityTopupRecordByDate, type TopupRecordList } from '@/api/system/SdbTopupRecord/index';
import pageHeader from '@/components/Pageheader/index.vue';
import pagination from '@/components/Pagination/index.vue';
import { getElectricityTopupRecordByDate, type TopupRecordList } from '@/api/system/SdbTopupRecord';
import { checkPermi } from '@/utils/permission';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;

View File

@@ -31,11 +31,11 @@
end-placeholder="结束日期"
/>
</el-form-item>
<el-form-item label="" v-hasPermi="['water:topupRecord:list']">
<el-form-item label="" v-has-permi="['water:topupRecord:list']">
<el-button type="primary" @click="getList">查询</el-button>
</el-form-item>
</el-form>
<el-button @click="handleExport" v-hasPermi="['water:topupRecord:export']" type="warning">导出统计</el-button>
<el-button @click="handleExport" v-has-permi="['water:topupRecord:export']" type="warning">导出统计</el-button>
</div>
</template>
<el-table v-loading="loading" border :data="topupRecordList">

View File

@@ -1,6 +1,6 @@
<template>
<div class="p-2 h-full flex flex-col">
<Pageheader title="访客信息"></Pageheader>
<PageHeader title="访客信息"></PageHeader>
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover">
@@ -45,18 +45,21 @@
</el-table-column>
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
<template #default="scope">
<el-button link type="primary" @click="handleMain(scope.row)" v-hasPermi="['visitor:visitor:query']">访客详情</el-button>
<el-button link type="primary" @click="handleMain(scope.row)" v-has-permi="['visitor:visitor:query']">访客详情</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
<Pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
</div>
</template>
<script setup name="Visitor" lang="ts">
import { listVisitor } from '@/api/system/Visitor/index';
import Pagination from '@/components/Pagination/index.vue';
import DictTag from '@/components/DictTag/index.vue';
import PageHeader from '@/components/Pageheader/index.vue';
import { listVisitor } from '@/api/system/Visitor';
import { VisitorVO, VisitorQuery, VisitorForm } from '@/api/system/Visitor/type';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
@@ -64,9 +67,7 @@ const { sys_user_sex } = toRefs<any>(proxy?.useDict('sys_user_sex'));
const { com_visitor_status } = toRefs<any>(proxy?.useDict('com_visitor_status'));
const router = useRouter();
// com_visitor_status
const visitorList = ref<VisitorVO[]>([]);
const buttonLoading = ref(false);
const loading = ref(true);
const showSearch = ref(true);
const ids = ref<Array<string | number>>([]);
@@ -74,7 +75,6 @@ const single = ref(true);
const multiple = ref(true);
const total = ref(0);
const queryFormRef = ref<ElFormInstance>();
const visitorFormRef = ref<ElFormInstance>();
const initFormData: VisitorForm = {
id: undefined,
@@ -113,7 +113,7 @@ const data = reactive<PageData<VisitorForm, VisitorQuery>>({
}
});
const { queryParams, form, rules } = toRefs(data);
const { queryParams } = toRefs(data);
/** 查询访客管理列表 */
const getList = async () => {
@@ -144,7 +144,7 @@ const handleSelectionChange = (selection: VisitorVO[]) => {
};
/** 删除按钮操作 */
const handleMain = async (row?: VisitorVO) => {
const handleMain = (row?: VisitorVO) => {
router.push({
path: '/repair/visitorMain',
query: {

View File

@@ -1,6 +1,6 @@
<template>
<div class="AddBuildingBox">
<PageHeader :title="parkingid ? '编辑区域信息' : '添加区域信息'"></PageHeader>
<PageHeader :title="parking ? '编辑区域信息' : '添加区域信息'"></PageHeader>
<div class="AddBuildingBody">
<div class="title">基本信息</div>
<div class="addBuildingFormBody">
@@ -53,7 +53,7 @@
<script setup lang="ts">
import { ref } from 'vue';
import PageHeader from '@/components/Pageheader/index.vue';
import { addArea, getArea, updateArea } from '@/api/system/carArea/index';
import { addArea, getArea, updateArea } from '@/api/system/carArea';
const router = useRouter();
const route = useRoute();
@@ -71,11 +71,11 @@ const rules = ref({
areaName: [{ required: true, message: '请输入区域名称', trigger: 'blur' }],
areaCode: [{ required: true, message: '请输入区域编号', trigger: 'blur' }]
});
const parkingid = ref(null);
const parking = ref(null);
if (route.query.id) {
parkingid.value = route.query.id;
getArea(parkingid.value).then((res) => {
parking.value = route.query.id;
getArea(parking.value).then((res) => {
form.value = {
...form.value,
...res.data
@@ -88,7 +88,7 @@ if (route.query.id) {
const submitForm = () => {
formRef.value?.validate(async (valid: boolean) => {
if (valid) {
if (parkingid.value) {
if (parking.value) {
updateArea(form.value).then(() => {
ElMessage.success('编辑成功');
cancelForm();

View File

@@ -1,6 +1,6 @@
<template>
<div class="p-2 flex w-full h-full flex-column">
<Pageheader title="区域管理"></Pageheader>
<pageHeader title="区域管理"></pageHeader>
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover">
@@ -23,19 +23,6 @@
<el-card shadow="never" class="flex-1">
<template #header>
<el-row :gutter="10" class="mb8">
<!-- <el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['area:area:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['carArea:edit:carArea']"
>修改</el-button
>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['area:area:remove']"
>删除</el-button
>
</el-col> -->
<right-toolbar
:disable-delete="multiple"
:disable-edit="single"
@@ -62,8 +49,8 @@
<el-table-column label="备注" align="center" prop="remark" show-overflow-tooltip />
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
<template #default="scope">
<el-button link type="primary" @click="handleUpdate(scope.row)" v-hasPermi="['area:area:edit']">修改</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-hasPermi="['area:area:remove']">删除</el-button>
<el-button link type="primary" @click="handleUpdate(scope.row)" v-has-permi="['area:area:edit']">修改</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-has-permi="['area:area:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
@@ -74,15 +61,14 @@
</template>
<script setup name="Area" lang="ts">
import Pageheader from '@/components/Pageheader/index.vue';
import { listArea, getArea, delArea, addArea, updateArea } from '@/api/system/carArea/index';
import pageHeader from '@/components/Pageheader/index.vue';
import { listArea, delArea } from '@/api/system/carArea';
import { AreaVO, AreaQuery, AreaForm } from '@/api/system/carArea/type';
import { checkPermi } from '@/utils/permission';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const router = useRouter();
const areaList = ref<AreaVO[]>([]);
const buttonLoading = ref(false);
const loading = ref(true);
const showSearch = ref(true);
const ids = ref<Array<string | number>>([]);
@@ -121,7 +107,7 @@ const data = reactive<PageData<AreaForm, AreaQuery>>({
}
});
const { queryParams, form, rules } = toRefs(data);
const { queryParams } = toRefs(data);
/** 查询车位区域管理列表 */
const getList = async () => {
@@ -163,7 +149,7 @@ const handleAdd = () => {
};
/** 修改按钮操作 */
const handleUpdate = async (row?: AreaVO) => {
const handleUpdate = (row?: AreaVO) => {
const _id = row ? row.id : ids.value[0];
router.push({
path: '/carArea/editCarArea',

View File

@@ -66,7 +66,7 @@
:on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload"
>
<img v-if="form.carImageUrl" :src="form.carImageUrl" class="avatar" />
<img alt="车辆照片" v-if="form.carImageUrl" :src="form.carImageUrl" class="avatar" />
<el-icon v-else class="avatar-uploader-icon"><Plus /></el-icon>
<template #tip>
<span>支持jpg, png等格式文件上传文件大小不超过10MB可上传多张 </span>
@@ -79,15 +79,15 @@
<el-row>
<el-col :span="24">
<el-form-item label="持有人">
<AppUser :isMultiple="false" ref="HolderRef" @change="handleChange">
<AppUser returnable="*" :isMultiple="false" ref="HolderRef" @change="handleChange">
<template #default>
<div class="residentBox" @click="choiceResidentFun">
<div class="defaultbox" v-if="form.residentId === ''">
<div class="defaultbox" v-if="form.residentId === '' || form.userId === ''">
<span>请选择</span>
<el-icon><Search /></el-icon>
</div>
<div v-else class="overflow-auto overflow-hidden w-full text-ellipsis text-nowrap">
<span>姓名{{ form?.residentName }}</span>
<span>姓名{{ form.residentName && form.residentName.trim() !== '' ? form.residentName : form.userName }}</span>
</div>
</div>
</template>
@@ -120,13 +120,13 @@ import Holder from '@/components/Holder/index.vue';
import PageHeader from '@/components/Pageheader/index.vue';
import { listArea } from '@/api/system/carArea';
import { listParking } from '@/api/system/parking';
import { UploadFiles, UploadProps, UploadRawFile, UploadUserFile } from 'element-plus';
import { addCar, getCar, updateCar, uploadCar } from '@/api/system/cars';
import { UploadFiles, UploadProps, UploadRawFile } from 'element-plus';
import { addCar, getCar, updateCar } from '@/api/system/cars';
import { useUserStore } from '@/store/modules/user';
import AppUser from '@/components/Holder/appUser.vue';
import { Plus } from '@element-plus/icons-vue';
const uploadUrl = import.meta.env.VITE_APP_BASE_API + '/car/uploadImage';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const router = useRouter();
const route = useRoute();
@@ -143,6 +143,8 @@ const form = ref({
carModel: '', //车辆型号
carColor: '', //车身颜色
remark: '', //备注
userId: '',
userName: '',
carImageUrl: '' //车辆图片url
});
@@ -255,8 +257,8 @@ const cancelForm = () => {
const holderInfo = ref(null);
const HolderRef = ref<typeof Holder>(null);
function choiceResidentFun() {
if (form.value.residentId) {
HolderRef.value.open([...form.value.residentId]);
if (form.value.userId && form.value.userId.trim() !== '') {
HolderRef.value.open([form.value.userId]);
} else {
HolderRef.value.open([]);
}

View File

@@ -26,15 +26,6 @@
<el-card class="flex-1" shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<!-- <el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['carArea:add:cars']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['carArea:edit:car']">编辑</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['car:car:remove']">删除</el-button>
</el-col> -->
<right-toolbar
:disable-delete="multiple"
:disable-edit="single"
@@ -54,14 +45,14 @@
<el-table-column label="车辆品牌" width="155" align="center" prop="carBrand" />
<el-table-column label="车辆型号" width="155" align="center" prop="carModel" />
<el-table-column label="车身颜色" width="125" align="center" prop="carColor" />
<el-table-column label="持有人" width="155" align="center" prop="residentId">
<template #default="scope"> {{ getResidentName(scope.row.residentId) }} </template>
<el-table-column label="持有人" width="155" align="center" prop="userName">
<template #default="scope"> {{ scope.row.userName }} </template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" show-overflow-tooltip />
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
<template #default="scope">
<el-button link type="primary" @click="handleUpdate(scope.row)" v-hasPermi="['car:car:edit']">修改</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-hasPermi="['car:car:remove']">删除</el-button>
<el-button link type="primary" @click="handleUpdate(scope.row)" v-has-permi="['car:car:edit']">修改</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-has-permi="['car:car:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
@@ -73,7 +64,7 @@
<script setup name="Car" lang="ts">
import Pageheader from '@/components/Pageheader/index.vue';
import { listCar, getCar, delCar, addCar, updateCar } from '@/api/system/cars/index';
import { listCar, delCar } from '@/api/system/cars/index';
import { CarVO, CarQuery, CarForm } from '@/api/system/cars/type';
import { listResident } from '@/api/system/resident';
import { checkPermi } from '@/utils/permission';
@@ -122,28 +113,18 @@ const data = reactive<PageData<CarForm, CarQuery>>({
carBrand: undefined,
carModel: undefined,
carColor: undefined,
carImageUrl: undefined,
params: {}
carImageUrl: undefined
},
rules: {
id: [{ required: true, message: '车辆管理表id不能为空', trigger: 'blur' }]
}
});
const { queryParams, form, rules } = toRefs(data);
/** 持有人 */
const ResidentList = ref([]);
const getResidentName = (id: string) => {
const find = ResidentList.value.find((item) => item.id === id);
if (!find) return '--';
return find.name;
};
const { queryParams } = toRefs(data);
/** 查询车辆管理列表 */
const getList = async () => {
loading.value = true;
listCar(queryParams.value)
.then((res) => {
carList.value = res.rows;
@@ -152,9 +133,6 @@ const getList = async () => {
.finally(() => {
loading.value = false;
});
const res1 = await listResident();
ResidentList.value = res1.rows;
loading.value = false;
};
/** 搜索按钮操作 */

View File

@@ -27,20 +27,20 @@
<template #header>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button v-hasPermi="['system:client:add']" type="primary" plain icon="Plus" @click="handleAdd">新增</el-button>
<el-button v-has-permi="['system:client:add']" type="primary" plain icon="Plus" @click="handleAdd">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button v-hasPermi="['system:client:edit']" type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()">
<el-button v-has-permi="['system:client:edit']" type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()">
修改
</el-button>
</el-col>
<el-col :span="1.5">
<el-button v-hasPermi="['system:client:remove']" type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()">
<el-button v-has-permi="['system:client:remove']" type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()">
删除
</el-button>
</el-col>
<el-col :span="1.5">
<el-button v-hasPermi="['system:client:export']" type="warning" plain icon="Download" @click="handleExport">导出</el-button>
<el-button v-has-permi="['system:client:export']" type="warning" plain icon="Download" @click="handleExport">导出</el-button>
</el-col>
<right-toolbar v-model:show-search="showSearch" @query-table="getList"></right-toolbar>
</el-row>
@@ -72,10 +72,10 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-tooltip content="修改" placement="top">
<el-button v-hasPermi="['system:client:edit']" link type="primary" icon="Edit" @click="handleUpdate(scope.row)"></el-button>
<el-button v-has-permi="['system:client:edit']" link type="primary" icon="Edit" @click="handleUpdate(scope.row)"></el-button>
</el-tooltip>
<el-tooltip content="删除" placement="top">
<el-button v-hasPermi="['system:client:remove']" link type="primary" icon="Delete" @click="handleDelete(scope.row)"></el-button>
<el-button v-has-permi="['system:client:remove']" link type="primary" icon="Delete" @click="handleDelete(scope.row)"></el-button>
</el-tooltip>
</template>
</el-table-column>
@@ -145,6 +145,7 @@
<script setup name="Client" lang="ts">
import { listClient, getClient, delClient, addClient, updateClient, changeStatus } from '@/api/system/client';
import { ClientVO, ClientQuery, ClientForm } from '@/api/system/client/types';
import { QuestionFilled } from '@element-plus/icons-vue';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { sys_normal_disable } = toRefs<any>(proxy?.useDict('sys_normal_disable'));

View File

@@ -38,23 +38,23 @@
<template #header>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button v-hasPermi="['system:config:add']" type="primary" plain icon="Plus" @click="handleAdd">新增</el-button>
<el-button v-has-permi="['system:config:add']" type="primary" plain icon="Plus" @click="handleAdd">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button v-hasPermi="['system:config:edit']" type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()">
<el-button v-has-permi="['system:config:edit']" type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()">
修改
</el-button>
</el-col>
<el-col :span="1.5">
<el-button v-hasPermi="['system:config:remove']" type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()">
<el-button v-has-permi="['system:config:remove']" type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()">
删除
</el-button>
</el-col>
<el-col :span="1.5">
<el-button v-hasPermi="['system:config:export']" type="warning" plain icon="Download" @click="handleExport">导出</el-button>
<el-button v-has-permi="['system:config:export']" type="warning" plain icon="Download" @click="handleExport">导出</el-button>
</el-col>
<el-col :span="1.5">
<el-button v-hasPermi="['system:config:remove']" type="danger" plain @click="handleRefreshCache">刷新缓存</el-button>
<el-button v-has-permi="['system:config:remove']" type="danger" plain @click="handleRefreshCache">刷新缓存</el-button>
</el-col>
<right-toolbar v-model:show-search="showSearch" @query-table="getList"></right-toolbar>
</el-row>
@@ -80,10 +80,10 @@
<el-table-column label="操作" align="center" width="150" class-name="small-padding fixed-width">
<template #default="scope">
<el-tooltip content="修改" placement="top">
<el-button v-hasPermi="['system:config:edit']" link type="primary" icon="Edit" @click="handleUpdate(scope.row)"></el-button>
<el-button v-has-permi="['system:config:edit']" link type="primary" icon="Edit" @click="handleUpdate(scope.row)"></el-button>
</el-tooltip>
<el-tooltip content="删除" placement="top">
<el-button v-hasPermi="['system:config:remove']" link type="primary" icon="Delete" @click="handleDelete(scope.row)"></el-button>
<el-button v-has-permi="['system:config:remove']" link type="primary" icon="Delete" @click="handleDelete(scope.row)"></el-button>
</el-tooltip>
</template>
</el-table-column>

View File

@@ -28,7 +28,7 @@
<template #header>
<el-row :gutter="10">
<el-col :span="1.5">
<el-button v-hasPermi="['system:dept:add']" type="primary" plain icon="Plus" @click="handleAdd()">新增 </el-button>
<el-button v-has-permi="['system:dept:add']" type="primary" plain icon="Plus" @click="handleAdd()">新增 </el-button>
</el-col>
<el-col :span="1.5">
<el-button type="info" plain icon="Sort" @click="handleToggleExpandAll">展开/折叠</el-button>
@@ -62,13 +62,13 @@
<el-table-column fixed="right" align="center" label="操作">
<template #default="scope">
<el-tooltip content="修改" placement="top">
<el-button v-hasPermi="['system:dept:edit']" link type="primary" icon="Edit" @click="handleUpdate(scope.row)" />
<el-button v-has-permi="['system:dept:edit']" link type="primary" icon="Edit" @click="handleUpdate(scope.row)" />
</el-tooltip>
<el-tooltip content="新增" placement="top">
<el-button v-hasPermi="['system:dept:add']" link type="primary" icon="Plus" @click="handleAdd(scope.row)" />
<el-button v-has-permi="['system:dept:add']" link type="primary" icon="Plus" @click="handleAdd(scope.row)" />
</el-tooltip>
<el-tooltip content="删除" placement="top">
<el-button v-hasPermi="['system:dept:remove']" link type="primary" icon="Delete" @click="handleDelete(scope.row)" />
<el-button v-has-permi="['system:dept:remove']" link type="primary" icon="Delete" @click="handleDelete(scope.row)" />
</el-tooltip>
</template>
</el-table-column>

View File

@@ -38,15 +38,15 @@
</div>
<div class="dict-actions">
<el-button v-hasPermi="['system:dict:add']" type="primary" plain icon="Plus" @click="handleTypeAdd">新增</el-button>
<el-button v-hasPermi="['system:dict:edit']" type="success" plain icon="Edit" :disabled="typeSingle" @click="handleTypeUpdate()"
<el-button v-has-permi="['system:dict:add']" type="primary" plain icon="Plus" @click="handleTypeAdd">新增</el-button>
<el-button v-has-permi="['system:dict:edit']" type="success" plain icon="Edit" :disabled="typeSingle" @click="handleTypeUpdate()"
>修改</el-button
>
<el-button v-hasPermi="['system:dict:remove']" type="danger" plain icon="Delete" :disabled="typeMultiple" @click="handleTypeDelete()"
<el-button v-has-permi="['system:dict:remove']" type="danger" plain icon="Delete" :disabled="typeMultiple" @click="handleTypeDelete()"
>删除</el-button
>
<el-button v-hasPermi="['system:dict:export']" type="warning" plain icon="Download" @click="handleTypeExport">导出</el-button>
<el-button v-hasPermi="['system:dict:remove']" type="danger" plain icon="Refresh" @click="handleRefreshCache">刷新缓存</el-button>
<el-button v-has-permi="['system:dict:export']" type="warning" plain icon="Download" @click="handleTypeExport">导出</el-button>
<el-button v-has-permi="['system:dict:remove']" type="danger" plain icon="Refresh" @click="handleRefreshCache">刷新缓存</el-button>
</div>
<div class="dict-table-wrap">
@@ -76,10 +76,16 @@
<el-table-column label="操作" fixed="right" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-tooltip content="修改" placement="top">
<el-button v-hasPermi="['system:dict:edit']" link type="primary" icon="Edit" @click="handleTypeUpdate(scope.row)"></el-button>
<el-button v-has-permi="['system:dict:edit']" link type="primary" icon="Edit" @click="handleTypeUpdate(scope.row)"></el-button>
</el-tooltip>
<el-tooltip content="删除" placement="top">
<el-button v-hasPermi="['system:dict:remove']" link type="primary" icon="Delete" @click="handleTypeDelete(scope.row)"></el-button>
<el-button
v-has-permi="['system:dict:remove']"
link
type="primary"
icon="Delete"
@click="handleTypeDelete(scope.row)"
></el-button>
</el-tooltip>
</template>
</el-table-column>
@@ -127,11 +133,11 @@
</div>
<div class="dict-actions">
<el-button v-hasPermi="['system:dict:add']" type="primary" plain icon="Plus" :disabled="!hasCurrentDict" @click="handleDataAdd"
<el-button v-has-permi="['system:dict:add']" type="primary" plain icon="Plus" :disabled="!hasCurrentDict" @click="handleDataAdd"
>新增</el-button
>
<el-button
v-hasPermi="['system:dict:edit']"
v-has-permi="['system:dict:edit']"
type="success"
plain
icon="Edit"
@@ -140,7 +146,7 @@
>修改</el-button
>
<el-button
v-hasPermi="['system:dict:remove']"
v-has-permi="['system:dict:remove']"
type="danger"
plain
icon="Delete"
@@ -148,7 +154,7 @@
@click="handleDataDelete()"
>删除</el-button
>
<el-button v-hasPermi="['system:dict:export']" type="warning" plain icon="Download" :disabled="!hasCurrentDict" @click="handleDataExport"
<el-button v-has-permi="['system:dict:export']" type="warning" plain icon="Download" :disabled="!hasCurrentDict" @click="handleDataExport"
>导出</el-button
>
</div>
@@ -184,10 +190,16 @@
<el-table-column label="操作" fixed="right" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-tooltip content="修改" placement="top">
<el-button v-hasPermi="['system:dict:edit']" link type="primary" icon="Edit" @click="handleDataUpdate(scope.row)"></el-button>
<el-button v-has-permi="['system:dict:edit']" link type="primary" icon="Edit" @click="handleDataUpdate(scope.row)"></el-button>
</el-tooltip>
<el-tooltip content="删除" placement="top">
<el-button v-hasPermi="['system:dict:remove']" link type="primary" icon="Delete" @click="handleDataDelete(scope.row)"></el-button>
<el-button
v-has-permi="['system:dict:remove']"
link
type="primary"
icon="Delete"
@click="handleDataDelete(scope.row)"
></el-button>
</el-tooltip>
</template>
</el-table-column>
@@ -613,6 +625,7 @@ onMounted(() => {
<style lang="scss" scoped>
.dict-grid {
row-gap: 16px;
margin-top: 20px;
}
.dict-card__header {

View File

@@ -73,10 +73,9 @@
import { ref } from 'vue';
import repairUser from '@/components/Holder/repairUser.vue';
import PageHeader from '@/components/Pageheader/index.vue';
import { getMaterial, updateMaterial, addMaterial } from '@/api/system/Tmaterial';
import { listDeviceCategory } from '@/api/system/equipment/Category';
import { addDevice, getDevice, updateDevice } from '@/api/system/equipment/archive';
import { Delete } from '@element-plus/icons-vue';
import { Delete, Plus } from '@element-plus/icons-vue';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { com_equipment_archive_status } = toRefs<any>(proxy?.useDict('com_equipment_archive_status'));

View File

@@ -24,19 +24,6 @@
<el-card class="flex-1" shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<!-- <el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['equipment:add:archive']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['equipment:edit:archive']"
>修改</el-button
>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['system:device:remove']"
>删除</el-button
>
</el-col> -->
<right-toolbar
:disable-delete="multiple"
:disable-edit="single"
@@ -65,9 +52,9 @@
<el-table-column label="备注" align="center" prop="remark" show-overflow-tooltip />
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
<template #default="scope">
<el-button link type="primary" @click="handleMain(scope.row)" v-hasPermi="['system:device:query']">查看详情</el-button>
<el-button link type="primary" @click="handleUpdate(scope.row)" v-hasPermi="['system:device:edit']">编辑</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-hasPermi="['system:device:remove']">删除</el-button>
<el-button link type="primary" @click="handleMain(scope.row)" v-has-permi="['system:device:query']">查看详情</el-button>
<el-button link type="primary" @click="handleUpdate(scope.row)" v-has-permi="['system:device:edit']">编辑</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-has-permi="['system:device:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
@@ -78,7 +65,7 @@
</template>
<script setup name="Device" lang="ts">
import { listDevice, getDevice, delDevice, addDevice, updateDevice } from '@/api/system/equipment/archive';
import { listDevice, delDevice, addDevice, updateDevice } from '@/api/system/equipment/archive';
import { DeviceVO, DeviceQuery, DeviceForm } from '@/api/system/equipment/archive/type';
import { checkPermi } from '@/utils/permission';

View File

@@ -38,15 +38,14 @@
<el-table-column label="设备分类名称" align="center" prop="categoryName" />
<el-table-column label="状态" align="center" prop="status">
<template #default="scope">
<!-- TODO 设备状态开关 -->
<el-switch :inactive-value="1" :active-value="0" v-model="scope.row.status"></el-switch>
</template>
</el-table-column>
<el-table-column label="添加时间" align="center" prop="createTime" />
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
<template #default="scope">
<el-button link type="primary" @click="handleUpdate(scope.row)" v-hasPermi="['system:deviceCategory:edit']">编辑</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-hasPermi="['system:deviceCategory:remove']">删除</el-button>
<el-button link type="primary" @click="handleUpdate(scope.row)" v-has-permi="['system:deviceCategory:edit']">编辑</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-has-permi="['system:deviceCategory:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
@@ -79,7 +78,7 @@
</template>
<script setup name="DeviceCategory" lang="ts">
import { listDeviceCategory, getDeviceCategory, delDeviceCategory, addDeviceCategory, updateDeviceCategory } from '@/api/system/equipment/Category';
import { listDeviceCategory, delDeviceCategory, addDeviceCategory, updateDeviceCategory } from '@/api/system/equipment/Category';
import { DeviceCategoryVO, DeviceCategoryQuery, DeviceCategoryForm } from '@/api/system/equipment/Category/type';
import { checkPermi } from '@/utils/permission';
@@ -213,17 +212,6 @@ const handleDelete = async (row?: DeviceCategoryVO) => {
await getList();
};
/** 导出按钮操作 */
const handleExport = () => {
proxy?.download(
'system/deviceCategory/export',
{
...queryParams.value
},
`deviceCategory_${new Date().getTime()}.xlsx`
);
};
onMounted(() => {
getList();
});

View File

@@ -82,7 +82,7 @@ import { ref } from 'vue';
import repairUser from '@/components/Holder/repairUser.vue';
import PageHeader from '@/components/Pageheader/index.vue';
import { listDeviceCategory } from '@/api/system/equipment/Category';
import { Delete } from '@element-plus/icons-vue';
import { Delete, Plus } from '@element-plus/icons-vue';
import { addDeviceRepair, getDeviceRepair, updateDeviceRepair } from '@/api/system/equipment/Repair';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;

View File

@@ -23,19 +23,6 @@
<el-card class="flex-1" shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<!-- <el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['equipment:add:repair']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['equipment:edit:repair']"
>修改</el-button
>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['system:deviceRepair:remove']"
>删除</el-button
>
</el-col> -->
<right-toolbar
:disable-delete="multiple"
:disable-edit="single"
@@ -70,9 +57,9 @@
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" width="160" align="center" fixed="right" class-name="small-padding fixed-width">
<template #default="scope">
<el-button link type="primary" @click="handleMain(scope.row)" v-hasPermi="['system:deviceRepair:query']">详情</el-button>
<el-button link type="primary" @click="handleUpdate(scope.row)" v-hasPermi="['system:deviceRepair:edit']">编辑</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-hasPermi="['system:deviceRepair:remove']">删除</el-button>
<el-button link type="primary" @click="handleMain(scope.row)" v-has-permi="['system:deviceRepair:query']">详情</el-button>
<el-button link type="primary" @click="handleUpdate(scope.row)" v-has-permi="['system:deviceRepair:edit']">编辑</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-has-permi="['system:deviceRepair:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
@@ -83,7 +70,7 @@
</template>
<script setup name="DeviceRepair" lang="ts">
import { listDeviceRepair, getDeviceRepair, delDeviceRepair, addDeviceRepair, updateDeviceRepair } from '@/api/system/equipment/Repair';
import { listDeviceRepair, delDeviceRepair } from '@/api/system/equipment/Repair';
import { DeviceRepairVO, DeviceRepairQuery, DeviceRepairForm } from '@/api/system/equipment/Repair/type';
import { checkPermi } from '@/utils/permission';

View File

@@ -147,7 +147,7 @@ function goBack() {
cursor: pointer;
font-size: 14px;
&:hover {
box-shadow: 0px 2px 6px 0px rgba(26, 117, 255, 0.1);
box-shadow: 0 2px 6px 0 rgba(26, 117, 255, 0.1);
}
}
.AddBuildingBox {

View File

@@ -139,7 +139,7 @@ async function init() {
if (route.query.id) {
houseid.value = route.query.id;
}
nextTick(() => geteditinfo());
await nextTick(() => geteditinfo());
}
init();
@@ -320,7 +320,7 @@ const cancelForm = () => {
align-items: center;
.el-input {
width: 100px;
margin-right: 0px;
margin-right: 0;
}
span {
margin: 0 20px;

View File

@@ -4,7 +4,7 @@
<div class="AddBuildingBody">
<div class="title">
<span>基本信息</span>
<el-button v-hasPermi="['system:house:edit']" type="primary" text v-if="HouseInfo.house" @click="editHouse">编辑</el-button>
<el-button v-has-permi="['system:house:edit']" type="primary" text v-if="HouseInfo.house" @click="editHouse">编辑</el-button>
</div>
<div class="addBuildingFormBody" v-if="HouseInfo.house">
<div class="descriptionsbox">
@@ -52,7 +52,7 @@
<div class="AddBuildingBody">
<div class="title">
<span>储藏室信息 </span>
<el-button v-hasPermi="['storeroom:storeroom:edit']" type="primary" text v-if="HouseInfo.storeroom" @click="editStoreRoom">编辑</el-button>
<el-button v-has-permi="['storeroom:storeroom:edit']" type="primary" text v-if="HouseInfo.storeroom" @click="editStoreRoom">编辑</el-button>
</div>
<div class="" v-if="HouseInfo.storeroom">
<div class="addBuildingFormBody">
@@ -182,7 +182,7 @@
<span>缴费账单</span>
</div>
<div>
<el-table :data="HouseInfo.billResidentList" align="center" style="width: 100%">
<el-table :data="HouseInfo.billResidentList" style="width: 100%">
<el-table-column prop="billCode" label="账单编号" />
<el-table-column prop="billName" label="账单名称" />
<el-table-column prop="chargeTypeName" label="账单项目" />
@@ -206,6 +206,7 @@
<script setup lang="ts">
import { ref } from 'vue';
import DictTag from '@/components/DictTag/index.vue';
import PageHeader from '@/components/Pageheader/index.vue';
import { Data, getHouseMain } from '@/api/system/house';

View File

@@ -3,7 +3,7 @@
<div class="buildingheader flex align-center justify-between">
<div>楼栋</div>
<div>
<span class="pointer" @click="handleAddBuilding" v-hasPermi="['system:building:add']">+增加楼栋</span>
<span class="pointer" @click="handleAddBuilding" v-has-permi="['system:building:add']">+增加楼栋</span>
</div>
</div>
<ul class="flex-1 overflow-y-auto overflow-x-hidden">
@@ -16,8 +16,8 @@
>
<div class="buildingname" :title="item.buildingName ?? ''" @click="switchBuilding(item.id ?? null)">{{ item.buildingName ?? '' }}</div>
<div class="buildactions flex align-center justify-around">
<el-icon class="pointer hover-color-blue" @click="editBuilding(item.id)" v-hasPermi="['system:building:edit']"><Setting /></el-icon>
<el-icon class="pointer hover-color-red" @click="deleteBuilding(item.id)" v-hasPermi="['system:building:remove']"><Delete /></el-icon>
<el-icon class="pointer hover-color-blue" @click="editBuilding(item.id)" v-has-permi="['system:building:edit']"><Setting /></el-icon>
<el-icon class="pointer hover-color-red" @click="deleteBuilding(item.id)" v-has-permi="['system:building:remove']"><Delete /></el-icon>
</div>
</li>
</ul>
@@ -27,6 +27,7 @@
<script setup lang="ts">
import { deleteBuildingApi } from '@/api/system/house';
import { useHouseStore } from '@/store/modules/house';
import { Delete, Setting } from '@element-plus/icons-vue';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const houseStore = useHouseStore();
@@ -106,8 +107,7 @@ $primary_color: #1978fe;
.buildactions {
width: 75px;
font-size: 15px;
padding: 15px 0;
padding-right: 10px;
padding: 15px 10px 15px 0;
color: rgba(153, 153, 153, 1);
}

View File

@@ -17,9 +17,9 @@
<template #header>
<div class="flex align-center justify-center">
<div class="houseName" :title="unit.unitNoName">{{ unit.unitNoName }}</div>
<el-button v-hasPermi="['unitNo:unitNo:edit']" link type="primary" icon="Edit" @click="HandleEditUnit(unit)"></el-button>
<el-button v-has-permi="['unitNo:unitNo:edit']" link type="primary" icon="Edit" @click="HandleEditUnit(unit)"></el-button>
<el-button
v-hasPermi="['unitNo:unitNo:remove']"
v-has-permi="['unitNo:unitNo:remove']"
link
type="danger"
icon="Delete"

View File

@@ -28,10 +28,10 @@
</span>
</div>
<div style="text-wrap: nowrap" class="rightActions flex flex-items-center">
<span class="mr-20px" @click="handleAddUnit" v-hasPermi="['unitNo:unitNo:add']">+添加单元</span>
<span class="mr-20px" @click="handleAddHouse" v-hasPermi="['system:house:add']">+增加房屋</span>
<span class="mr-20px" @click="handleAddUnit" v-has-permi="['unitNo:unitNo:add']">+添加单元</span>
<span class="mr-20px" @click="handleAddHouse" v-has-permi="['system:house:add']">+增加房屋</span>
<!-- <span class="mr-20px">收费标准设置</span> -->
<span @click="deleteAllhouse" v-hasPermi="['system:house:remove']">批量删除房屋</span>
<span @click="deleteAllhouse" v-has-permi="['system:house:remove']">批量删除房屋</span>
<el-select clearable @clear="handleClearUse" @change="handleChangeUse" v-model="houseUse" placeholder="筛选房屋类型" class="selectbox">
<el-option v-for="item in houseUseTypeList" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
@@ -72,9 +72,8 @@
import { deleteHouseApi } from '@/api/system/house';
import TableUnit from './components/table.vue';
import { useHouseStore } from '@/store/modules/house';
import { listHouseUseType, listHouseUseType_add_house } from '@/api/system/houseUse';
import { listHouseUseType_add_house } from '@/api/system/houseUse';
import { addUnitNo, delUnitNo, getUnitNo, updateUnitNo } from '@/api/system/houseUnit';
import { UnitNoVO } from '@/api/system/houseUnit/type';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
@@ -89,7 +88,7 @@ const houseUseTypeList = ref([]);
* 获取房屋 类型
*/
function init() {
listHouseUseType_add_house().then((res) => {
listHouseUseType_add_house({}).then((res) => {
houseUseTypeList.value = res.data;
});
}

View File

@@ -178,7 +178,6 @@
<script setup lang="ts">
import { ref } from 'vue';
import PageHeader from '@/components/Pageheader/index.vue';
import { HouseRentalVO } from '@/api/system/houseRental/type';
import { CascaderValue, UploadInstance, UploadProps, UploadUserFile } from 'element-plus';
import { getHousePathById, hasFormData, splitStringUrl } from '@/utils/house';
@@ -186,6 +185,7 @@ import { addHouseRental, getHouseOwnUser, getHouseRental, updateHouseRental, upl
import { validator } from '@/utils/Reg';
import { useHouseStore } from '@/store/modules/house';
import { listHouseFacilities } from '@/api/system/HouseFacilities';
import { Plus } from '@element-plus/icons-vue';
const houseStore = useHouseStore();

View File

@@ -96,12 +96,12 @@
<script setup lang="ts">
import { ref } from 'vue';
import DictTag from '@/components/DictTag/index.vue';
import PageHeader from '@/components/Pageheader/index.vue';
import { getHouseRental } from '@/api/system/houseRental';
import { useHouseStore } from '@/store/modules/house';
import { getHousePathById } from '@/utils/house';
import { listHouseFacilities } from '@/api/system/HouseFacilities';
import { splitImages } from '@/utils';
const houseStore = useHouseStore();
const { treedata } = storeToRefs(houseStore);

View File

@@ -27,19 +27,6 @@
<el-card class="flex-1" shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<!-- <el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['houseRental:houseRental:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['houseRental:houseRental:edit']"
>修改</el-button
>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['houseRental:houseRental:remove']"
>删除</el-button
>
</el-col> -->
<right-toolbar
:disable-delete="multiple"
:disable-edit="single"
@@ -76,9 +63,9 @@
</el-table-column>
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
<template #default="scope">
<el-button link type="primary" @click="handleMain(scope.row)" v-hasPermi="['houseRental:houseRental:edit']">详情</el-button>
<el-button link type="primary" @click="handleUpdate(scope.row)" v-hasPermi="['houseRental:houseRental:query']">编辑</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-hasPermi="['houseRental:houseRental:remove']">删除</el-button>
<el-button link type="primary" @click="handleMain(scope.row)" v-has-permi="['houseRental:houseRental:edit']">详情</el-button>
<el-button link type="primary" @click="handleUpdate(scope.row)" v-has-permi="['houseRental:houseRental:query']">编辑</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-has-permi="['houseRental:houseRental:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>

View File

@@ -26,22 +26,6 @@
<el-card shadow="never" class="flex-1">
<template #header>
<el-row :gutter="10" class="mb8">
<!-- <el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['unitNo:unitNo:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['unitNo:unitNo:edit']"
>修改</el-button
>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['unitNo:unitNo:remove']"
>删除</el-button
>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['unitNo:unitNo:export']">导出</el-button>
</el-col> -->
<right-toolbar :show-add="checkPermi(['unitNo:unitNo:add'])" @update:add="handleAdd">
<template #dropdown>
<el-dropdown-item :disabled="single" v-if="checkPermi(['unitNo:unitNo:edit'])" @click="handleUpdate">
@@ -66,10 +50,10 @@
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
<template #default="scope">
<el-tooltip content="修改" placement="top">
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['unitNo:unitNo:edit']"></el-button>
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-has-permi="['unitNo:unitNo:edit']"></el-button>
</el-tooltip>
<el-tooltip content="删除" placement="top">
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['unitNo:unitNo:remove']"></el-button>
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-has-permi="['unitNo:unitNo:remove']"></el-button>
</el-tooltip>
</template>
</el-table-column>

View File

@@ -20,18 +20,7 @@
<el-card shadow="never" class="flex-1">
<template #header>
<el-row :gutter="10" class="mb8">
<right-toolbar :show-add="checkPermi(['houseUseType:houseUseType:add'])" @update:add="handleAdd">
<template #dropdown>
<el-dropdown-item :disabled="single" v-if="checkPermi(['houseUseType:houseUseType:edit'])" @click="handleUpdate">
<div>编辑</div>
</el-dropdown-item>
<el-dropdown-item :disabled="multiple" v-if="checkPermi(['houseUseType:houseUseType:delete'])" @click="handleDelete">
<div>批量删除</div>
</el-dropdown-item>
<el-dropdown-item v-if="checkPermi(['houseUseType:houseUseType:export'])" @click="handleExport">
<div>导出</div>
</el-dropdown-item>
</template>
<right-toolbar :show-delete="false" :show-edit="false" :show-add="checkPermi(['houseUseType:houseUseType:add'])" @update:add="handleAdd">
</right-toolbar>
</el-row>
</template>
@@ -41,8 +30,8 @@
<el-table-column label="用途名称" align="center" prop="name" />
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
<template #default="scope">
<el-button link type="primary" @click="handleUpdate(scope.row)" v-hasPermi="['houseUseType:houseUseType:edit']">修改</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-hasPermi="['houseUseType:houseUseType:remove']">删除</el-button>
<el-button link type="primary" @click="handleUpdate(scope.row)" v-has-permi="['houseUseType:houseUseType:edit']">修改</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-has-permi="['houseUseType:houseUseType:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>

View File

@@ -24,7 +24,6 @@
<script setup lang="ts">
import { ref } from 'vue';
import PageHeader from '@/components/Pageheader/index.vue';
import { addMonthCard, getMonthCard, updateMonthCard } from '@/api/system/MonthCard';
import { addItem, getItem, updateItem } from '@/api/system/InspectionItem';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;

View File

@@ -6,7 +6,6 @@
</template>
<script setup lang="ts">
import { ref } from 'vue';
import PageHeader from '@/components/Pageheader/index.vue';
</script>

View File

@@ -49,8 +49,8 @@
</el-table-column>
<el-table-column label="操作" width="300" align="center" fixed="right" class-name="small-padding fixed-width">
<template #default="scope">
<el-button link type="primary" @click="handleUpdate(scope.row)" v-hasPermi="['system:item:edit']">编辑</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-hasPermi="['system:item:remove']">删除</el-button>
<el-button link type="primary" @click="handleUpdate(scope.row)" v-has-permi="['system:item:edit']">编辑</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-has-permi="['system:item:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
@@ -61,7 +61,7 @@
</template>
<script setup name="Item" lang="ts">
import { listItem, getItem, delItem, addItem, updateItem, updateItemStatus } from '@/api/system/InspectionItem/index';
import { listItem, delItem, addItem, updateItem, updateItemStatus } from '@/api/system/InspectionItem/index';
import { ItemVO, ItemQuery, ItemForm } from '@/api/system/InspectionItem/type';
import { checkPermi } from '@/utils/permission';

View File

@@ -92,7 +92,7 @@
<script setup name="Item" lang="ts">
import EchartsCompontent from '@/components/Echarts/index.vue';
import { listItem, type Request } from '@/api/system/Inspection/index';
import { getNaturalDayDiff, getLast7Days, getLastNDays, diffDays, formatDate } from '@/utils/time';
import { getNaturalDayDiff, getLastNDays, diffDays, formatDate } from '@/utils/time';
import { EChartsOption } from 'echarts';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
@@ -360,7 +360,7 @@ onMounted(() => {
height: 112px;
border-radius: 10px;
background-color: rgba(255, 255, 255, 1);
box-shadow: 0px 2px 6px 0px rgba(26, 117, 255, 0.2);
box-shadow: 0 2px 6px 0 rgba(26, 117, 255, 0.2);
border: 1px solid rgba(26, 117, 255, 0.2);
.overviewitem_name {
@@ -392,12 +392,12 @@ onMounted(() => {
border-left: none;
cursor: pointer;
&:first-of-type {
border-radius: 4px 0px 0px 0px;
border-radius: 4px 0 0 0;
border-left: 1px solid rgba(220, 223, 230, 1);
}
&:last-of-type {
border-radius: 0px 4px 0px 0px;
border-radius: 0 4px 0 0;
}
&.active {
color: #fff;

View File

@@ -12,7 +12,7 @@
</el-form-item>
<el-form-item label="任务时间">
<div flex flex-wrap>
<div class="flex flex-wrap">
<div
class="week-items"
@click="checkoutWeekFun(item)"
@@ -33,7 +33,7 @@
<!-- <el-select v-model="form.taskTime" placeholder="选择任务时间段" style="width: 100%">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
</el-select> -->
<div v-for="(item, index) in taskTime" :key="index" style="display: flex; align-items: center; margin-top: 10px">
<div v-for="(_, index) in taskTime" :key="index" style="display: flex; align-items: center; margin-top: 10px">
<el-time-picker
v-model="taskTime[index]"
is-range
@@ -62,13 +62,13 @@
</el-form-item>
<el-form-item label="计划路线">
<el-select @change="handlChangeMap" v-model="form.routeIds" placeholder="请选择" style="width: 100%">
<el-option v-for="item in planlist" :key="item.value" :label="item.routeName" :value="item.id" />
<el-option v-for="item in playlist" :key="item.value" :label="item.routeName" :value="item.id" />
</el-select>
<div class="mapbox" id="PlanMapBox"></div>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submit">提交</el-button>
<el-button @click="routeback">返回</el-button>
<el-button @click="outback">返回</el-button>
</el-form-item>
</el-form>
</div>
@@ -77,13 +77,13 @@
</template>
<script setup lang="ts">
// TODO 巡检计划 添加
import { listRoute } from '@/api/system/InspectionRoute';
import PageHeader from '@/components/Pageheader/index.vue';
import { numToWeek } from '@/utils/time';
import { ref } from 'vue';
import AMapLoader from '@amap/amap-jsapi-loader';
import { addPlan, getPlan, updatePlan } from '@/api/system/InspectionPlan';
import { Check } from '@element-plus/icons-vue';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { com_inspection_remind_tiime } = toRefs<any>(proxy?.useDict('com_inspection_remind_tiime'));
@@ -126,10 +126,10 @@ const editid = ref(null);
// 初始化
// 路线列表
const planlist = ref([]);
const playlist = ref([]);
async function init() {
const res = await listRoute();
planlist.value = res.rows;
playlist.value = res.rows;
if (route.query.id) {
editid.value = route.query.id;
getPlan(editid.value).then((res) => {
@@ -173,7 +173,7 @@ async function init() {
init();
// 返回
function routeback() {
function outback() {
router.back();
}
@@ -182,16 +182,16 @@ const map = ref(null);
const mapReady = ref(false);
const markerlist = [];
function handlChangeMap(val) {
function handlChangeMap(val: string) {
map.value.remove(markerlist);
if (val) {
const find = planlist.value.find((item) => item.id === val);
const find = playlist.value.find((item) => item.id === val);
if (find) {
if (find.points && find.points.length > 0) {
find.points.forEach((item, index) => {
const lnglat = item.location.split(',').map(Number);
find.points.forEach((item: { location: string; pointName: any }, index: number) => {
const angular = item.location.split(',').map(Number);
const marker = new AMapLib.value.Marker({
position: new AMapLib.value.LngLat(lnglat[0], lnglat[1]), //经纬度对象,也可以是经纬度构成的一维数组[116.39, 39.9]
position: new AMapLib.value.LngLat(angular[0], angular[1]), //经纬度对象,也可以是经纬度构成的一维数组[116.39, 39.9]
title: item.pointName,
content: `
<div style="display:flex;align-items:center;justify-content:center;width:30px;height:30px;line-height:18px;border-radius:50%;background-color:rgba(26,117,255,0.3);">
@@ -228,14 +228,14 @@ function handlChangeMap(val) {
}
}
}
const aloaderkey = import.meta.env.VITE_GCJ02_KEY_GD;
const autoloader = import.meta.env.VITE_GCJ02_KEY_GD;
const VITE_GCJ02_JS_CODE_GD = import.meta.env.VITE_GCJ02_JS_CODE_GD;
onMounted(async () => {
await nextTick();
window._AMapSecurityConfig = { securityJsCode: VITE_GCJ02_JS_CODE_GD };
AMapLoader.load({
key: aloaderkey,
key: autoloader,
version: '2.0',
plugins: ['AMap.Scale', 'AMap.Marker']
}).then(async (AMap) => {
@@ -261,12 +261,12 @@ function submit() {
if (editid.value) {
updatePlan(form.value).then(() => {
ElMessage.success('编辑成功');
routeback();
outback();
});
} else {
addPlan(form.value).then(() => {
ElMessage.success('添加成功');
routeback();
outback();
});
}
}
@@ -281,8 +281,7 @@ function submit() {
background-color: white;
.bodybox {
width: 600px;
margin: 0 auto;
margin-top: 20px;
margin: 20px auto 0;
}
.inspectorIdsBox {
display: flex;

View File

@@ -20,17 +20,6 @@
<el-card class="flex-1" shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<!-- <el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['system:plan:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['system:plan:edit']">编辑</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['system:plan:remove']"
>删除</el-button
>
</el-col> -->
<right-toolbar
:disable-delete="multiple"
:disable-edit="single"
@@ -68,8 +57,8 @@
</el-table-column>
<el-table-column label="操作" width="110" align="center" fixed="right" class-name="small-padding fixed-width">
<template #default="scope">
<el-button link type="primary" @click="handleUpdate(scope.row)" v-hasPermi="['system:plan:edit']">编辑</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-hasPermi="['system:plan:remove']">删除</el-button>
<el-button link type="primary" @click="handleUpdate(scope.row)" v-has-permi="['system:plan:edit']">编辑</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-has-permi="['system:plan:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
@@ -80,7 +69,7 @@
</template>
<script setup name="Plan" lang="ts">
import { listPlan, getPlan, delPlan, addPlan, updatePlan, changePlanStatus } from '@/api/system/InspectionPlan/index';
import { listPlan, delPlan, changePlanStatus } from '@/api/system/InspectionPlan/index';
import { PlanVO, PlanQuery, PlanForm } from '@/api/system/InspectionPlan/type';
import { checkPermi } from '@/utils/permission';
import { numToWeek } from '@/utils/time';
@@ -205,9 +194,8 @@ const handleAdd = () => {
};
/** 修改按钮操作 */
const handleUpdate = async (row?: PlanVO) => {
const handleUpdate = (row?: PlanVO) => {
const _ids = row?.id || ids.value[0];
router.push({
path: '/inspection/editPlan',
query: {

View File

@@ -65,6 +65,7 @@ import { listItem } from '@/api/system/InspectionItem';
import { onMounted, onUnmounted } from 'vue';
import AMapLoader from '@amap/amap-jsapi-loader';
import { getVillageByIdAPI } from '@/api/system/community';
import { Check } from '@element-plus/icons-vue';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
// const { com_inspection_point_checkmode } = toRefs<any>(proxy?.useDict('com_inspection_point_checkmode'));

View File

@@ -20,17 +20,6 @@
<el-card class="flex-1" shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<!-- <el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['system:point:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['system:point:edit']">编辑</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['system:point:remove']"
>删除</el-button
>
</el-col> -->
<right-toolbar
:disable-delete="multiple"
:disable-edit="single"
@@ -67,8 +56,8 @@
<el-table-column label="添加时间" align="center" prop="createTime" />
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
<template #default="scope">
<el-button link type="primary" @click="handleUpdate(scope.row)" v-hasPermi="['system:point:edit']">编辑</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-hasPermi="['system:point:remove']">删除</el-button>
<el-button link type="primary" @click="handleUpdate(scope.row)" v-has-permi="['system:point:edit']">编辑</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-has-permi="['system:point:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
@@ -80,7 +69,7 @@
<script setup name="Point" lang="ts">
import Pageheader from '@/components/Pageheader/index.vue';
import { listPoint, getPoint, delPoint, addPoint, updatePoint, changePointStatus } from '@/api/system/InspectionPoint/index';
import { listPoint, delPoint, changePointStatus } from '@/api/system/InspectionPoint/index';
import { PointVO, PointQuery, PointForm } from '@/api/system/InspectionPoint/type';
import { checkPermi } from '@/utils/permission';

View File

@@ -62,7 +62,7 @@
<el-table-column label="关联计划" align="center" prop="planName" />
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
<template #default="scope">
<el-button link type="primary" @click="handleUpdate(scope.row)" v-hasPermi="['inspection:main:record']">查看详情</el-button>
<el-button link type="primary" @click="handleUpdate(scope.row)" v-has-permi="['inspection:main:record']">查看详情</el-button>
</template>
</el-table-column>
</el-table>

View File

@@ -65,6 +65,7 @@ import { onMounted, onUnmounted } from 'vue';
import AMapLoader from '@amap/amap-jsapi-loader';
import { addRoute, getRoute, updateRoute } from '@/api/system/InspectionRoute';
import { getVillageByIdAPI } from '@/api/system/community';
import { Check } from '@element-plus/icons-vue';
const router = useRouter();
const route = useRoute();
@@ -189,7 +190,6 @@ function init() {
});
}
}
// TODO 巡检路线开关
// ! map
const mapReady = ref(false);
const AMapLib = ref(null);

View File

@@ -1,12 +1,12 @@
<template>
<div class="p-2 h-full flex flex-col">
<Pageheader></Pageheader>
<pageHeader></pageHeader>
<div class="flex-1 color-gray flex h-full font-size-6 flex-center">系统还在维护中敬请期待...</div>
</div>
</template>
<script setup lang="ts">
import { ref } from 'vue';
import pageHeader from '@/components/Pageheader/index.vue';
</script>
<style scoped lang="scss"></style>

View File

@@ -20,17 +20,6 @@
<el-card class="flex-1" shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<!-- <el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['system:route:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['system:route:edit']">编辑</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['system:route:remove']"
>删除</el-button
>
</el-col> -->
<right-toolbar
:disable-delete="multiple"
:disable-edit="single"
@@ -68,8 +57,8 @@
<!-- <el-table-column label="备注" align="center" prop="remark" /> -->
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
<template #default="scope">
<el-button link type="primary" @click="handleUpdate(scope.row)" v-hasPermi="['system:route:edit']">修改</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-hasPermi="['system:route:remove']">删除</el-button>
<el-button link type="primary" @click="handleUpdate(scope.row)" v-has-permi="['system:route:edit']">修改</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-has-permi="['system:route:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
@@ -80,7 +69,7 @@
</template>
<script setup name="Route" lang="ts">
import { listRoute, getRoute, delRoute, addRoute, updateRoute, changeStatusRoute } from '@/api/system/InspectionRoute/index';
import { listRoute, delRoute, changeStatusRoute } from '@/api/system/InspectionRoute/index';
import { RouteVO, RouteQuery, RouteForm } from '@/api/system/InspectionRoute/type';
import { checkPermi } from '@/utils/permission';

View File

@@ -79,12 +79,12 @@
<script setup lang="ts">
import RepairUser from '@/components/Holder/repairUser.vue';
import PageHeader from '@/components/Pageheader/index.vue';
import { Delete } from '@element-plus/icons-vue';
import { Delete, Plus } from '@element-plus/icons-vue';
import { ref } from 'vue';
import AMapLoader from '@amap/amap-jsapi-loader';
import { addPlan, getPlan, listPlan, updatePlan } from '@/api/system/InspectionPlan';
import { listPlan } from '@/api/system/InspectionPlan';
import { addTask, getTask, updateTask } from '@/api/system/InspectionTask';
import { getRoute, listRoute } from '@/api/system/InspectionRoute';
import { getRoute } from '@/api/system/InspectionRoute';
import { RouteVO } from '@/api/system/InspectionRoute/type';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
@@ -300,8 +300,7 @@ function submit() {
background-color: white;
.bodybox {
width: 600px;
margin: 0 auto;
margin-top: 20px;
margin: 20px auto 0;
}
.inspectorIdsBox {
display: flex;

View File

@@ -34,17 +34,6 @@
<el-card class="flex-1" shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<!-- <el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['system:task:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['system:task:edit']">编辑</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['system:task:remove']"
>删除</el-button
>
</el-col> -->
<right-toolbar
:disable-delete="multiple"
:disable-edit="single"
@@ -76,8 +65,8 @@
<el-table-column label="关联巡检计划" align="center" prop="planName" />
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
<template #default="scope">
<el-button link type="primary" @click="handleUpdate(scope.row)" v-hasPermi="['system:task:edit']">编辑</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-hasPermi="['system:task:remove']">删除</el-button>
<el-button link type="primary" @click="handleUpdate(scope.row)" v-has-permi="['system:task:edit']">编辑</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-has-permi="['system:task:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
@@ -88,7 +77,7 @@
</template>
<script setup name="Task" lang="ts">
import { listTask, getTask, delTask, addTask, updateTask } from '@/api/system/InspectionTask/index';
import { listTask, delTask } from '@/api/system/InspectionTask/index';
import { TaskVO, TaskQuery, TaskForm } from '@/api/system/InspectionTask/type';
import { checkPermi } from '@/utils/permission';

View File

@@ -26,10 +26,10 @@
<template #header>
<el-row :gutter="10">
<el-col :span="1.5">
<el-button v-hasPermi="['system:menu:add']" type="primary" plain icon="Plus" @click="handleAdd()">新增</el-button>
<el-button v-has-permi="['system:menu:add']" type="primary" plain icon="Plus" @click="handleAdd()">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button v-hasPermi="['system:menu:remove']" type="danger" plain icon="Delete" @click="handleCascadeDelete" :loading="deleteLoading"
<el-button v-has-permi="['system:menu:remove']" type="danger" plain icon="Delete" @click="handleCascadeDelete" :loading="deleteLoading"
>级联删除</el-button
>
</el-col>
@@ -69,9 +69,9 @@
</el-table-column>
<el-table-column fixed="right" label="操作" width="180">
<template #default="scope">
<el-button v-hasPermi="['system:menu:edit']" link type="primary" @click="handleUpdate(scope.row)">修改</el-button>
<el-button v-hasPermi="['system:menu:add']" link type="primary" @click="handleAdd(scope.row)">新增</el-button>
<el-button v-hasPermi="['system:menu:remove']" link type="primary" @click="handleDelete(scope.row)">删除</el-button>
<el-button v-has-permi="['system:menu:edit']" link type="primary" @click="handleUpdate(scope.row)">修改</el-button>
<el-button v-has-permi="['system:menu:add']" link type="primary" @click="handleAdd(scope.row)">新增</el-button>
<el-button v-has-permi="['system:menu:remove']" link type="primary" @click="handleDelete(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
@@ -299,6 +299,7 @@
import { addMenu, cascadeDelMenu, delMenu, getMenu, listMenu, updateMenu } from '@/api/system/menu';
import { MenuForm, MenuQuery, MenuVO } from '@/api/system/menu/types';
import { MenuTypeEnum } from '@/enums/MenuTypeEnum';
import { QuestionFilled } from '@element-plus/icons-vue';
interface MenuOptionsType {
menuId: number;

View File

@@ -32,8 +32,8 @@
:disable-delete="multiple"
:disable-edit="single"
:show-add="checkPermi(['system:notice:add'])"
:show-edit="checkPermi(['system:notice:edit'])"
:show-delete="checkPermi(['system:notice:remove'])"
:show-edit="false"
:show-delete="false"
@update:add="handleAdd"
@update:edit="handleUpdate()"
@update:delete="handleDelete()"
@@ -66,7 +66,6 @@
<dict-tag :options="sys_notice_status" :value="scope.row.status" />
</template>
</el-table-column>
<!-- <el-table-column label="创建者" align="center" prop="createByName" width="100" /> -->
<el-table-column label="创建时间" sortable align="center" prop="createTime" width="180">
<template #default="scope">
<span>{{ scope.row.createTime }}</span>
@@ -74,8 +73,8 @@
</el-table-column>
<el-table-column label="操作" width="400" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-button v-hasPermi="['system:notice:edit']" link type="primary" icon="Edit" @click="handleUpdate(scope.row)">修改</el-button>
<el-button v-hasPermi="['system:notice:remove']" link type="primary" icon="Delete" @click="handleDelete(scope.row)">删除</el-button>
<el-button v-has-permi="['system:notice:edit']" link type="primary" icon="Edit" @click="handleUpdate(scope.row)">修改</el-button>
<el-button v-has-permi="['system:notice:remove']" link type="primary" icon="Delete" @click="handleDelete(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
@@ -129,7 +128,6 @@ import { checkPermi } from '@/utils/permission';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { sys_notice_status, sys_notice_type } = toRefs<any>(proxy?.useDict('sys_notice_status', 'sys_notice_type'));
const noticeList = ref<NoticeVO[]>([]);
const loading = ref(true);
const showSearch = ref(true);

View File

@@ -1,7 +1,6 @@
<template>
<div class="p-2">
<pageheader></pageheader>
<pageHeader></pageHeader>
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover">
@@ -31,15 +30,15 @@
<template #header>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button v-hasPermi="['system:ossConfig:add']" type="primary" plain icon="Plus" @click="handleAdd">新增</el-button>
<el-button v-has-permi="['system:ossConfig:add']" type="primary" plain icon="Plus" @click="handleAdd">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button v-hasPermi="['system:ossConfig:edit']" type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()"
<el-button v-has-permi="['system:ossConfig:edit']" type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()"
>修改</el-button
>
</el-col>
<el-col :span="1.5">
<el-button v-hasPermi="['system:ossConfig:remove']" type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()">
<el-button v-has-permi="['system:ossConfig:remove']" type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()">
删除
</el-button>
</el-col>
@@ -71,10 +70,10 @@
<el-table-column label="操作" fixed="right" align="center" width="150" class-name="small-padding">
<template #default="scope">
<el-tooltip content="修改" placement="top">
<el-button v-hasPermi="['system:ossConfig:edit']" link type="primary" icon="Edit" @click="handleUpdate(scope.row)"></el-button>
<el-button v-has-permi="['system:ossConfig:edit']" link type="primary" icon="Edit" @click="handleUpdate(scope.row)"></el-button>
</el-tooltip>
<el-tooltip content="删除" placement="top">
<el-button v-hasPermi="['system:ossConfig:remove']" link type="primary" icon="Delete" @click="handleDelete(scope.row)"></el-button>
<el-button v-has-permi="['system:ossConfig:remove']" link type="primary" icon="Delete" @click="handleDelete(scope.row)"></el-button>
</el-tooltip>
</template>
</el-table-column>
@@ -144,6 +143,9 @@
</template>
<script setup name="OssConfig" lang="ts">
import pageHeader from '@/components/Pageheader/index.vue';
import pagination from '@/components/Pagination/index.vue';
import rightToolbar from '@/components/RightToolbar/index.vue';
import { listOssConfig, getOssConfig, delOssConfig, addOssConfig, updateOssConfig, changeOssConfigStatus } from '@/api/system/ossConfig';
import { OssConfigForm, OssConfigQuery, OssConfigVO } from '@/api/system/ossConfig/types';

View File

@@ -1,7 +1,6 @@
<template>
<div class="p-2 h-full flex flex-col">
<pageheader></pageheader>
<pageHeader></pageHeader>
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover">
@@ -42,19 +41,19 @@
<template #header>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button v-hasPermi="['system:oss:upload']" type="primary" plain icon="Upload" @click="handleFile">上传文件</el-button>
<el-button v-has-permi="['system:oss:upload']" type="primary" plain icon="Upload" @click="handleFile">上传文件</el-button>
</el-col>
<el-col :span="1.5">
<el-button v-hasPermi="['system:oss:upload']" type="primary" plain icon="Upload" @click="handleImage">上传图片</el-button>
<el-button v-has-permi="['system:oss:upload']" type="primary" plain icon="Upload" @click="handleImage">上传图片</el-button>
</el-col>
<el-col :span="1.5">
<el-button v-hasPermi="['system:oss:remove']" type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()">
<el-button v-has-permi="['system:oss:remove']" type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()">
删除
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
v-hasPermi="['system:oss:edit']"
v-has-permi="['system:oss:edit']"
:type="previewListResource ? 'danger' : 'warning'"
plain
@click="handlePreviewListResource(!previewListResource)"
@@ -62,7 +61,7 @@
>
</el-col>
<el-col :span="1.5">
<el-button v-hasPermi="['system:ossConfig:list']" type="info" plain icon="Operation" @click="handleOssConfig">配置管理</el-button>
<el-button v-has-permi="['system:ossConfig:list']" type="info" plain icon="Operation" @click="handleOssConfig">配置管理</el-button>
</el-col>
</el-row>
</template>
@@ -103,10 +102,10 @@
<el-table-column label="操作" align="center" width="200" class-name="small-padding fixed-width">
<template #default="scope">
<el-tooltip content="下载" placement="top">
<el-button v-hasPermi="['system:oss:download']" link type="primary" icon="Download" @click="handleDownload(scope.row)"></el-button>
<el-button v-has-permi="['system:oss:download']" link type="primary" icon="Download" @click="handleDownload(scope.row)"></el-button>
</el-tooltip>
<el-tooltip content="删除" placement="top">
<el-button v-hasPermi="['system:oss:remove']" link type="primary" icon="Delete" @click="handleDelete(scope.row)"></el-button>
<el-button v-has-permi="['system:oss:remove']" link type="primary" icon="Delete" @click="handleDelete(scope.row)"></el-button>
</el-tooltip>
</template>
</el-table-column>
@@ -133,10 +132,11 @@
</template>
<script setup name="Oss" lang="ts">
import pagination from '@/components/Pagination/index.vue';
import { listOss, delOss } from '@/api/system/oss';
import ImagePreview from '@/components/ImagePreview/index.vue';
import { OssForm, OssQuery, OssVO } from '@/api/system/oss/types';
import pageHeader from '@/components/Pageheader/index.vue';
const router = useRouter();
const { proxy } = getCurrentInstance() as ComponentInternalInstance;

View File

@@ -146,7 +146,7 @@ const rules = ref({
areaId: [{ required: true, message: '请选择车位区域', trigger: 'blur' }],
type: [{ required: true, message: '请选择车位类型', trigger: 'blur' }],
parkingCode: [{ required: true, message: '请输入车位编号', trigger: 'blur' }],
residentId: [{ required: true, message: '请选择持有人', trigger: 'blur' }],
residentId: [{ required: false, message: '请选择持有人', trigger: 'blur' }],
contactPhone: [
{ required: true, message: '请输入联系人电话', trigger: 'blur' },
{
@@ -172,6 +172,10 @@ if (route.query.id) {
...form.value,
...res.data
};
// 有联系人姓名,电话 就是非业主
if (form.value.contactName && form.value.contactPhone) {
form.value.contactType = 0;
}
});
}
// ! 获取区域==================================================================================

Some files were not shown because too many files have changed in this diff Show More