Explorar o código

互联网电视(版权事件备案,频道上线审批)修正搜索栏%问题,去除输入框长度校验,删除附件‘预览’,翻页条中增加记录总数

sphinx %!s(int64=2) %!d(string=hai) anos
pai
achega
829d356760

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

@@ -36,7 +36,7 @@
                         </template>
                     </el-table-column>
                 </el-table>
-                <el-pagination class="pageBox" @current-change="currchange" layout="prev, pager, next" background
+                <el-pagination class="pageBox" @current-change="currchange" layout="total,prev, pager, next" background
                                :total="total">
                 </el-pagination>
             </div>
@@ -54,7 +54,7 @@
                             <el-form-item prop="recordName">
                                 <span><i>*</i>备案名称</span>
                                 <el-input v-if="!disableStatus"  v-model.trim="infolist.recordName" placeholder="请输入备案名称"
-                                          :disabled="disableStatus"  maxlength="60" show-word-limit>
+                                          :disabled="disableStatus" >
                                 </el-input>
                                 <div v-if="disableStatus" class="el-descriptions">{{infolist.recordName}}</div>
                             </el-form-item>
@@ -79,7 +79,7 @@
                             <el-form-item prop="fileFrom">
                                 <span>来文公司</span>
                                 <el-input  v-model="infolist.fileFrom"
-                                v-if="!disableStatus" placeholder="请输入来文公司"  maxlength="60" show-word-limit ></el-input>
+                                v-if="!disableStatus" placeholder="请输入来文公司" ></el-input>
                                 <div v-if="disableStatus" class="el-descriptions">{{infolist.fileFrom}}</div>
                             </el-form-item>
                         </div>
@@ -88,7 +88,7 @@
                             <el-form-item prop="fileTime">
                                 <span>来函时间以及形式</span>
                                 <el-input v-if="!disableStatus" v-model="infolist.fileTime"
-                                :disabled="disableStatus" placeholder="请输入来函时间以及形式"  maxlength="120" show-word-limit></el-input>
+                                :disabled="disableStatus" placeholder="请输入来函时间以及形式" ></el-input>
                                 <div v-if="disableStatus" class="el-descriptions">{{infolist.fileTime}}</div>
                             </el-form-item>
                         </div>
@@ -97,7 +97,7 @@
                             <el-form-item prop="fileAppeal">
                                 <span>来函诉求</span>
                                 <el-input v-if="!disableStatus" v-model="infolist.fileAppeal"
-                                :disabled="disableStatus" placeholder="请输入来函诉求"  maxlength="500" show-word-limit></el-input>
+                                :disabled="disableStatus" placeholder="请输入来函诉求" ></el-input>
                                 <div v-if="disableStatus" class="el-descriptions">{{infolist.fileAppeal}}</div>
                             </el-form-item>
                         </div>
@@ -106,7 +106,7 @@
                             <el-form-item prop="contentProvider">
                                 <span>涉及内容提供方</span>
                                 <el-input v-if="!disableStatus" v-model="infolist.contentProvider"
-                                :disabled="disableStatus" placeholder="请输入涉及内容提供方"  maxlength="120" show-word-limit></el-input>
+                                :disabled="disableStatus" placeholder="请输入涉及内容提供方"  ></el-input>
                                 <div v-if="disableStatus" class="el-descriptions">{{infolist.contentProvider}}</div>
                             </el-form-item>
                         </div>
@@ -115,7 +115,7 @@
                             <el-form-item prop="docNumber">
                                 <span>转派文件编号</span>
                                 <el-input v-if="!disableStatus" v-model="infolist.docNumber"
-                                :disabled="disableStatus" placeholder="请输入转派文件编号"  maxlength="60" show-word-limit></el-input>
+                                :disabled="disableStatus" placeholder="请输入转派文件编号" ></el-input>
                                 <div v-if="disableStatus" class="el-descriptions">{{infolist.docNumber}}</div>
                             </el-form-item>
                         </div>
@@ -124,7 +124,7 @@
                             <el-form-item prop="providerReplytime" >
                                 <span>内容方处理情况<br/>以及回复的时间</span>
                                 <el-input  v-if="!disableStatus" v-model="infolist.providerReplytime"
-                                :disabled="disableStatus" placeholder="请输入内容方处理情况以及回复时间"  maxlength="500" show-word-limit></el-input>
+                                :disabled="disableStatus" placeholder="请输入内容方处理情况以及回复时间"  ></el-input>
                                 <div v-if="disableStatus" class="el-descriptions">{{infolist.providerReplytime}}</div>
                             </el-form-item>
                         </div>
@@ -156,7 +156,7 @@
 </template>
 <script>
 import myUpload from '../../../components/upload'
-import uploadDown from '../../../components/uploadDown'
+import uploadDown from './uploadDown'
 import mySearch from './search'
 import toolList from '../../../components/toolList'
 import myMessage from "../../../components/myMessage.vue"

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

@@ -33,7 +33,7 @@
                         </template>
                     </el-table-column>
                 </el-table>
-                <el-pagination class="pageBox" @current-change="currchange" layout="prev, pager, next" background
+                <el-pagination class="pageBox" @current-change="currchange" layout="total, prev, pager, next" background
                                :total="total">
                 </el-pagination>
             </div>
@@ -52,7 +52,7 @@
                             <el-form-item prop="itemName" class="form-item">
                                 <el-input v-if="this.formStatus!=2 && '06'.includes(infolist.status)"
                                 v-model.trim="infolist.itemName" placeholder="请输入申请事项内容"
-                                          :disabled="disableStatus" maxlength="60" show-word-limit >
+                                          :disabled="disableStatus" >
                                 </el-input>
                                 <div v-if="this.formStatus===2 || !'06'.includes(infolist.status)"
                                  class="el-descriptions">{{infolist.itemName}}</div>
@@ -74,7 +74,7 @@
                             <span><i>*</i>其他频道名称</span>
                             <el-form-item prop="otherName" class="form-item">
                                 <el-input v-if="this.formStatus!=2 && '06'.includes(infolist.status)"
-                                 v-model.trim="infolist.otherName" maxlength="16" show-word-limit
+                                 v-model.trim="infolist.otherName"
                                 :disabled="disableStatus" placeholder="请输入其他频道名称"  ></el-input>
                                 <div v-if="this.formStatus===2 || !'06'.includes(infolist.status)"
                                  class="el-descriptions">{{infolist.otherName}}</div>
@@ -192,7 +192,7 @@
 </template>
 <script>
 import myUpload from '../../../components/upload'
-import uploadDown from '../../../components/uploadDown'
+import uploadDown from './uploadDown'
 import mySearch from './search'
 import toolList from '../../../components/toolList'
 import myMessage from "../../../components/myMessage.vue"

+ 7 - 3
src/pages/main/iptv/search.vue

@@ -49,10 +49,14 @@
             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));
+                    let v = this.searchList[i].value;
+                    if (this.searchList[i].value){
+                        v = v.replace(/%/gm,'\\%');
+                    }
+                    if (this.searchList[i].type === "date" && v) {
+                        this.infoList.push(Date.parse(v));
                     } else {
-                        this.infoList.push(this.searchList[i].value);
+                        this.infoList.push(v);
                     }
                 }
                 this.$emit("searchInfo", this.infoList);

+ 196 - 0
src/pages/main/iptv/uploadDown.vue

@@ -0,0 +1,196 @@
+<template>
+    <div class="back-box">
+        <div v-for="item in infolist" :key="item.id" @click="downcheck(item)">
+            <i class="iconfont icon-word" v-if="item.type==='word'"></i>
+            <i class="iconfont icon-excel" v-if="item.type==='excel'"></i>
+            <i class="iconfont icon-ppt" v-if="item.type==='ppt'"></i>
+            <i class="iconfont icon-wenjian" v-if="item.type==='wenjian'"></i>
+            <i class="el-icon-picture" v-if="item.type==='png'"></i>
+            <el-tooltip class="item" effect="dark" :content="item.fileName" placement="right" :enterable="false">
+                <span class="tab-long">{{item.fileName}}</span>
+            </el-tooltip>
+            <div class="seedown" v-if="datalist.type===2">
+                <a @click="uploaddown(item)">下载</a>
+            </div>
+        </div>
+        <div class="if-box-top" v-if="ifrshow" @keyup.esc="ifrshow=false">
+            <i class="el-icon-close" @click="ifrshow=false"></i>
+            <iframe
+                height="100%"
+                width="100%"
+                :src="srcsc">
+            </iframe>
+        </div>
+    </div>
+</template>
+<script>
+    export default {
+        props: ['datalist', 'dialogStatus'],
+        data() {
+            return {
+                infolist: [],
+                status: false,
+                srcsc: '',
+                ifrshow:false,
+            }
+        },
+        methods: {
+            downcheck(v) {
+                if (this.datalist.type === 1) {
+                    this.uploaddown(v);
+                }
+            },
+            uploadsee(v) {
+                let url = encodeURIComponent(v.callPath);
+                this.srcsc = 'http://114.215.71.182:8012/onlinePreview?url=' + url;
+                this.ifrshow=true;
+                // window.open('http://114.215.71.182:8012/onlinePreview?url=' + url);
+            },
+            //下载e
+            uploaddown(v) {
+                let fileData = v;
+                this.$http({
+                    url: this.datalist.url,
+                    method: "post",
+                    headers: {
+                        "Content-Type": "application/json",
+                    },
+                    responseType: "blob",
+                    data: {"id": fileData.id, "fileName": fileData.fileName},
+                }).then((response) => {
+                    if (window.navigator && window.navigator.msSaveOrOpenBlob) {
+                        let blob = new Blob([response.data], {
+                            type: 'application/vnd.ms-excel'
+                        });
+                        window.navigator.msSaveOrOpenBlob(blob, fileData.fileName);
+                    } else {
+                        /* 火狐谷歌的文件下载方式 */
+                        var blob = new Blob([response.data])
+                        var downloadElement = document.createElement('a')
+                        var href = window.URL.createObjectURL(blob);
+                        downloadElement.href = href;
+                        downloadElement.download = fileData.fileName;
+                        document.body.appendChild(downloadElement);
+                        downloadElement.click();
+                        document.body.removeChild(downloadElement);
+                        window.URL.revokeObjectURL(href);
+                    }
+                });
+            },
+            dataHandle() {
+                this.infolist = this.datalist.attList;
+                if (this.infolist) {
+                    for (let i = 0; i < this.infolist.length; i++) {
+                        let f = this.infolist[i].fileName.split(".");
+                        let type = f[f.length - 1];
+                        if (type === 'doc' || type === 'docx') {
+                            this.infolist[i].type = 'word';
+                        } else if (type === 'ppt') {
+                            this.infolist[i].type = 'ppt';
+                        } else if (type === 'xlsx' || type === 'xls') {
+                            this.infolist[i].type = 'excel';
+                        } else if (type === 'png' || type === 'jpg' || type === 'svg' || type === 'gif' || type === 'psd') {
+                            this.infolist[i].type = 'png';
+                        } else {
+                            this.infolist[i].type = 'wenjian';
+                        }
+                    }
+                }
+            }
+        },
+        mounted() {
+
+        },
+        created() {
+            this.dataHandle();
+        },
+        watch: {
+            dialogStatus() {
+                this.$forceUpdate()
+                let _this = this;
+                _this.dataHandle();
+            }
+        }
+    }
+</script>
+<style scoped lang="scss">
+    .if-box-top{
+        background: #fff;
+        width: 80vw;
+        height: 80vh;
+        margin-top: 10vh;
+        margin-left: 10vw;
+    }
+
+    .iconfont {
+        font-size: 42px;
+    }
+
+    .icon-excel {
+        color: #67DB63;
+    }
+
+    .icon-word {
+        color: #FF654E;
+    }
+
+    .icon-ppt {
+        color: #FF8943;
+    }
+
+    .icon-wenjian {
+        color: #ccc;
+    }
+
+    .el-icon-picture {
+        font-size: 36px;
+        color: #ccc;
+        background: #fff;
+        padding: 4px 2px;
+        margin-bottom: 2px;
+        border-radius: 3px;
+    }
+
+    .back-box {
+        margin-top: 20px;
+        background: #F2F2F2;
+        padding: 20px;
+
+        div {
+            display: inline-block;
+            text-align: center;
+            margin-right: 20px;
+            cursor: pointer;
+
+            span {
+                display: block;
+                width: 80px;
+                overflow: hidden;
+                padding-top: 5px;
+                margin: 0 10px;
+                overflow: hidden;
+                text-overflow: ellipsis;
+                display: -webkit-box; /* 将对象作为弹性伸缩盒子模型显示 */
+                -webkit-line-clamp: 1; /* 控制最多显示几行 */
+                -webkit-box-orient: vertical; /* 设置或检索伸缩盒对象的子元素的排列方式 */
+            }
+        }
+
+        .seedown {
+            margin: 0;
+            margin-top: 5px;
+
+            a {
+                font-size: 12px;
+                padding: 2px 5px;
+                border: 1px solid transparent;
+                color: #999;
+            }
+
+            a:hover {
+                color: #0b82ff;
+            }
+        }
+    }
+
+</style>