소스 검색

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

syh 5 년 전
부모
커밋
786947abf8

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 543 - 543
src/components/ctop/vm-card.vue


+ 2 - 1
src/views/dashboard/Analysis.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="page-header-index-wide">
-    <div v-if="roleCode == 'operator'">
+    <div v-if="roleCode == 'operator' || roleCode == 'touTiaoOperationManager'">
       <a-row :gutter="24">
         <a-col :sm="24" :md="12" :xl="6" :style="{ marginBottom: '24px' }">
           <chart-card :loading="loading" title="总销售额" total="¥126,560">
@@ -145,6 +145,7 @@
     </div>
 
     <statistics v-else-if="roleCode == 'kuaishouOperationManager'" />
+
     <statistics v-else-if="roleCode == 'admin'" />
     <Workbench v-else-if="roleCode == 'clip'" />
     <Workbench v-else-if="roleCode == 'plane'" />

+ 5 - 1
src/views/dashboard/Workbench.vue

@@ -205,7 +205,11 @@ export default {
     ...mapGetters(['nickname', 'avatar', 'userInfo']),
     toList(key) {
       localStorage.setItem('key', key)
-      this.$router.replace({ path: '/modules/material/materialList' })
+      if (localStorage.getItem('roleCode') == 'clip') {
+        this.$router.replace({ path: '/modules/material/videoMaterial' })
+      } else if (localStorage.getItem('roleCode') == 'plane') {
+        this.$router.replace({ path: '/modules/material/materialList' })
+      }
     }
   },
   created() {

+ 40 - 1
src/views/modules/Statistics/dataDisplayStatistics.vue

@@ -266,6 +266,12 @@ const columns = [
             obj.attrs.colSpan = 2
           }
         }
+      } else {
+        for (let i = 0; i < length; i++) {
+          if (index >= length - 1) {
+            obj.attrs.colSpan = 2
+          }
+        }
       }
       return obj
     }
@@ -287,6 +293,12 @@ const columns = [
             obj.attrs.colSpan = 0
           }
         }
+      } else {
+        for (let i = 0; i < length; i++) {
+          if (index >= length - 1) {
+            obj.attrs.colSpan = 0
+          }
+        }
       }
 
       return obj
@@ -583,7 +595,7 @@ export default {
                 : item.activationPrice
                 ? (item.activationPrice / this.discount).toFixed(2)
                 : 0,
-              date: this.statHour ? this.getDate() + '  ' + this.statHour : this.getDate(),
+              date: this.statHour ? res.statDate + '  ' + this.statHour : res.statDate,
               formCount: item.formCount > 0 ? item.formCount : item.activationCount
             }
           })
@@ -668,6 +680,33 @@ export default {
             this.data.push(allNow)
             this.data.push(allYesterday)
             this.data.push(chainRatio)
+          } else {
+            var allNow = {
+              key: index + 1,
+              ...res.ratioJson,
+              photoClickRatio: res.ratioJson.photoClickRatio
+                ? (res.ratioJson.photoClickRatio * 100).toFixed(2) + '%'
+                : 0 + '%',
+              cpm: res.ratioJson.cpm ? res.ratioJson.cpm.toFixed(2) : 0,
+              cost: res.ratioJson.cost.toFixed(2),
+              cvr: res.ratioJson.cvr ? (res.ratioJson.cvr * 100).toFixed(2) + '%' : 0 + '%',
+              costY: (res.ratioJson.cost / this.discount).toFixed(2),
+              accountId: '总计',
+              beforeFormPrice: res.ratioJson.formPrice
+                ? res.ratioJson.formPrice.toFixed(2)
+                : res.ratioJson.activationPrice
+                ? res.ratioJson.activationPrice.toFixed(2)
+                : 0,
+              afterFormPrice: res.ratioJson.formPrice
+                ? (res.ratioJson.formPrice / this.discount).toFixed(2)
+                : res.ratioJson.activationPrice
+                ? (res.ratioJson.activationPrice / this.discount).toFixed(2)
+                : 0,
+              formCount: res.ratioJson.conversions,
+              beforeFormPrice: res.ratioJson.conversionPrice.toFixed(2),
+              afterFormPrice: res.ratioJson.discountConversionPrice.toFixed(2)
+            }
+            this.data.push(allNow)
           }
 
           length = this.data.length

+ 297 - 0
src/views/modules/achievements/design.vue

@@ -0,0 +1,297 @@
+<style>
+.design .ant-list-item-content {
+  display: flex;
+  justify-content: space-around;
+}
+</style>
+<template>
+  <div class="design">
+    <a-row :gutter="24" style="margin-top:15px">
+      <a-col :sm="24" :md="12" :xl="8" :style="{ marginBottom: '24px' }">
+        <chart-card :loading="loading" title="有效数" :total="dataCount.waitAudit + ''">
+          <a-tooltip title="指标说明" slot="action">
+            <a-icon type="info-circle-o" />
+          </a-tooltip>
+          <div>
+            <trend flag="up" style="margin-right: 16px;">
+              <span slot="term">周同比</span>
+              12%
+            </trend>
+            <trend flag="down">
+              <span slot="term">日同比</span>
+              11%
+            </trend>
+          </div>
+          <template slot="footer"> </template>
+        </chart-card>
+      </a-col>
+      <a-col :sm="24" :md="12" :xl="8" :style="{ marginBottom: '24px' }">
+        <chart-card :loading="loading" title="素材总数" :total="dataCount.passAudit + ''">
+          <a-tooltip title="指标说明" slot="action">
+            <a-icon type="info-circle-o" />
+          </a-tooltip>
+          <div>
+            <trend flag="up" style="margin-right: 16px;">
+              <span slot="term">周同比</span>
+              12%
+            </trend>
+            <trend flag="down">
+              <span slot="term">日同比</span>
+              11%
+            </trend>
+          </div>
+          <template slot="footer"> </template>
+        </chart-card>
+      </a-col>
+      <a-col :sm="24" :md="12" :xl="8" :style="{ marginBottom: '24px' }">
+        <chart-card
+          :loading="loading"
+          title="有效率"
+          :total="
+            dataCount.refuseAudit + dataCount.passAudit > 0
+              ? ((dataCount.passAudit / (dataCount.refuseAudit + dataCount.passAudit)) * 100).toFixed(2) + '%'
+              : '0%'
+          "
+        >
+          <a-tooltip title="指标说明" slot="action">
+            <a-icon type="info-circle-o" />
+          </a-tooltip>
+          <div>
+            <trend flag="up" style="margin-right: 16px;">
+              <span slot="term">周同比</span>
+              12%
+            </trend>
+            <trend flag="down">
+              <span slot="term">日同比</span>
+              11%
+            </trend>
+          </div>
+          <template slot="footer"> </template>
+        </chart-card>
+      </a-col>
+    </a-row>
+
+    <a-row :gutter="10" style="margin-top:10px">
+      <a-col :span="24">
+        <a-card style="width:100%;">
+          <a-table
+            :columns="columns"
+            :dataSource="dataList"
+            bordered
+            :loading="loading"
+            size="middle"
+            :pagination="false"
+          >
+          </a-table>
+          <template class="ant-card-actions" slot="actions" v-if="dataList.length > 3">
+            <div @click="getAll('visibleVideo')">查看更多</div>
+          </template>
+        </a-card>
+      </a-col>
+    </a-row>
+    <a-row :gutter="24">
+      <a-col :span="8">
+        <a-card :loading="loading" :bordered="false" title="当前可获得绩效" :style="{ marginTop: '24px' }">
+          <div style="height:250px;text-align:center;line-height:230px;font-size:80px">
+            100
+          </div>
+        </a-card>
+      </a-col>
+      <a-col :span="16">
+        <a-card :loading="loading" :bordered="false" title="有效率排行" :style="{ marginTop: '24px' }">
+          <div style="height:200px">
+            <a-list itemLayout="horizontal" :dataSource="data">
+              <a-list-item slot="renderItem" slot-scope="item, index">
+                <a-list-item-meta style="width:50%">
+                  <div slot="description">
+                    有效率
+                  </div>
+                  <a slot="title" href="https://vue.ant.design/">{{ item.title }}</a>
+                  <a-avatar slot="avatar" src="https://zos.alipayobjects.com/rmsportal/ODTLcjxAfvqbxHnVXCYX.png" />
+                </a-list-item-meta>
+                <div></div>
+                <div style="text-align:center">
+                  <img
+                    v-if="index == 0"
+                    src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1576727589&di=a65392c20b9187cab794c2d5c0bb836b&imgtype=jpg&er=1&src=http%3A%2F%2F58pic.ooopic.com%2F58pic%2F12%2F83%2F98%2F42R58PICEnd.jpg"
+                    alt=""
+                    style="height:40px;"
+                  />
+                  <img
+                    v-if="index == 1"
+                    src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1576137652175&di=d648da94b779e32a96233faa7b6ae64b&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2017%2F05%2F31%2F14c7fdd5e99d7159b9fc21dbba2d5583.png"
+                    alt=""
+                    style="height:40px;"
+                  />
+                  <img
+                    v-if="index == 2"
+                    src="https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=748734891,2113250735&fm=26&gp=0.jpg"
+                    alt=""
+                    style="height:40px"
+                  />
+                </div>
+              </a-list-item>
+            </a-list>
+          </div>
+          <template class="ant-card-actions" slot="actions">
+            <div @click="getAll('visible')">查看更多</div>
+          </template>
+        </a-card>
+      </a-col>
+    </a-row>
+    <a-modal title="人员排名" :visible="visible" @ok="handleOk('visible')" @cancel="handleCancel('visible')">
+      <a-list itemLayout="horizontal" :dataSource="data">
+        <a-list-item slot="renderItem" slot-scope="item, index">
+          <a-list-item-meta style="width:50%">
+            <div slot="description">
+              有效率1%
+            </div>
+            <a slot="title" href="https://vue.ant.design/">{{ item.title }}</a>
+            <a-avatar slot="avatar" src="https://zos.alipayobjects.com/rmsportal/ODTLcjxAfvqbxHnVXCYX.png" />
+          </a-list-item-meta>
+          <div></div>
+        </a-list-item>
+      </a-list>
+    </a-modal>
+    <a-modal
+      title="有效视频"
+      :visible="visibleVideo"
+      @ok="handleOk('visibleVideo')"
+      @cancel="handleCancel('visibleVideo')"
+    >
+      <a-table :columns="columns" :dataSource="dataList" bordered :loading="loading" size="middle" :pagination="false">
+      </a-table>
+    </a-modal>
+  </div>
+</template>
+
+<script>
+import ChartCard from '@/components/ChartCard'
+import ACol from 'ant-design-vue/es/grid/Col'
+import ATooltip from 'ant-design-vue/es/tooltip/Tooltip'
+import MiniArea from '@/components/chart/MiniArea'
+import MiniBar from '@/components/chart/MiniBar'
+import MiniProgress from '@/components/chart/MiniProgress'
+import RankList from '@/components/chart/RankList'
+import Bar from '@/components/chart/Bar'
+import LineChartMultid from '@/components/chart/LineChartMultid'
+import HeadInfo from '@/components/tools/HeadInfo.vue'
+
+import Trend from '@/components/Trend'
+
+import { getAction } from '@/api/manage'
+import { mapGetters } from 'vuex'
+const barData = []
+for (let i = 0; i < 12; i += 1) {
+  barData.push({
+    x: `${i + 1}月`,
+    y: Math.floor(Math.random() * 1000) + 200
+  })
+}
+
+const columns = [
+  {
+    title: '素材',
+    dataIndex: 'videoUrl',
+    key: 'videoUrl',
+    align: 'center',
+    scopedSlots: { customRender: 'videoUrl' }
+  },
+  {
+    title: '素材跑量',
+    dataIndex: 'reviewDetail',
+    key: 'reviewDetail',
+    align: 'center'
+  },
+  {
+    title: '投放平台',
+    dataIndex: 'reviewDetail',
+    key: 'reviewDetail',
+    align: 'center'
+  },
+  {
+    title: '投放账户',
+    dataIndex: 'reviewDetail',
+    key: 'reviewDetail',
+    align: 'center'
+  },
+  {
+    title: '封面点击数',
+    dataIndex: 'reviewDetail',
+    key: 'reviewDetail',
+    align: 'center'
+  },
+  {
+    title: '广告语',
+    dataIndex: 'description',
+    key: 'description',
+    align: 'center',
+    scopedSlots: { customRender: 'description' }
+  }
+]
+
+export default {
+  name: 'design',
+  components: {
+    ATooltip,
+    ACol,
+    ChartCard,
+    MiniArea,
+    MiniBar,
+    MiniProgress,
+    RankList,
+    Bar,
+    Trend,
+    LineChartMultid,
+    HeadInfo
+  },
+
+  data: function() {
+    return {
+      title: '工作台',
+      loginfo: {},
+      barData,
+      visitInfo: [],
+      visitFields: ['ip', 'visit'],
+      loading: false,
+      rankList: [],
+      dataCount: {},
+      a: '',
+      columns,
+      dataList: [],
+      data: [
+        {
+          title: '人员1'
+        },
+        {
+          title: '人员2'
+        },
+        {
+          title: '人员3'
+        }
+      ],
+      visible: false,
+      visibleVideo: false
+    }
+  },
+  methods: {
+    ...mapGetters(['nickname', 'avatar', 'userInfo']),
+    getAll(item) {
+      this[item] = true
+    },
+    handleOk(item) {
+      this[item] = false
+    },
+    handleCancel(item) {
+      console.log('Clicked cancel button')
+      this[item] = false
+    }
+  },
+  created() {
+    getAction('/ctop/materialInfo/report', { userId: this.userInfo().id }).then(res => {
+      this.dataCount = res
+    })
+    //   /ctop/materialInfo/report
+  }
+}
+</script>

+ 2 - 2
src/views/modules/advertiser/modules/ProjectModal.vue

@@ -157,7 +157,7 @@ export default {
       this.model.maxBid = this.model.maxBid ? this.model.maxBid / 1000 : 0
       this.visible = true
       this.$nextTick(() => {
-        this.form.setFieldsValue(pick(this.model, 'projectName', 'advertiserId', 'responsibleName', 'maxBid'))
+        this.form.setFieldsValue(pick(this.model, 'projectName', 'advertiserId', 'responsibleName', 'maxBid', 'userId'))
         this.resId = record.responsibleId
         getAction('/sys/user/getAllUserList', '').then(res => {
           console.log(res)
@@ -194,7 +194,7 @@ export default {
           formData.advertiserId = data.key
           formData.advertiserName = data.label
           formData.responsibleId = that.resId
-          formData.userId = that.userInfo().id
+          formData.userId = formData.userId ? formData.userId : that.userInfo().id
           httpAction(httpurl, formData, method)
             .then(res => {
               if (res.success) {

+ 0 - 38
src/views/modules/kuaishouapp/creativeCreate.vue

@@ -642,47 +642,9 @@ export default {
       console.log(file)
       var bmf = new BMF()
       var that = this
-      return new Promise(function(resolve, reject) {
-        bmf.md5(file[0], (err, md5) => {
-          console.log(md5, 123123123)
-          that.md5 = md5
-          fileCheck({ code: md5 }).then(res => {
-            console.log(res)
-            if (res.code == 0) {
-              if (file[0].type == 'image/jpeg' || file[0].type == 'jpg' || file[0].type == 'image/png') {
-                if (that.tiepianImageLocalUpload) {
-                  that.tiepianImageLocalUploadList.push(res.url)
-                } else if (that.showImageUpload) {
-                  that.localImageUrl.push(res.url)
-                } else if (that.showLocalImageUpload) {
-                  that.imageUrl.push(res.url)
-                }
-              } else {
-                if (that.localUpload) {
-                  that.localUrl = res.url
-                } else if (that.tiepianVideoLocalUpload) {
-                  that.tiepianVideoLocalUploadList.push(res.url)
-                }
-              }
-              reject()
-            } else {
-              resolve()
-            }
-          })
-        })
-      })
     },
     overUpload(url) {
       console.log(url, this.md5)
-      if (url == Array) {
-        fileInsert({ code: this.md5, url: url[0] }).then(res => {
-          console.log(res)
-        })
-      } else {
-        fileInsert({ code: this.md5, url: url }).then(res => {
-          console.log(res)
-        })
-      }
     },
     handleOk(e) {
       console.log(e)

+ 3 - 22
src/views/modules/kuaishouapp/uploadVideo.vue

@@ -211,31 +211,12 @@ export default {
       console.log(file)
       var bmf = new BMF()
       var that = this
-      return new Promise(function(resolve, reject) {
-        bmf.md5(file[0], (err, md5) => {
-          console.log(md5, 123123123)
-          that.md5 = md5
-          fileCheck({ code: md5 }).then(res => {
-            console.log(res)
-            if (res.code == 0) {
-              if (file[0].type == 'image/jpeg' || file[0].type == 'jpg' || file[0].type == 'image/png') {
-                that.localImageUrl.push(res.url)
-              } else {
-                that.localUrl.push(res.url)
-              }
-              reject()
-            } else {
-              resolve()
-            }
-          })
-        })
-      })
     },
     overUpload(url) {
       // console.log(url,this.md5)
-      fileInsert({ code: this.md5, url: url[0] }).then(res => {
-        console.log(res)
-      })
+    //   fileInsert({ code: this.md5, url: url[0] }).then(res => {
+    //     console.log(res)
+    //   })
     }
   },
   created: function() {

+ 5 - 2
src/views/modules/material/accountCheck.vue

@@ -1,11 +1,14 @@
 <style>
+.checked {
+  width: 100%;
+}
 .checked .ant-checkbox-wrapper {
   width: 20%;
 }
 </style>
 <template>
   <div>
-    <a-modal title="列表项筛选" v-model="showEdit" @ok="handleOk" @cancel="close" width="60%">
+    <a-modal title="账户选择" v-model="showEdit" @ok="handleOk" @cancel="close" width="60%">
       <a-checkbox :indeterminate="indeterminate" @change="onCheckAllChange" :checked="checkAll">全选</a-checkbox>
       <br />
       <a-checkbox-group :options="showList" v-model="dataValue" class="checked" @change="onChange" />
@@ -35,7 +38,7 @@ export default {
     handleOk(e) {
       console.log(e)
       this.showEdit = false
-      this.$emit("synchro",this.dataValue)
+      this.$emit('synchro', this.dataValue)
     },
     close() {
       this.showEdit = false

+ 168 - 0
src/views/modules/material/checkMatemal.vue

@@ -0,0 +1,168 @@
+<style lang="scss" scoped>
+.actor-photo-list {
+  display: flex;
+  padding-left: 0;
+  li {
+    width: 25%;
+    margin: 10px;
+    position: relative;
+    height: 250px;
+    border: 1px solid #f2f2f2;
+    list-style: none;
+    img,
+    video {
+      width: 100%;
+      margin-top: auto;
+      margin-bottom: auto;
+      top: 0;
+      bottom: 0;
+      position: absolute;
+      max-height: 250px;
+    }
+  }
+}
+</style>
+<template>
+  <div>
+    <a-modal title="选择素材" v-model="visibleMatemal" @ok="handleOk" @cancel="close" :width="800">
+      <div>
+        <ul class="actor-photo-list">
+          <a-checkbox-group
+            v-model="checkArr"
+            style="width:100%;  display: flex;padding-left: 0;"
+            @change="onChangeCheck"
+          >
+            <li v-for="(item, index) of dataSource" :key="index">
+              <a-checkbox :value="item.url" style="position:absolute"></a-checkbox
+              ><video class="video" :src="item.url" controls="controls" style="min-height:160px">
+                您的浏览器不支持 video 标签。
+              </video>
+            </li>
+          </a-checkbox-group>
+        </ul>
+      </div>
+      <div style="text-align:right">
+        <a-pagination
+          size="small"
+          :showTotal="ipagination.showTotal"
+          style="float:right"
+          v-if="dataSource.length > 0"
+          showQuickJumper
+          :pageSize.sync="ipagination.pageSize"
+          :total="ipagination.total"
+          v-model="ipagination.current"
+          @change="getDataSource"
+        />
+      </div>
+    </a-modal>
+  </div>
+</template>
+
+<script>
+import { getAction, postAction, postFile } from '@/api/manage'
+import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+import { mapGetters } from 'vuex'
+import { stopOtherVideo, closeAllVideoFun } from '@/utils/videoControl' // 停止除当前外的其他视频播放,及停止所有视频播放的方法
+export default {
+  name: 'check-matemal',
+  mixins: [JeecgListMixin],
+  components: {},
+
+  data() {
+    return {
+      url: {
+        list: '/ctop/materialInfo/list'
+      },
+      visibleMatemal: false,
+      dataSource: [],
+      columns: [],
+      checkArr: [],
+      active: '',
+      joinVideo: {
+        head: '',
+        content: [],
+        foot: '',
+        key: 1
+      }
+    }
+  },
+  watch: {},
+  updated() {
+    stopOtherVideo()
+  },
+  methods: {
+    showCheck(typeName, keyNumber, item) {
+      this.dataSource = []
+      console.log(keyNumber)
+      this.visibleMatemal = true
+      this.queryParam.userId = this.userInfo().id
+      this.queryParam.type = typeName
+      this.active = typeName
+
+      if (typeName == 'VIDEO_PART') {
+        this.checkArr = item.VIDEO_PART
+        this.joinVideo = {
+          head: '',
+          content: item.VIDEO_PART,
+          foot: '',
+          key: keyNumber
+        }
+      } else {
+        this.checkArr = []
+        this.joinVideo = {
+          head: '',
+          content: [],
+          foot: '',
+          key: keyNumber
+        }
+      }
+
+      this.loadData()
+    },
+    ...mapGetters(['nickname', 'avatar', 'userInfo']),
+    handleOk() {
+      this.visibleMatemal = false
+      this.checkArr = []
+      this.$emit('showVideo', this.joinVideo, this.active)
+    },
+    close() {},
+    getDataSource(page, pageSize) {
+      this.ipagination.current = page
+      this.loadData()
+    },
+    onChangeCheck(checkedList) {
+      console.log(checkedList)
+      //  { value: 'VIDEO_HEAD', tab: '片头' },
+      // { value: 'VIDEO_PART', tab: '片段' },
+      // { value: 'VIDEO_TAIL', tab: '片尾' }
+      if (this.active == 'VIDEO_HEAD') {
+        //片头
+        if (this.checkArr.length > 1) {
+          this.checkArr.shift()
+          this.joinVideo.head = checkedList[0]
+        } else if (this.checkArr.length == 1) {
+          this.joinVideo.head = checkedList[0]
+        } else if (this.checkArr.length == 0) {
+          this.joinVideo.head = ''
+        }
+      } else if (this.active == 'VIDEO_TAIL') {
+        //片尾
+        if (this.checkArr.length > 1) {
+          this.checkArr.shift()
+          this.joinVideo.foot = checkedList[0]
+        } else if (this.checkArr.length == 1) {
+          this.joinVideo.foot = checkedList[0]
+        } else if (this.checkArr.length == 0) {
+          this.joinVideo.foot = ''
+        }
+      } else {
+        //内容
+        this.joinVideo.content = checkedList
+      }
+    }
+  }
+}
+</script>
+<style scoped>
+@import '~@assets/less/common.less';
+</style>

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1177 - 0
src/views/modules/material/fragmentMatemal.vue


+ 5 - 13
src/views/modules/material/materialList.vue

@@ -342,7 +342,7 @@ a {
         </div>
       </a-tab-pane>
     </a-tabs>
-    <a-modal title="添加素材" v-model="visible" @ok="handleOk" @cancel="close">
+    <a-modal title="添加素材" v-model="visible" @ok="handleOk" @cancel="close" :maskClosable="false">
       <a-form :form="form">
         <a-form-item :label-col="labelCol" :wrapper-col="wrapperCol" label="项目选择">
           <a-select
@@ -456,12 +456,12 @@ a {
         </div>
         <div style="flex:3;padding:10px;box-sizing:border-box;">
           <a-form v-if="detail" class="detail">
-            <a-form-item label="尺寸" :label-col="{ span: 6 }" :wrapper-col="{ span: 18 }">
+            <!-- <a-form-item label="尺寸" :label-col="{ span: 6 }" :wrapper-col="{ span: 18 }">
               {{ detail.parameter.width }}*{{ detail.parameter.height }}
             </a-form-item>
             <a-form-item label="大小" :label-col="{ span: 6 }" :wrapper-col="{ span: 18 }">
               {{ detail.parameter.size }}
-            </a-form-item>
+            </a-form-item> -->
             <a-form-item
               label="剪辑"
               :label-col="{ span: 6 }"
@@ -688,7 +688,7 @@ export default {
     }
   },
   created() {
-    this.queryParam.type = 'image'
+    this.queryParam.type = 'IMAGE'
     this.queryParam.userId = this.userInfo().id
     this.queryParam.status = localStorage.getItem('key') ? localStorage.getItem('key') : '0'
     this.active = localStorage.getItem('key') ? localStorage.getItem('key') : '0'
@@ -968,6 +968,7 @@ export default {
           params.userId = this.userInfo().id
           params.projectId = values.projectId
           params.materialDescribe = values.materialDescribe
+          params.type = 'IMAGE'
           params.ascription =
             this.activeKey == 'image'
               ? roleCode
@@ -1014,15 +1015,6 @@ export default {
       //   this.tags = []
     },
     onChange(date, dateString) {},
-    callback(key) {
-      this.checkAll = false
-      this.checkArr = []
-      if (this.form.getFieldValue('projectId')) {
-        this.form.setFieldsValue({ projectId: '' })
-      }
-      this.queryParam.type = key
-      this.loadData()
-    },
     callbackTwo(key) {
       this.checkAll = false
       this.checkArr = []

+ 24 - 19
src/views/modules/material/videoMaterial.vue

@@ -189,10 +189,23 @@ a {
 
     <div class="table-operator" style="position:relative;z-index:100">
       <a-button @click="visible = true" type="primary" icon="plus">新增</a-button>
-      <a-button @click="onCheckAllChange" v-if="queryParam.projectId && active == '1'">{{
-        checkAll ? '取消  (  ' + checkArr.length + '  )' : '全选'
-      }}</a-button>
-      <a-button v-if="queryParam.projectId && active == '1'" :disabled="checkArr.length == 0" @click="tongbu"
+      <a-button
+        @click="onCheckAllChange"
+        v-if="
+          queryParam.projectId &&
+            active == '1' &&
+            (role.roleCode == 'operator' || role.roleCode == 'kuaishouOperationManager' || role.roleCode == 'admin')
+        "
+        >{{ checkAll ? '取消  (  ' + checkArr.length + '  )' : '全选' }}</a-button
+      >
+      <a-button
+        v-if="
+          queryParam.projectId &&
+            active == '1' &&
+            (role.roleCode == 'operator' || role.roleCode == 'kuaishouOperationManager' || role.roleCode == 'admin')
+        "
+        :disabled="checkArr.length == 0"
+        @click="tongbu"
         >一键同步</a-button
       >
     </div>
@@ -350,7 +363,7 @@ a {
         </div>
       </a-tab-pane>
     </a-tabs>
-    <a-modal title="添加素材" v-model="visible" @ok="handleOk" @cancel="close">
+    <a-modal title="添加素材" v-model="visible" @ok="handleOk" @cancel="close" :maskClosable="false">
       <a-form :form="form">
         <a-form-item :label-col="labelCol" :wrapper-col="wrapperCol" label="项目选择">
           <a-select
@@ -407,7 +420,7 @@ a {
                 { rules: [{ required: true, message: '请选择策划!' }] }
               ]"
             >
-              <a-select-option :value="item.userId" v-for="item of ascription.clipId" :key="item.userId">
+              <a-select-option :value="item.userId" v-for="item of ascription.planId" :key="item.userId">
                 {{ item.userName }}
               </a-select-option>
             </a-select>
@@ -500,7 +513,7 @@ a {
         </div>
         <div style="flex:3;padding:10px;box-sizing:border-box;">
           <a-form v-if="detail" class="detail">
-            <a-form-item
+            <!-- <a-form-item
               label="视频时长"
               :label-col="{ span: 6 }"
               :wrapper-col="{ span: 18 }"
@@ -513,7 +526,7 @@ a {
             </a-form-item>
             <a-form-item label="大小" :label-col="{ span: 6 }" :wrapper-col="{ span: 18 }">
               {{ detail.parameter.size }}
-            </a-form-item>
+            </a-form-item> -->
             <a-form-item label="策划" :label-col="{ span: 6 }" :wrapper-col="{ span: 18 }">
               {{ detail.ascription.planName }}
             </a-form-item>
@@ -738,7 +751,7 @@ export default {
     }
   },
   created() {
-    this.queryParam.type = 'video'
+    this.queryParam.type = 'VIDEO'
     this.queryParam.userId = this.userInfo().id
     this.queryParam.status = localStorage.getItem('key') ? localStorage.getItem('key') : '0'
     this.active = localStorage.getItem('key') ? localStorage.getItem('key') : '0'
@@ -752,7 +765,7 @@ export default {
   },
   watch: {
     $route: function(n, o) {
-      if (n.path == '/modules/material/materialList') {
+      if (n.path == '/modules/material/videoMaterial') {
         this.queryParam.userId = this.userInfo().id
         this.queryParam.status = localStorage.getItem('key') ? localStorage.getItem('key') : '0'
         this.active = localStorage.getItem('key') ? localStorage.getItem('key') : '0'
@@ -999,6 +1012,7 @@ export default {
           params.userId = this.userInfo().id
           params.projectId = values.projectId
           params.materialDescribe = values.materialDescribe
+          params.type = 'VIDEO'
           params.ascription =
             this.activeKey == 'image'
               ? roleCode
@@ -1045,15 +1059,6 @@ export default {
       //   this.tags = []
     },
     onChange(date, dateString) {},
-    callback(key) {
-      this.checkAll = false
-      this.checkArr = []
-      if (this.form.getFieldValue('projectId')) {
-        this.form.setFieldsValue({ projectId: '' })
-      }
-      this.queryParam.type = key
-      this.loadData()
-    },
     callbackTwo(key) {
       this.checkAll = false
       this.checkArr = []

+ 2 - 2
vue.config.js

@@ -65,8 +65,8 @@ module.exports = {
        },*/
       '/jeecg-boot': {
         // target: 'http://39.97.120.42:8080', //请求本地 需要jeecg-boot后台项目  生产环境
-        // target: 'http://39.106.184.70:8080', //请求本地 需要jeecg-boot后台项目
-        target: 'http://192.168.2.130:8080', //请求本地 需要jeecg-boot后台项目  蒙蒙
+        target: 'http://39.106.184.70:8080', //请求本地 需要jeecg-boot后台项目
+        // target: 'http://192.168.2.130:8080', //请求本地 需要jeecg-boot后台项目  蒙蒙
         // target: 'http://192.168.2.133:8080', //请求本地 需要jeecg-boot后台项目  英豪
         // target: 'http://192.168.2.132:8080', //请求本地 需要jeecg-boot后台项目
         // target: 'http://192.168.2.185:8080', //请求本地 需要jeecg-boot后台项目  祚云