直播间修改

master
blak-kong 2 years ago
parent e72876bca4
commit 73404a4ff7

@ -381,6 +381,7 @@ export default {
}
if (this.form.value) {
this.form.value = this.form.value.replace(/\\/g, '') //
this.form.value = encodeURIComponent(this.form.value)
console.log(" this.form.value", this.form.value)
}
@ -432,30 +433,30 @@ export default {
//
this.settingList.forEach((item) => {
if (item.key == 'USER_AGREEMENT') {
this.userAgreementFrom.userAgreement = item.value
this.userAgreementFrom.userAgreement = decodeURIComponent(item.value);
this.userAgreementFrom.userAgreementId = item.id
}
if (item.key == 'PRIVACY_AGREEMENT') {
this.privacyAgreementFrom.privacyAgreement = item.value
this.privacyAgreementFrom.privacyAgreement = decodeURIComponent(item.value);
this.privacyAgreementFrom.privacyAgreementId = item.id
}
if (item.key == 'INTEGRAL_RULE') {
this.integralRuleFrom.integralRule = item.value
this.integralRuleFrom.integralRule = decodeURIComponent(item.value);
this.integralRuleFrom.integralRuleId = item.id
}
if (item.key == 'ABOUT_US') {
this.aboutUsFrom.aboutUs = item.value
this.aboutUsFrom.aboutUs = decodeURIComponent(item.value);
this.aboutUsFrom.aboutUsId = item.id
}
if (item.key == 'BLUETOOTH_GUIDANCE_PERMISSIONS') {
this.bluetoothGuidancePermissionsFrom.bluetoothGuidancePermissions =
item.value
decodeURIComponent(item.value);
this.bluetoothGuidancePermissionsFrom.bluetoothGuidancePermissionsId =
item.id
}
if (item.key == 'LOCATION_GUIDANCE_PERMISSIONS') {
this.locationGuidancePermissionsFrom.locationGuidancePermissions =
item.value
decodeURIComponent(item.value);
this.locationGuidancePermissionsFrom.locationGuidancePermissionsId =
item.id
}

@ -1,6 +1,13 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="68px"
>
<el-form-item label="轮播状态" prop="operate">
<el-select
v-model="queryParams.operate"
@ -14,25 +21,37 @@
</el-select>
</el-form-item>
<el-form-item label="开启时间" prop="siteStartTime">
<el-date-picker clearable
<el-date-picker
clearable
v-model="queryParams.siteStartTime"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="请选择开启开始时间">
placeholder="请选择开启开始时间"
>
</el-date-picker>
</el-form-item>
<el-form-item label="" prop="siteEndTime">
<el-date-picker clearable
<el-date-picker
clearable
v-model="queryParams.siteEndTime"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="请选择开启结束时间">
placeholder="请选择开启结束时间"
>
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>
</el-form-item>
</el-form>
@ -45,7 +64,8 @@
size="mini"
@click="handleAdd"
v-hasPermi="['system:siteInfo:add']"
>新增</el-button>
>新增</el-button
>
</el-col>
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
@ -67,7 +87,8 @@
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['system:siteInfo:remove']"
>删除</el-button>
>删除</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
@ -77,40 +98,74 @@
size="mini"
@click="handleExport"
v-hasPermi="['system:siteInfo:export']"
>导出</el-button>
>导出</el-button
>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
<right-toolbar
:showSearch.sync="showSearch"
@queryTable="getList"
></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="infoList" @selection-change="handleSelectionChange">
<el-table
v-loading="loading"
:data="infoList"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="序号" align="center" prop="id" />
<el-table-column label="升序排序" align="center" prop="orderNumber">
<template slot-scope="scope">
<el-input v-model="scope.row.orderNumber" @blur="updateOrderNumber($event,scope.row)"></el-input>
<el-input
v-model="scope.row.orderNumber"
@blur="updateOrderNumber($event, scope.row)"
></el-input>
</template>
</el-table-column>
<el-table-column label="轮播封面" align="center" prop="fileUrl">
<template slot-scope="scope">
<el-image :src="scope.row.fileUrl" style="width: 60px;height: 80px" :preview-src-list="[scope.row.fileUrl]">
<div slot="placeholder" class="image-slot"><span class="dot"></span>
<el-image
:src="scope.row.fileUrl"
style="width: 60px; height: 80px"
:preview-src-list="[scope.row.fileUrl]"
>
<div slot="placeholder" class="image-slot">
<span class="dot"></span>
</div>
</el-image>
</template>
</el-table-column>
<el-table-column label="标题" align="center" prop="siteName" />
<el-table-column label="活动时间" align="center" prop="siteStartTime" width="180">
<el-table-column
label="活动时间"
align="center"
prop="siteStartTime"
width="180"
>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.siteStartTime, '{y}-{m}-{d} {h}:{i}') }}</span>
<span>{{
parseTime(scope.row.siteStartTime, '{y}-{m}-{d} {h}:{i}')
}}</span>
~
<span>{{ parseTime(scope.row.siteEndTime, '{y}-{m}-{d} {h}:{i}') }}</span>
<span>{{
parseTime(scope.row.siteEndTime, '{y}-{m}-{d} {h}:{i}')
}}</span>
</template>
</el-table-column>
<el-table-column label="用户注册时间" align="center" prop="userRegisterStartTime" width="180">
<el-table-column
label="用户注册时间"
align="center"
prop="userRegisterStartTime"
width="180"
>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.userRegisterStartTime, '{y}-{m}-{d} {h}:{i}') }}</span>
<span>{{
parseTime(scope.row.userRegisterStartTime, '{y}-{m}-{d} {h}:{i}')
}}</span>
~
<span>{{ parseTime(scope.row.userRegisterEndTime, '{y}-{m}-{d} {h}:{i}') }}</span>
<span>{{
parseTime(scope.row.userRegisterEndTime, '{y}-{m}-{d} {h}:{i}')
}}</span>
</template>
</el-table-column>
<el-table-column label="轮播状态" align="center" prop="operate">
@ -138,12 +193,21 @@
<span v-show="scope.row.type == 5"></span>
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" width="160">
<el-table-column
label="创建时间"
align="center"
prop="createTime"
width="160"
>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
>
<template slot-scope="scope">
<el-button
size="mini"
@ -151,21 +215,24 @@
icon="el-icon-edit"
@click="handleUpdate(scope.row, 'edit')"
v-hasPermi="['system:siteInfo:edit']"
>修改</el-button>
>修改</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:siteInfo:remove']"
>删除</el-button>
>删除</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-sort"
@click="handleUpdate(scope.row, 'copy')"
v-hasPermi="['system:siteInfo:edit']"
>复制</el-button>
>复制</el-button
>
<el-button
size="mini"
type="text"
@ -173,7 +240,8 @@
@click="closeWindow(scope.row, 1)"
v-if="scope.row.operate == 2"
v-hasPermi="['system:siteInfo:edit']"
>开启轮播图</el-button>
>开启轮播图</el-button
>
<el-button
size="mini"
type="text"
@ -181,7 +249,8 @@
v-if="scope.row.operate == 1"
@click="closeWindow(scope.row, 2)"
v-hasPermi="['system:siteInfo:edit']"
>关闭轮播图</el-button>
>关闭轮播图</el-button
>
</template>
</el-table-column>
</el-table>
@ -197,8 +266,12 @@
<!-- 添加或修改站点管理对话框 -->
<el-dialog :title="title" :visible.sync="open" width="680px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-image :src="form.fileUrl" style="width: 300px;height: 400px;margin-left: 20%">
<div slot="placeholder" class="image-slot"><span class="dot"></span>
<el-image
:src="form.fileUrl"
style="width: 300px; height: 400px; margin-left: 20%"
>
<div slot="placeholder" class="image-slot">
<span class="dot"></span>
</div>
</el-image>
<el-form-item label="轮播封面" prop="fileUrl">
@ -214,12 +287,21 @@
drag
>
<i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处<em>点击上传</em></div>
<div class="el-upload__tip" slot="tip">只能上传jpg/png图片建议尺寸300px*400px</div>
<div class="el-upload__text">
将文件拖到此处<em>点击上传</em>
</div>
<div class="el-upload__tip" slot="tip">
只能上传jpg/png图片建议尺寸300px*400px
</div>
</el-upload>
</el-form-item>
<el-form-item label="标题" prop="siteName">
<el-input v-model="form.siteName" placeholder="请输入标题" style="width: 80%" maxlength="21" />
<el-input
v-model="form.siteName"
placeholder="请输入标题"
style="width: 80%"
maxlength="21"
/>
</el-form-item>
<el-form-item label="开启时间" prop="siteStartTime">
<el-date-picker
@ -229,10 +311,15 @@
format="yyyy-MM-dd HH:mm"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
end-placeholder="结束日期"
>
</el-date-picker>
</el-form-item>
<el-form-item label="用户注册时间" prop="userRegisterStartTime" label-width="100px">
<el-form-item
label="用户注册时间"
prop="userRegisterStartTime"
label-width="100px"
>
<el-date-picker
v-model="form.registerTime"
type="datetimerange"
@ -240,7 +327,8 @@
format="yyyy-MM-dd HH:mm"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
end-placeholder="结束日期"
>
</el-date-picker>
</el-form-item>
<!-- <el-form-item label="弹窗类型" prop="openType">-->
@ -277,17 +365,61 @@
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<el-form-item label="可见小程序标签" prop="showWechatTagId" label-width="120px">
<treeselect v-model="form.showWechatTagArray" :options="chatTagOptions" :multiple="true" :show-count="true" placeholder="请选择小程序标签" :disable-branch-nodes="true" />
<el-form-item
label="可见小程序标签"
prop="showWechatTagId"
label-width="120px"
>
<treeselect
v-model="form.showWechatTagArray"
:options="chatTagOptions"
:multiple="true"
:show-count="true"
placeholder="请选择小程序标签"
:disable-branch-nodes="true"
/>
</el-form-item>
<el-form-item label="可见外部标签" prop="showCompanyTagId" label-width="120px">
<treeselect v-model="form.showCompanyTagArray" :options="tagOptions" :multiple="true" :show-count="true" placeholder="请选择外部标签" :disable-branch-nodes="true" />
<el-form-item
label="可见外部标签"
prop="showCompanyTagId"
label-width="120px"
>
<treeselect
v-model="form.showCompanyTagArray"
:options="tagOptions"
:multiple="true"
:show-count="true"
placeholder="请选择外部标签"
:disable-branch-nodes="true"
/>
</el-form-item>
<el-form-item label="禁止小程序标签" prop="forbidWechatTagId" label-width="120px">
<treeselect v-model="form.forbidWechatTagArray" :options="chatTagOptions" :multiple="true" :show-count="true" placeholder="请选择小程序标签" :disable-branch-nodes="true" />
<el-form-item
label="禁止小程序标签"
prop="forbidWechatTagId"
label-width="120px"
>
<treeselect
v-model="form.forbidWechatTagArray"
:options="chatTagOptions"
:multiple="true"
:show-count="true"
placeholder="请选择小程序标签"
:disable-branch-nodes="true"
/>
</el-form-item>
<el-form-item label="禁止外部标签" prop="forbidCompanyTagId" label-width="120px">
<treeselect v-model="form.forbidCompanyTagArray" :options="tagOptions" :multiple="true" :show-count="true" placeholder="请选择外部标签" :disable-branch-nodes="true" />
<el-form-item
label="禁止外部标签"
prop="forbidCompanyTagId"
label-width="120px"
>
<treeselect
v-model="form.forbidCompanyTagArray"
:options="tagOptions"
:multiple="true"
:show-count="true"
placeholder="请选择外部标签"
:disable-branch-nodes="true"
/>
</el-form-item>
<el-row>
<!-- <el-col :span = "12">-->
@ -304,7 +436,12 @@
<!-- </el-col>-->
<el-col :span="24">
<el-form-item label="仪器" prop="channelId">
<el-select v-model="form.machineArray" multiple placeholder="请选择" style="width: 80%">
<el-select
v-model="form.machineArray"
multiple
placeholder="请选择"
style="width: 80%"
>
<el-option
v-for="instrument in instrumentList"
:key="instrument.id"
@ -326,22 +463,52 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否开启轮播图" prop="operate" label-width="120px">
<el-switch
v-model="form.operate"
<el-form-item
label="是否开启轮播图"
prop="operate"
label-width="120px"
>
</el-switch>
<el-switch v-model="form.operate"> </el-switch>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="点击弹窗获得小程序标签" prop="handlerWechatTagId" label-width="180px">
<treeselect v-model="form.handlerWechatTagArray" :options="chatTagOptions" :multiple="true" :show-count="true" placeholder="请选择小程序标签" :disable-branch-nodes="true" />
<el-form-item
label="点击弹窗获得小程序标签"
prop="handlerWechatTagId"
label-width="180px"
>
<treeselect
v-model="form.handlerWechatTagArray"
:options="chatTagOptions"
:multiple="true"
:show-count="true"
placeholder="请选择小程序标签"
:disable-branch-nodes="true"
/>
</el-form-item>
<el-form-item label="点击弹窗获得外部标签" prop="handlerCompanyTagId" label-width="180px">
<treeselect v-model="form.handlerCompanyTagArray" :options="tagOptions" :multiple="true" :show-count="true" placeholder="请选择外部标签" :disable-branch-nodes="true" />
<el-form-item
label="点击弹窗获得外部标签"
prop="handlerCompanyTagId"
label-width="180px"
>
<treeselect
v-model="form.handlerCompanyTagArray"
:options="tagOptions"
:multiple="true"
:show-count="true"
placeholder="请选择外部标签"
:disable-branch-nodes="true"
/>
</el-form-item>
<el-form-item label="打卡显示活动 " prop="signNumber" label-width="120px">
<el-input v-model="form.signNumber" placeholder="请输入打卡多少次显示活动 " />
<el-form-item
label="打卡显示活动 "
prop="signNumber"
label-width="120px"
>
<el-input
v-model="form.signNumber"
placeholder="请输入打卡多少次显示活动 "
/>
</el-form-item>
<el-form-item label="排序" prop="orderNumber">
<el-input v-model="form.orderNumber" placeholder="请输入排序" />
@ -355,7 +522,11 @@
<el-option label="跳转小程序" :value="4" :key="4"></el-option>
<el-option label="跳转外部链接" :value="3" :key="3"></el-option>
<el-option label="导向视频号" :value="5" :key="5"></el-option>
<el-option label="导向视频号直播间" :value="6" :key="6"></el-option>
<el-option
label="导向视频号直播间"
:value="6"
:key="6"
></el-option>
</el-select>
</el-form-item>
</el-col>
@ -366,7 +537,10 @@
</el-col>
<el-col :span="24" v-if="form.type == 1">
<el-form-item label="跳转参数" prop="linkParams">
<el-input v-model="form.linkParams" placeholder="请输入跳转参数" />
<el-input
v-model="form.linkParams"
placeholder="请输入跳转参数"
/>
</el-form-item>
</el-col>
<el-col :span="24" v-if="form.type == 3">
@ -376,12 +550,18 @@
</el-col>
<el-col :span="24" v-if="form.type == 4">
<el-form-item label="APPID" prop="redirectAppid">
<el-input v-model="form.redirectAppid" placeholder="请输入小程序APPID" />
<el-input
v-model="form.redirectAppid"
placeholder="请输入小程序APPID"
/>
</el-form-item>
</el-col>
<el-col :span="24" v-if="form.type == 4" label-width="90px">
<el-form-item label="小程序页面" prop="redirectUrl">
<el-input v-model="form.redirectUrl" placeholder="请输入小程序页面" />
<el-input
v-model="form.redirectUrl"
placeholder="请输入小程序页面"
/>
</el-form-item>
</el-col>
<el-col :span="24" v-if="form.type == 5 || form.type == 6">
@ -389,9 +569,12 @@
<el-input v-model="form.videoNo" placeholder="请输入视频号ID" />
</el-form-item>
</el-col>
<el-col :span="24" v-if="form.type == 5 || form.type == 6" label-width="90px">
<el-form-item label="feedId" prop="feedId">
<el-input v-model="form.feedId" placeholder="请输入视频号feedId" />
<el-col :span="24" v-if="form.type == 5" label-width="90px">
<el-form-item label="feedId">
<el-input
v-model="form.feedId"
placeholder="请输入视频号feedId"
/>
</el-form-item>
</el-col>
</el-row>
@ -405,16 +588,22 @@
</template>
<script>
import { listInfo, getInfo, delInfo, addInfo, updateInfo } from "@/api/system/siteInfo";
import { listChannelInfo} from "@/api/system/channelInfo";
import {getToken} from "@/utils/auth";
import { tagTreeSelect } from "@/api/system/wechatTab";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import { listInstrument } from "@/api/system/instrument";
import {
listInfo,
getInfo,
delInfo,
addInfo,
updateInfo,
} from '@/api/system/siteInfo'
import { listChannelInfo } from '@/api/system/channelInfo'
import { getToken } from '@/utils/auth'
import { tagTreeSelect } from '@/api/system/wechatTab'
import Treeselect from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import { listInstrument } from '@/api/system/instrument'
export default {
name: "Info",
name: 'Info',
components: { Treeselect },
data() {
return {
@ -438,7 +627,7 @@ export default {
infoList: [],
channelList: [],
//
title: "",
title: '',
tagOptions: [],
chatTagOptions: [],
//
@ -448,15 +637,15 @@ export default {
//
open: false,
//
title: "",
title: '',
//
isUploading: false,
//
updateSupport: 0,
//
headers: { Authorization: "Bearer " + getToken() },
headers: { Authorization: 'Bearer ' + getToken() },
//
url: process.env.VUE_APP_BASE_API + "/file/upload"
url: process.env.VUE_APP_BASE_API + '/file/upload',
},
//
queryParams: {
@ -469,7 +658,7 @@ export default {
siteEndTime: null,
userRegisterStartTime: null,
userRegisterEndTime: null,
openType: "",
openType: '',
pushType: null,
pushNumber: null,
pushTimer: null,
@ -486,7 +675,7 @@ export default {
machineName: null,
machineId: null,
userType: null,
operate: "",
operate: '',
signNumber: null,
orderNumber: null,
type: null,
@ -502,91 +691,93 @@ export default {
//
rules: {
fileUrl: [
{ required: true, message: "轮播封面不能为空", trigger: "blur" }
{ required: true, message: '轮播封面不能为空', trigger: 'blur' },
],
pushType: [
{ required: true, message: "推送频次不能为空", trigger: "blur" }
{ required: true, message: '推送频次不能为空', trigger: 'blur' },
],
siteName: [
{ required: true, message: "标题不能为空", trigger: "blur" }
{ required: true, message: '标题不能为空', trigger: 'blur' },
],
userType: [
{ required: true, message: "用户类型不能为空", trigger: "blur" }
{ required: true, message: '用户类型不能为空', trigger: 'blur' },
],
orderNumber: [
{ required: true, message: "排序不能为空", trigger: "blur" }
{ required: true, message: '排序不能为空', trigger: 'blur' },
],
type: [
{ required: true, message: "跳转类型不能为空", trigger: "blur" }
],
link: [
{ required: true, message: "参数不能为空", trigger: "blur" }
{ required: true, message: '跳转类型不能为空', trigger: 'blur' },
],
link: [{ required: true, message: '参数不能为空', trigger: 'blur' }],
redirectAppid: [
{ required: true, message: "APPID不能为空", trigger: "blur" }
{ required: true, message: 'APPID不能为空', trigger: 'blur' },
],
linkParams: [
{ required: true, message: "跳转参数不能为空", trigger: "blur" }
{ required: true, message: '跳转参数不能为空', trigger: 'blur' },
],
redirectUrl: [
{ required: true, message: "小程序页面不能为空", trigger: "blur" }
{ required: true, message: '小程序页面不能为空', trigger: 'blur' },
],
videoNo: [
{ required: true, message: "视频号ID不能为空", trigger: "blur" }
{ required: true, message: '视频号ID不能为空', trigger: 'blur' },
],
feedId: [
{ required: true, message: "视频号feedId不能为空", trigger: "blur" }
{ required: true, message: '视频号feedId不能为空', trigger: 'blur' },
],
pushTimer: [
{ required: true, message: "自定义频次时间不能为空", trigger: "blur" }
{
required: true,
message: '自定义频次时间不能为空',
trigger: 'blur',
},
],
pushNumber: [
{ required: true, message: "每天推送次数不能为空", trigger: "blur" }
{ required: true, message: '每天推送次数不能为空', trigger: 'blur' },
],
},
}
};
},
created() {
// this.queryParams.siteStartTime = this.dateUtil(new Date(new Date().toLocaleDateString()));
// this.queryParams.siteEndTime = this.dateUtil(new Date(new Date(new Date().toLocaleDateString()).getTime() + 24 * 60 * 60 * 1000 - 1));
this.getList();
this.getDeptTree();
this.queryInstrumentList();
this.getList()
this.getDeptTree()
this.queryInstrumentList()
},
methods: {
//
queryInstrumentList() {
listInstrument(this.queryParams).then(response => {
this.instrumentList = response.rows;
});
listInstrument(this.queryParams).then((response) => {
this.instrumentList = response.rows
})
},
/** 查询站点管理列表 */
getList() {
this.form.fileUrl = ''
this.loading = true;
listInfo(this.queryParams).then(response => {
this.infoList = response.rows;
this.total = response.total;
this.loading = false;
});
listChannelInfo(this.queryParams).then(response => {
this.channelList = response.rows;
});
this.loading = true
listInfo(this.queryParams).then((response) => {
this.infoList = response.rows
this.total = response.total
this.loading = false
})
listChannelInfo(this.queryParams).then((response) => {
this.channelList = response.rows
})
},
dateUtil(date) {
//
const year = date.getFullYear().toString(); //
const months = (date.getMonth() + 1).toString().padStart(2, '0'); //
const day = date.getDate().toString().padStart(2, '0'); //
const hours = date.getHours().toString().padStart(2, '0'); //
const minutes = date.getMinutes().toString().padStart(2, '0'); //
const seconds = date.getSeconds().toString().padStart(2, '0');
return `${year}-${months}-${day} ${hours}:${minutes}:${seconds}`;
const year = date.getFullYear().toString() //
const months = (date.getMonth() + 1).toString().padStart(2, '0') //
const day = date.getDate().toString().padStart(2, '0') //
const hours = date.getHours().toString().padStart(2, '0') //
const minutes = date.getMinutes().toString().padStart(2, '0') //
const seconds = date.getSeconds().toString().padStart(2, '0')
return `${year}-${months}-${day} ${hours}:${minutes}:${seconds}`
},
//
cancel() {
this.open = false;
this.reset();
this.open = false
this.reset()
},
//
reset() {
@ -629,116 +820,116 @@ export default {
createBy: null,
createTime: null,
updateBy: null,
updateTime: null
};
this.resetForm("form");
updateTime: null,
}
this.resetForm('form')
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
this.queryParams.pageNum = 1
this.getList()
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
this.resetForm('queryForm')
this.handleQuery()
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.ids = selection.map((item) => item.id)
this.single = selection.length !== 1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加轮播列表";
this.form.orderNumber = 1000;
this.form.userType = 2;
this.reset()
this.open = true
this.title = '添加轮播列表'
this.form.orderNumber = 1000
this.form.userType = 2
},
/** 修改按钮操作 */
handleUpdate(row, operate) {
this.operate = operate;
this.reset();
this.operate = operate
this.reset()
const id = row.id || this.ids
getInfo(id).then(response => {
this.form = response.data;
getInfo(id).then((response) => {
this.form = response.data
if (this.form.operate == 1) {
this.form.operate = true;
this.form.operate = true
} else {
this.form.operate = false;
this.form.operate = false
}
this.open = true;
this.title = "修改站点管理";
});
this.open = true
this.title = '修改站点管理'
})
},
//
updateOrderNumber(event, row) {
updateInfo(row).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
updateInfo(row).then((response) => {
this.$modal.msgSuccess('修改成功')
this.open = false
this.getList()
})
},
//
closeWindow(row, operate) {
row.operate = operate;
updateInfo(row).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
row.operate = operate
updateInfo(row).then((response) => {
this.$modal.msgSuccess('修改成功')
this.open = false
this.getList()
})
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
this.$refs['form'].validate((valid) => {
if (valid) {
if (!this.form.fileUrl) {
this.$modal.msgError("轮播封面不能为空");
return;
this.$modal.msgError('轮播封面不能为空')
return
}
//
if (this.form.startTime && this.form.startTime.length > 0) {
this.form.siteStartTime = this.form.startTime[0];
this.form.siteEndTime = this.form.startTime[1];
this.form.siteStartTime = this.form.startTime[0]
this.form.siteEndTime = this.form.startTime[1]
} else {
this.form.siteStartTime = "";
this.form.siteEndTime = "";
this.form.siteStartTime = ''
this.form.siteEndTime = ''
}
if (this.form.registerTime && this.form.registerTime.length > 0) {
this.form.userRegisterStartTime = this.form.registerTime[0];
this.form.userRegisterEndTime = this.form.registerTime[1];
this.form.userRegisterStartTime = this.form.registerTime[0]
this.form.userRegisterEndTime = this.form.registerTime[1]
} else {
this.form.userRegisterStartTime = "";
this.form.userRegisterEndTime = "";
this.form.userRegisterStartTime = ''
this.form.userRegisterEndTime = ''
}
if (this.form.operate) {
this.form.operate = 1;
this.form.operate = 1
} else {
this.form.operate = 2;
this.form.operate = 2
}
this.form.siteType = 2;
this.form.startTime = [];
this.form.registerTime = [];
this.form.siteType = 2
this.form.startTime = []
this.form.registerTime = []
if (this.form.id != null && this.operate == 'edit') {
updateInfo(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
updateInfo(this.form).then((response) => {
this.$modal.msgSuccess('修改成功')
this.open = false
this.getList()
})
} else {
if (this.operate == 'copy') {
this.form.id = null;
this.form.id = null
}
addInfo(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
addInfo(this.form).then((response) => {
this.$modal.msgSuccess('新增成功')
this.open = false
this.getList()
})
}
}
});
})
},
//
handleFileUploadProgress(event, file, fileList) {
@ -748,34 +939,42 @@ export default {
handleFileSuccess(response, file, fileList, item) {
console.log('上传后的结果==>', JSON.stringify(response))
if (response.code == '200') {
this.form.fileUrl = response.data.url;
this.form.fileUrl = response.data.url
}
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除站点管理编号为"' + ids + '"的数据项?').then(function() {
return delInfo(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
const ids = row.id || this.ids
this.$modal
.confirm('是否确认删除站点管理编号为"' + ids + '"的数据项?')
.then(function () {
return delInfo(ids)
})
.then(() => {
this.getList()
this.$modal.msgSuccess('删除成功')
})
.catch(() => {})
},
/** 查询部门下拉树结构 */
getDeptTree() {
tagTreeSelect({type: 2}).then(response => {
this.tagOptions = response.data;
});
tagTreeSelect({type: 1}).then(response => {
this.chatTagOptions = response.data;
});
tagTreeSelect({ type: 2 }).then((response) => {
this.tagOptions = response.data
})
tagTreeSelect({ type: 1 }).then((response) => {
this.chatTagOptions = response.data
})
},
/** 导出按钮操作 */
handleExport() {
this.download('system/siteInfo/export', {
...this.queryParams
}, `info_${new Date().getTime()}.xlsx`)
}
this.download(
'system/siteInfo/export',
{
...this.queryParams,
},
`info_${new Date().getTime()}.xlsx`
)
},
},
}
};
</script>

@ -1,6 +1,13 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="68px"
>
<el-form-item label="弹窗状态" prop="operate">
<el-select
v-model="queryParams.operate"
@ -27,25 +34,37 @@
</el-select>
</el-form-item>
<el-form-item label="开启时间" prop="siteStartTime">
<el-date-picker clearable
<el-date-picker
clearable
v-model="queryParams.siteStartTime"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="请选择开启开始时间">
placeholder="请选择开启开始时间"
>
</el-date-picker>
</el-form-item>
<el-form-item label="" prop="siteEndTime">
<el-date-picker clearable
<el-date-picker
clearable
v-model="queryParams.siteEndTime"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="请选择开启结束时间">
placeholder="请选择开启结束时间"
>
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>
</el-form-item>
</el-form>
@ -58,7 +77,8 @@
size="mini"
@click="handleAdd"
v-hasPermi="['system:siteInfo:add']"
>新增</el-button>
>新增</el-button
>
</el-col>
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
@ -80,7 +100,8 @@
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['system:siteInfo:remove']"
>删除</el-button>
>删除</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
@ -90,40 +111,74 @@
size="mini"
@click="handleExport"
v-hasPermi="['system:siteInfo:export']"
>导出</el-button>
>导出</el-button
>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
<right-toolbar
:showSearch.sync="showSearch"
@queryTable="getList"
></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="infoList" @selection-change="handleSelectionChange">
<el-table
v-loading="loading"
:data="infoList"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="序号" align="center" prop="id" />
<el-table-column label="升序排序" align="center" prop="orderNumber">
<template slot-scope="scope">
<el-input v-model="scope.row.orderNumber" @blur="updateOrderNumber($event,scope.row)"></el-input>
<el-input
v-model="scope.row.orderNumber"
@blur="updateOrderNumber($event, scope.row)"
></el-input>
</template>
</el-table-column>
<el-table-column label="弹窗封面" align="center" prop="fileUrl">
<template slot-scope="scope">
<el-image :src="scope.row.fileUrl" style="width: 60px;height: 80px" :preview-src-list="[scope.row.fileUrl]">
<div slot="placeholder" class="image-slot"><span class="dot"></span>
<el-image
:src="scope.row.fileUrl"
style="width: 60px; height: 80px"
:preview-src-list="[scope.row.fileUrl]"
>
<div slot="placeholder" class="image-slot">
<span class="dot"></span>
</div>
</el-image>
</template>
</el-table-column>
<el-table-column label="标题" align="center" prop="siteName" />
<el-table-column label="开启时间" align="center" prop="siteStartTime" width="180">
<el-table-column
label="开启时间"
align="center"
prop="siteStartTime"
width="180"
>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.siteStartTime, '{y}-{m}-{d} {h}:{i}') }}</span>
<span>{{
parseTime(scope.row.siteStartTime, '{y}-{m}-{d} {h}:{i}')
}}</span>
~
<span>{{ parseTime(scope.row.siteEndTime, '{y}-{m}-{d} {h}:{i}') }}</span>
<span>{{
parseTime(scope.row.siteEndTime, '{y}-{m}-{d} {h}:{i}')
}}</span>
</template>
</el-table-column>
<el-table-column label="用户注册时间" align="center" prop="userRegisterStartTime" width="180">
<el-table-column
label="用户注册时间"
align="center"
prop="userRegisterStartTime"
width="180"
>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.userRegisterStartTime, '{y}-{m}-{d} {h}:{i}') }}</span>
<span>{{
parseTime(scope.row.userRegisterStartTime, '{y}-{m}-{d} {h}:{i}')
}}</span>
~
<span>{{ parseTime(scope.row.userRegisterEndTime, '{y}-{m}-{d} {h}:{i}') }}</span>
<span>{{
parseTime(scope.row.userRegisterEndTime, '{y}-{m}-{d} {h}:{i}')
}}</span>
</template>
</el-table-column>
<el-table-column label="弹窗状态" align="center" prop="operate">
@ -149,7 +204,11 @@
<el-table-column label="每天" align="center" prop="pushNumber" />
<el-table-column label="星期" align="center" prop="pushTimer" />
<el-table-column label="打卡显示活动" align="center" prop="signNumber" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
>
<template slot-scope="scope">
<el-button
size="mini"
@ -157,21 +216,24 @@
icon="el-icon-edit"
@click="handleUpdate(scope.row, 'edit')"
v-hasPermi="['system:siteInfo:edit']"
>修改</el-button>
>修改</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:siteInfo:remove']"
>删除</el-button>
>删除</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-sort"
@click="handleUpdate(scope.row, 'copy')"
v-hasPermi="['system:siteInfo:edit']"
>复制</el-button>
>复制</el-button
>
<el-button
size="mini"
type="text"
@ -179,7 +241,8 @@
@click="closeWindow(scope.row, 1)"
v-if="scope.row.operate == 2"
v-hasPermi="['system:siteInfo:edit']"
>开启弹窗</el-button>
>开启弹窗</el-button
>
<el-button
size="mini"
type="text"
@ -187,7 +250,8 @@
v-if="scope.row.operate == 1"
@click="closeWindow(scope.row, 2)"
v-hasPermi="['system:siteInfo:edit']"
>关闭弹窗</el-button>
>关闭弹窗</el-button
>
</template>
</el-table-column>
</el-table>
@ -203,8 +267,12 @@
<!-- 添加或修改站点管理对话框 -->
<el-dialog :title="title" :visible.sync="open" width="680px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-image :src="form.fileUrl" style="width: 300px;height: 400px;margin-left: 20%">
<div slot="placeholder" class="image-slot"><span class="dot"></span>
<el-image
:src="form.fileUrl"
style="width: 300px; height: 400px; margin-left: 20%"
>
<div slot="placeholder" class="image-slot">
<span class="dot"></span>
</div>
</el-image>
<el-form-item label="弹窗封面" prop="fileUrl">
@ -220,12 +288,21 @@
drag
>
<i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处<em>点击上传</em></div>
<div class="el-upload__tip" slot="tip">只能上传jpg/png图片建议尺寸300px*400px</div>
<div class="el-upload__text">
将文件拖到此处<em>点击上传</em>
</div>
<div class="el-upload__tip" slot="tip">
只能上传jpg/png图片建议尺寸300px*400px
</div>
</el-upload>
</el-form-item>
<el-form-item label="标题" prop="siteName">
<el-input v-model="form.siteName" placeholder="请输入标题" style="width: 80%" maxlength="21"/>
<el-input
v-model="form.siteName"
placeholder="请输入标题"
style="width: 80%"
maxlength="21"
/>
</el-form-item>
<el-form-item label="开启时间" prop="startTime">
<el-date-picker
@ -235,10 +312,15 @@
format="yyyy-MM-dd HH:mm"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
end-placeholder="结束日期"
>
</el-date-picker>
</el-form-item>
<el-form-item label="用户注册时间" prop="registerTime" label-width="100px">
<el-form-item
label="用户注册时间"
prop="registerTime"
label-width="100px"
>
<el-date-picker
v-model="form.registerTime"
type="datetimerange"
@ -246,7 +328,8 @@
format="yyyy-MM-dd HH:mm"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
end-placeholder="结束日期"
>
</el-date-picker>
</el-form-item>
<el-form-item label="弹窗类型" prop="openType">
@ -265,13 +348,31 @@
</el-form-item>
<el-row>
<el-col :span="12">
<el-form-item label="每天" prop="pushNumber" v-if="form.pushType==3">
<el-input-number v-model="form.pushNumber" :min="1" :max="10" label="请选择多少次"></el-input-number>
<el-form-item
label="每天"
prop="pushNumber"
v-if="form.pushType == 3"
>
<el-input-number
v-model="form.pushNumber"
:min="1"
:max="10"
label="请选择多少次"
></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="推送时间" prop="pushTimerArray" v-if="form.pushType==3">
<el-select v-model="form.pushTimerArray" multiple placeholder="请选择" size="small">
<el-form-item
label="推送时间"
prop="pushTimerArray"
v-if="form.pushType == 3"
>
<el-select
v-model="form.pushTimerArray"
multiple
placeholder="请选择"
size="small"
>
<el-option label="星期一" :value="2" :key="2"></el-option>
<el-option label="星期二" :value="3" :key="3"></el-option>
<el-option label="星期三" :value="4" :key="4"></el-option>
@ -283,17 +384,61 @@
</el-form-item>
</el-col>
</el-row>
<el-form-item label="可见小程序标签" prop="showWechatTagId" label-width="120px">
<treeselect v-model="form.showWechatTagArray" :options="chatTagOptions" :multiple="true" :show-count="true" placeholder="请选择小程序标签" :disable-branch-nodes="true" />
<el-form-item
label="可见小程序标签"
prop="showWechatTagId"
label-width="120px"
>
<treeselect
v-model="form.showWechatTagArray"
:options="chatTagOptions"
:multiple="true"
:show-count="true"
placeholder="请选择小程序标签"
:disable-branch-nodes="true"
/>
</el-form-item>
<el-form-item label="可见外部标签" prop="showCompanyTagId" label-width="120px">
<treeselect v-model="form.showCompanyTagArray" :options="tagOptions" :multiple="true" :show-count="true" placeholder="请选择外部标签" :disable-branch-nodes="true" />
<el-form-item
label="可见外部标签"
prop="showCompanyTagId"
label-width="120px"
>
<treeselect
v-model="form.showCompanyTagArray"
:options="tagOptions"
:multiple="true"
:show-count="true"
placeholder="请选择外部标签"
:disable-branch-nodes="true"
/>
</el-form-item>
<el-form-item label="禁止小程序标签" prop="forbidWechatTagId" label-width="120px">
<treeselect v-model="form.forbidWechatTagArray" :options="chatTagOptions" :multiple="true" :show-count="true" placeholder="请选择小程序标签" :disable-branch-nodes="true" />
<el-form-item
label="禁止小程序标签"
prop="forbidWechatTagId"
label-width="120px"
>
<treeselect
v-model="form.forbidWechatTagArray"
:options="chatTagOptions"
:multiple="true"
:show-count="true"
placeholder="请选择小程序标签"
:disable-branch-nodes="true"
/>
</el-form-item>
<el-form-item label="禁止外部标签" prop="forbidCompanyTagId" label-width="120px">
<treeselect v-model="form.forbidCompanyTagArray" :options="tagOptions" :multiple="true" :show-count="true" placeholder="请选择外部标签" :disable-branch-nodes="true" />
<el-form-item
label="禁止外部标签"
prop="forbidCompanyTagId"
label-width="120px"
>
<treeselect
v-model="form.forbidCompanyTagArray"
:options="tagOptions"
:multiple="true"
:show-count="true"
placeholder="请选择外部标签"
:disable-branch-nodes="true"
/>
</el-form-item>
<el-row>
<!-- <el-col :span = "12">-->
@ -310,7 +455,12 @@
<!-- </el-col>-->
<el-col :span="24">
<el-form-item label="仪器" prop="channelId">
<el-select v-model="form.machineArray" multiple placeholder="请选择" style="width: 80%">
<el-select
v-model="form.machineArray"
multiple
placeholder="请选择"
style="width: 80%"
>
<el-option
v-for="instrument in instrumentList"
:key="instrument.id"
@ -332,16 +482,24 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否开启弹窗" prop="operate" label-width="120px">
<el-switch
v-model="form.operate"
<el-form-item
label="是否开启弹窗"
prop="operate"
label-width="120px"
>
</el-switch>
<el-switch v-model="form.operate"> </el-switch>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="打卡显示活动 " prop="signNumber" label-width="120px">
<el-input v-model="form.signNumber" placeholder="请输入打卡多少次显示活动 " />
<el-form-item
label="打卡显示活动 "
prop="signNumber"
label-width="120px"
>
<el-input
v-model="form.signNumber"
placeholder="请输入打卡多少次显示活动 "
/>
</el-form-item>
<el-form-item label="排序" prop="orderNumber">
<el-input v-model="form.orderNumber" placeholder="请输入排序" />
@ -355,7 +513,11 @@
<el-option label="跳转小程序" :value="4" :key="4"></el-option>
<el-option label="跳转外部链接" :value="3" :key="3"></el-option>
<el-option label="导向视频号" :value="5" :key="5"></el-option>
<el-option label="导向视频号直播间" :value="6" :key="6"></el-option>
<el-option
label="导向视频号直播间"
:value="6"
:key="6"
></el-option>
</el-select>
</el-form-item>
</el-col>
@ -366,7 +528,10 @@
</el-col>
<el-col :span="24" v-if="form.type == 1">
<el-form-item label="跳转参数" prop="linkParams">
<el-input v-model="form.linkParams" placeholder="请输入跳转参数" />
<el-input
v-model="form.linkParams"
placeholder="请输入跳转参数"
/>
</el-form-item>
</el-col>
<el-col :span="24" v-if="form.type == 3">
@ -376,12 +541,18 @@
</el-col>
<el-col :span="24" v-if="form.type == 4">
<el-form-item label="APPID" prop="redirectAppid">
<el-input v-model="form.redirectAppid" placeholder="请输入小程序APPID" />
<el-input
v-model="form.redirectAppid"
placeholder="请输入小程序APPID"
/>
</el-form-item>
</el-col>
<el-col :span="24" v-if="form.type == 4" label-width="90px">
<el-form-item label="小程序页面" prop="redirectUrl">
<el-input v-model="form.redirectUrl" placeholder="请输入小程序页面" />
<el-input
v-model="form.redirectUrl"
placeholder="请输入小程序页面"
/>
</el-form-item>
</el-col>
<el-col :span="24" v-if="form.type == 5 || form.type == 6">
@ -389,9 +560,12 @@
<el-input v-model="form.videoNo" placeholder="请输入视频号ID" />
</el-form-item>
</el-col>
<el-col :span="24" v-if="form.type == 5 || form.type == 6" label-width="90px">
<el-col :span="24" v-if="form.type == 5" label-width="90px">
<el-form-item label="feedId" prop="feedId">
<el-input v-model="form.feedId" placeholder="请输入视频号feedId" />
<el-input
v-model="form.feedId"
placeholder="请输入视频号feedId"
/>
</el-form-item>
</el-col>
</el-row>
@ -405,16 +579,22 @@
</template>
<script>
import { listInfo, getInfo, delInfo, addInfo, updateInfo } from "@/api/system/siteInfo";
import { listChannelInfo} from "@/api/system/channelInfo";
import {getToken} from "@/utils/auth";
import { tagTreeSelect } from "@/api/system/wechatTab";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import { listInstrument } from "@/api/system/instrument";
import {
listInfo,
getInfo,
delInfo,
addInfo,
updateInfo,
} from '@/api/system/siteInfo'
import { listChannelInfo } from '@/api/system/channelInfo'
import { getToken } from '@/utils/auth'
import { tagTreeSelect } from '@/api/system/wechatTab'
import Treeselect from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import { listInstrument } from '@/api/system/instrument'
export default {
name: "Info",
name: 'Info',
components: { Treeselect },
data() {
return {
@ -438,7 +618,7 @@ export default {
infoList: [],
channelList: [],
//
title: "",
title: '',
tagOptions: [],
chatTagOptions: [],
//
@ -448,15 +628,15 @@ export default {
//
open: false,
//
title: "",
title: '',
//
isUploading: false,
//
updateSupport: 0,
//
headers: { Authorization: "Bearer " + getToken() },
headers: { Authorization: 'Bearer ' + getToken() },
//
url: process.env.VUE_APP_BASE_API + "/file/upload"
url: process.env.VUE_APP_BASE_API + '/file/upload',
},
//
queryParams: {
@ -469,7 +649,7 @@ export default {
siteEndTime: null,
userRegisterStartTime: null,
userRegisterEndTime: null,
openType: "",
openType: '',
pushType: null,
pushNumber: null,
pushTimer: null,
@ -486,7 +666,7 @@ export default {
instrumentName: null,
instrumentId: null,
userType: null,
operate: "",
operate: '',
signNumber: null,
orderNumber: null,
type: null,
@ -502,84 +682,87 @@ export default {
//
rules: {
fileUrl: [
{ required: true, message: "弹窗封面不能为空", trigger: "blur" }
{ required: true, message: '弹窗封面不能为空', trigger: 'blur' },
],
pushType: [
{ required: true, message: "推送频次不能为空", trigger: "blur" }
{ required: true, message: '推送频次不能为空', trigger: 'blur' },
],
siteName: [
{ required: true, message: "标题不能为空", trigger: "blur" }
{ required: true, message: '标题不能为空', trigger: 'blur' },
],
openType: [
{ required: true, message: "弹窗类型不能为空", trigger: "blur" }
{ required: true, message: '弹窗类型不能为空', trigger: 'blur' },
],
userType: [
{ required: true, message: "用户类型不能为空", trigger: "blur" }
{ required: true, message: '用户类型不能为空', trigger: 'blur' },
],
orderNumber: [
{ required: true, message: "排序不能为空", trigger: "blur" }
{ required: true, message: '排序不能为空', trigger: 'blur' },
],
type: [
{ required: true, message: "跳转类型不能为空", trigger: "blur" }
],
link: [
{ required: true, message: "参数不能为空", trigger: "blur" }
{ required: true, message: '跳转类型不能为空', trigger: 'blur' },
],
link: [{ required: true, message: '参数不能为空', trigger: 'blur' }],
redirectAppid: [
{ required: true, message: "APPID不能为空", trigger: "blur" }
{ required: true, message: 'APPID不能为空', trigger: 'blur' },
],
linkParams: [
{ required: true, message: "跳转参数不能为空", trigger: "blur" }
{ required: true, message: '跳转参数不能为空', trigger: 'blur' },
],
redirectUrl: [
{ required: true, message: "小程序页面不能为空", trigger: "blur" }
{ required: true, message: '小程序页面不能为空', trigger: 'blur' },
],
videoNo: [
{ required: true, message: "视频号ID不能为空", trigger: "blur" }
{ required: true, message: '视频号ID不能为空', trigger: 'blur' },
],
feedId: [
{ required: true, message: "视频号feedId不能为空", trigger: "blur" }
{ required: true, message: '视频号feedId不能为空', trigger: 'blur' },
],
pushTimerArray: [
{ required: true, message: "自定义频次时间不能为空", trigger: "blur" }
{
required: true,
message: '自定义频次时间不能为空',
trigger: 'blur',
},
],
pushNumber: [
{ required: true, message: "每天推送次数不能为空", trigger: "blur" }
{ required: true, message: '每天推送次数不能为空', trigger: 'blur' },
],
},
}
};
},
created() {
// this.queryParams.siteStartTime = this.dateUtil(new Date(new Date().toLocaleDateString()));
// this.queryParams.siteEndTime = this.dateUtil(new Date(new Date(new Date().toLocaleDateString()).getTime() + 24 * 60 * 60 * 1000 - 1));
this.getList();
this.getDeptTree();
this.queryInstrumentList();
this.getList()
this.getDeptTree()
this.queryInstrumentList()
},
methods: {
//
queryInstrumentList() {
listInstrument(this.queryParams).then(response => {
this.instrumentList = response.rows;
});
listInstrument(this.queryParams).then((response) => {
this.instrumentList = response.rows
})
},
/** 查询站点管理列表 */
getList() {
this.form.fileUrl = 'http://127.0.0.1:9300/statics/2023/12/16/0c49191de1ed8f91b28d9c2b12556154_20231216154804A002.mp4'
this.loading = true;
listInfo(this.queryParams).then(response => {
this.infoList = response.rows;
this.total = response.total;
this.loading = false;
});
listChannelInfo(this.queryParams).then(response => {
this.channelList = response.rows;
});
this.form.fileUrl =
'http://127.0.0.1:9300/statics/2023/12/16/0c49191de1ed8f91b28d9c2b12556154_20231216154804A002.mp4'
this.loading = true
listInfo(this.queryParams).then((response) => {
this.infoList = response.rows
this.total = response.total
this.loading = false
})
listChannelInfo(this.queryParams).then((response) => {
this.channelList = response.rows
})
},
//
cancel() {
this.open = false;
this.reset();
this.open = false
this.reset()
},
//
reset() {
@ -622,126 +805,126 @@ export default {
createBy: null,
createTime: null,
updateBy: null,
updateTime: null
};
this.resetForm("form");
updateTime: null,
}
this.resetForm('form')
},
dateUtil(date) {
//
const year = date.getFullYear().toString(); //
const months = (date.getMonth() + 1).toString().padStart(2, '0'); //
const day = date.getDate().toString().padStart(2, '0'); //
const hours = date.getHours().toString().padStart(2, '0'); //
const minutes = date.getMinutes().toString().padStart(2, '0'); //
const seconds = date.getSeconds().toString().padStart(2, '0');
return `${year}-${months}-${day} ${hours}:${minutes}:${seconds}`;
const year = date.getFullYear().toString() //
const months = (date.getMonth() + 1).toString().padStart(2, '0') //
const day = date.getDate().toString().padStart(2, '0') //
const hours = date.getHours().toString().padStart(2, '0') //
const minutes = date.getMinutes().toString().padStart(2, '0') //
const seconds = date.getSeconds().toString().padStart(2, '0')
return `${year}-${months}-${day} ${hours}:${minutes}:${seconds}`
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
this.queryParams.pageNum = 1
this.getList()
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
this.resetForm('queryForm')
this.handleQuery()
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.ids = selection.map((item) => item.id)
this.single = selection.length !== 1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加弹窗列表";
this.form.orderNumber = 1000;
this.form.userType = 2;
this.reset()
this.open = true
this.title = '添加弹窗列表'
this.form.orderNumber = 1000
this.form.userType = 2
},
/** 修改按钮操作 */
handleUpdate(row, operate) {
this.operate = operate;
this.reset();
this.operate = operate
this.reset()
const id = row.id || this.ids
getInfo(id).then(response => {
this.form = response.data;
getInfo(id).then((response) => {
this.form = response.data
if (this.form.operate == 1) {
this.form.operate = true;
this.form.operate = true
} else {
this.form.operate = false;
this.form.operate = false
}
this.open = true;
this.title = "修改站点管理";
});
this.open = true
this.title = '修改站点管理'
})
},
//
updateOrderNumber(event, row) {
updateInfo(row).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
updateInfo(row).then((response) => {
this.$modal.msgSuccess('修改成功')
this.open = false
this.getList()
})
},
//
closeWindow(row, operate) {
row.operate = operate;
updateInfo(row).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
row.operate = operate
updateInfo(row).then((response) => {
this.$modal.msgSuccess('修改成功')
this.open = false
this.getList()
})
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
this.$refs['form'].validate((valid) => {
if (valid) {
if (!this.form.fileUrl) {
this.$modal.msgError("弹窗封面不能为空");
return;
this.$modal.msgError('弹窗封面不能为空')
return
}
//
if (this.form.startTime && this.form.startTime.length > 0) {
this.form.siteStartTime = this.form.startTime[0];
this.form.siteEndTime = this.form.startTime[1];
this.form.siteStartTime = this.form.startTime[0]
this.form.siteEndTime = this.form.startTime[1]
} else {
this.form.siteStartTime = "";
this.form.siteEndTime = "";
this.form.siteStartTime = ''
this.form.siteEndTime = ''
}
if (this.form.registerTime && this.form.registerTime.length > 0) {
this.form.userRegisterStartTime = this.form.registerTime[0];
this.form.userRegisterEndTime = this.form.registerTime[1];
this.form.userRegisterStartTime = this.form.registerTime[0]
this.form.userRegisterEndTime = this.form.registerTime[1]
} else {
this.form.userRegisterStartTime = "";
this.form.userRegisterEndTime = "";
this.form.userRegisterStartTime = ''
this.form.userRegisterEndTime = ''
}
if (this.form.operate) {
this.form.operate = 1;
this.form.operate = 1
} else {
this.form.operate = 2;
this.form.operate = 2
}
this.form.siteType = 1;
this.form.startTime = [];
this.form.registerTime = [];
this.form.siteType = 1
this.form.startTime = []
this.form.registerTime = []
if (this.form.id != null && this.operate == 'edit') {
updateInfo(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
updateInfo(this.form).then((response) => {
this.$modal.msgSuccess('修改成功')
this.open = false
this.getList()
})
} else {
if (this.operate == 'copy') {
this.form.id = null;
this.form.id = null
}
addInfo(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
addInfo(this.form).then((response) => {
this.$modal.msgSuccess('新增成功')
this.open = false
this.getList()
})
}
}
});
})
},
//
handleFileUploadProgress(event, file, fileList) {
@ -751,34 +934,42 @@ export default {
handleFileSuccess(response, file, fileList, item) {
console.log('上传后的结果==>', JSON.stringify(response))
if (response.code == '200') {
this.form.fileUrl = response.data.url;
this.form.fileUrl = response.data.url
}
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除站点管理编号为"' + ids + '"的数据项?').then(function() {
return delInfo(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
const ids = row.id || this.ids
this.$modal
.confirm('是否确认删除站点管理编号为"' + ids + '"的数据项?')
.then(function () {
return delInfo(ids)
})
.then(() => {
this.getList()
this.$modal.msgSuccess('删除成功')
})
.catch(() => {})
},
/** 查询部门下拉树结构 */
getDeptTree() {
tagTreeSelect({type: 2}).then(response => {
this.tagOptions = response.data;
});
tagTreeSelect({type: 1}).then(response => {
this.chatTagOptions = response.data;
});
tagTreeSelect({ type: 2 }).then((response) => {
this.tagOptions = response.data
})
tagTreeSelect({ type: 1 }).then((response) => {
this.chatTagOptions = response.data
})
},
/** 导出按钮操作 */
handleExport() {
this.download('system/siteInfo/export', {
...this.queryParams
}, `info_${new Date().getTime()}.xlsx`)
}
this.download(
'system/siteInfo/export',
{
...this.queryParams,
},
`info_${new Date().getTime()}.xlsx`
)
},
},
}
};
</script>

Loading…
Cancel
Save