浏览代码

后台更新

shaogen1995 2 年之前
父节点
当前提交
3887f0b6db
共有 2 个文件被更改,包括 224 次插入112 次删除
  1. 155 107
      houtai/src/views/tab2/add.vue
  2. 69 5
      houtai/src/views/tab2/index.vue

+ 155 - 107
houtai/src/views/tab2/add.vue

@@ -6,79 +6,120 @@
       {{ ruleForm.id ? "编辑" : "新增" }}
     </div>
     <div class="conten">
-      <el-form :model="ruleForm" ref="ruleForm" label-width="120px" class="demo-ruleForm">
+      <el-form
+        :model="ruleForm"
+        ref="ruleForm"
+        label-width="120px"
+        class="demo-ruleForm"
+      >
         <!-- 名称 -->
         <div class="checkBox2">
           <el-form-item label="名称:">
             <i class="biaoshi biaoshi2"></i>
-            <el-input v-model="ruleForm.name" maxlength="10" show-word-limit></el-input>
+            <el-input
+              v-model="ruleForm.name"
+              maxlength="10"
+              show-word-limit
+            ></el-input>
           </el-form-item>
           <!-- 总登记号 -->
           <el-form-item label="总登记号:">
-            <el-input v-model="ruleForm.registerNum" maxlength="25" show-word-limit></el-input>
+            <el-input
+              v-model="ruleForm.registerNum"
+              maxlength="25"
+              show-word-limit
+            ></el-input>
           </el-form-item>
         </div>
         <div class="checkBox">
+          <!-- 日期 -->
+          <el-form-item label="日期:">
+            <i class="biaoshi biaoshi2"></i>
+            <el-date-picker
+              format="yyyy-MM-dd"
+              value-format="yyyy-MM-dd"
+              v-model="day"
+              type="date"
+              placeholder="选择日期"
+            >
+            </el-date-picker>
+          </el-form-item>
+
           <!-- 类型 -->
           <el-form-item label="类别:">
-            <el-select v-model="ruleForm.dictTextureId" clearable placeholder="请选择类别">
-              <el-option v-for="i in dictTextureArr" :key="i.value" :label="i.label" :value="i.value">
+            <el-select
+              v-model="ruleForm.dictTextureId"
+              clearable
+              placeholder="请选择类别"
+            >
+              <el-option
+                v-for="i in dictTextureArr"
+                :key="i.value"
+                :label="i.label"
+                :value="i.value"
+              >
               </el-option>
             </el-select>
           </el-form-item>
           <!-- 年代 -->
           <el-form-item label="年代:">
-            <el-cascader ref="elCascader" clearable v-model="dictAgeId" :options="options" @change="handleChange">
+            <el-cascader
+              ref="elCascader"
+              clearable
+              v-model="dictAgeId"
+              :options="options"
+            >
             </el-cascader>
           </el-form-item>
           <!-- 级别 -->
           <el-form-item label="级别:">
-            <el-select v-model="ruleForm.dictLevelId" clearable placeholder="请选择级别">
-              <el-option v-for="i in dictLevelArr" :key="i.value" :label="i.label" :value="i.value">
+            <el-select
+              v-model="ruleForm.dictLevelId"
+              clearable
+              placeholder="请选择级别"
+            >
+              <el-option
+                v-for="i in dictLevelArr"
+                :key="i.value"
+                :label="i.label"
+                :value="i.value"
+              >
               </el-option>
             </el-select>
           </el-form-item>
         </div>
         <!-- 尺寸 -->
-        <el-form-item label="尺寸:" class="fromSize">
-          <div class="sizeRow">
-            <span>长:</span>
-            <el-input v-model="chang" maxlength="8" :onkeyup="clearNoNum('chang')"></el-input>
-            <el-select v-model="changDanWei" placeholder="请选择类别">
-              <el-option v-for="i in sizeData" :key="i" :label="i" :value="i">
-              </el-option>
-            </el-select>
-          </div>
-          <div class="sizeRow sizeRow2">
-            <span>宽:</span>
-            <el-input v-model="kuang" maxlength="8" :onkeyup="clearNoNum('kuang')"></el-input>
-            <el-select v-model="kuangDanWei" placeholder="请选择类别">
-              <el-option v-for="i in sizeData" :key="i" :label="i" :value="i">
-              </el-option>
-            </el-select>
-          </div>
-          <div class="sizeRow sizeRow2">
-            <span>高:</span>
-            <el-input v-model="gao" maxlength="8" :onkeyup="clearNoNum('gao')"></el-input>
-            <el-select v-model="gaoDanWei" placeholder="请选择类别">
-              <el-option v-for="i in sizeData" :key="i" :label="i" :value="i">
-              </el-option>
-            </el-select>
-          </div>
+        <el-form-item label="尺寸:">
+          <el-input v-model="chang" maxlength="100"></el-input>
         </el-form-item>
 
         <!-- 图片 -->
         <el-form-item label="图片:">
           <i class="biaoshi biaoshi1"></i>
-          <el-upload accept=".png,.jpg,.jpeg,.gif" :data="{ type: 'img' }" class="avatar-uploader"
-            :action="baseURL + '/api/cms/goods/upload'" :headers="{ token }" :show-file-list="true"
-            :before-upload="beforethumbUpload" :on-success="upload_thumb_success">
+          <el-upload
+            accept=".png,.jpg,.jpeg,.gif"
+            :data="{ type: 'img' }"
+            class="avatar-uploader"
+            :action="baseURL + '/api/cms/goods/upload'"
+            :headers="{ token }"
+            :show-file-list="true"
+            :before-upload="beforethumbUpload"
+            :on-success="upload_thumb_success"
+          >
             <div v-if="ruleForm.thumb" class="imgdiv">
-              <img style="width: 150px;height: 150px;
+              <img
+                style="
+                  width: 150px;
+                  height: 150px;
                   display: block;
                   object-fit: cover;
-                " :src="baseURL + ruleForm.thumb" />
-              <i class="el-icon-circle-close" @click.stop="ruleForm.thumb = ''"></i>
+                "
+                :src="baseURL + ruleForm.thumb"
+              />
+              <i
+                class="el-icon-circle-close"
+                @click.stop="ruleForm.thumb = ''"
+              ></i>
             </div>
             <i v-else class="el-icon-plus avatar-uploader-icon"></i>
           </el-upload>
@@ -89,21 +130,49 @@
         <!-- 说明 -->
         <el-form-item label="说明:">
           <div class="txtBtn">
-            <el-button :disabled="ruleForm.description.length >= 128" size="small" round
-              @click="ruleForm.description += '&emsp;&emsp;'">首行缩进</el-button>
-            <el-button :disabled="ruleForm.description.length >= 135" size="small" round
-              @click="ruleForm.description += '<br/>'">换行</el-button>
+            <el-button
+              :disabled="ruleForm.description.length >= 128"
+              size="small"
+              round
+              @click="ruleForm.description += '&emsp;&emsp;'"
+              >首行缩进</el-button
+            >
+            <el-button
+              :disabled="ruleForm.description.length >= 135"
+              size="small"
+              round
+              @click="ruleForm.description += '<br/>'"
+              >换行</el-button
+            >
           </div>
-          <el-input type="textarea" v-model="ruleForm.description" maxlength="140" show-word-limit></el-input>
+          <el-input
+            type="textarea"
+            v-model="ruleForm.description"
+            maxlength="140"
+            show-word-limit
+          ></el-input>
         </el-form-item>
         <!-- 附件 -->
         <div class="rowFrom">
           <el-form-item label="模型文件:" v-if="ruleForm.type === 'model'">
             <i class="biaoshi"></i>
-            <el-upload accept=".4dage" multiple drag class="upload-demo" :data="{ type: 'model' }" :file-list="fileList"
-              :action="baseURL + '/api/cms/goods/upload'" :headers="{ token }" :before-upload="beforeFujian"
-              :on-success="successFujian" :before-remove="beforeRemove" :on-remove="handleRemove" :limit="1"
-              :on-exceed="handleExceed" :show-file-list="true">
+            <el-upload
+              accept=".4dage"
+              multiple
+              drag
+              class="upload-demo"
+              :data="{ type: 'model' }"
+              :file-list="fileList"
+              :action="baseURL + '/api/cms/goods/upload'"
+              :headers="{ token }"
+              :before-upload="beforeFujian"
+              :on-success="successFujian"
+              :before-remove="beforeRemove"
+              :on-remove="handleRemove"
+              :limit="1"
+              :on-exceed="handleExceed"
+              :show-file-list="true"
+            >
               <i class="el-icon-upload"></i>
               <div class="el-upload__text">
                 将文件拖到此处,或<em>点击上传</em>
@@ -115,10 +184,23 @@
           </el-form-item>
           &emsp;&emsp;&emsp;&emsp;&emsp;&emsp;
           <el-form-item label="音频文件:" v-if="ruleForm.type === 'model'">
-            <el-upload accept=".mp3" multiple drag class="upload-demo" :data="{ type: 'audio' }" :file-list="fileList2"
-              :action="baseURL + '/api/cms/goods/upload'" :headers="{ token }" :before-upload="beforeFujian2"
-              :on-success="successFujian2" :before-remove="beforeRemove2" :on-remove="handleRemove2" :limit="1"
-              :on-exceed="handleExceed2" :show-file-list="true">
+            <el-upload
+              accept=".mp3"
+              multiple
+              drag
+              class="upload-demo"
+              :data="{ type: 'audio' }"
+              :file-list="fileList2"
+              :action="baseURL + '/api/cms/goods/upload'"
+              :headers="{ token }"
+              :before-upload="beforeFujian2"
+              :on-success="successFujian2"
+              :before-remove="beforeRemove2"
+              :on-remove="handleRemove2"
+              :limit="1"
+              :on-exceed="handleExceed2"
+              :show-file-list="true"
+            >
               <i class="el-icon-upload"></i>
               <div class="el-upload__text">
                 将文件拖到此处,或<em>点击上传</em>
@@ -148,16 +230,13 @@ export default {
   data () {
     // 这里存放数据
     return {
+      // 日期
+      day: '',
+
       // 服务器前缀地址
       baseURL: '',
       // 尺寸
-      sizeData: ['米', '厘米', '毫米'],
       chang: '',
-      changDanWei: '厘米',
-      kuang: '',
-      kuangDanWei: '厘米',
-      gao: '',
-      gaoDanWei: '厘米',
       // 年代
       dictAgeId: [],
       options: [],
@@ -191,23 +270,6 @@ export default {
   watch: {},
   // 方法集合
   methods: {
-    clearNoNum (val) {
-      try {
-        this[val] = this[val].replace(/[^\d.]/g, '') // 清除“数字”和“.”以外的字符
-        this[val] = this[val].replace(/\.{2,}/g, '.') // 只保留第一个. 清除多余的
-        // eslint-disable-next-line no-useless-escape
-        this[val] = this[val].replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3') // 只能输入两个小数
-        if (this[val].indexOf('.') < 0 && this[val].trim() !== '') {
-          // 以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额
-          this[val] = parseFloat(this[val])
-        }
-      } catch (error) {
-        console.log(error)
-      }
-    },
-    handleChange (value) {
-      console.log(value)
-    },
     // 点击取消
     goBack () {
       let k = this.$route.query.k
@@ -228,7 +290,9 @@ export default {
       if (this.ruleForm.filePath === '' && this.ruleForm.type === 'model') {
         return this.$message.warning('文件不能为空')
       }
+      if (!this.day) return this.$message.warning('日期不能为空')
       const obj = { ...this.ruleForm }
+      obj.day = this.day
       // 年代数据判断
       if (this.dictAgeId && this.dictAgeId[1]) {
         obj.dictAgeId = this.dictAgeId[1]
@@ -237,9 +301,7 @@ export default {
         obj.dictAgeFront = tempArr.join('/')
       }
       // 长宽高判断
-      if (this.chang) obj.sizeLength = this.chang + ',' + this.changDanWei
-      if (this.kuang) obj.sizeWidth = this.kuang + ',' + this.kuangDanWei
-      if (this.gao) obj.sizeHeight = this.gao + ',' + this.gaoDanWei
+      if (this.chang) obj.sizeLength = this.chang
       const res = await goodsSave(obj)
       if (res.code === 0) {
         this.$message.success('操作成功')
@@ -351,7 +413,6 @@ export default {
     handleExceed2 (files, fileList) {
       this.$message.warning('只能上传一个文件,请删除原文件后操作')
     }
-
   },
   // 生命周期 - 创建完成(可以访问当前this实例)
   async created () {
@@ -394,7 +455,9 @@ export default {
       // 附件回显
       this.fileList = [{ name: resSon.data.fileName }]
       // 音频回显
-      if (resSon.data.audioName) this.fileList2 = [{ name: resSon.data.audioName }]
+      if (resSon.data.audioName) {
+        this.fileList2 = [{ name: resSon.data.audioName }]
+      }
 
       // 年代回显
       if (resSon.data.dictAgeId) {
@@ -405,35 +468,20 @@ export default {
         })
       }
       // 尺寸回显
-      const chang = resSon.data.sizeLength
-      const kuang = resSon.data.sizeWidth
-      const gao = resSon.data.sizeHeight
-      if (chang) {
-        const temp = chang.split(',')
-        this.chang = temp[0]
-        this.changDanWei = temp[1]
-      }
-      if (kuang) {
-        const temp = kuang.split(',')
-        this.kuang = temp[0]
-        this.kuangDanWei = temp[1]
-      }
-      if (gao) {
-        const temp = gao.split(',')
-        this.gao = temp[0]
-        this.gaoDanWei = temp[1]
-      }
+      this.chang = resSon.data.sizeLength
+      // 日期回显
+      this.day = resSon.data.day
     }
   },
   // 生命周期 - 挂载完成(可以访问DOM元素)
-  mounted () { },
-  beforeCreate () { }, // 生命周期 - 创建之前
-  beforeMount () { }, // 生命周期 - 挂载之前
-  beforeUpdate () { }, // 生命周期 - 更新之前
-  updated () { }, // 生命周期 - 更新之后
-  beforeDestroy () { }, // 生命周期 - 销毁之前
-  destroyed () { }, // 生命周期 - 销毁完成
-  activated () { } // 如果页面有keep-alive缓存功能,这个函数会触发
+  mounted () {},
+  beforeCreate () {}, // 生命周期 - 创建之前
+  beforeMount () {}, // 生命周期 - 挂载之前
+  beforeUpdate () {}, // 生命周期 - 更新之前
+  updated () {}, // 生命周期 - 更新之后
+  beforeDestroy () {}, // 生命周期 - 销毁之前
+  destroyed () {}, // 生命周期 - 销毁完成
+  activated () {} // 如果页面有keep-alive缓存功能,这个函数会触发
 }
 </script>
 <style lang='less' scoped>
@@ -553,7 +601,7 @@ export default {
     width: 100%;
     display: flex;
 
-    &>div {
+    & > div {
       width: 50%;
     }
   }

+ 69 - 5
houtai/src/views/tab2/index.vue

@@ -78,7 +78,7 @@
 
           <span class="search_k">创建时间:</span>
           <el-date-picker
-            style="width: 257px;padding-right: 0px;"
+            style="width: 257px; padding-right: 0px"
             v-model="time"
             type="daterange"
             range-separator="-"
@@ -155,7 +155,11 @@
                   style="cursor: pointer"
                   :title="handTxt(row.description)"
                   v-if="handTxt(row.description)"
-                  >{{handTxt(row.description).length > 10?handTxt(row.description).substring(0, 10) + "...":handTxt(row.description)}}</span
+                  >{{
+                    handTxt(row.description).length > 10
+                      ? handTxt(row.description).substring(0, 10) + "..."
+                      : handTxt(row.description)
+                  }}</span
                 >
                 <span v-else>(空)</span>
               </template>
@@ -170,10 +174,13 @@
                 />
               </template>
             </el-table-column>
-            <el-table-column prop="createTime" label="创建时间">
-            </el-table-column>
+            <el-table-column prop="day" label="日期"> </el-table-column>
             <el-table-column label="操作">
               <template #default="{ row }">
+                <el-button type="text" @click="lookQrCode(row.qrPath)"
+                  >二维码</el-button
+                >
+
                 <el-button type="text" @click="editGood(row.id)"
                   >编辑</el-button
                 >
@@ -203,6 +210,19 @@
       >
       </el-pagination>
     </div>
+    <!-- 查看二维码的盒子 -->
+    <div class="qrCodeBox" v-show="qrCodeSrc">
+      <!-- 关闭 -->
+      <div
+        class="closeQrCode el-icon-circle-close"
+        @click="qrCodeSrc = ''"
+      ></div>
+      <img v-if="qrCodeSrc" :src="baseURL + qrCodeSrc" alt="" />
+      <!-- 下载二维码 -->
+      <a target="blank" :href="baseURL + qrCodeSrc" download class="qrCodeDown"
+        >下载二维码</a
+      >
+    </div>
   </div>
 </template>
 
@@ -266,7 +286,9 @@ export default {
       tableData: [],
       dictLevelArr: [],
       dictTextureArr: [],
-      dictAgeArr: []
+      dictAgeArr: [],
+      // 二维码查看
+      qrCodeSrc: ''
     }
   },
   // 监听属性 类似于data概念
@@ -279,6 +301,11 @@ export default {
   },
   // 方法集合
   methods: {
+    // 点击二维码
+    lookQrCode (url) {
+      this.qrCodeSrc = url
+    },
+
     // 处理说明的文本
     handTxt (val) {
       let temp = val.replaceAll('&emsp;', ' ')
@@ -491,6 +518,43 @@ export default {
 <style lang='less' scoped>
 .tab2 {
   height: 100%;
+  .qrCodeBox {
+    z-index: 10;
+    position: fixed;
+    top: 0;
+    left: 0;
+    width: 100vw;
+    height: 100vh;
+    background-color: rgba(0, 0, 0, 0.8);
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    .qrCodeDown {
+      position: absolute;
+      width: 120px;
+      height: 40px;
+      line-height: 36px;
+      text-align: center;
+      top: 24px;
+      right: 90px;
+      color: #fff;
+      border-radius: 20px;
+      border: 1px solid #fff;
+    }
+    .closeQrCode {
+      cursor: pointer;
+      color: #fff;
+      position: absolute;
+      right: 30px;
+      top: 30px;
+      font-size: 30px;
+    }
+    & > img {
+      max-width: 500px;
+      max-height: 500px;
+      object-fit: cover;
+    }
+  }
   .conten {
     display: flex;
     height: calc(100% - 52px);