Parcourir la source

互联网电视(版权事件备案,频道上线审批)补充查询栏“重置”功能

sphinx il y a 2 ans
Parent
commit
8896afb183

+ 35 - 35
src/pages/main/iptv/index.vue

@@ -4,7 +4,7 @@
             <toolList @iconCli='iconCli' :tooltit='tooltit'></toolList>
             <div class="search">
                 <mySearch :searchList="searchList" @searchInfo="searchInfo"></mySearch>
-                <el-button class="btn-check" size="medium" type="primary" @click="dialogCheck(1)" 
+                <el-button class="btn-check" size="medium" type="primary" @click="dialogCheck(1)"
                 v-if="isAuthor">新建</el-button>
             </div>
             <div class="tabbox">
@@ -12,8 +12,8 @@
                           tooltip-effect="dark" size="small" border style="width: 100%" v-loading="loading">
                     <el-table-column prop="recordName" label="备案名称" width="250">
                     </el-table-column>
-                    <el-table-column prop="eventType" 
-                     :formatter="formatter" 
+                    <el-table-column prop="eventType"
+                     :formatter="formatter"
                      label="事件类型" width="100">
                     </el-table-column>
                     <el-table-column prop="fileFrom" label="来文公司" >
@@ -56,93 +56,93 @@
                                 <el-input v-if="!disableStatus"  v-model.trim="infolist.recordName" placeholder="请输入备案名称"
                                           :disabled="disableStatus"  maxlength="60" show-word-limit>
                                 </el-input>
-                                <div v-if="disableStatus" class="el-descriptions">{{infolist.recordName}}</div> 
+                                <div v-if="disableStatus" class="el-descriptions">{{infolist.recordName}}</div>
                             </el-form-item>
                         </div>
 
-                        <div class="info-line">    
+                        <div class="info-line">
                             <el-form-item prop="eventType">
                                 <span><i>*</i>事件类型</span>
-                                <el-select 
-                                    v-if="!disableStatus" 
-                                    v-model="infolist.eventType" :disabled="disableStatus" 
+                                <el-select
+                                    v-if="!disableStatus"
+                                    v-model="infolist.eventType" :disabled="disableStatus"
                                     placeholder="请选择事件类型">
                                     <el-option v-for="item in eventTypeList" :key="item.orderNumber" :label="item.dataName"
                                                :value="item.dataCode">
                                     </el-option>
                                 </el-select>
-                                <div v-if="disableStatus" class="el-descriptions">{{viewFormatter(infolist.eventType)}}</div>    
+                                <div v-if="disableStatus" class="el-descriptions">{{viewFormatter(infolist.eventType)}}</div>
                             </el-form-item>
                         </div>
 
                         <div class="info-line">
                             <el-form-item prop="fileFrom">
                                 <span>来文公司</span>
-                                <el-input  v-model="infolist.fileFrom" 
+                                <el-input  v-model="infolist.fileFrom"
                                 v-if="!disableStatus" placeholder="请输入来文公司"  maxlength="60" show-word-limit ></el-input>
-                                <div v-if="disableStatus" class="el-descriptions">{{infolist.fileFrom}}</div>                               
+                                <div v-if="disableStatus" class="el-descriptions">{{infolist.fileFrom}}</div>
                             </el-form-item>
                         </div>
 
                         <div class="info-line">
                             <el-form-item prop="fileTime">
                                 <span>来函时间以及形式</span>
-                                <el-input v-if="!disableStatus" v-model="infolist.fileTime" 
+                                <el-input v-if="!disableStatus" v-model="infolist.fileTime"
                                 :disabled="disableStatus" placeholder="请输入来函时间以及形式"  maxlength="120" show-word-limit></el-input>
-                                <div v-if="disableStatus" class="el-descriptions">{{infolist.fileTime}}</div>   
+                                <div v-if="disableStatus" class="el-descriptions">{{infolist.fileTime}}</div>
                             </el-form-item>
                         </div>
 
                         <div class="info-line">
                             <el-form-item prop="fileAppeal">
                                 <span>来函诉求</span>
-                                <el-input v-if="!disableStatus" v-model="infolist.fileAppeal" 
+                                <el-input v-if="!disableStatus" v-model="infolist.fileAppeal"
                                 :disabled="disableStatus" placeholder="请输入来函诉求"  maxlength="500" show-word-limit></el-input>
-                                <div v-if="disableStatus" class="el-descriptions">{{infolist.fileAppeal}}</div>  
+                                <div v-if="disableStatus" class="el-descriptions">{{infolist.fileAppeal}}</div>
                             </el-form-item>
                         </div>
 
                         <div class="info-line">
                             <el-form-item prop="contentProvider">
                                 <span>涉及内容提供方</span>
-                                <el-input v-if="!disableStatus" v-model="infolist.contentProvider" 
+                                <el-input v-if="!disableStatus" v-model="infolist.contentProvider"
                                 :disabled="disableStatus" placeholder="请输入涉及内容提供方"  maxlength="120" show-word-limit></el-input>
-                                <div v-if="disableStatus" class="el-descriptions">{{infolist.contentProvider}}</div> 
+                                <div v-if="disableStatus" class="el-descriptions">{{infolist.contentProvider}}</div>
                             </el-form-item>
                         </div>
 
                         <div class="info-line">
                             <el-form-item prop="docNumber">
                                 <span>转派文件编号</span>
-                                <el-input v-if="!disableStatus" v-model="infolist.docNumber" 
+                                <el-input v-if="!disableStatus" v-model="infolist.docNumber"
                                 :disabled="disableStatus" placeholder="请输入转派文件编号"  maxlength="60" show-word-limit></el-input>
-                                <div v-if="disableStatus" class="el-descriptions">{{infolist.docNumber}}</div> 
+                                <div v-if="disableStatus" class="el-descriptions">{{infolist.docNumber}}</div>
                             </el-form-item>
                         </div>
 
                         <div class="info-line">
                             <el-form-item prop="providerReplytime" >
                                 <span>内容方处理情况<br/>以及回复的时间</span>
-                                <el-input  v-if="!disableStatus" v-model="infolist.providerReplytime" 
+                                <el-input  v-if="!disableStatus" v-model="infolist.providerReplytime"
                                 :disabled="disableStatus" placeholder="请输入内容方处理情况以及回复时间"  maxlength="500" show-word-limit></el-input>
-                                <div v-if="disableStatus" class="el-descriptions">{{infolist.providerReplytime}}</div> 
+                                <div v-if="disableStatus" class="el-descriptions">{{infolist.providerReplytime}}</div>
                             </el-form-item>
                         </div>
                         <div class="info-line">
-                            <span>附件</span>                            
+                            <span>附件</span>
                             <div class="el-descriptions" v-if="!disableStatus">
                                 <myUpload @uploadBack="uploadBack" :fileInfo="fileInfo"
                                         :fileList="fileInfo.fileList"></myUpload>
-                            </div>                    
+                            </div>
                             <div style="width: calc(100% - 140px)" v-if="disableStatus && datalist.attList.length>0">
                                 <uploadDown :datalist="datalist" :dialogStatus="uploadstatus"></uploadDown>
                             </div>
-                            <div style="width: calc(100% - 140px)" v-if="disableStatus  && datalist.attList.length===0 " 
+                            <div style="width: calc(100% - 140px)" v-if="disableStatus  && datalist.attList.length===0 "
                                     class="el-descriptions">---- 无附件 ----</div>
                         </div>
                     </el-form>
                     <div slot="footer" class="dialog-footer myfooter">
-                        <el-button type="primary" @click="dialogCli(formStatus)" v-if="!disableStatus">保 存</el-button>                        
+                        <el-button type="primary" @click="dialogCli(formStatus)" v-if="!disableStatus">保 存</el-button>
                         <el-button v-if="!disableStatus" @click="dialogCli(2)">取 消</el-button>
                         <el-button v-if="disableStatus" @click="dialogCli(2)">关 闭</el-button>
                     </div>
@@ -157,7 +157,7 @@
 <script>
 import myUpload from '../../../components/upload'
 import uploadDown from '../../../components/uploadDown'
-import mySearch from '../../../components/search'
+import mySearch from './search'
 import toolList from '../../../components/toolList'
 import myMessage from "../../../components/myMessage.vue"
 
@@ -186,11 +186,11 @@ export default {
         }
         const urls = {
             uploadUrl:'/market/iptv/upload',
-            downfileUrl:'/market/iptv/downfile'            
+            downfileUrl:'/market/iptv/downfile'
         }
 
         return {
-            tooltit: '备案列表',            
+            tooltit: '备案列表',
             queryListUrl:'/market/iptv/queryPage',
             queryInfoUrl:'/market/iptv/query',
             addUrl:'/market/iptv/add',
@@ -299,7 +299,7 @@ export default {
                 this.eventTypeList = res.data;
                 this.searchList[1].options = res.data;
                  res.data.forEach(item => {
-                        this.eventTypeMap.set(item.dataCode,item.dataName);                      
+                        this.eventTypeMap.set(item.dataCode,item.dataName);
                     })
             });
         },
@@ -351,7 +351,7 @@ export default {
             this.pageSize = n;
             this.getList(this.params, this.pageSize);
         },
-        
+
         /************
         * @description: 展示不同状态(增、查、改)的主表单
         * @param  v 状态标识(1:增;2:查,3:改)
@@ -367,7 +367,7 @@ export default {
                 this.dialogStatus = true;
                 this.disableStatus = false;
                 this.fileInfo.fileList = [];
-                this.attList = [];          
+                this.attList = [];
                 return
             } else if (v === 2) {
                 this.titname = '查看';
@@ -397,7 +397,7 @@ export default {
                 this.infolist = res.data;
                 this.fileInfo.fileList = [];
                 this.attList = [];
-   
+
 
                 if (res.data.attList) {
                     res.data.attList.forEach(item => {
@@ -461,7 +461,7 @@ export default {
                             fileName: this.attList[i].fileName,
                             opName: this.attList[i].opName,
                             opNo: this.attList[i].opNo,
-                            opTime: this.attList[i].opTime            
+                            opTime: this.attList[i].opTime
                         });
                     }
                     this.infolist.attList = attList;
@@ -630,7 +630,7 @@ export default {
         display: inline-block;
         text-align: left;
         line-height:15px;
-        
+
         i {
             color: red;
             display: inline-block;
@@ -643,7 +643,7 @@ export default {
         width: calc(100% - 140px);
     }
 
-    .tree 
+    .tree
     {
         width: calc(100% - 100px);
     }

+ 1 - 1
src/pages/main/iptv/planApproval.vue

@@ -193,7 +193,7 @@
 <script>
 import myUpload from '../../../components/upload'
 import uploadDown from '../../../components/uploadDown'
-import mySearch from '../../../components/search'
+import mySearch from './search'
 import toolList from '../../../components/toolList'
 import myMessage from "../../../components/myMessage.vue"
 import userDlg from "./userDlg.vue"

+ 91 - 0
src/pages/main/iptv/search.vue

@@ -0,0 +1,91 @@
+<template>
+    <div class="search-box">
+        <div class="box-l">
+            <div v-for="(item, index) in searchList" :key="index" class="box-info" :style="'width:' + item.width">
+                <el-input v-model="item.value" v-if="item.type === 'input'" size="medium" :placeholder="item.tit">
+                </el-input>
+                <el-select :popper-append-to-body="false" clearable v-if="item.type === 'sel'" v-model="item.value"
+                           :placeholder="item.tit" size="medium">
+                    <el-option v-for="items in item.options" :key="items.dataCode" :label="items.dataName"
+                               :value="items.dataCode">
+                    </el-option>
+                </el-select>
+                <el-date-picker :append-to-body="false" v-model="item.value" v-if="item.type === 'date'" size="medium"
+                                type="date" :placeholder="item.tit">
+                </el-date-picker>
+                <el-date-picker :append-to-body="false" v-model="item.value" v-if="item.type === 'datetime'"
+                                size="medium" type="datetime" :placeholder="item.tit">
+                </el-date-picker>
+                <el-date-picker :append-to-body="false" v-model="item.value" v-if="item.type === 'month'"
+                                size="medium" type="month" :placeholder="item.tit">
+                </el-date-picker>
+                <el-date-picker :append-to-body="false" v-model="item.value" v-if="item.type === 'year'"
+                                size="medium" type="year" :placeholder="item.tit">
+                </el-date-picker>
+            </div>
+        </div>
+        <el-button class="btn-check" size="medium" type="primary" plain icon="el-icon-search" @click="searchInfo">搜索
+        </el-button>
+        <el-button class="btn-check" size="medium" type="primary" plain icon="el-icon-refresh" @click="reset">重置
+        </el-button>
+    </div>
+</template>
+<script>
+    export default {
+        props: ["searchList"],
+        data() {
+            return {
+                infoList: [],
+            };
+        },
+        methods: {
+            reset(){
+                this.infoList = [];
+                for (let i = 0; i < this.searchList.length; i++) {
+                    this.searchList[i].value = "";
+                }
+                this.searchInfo();
+            },
+            searchInfo() {
+                this.infoList = [];
+                for (let i = 0; i < this.searchList.length; i++) {
+                    if (this.searchList[i].type === "date" && this.searchList[i].value) {
+                        this.infoList.push(Date.parse(this.searchList[i].value));
+                    } else {
+                        this.infoList.push(this.searchList[i].value);
+                    }
+                }
+                this.$emit("searchInfo", this.infoList);
+            },
+        },
+        mounted() {},
+        created() {},
+    };
+</script>
+<style scoped lang="scss">
+    .search-box {
+        display: flex;
+        justify-content: space-between;
+
+        .box-l {
+            display: flex;
+            justify-content: space-between;
+
+            .box-info {
+                display: inline-block;
+                // min-width: 100px;
+            }
+        }
+
+        .btn-check {}
+
+        .el-date-editor.el-input,
+        .el-date-editor.el-input__inner {
+            width: 100%;
+        }
+
+        .el-select-dropdown {
+            z-index: 100000 !important;
+        }
+    }
+</style>