Merge remote-tracking branch 'origin/feature-20240104' into feature-20240104

master
382696293@qq.com 2 years ago
commit 285039d7e5

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

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

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

Loading…
Cancel
Save