vue+element 实现商城主题开发的示例代码


Posted in Javascript onMarch 26, 2020

本文介绍了vue+element 实现商城主题开发的示例代码,分享给大家,具体如下:

vue+element 实现商城主题开发的示例代码

vue+element 实现商城主题开发的示例代码

<template>
 <div>
 <div class="set-phone">
  <el-form :model="theme" :rules="rules" ref="ruleForm" class="demo-ruleForm">
  <el-form-item label="主题名称:" prop="name">
   <el-input v-model="theme.name" size="small" maxlength="18" show-word-limit></el-input>
  </el-form-item>
  <el-form-item label="顶部背景色:" prop="backgroundColor">
   <el-input
   v-model="theme.backgroundColor"
   placeholder="#000000"
   size="small"
   maxlength="7"
   show-word-limit
   @change="setBgc"
   oninput="value=value.replace(/[^0-9abcdefABCDEF#]/g,'')"
   ></el-input>
  </el-form-item>
  <el-row type="flex" justify="space-around">
   <el-col :span="6">
   <el-form-item prop="shopStreetImg">
    <p class="cla-p">店铺街</p>
    <multiUpload
    @upImg="res => $set(theme,'shopStreetImg', res)"
    :value="theme.shopStreetImg"
    :maxCount="1"
    ></multiUpload>
   </el-form-item>
   </el-col>
   <el-col :span="6">
   <el-form-item prop="classifyImg">
    <p class="cla-p">分类</p>
    <multiUpload
    @upImg="res => $set(theme,'classifyImg', res)"
    :value="theme.classifyImg"
    :maxCount="1"
    ></multiUpload>
   </el-form-item>
   </el-col>
   <el-col :span="6">
   <el-form-item prop="starBagImg">
    <p class="cla-p">星级礼包</p>
    <multiUpload
    @upImg="res => $set(theme,'starBagImg', res)"
    :value="theme.starBagImg"
    :maxCount="1"
    ></multiUpload>
   </el-form-item>
   </el-col>
   <el-col :span="6">
   <el-form-item prop="signInImg">
    <p class="cla-p">签到</p>
    <multiUpload
    @upImg="res => $set(theme,'signInImg', res)"
    :value="theme.signInImg"
    :maxCount="1"
    ></multiUpload>
   </el-form-item>
   </el-col>
  </el-row>
  <el-row type="flex" justify="space-around">
   <el-col :span="6">
   <el-form-item prop="yuanbaoShopImg">
    <p class="cla-p">元宝商城</p>
    <multiUpload
    @upImg="res => $set(theme,'yuanbaoShopImg', res)"
    :value="theme.yuanbaoShopImg"
    :maxCount="1"
    ></multiUpload>
   </el-form-item>
   </el-col>
   <el-col :span="6">
   <el-form-item prop="luckDrawImg">
    <p class="cla-p">抽奖</p>
    <multiUpload
    @upImg="res => $set(theme,'luckDrawImg', res)"
    :value="theme.luckDrawImg"
    :maxCount="1"
    ></multiUpload>
   </el-form-item>
   </el-col>
   <el-col :span="6">
   <el-form-item prop="limitedSeckillImg">
    <p class="cla-p">限时秒杀</p>
    <multiUpload
    @upImg="res => $set(theme,'limitedSeckillImg', res)"
    :value="theme.limitedSeckillImg"
    :maxCount="1"
    ></multiUpload>
   </el-form-item>
   </el-col>
   <el-col :span="6">
   <el-form-item prop="oddsProductImg">
    <p class="cla-p">特惠商品</p>
    <multiUpload
    @upImg="res => $set(theme,'oddsProductImg', res)"
    :value="theme.oddsProductImg"
    :maxCount="1"
    ></multiUpload>
   </el-form-item>
   </el-col>
  </el-row>

  <el-form-item label="导航字体颜色:" prop="navigationFontColor">
   <el-input
   v-model="theme.navigationFontColor"
   size="small"
   maxlength="7"
   show-word-limit
   @change="setNavColor"
   oninput="value=value.replace(/[^0-9abcdefABCDEF#]/g,'')"
   ></el-input>
  </el-form-item>
  <el-form-item label="导航背景图片:" prop="navigationBackgroundImg">
   <multiUpload
   @upImg="res => $set(theme,'navigationBackgroundImg', res)"
   :value="theme.navigationBackgroundImg"
   :maxCount="1"
   ></multiUpload>
  </el-form-item>
  <el-row type="flex" justify="space-around">
   <el-col :span="4">
   <el-form-item prop="homePageIconUnchecked">
    <p class="cla-p">首页未选中图标</p>
    <multiUpload
    @upImg="res => $set(theme,'homePageIconUnchecked', res)"
    :value="theme.homePageIconUnchecked"
    :maxCount="1"
    ></multiUpload>
   </el-form-item>
   </el-col>
   <el-col :span="4">
   <el-form-item prop="recommendIconUnchecked">
    <p class="cla-p">推荐未选中图标</p>
    <multiUpload
    @upImg="res => $set(theme,'recommendIconUnchecked', res)"
    :value="theme.recommendIconUnchecked"
    :maxCount="1"
    ></multiUpload>
   </el-form-item>
   </el-col>
   <el-col :span="4">
   <el-form-item prop="searchIconUnchecked">
    <p class="cla-p">搜索未选中图标</p>
    <multiUpload
    @upImg="res => $set(theme,'searchIconUnchecked', res)"
    :value="theme.searchIconUnchecked"
    :maxCount="1"
    ></multiUpload>
   </el-form-item>
   </el-col>
   <el-col :span="4">
   <el-form-item prop="chatIconUnchecked">
    <p class="cla-p">聊天未选中图标</p>
    <multiUpload
    @upImg="res => $set(theme,'chatIconUnchecked', res)"
    :value="theme.chatIconUnchecked"
    :maxCount="1"
    ></multiUpload>
   </el-form-item>
   </el-col>
   <el-col :span="4">
   <el-form-item prop="personalCenterIconUnchecked">
    <p class="cla-p">个人中心未选中图标</p>
    <multiUpload
    @upImg="res => $set(theme,'personalCenterIconUnchecked', res)"
    :value="theme.personalCenterIconUnchecked"
    :maxCount="1"
    ></multiUpload>
   </el-form-item>
   </el-col>
  </el-row>
  <el-row type="flex" justify="space-around">
   <el-col :span="4">
   <el-form-item prop="homePageIconChecked">
    <p class="cla-p">首页选中图标</p>
    <multiUpload
    @upImg="res => $set(theme,'homePageIconChecked', res)"
    :value="theme.homePageIconChecked"
    :maxCount="1"
    ></multiUpload>
   </el-form-item>
   </el-col>
   <el-col :span="4">
   <el-form-item prop="recommendIconChecked">
    <p class="cla-p">推荐选中图标</p>
    <multiUpload
    @upImg="res => $set(theme,'recommendIconChecked', res)"
    :value="theme.recommendIconChecked"
    :maxCount="1"
    ></multiUpload>
   </el-form-item>
   </el-col>
   <el-col :span="4">
   <el-form-item prop="searchIconChecked">
    <p class="cla-p">搜索选中图标</p>
    <multiUpload
    @upImg="res => $set(theme,'searchIconChecked', res)"
    :value="theme.searchIconChecked"
    :maxCount="1"
    ></multiUpload>
   </el-form-item>
   </el-col>
   <el-col :span="4">
   <el-form-item prop="chatIconChecked">
    <p class="cla-p">聊天选中图标</p>
    <multiUpload
    @upImg="res => $set(theme,'chatIconChecked', res)"
    :value="theme.chatIconChecked"
    :maxCount="1"
    ></multiUpload>
   </el-form-item>
   </el-col>
   <el-col :span="4">
   <el-form-item prop="personalCenterIconChecked">
    <p class="cla-p">个人中心选中图标</p>
    <multiUpload
    @upImg="res => $set(theme,'personalCenterIconChecked', res)"
    :value="theme.personalCenterIconChecked"
    :maxCount="1"
    ></multiUpload>
   </el-form-item>
   </el-col>
  </el-row>

  <el-form-item label="底部选中字体颜色:" prop="bottomSelectFontColor">
   <el-input
   v-model="theme.bottomSelectFontColor"
   size="small"
   maxlength="7"
   show-word-limit
   placeholder="#000000"
   @change="setBbgc"
   oninput="value=value.replace(/[^0-9abcdefABCDEF#]/g,'')"
   ></el-input>
  </el-form-item>
  <el-form-item>
   <el-button type="primary" @click="submitForm('ruleForm')">保存</el-button>
  </el-form-item>
  </el-form>
 </div>
 <!-- 显示样式 -->
 <div class="app-phone" :style="'background: ' + theme.backgroundColor">
  <img class="header-img" src="@/assets/images/app_header.png" alt />
  <el-menu
  :default-active="activeIndex"
  class="el-menu-demo"
  mode="horizontal"
  background-color="transparent"
  text-color="#fafafa"
  active-text-color="white"
  >
  <el-menu-item index="1">热门</el-menu-item>
  <el-menu-item index="2">女装</el-menu-item>
  <el-menu-item index="3">百货</el-menu-item>
  <el-menu-item index="4">鞋包</el-menu-item>
  <el-menu-item index="5">食品</el-menu-item>
  <el-menu-item index="6">母婴</el-menu-item>
  </el-menu>
  <el-carousel height="150px" :interval="5000">
  <el-carousel-item v-for="item in banner" :key="item.id">
   <el-image class="banner-img" fit="cover" :src="item.pic" alt />
  </el-carousel-item>
  </el-carousel>
  <div class="nav" :style="theme.navigationBackgroundImg && 'background-image: url(' + theme.navigationBackgroundImg + ')'">
  <div class="nav-item">
   <img class="item-img" :src="theme.shopStreetImg" alt />
   <p class="item-name" :style="'color: ' + theme.navigationFontColor">店铺街</p>
  </div>
  <div class="nav-item">
   <img class="item-img" :src="theme.classifyImg" alt />
   <p class="item-name" :style="'color: ' + theme.navigationFontColor">分类</p>
  </div>
  <div class="nav-item">
   <img class="item-img" :src="theme.starBagImg" alt />
   <p class="item-name" :style="'color: ' + theme.navigationFontColor">星级礼包</p>
  </div>
  <div class="nav-item">
   <img class="item-img" :src="theme.signInImg" alt />
   <p class="item-name" :style="'color: ' + theme.navigationFontColor">签到</p>
  </div>
  <div class="nav-item">
   <img class="item-img" :src="theme.yuanbaoShopImg" alt />
   <p class="item-name" :style="'color: ' + theme.navigationFontColor">元宝商城</p>
  </div>
  <div class="nav-item">
   <img class="item-img" :src="theme.luckDrawImg" alt />
   <p class="item-name" :style="'color: ' + theme.navigationFontColor">抽奖</p>
  </div>
  <div class="nav-item">
   <img class="item-img" :src="theme.limitedSeckillImg" alt />
   <p class="item-name" :style="'color: ' + theme.navigationFontColor">限时秒杀</p>
  </div>
  <div class="nav-item">
   <img class="item-img" :src="theme.oddsProductImg" alt />
   <p class="item-name" :style="'color: ' + theme.navigationFontColor">特惠商品</p>
  </div>
  </div>
  <img class="goods" src="@/assets/images/goods.png" alt />
  <ul class="footer">
  <li class="item" @click="bottomIndex = 1">
   <img
   class="item-img"
   :src="bottomIndex === 1 ? theme.homePageIconChecked : theme.homePageIconUnchecked"
   alt
   />
   <p
   class="item-name"
   :style="'color:' + (bottomIndex === 1 ? theme.bottomSelectFontColor : '#fbfbfb') "
   >首页</p>
  </li>
  <li class="item" @click="bottomIndex = 2">
   <img
   class="item-img"
   :src="bottomIndex === 2 ? theme.recommendIconChecked : theme.recommendIconUnchecked"
   alt
   />
   <p
   class="item-name"
   :style="'color:' + (bottomIndex === 2 ? theme.bottomSelectFontColor : '#fbfbfb') "
   >推荐</p>
  </li>
  <li class="item" @click="bottomIndex = 3">
   <img
   class="item-img"
   :src="bottomIndex === 3 ? theme.searchIconChecked : theme.searchIconUnchecked"
   alt
   />
   <p
   class="item-name"
   :style="'color:' + (bottomIndex === 3 ? theme.bottomSelectFontColor : '#fbfbfb') "
   >搜索</p>
  </li>
  <li class="item" @click="bottomIndex = 4">
   <img
   class="item-img"
   :src="bottomIndex === 4 ? theme.chatIconChecked : theme.chatIconUnchecked"
   alt
   />
   <p
   class="item-name"
   :style="'color:' + (bottomIndex === 4 ? theme.bottomSelectFontColor : '#fbfbfb') "
   >聊天</p>
  </li>
  <li class="item" @click="bottomIndex = 5">
   <img
   class="item-img"
   :src="bottomIndex === 5 ? theme.personalCenterIconChecked : theme.personalCenterIconUnchecked"
   alt
   />
   <p
   class="item-name"
   :style="'color:' + (bottomIndex === 5 ? theme.bottomSelectFontColor : '#fbfbfb') "
   >个人中心</p>
  </li>
  </ul>
 </div>
 </div>
</template>
<script>
import { createThemeColor, updateThemeColor, getThemeColor } from "@/api/scs/themeColor";
import { getRotationChart } from "@/api/sms/homeAdvertise";
import MultiUpload from "@/components/Upload/multiUpload";
export default {
 name: "EditColor",
 props: {
 isEdit: {
  type: Boolean,
  default: false
 }
 },
 components: { MultiUpload },
 data() {
 return {
  theme: {
  backgroundColor: "#000000",
  bottomSelectFontColor: "#ffffff",
  navigationFontColor: '#000000'
  },
  activeIndex: "1",
  activeIndex2: "1",
  bottomIndex: 1,
  banner: [],
  rules: {
  name: [
   { required: true, message: "请输入主题名称", trigger: "blur" },
   { min: 2, max: 18, message: "值为2 - 18位数", trigger: "blur" }
  ],
  backgroundColor: [
   { required: true, message: "请输入颜色值", trigger: "blur" },
   { min: 7, max: 7, message: "值为7位数", trigger: "blur" }
  ],
  bottomSelectFontColor: [
   { required: true, message: "请输入颜色值", trigger: "blur" },
   { min: 7, max: 7, message: "值为7位数", trigger: "blur" }
  ],
  navigationFontColor: [
   { required: true, message: "请输入颜色值", trigger: "blur" },
   { min: 7, max: 7, message: "值为7位数", trigger: "blur" }
  ],

  shopStreetImg: [
   { required: true, message: "请上传图片", trigger: "blur" }
  ],
  classifyImg: [
   { required: true, message: "请上传图片", trigger: "blur" }
  ],
  starBagImg: [
   { required: true, message: "请上传图片", trigger: "blur" }
  ],
  signInImg: [{ required: true, message: "请上传图片", trigger: "blur" }],
  yuanbaoShopImg: [
   { required: true, message: "请上传图片", trigger: "blur" }
  ],
  luckDrawImg: [
   { required: true, message: "请上传图片", trigger: "blur" }
  ],
  limitedSeckillImg: [
   { required: true, message: "请上传图片", trigger: "blur" }
  ],
  oddsProductImg: [
   { required: true, message: "请上传图片", trigger: "blur" }
  ],
  navigationBackgroundImg: [
   { required: true, message: "请上传图片", trigger: "blur" }
  ],
  homePageIconUnchecked: [
   { required: true, message: "请上传图片", trigger: "blur" }
  ],
  recommendIconUnchecked: [
   { required: true, message: "请上传图片", trigger: "blur" }
  ],
  searchIconUnchecked: [
   { required: true, message: "请上传图片", trigger: "blur" }
  ],
  chatIconUnchecked: [
   { required: true, message: "请上传图片", trigger: "blur" }
  ],
  personalCenterIconUnchecked: [
   { required: true, message: "请上传图片", trigger: "blur" }
  ],
  homePageIconChecked: [
   { required: true, message: "请上传图片", trigger: "blur" }
  ],
  recommendIconChecked: [
   { required: true, message: "请上传图片", trigger: "blur" }
  ],
  searchIconChecked: [
   { required: true, message: "请上传图片", trigger: "blur" }
  ],
  chatIconChecked: [
   { required: true, message: "请上传图片", trigger: "blur" }
  ],
  personalCenterIconChecked: [
   { required: true, message: "请上传图片", trigger: "blur" }
  ]
  }
 };
 },
 created() {
 this.getBanner();
 if (this.isEdit) {
  getThemeColor(this.$route.query.id).then(response => {
  this.theme = response.data;
  });
 }
 },
 methods: {
 getBanner() {
  getRotationChart({ pageNum: 1, pageSize: 50 }).then(res => {
  this.banner = res.data.records;
  });
 },
 setBgc(res) {
  if (res.split("")[0] !== "#" || res.match(/#/g).length > 1) {
  this.$message.error("颜色格式错误,请从新填写。");
  this.$set(this.theme, "backgroundColor", "#000000");
  return false;
  }
  this.$set(this.theme, "backgroundColor", res);
 },
 setBbgc(res) {
  if (res.split("")[0] !== "#" || res.match(/#/g).length > 1) {
  this.$message.error("颜色格式错误,请从新填写。");
  this.$set(this.theme, "bottomSelectFontColor", "#ffffff");
  return false;
  }
  this.$set(this.theme, "bottomSelectFontColor", res);
 },
 setNavColor(res) {
  if (res.split("")[0] !== "#" || res.match(/#/g).length > 1) {
  this.$message.error("颜色格式错误,请从新填写。");
  this.$set(this.theme, "navigationFontColor", "#000000");
  return false;
  }
  this.$set(this.theme, "navigationFontColor", res);
 },
 selectProductInfo(res) {
  this.product = Object.assign(res, this.product);
 },
 submitForm(formName) {
  this.$refs[formName].validate(valid => {
  if (valid) {
   this.$confirm("是否提交数据", "提示", {
   confirmButtonText: "确定",
   cancelButtonText: "取消",
   type: "warning"
   }).then(() => {
   if (this.isEdit) {
    updateThemeColor(this.$route.query.id, this.theme).then(
    response => {
     if (response.code == 200) {
     this.$message({
      message: "修改成功",
      type: "success",
      duration: 1000
     });
     this.$router.back();
     } else {
     this.$message({
      message: response.msg,
      type: "error",
      duration: 1000
     });
     }
    }
    );
   } else {
    createThemeColor(this.theme).then(response => {
    if (response.code == 200) {
     this.$message({
     message: "提交成功",
     type: "success",
     duration: 1000
     });
     this.$router.back();
    } else {
     this.$message({
     message: response.msg,
     type: "error",
     duration: 1000
     });
    }
    });
   }
   });
  } else {
   this.$message({
   message: "验证失败",
   type: "error",
   duration: 1000
   });
   return false;
  }
  });
 }
 }
};
</script>
<style lang="scss" scoped>
.set-phone {
 width: calc(100% - 400px);
 padding: 5%;
 .el-form-item {
 margin-bottom: 18px;
 }
 .cla-p {
 padding: 0;
 margin: 0;
 color: #666;
 line-height: 40px;
 }
}
.app-phone {
 position: fixed;
 top: 70px;
 right: 5%;
 width: 350px;
 box-shadow: 0 0 10px rgba(50, 50, 50, 0.2);
 perspective:150;
 transition: all .2s linear;
 overflow: hidden;
 &:hover {
 transform: translate3d(0,0,4px);
 box-shadow: 0 4px 8px #e1e1e1;
 box-shadow: 0 0 20px rgba(50, 50, 50, 0.3);
 }
 .header-img {
 display: block;
 width: 96%;
 margin: 4px 2%;
 }
 .el-menu-demo {
 display: flex;
 justify-content: space-around;
 margin: 2px 4% 0 4%;
 border: none;
 }

 .el-menu--horizontal > .el-menu-item {
 height: auto;
 line-height: normal;
 padding: 4px 12px;
 margin: 0;
 }
 .banner-img {
 display: block;
 width: 100%;
 height: 100%;
 }
 .nav {
 display: flex;
 flex-wrap: wrap;
 justify-content: space-around;
 padding: 10px 0;
 background: white;
 background-size: cover;
 background-repeat:no-repeat;
 .nav-item {
  width: 50px;
  height: 80px;
  margin: 0 15px;
  text-align: center;
  .item-img {
  width: 50px;
  height: 50px;
  }
  .item-name {
  padding: 0;
  margin: 2px 0;
  font-size: 12px;
  }
 }
 }
 .goods {
 width: 100%;
 }
 .footer {
 display: flex;
 flex-wrap: wrap;
 justify-content: space-around;
 width: 100%;
 height: 50px;
 padding: 0;
 margin: 0;
 .item {
  list-style: none;
  width: 50px;
  text-align: center;
  .item-img {
  width: 30px;
  height: 30px;
  }
  .item-name {
  padding: 0;
  margin: 0;
  font-size: 10px;
  color: white;
  }
 }
 }
}
</style>

到此这篇关于vue+element 实现商城主题开发的示例代码的文章就介绍到这了,更多相关vue element 商城主题开发内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
一直复略了的一个问题,关于表单重复提交
Feb 15 Javascript
js判断输入是否为正整数、浮点数等数字的函数代码
Nov 17 Javascript
如何设置一定时间内只能发送一次请求
Feb 28 Javascript
node.js中的buffer.slice方法使用说明
Dec 10 Javascript
JQuery记住用户名密码实现下次自动登录功能
Apr 27 Javascript
easyui window refresh 刷新两次的解决方法(推荐)
May 18 Javascript
有关JS中的0,null,undefined,[],{},'''''''',false之间的关系
Feb 14 Javascript
jQuery.Form实现Ajax上传文件同时设置headers的方法
Jun 26 jQuery
ionic3 懒加载
Aug 16 Javascript
Node.js使用cookie保持登录的方法
May 11 Javascript
java遇到微信小程序 &quot;支付验证签名失败&quot; 问题解决
Dec 22 Javascript
Vue实现动态查询规则生成组件
May 27 Vue.js
js实现带箭头的进度流程
Mar 26 #Javascript
Bootstrap实现前端登录页面带验证码功能完整示例
Mar 26 #Javascript
jquery css实现流程进度条
Mar 26 #jQuery
jquery实现上传文件进度条
Mar 26 #jQuery
jquery实现进度条状态展示
Mar 26 #jQuery
js中switch语句的学习笔记
Mar 25 #Javascript
JS实现进度条动态加载特效
Mar 25 #Javascript
You might like
欧美媒体选出10年前最流行的17部动画
2017/01/18 日漫
深入PHP异步执行的详解
2013/06/03 PHP
PHP实现普通hash分布式算法简单示例
2018/08/06 PHP
PHP保留两位小数的几种方法
2019/07/24 PHP
比较搞笑的js陷阱题
2010/02/07 Javascript
解决json日期格式问题的3种方法
2014/02/02 Javascript
JavaScript实现的一个倒计时的类
2015/03/12 Javascript
javascript实现一个简单的弹出窗
2016/02/22 Javascript
解析JavaScript数组方法reduce
2016/12/12 Javascript
jquery 判断是否支持Placeholder属性的方法
2017/02/07 Javascript
js中开关变量使用实例
2017/02/24 Javascript
详解angular element()方法使用
2017/04/08 Javascript
详解nodejs模板引擎制作
2017/06/14 NodeJs
jQuery鼠标移动图片上实现放大效果
2017/06/25 jQuery
JavaScript条件判断_动力节点Java学院整理
2017/06/26 Javascript
Angularjs单选框相关的示例代码
2017/08/17 Javascript
SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题的解决方法
2018/01/09 Javascript
基于vue中css预加载使用sass的配置方式详解
2018/03/13 Javascript
[46:44]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD BO3 第二场 3月7日
2021/03/11 DOTA
一个计算身份证号码校验位的Python小程序
2014/08/15 Python
python3+mysql查询数据并通过邮件群发excel附件
2018/02/24 Python
Django ORM 常用字段与不常用字段汇总
2019/08/09 Python
用Python爬取LOL所有的英雄信息以及英雄皮肤的示例代码
2020/07/13 Python
div或img图片高度随宽度自适应的方法
2020/02/06 HTML / CSS
十八届三中全会个人学习材料
2014/02/13 职场文书
《我的第一本书》教学反思
2014/02/15 职场文书
采购经理岗位职责
2014/02/16 职场文书
文化活动实施方案
2014/03/28 职场文书
中药学自荐信
2014/06/15 职场文书
大学毕业生管理学求职信
2014/09/01 职场文书
党员民主评议总结
2014/10/20 职场文书
2014党的群众路线教育实践活动总结报告
2014/10/31 职场文书
元旦晚会开场白
2015/05/29 职场文书
2015年物流客服工作总结
2015/07/27 职场文书
幼儿园安全教育随笔
2015/08/14 职场文书
Pygame游戏开发之太空射击实战敌人精灵篇
2022/08/05 Python