فهرست منبع

推荐管理重构

DESKTOP-2S67K1S\31396 2 سال پیش
والد
کامیت
8df76de301
2فایلهای تغییر یافته به همراه288 افزوده شده و 950 حذف شده
  1. 158 0
      src/views/operation/recommend/detail.vue
  2. 130 950
      src/views/operation/recommend/index.vue

+ 158 - 0
src/views/operation/recommend/detail.vue

@@ -0,0 +1,158 @@
+<template>
+  <div class="app-container">
+    <el-button type="primary" icon="el-icon-plus" size="mini" @click="dialogVisible = true">新增</el-button>
+    <el-button size="mini" @click="close">返回</el-button>
+    <!-- 模块 -->
+    <el-form class="form" v-for="(item, index) in list" :key="item.id" label-width="auto">
+      <el-form-item class="sort" :label="(index + 1).toString()">
+        <el-link icon="el-icon-close" :underline="false" />
+      </el-form-item>
+      <el-form-item v-if="'date' in item" label="时间:">
+        <el-date-picker v-model="item.date" type="datetimerange" start-placeholder="开始日期" end-placeholder="结束日期"
+          value-format="yyyy-MM-dd HH:mm:ss" />
+      </el-form-item>
+      <el-form-item v-if="'title' in item" label="标题:">
+        <el-input v-model="item.title" placeholder="请输入标题" />
+      </el-form-item>
+      <el-form-item v-if="'model' in item" label="模式:">
+        <el-select v-model="item.model" placeholder="请选择模式" @change="getModel(item)">
+          <!-- <el-option v-for="item in contentOptions" :key="item.value" :label="item.label" :value="Number(item.value)" /> -->
+        </el-select>
+      </el-form-item>
+      <el-form-item v-if="'description' in item" label="简介:">
+        <el-input v-model="item.description" type="textarea" rows="4" placeholder="请输入简介" />
+      </el-form-item>
+      <el-form-item v-if="'contentName' in item" label="内容:">
+        <el-input v-model="item.contentName" prefix-icon="el-icon-search" placeholder="选择内容" @focus="getDialog(index)" />
+      </el-form-item>
+      <el-form-item v-if="'forwardType' in item" label="跳转方式:">
+        <el-select v-model="item.forwardType" placeholder="请选择跳转方式" @change="getForwardType(item)">
+          <!-- <el-option v-for="item in typeOptions" :key="item.value" :label="item.label" :value="Number(item.value)" /> -->
+        </el-select>
+      </el-form-item>
+      <el-form-item v-if="'forwardUrl' in item" label="跳转地址:">
+        <el-input v-model="item.forwardUrl" placeholder="请输入跳转地址" />
+      </el-form-item>
+      <el-form-item v-if="'isCustom' in item" label="封面模式:">
+        <el-select v-model="item.isCustom" placeholder="选择封面模式">
+          <!-- <el-option v-for="item in coverOptions" :key="item.value" :label="item.label" :value="Number(item.value)" /> -->
+        </el-select>
+      </el-form-item>
+      <el-form-item v-if="'pic' in item" label="图片:">
+        <Upload listType="picture-card" :url="item.pic" @upload="getUpload($event, index)" />
+      </el-form-item>
+      <el-form-item v-if="'sort' in item" label="排序:">
+        <el-input-number v-model="item.sort" />
+      </el-form-item>
+      <el-form-item>
+        <el-button>清空</el-button>
+        <el-button type="primary">提交</el-button>
+        <el-button type="primary" plain>上架</el-button>
+      </el-form-item>
+    </el-form>
+    <!-- 弹窗 -->
+    <el-dialog :visible.sync="dialogVisible" title="新增" width="500px">
+      <el-form label-width="100px">
+        <el-form-item label="模块选择:">
+          <el-select v-model="mouldList" multiple placeholder="请选择所需模块">
+            <el-option v-for="item in mouldOptions" :key="item.value" :value="item.value" :label="item.label" />
+          </el-select>
+        </el-form-item>
+      </el-form>
+      <div slot="footer">
+        <el-button>取消</el-button>
+        <el-button type="primary" @click="getPush">确定</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      // 模块
+      list: [],
+      // 弹窗
+      dialogVisible: false,
+      // 弹窗参数
+      mouldList: [],
+      // 模块选择
+      mouldOptions: [{
+        value: 'date',
+        label: '时间'
+      }, {
+        value: 'title',
+        label: '标题'
+      }, {
+        value: 'model',
+        label: '模式'
+      }, {
+        value: 'description',
+        label: '简介'
+      }, {
+        value: 'contentName',
+        label: '内容'
+      }, {
+        value: 'forwardType',
+        label: '跳转方式'
+      }, {
+        value: 'forwardUrl',
+        label: '跳转地址'
+      }, {
+        value: 'isCustom',
+        label: '封面模式'
+      }, {
+        value: 'pic',
+        label: '图片'
+      }, {
+        value: 'sort',
+        label: '排序'
+      }, {
+        value: 11,
+        label: '列表'
+      }]
+    }
+  },
+  mounted() {
+
+  },
+  methods: {
+    // 新增模块
+    getPush() {
+      let index = this.list.length
+      this.list[index] = {}
+      this.mouldList.map(i => {
+        this.list[index][i] = null
+      })
+      this.dialogVisible = false
+    },
+
+    // 返回
+    close() {
+      this.$tab.closeOpenPage("/operation/recommend");
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+.form {
+  width: 500px;
+  border: 1px solid #dcdfe6;
+  box-shadow: 5px 5px 5px 0px #dcdfe6;
+  padding: 20px;
+  margin-bottom: 20px;
+  position: relative;
+
+  .sort {
+    ::v-deep .el-form-item__label-wrap {
+      margin: 0 !important;
+    }
+
+    .el-link {
+      float: right;
+    }
+  }
+}
+</style>

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 130 - 950
src/views/operation/recommend/index.vue