Browse Source

Merge remote-tracking branch 'origin/mergeBranch' into mergeBranch

qymljy 2 years ago
parent
commit
9ef481c37c

+ 46 - 3
src/Form/promotion/add.vue

@@ -103,6 +103,23 @@
                 <el-input v-model="form.remarks" type="textarea" rows="5" placeholder="请输入方案描述"></el-input>
               </el-form-item>
             </el-col>
+            <el-col :span="24">
+              <el-form-item label="封面" prop="cover">
+                <input v-show="false" type="text" v-model="form.cover">
+                <uploadFile
+                  :one="true"
+                  :multiple="false"
+                  ref="upload"
+                  style="margin-top:10px"
+                  :folderid="folderid"
+                  accept=".JPG,.PNG,.jpg,.png"
+                  type="image"
+                  :bindData="bindData"
+                  @onSuccess="uploadSuccess"
+                  @onChange="coverChange">
+                </uploadFile>
+              </el-form-item>
+            </el-col>
           </el-form>
         </el-row>
       </div>
@@ -115,9 +132,10 @@
 </template>
 
 <script>
+import uploadFile from '@/HDrpManagement/promotion/components/upload'
 export default {
   name: "add",
-  components:{},
+  components:{uploadFile},
   data(){
     var checkBegTimer = (rule, value, callback) => {
       if (new Date(this.form.enddate).getTime() > new Date(value).getTime()) {
@@ -137,7 +155,9 @@ export default {
       tradefieldList:[],
       brandList:[],
       accountList:[],
+      bindData:{},
       dialogFormVisible:false,
+      folderid:JSON.parse(sessionStorage.getItem('folderid')).appfolderid,
       form:{
         "sa_promotionid":0,     //sat_notice_classid<=0时 为新增
         "sa_accountclassid": "",
@@ -150,7 +170,8 @@ export default {
         "orderaddqty": '',
         "orderminamount": '',
         "begdate": '',
-        "enddate": ""
+        "enddate": "",
+        "cover":''
       },
       rules:{
         promname:[
@@ -185,12 +206,19 @@ export default {
         tradefield:[
           { required: true, message: '请选择领域', trigger: 'change'},
         ],
+        cover:[
+          { required: true, message: '请上传封面', trigger: 'change'},
+        ],
       },
     }
   },
   watch: {
     dialogFormVisible (val) {
-      !val && this.$refs.form.resetFields()
+      if (!val) {
+        this.$refs.form.resetFields()
+        this.$refs.upload.fileLinkList = []
+        this.$refs.upload.$refs.upload.clearFiles()
+      }
     }
   },
   methods:{
@@ -206,11 +234,23 @@ export default {
         this.tool.showMessage(res,()=>{
           this.$emit('onSuccess')
           this.dialogFormVisible = false
+          this.bindData = {
+            "ownertable": 'sa_promotion',
+            "ownerid": res.data.sa_promotionid,
+            "usetype": 'default',
+          }
+          this.$refs['upload'].toUpload(() => {
+            // this.$emit('onSuccess')
+            this.dialogFormVisible = false
+          })
         })
       })
     },
     brandChange (val) {
 
+    },
+    coverChange (data) {
+      this.form.cover = data
     },
     /* 领域 */
     async getTradefield () {
@@ -248,6 +288,9 @@ export default {
       this.accountList = res.data
       console.log(this.accountList,'账户');
       
+    },
+    uploadSuccess (data) {
+
     }
   },
   created() {

+ 58 - 4
src/Form/promotion/edit.vue

@@ -2,7 +2,7 @@
   <div>
     <el-button size="mini" type="primary" @click="editBtn">编 辑</el-button>
     <el-drawer
-        title="编辑促销方案"
+        title="创建促销方案"
         :visible.sync="dialogFormVisible"
         size="40%"
         direction="rtl"
@@ -103,6 +103,24 @@
                 <el-input v-model="form.remarks" type="textarea" rows="5" placeholder="请输入方案描述"></el-input>
               </el-form-item>
             </el-col>
+            <el-col :span="24">
+              <el-form-item label="封面" prop="cover">
+                <input v-show="false" type="text" v-model="form.cover">
+                <uploadFile
+                  :one="true"
+                  :multiple="false"
+                  ref="upload"
+                  style="margin-top:10px"
+                  :folderid="folderid"
+                  accept=".JPG,.PNG,.jpg,.png"
+                  type="image"
+                  :bindData="bindData"
+                  @onSuccess="uploadSuccess"
+                  @deleteSuccess="deleteSuccess"
+                  @onChange="coverChange">
+                </uploadFile>
+              </el-form-item>
+            </el-col>
           </el-form>
         </el-row>
       </div>
@@ -115,9 +133,10 @@
 </template>
 
 <script>
+import uploadFile from '@/HDrpManagement/promotion/components/upload'
 export default {
   name: "add",
-  components:{},
+  components:{uploadFile},
   props:['data'],
   data(){
     var checkBegTimer = (rule, value, callback) => {
@@ -138,7 +157,9 @@ export default {
       tradefieldList:[],
       brandList:[],
       accountList:[],
+      bindData:{},
       dialogFormVisible:false,
+      folderid:JSON.parse(sessionStorage.getItem('folderid')).appfolderid,
       form:{
         "sa_promotionid":0,     //sat_notice_classid<=0时 为新增
         "sa_accountclassid": "",
@@ -151,7 +172,8 @@ export default {
         "orderaddqty": '',
         "orderminamount": '',
         "begdate": '',
-        "enddate": ""
+        "enddate": "",
+        "cover":''
       },
       rules:{
         promname:[
@@ -186,18 +208,32 @@ export default {
         tradefield:[
           { required: true, message: '请选择领域', trigger: 'change'},
         ],
+        cover:[
+          { required: true, message: '请上传封面', trigger: 'change'},
+        ],
       },
     }
   },
   watch: {
     dialogFormVisible (val) {
-      !val && this.$refs.form.resetFields()
+      if (!val) {
+        this.$refs.form.resetFields()
+        this.$refs.upload.fileLinkList = []
+        this.$refs.upload.$refs.upload.clearFiles()
+      }
     }
   },
   methods:{
     editBtn () {
       this.dialogFormVisible = true
       this.form = Object.assign({},this.form,this.data)
+      this.form.cover = this.form.attinfos
+      console.log(this.form);
+      
+      this.$nextTick(() => {
+        this.$refs.upload.fileLinkList = this.form.attinfos
+        this.$refs.upload.fileList = this.form.attinfos
+      })
     },
     onSubmit(){
       console.log(this.form)
@@ -211,11 +247,23 @@ export default {
         this.tool.showMessage(res,()=>{
           this.$emit('onSuccess')
           this.dialogFormVisible = false
+          this.bindData = {
+            "ownertable": 'sa_promotion',
+            "ownerid": res.data.sa_promotionid,
+            "usetype": 'default',
+          }
+          this.$refs['upload'].toUpload(() => {
+            // this.$emit('onSuccess')
+            this.dialogFormVisible = false
+          })
         })
       })
     },
     brandChange (val) {
 
+    },
+    coverChange (data) {
+      this.form.cover = data
     },
     /* 领域 */
     async getTradefield () {
@@ -253,6 +301,12 @@ export default {
       this.accountList = res.data
       console.log(this.accountList,'账户');
       
+    },
+    uploadSuccess (data) {
+      this.$emit('onSuccess')
+    },
+    deleteSuccess () {
+      this.form.cover = ''
     }
   },
   created() {

+ 217 - 0
src/HDrpManagement/promotion/components/upload.vue

@@ -0,0 +1,217 @@
+<template>
+  <div>
+    <div v-if="type === 'button'" class="picture_list">
+      <div class="flex-align-center flex-between pionter" v-for="(img,index) in fileLinkList" :key="img.index">
+        <div class="flex-align-center">
+          <img width="30" :src="img.url" class="inline-16" alt="">
+          <div class="file__link inline-16">
+            <p>{{img.name}}</p>
+          </div>
+        </div>
+        <i style="color:red;" class="el-icon-delete" @click="handleRemove(index)"></i>
+      </div>
+      <el-upload
+        ref="upload"
+        action="#"
+        :on-change="onChange"
+        :show-file-list="false"
+        :auto-upload="false"
+        :multiple="multiple ? multiple : false">
+        <el-button size="small" type="text" icon="el-icon-paperclip">点击上传</el-button>
+      </el-upload>
+    </div>
+    <div v-else class="flex-align-stretch">
+      <div v-for="(img,index) in fileLinkList" :key="index" class="upload_image__panel">
+        <img :src="img.url" alt="">
+        <div class="upload_image__panel_mod flex-align-center flex-around">
+          <i class="el-icon-delete" style="font-size:16px" @click="handleRemove(index)"></i>
+        </div>
+      </div>
+      <el-upload
+        ref="upload"
+        :accept="accept"
+        action="#"
+        :on-change="onChange"
+        :show-file-list="false"
+        list-type="picture-card"
+        :auto-upload="false"
+        multiple>
+        <i class="el-icon-plus"></i>
+      </el-upload>
+    </div>
+  </div>
+</template>
+
+<script>
+import removeFile from '@/utils/removeFile'
+export default {
+  props:['folderid','bindData','type','accept','multiple','one'],
+  data() {
+    return {
+      imageUrl:'',
+      fileList:[],
+      fileLinkList:[],
+      deleteArr:[],
+      params: {
+        "classname": "system.attachment.huawei.OBS",
+        "method": "getFileName",
+        "content": {
+          "filename": '',
+          "filetype": '',
+          "parentid": ""//归属文件夹ID
+        }
+      },
+    };
+  },
+  methods: {
+    onChange (file,filelist) {
+      this.fileList = filelist
+      if (this.fileList.length > 0 && this.one) this.fileList = this.fileList.splice(0,1)
+      this.$emit('onChange',this.fileList)
+      this.beforeUpload(file.raw)
+    },
+    beforeUpload (file) {
+      var that = this
+
+      var fileReader = new FileReader();
+
+      fileReader.readAsDataURL(file);
+
+      fileReader.onload = function(e) {
+        var result = e.target.result;
+        that.fileLinkList.unshift({url:result,type:file.type,name:file.name})
+        console.log(that.fileLinkList,'111');
+        
+        if (that.fileLinkList.length > 1 && that.one) {
+          that.deleteArr[0] = that.fileLinkList.pop()
+          console.log(that.deleteArr);
+          
+        }
+      }
+    },
+    handleRemove (index) {
+      removeFile.removeFileList([this.fileList[index]]).then(() => {
+        this.$emit('deleteSuccess')
+      })
+      this.fileList = this.fileList.filter((e,idx)=>{
+        if (idx !== index) {
+          return e
+        }
+      })
+      this.fileLinkList = this.fileLinkList.filter((e,idx)=>{
+        if (idx !== index) {
+          return e
+        }
+      })
+    },
+    toUpload () {
+      console.log(this.fileList)
+      this.fileList.forEach(file=>{
+        let index = file.name.lastIndexOf(".");
+        let ext = file.name.substr(index + 1);
+        this.params.content.filename = file.name
+        this.params.content.filetype = ext
+        this.getUploadUrl(file, ext)
+      })
+     
+    },
+
+    // 获取华为云上传地址
+    async getUploadUrl (file, ext) {
+      this.params.content.parentid = this.folderid
+      const res = await this.$api.requested(this.params)
+      let url = res.data.uploadurl
+      let obsfilename = res.data.serialfilename
+
+      this.upoladFileToServer(url, file, ext, obsfilename)
+    },
+
+    // 上传到华为云
+    async upoladFileToServer (url, file, ext, obsfilename) {      
+      let THIS = this
+      let config = {
+        headers: ext === 'pdf' ? { 'Content-Type': 'application/pdf' } : ext === 'svg'?{ 'Content-Type': 'image/svg+xml' } : { 'Content-Type': 'application/octet-stream' },
+      }
+      const res = await this.$upload.hw_upload(url, file.raw, config)
+      this.createFileRecord(obsfilename)
+    },
+
+    // 上传成功以后生成附件记录
+    async createFileRecord (obsfilename,attinfos) {
+      console.log(this.deleteArr.length,this.one);
+      
+      if(this.deleteArr.length && this.one) {
+        this.deleteFun()
+      }
+
+      let obj = {
+        "serialfilename": obsfilename
+      }
+      obj = Object.assign({},obj,this.bindData)
+      let param = {
+        "classname": "system.attachment.huawei.OBS",
+        "method": "uploadSuccess",
+        "content":obj
+      }
+      const res = await this.$api.requested(param)
+      if (res.code ===  1) {
+        this.$emit('onSuccess',res)
+        // this.fileList = []
+        this.fileLinkList = []
+        this.$refs.upload.clearFiles()
+      }
+      console.log(this.fileList)
+      
+    },
+    deleteFun () {
+      console.log(this.deleteArr,'删除数据');
+      
+      removeFile.removeFileList(this.deleteArr)
+    }
+  }
+}
+
+</script>
+<style>
+</style>
+<style scoped>
+.upload_image__panel{
+  position: relative;
+  height:148px;
+  width: 148px;
+  border-radius: 6px;
+  margin-right: 10px;
+  margin-bottom:10px;
+  border: 1px solid #c0ccda;
+  overflow: hidden;
+}
+.upload_image__panel img{
+  width: 100%;
+  height: 100%;
+}
+.upload_image__panel_mod{
+  position: absolute;
+  top:0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  color:#fff;
+  background: rgba(0,0,0,.8);
+  opacity: 0;
+  transition: .3s linear;
+  cursor: pointer;
+}
+.upload_image__panel:hover .upload_image__panel_mod{
+  opacity: 1;
+}
+.pionter{
+  margin:6px 0;
+  padding: 10px;
+  transition: .2s linear;
+  cursor: pointer;
+  border-radius: 5px;
+}
+.pionter:hover{
+  box-shadow: 0 5px 10px rgb(0 0 0 / 10%);
+}
+</style>

+ 131 - 0
src/HDrpManagement/salerPromotion/components/list.vue

@@ -0,0 +1,131 @@
+<template>
+  <div class="list-box" v-if="fileData.length != 0">
+    <div class="list" v-for="(item,index) in fileData" :key="index" @click="itemClick(item)">
+      <div class="top">
+        <img :src="getCover(item)" alt="">
+        <el-tag v-if="item.type == '普通促销'" size="mini" type="success" class="type">{{item.type}}</el-tag>
+        <el-tag v-else size="mini" type="warning" class="type">{{item.type}}</el-tag>
+      </div>
+      <div class="bottom">
+        <p class="title">{{item.promname}}</p>
+        <p class="time">活动开始时间:<br/>{{item.createdate}}</p>
+        <p class="time">活动结束时间:<br/>{{item.enddate}}</p>
+      </div>
+    </div>
+  </div>
+  <el-empty description="暂无数据" v-else></el-empty>
+</template>
+
+<script>
+export default {
+  name: 'list',
+  data () {
+    return {
+      dialogVisible: false,
+      currentItem:[]
+    };
+  },
+  props: ['fileData'],
+  computed: {
+    
+  },
+  components: {
+    
+  },
+  watch: {
+  },
+  created () {
+  },
+  methods: {
+    //获取封面
+    getCover(item) {
+      let result = item.attinfos.find(item1 => item1.fileType == 'image')
+      if(result) {
+        return item.attinfos.find(item => item == result).cover        
+      } else if(item.attinfos[0] && item.attinfos[0].subfiles[0]) {
+        return item.attinfos[0].subfiles[0].url
+      }else {
+        return require('@/assets/video.png')
+      }
+      
+    },
+    itemClick (data) {
+      this.$emit('listItemClick', data)
+    },
+    
+  },
+};
+</script>
+
+<style scoped>
+* {
+  box-sizing: border-box;
+}
+.list-box {
+  width: 100%;
+  display: flex;
+  flex-wrap: wrap;
+  margin-bottom: 16px;
+}
+.list-box .list {
+  width: 168px;
+  margin: 0 30px 30px 0;
+  border-radius: 4px;
+  transition: all 0.2s ease-out;
+  cursor: pointer;
+}
+.list-box .list:hover {
+  box-shadow: 0px 3px 6px 1px rgba(0, 0, 0, 0.16);
+}
+.list-box .list .top {
+  width: 100%;
+  height: 120px;
+  border-radius: 4px 4px 0px 0px;
+  position: relative;
+}
+.list-box .list .top img {
+  width: 100%;
+  height: 100%;
+  border-radius: 4px 4px 0px 0px;
+}
+.list-box .list .top .type {
+  position: absolute;
+  left: 10px;
+  top: 10px;
+}
+.list-box .list .bottom {
+  width: 100%;
+  padding: 16px;
+  background: #ffffff;
+  border-radius: 0px 0px 4px 4px;
+  border: 1px solid #cccccc;
+}
+.list-box .list .bottom p:nth-child(1) {
+  font-size: 14px;
+  font-weight: 400;
+  color: #333333;
+  margin-bottom: 10px;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+.list-box .list .bottom .icon-box .item img {
+  vertical-align: middle;
+}
+
+.list-box .list .bottom .time {
+  font-size: 12px;
+  margin-bottom: 10px;
+
+}
+.list-box .list .bottom .time:last-child {
+  margin-bottom: 0;
+}
+.el-empty {
+  position: absolute;
+  left: 50%;
+  top: 50%;
+  transform: translate(-50%,-50%);
+}
+
+</style>

+ 52 - 0
src/HDrpManagement/salerPromotion/index copy.vue

@@ -0,0 +1,52 @@
+
+<template>
+      <!-- :detailPath="{
+        path:'/promotionDetail'
+      }"> -->
+  <div>
+    <basicLayout 
+      ref="list" 
+      tableName="promotionTable" 
+      idName="sa_promotionid" 
+      :apiId="{query:20220103140003,del:''}"
+      :options="options"
+      @listData="list">
+      <div slot="custom"></div>
+      <template v-slot:tbList="scope">
+        <div v-if="scope.data.column.data[[scope.data.column.columnname]]">
+          <span v-if="scope.data.column.columnname == 'STATUS'">
+            <span style="color:#333333" v-if="scope.data.column.data[[scope.data.column.columnname]] == '新建'">{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
+            <span style="color:#3874f6" v-else-if="scope.data.column.data[[scope.data.column.columnname]] == '审核'">{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
+            <span style="color:#52C41A" v-else-if="scope.data.column.data[[scope.data.column.columnname]] == '发布'">{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
+          </span>
+          <span v-else>
+            {{scope.data.column.data[[scope.data.column.columnname]]}}
+          </span>
+        </div>
+        <div v-if="scope.data.column.columnname != 'operation' && !scope.data.column.data[[scope.data.column.columnname]] && scope.data.column.data[[scope.data.column.columnname]] !== 0">--</div>
+      </template>
+      <template v-slot:tbOpreation="scope">
+      </template>
+    </basicLayout>
+  </div>
+</template>
+
+<script>
+export default {
+  data () {
+    return {
+      options:[]
+      
+    }
+  },
+  methods:{
+    list(data) {
+      console.log(data);
+      
+    }
+  }
+}
+
+</script>
+<style>
+</style>

+ 205 - 32
src/HDrpManagement/salerPromotion/index.vue

@@ -1,47 +1,220 @@
-
 <template>
-      <!-- :detailPath="{
-        path:'/promotionDetail'
-      }"> -->
   <div>
-    <basicLayout 
-      ref="list" 
-      tableName="promotionTable" 
-      idName="sa_promotionid" 
-      :apiId="{query:20220103140003,del:''}"
-      :options="options">
-      <div slot="custom"></div>
-      <template v-slot:tbList="scope">
-        <div v-if="scope.data.column.data[[scope.data.column.columnname]]">
-          <span v-if="scope.data.column.columnname == 'STATUS'">
-            <span style="color:#333333" v-if="scope.data.column.data[[scope.data.column.columnname]] == '新建'">{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
-            <span style="color:#3874f6" v-else-if="scope.data.column.data[[scope.data.column.columnname]] == '审核'">{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
-            <span style="color:#52C41A" v-else-if="scope.data.column.data[[scope.data.column.columnname]] == '发布'">{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
-          </span>
-          <span v-else>
-            {{scope.data.column.data[[scope.data.column.columnname]]}}
-          </span>
+    <!--新增-->
+    <normalLayout  @onRefresh="inputChange">
+      <div slot="titleRight">
+      </div>
+      <div slot="content">
+        <div class="normal-card">
+          <div style="display:flex;align-items:center;margin-bottom:10px">
+            <el-input
+              placeholder="请输入搜索内容"
+              suffix-icon="el-icon-search"
+              v-model="params.content.where.condition"
+              style="width:200px"
+              size="mini"
+              class="input-with-select inline-16"
+              @keyup.native.enter="getFileList(params.content.pageNumber=1)"
+              @clear="getFileList(params.content.where.condition='',params.content.pageNumber=1)"
+              clearable>
+            </el-input>
+          </div>
+          <!--素材列表-->
+          <list :fileData="fileData" @listItemClick="listItemClick">
+          </list>
+          <pagination :total="total" :pageSize="params.content.pageSize" :currentPage="params.content.pageNumber"
+            @pageChange="pageChange">
+          </pagination>
+          <!-- <detail ref="detail" v-if="currentFile && tool.checkAuth($route.name, 'read')" :currentSelectFile="currentFile">
+          </detail> -->
         </div>
-        <div v-if="scope.data.column.columnname != 'operation' && !scope.data.column.data[[scope.data.column.columnname]] && scope.data.column.data[[scope.data.column.columnname]] !== 0">--</div>
-      </template>
-      <template v-slot:tbOpreation="scope">
-      </template>
-    </basicLayout>
+        <!--抽屉面板-->
+        <el-drawer
+          title="我是标题"
+          :visible.sync="drawer"
+          :with-header="false"
+          direction="rtl"
+          size="90%"
+          append-to-body
+          @close="closeDrawer">
+          <div class="detail__panel">
+            <router-view/>
+          </div>
+        </el-drawer>
+      </div>
+    </normalLayout>
   </div>
 </template>
 
 <script>
+import list from './components/list'
+import Pagination from '@/components/pagination/Pagination'
+
+import matchingFileType from '@/utils/matchingFeilType'
+
+import {mapGetters} from 'vuex'
 export default {
-  data () {
+  name: 'index',
+  components: {
+    Pagination,
+    list,
+  },
+  data() {
     return {
-      options:[]
+      drawer:false,
+      params: {
+        "id": 20220103140003,
+        "version":1,
+        "content": {
+          "pageNumber":1,
+          "pageSize":20,
+          "where":{
+              "condition":""
+          }
+        }
+      },
+      fileData: [],
+      //列表数据
+      list: [],
+      total: 0,
+      //当前查看的素材
+      currentFile: ''
+    };
+  },
+  
+  computed: {
+    ...mapGetters({
+      DrawerShow:'DrawerShow'
+    })
+  },
+  watch: {
+    $route (val) {
+      if (val.path == '/archives_admag') {
+        this.getFileList()
+        this.$refs.add.dialogVisible = false
+      }
+    },
+    DrawerShow (val) {
+      val ? this.drawer = true : this.drawer = false
+    }
+  },
+  created() {
+    this.getFileList()
+  },
+  methods: {
+    inputChange () {
+
+    },
+    closeDrawer () {
+      this.$router.push({path:'/archives_admag'})
+      this.$store.dispatch('DrawerShowChange',false)
+    },
+    /* 改变分类ID */
+    changeTypeId(id) {
+      this.params.content.where.sat_sharematerial_classid = id == 0 ? null : id;
+      this.getFileList(true);
+    },
+    /* 开始搜索 */
+    startSearch(value) {
+      this.params.content.pageNumber = 1
+      this.params.content.where.condition = value;
+      this.getFileList(true);
+    },
+    //获取文件数据
+    async getFileList(init = false) {
+      if (init) this.params.content.pageNumber = 1;
+      let res = await this.$api.requested(this.params)
+      this.total = res.total
+      this.fileData = res.data
+      this.fileData.forEach((item) => {
+        item.attinfos = matchingFileType.fileList(item.attinfos)
+      })
+      console.log(this.fileData);
       
+      this.params.content.sort = res.sort
+    },
+    //列表单击事件
+    async listItemClick(data) {
+      let param = {
+        "classname": "saletool.sharematerial.sharematerial",
+        "method": "selectDetail",
+        "content": {
+          "sat_sharematerialid": data.sat_sharematerialid
+        }
+      }
+      let res = await this.$api.requested(param)
+      res.data.attinfos = this.fileType.fileList(res.data.attinfos)
+      this.currentFile = res.data
+      this.$nextTick(() => {
+        this.$refs.detail.isFileInfoPanlShow = true
+      })
+    },
+    itemEdit(data) {
+      this.$router.push({
+        path: '/upload_archives',
+        params: JSON.stringify(data)
+      })
+    },
+    clearData() {
+      this.params.content.where.condition = ''
+      this.getFileList()
+    },
+    pageChange(n) {
+      this.params.content.pageNumber = n
+      this.getFileList()
     }
   },
-  methods:{
-  }
+};
+</script>
+
+<style scoped>
+* {
+  box-sizing: border-box;
 }
 
-</script>
-<style>
+.normal-card {
+  min-height: calc(100vh - 190px);
+  box-sizing: border-box;
+  position: relative;
+}
+
+.normal-card .header-panl {
+  display: flex;
+  justify-content: space-between;
+  margin-bottom: 30px;
+}
+
+.normal-card .header-panl .left {
+  display: flex;
+  align-items: center;
+}
+
+.normal-card .header-panl .left .select {
+  margin-right: 16px;
+  display: flex;
+  align-items: center;
+}
+
+.normal-card .header-panl .left .select span {
+  margin-right: 8px;
+}
+
+.normal-card .header-panl .left .search {
+  height: 36px;
+}
+
+/deep/ .input-with-select {
+  height: 34px;
+}
+
+/deep/.el-button span {
+  transform: translateX(-5px) !important;
+}
+
+.el-pagination {
+  position: absolute;
+  right: 16px;
+  bottom: 0;
+  margin-top: 16px;
+}
 </style>

+ 12 - 17
src/SManagement/archives_admag/index.vue

@@ -64,13 +64,10 @@
 </template>
 
 <script>
-import filterList from "@/HManagement/archives_ad/modules/filterList.vue";
-import Header from '@/SManagement/archives_upload/components/Header'
+import filterList from "@/HManagement/archives_ad/modules/filterList.vue"
 import add from '../archives_ad/components/add'
-import HotNewControl from '@/components/hot-new-control/HotNewControl'
 import CategorySelect from '@/components/category-select/CategorySelect'
 import list from '@/SManagement/archives_ad/components/list'
-import search from '@/components/search/index'
 import detail from '@/SManagement/archives_ad/components/detail'
 import Delete from '@/SManagement/archives_ad/components/delete'
 import Edit from '@/SManagement/archives_ad/components/Edit'
@@ -82,6 +79,16 @@ import {mapGetters} from 'vuex'
 import { log } from '@antv/g2plot/lib/utils';
 export default {
   name: 'index',
+  components: {
+    CategorySelect,
+    Pagination,
+    list,
+    detail,
+    Delete,
+    Edit,
+    add,
+    filterList
+  },
   data() {
     return {
       drawer:false,
@@ -117,19 +124,7 @@ export default {
       currentFile: ''
     };
   },
-  components: {
-    HotNewControl,
-    CategorySelect,
-    Pagination,
-    list,
-    search,
-    detail,
-    Delete,
-    Edit,
-    Header,
-    add,
-    filterList
-  },
+  
   computed: {
     ...mapGetters({
       DrawerShow:'DrawerShow'