浏览代码

添加头条有效视频页面

syh 5 年之前
父节点
当前提交
bbf0296c2d

+ 170 - 0
src/views/modules/material/BytedanceEffectVideoInfoList.vue

@@ -0,0 +1,170 @@
+<template>
+  <a-card :bordered="false">
+
+    <!-- 查询区域 -->
+    <div class="table-page-search-wrapper">
+      <a-form layout="inline">
+        <a-row :gutter="24">
+        <a-col :md="6" :sm="8">
+            <a-form-item label="初次产生消耗时间">
+              <a-input placeholder="请输入初次产生消耗时间" v-model="queryParam.initialCostDate"></a-input>
+            </a-form-item>
+          </a-col>
+          <a-col :md="6" :sm="8">
+            <a-form-item label="最后一次消耗时间">
+              <a-input placeholder="请输入最后一次消耗时间" v-model="queryParam.finalCostDate"></a-input>
+            </a-form-item>
+          </a-col>
+          <a-col :md="6" :sm="8">
+            <a-form-item label="所属平面">
+              <a-input placeholder="请输入所属平面" v-model="queryParam.plane"></a-input>
+            </a-form-item>
+          </a-col>
+          <a-col :md="6" :sm="8" >
+            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
+              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
+              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
+            </span>
+          </a-col>
+
+        </a-row>
+      </a-form>
+    </div>
+
+    <!-- 操作按钮区域 -->
+    <div class="table-operator">
+    </div>
+
+    <!-- table区域-begin -->
+    <div>
+      <a-table
+        ref="table"
+        size="middle"
+        bordered
+        rowKey="id"
+        :columns="columns"
+        :dataSource="dataSource"
+        :pagination="ipagination"
+        :loading="loading"
+        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
+        @change="handleTableChange">
+
+        <span slot="action" slot-scope="text, record">
+          <a @click="handleEdit(record)">编辑</a>
+
+          <a-divider type="vertical" />
+          <a-dropdown>
+            <a class="ant-dropdown-link">更多 <a-icon type="down" /></a>
+            <a-menu slot="overlay">
+              <a-menu-item>
+                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
+                  <a>删除</a>
+                </a-popconfirm>
+              </a-menu-item>
+            </a-menu>
+          </a-dropdown>
+        </span>
+
+      </a-table>
+    </div>
+    <!-- table区域-end -->
+
+    <!-- 表单区域 -->
+    <bytedanceEffectVideoInfo-modal ref="modalForm" @ok="modalFormOk"></bytedanceEffectVideoInfo-modal>
+  </a-card>
+</template>
+
+<script>
+  import BytedanceEffectVideoInfoModal from './modules/BytedanceEffectVideoInfoModal'
+  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+
+  export default {
+    name: "BytedanceEffectVideoInfoList",
+    mixins:[JeecgListMixin],
+    components: {
+      BytedanceEffectVideoInfoModal
+    },
+    data () {
+      return {
+        description: '有效视频信息管理页面',
+        // 表头
+        columns: [
+		   {
+            title: '视频唯一标识',
+            align:"center",
+            dataIndex: 'code'
+           },
+		   {
+            title: '视频链接',
+            align:"center",
+            dataIndex: 'url'
+           },
+		   {
+            title: '初次产生消耗时间',
+            align:"center",
+            dataIndex: 'initialCostDate'
+           },
+		   {
+            title: '最后一次消耗时间',
+            align:"center",
+            dataIndex: 'finalCostDate'
+           },
+		   {
+            title: '编导',
+            align:"center",
+            dataIndex: 'plan_dictText'
+           },
+		   {
+            title: '拍摄',
+            align:"center",
+            dataIndex: 'shot_dictText'
+           },
+		   {
+            title: '剪辑',
+            align:"center",
+            dataIndex: 'clip_dictText'
+           },
+		   {
+            title: '负责人',
+            align:"center",
+            dataIndex: 'manager_dictText'
+           },
+		   {
+            title: '两周消耗',
+            align:"center",
+            dataIndex: 'twoWeekCost'
+           },
+		   {
+            title: '总消耗',
+            align:"center",
+            dataIndex: 'totalCost'
+           },
+          {
+            title: '操作',
+            dataIndex: 'action',
+            align:"center",
+            scopedSlots: { customRender: 'action' },
+          }
+        ],
+		url: {
+          list: "/ctop/bytedanceEffectVideoInfo/list",
+          delete: "/ctop/bytedanceEffectVideoInfo/delete",
+          deleteBatch: "/ctop/bytedanceEffectVideoInfo/deleteBatch",
+          exportXlsUrl: "ctop/bytedanceEffectVideoInfo/exportXls",
+          importExcelUrl: "ctop/bytedanceEffectVideoInfo/importExcel",
+       },
+    }
+  },
+  computed: {
+    importExcelUrl: function(){
+      return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
+    }
+  },
+    methods: {
+
+    }
+  }
+</script>
+<style scoped>
+  @import '~@assets/less/common.less'
+</style>

+ 184 - 0
src/views/modules/material/modules/BytedanceEffectVideoInfoModal.vue

@@ -0,0 +1,184 @@
+<template>
+  <a-modal
+    :title="title"
+    :width="800"
+    :visible="visible"
+    :confirmLoading="confirmLoading"
+    @ok="handleOk"
+    @cancel="handleCancel"
+    cancelText="关闭">
+
+    <a-spin :spinning="confirmLoading">
+      <a-form :form="form">
+
+        <a-form-item
+          :labelCol="labelCol"
+          :wrapperCol="wrapperCol"
+          label="视频MD5码">
+          <a-input placeholder="请输入视频MD5码" v-decorator="['code', {}]" />
+        </a-form-item>
+        <a-form-item
+          :labelCol="labelCol"
+          :wrapperCol="wrapperCol"
+          label="视频链接">
+          <a-input placeholder="请输入视频链接" v-decorator="['url', {}]" />
+        </a-form-item>
+        <a-form-item
+          :labelCol="labelCol"
+          :wrapperCol="wrapperCol"
+          label="初次产生消耗时间">
+          <a-input placeholder="请输入初次产生消耗时间" v-decorator="['initialCostDate', {}]" />
+        </a-form-item>
+        <a-form-item
+          :labelCol="labelCol"
+          :wrapperCol="wrapperCol"
+          label="最后一次消耗时间">
+          <a-input placeholder="请输入最后一次消耗时间" v-decorator="['finalCostDate', {}]" />
+        </a-form-item>
+        <a-form-item
+          :labelCol="labelCol"
+          :wrapperCol="wrapperCol"
+          label="所属平面">
+          <a-input placeholder="请输入所属平面" v-decorator="['plane', {}]" />
+        </a-form-item>
+        <a-form-item
+          :labelCol="labelCol"
+          :wrapperCol="wrapperCol"
+          label="编导">
+          <a-input placeholder="请输入编导" v-decorator="['plan', {}]" />
+        </a-form-item>
+        <a-form-item
+          :labelCol="labelCol"
+          :wrapperCol="wrapperCol"
+          label="拍摄">
+          <a-input placeholder="请输入拍摄" v-decorator="['shot', {}]" />
+        </a-form-item>
+        <a-form-item
+          :labelCol="labelCol"
+          :wrapperCol="wrapperCol"
+          label="所属剪辑">
+          <a-input placeholder="请输入所属剪辑" v-decorator="['clip', {}]" />
+        </a-form-item>
+        <a-form-item
+          :labelCol="labelCol"
+          :wrapperCol="wrapperCol"
+          label="负责人">
+          <a-input placeholder="请输入负责人" v-decorator="['manager', {}]" />
+        </a-form-item>
+        <a-form-item
+          :labelCol="labelCol"
+          :wrapperCol="wrapperCol"
+          label="两周消耗">
+          <a-input-number v-decorator="[ 'twoWeekCost', {}]" />
+        </a-form-item>
+        <a-form-item
+          :labelCol="labelCol"
+          :wrapperCol="wrapperCol"
+          label="视频总消耗">
+          <a-input-number v-decorator="[ 'totalCost', {}]" />
+        </a-form-item>
+
+      </a-form>
+    </a-spin>
+  </a-modal>
+</template>
+
+<script>
+  import { httpAction } from '@/api/manage'
+  import pick from 'lodash.pick'
+  import moment from "moment"
+
+  export default {
+    name: "BytedanceEffectVideoInfoModal",
+    data () {
+      return {
+        title:"操作",
+        visible: false,
+        model: {},
+        labelCol: {
+          xs: { span: 24 },
+          sm: { span: 5 },
+        },
+        wrapperCol: {
+          xs: { span: 24 },
+          sm: { span: 16 },
+        },
+
+        confirmLoading: false,
+        form: this.$form.createForm(this),
+        validatorRules:{
+        },
+        url: {
+          add: "/ctop/bytedanceEffectVideoInfo/add",
+          edit: "/ctop/bytedanceEffectVideoInfo/edit",
+        },
+      }
+    },
+    created () {
+    },
+    methods: {
+      add () {
+        this.edit({});
+      },
+      edit (record) {
+        this.form.resetFields();
+        this.model = Object.assign({}, record);
+        this.visible = true;
+        this.$nextTick(() => {
+          this.form.setFieldsValue(pick(this.model,'code','url','initialCostDate','finalCostDate','plane','plan','shot','clip','manager','twoWeekCost','totalCost'))
+		  //时间格式化
+        });
+
+      },
+      close () {
+        this.$emit('close');
+        this.visible = false;
+      },
+      handleOk () {
+        const that = this;
+        // 触发表单验证
+        this.form.validateFields((err, values) => {
+          if (!err) {
+            that.confirmLoading = true;
+            let httpurl = '';
+            let method = '';
+            if(!this.model.id){
+              httpurl+=this.url.add;
+              method = 'post';
+            }else{
+              httpurl+=this.url.edit;
+               method = 'put';
+            }
+            let formData = Object.assign(this.model, values);
+            //时间格式化
+
+            console.log(formData)
+            httpAction(httpurl,formData,method).then((res)=>{
+              if(res.success){
+                that.$message.success(res.message);
+                that.$emit('ok');
+              }else{
+                that.$message.warning(res.message);
+              }
+            }).finally(() => {
+              that.confirmLoading = false;
+              that.close();
+            })
+
+
+
+          }
+        })
+      },
+      handleCancel () {
+        this.close()
+      },
+
+
+    }
+  }
+</script>
+
+<style lang="less" scoped>
+
+</style>