From 3c3824245511e1f6fc2cad7d25cd8fa33187b287 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=AE=B8=E5=AE=8F=E6=9D=B0?= <1943105267@qq.com>
Date: Fri, 24 Nov 2023 16:41:04 +0800
Subject: [PATCH] =?UTF-8?q?=E5=95=86=E6=88=B7=E4=B8=9A=E5=8A=A1=E6=B5=81?=
=?UTF-8?q?=E7=A8=8B=E7=BC=96=E5=86=99=E5=AE=8C=E6=AF=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/App.vue | 10 +-
src/api/netEwm/poster.js | 47 +++--
src/assets/icons/svg/shanghu.svg | 2 +-
src/assets/styles/general.scss | 18 ++
src/components/VideoUpload/index.vue | 91 ++++++---
src/views/login.vue | 6 +-
src/views/netEwm/poster/index.vue | 42 +++--
.../netEwm/shanghu/components/MyTable.vue | 178 ++++++++++++++++++
src/views/netEwm/shanghu/index.vue | 103 ++++++++--
9 files changed, 415 insertions(+), 82 deletions(-)
create mode 100644 src/views/netEwm/shanghu/components/MyTable.vue
diff --git a/src/App.vue b/src/App.vue
index 6602508..cc7d72a 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -12,14 +12,14 @@ export default {
name: "App",
mounted() {
//获取当前屏幕可视区域宽度与高度
- var screenWidth = window.innerWidth;
- var screenHeight = window.innerHeight;
- console.log(screenWidth, screenHeight);
+ // var screenWidth = window.innerWidth;
+ // var screenHeight = window.innerHeight;
+ // console.log(screenHeight);
// 初始化(适配)
autofit.init(
{
- dh: screenHeight,
- dw: screenWidth,
+ dh: 931,
+ dw: 1920,
el: "#app",
resize: true,
},
diff --git a/src/api/netEwm/poster.js b/src/api/netEwm/poster.js
index 9f3a3b9..38ac71a 100644
--- a/src/api/netEwm/poster.js
+++ b/src/api/netEwm/poster.js
@@ -1,44 +1,53 @@
-import request from '@/utils/request'
+import request from "@/utils/request";
// 查询广告列表
export function listPoster(query) {
return request({
- url: '/netEwm/poster/list',
- method: 'get',
- params: query
- })
+ url: "/netEwm/poster/list",
+ method: "get",
+ params: query,
+ });
}
// 查询广告详细
export function getPoster(id) {
return request({
- url: '/netEwm/poster/' + id,
- method: 'get'
- })
+ url: "/netEwm/poster/" + id,
+ method: "get",
+ });
}
// 新增广告
export function addPoster(data) {
return request({
- url: '/netEwm/poster',
- method: 'post',
- data: data
- })
+ url: "/netEwm/poster",
+ method: "post",
+ data: data,
+ });
}
// 修改广告
export function updatePoster(data) {
return request({
- url: '/netEwm/poster',
- method: 'put',
- data: data
- })
+ url: "/netEwm/poster",
+ method: "put",
+ data: data,
+ });
}
// 删除广告
export function delPoster(id) {
return request({
- url: '/netEwm/poster/' + id,
- method: 'delete'
- })
+ url: "/netEwm/poster/" + id,
+ method: "delete",
+ });
+}
+
+//广告批量分配给商户
+export function batchAllocation(data) {
+ return request({
+ url: "/netEwm/poster/batchAllocation",
+ method: "post",
+ data: data,
+ });
}
diff --git a/src/assets/icons/svg/shanghu.svg b/src/assets/icons/svg/shanghu.svg
index c7e3f8e..691ba2d 100644
--- a/src/assets/icons/svg/shanghu.svg
+++ b/src/assets/icons/svg/shanghu.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/src/assets/styles/general.scss b/src/assets/styles/general.scss
index 0e40e6e..8fb7428 100644
--- a/src/assets/styles/general.scss
+++ b/src/assets/styles/general.scss
@@ -19,3 +19,21 @@
color: blue !important;
}
}
+.el-date-editor.el-input {
+ width: 100%;
+}
+
+// 详情弹出层
+.my-info {
+ .cell-info {
+ margin: 15px 0;
+ font-size: 16px;
+ font-weight: bold;
+ }
+ .info-container {
+ .avatar {
+ height: 200px;
+ width: 400px;
+ }
+ }
+}
diff --git a/src/components/VideoUpload/index.vue b/src/components/VideoUpload/index.vue
index f346a96..fe8e5e6 100644
--- a/src/components/VideoUpload/index.vue
+++ b/src/components/VideoUpload/index.vue
@@ -5,21 +5,32 @@
:on-progress="uploadVideoProcess"
:on-success="handleVideoSuccess"
:before-upload="beforeUploadVideo"
+ :on-error="handleUploadError"
:show-file-list="false"
:headers="headers"
>
-
-
+
+
+
+
+
+
+
+
import { getToken } from "@/utils/auth";
export default {
+ props: {
+ value: [String, Object, Array],
+ },
data() {
return {
baseUrl: process.env.VUE_APP_BASE_API,
@@ -50,20 +64,29 @@ export default {
},
};
},
+ watch: {
+ value: {
+ handler(val) {
+ console.log("会显示", val);
+ if (val) {
+ this.videoForm.showVideoPath = this.baseUrl + val;
+ }
+ },
+ deep: true,
+ immediate: true,
+ },
+ },
methods: {
+ /**s删除视频 */
+ handleClose() {
+ this.videoForm.showVideoPath = "";
+ this.videoFlag = false;
+ },
//上传前回调
beforeUploadVideo(file) {
var fileSize = file.size / 1024 / 1024 < 50; //控制大小 修改50的值即可
if (
- [
- "video/mp4",
- "video/ogg",
- "video/flv",
- "video/avi",
- "video/wmv",
- "video/rmvb",
- "video/mov",
- ].indexOf(file.type) == -1 //控制格式
+ ["video/mp4", "video/avi", "video/rmvb"].indexOf(file.type) == -1 //控制格式
) {
this.$modal.msgError("请上传正确的视频格式");
return false;
@@ -85,8 +108,14 @@ export default {
this.isShowUploadVideo = true;
this.videoFlag = false;
this.videoUploadPercent = 0;
- console.log(res);
- this.videoForm.showVideoPath = res.url;
+ this.videoForm.showVideoPath = this.baseUrl + res.fileName;
+ this.$emit("input", res.fileName);
+ this.$modal.msgSuccess("上传成功");
+ },
+ // 上传失败
+ handleUploadError() {
+ this.$modal.msgError("上传视频失败,请重试");
+ this.$modal.closeLoading();
},
},
};
@@ -119,4 +148,20 @@ export default {
height: 178px;
display: block;
}
+.video-main {
+ position: relative;
+ .close-btn {
+ position: absolute;
+ top: -10px;
+ right: -10px;
+ height: 25px;
+ width: 25px;
+ border-radius: 50%;
+ border: 1px solid red;
+ text-align: center;
+ line-height: 25px;
+ color: red;
+ background: #fff;
+ }
+}
diff --git a/src/views/login.vue b/src/views/login.vue
index b583579..bf851a6 100644
--- a/src/views/login.vue
+++ b/src/views/login.vue
@@ -78,9 +78,9 @@
-
@@ -114,7 +114,7 @@ export default {
// 验证码开关
captchaEnabled: true,
// 注册开关
- register: false,
+ register: true,
redirect: undefined,
};
},
diff --git a/src/views/netEwm/poster/index.vue b/src/views/netEwm/poster/index.vue
index d752b19..f826c5a 100644
--- a/src/views/netEwm/poster/index.vue
+++ b/src/views/netEwm/poster/index.vue
@@ -110,34 +110,30 @@
>
-
+
{{ parseTime(scope.row.startTime, "{y}-{m}-{d}") }}
-
+
{{ parseTime(scope.row.endTime, "{y}-{m}-{d}") }}
-
-
+ 广告分配
-
-
-
-
-
+
+
+
+
@@ -221,6 +216,10 @@ export default {
name: "Poster",
data() {
return {
+ //分配弹出层
+ fpShow: false,
+ //分配标题
+ fpTitle: "",
// 遮罩层
loading: true,
// 选中数组
@@ -257,6 +256,11 @@ export default {
this.getList();
},
methods: {
+ /**批量分配广告给商户 */
+ handleFp() {
+ this.fpTitle = "批量分配广告";
+ this.fpShow = true;
+ },
/** 查询广告列表 */
getList() {
this.loading = true;
diff --git a/src/views/netEwm/shanghu/components/MyTable.vue b/src/views/netEwm/shanghu/components/MyTable.vue
new file mode 100644
index 0000000..a5e54ea
--- /dev/null
+++ b/src/views/netEwm/shanghu/components/MyTable.vue
@@ -0,0 +1,178 @@
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+
+
+
+ {{ parseTime(scope.row.startTime, "{y}-{m}-{d}") }}
+
+
+
+
+ {{ parseTime(scope.row.endTime, "{y}-{m}-{d}") }}
+
+
+
+
+ {{
+ scope.row.videoPath
+ }}
+
+
+
+
+ 分配
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/netEwm/shanghu/index.vue b/src/views/netEwm/shanghu/index.vue
index 1dacc57..87c27c0 100644
--- a/src/views/netEwm/shanghu/index.vue
+++ b/src/views/netEwm/shanghu/index.vue
@@ -106,17 +106,23 @@
>
-
+
-
-
+ 分配广告
修改
+ 查看
-
-
-
+
+
+
@@ -167,15 +181,49 @@
placeholder="请输入地址信息"
/>
-
-
-
+
+
+
+
+ {{
+ form.posName
+ }}
+ {{
+ form.linkMan
+ }}
+ {{
+ form.phoneNumber
+ }}
+ {{
+ form.city
+ }}
+ {{
+ form.address
+ }}
+
+
+
+
@@ -187,11 +235,21 @@ import {
addShanghu,
updateShanghu,
} from "@/api/netEwm/shanghu";
+import { getPoster } from "@/api/netEwm/poster";
+import MyTable from "./components/MyTable.vue";
export default {
+ components: {
+ MyTable,
+ },
name: "Shanghu",
data() {
return {
+ baseUrl: process.env.VUE_APP_BASE_API,
+ //详情标题
+ titleInfo: "",
+ //详情弹出层
+ openInfo: false,
// 遮罩层
loading: true,
// 选中数组
@@ -242,6 +300,18 @@ export default {
this.getList();
},
methods: {
+ /**分配广告 */
+ handleFp(row) {
+ getShanghu(row.id).then((response) => {
+ let data = {
+ shanghuCity: response.data.city,
+ shanghuIds: [response.data.id],
+ shanghuName: response.data.posName,
+ };
+ let posterId = response.data.posterId;
+ this.$refs.MyTable.openDialog(data, posterId);
+ });
+ },
/** 查询商户列表 */
getList() {
this.loading = true;
@@ -296,14 +366,23 @@ export default {
this.open = true;
this.title = "添加商户";
},
+
/** 修改按钮操作 */
- handleUpdate(row) {
+ handleUpdate(row, type) {
this.reset();
const id = row.id || this.ids;
getShanghu(id).then((response) => {
this.form = response.data;
- this.open = true;
- this.title = "修改商户";
+ if (type == "info") {
+ getPoster(this.form.posterId).then((info) => {
+ this.form.videoPath = this.baseUrl + info.data.videoPath;
+ this.openInfo = true;
+ this.titleInfo = "查看商户详细信息";
+ });
+ } else {
+ this.open = true;
+ this.title = "修改商户";
+ }
});
},
/** 提交按钮 */