This commit is contained in:
helen 2024-12-26 14:41:42 +08:00
parent 27b81b2096
commit e09ad2fcc8
9 changed files with 130 additions and 133 deletions

View File

@ -48,6 +48,7 @@ export interface BannedVO {
* (0=,1=) * (0=,1=)
*/ */
handlingStatus: number; handlingStatus: number;
nickName?: string | number;
/** /**
* 1=,2=,3=,4= * 1=,2=,3=,4=
@ -106,6 +107,7 @@ export interface BannedForm extends BaseEntity {
* (0=,1=) * (0=,1=)
*/ */
handlingStatus?: number; handlingStatus?: number;
nickName?: string | number;
/** /**
* 1=,2=,3=,4= * 1=,2=,3=,4=
@ -120,6 +122,7 @@ export interface BannedQuery extends PageQuery {
* id * id
*/ */
contentId?: string | number; contentId?: string | number;
nickName?: string | number;
/** /**
* ID * ID

View File

@ -33,6 +33,7 @@
import { Search } from '@element-plus/icons-vue'; import { Search } from '@element-plus/icons-vue';
import { propTypes } from '@/utils/propTypes'; import { propTypes } from '@/utils/propTypes';
import { jsonp } from 'vue-jsonp'; import { jsonp } from 'vue-jsonp';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
import { debounce } from '@/utils/debounce.js'; import { debounce } from '@/utils/debounce.js';
import { OssVO } from '@/api/system/oss/types'; import { OssVO } from '@/api/system/oss/types';
import { listByIds } from '@/api/system/oss'; import { listByIds } from '@/api/system/oss';
@ -93,8 +94,7 @@ const onClick = (e: any) => {
// form.value.city = data.result.address_component.city; // form.value.city = data.result.address_component.city;
// form.value.region = data.result.ad_info.adcode; // // form.value.region = data.result.ad_info.adcode; //
form.value.regionCode = data.result.ad_info.adcode; // form.value.regionCode = data.result.ad_info.adcode; //
center.value.lat = data.result.location.lat; center.value = { lat: data.result.location.lat, lng: data.result.location.lng };
center.value.lng = data.result.location.lng;
searchLocation.value = data.result.formatted_addresses.recommend; searchLocation.value = data.result.formatted_addresses.recommend;
geometries.value = [{ styleId: 'marker', position: { lat: data.result.location.lat, lng: data.result.location.lng } }]; geometries.value = [{ styleId: 'marker', position: { lat: data.result.location.lat, lng: data.result.location.lng } }];
console.log(form.value); console.log(form.value);
@ -119,8 +119,6 @@ const performSearch = async (text) => {
jsonp(`https://apis.map.qq.com/ws/geocoder/v1/?address=${text}&key=${'6XFBZ-SAVLT-JGIX2-VOLMK-6S2H3-XUBGO'}&output=jsonp`, {}).then((data) => { jsonp(`https://apis.map.qq.com/ws/geocoder/v1/?address=${text}&key=${'6XFBZ-SAVLT-JGIX2-VOLMK-6S2H3-XUBGO'}&output=jsonp`, {}).then((data) => {
console.log(data); console.log(data);
if (data.status == 0) { if (data.status == 0) {
center.value.lat = data.result.location.lat;
center.value.lng = data.result.location.lng;
// form.value.address = // form.value.address =
// data.result.address_components.province + // data.result.address_components.province +
// data.result.address_components.city + // data.result.address_components.city +
@ -132,8 +130,9 @@ const performSearch = async (text) => {
// form.value.region = data.result.ad_info.adcode; // // form.value.region = data.result.ad_info.adcode; //
// form.value.regionCode = data.result.ad_info.adcode; // // form.value.regionCode = data.result.ad_info.adcode; //
form.value.address = data.result.formatted_addresses.recommend; form.value.address = text;
// form.value.city = data.result.address_components.city; // form.value.city = data.result.address_components.city;
center.value = { lat: data.result.location.lat, lng: data.result.location.lng };
geometries.value = [{ styleId: 'marker', position: { lat: data.result.location.lat, lng: data.result.location.lng } }]; geometries.value = [{ styleId: 'marker', position: { lat: data.result.location.lat, lng: data.result.location.lng } }];
console.log(form.value); console.log(form.value);
emit('modelValue', form.value); emit('modelValue', form.value);

View File

@ -465,7 +465,7 @@ const saveupdate = async (row?: ActivityVO, type) => {
form.value.status = type == 1 ? 2 : 0; form.value.status = type == 1 ? 2 : 0;
const test = type == 1 ? '发布' : '撤销发布'; const test = type == 1 ? '发布' : '撤销发布';
const _ids = row?.activityName || ids.value; const _ids = row?.activityName || ids.value;
await proxy?.$modal.confirm('是否确认' + test + '活动信息编号为' + _ids + '的数据项?').finally(() => (loading.value = false)); await proxy?.$modal.confirm('是否确认' + test + '活动名称 为' + _ids + '的数据项?').finally(() => (loading.value = false));
await updateActivity(form.value).finally(() => (buttonLoading.value = false)); await updateActivity(form.value).finally(() => (buttonLoading.value = false));
proxy?.$modal.msgSuccess(test + '成功'); proxy?.$modal.msgSuccess(test + '成功');
await getList(); await getList();
@ -526,7 +526,7 @@ const submitForm = () => {
const handleDelete = async (row?: ActivityVO) => { const handleDelete = async (row?: ActivityVO) => {
const _ids = row?.id || ids.value; const _ids = row?.id || ids.value;
const _idsname = row?.activityName || ids.value; const _idsname = row?.activityName || ids.value;
await proxy?.$modal.confirm('是否确认删除活动信息编号为"' + _idsname + '"的数据项?').finally(() => (loading.value = false)); await proxy?.$modal.confirm('是否确认删除活动名称为"' + _idsname + '"的数据项?').finally(() => (loading.value = false));
await delActivity(_ids); await delActivity(_ids);
proxy?.$modal.msgSuccess('删除成功'); proxy?.$modal.msgSuccess('删除成功');
await getList(); await getList();

View File

@ -16,6 +16,7 @@
<el-form-item> <el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
<el-button icon="Refresh" @click="resetQuery">重置</el-button> <el-button icon="Refresh" @click="resetQuery">重置</el-button>
<el-button v-hasPermi="['manage:hotel:add']" type="primary" plain icon="Plus" @click="handleAdd">新增</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-card> </el-card>
@ -23,15 +24,6 @@
</transition> </transition>
<el-card shadow="never"> <el-card shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button v-hasPermi="['manage:hotel:add']" type="primary" plain icon="Plus" @click="handleAdd">新增</el-button>
</el-col>
<right-toolbar v-model:showSearch="showSearch" @query-table="getList"></right-toolbar>
</el-row>
</template>
<el-table v-loading="loading" :data="hotelList"> <el-table v-loading="loading" :data="hotelList">
<el-table-column v-if="true" label="ID" align="center" prop="id" /> <el-table-column v-if="true" label="ID" align="center" prop="id" />
<el-table-column label="住宿商家名称" align="center" prop="name" /> <el-table-column label="住宿商家名称" align="center" prop="name" />
@ -307,7 +299,7 @@ const handleEdit = async (row?: HotelVO) => {
const res = await getHotel(_id); const res = await getHotel(_id);
Object.assign(form.value, res.data); Object.assign(form.value, res.data);
const _idname = row?.name; const _idname = row?.name;
const text = row?.status != 1 ? '是否确认发布商家名称为' : '是否撤销发布商家名称为'; const text = row?.status != 1 ? '是否确认发布商家名称为"' : '是否撤销发布商家名称为"';
const messages = row?.status != 1 ? '发布成功' : '撤销成功'; const messages = row?.status != 1 ? '发布成功' : '撤销成功';
await proxy?.$modal.confirm(text + _idname + '"的数据项?').finally(() => (loading.value = false)); await proxy?.$modal.confirm(text + _idname + '"的数据项?').finally(() => (loading.value = false));
const template = { const template = {
@ -337,8 +329,6 @@ const performSearch = async (text) => {
jsonp(`https://apis.map.qq.com/ws/geocoder/v1/?address=${text}&key=${'6XFBZ-SAVLT-JGIX2-VOLMK-6S2H3-XUBGO'}&output=jsonp`, {}).then((data) => { jsonp(`https://apis.map.qq.com/ws/geocoder/v1/?address=${text}&key=${'6XFBZ-SAVLT-JGIX2-VOLMK-6S2H3-XUBGO'}&output=jsonp`, {}).then((data) => {
console.log(data); console.log(data);
if (data.status == 0) { if (data.status == 0) {
center.value.lat = data.result.location.lat;
center.value.lng = data.result.location.lng;
form.value.address = form.value.address =
data.result.address_components.province + data.result.address_components.province +
data.result.address_components.city + data.result.address_components.city +
@ -351,6 +341,7 @@ const performSearch = async (text) => {
form.value.regionCode = data.result.ad_info.adcode; // form.value.regionCode = data.result.ad_info.adcode; //
// form.value.province = data.result.address_components.province; // form.value.province = data.result.address_components.province;
// form.value.city = data.result.address_components.city; // form.value.city = data.result.address_components.city;
center.value = { lat: data.result.location.lat, lng: data.result.location.lng };
geometries.value = [{ styleId: 'marker', position: { lat: data.result.location.lat, lng: data.result.location.lng } }]; geometries.value = [{ styleId: 'marker', position: { lat: data.result.location.lat, lng: data.result.location.lng } }];
} else if (data.status == 348) { } else if (data.status == 348) {
// //
@ -380,8 +371,7 @@ const onClick = (e: any) => {
// form.value.city = data.result.address_component.city; // form.value.city = data.result.address_component.city;
// form.value.region = data.result.ad_info.adcode; // // form.value.region = data.result.ad_info.adcode; //
form.value.regionCode = data.result.ad_info.adcode; // form.value.regionCode = data.result.ad_info.adcode; //
center.value.lat = data.result.location.lat; center.value = { lat: data.result.location.lat, lng: data.result.location.lng };
center.value.lng = data.result.location.lng;
searchLocation.value = data.result.formatted_addresses.recommend; searchLocation.value = data.result.formatted_addresses.recommend;
geometries.value = [{ styleId: 'marker', position: { lat: data.result.location.lat, lng: data.result.location.lng } }]; geometries.value = [{ styleId: 'marker', position: { lat: data.result.location.lat, lng: data.result.location.lng } }];
} }

View File

@ -15,6 +15,7 @@
<el-form-item> <el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
<el-button icon="Refresh" @click="resetQuery">重置</el-button> <el-button icon="Refresh" @click="resetQuery">重置</el-button>
<el-button v-hasPermi="['manage:mkJigsaw:add']" type="primary" plain icon="Plus" @click="handleAdd">新增</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-card> </el-card>
@ -22,15 +23,6 @@
</transition> </transition>
<el-card shadow="never"> <el-card shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button v-hasPermi="['manage:mkJigsaw:add']" type="primary" plain icon="Plus" @click="handleAdd">新增</el-button>
</el-col>
<right-toolbar v-model:showSearch="showSearch" @query-table="getList"></right-toolbar>
</el-row>
</template>
<el-table v-loading="loading" :data="mkJigsawList"> <el-table v-loading="loading" :data="mkJigsawList">
<el-table-column label="任务名称" align="center" prop="name" /> <el-table-column label="任务名称" align="center" prop="name" />
<el-table-column label="任务类别" align="center" prop="category"> <el-table-column label="任务类别" align="center" prop="category">
@ -131,7 +123,7 @@
end-placeholder="选择结束时间" end-placeholder="选择结束时间"
format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss"
date-format="YYYY/MM/DD ddd" date-format="YYYY/MM/DD ddd"
time-format="A hh:mm:ss" time-format="HH:mm:ss"
value-format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss"
:picker-options="{ disabledDate: dateOptions }" :picker-options="{ disabledDate: dateOptions }"
@change="mkdatetime" @change="mkdatetime"

View File

@ -1,8 +1,7 @@
<!-- 笔记管理 --> <!-- 笔记管理 -->
<template> <template>
<div class="p-2"> <div class="p-2">
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" <transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
:leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="showSearch" class="mb-[10px]"> <div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover"> <el-card shadow="hover">
<el-form ref="queryFormRef" :model="queryParams" :inline="true"> <el-form ref="queryFormRef" :model="queryParams" :inline="true">
@ -20,14 +19,14 @@
</el-form-item> </el-form-item>
<el-form-item label="发布状态" prop="tagId"> <el-form-item label="发布状态" prop="tagId">
<!-- <el-input v-model="queryParams.tagId" placeholder="请输入标签" clearable @keyup.enter="handleQuery" /> --> <!-- <el-input v-model="queryParams.tagId" placeholder="请输入标签" clearable @keyup.enter="handleQuery" /> -->
<el-select v-model="queryParams.tagId" placeholder="请选择发布状态" style="width: 240px" <el-select v-model="queryParams.status" placeholder="请选择发布状态" style="width: 240px" @keyup.enter="handleQuery">
@keyup.enter="handleQuery">
<el-option v-for="item in statusoptions" :key="item.value" :label="item.label" :value="item.value" /> <el-option v-for="item in statusoptions" :key="item.value" :label="item.label" :value="item.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
<el-button icon="Refresh" @click="resetQuery">重置</el-button> <el-button icon="Refresh" @click="resetQuery">重置</el-button>
<el-button v-hasPermi="['manage:notebook:add']" type="primary" plain icon="Plus" @click="handleAdd">新增 </el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-card> </el-card>
@ -35,25 +34,6 @@
</transition> </transition>
<el-card shadow="never"> <el-card shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button v-hasPermi="['manage:notebook:add']" type="primary" plain icon="Plus" @click="handleAdd">新增
</el-button>
</el-col>
<!-- <el-col :span="1.5">-->
<!-- <el-button v-hasPermi="['manage:notebook:remove']" type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()"-->
<!-- >删除-->
<!-- </el-button>-->
<!-- </el-col>-->
<!-- <el-col :span="1.5">
<el-button v-hasPermi="['manage:notebook:export']" type="warning" plain icon="Download"
@click="handleExport">导出 </el-button>
</el-col> -->
<right-toolbar v-model:showSearch="showSearch" @query-table="getList"></right-toolbar>
</el-row>
</template>
<el-table v-loading="loading" :data="notebookList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="notebookList" @selection-change="handleSelectionChange">
<!-- <el-table-column type="selection" width="55" align="center" />--> <!-- <el-table-column type="selection" width="55" align="center" />-->
<el-table-column v-if="true" label="ID" align="center" prop="id" /> <el-table-column v-if="true" label="ID" align="center" prop="id" />
@ -101,23 +81,36 @@
<el-table-column label="操作时间" align="center" prop="updateTime" width="200px" /> <el-table-column label="操作时间" align="center" prop="updateTime" width="200px" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="150px"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="150px">
<template #default="scope"> <template #default="scope">
<el-button v-if="scope.row.status == 0||scope.row.status == 1" v-hasPermi="['manage:notebook:edit']" link <el-button
type="primary" @click="handleUpdate(scope.row)">编辑</el-button> v-if="scope.row.status == 0 || scope.row.status == 1"
<el-button v-if="scope.row.status == 0" v-hasPermi="['manage:notebook:edit']" link type="primary" v-hasPermi="['manage:notebook:edit']"
@click="fabudata(scope.row)">发布</el-button> link
<el-button v-if="scope.row.status == 3" v-hasPermi="['manage:notebook:edit']" link type="primary" type="primary"
@click="fabudata(scope.row)">撤销发布</el-button> @click="handleUpdate(scope.row)"
>编辑</el-button
>
<el-button v-if="scope.row.status == 0" v-hasPermi="['manage:notebook:edit']" link type="primary" @click="fabudata(scope.row)"
>发布</el-button
>
<el-button v-if="scope.row.status == 3" v-hasPermi="['manage:notebook:edit']" link type="primary" @click="fabudata(scope.row)"
>撤销发布</el-button
>
<!-- <el-tooltip content="发布" placement="top">--> <!-- <el-tooltip content="发布" placement="top">-->
<!-- <el-button v-hasPermi="['manage:notebook:edit']" link type="primary" icon="Edit" @click="handleUpdate(scope.row)"></el-button>--> <!-- <el-button v-hasPermi="['manage:notebook:edit']" link type="primary" icon="Edit" @click="handleUpdate(scope.row)"></el-button>-->
<!-- </el-tooltip>--> <!-- </el-tooltip>-->
<el-button v-if="scope.row.status == 0||scope.row.status == 1" v-hasPermi="['manage:notebook:remove']" link <el-button
type="primary" @click="handleDelete(scope.row)">删除</el-button> v-if="scope.row.status == 0 || scope.row.status == 1"
v-hasPermi="['manage:notebook:remove']"
link
type="primary"
@click="handleDelete(scope.row)"
>删除</el-button
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination v-show="total > 0" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" <pagination v-show="total > 0" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" :total="total" @pagination="getList" />
:total="total" @pagination="getList" />
</el-card> </el-card>
<!-- 添加或修改笔记对话框 --> <!-- 添加或修改笔记对话框 -->
<el-dialog v-model="dialog.visible" :title="dialog.title" width="60%" append-to-body> <el-dialog v-model="dialog.visible" :title="dialog.title" width="60%" append-to-body>
@ -383,6 +376,8 @@ const handleSelectionChange = (selection: NotebookVO[]) => {
const handleAdd = () => { const handleAdd = () => {
reset(); reset();
dialog.visible = true; dialog.visible = true;
tagvalue.value = '';
addressvalue.value = '';
dialog.title = '添加笔记'; dialog.title = '添加笔记';
}; };
@ -392,8 +387,8 @@ const handleUpdate = async (row?: NotebookVO) => {
const _id = row?.id || ids.value[0]; const _id = row?.id || ids.value[0];
const res = await getNotebook(_id); const res = await getNotebook(_id);
Object.assign(form.value, res.data); Object.assign(form.value, res.data);
tagvalue.value = form.value.tagId.split(','); tagvalue.value = form.value.tagId && form.value.tagId.split(',');
addressvalue.value = form.value.location.split(','); addressvalue.value = form.value.tagId && form.value.location.split(',');
dialog.visible = true; dialog.visible = true;
dialog.title = '修改笔记'; dialog.title = '修改笔记';
}; };

View File

@ -5,20 +5,21 @@
<el-card shadow="hover"> <el-card shadow="hover">
<el-form ref="queryFormRef" :model="queryParams" :inline="true"> <el-form ref="queryFormRef" :model="queryParams" :inline="true">
<el-form-item label="用户昵称" prop="contentId"> <el-form-item label="用户昵称" prop="contentId">
<el-input v-model="queryParams.contentId" placeholder="请输入用户昵称" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.nickName" placeholder="请输入用户昵称" clearable @keyup.enter="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="账号状态" prop="handlingStatus"> <el-form-item label=" 状态">
<el-select v-model="queryParams.handlingStatus" placeholder="请选择状态" clearable> <el-select v-model="queryParams.handlingStatus" placeholder="请选择状态" clearable>
<!-- <el-option v-for="dict in dy_banned_handling_status" :key="dict.value" :label="dict.label" :value="dict.value" />--> <el-option label="未处理" value="0" />
<el-option label="已处理" value="1" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="性别" prop="handlingStatus"> <el-form-item label="性别">
<el-select v-model="queryParams.sex" placeholder="请选择用户性别" clearable> <el-select v-model="queryParams.sex" placeholder="请选择用户性别" clearable>
<el-option v-for="dict in sys_user_sex" :key="dict.value" :label="dict.label" :value="dict.value" /> <el-option v-for="dict in sys_user_sex" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="会员等级" prop="handlingStatus"> <el-form-item label="会员等级">
<el-select v-model="queryParams.handlingStatus" placeholder="请选择状态" clearable> <el-select v-model="queryParams.levelId" placeholder="请选择状态" clearable>
<el-option v-for="dict in dy_banned_handling_status" :key="dict.id" :label="dict.levelName" :value="dict.id" /> <el-option v-for="dict in dy_banned_handling_status" :key="dict.id" :label="dict.levelName" :value="dict.id" />
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -44,17 +45,17 @@
<el-table v-loading="loading" :data="bannedList"> <el-table v-loading="loading" :data="bannedList">
<el-table-column v-if="queryParams.type == 1" label="笔记名称" align="center" prop="contentId"> <el-table-column v-if="queryParams.type == 1" label="笔记名称" align="center" prop="contentId">
<template #default="scope"> <template #default="scope">
<el-button type="primary" link>查看笔记</el-button> <el-button type="primary" link>{{ scope.row.contentName }}</el-button>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column v-if="queryParams.type == 2" label="活动名称" align="center" prop="contentId"> <el-table-column v-if="queryParams.type == 2" label="活动名称" align="center" prop="contentId">
<template #default="scope"> <template #default="scope">
<el-button type="primary" link>查看活动</el-button> <el-button type="primary" link>{{ scope.row.contentName }}</el-button>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column v-if="queryParams.type == 3" label="评论内容" align="center" prop="contentId"> <el-table-column v-if="queryParams.type == 3" label="评论内容" align="center" prop="contentId">
<template #default="scope"> <template #default="scope">
<el-button type="primary" link>查看笔记</el-button> <el-button type="primary" link>{{ scope.row.contentName }}</el-button>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="用户ID" align="center" prop="reportUserId" /> <el-table-column label="用户ID" align="center" prop="reportUserId" />
@ -171,6 +172,7 @@ const data = reactive<PageData<BannedForm, BannedQuery>>({
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
nickName: undefined,
contentId: undefined, contentId: undefined,
reportUserId: undefined, reportUserId: undefined,
reportReason: undefined, reportReason: undefined,
@ -229,6 +231,10 @@ const handleQuery = () => {
/** 重置按钮操作 */ /** 重置按钮操作 */
const resetQuery = () => { const resetQuery = () => {
queryFormRef.value?.resetFields(); queryFormRef.value?.resetFields();
queryParams.value.nickName = '';
queryParams.value.sex = '';
queryParams.value.handlingStatus = '';
queryParams.value.levelId = '';
handleQuery(); handleQuery();
}; };

View File

@ -1,34 +1,29 @@
<!-- 路线导航管理列表 --> <!-- 路线导航管理列表 -->
<template> <template>
<div class="p-2"> <div class="p-2">
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" <transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
:leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="showSearch" id="search_div" class="mb-[10px]"> <div v-show="showSearch" id="search_div" class="mb-[10px]">
<el-card shadow="hover"> <el-card shadow="hover">
<el-form ref="queryFormRef" :model="queryParams" :inline="true" label-width="70px"> <el-form ref="queryFormRef" :model="queryParams" :inline="true" label-width="70px">
<el-form-item label="线路标题" prop=""> <el-form-item label="线路标题" prop="">
<el-input v-model="queryParams.title" class="inputWidth" placeholder="请输入线路标题" clearable <el-input v-model="queryParams.title" class="inputWidth" placeholder="请输入线路标题" clearable @keyup.enter="handleQuery" />
@keyup.enter="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="发布状态" prop=""> <el-form-item label="发布状态" prop="">
<el-select v-model="queryParams.status" class="inputWidth" placeholder="请选择发布状态" clearable> <el-select v-model="queryParams.status" class="inputWidth" placeholder="请选择发布状态" clearable>
<el-option v-for="dict in note_publish_list" :key="dict.value" :label="dict.label" <el-option v-for="dict in note_publish_list" :key="dict.value" :label="dict.label" :value="dict.value" />
:value="dict.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
<el-button icon="Refresh" @click="resetQuery">重置</el-button> <el-button icon="Refresh" @click="resetQuery">重置</el-button>
<el-button v-hasPermi="['system:Route:add']" type="primary" plain icon="Plus" <el-button v-hasPermi="['system:Route:add']" type="primary" plain icon="Plus" @click="handleAdd">新增</el-button>
@click="handleAdd">新增</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-card> </el-card>
</div> </div>
</transition> </transition>
<el-table v-loading="loading" :height="autoTableHeight" :data="RouteList" border <el-table v-loading="loading" :height="autoTableHeight" :data="RouteList" border @selection-change="handleSelectionChange">
@selection-change="handleSelectionChange">
<el-table-column label="ID" align="center" prop="id" width="180px" fixed /> <el-table-column label="ID" align="center" prop="id" width="180px" fixed />
<el-table-column label="线路标题" align="center" prop="title" width="150px" show-overflow-tooltip fixed /> <el-table-column label="线路标题" align="center" prop="title" width="150px" show-overflow-tooltip fixed />
<el-table-column label="线路封面" align="center" prop="" /> <el-table-column label="线路封面" align="center" prop="" />
@ -80,20 +75,40 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="160px" fixed="right"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="160px" fixed="right">
<template #default="scope"> <template #default="scope">
<el-button v-if="scope.row.status == 0 || scope.row.status == 1" v-hasPermi="['system:Route:edit']" link <el-button
type="primary" @click="handleUpdate(scope.row)">编辑</el-button> v-if="scope.row.status == 0 || scope.row.status == 1"
<el-button v-if="scope.row.status == 0 || scope.row.status == 1" v-hasPermi="['system:Route:remove']" link v-hasPermi="['system:Route:edit']"
type="primary" @click="handleDelete(scope.row)">删除</el-button> link
<el-button v-if="scope.row.status == 0" v-hasPermi="['system:Route:remove']" link type="primary" type="primary"
@click="savelistrow(scope.row)">发布</el-button> @click="handleUpdate(scope.row)"
<el-button v-if="scope.row.status == 3" v-hasPermi="['system:Route:remove']" link type="primary" >编辑</el-button
@click="savelistrow(scope.row)">撤销发布</el-button> >
<el-button
v-if="scope.row.status == 0 || scope.row.status == 1"
v-hasPermi="['system:Route:remove']"
link
type="primary"
@click="handleDelete(scope.row)"
>删除</el-button
>
<el-button v-if="scope.row.status == 0" v-hasPermi="['system:Route:remove']" link type="primary" @click="savelistrow(scope.row)"
>发布</el-button
>
<el-button v-if="scope.row.status == 3" v-hasPermi="['system:Route:remove']" link type="primary" @click="savelistrow(scope.row)"
>撤销发布</el-button
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination v-show="total > 0" id="table_page" v-model:page="queryParams.pageNum" <pagination
v-model:limit="queryParams.pageSize" :total="total" @pagination="getList" /> v-show="total > 0"
id="table_page"
v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize"
:total="total"
@pagination="getList"
/>
<!-- 添加或修改景点租赁管理对话框 --> <!-- 添加或修改景点租赁管理对话框 -->
<el-dialog v-model="dialog.visible" :title="dialog.title" width="60%" append-to-body> <el-dialog v-model="dialog.visible" :title="dialog.title" width="60%" append-to-body>
<el-form ref="RouteFormRef" :model="form" :rules="rules" label-width="120px"> <el-form ref="RouteFormRef" :model="form" :rules="rules" label-width="120px">
@ -110,9 +125,8 @@
<el-option v-for="item in sys_user_tagOptions" :key="item.id" :label="item.title" :value="item.id" /> <el-option v-for="item in sys_user_tagOptions" :key="item.id" :label="item.title" :value="item.id" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="涉及的行政区域" prop="treevalue"> <el-form-item label="涉及的行政区域" prop="region">
<el-cascader v-model="treevalue" :options="regiontree" :props="props" clearable placeholder="请选择涉及的行政区域" <el-cascader v-model="treevalue" :options="regiontree" :props="props" clearable placeholder="请选择涉及的行政区域" style="width: 400px" />
style="width: 400px" />
</el-form-item> </el-form-item>
<div style="display: flex"> <div style="display: flex">
<el-form-item label="行程天数" prop="routeDays"> <el-form-item label="行程天数" prop="routeDays">
@ -176,15 +190,13 @@
<el-input v-model="routeDetailsList.title" placeholder="请输入标题" style="width: 500px" /> <el-input v-model="routeDetailsList.title" placeholder="请输入标题" style="width: 500px" />
</el-form-item> </el-form-item>
<el-form-item label="描述"> <el-form-item label="描述">
<el-input v-model="routeDetailsList.description" placeholder="请输入描述" style="width: 500px" autosize <el-input v-model="routeDetailsList.description" placeholder="请输入描述" style="width: 500px" autosize type="textarea" />
type="textarea" />
</el-form-item> </el-form-item>
<el-form-item label="添加地点"> <el-form-item label="添加地点">
<el-button type="primary" @click="addjingdain">添加景点</el-button> <el-button type="primary" @click="addjingdain">添加景点</el-button>
</el-form-item> </el-form-item>
<div v-for="(item, index) in routeDetailsList.lowerList" class="articlelist"> <div v-for="(item, index) in routeDetailsList.lowerList" class="articlelist">
<CircleClose v-if="index != 0" style="width: 2em; height: 2em; position: relative; left: 98%" <CircleClose v-if="index != 0" style="width: 2em; height: 2em; position: relative; left: 98%" @click="delLowerList(index)" />
@click="delLowerList(index)" />
<el-form-item label="添加地点"> <el-form-item label="添加地点">
<el-select v-model="item.articleId" placeholder="请选择标记地点" size="large" style="width: 500px"> <el-select v-model="item.articleId" placeholder="请选择标记地点" size="large" style="width: 500px">
<el-option v-for="item in sys_user_contentOptions" :key="item.id" :label="item.name" :value="item.id" /> <el-option v-for="item in sys_user_contentOptions" :key="item.id" :label="item.name" :value="item.id" />
@ -383,7 +395,7 @@ const data = reactive<PageData<RouteForm, RouteQuery>>({
routeDriveHour: [{ required: true, message: '行驶时长', trigger: 'blur' }], routeDriveHour: [{ required: true, message: '行驶时长', trigger: 'blur' }],
routeMileage: [{ required: true, message: '行程里数', trigger: 'blur' }], routeMileage: [{ required: true, message: '行程里数', trigger: 'blur' }],
routeDays: [{ required: true, message: '行程天数', trigger: 'blur' }], routeDays: [{ required: true, message: '行程天数', trigger: 'blur' }],
region: [{ required: true, message: '涉及的行政区', trigger: 'blur' }], region: [{ required: true, message: '涉及的行政区不能为空', trigger: 'blur' }],
tagId: [{ required: true, message: '标签不能为空', trigger: 'blur' }], tagId: [{ required: true, message: '标签不能为空', trigger: 'blur' }],
title: [{ required: true, message: '线路标题', trigger: 'blur' }] title: [{ required: true, message: '线路标题', trigger: 'blur' }]
} }
@ -536,7 +548,7 @@ const handleUpdate = async (row?: RouteVO) => {
/** 提交按钮 */ /** 提交按钮 */
const submitForm = async (type) => { const submitForm = async (type) => {
form.value.tagId = tagvalue?.value.length != 0 ? tagvalue?.value.join(',') : ''; form.value.tagId = tagvalue?.value.length != 0 ? tagvalue?.value.join(',') : '';
form.value.region = treevalue?.value ? JSON.stringify(treevalue?.value) : ''; form.value.region = treevalue?.value.length ==0?'': JSON.stringify(treevalue?.value);
form.value.status = Number(type); form.value.status = Number(type);
form.value.routeDetailsList = bookrouteDetailsList.value; form.value.routeDetailsList = bookrouteDetailsList.value;
if (type == 1) { if (type == 1) {

View File

@ -72,21 +72,21 @@
删除 删除
</el-button> </el-button>
</el-col> </el-col>
<el-col :span="1.5"> <!-- <el-col :span="1.5">-->
<el-dropdown class="mt-[1px]"> <!-- <el-dropdown class="mt-[1px]">-->
<el-button plain type="info"> <!-- <el-button plain type="info">-->
更多 <!-- 更多-->
<el-icon class="el-icon--right"><arrow-down /></el-icon <!-- <el-icon class="el-icon&#45;&#45;right"><arrow-down /></el-icon-->
></el-button> <!-- ></el-button>-->
<template #dropdown> <!-- <template #dropdown>-->
<el-dropdown-menu> <!-- <el-dropdown-menu>-->
<el-dropdown-item icon="Download" @click="importTemplate">下载模板</el-dropdown-item> <!-- <el-dropdown-item icon="Download" @click="importTemplate">下载模板</el-dropdown-item>-->
<el-dropdown-item icon="Top" @click="handleImport"> 导入数据</el-dropdown-item> <!-- <el-dropdown-item icon="Top" @click="handleImport"> 导入数据</el-dropdown-item>-->
<el-dropdown-item icon="Download" @click="handleExport"> 导出数据</el-dropdown-item> <!-- <el-dropdown-item icon="Download" @click="handleExport"> 导出数据</el-dropdown-item>-->
</el-dropdown-menu> <!-- </el-dropdown-menu>-->
</template> <!-- </template>-->
</el-dropdown> <!-- </el-dropdown>-->
</el-col> <!-- </el-col>-->
<right-toolbar v-model:showSearch="showSearch" :columns="columns" :search="true" @query-table="getList"></right-toolbar> <right-toolbar v-model:showSearch="showSearch" :columns="columns" :search="true" @query-table="getList"></right-toolbar>
</el-row> </el-row>
</template> </template>