소스 검색

feature:添加微信轮播图的接口,界面刷新

zeng.chen 5 달 전
부모
커밋
bb2db5fddd
3개의 변경된 파일124개의 추가작업 그리고 49개의 파일을 삭제
  1. 2 2
      src/api/operation/wxbanner.js
  2. 61 36
      src/views/operation/wxbanner/detail.vue
  3. 61 11
      src/views/operation/wxbanner/index.vue

+ 2 - 2
src/api/operation/wxbanner.js

@@ -4,7 +4,7 @@ import request from '@/utils/request'
 // 获取列表
 export function list(data) {
     return request({
-        url: `/miniBannerConfig/page`,
+        url: `/miniBannerConfig/page?pageNum=${data.pageNum}&pageSize=${data.pageSize}`,
         method: 'get',
         data,
         // headers: {
@@ -16,7 +16,7 @@ export function list(data) {
 // status 2:删除
 export function deletes(id) {
     return request({
-        url: `/miniBannerConfig/remove`,
+        url: `/miniBannerConfig/remove?id=${id}`,
         method: 'post',
         data: {
             "id": id,

+ 61 - 36
src/views/operation/wxbanner/detail.vue

@@ -7,20 +7,21 @@
                         :value="Number(item.value)" />
                 </el-select>
             </el-form-item>
-            <el-form-item label="图片:" prop="icon">
-                <Upload list-type="picture-card" :url="form.pic" @upload="upload" :disabled="disabled" />
+            <el-form-item label="跳转地址:" prop="forwardUrl">
+                <el-input v-model="form.forwardUrl" placeholder="请输入跳转地址" />
+            </el-form-item>
+            <el-form-item label="图片:" prop="pic">
+                <Upload list-type="picture-card" :url="form.pic" @upload="handleUpload" :disabled="disabled" />
             </el-form-item>
 
-            <el-table-column label="标签排序" prop="sort" align="center" />
-
-            <el-form-item label="当前状态:" prop="cascader">
-                <el-cascader style="width: 100%" v-model="form.cascader" :options="mapOptions" placeholder="请选择方式"
-                    :props="{
-                        value: 'id',
-                        label: 'status',
-                        children: 'statusList',
-                        checkStrictly: true,
-                    }" />
+            <el-form-item label="标签排序:" prop="sort">
+                <el-input-number v-model="form.sort" :min="0" />
+            </el-form-item>
+            <el-form-item label="当前状态:" prop="status">
+                <el-select v-model="form.status" placeholder="请选择当前状态">
+                    <el-option v-for="item in statusList" :key="item.value" :label="item.label"
+                        :value="Number(item.value)" />
+                </el-select>
             </el-form-item>
 
         </el-form>
@@ -32,7 +33,7 @@
 </template>
 
 <script>
-import { detail, submit } from "@/api/operation/wxbanner";
+import { detail, add, edit } from "@/api/operation/wxbanner";
 import { mapMixin } from "@/mixin/index";
 export default {
     mixins: [mapMixin],
@@ -47,17 +48,17 @@ export default {
                 sort: 0,
                 forwardUrl: "",
                 forwardType: 0,
-                updateTime: 0,
-                updateTimeStr: "",
-                createTime: 0,
-                createTimeStr: ""
+                // updateTime: 0,
+                // updateTimeStr: "",
+                // createTime: 0,
+                // createTimeStr: ""
             },
             // 校验
             rules: {
                 forwardType: [{
                     required: true, message: '请选择跳转方式', trigger: 'change'
                 }],
-                icon: [
+                pic: [
                     {
                         required: true,
                         message: "请上传轮播图的图片",
@@ -102,21 +103,23 @@ export default {
         };
     },
     mounted() {
-        if (this.$route.query.id) {
+        var intId = parseInt(this.$route.query.id, 10);
+        if (intId > 0) {
             this.form.id = this.$route.query.id;
-            this.form.status = this.$route.query.status;
-            this.disabled = Boolean(this.$route.query.boolean);
-
             this.getDetail();
         }
+        // this.form.status = this.$route.query.status;
+        this.disabled = this.$route.query.boolean != "0";
+
+
     },
     methods: {
         // 详情
         getDetail() {
             detail(this.$route.query.id).then((res) => {
                 if (res.code === 0) {
-                    console.log(res.data);
-                    // this.form = res.data;
+                    console.log("详情==" + JSON.stringify(res.data));
+                    this.form = res.data;
                     // this.$set(this.form, "cascader", [res.data.province]);
                     // if (res.data.city) {
                     //     this.form.cascader[1] = res.data.city;
@@ -129,27 +132,49 @@ export default {
         },
 
         // 上传
-        upload(e) {
-            this.form.icon = e.file;
+        handleUpload(e) {
+            // {"size":56549,
+            // "file":"https://music-play.oss-cn-shenzhen.aliyuncs.com/device/20250218114746668665898.png",
+            // "platformId":null}
+            console.log(JSON.stringify(e))
+            this.form.pic = e.file;
         },
 
         cancel() {
-            this.$tab.closeOpenPage("/operation/map");
+            this.$tab.closeOpenPage("/operation/wxbanner");
         },
 
         // 提交
         getSubmit() {
             this.$refs.form.validate((valid) => {
+
                 if (valid) {
-                    this.form.province = this.form.cascader[0];
-                    this.form.city = this.form.cascader[1] ? this.form.cascader[1] : null;
-                    this.form.area = this.form.cascader[2] ? this.form.cascader[2] : null;
-                    submit(this.form).then((res) => {
-                        if (res.code === 0) {
-                            this.$message.success("提交成功!");
-                            this.cancel();
-                        }
-                    });
+                    // this.form.sort = this.$refs.form.sort;
+                    // this.form.status = this.$refs.form.status;
+                    // this.form.forwardType = this.$refs.form.forwardType;
+                    // this.form.name = this.form.name;
+                    // console.log("提交信息:" + JSON.stringify(this.$refs.form))
+                    console.log("提交信息:" + JSON.stringify(this.form))
+                    if (this.$route.query.state == "0") {
+                        add(this.form).then((res) => {
+                            if (res.code === 0) {
+                                this.$message.success("提交成功!");
+                                this.cancel();
+                            } else {
+                                this.$message.error("提交失败!");
+                            }
+                        });
+                    } else {
+                        edit(this.form).then((res) => {
+                            if (res.code === 0) {
+                                this.$message.success("提交成功!");
+                                this.cancel();
+                            } else {
+                                this.$message.error("提交失败!");
+                            }
+                        });
+                    }
+
                 } else {
                     return false;
                 }

+ 61 - 11
src/views/operation/wxbanner/index.vue

@@ -3,30 +3,44 @@
     <div class="app-container">
         <!-- 搜索 -->
         <el-form inline size="mini">
+            <el-form-item label="上下架状态:" prop="forwardType">
+                <el-select v-model="form.status" placeholder="请选择状态" @change="handleStatusChange">
+                    <el-option v-for="item in statusList" :key="item.value" :label="item.label"
+                        :value="Number(item.value)" />
+                </el-select>
+            </el-form-item>
             <el-form-item>
-                <el-button type="primary" icon="el-icon-plus" plain @click="getDetail(false, 0, 0)"
+                <el-button type="primary" icon="el-icon-plus" plain @click="getDetail(0, 0, 0)"
                     v-hasPermi="['operation:wxbanner:add']">新增</el-button>
             </el-form-item>
         </el-form>
         <!-- 列表 -->
         <el-table :data="tableData" v-loading="loading">
             <el-table-column label="序号" align="center" type="index" />
-            <el-table-column label="跳转方式" align="center" prop="name" show-overflow-tooltip />
-
-            <el-table-column label="当前状态" prop="categoryName" align="center" />
-
+            <!-- <el-table-column label="跳转方式" align="center" prop="forwardType" show-overflow-tooltip /> -->
+            <el-table-column label="跳转方式" align="center">
+                <template slot-scope="scope">
+                    {{ getTypeText(scope.row.forwardType) }}
+                </template>
+            </el-table-column>
+            <!-- <el-table-column label="当前状态" prop="status" align="center" /> -->
+            <el-table-column label="状态" align="center">
+                <template slot-scope="scope">
+                    {{ getStatusText(scope.row.status) }}
+                </template>
+            </el-table-column>
             <el-table-column label="更新时间" align="center" prop="updateTimeStr" />
             <el-table-column label="创建时间" align="center" prop="createTimeStr" />
             <el-table-column label="操作" align="center">
                 <template slot-scope="scope">
-                    <el-button type="text" @click="getDetail(true, 1, scope.row.id)"
+                    <el-button type="text" @click="getDetail(1, 1, scope.row.id)"
                         v-hasPermi="['operation:wxbannber:check']">查看</el-button>
 
                     <span style="margin: 0 10px">
-                        <el-button type="text" @click="getDetail(false, 2, scope.row.id)"
+                        <el-button type="text" @click="getDetail(0, 2, scope.row.id)"
                             v-hasPermi="['operation:wxbannber:edit']">编辑</el-button>
 
-                        <el-button type="delete" @click="getDelete(scope.row)"
+                        <el-button type="delete" @click="getDelete(scope.row, scope.$index)"
                             v-hasPermi="['operation:wxbannber:delete']">删除</el-button>
                     </span>
                 </template>
@@ -52,7 +66,19 @@ export default {
             form: {
                 pageNum: 1,
                 pageSize: 10,
+                status: null,
             },
+            // 状态 0-上架  1-下架  2-删除
+            statusList: [{
+                value: null,
+                label: '全部'
+            }, {
+                value: 0,
+                label: '上架'
+            }, {
+                value: 1,
+                label: '下架'
+            }],
             // 总数据
             total: 0,
             // 列表
@@ -67,11 +93,31 @@ export default {
 
     methods: {
         addData() { },
+        handleStatusChange(value) {
+            this.form.status = value;
+            this.getList();
+        },
+        getStatusText(status) {
+            const statusMap = {
+                0: '上架',
+                1: '下架',
+            };
+            return statusMap[status] || '未知状态';
+        }, getTypeText(type) {
+            const statusMap = {
+                0: 'H5内链',
+                1: 'H5外链',
+            };
+            return statusMap[type] || '未知连接';
+        },
         // 列表
         getList() {
             this.loading = true;
+            console.log("轮播图列表==" + JSON.stringify(this.form));
+
             list(this.form).then((res) => {
                 if (res.code === 0) {
+                    // console.log("轮播图列表==" + JSON.stringify(res));
                     this.tableData = res.data.records;
                     this.total = res.data.total;
                     this.loading = false;
@@ -92,18 +138,22 @@ export default {
         },
 
         // 删除
-        getDelete(row) {
+        getDelete(row, index) {
             var that = this;
             dialogCallBack(that, function () {
                 that
-                    .$confirm(`是否删除${row.name}?`, "提示:", {
+                    .$confirm(`是否删除序号:${index + 1}?`, "提示:", {
                         type: "warning",
                     })
                     .then(() => {
-                        deletes(row.id, 2).then((res) => {
+                        console.log("打印:" + JSON.stringify(row));
+                        const id = String(row.id);
+                        deletes(id).then((res) => {
                             if (res.code === 0) {
                                 that.$message.success("删除成功!");
                                 that.getList();
+                            } else {
+                                console.log("打印2:" + res);
                             }
                         });
                     });