Sfoglia il codice sorgente

链属导入弹窗样式调整

zhanglb 4 anni fa
parent
commit
36d25a12e5

+ 0 - 74
front-vue/src/App.vue

@@ -137,80 +137,6 @@ export default {
     background-color: #4280f2;
 }
 
-.zap-upload-invoice .el-dialog__header {
-    padding: 0;
-}
-
-.zap-upload-invoice .el-dialog__body {
-    padding: 0;
-}
-
-.zap-upload-invoice__title {
-    height: 50px;
-    padding: 0 20px;
-    padding-right: 0;
-    background-color: #f4f5f7;
-
-    .title {
-        font-size: 16px;
-        color: #333333;
-    }
-
-    .el-icon-close {
-        padding: 19px 20px;
-        font-size: 12px;
-        color: #666666;
-        cursor: pointer;
-    }
-}
-
-.zap-upload-invoice__top {
-    padding: 30px 58px;
-    background-color: #ffffff;
-}
-
-.zap-upload-invoice__top-text {
-    // margin-left: 20px;
-    font-size: 12px;
-    color: #999999;
-}
-
-.zap-upload-invoice__form .el-upload-dragger {
-    width: 484px;
-    height: 250px;
-    border: dashed 1px #e0e0e0;
-    background-color: #f4f5f6;
-}
-
-.zap-upload-invoice .el-upload-dragger .el-icon-upload {
-    margin-top: 0px;
-    margin-bottom: 20px;
-}
-
-.zap-upload-invoice__text {
-    margin-bottom: 11px;
-    font-size: 14px;
-    color: #333333;
-
-    span {
-        color: #21b24b;
-    }
-}
-
-.zap-upload-invoice__tip {
-    line-height: 18px;
-    font-size: 12px;
-    color: #999999;
-}
-
-.zap-upload-invoce__inner {
-    display: flex;
-    flex-direction: column;
-    justify-content: center;
-    align-items: center;
-    width: 100%;
-    height: 100%;
-}
 
 .zap-form {
     padding: 0 25px;

BIN
front-vue/src/assets/images/components/uploadImport/icon_upload.png


+ 138 - 0
front-vue/src/components/UploadImport/index.vue

@@ -0,0 +1,138 @@
+<template>
+<el-dialog
+    class="zap-upload-invoice"
+    width="752px"
+    :show-close="true"
+    :title="upload.title"
+    v-bind="$attrs"
+    v-on="$listeners">
+    <el-row class="zap-upload-invoice__top">
+        <span class="zap-upload-invoice__top-text">提示:仅允许导入“xls”或“xlsx”格式文件!</span>
+    </el-row>
+    <el-row
+        type="flex"
+        align="middle"
+        justify="center">
+        <el-upload
+            class="zap-upload-invoice__form"
+            ref="upload"
+            :limit="1"
+            accept=".xlsx, .xls"
+            :headers="upload.headers"
+            :action="upload.url + '?updateSupport=' + upload.updateSupport"
+            :disabled="upload.isUploading"
+            :on-progress="handleFileUploadProgress"
+            :on-success="handleFileSuccess"
+            :auto-upload="false"
+            drag>
+            <div class="zap-upload-invoce__inner">
+                <img class="zap-icon-upload" src="../../assets/images/components/uploadImport/icon_upload.png" alt="">
+                <div class="zap-upload-invoice__text">
+                    将文件拖到此处,或
+                    <span>点击上传</span>
+                </div>
+                <div class="zap-upload-invoice__tip">按住Ctrl可同时多选,单个文件不能超过2mb</div>
+                <div class="zap-upload-invoice__tip">严禁上传包含色情、暴力、反动等相关违法信息的文件。</div>
+            </div>
+            <div
+                class="el-upload__tip"
+                slot="tip">
+                <el-link
+                    type="info"
+                    style="font-size:12px"
+                    @click="importTemplate">下载模板</el-link>
+            </div>
+        </el-upload>
+    </el-row>
+    <el-row
+        style="height: 109px;"
+        type="flex"
+        align="middle"
+        justify="center">
+        <el-button
+            type="primary"
+            @click="submitFileForm">确 定</el-button>
+        <el-button @click="upload.open = false">取 消</el-button>
+    </el-row>
+</el-dialog>
+</template>
+
+<script>
+export default {
+    name: "UploadImport",
+    inheritAttrs: false,
+    props: {
+        upload: {
+            type: Object,
+            default () {
+                return {}
+            }
+        },
+        handleFileUploadProgress: Function,
+        handleFileSuccess: Function
+    },
+    methods: {
+        importTemplate() {
+            this.$emit('importTemplate')
+        },
+        submitFileForm() {
+            this.$emit('submitFileForm')
+        }
+    }
+}
+</script>
+
+<style lang="scss">
+.zap-upload-invoice .el-dialog__body {
+    padding: 0 56px;
+}
+
+.zap-upload-invoice__top {
+    padding: 32px 0;
+    background-color: #ffffff;
+}
+
+.zap-upload-invoice__top-text {
+    font-size: 12px;
+    color: #999999;
+}
+
+.zap-upload-invoice__form .el-upload-dragger {
+    width: 640px;
+    height: 296px;
+    border: dashed 1px #4280F2;
+    background-color: #F4F5F6;
+}
+
+.zap-icon-upload {
+    width: 64px;
+    height: 64px;
+    margin-top: 0px;
+}
+
+.zap-upload-invoice__text {
+    margin-top: 24px;
+    margin-bottom: 16px;
+    font-size: 14px;
+    color: #333333;
+
+    span {
+        color: #4280F2;
+    }
+}
+
+.zap-upload-invoice__tip {
+    line-height: 22px;
+    font-size: 12px;
+    color: #999999;
+}
+
+.zap-upload-invoce__inner {
+    display: flex;
+    flex-direction: column;
+    justify-content: center;
+    align-items: center;
+    width: 100%;
+    height: 100%;
+}
+</style>

+ 445 - 117
front-vue/src/views/service/rel/companyRel.vue

@@ -1,46 +1,143 @@
 <template>
 <div class="app-container zap-main">
-    <search-bar v-if="activeName === '0'" :checkList="checkList" :tableList="tableList" :selfDom="selfDom" :tableId="tableId" @query="handleQuery" @reset="resetQuery">
-        <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="auto">
-            <el-form-item label="类型" prop="scrQuery" size="large">
-                <el-select v-model="queryParams.scrQuery" clearable>
-                    <el-option v-for="dict in queryOptions" :key="dict.dictValue" :label="dict.dictLabel" :value="dict.dictValue" />
+    <search-bar
+        v-if="activeName === '0'"
+        :checkList="checkList"
+        :tableList="tableList"
+        :selfDom="selfDom"
+        :tableId="tableId"
+        @query="handleQuery"
+        @reset="resetQuery">
+        <el-form
+            :model="queryParams"
+            ref="queryForm"
+            :inline="true"
+            v-show="showSearch"
+            label-width="auto">
+            <el-form-item
+                label="类型"
+                prop="scrQuery"
+                size="large">
+                <el-select
+                    v-model="queryParams.scrQuery"
+                    clearable>
+                    <el-option
+                        v-for="dict in queryOptions"
+                        :key="dict.dictValue"
+                        :label="dict.dictLabel"
+                        :value="dict.dictValue" />
                 </el-select>
             </el-form-item>
-            <el-form-item prop="scrValue" v-if="this.queryParams.scrQuery" size="large">
-                <el-input v-model="queryParams.scrValue" placeholder="请输入关键字模糊查询" clearable maxlength="25" />
+            <el-form-item
+                prop="scrValue"
+                v-if="this.queryParams.scrQuery"
+                size="large">
+                <el-input
+                    v-model="queryParams.scrValue"
+                    placeholder="请输入关键字模糊查询"
+                    clearable
+                    maxlength="25" />
             </el-form-item>
-            <el-form-item label="链属状态" prop="scrStatus" size="large">
-                <el-select v-model="queryParams.scrStatus" placeholder="链属状态" clearable>
-                    <el-option v-for="dict in scrStatusOptions" :key="dict.dictValue" :label="dict.dictLabel" :value="dict.dictValue"></el-option>
+            <el-form-item
+                label="链属状态"
+                prop="scrStatus"
+                size="large">
+                <el-select
+                    v-model="queryParams.scrStatus"
+                    placeholder="链属状态"
+                    clearable>
+                    <el-option
+                        v-for="dict in scrStatusOptions"
+                        :key="dict.dictValue"
+                        :label="dict.dictLabel"
+                        :value="dict.dictValue"></el-option>
                 </el-select>
             </el-form-item>
-            <el-form-item label="认证状态" prop="scpStatus" size="large">
-                <el-select v-model="queryParams.scpStatus" placeholder="认证状态" clearable>
-                    <el-option v-for="dict in scpStatusOptions" :key="dict.dictValue" :label="dict.dictLabel" :value="dict.dictValue"></el-option>
+            <el-form-item
+                label="认证状态"
+                prop="scpStatus"
+                size="large">
+                <el-select
+                    v-model="queryParams.scpStatus"
+                    placeholder="认证状态"
+                    clearable>
+                    <el-option
+                        v-for="dict in scpStatusOptions"
+                        :key="dict.dictValue"
+                        :label="dict.dictLabel"
+                        :value="dict.dictValue"></el-option>
                 </el-select>
             </el-form-item>
-            <el-form-item label="链属关系" prop="scrType" size="large">
-                <el-select v-model="queryParams.scrType" placeholder="链属关系" clearable>
-                    <el-option v-for="dict in scrTypeOptions" :key="dict.dictValue" :label="dict.dictLabel" :value="dict.dictValue"></el-option>
+            <el-form-item
+                label="链属关系"
+                prop="scrType"
+                size="large">
+                <el-select
+                    v-model="queryParams.scrType"
+                    placeholder="链属关系"
+                    clearable>
+                    <el-option
+                        v-for="dict in scrTypeOptions"
+                        :key="dict.dictValue"
+                        :label="dict.dictLabel"
+                        :value="dict.dictValue"></el-option>
                 </el-select>
             </el-form-item>
         </el-form>
     </search-bar>
     <!-- 未认证列表 -->
-    <search-bar v-else-if="activeName === '1'" :hiddenSetting="true" :checkList="checkList" :tableList="tableList" :selfDom="selfDom" :tableId="tableId" @query="handleSpareQuery" @reset="resetSpareQuery">
-        <el-form :model="spareParams" ref="querySpareForm" :inline="true" v-show="showSearch" label-width="auto">
-            <el-form-item label="类型" prop="scpQuery" size="large">
-                <el-select v-model="spareParams.scpQuery" clearable>
-                    <el-option v-for="dict in queryOptions" :key="dict.dictValue" :label="dict.dictLabel" :value="dict.dictValue" />
+    <search-bar
+        v-else-if="activeName === '1'"
+        :hiddenSetting="true"
+        :checkList="checkList"
+        :tableList="tableList"
+        :selfDom="selfDom"
+        :tableId="tableId"
+        @query="handleSpareQuery"
+        @reset="resetSpareQuery">
+        <el-form
+            :model="spareParams"
+            ref="querySpareForm"
+            :inline="true"
+            v-show="showSearch"
+            label-width="auto">
+            <el-form-item
+                label="类型"
+                prop="scpQuery"
+                size="large">
+                <el-select
+                    v-model="spareParams.scpQuery"
+                    clearable>
+                    <el-option
+                        v-for="dict in queryOptions"
+                        :key="dict.dictValue"
+                        :label="dict.dictLabel"
+                        :value="dict.dictValue" />
                 </el-select>
             </el-form-item>
-            <el-form-item prop="scrValue" v-if="this.spareParams.scpQuery" size="large">
-                <el-input v-model="spareParams.scpValue" placeholder="请输入关键字模糊查询" clearable maxlength="25" />
+            <el-form-item
+                prop="scrValue"
+                v-if="this.spareParams.scpQuery"
+                size="large">
+                <el-input
+                    v-model="spareParams.scpValue"
+                    placeholder="请输入关键字模糊查询"
+                    clearable
+                    maxlength="25" />
             </el-form-item>
-            <el-form-item label="链属关系" prop="scrType" size="large">
-                <el-select v-model="spareParams.scrType" placeholder="请选择链属关系" clearable>
-                    <el-option v-for="dict in scrTypeOptions" :key="dict.dictValue" :label="dict.dictLabel" :value="dict.dictValue"></el-option>
+            <el-form-item
+                label="链属关系"
+                prop="scrType"
+                size="large">
+                <el-select
+                    v-model="spareParams.scrType"
+                    placeholder="请选择链属关系"
+                    clearable>
+                    <el-option
+                        v-for="dict in scrTypeOptions"
+                        :key="dict.dictValue"
+                        :label="dict.dictLabel"
+                        :value="dict.dictValue"></el-option>
                 </el-select>
             </el-form-item>
         </el-form>
@@ -48,183 +145,412 @@
     <el-row class="zap-margin-top">
         <div class="zap-credit__tabs zap-credit__content">
             <div class="zap-credit__buttons">
-                <el-button type="primary" icon="el-icon-plus" @click="handleAdd" v-hasPermi="['service:rel:add']">新增</el-button>
-                <el-button type="success" icon="el-icon-upload2" @click="handleImport" v-hasPermi="['service:relImport:importData']">导入</el-button>
+                <el-button
+                    type="primary"
+                    icon="el-icon-plus"
+                    @click="handleAdd"
+                    v-hasPermi="['service:rel:add']">新增
+                </el-button>
+                <el-button
+                    type="success"
+                    icon="el-icon-upload2"
+                    @click="handleImport"
+                    v-hasPermi="['service:relImport:importData']">导入</el-button>
             </div>
 
             <el-tabs v-model="activeName">
                 <el-tab-pane label="我的链属">
-                    <el-table class="zap-margin-top" v-loading="loading" :data="companyRelList" stripe>
-                        <el-table-column label="序号" type="index" width="50" align="center">
+                    <el-table
+                        class="zap-margin-top"
+                        v-loading="loading"
+                        :data="companyRelList"
+                        stripe>
+                        <el-table-column
+                            label="序号"
+                            type="index"
+                            width="50"
+                            align="center">
                             <template slot-scope="scope">
                                 <span>{{(queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1}}</span>
                             </template>
                         </el-table-column>
-                        <el-table-column label="社会统一代码" align="center" prop="companyCode" v-if="uncheckList.companyCode" show-overflow-tooltip>
+                        <el-table-column
+                            label="社会统一代码"
+                            align="center"
+                            prop="companyCode"
+                            v-if="uncheckList.companyCode"
+                            show-overflow-tooltip>
                             <template slot-scope="scope">
                                 <span v-if="scope.row.launch">{{scope.row.receiveScySocialCode}}</span>
                                 <span v-if="scope.row.receive">{{scope.row.launchScySocialCode}}</span>
                                 <span v-if="scope.row.spare">{{scope.row.scpSocialCode}}</span>
                             </template>
                         </el-table-column>
-                        <el-table-column label="企业名称" align="center" prop="companyName" v-if="uncheckList.companyName" show-overflow-tooltip>
+                        <el-table-column
+                            label="企业名称"
+                            align="center"
+                            prop="companyName"
+                            v-if="uncheckList.companyName"
+                            show-overflow-tooltip>
                             <template slot-scope="scope">
                                 <span v-if="scope.row.launch">{{scope.row.receiveScyName}}</span>
                                 <span v-if="scope.row.receive">{{scope.row.launchScyName}}</span>
                                 <span v-if="scope.row.spare">{{scope.row.scpName}}</span>
                             </template>
                         </el-table-column>
-                        <el-table-column label="链属关系" align="center" prop="companyType" v-if="uncheckList.companyType">
+                        <el-table-column
+                            label="链属关系"
+                            align="center"
+                            prop="companyType"
+                            v-if="uncheckList.companyType">
                             <template slot-scope="scope">
                                 <span v-if="scope.row.launch">{{companyTypeFormat(scope.row.launchScrReceiveType)}}</span>
                                 <span v-if="scope.row.receive">{{companyTypeFormat(scope.row.launchScrLaunchType)}}</span>
                                 <span v-if="scope.row.spare">{{companyTypeFormat(scope.row.scpType)}}</span>
                             </template>
                         </el-table-column>
-                        <el-table-column label="链属状态" align="center" prop="launchScrStatus" v-if="uncheckList.launchScrStatus" :formatter="launchScrStatusFormat"></el-table-column>
-                        <el-table-column label="认证状态" align="center" prop="scpStatus" v-if="uncheckList.scpStatus" :formatter="scpStatusFormat"></el-table-column>
-                        <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="150">
+                        <el-table-column
+                            label="链属状态"
+                            align="center"
+                            prop="launchScrStatus"
+                            v-if="uncheckList.launchScrStatus"
+                            :formatter="launchScrStatusFormat"></el-table-column>
+                        <el-table-column
+                            label="认证状态"
+                            align="center"
+                            prop="scpStatus"
+                            v-if="uncheckList.scpStatus"
+                            :formatter="scpStatusFormat"></el-table-column>
+                        <el-table-column
+                            label="操作"
+                            align="center"
+                            class-name="small-padding fixed-width"
+                            width="150">
                             <template slot-scope="scope">
-                                <el-button v-if="!scope.row.spare" size="mini" type="text" class="zap-button-plain" @click="handleCompanyQuery(scope.row)" v-hasPermi="['service:rel:query']">详情</el-button>
-                                <el-button v-if="scope.row.scpInvite == '1' && scope.row.launch && scope.row.launchScrStatus == '02'" size="mini" type="text" class="zap-button-primary" @click="handleRelInvite(scope.row)" v-hasPermi="['service:rel:again']">重邀</el-button>
-                                <el-button v-if="handleRel && scope.row.launchScrStatus == '01'" size="mini" type="text" class="zap-button-primary" @click="handleDelete(scope.row)" v-hasPermi="['service:rel:delete']">解绑</el-button>
-                                <el-button v-if="scope.row.spare && scope.row.scpStatus == '00'" size="mini" type="text" class="zap-button-primary" @click="handleSpareDelete(scope.row)" v-hasPermi="['service:spare:removeSpare']">解绑</el-button>
-                                <el-button v-if="scope.row.scpInvite == '1' && scope.row.scpStatus == '00'
-                          && scope.row.scpContarct && scope.row.scpContarctPhone" size="mini" type="text" class="zap-button-primary" @click="handleInvite(scope.row)" v-hasPermi="['service:spare:invite']">重邀</el-button>
-                                <el-button v-if="handleRel && scope.row.launchScrStatus =='00' && scope.row.receive" size="mini" type="text" class="zap-button-confirmation" @click="handleSuccess(scope.row)" v-hasPermi="['service:rel:update']">确认链属</el-button>
-                                <el-button v-if="handleRel && scope.row.launchScrStatus =='00' && scope.row.receive" size="mini" type="text" class="zap-button-primary" @click="handleRefuse(scope.row)" v-hasPermi="['service:rel:update']">拒绝</el-button>
+                                <el-button
+                                    v-if="!scope.row.spare"
+                                    size="mini"
+                                    type="text"
+                                    class="zap-button-plain"
+                                    @click="handleCompanyQuery(scope.row)"
+                                    v-hasPermi="['service:rel:query']">详情</el-button>
+                                <el-button
+                                    v-if="scope.row.scpInvite == '1' && scope.row.launch && scope.row.launchScrStatus == '02'"
+                                    size="mini"
+                                    type="text"
+                                    class="zap-button-primary"
+                                    @click="handleRelInvite(scope.row)"
+                                    v-hasPermi="['service:rel:again']">重邀</el-button>
+                                <el-button
+                                    v-if="handleRel && scope.row.launchScrStatus == '01'"
+                                    size="mini"
+                                    type="text"
+                                    class="zap-button-primary"
+                                    @click="handleDelete(scope.row)"
+                                    v-hasPermi="['service:rel:delete']">解绑
+                                </el-button>
+                                <el-button
+                                    v-if="scope.row.spare && scope.row.scpStatus == '00'"
+                                    size="mini"
+                                    type="text"
+                                    class="zap-button-primary"
+                                    @click="handleSpareDelete(scope.row)"
+                                    v-hasPermi="['service:spare:removeSpare']">解绑</el-button>
+                                <el-button
+                                    v-if="scope.row.scpInvite == '1' && scope.row.scpStatus == '00'
+                          && scope.row.scpContarct && scope.row.scpContarctPhone"
+                                    size="mini"
+                                    type="text"
+                                    class="zap-button-primary"
+                                    @click="handleInvite(scope.row)"
+                                    v-hasPermi="['service:spare:invite']">重邀
+                                </el-button>
+                                <el-button
+                                    v-if="handleRel && scope.row.launchScrStatus =='00' && scope.row.receive"
+                                    size="mini"
+                                    type="text"
+                                    class="zap-button-confirmation"
+                                    @click="handleSuccess(scope.row)"
+                                    v-hasPermi="['service:rel:update']">确认链属</el-button>
+                                <el-button
+                                    v-if="handleRel && scope.row.launchScrStatus =='00' && scope.row.receive"
+                                    size="mini"
+                                    type="text"
+                                    class="zap-button-primary"
+                                    @click="handleRefuse(scope.row)"
+                                    v-hasPermi="['service:rel:update']">拒绝</el-button>
                             </template>
                         </el-table-column>
                     </el-table>
 
-                    <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
+                    <pagination
+                        v-show="total > 0"
+                        :total="total"
+                        :page.sync="queryParams.pageNum"
+                        :limit.sync="queryParams.pageSize"
+                        @pagination="getList" />
                 </el-tab-pane>
 
                 <el-tab-pane label="链属未认证">
                     <!-- 未认证企业信息列表 -->
-                    <el-table v-loading="loading" :data="spareOwnlist" stripe>
-                        <el-table-column label="序号" type="index" width="50" align="center">
+                    <el-table
+                        v-loading="loading"
+                        :data="spareOwnlist"
+                        stripe>
+                        <el-table-column
+                            label="序号"
+                            type="index"
+                            width="50"
+                            align="center">
                             <template slot-scope="scope">
                                 <span>{{(spareParams.pageNum - 1) * spareParams.pageSize + scope.$index + 1}}</span>
                             </template>
                         </el-table-column>
-                        <el-table-column label="企业名称" align="center" prop="scpName" show-overflow-tooltip />
-                        <el-table-column label="社会统一代码" align="center" prop="scpSocialCode" show-overflow-tooltip />
-                        <el-table-column label="链属关系" align="center" prop="scpType" :formatter="scpTypeFormat" />
-                        <el-table-column label="状态" align="center" prop="scpStatus" :formatter="scpStatusFormat" />
-                        <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+                        <el-table-column
+                            label="企业名称"
+                            align="center"
+                            prop="scpName"
+                            show-overflow-tooltip />
+                        <el-table-column
+                            label="社会统一代码"
+                            align="center"
+                            prop="scpSocialCode"
+                            show-overflow-tooltip />
+                        <el-table-column
+                            label="链属关系"
+                            align="center"
+                            prop="scpType"
+                            :formatter="scpTypeFormat" />
+                        <el-table-column
+                            label="状态"
+                            align="center"
+                            prop="scpStatus"
+                            :formatter="scpStatusFormat" />
+                        <el-table-column
+                            label="操作"
+                            align="center"
+                            class-name="small-padding fixed-width">
                             <template slot-scope="scope">
-                                <el-button v-if="scope.row.scpInvite == '1' && scope.row.scpContarct && scope.row.scpContarctPhone" size="mini" type="text" class="zap-button-primary" @click="handleInvite(scope.row)" v-hasPermi="['service:spare:invite']">重邀</el-button>
-                                <el-button size="mini" type="text" class="zap-button-primary" @click="handleSpareDelete(scope.row)" v-hasPermi="['service:spare:removeSpare']">解绑</el-button>
+                                <el-button
+                                    v-if="scope.row.scpInvite == '1' && scope.row.scpContarct && scope.row.scpContarctPhone"
+                                    size="mini"
+                                    type="text"
+                                    class="zap-button-primary"
+                                    @click="handleInvite(scope.row)"
+                                    v-hasPermi="['service:spare:invite']">重邀</el-button>
+                                <el-button
+                                    size="mini"
+                                    type="text"
+                                    class="zap-button-primary"
+                                    @click="handleSpareDelete(scope.row)"
+                                    v-hasPermi="['service:spare:removeSpare']">解绑</el-button>
                             </template>
                         </el-table-column>
                     </el-table>
 
-                    <pagination v-show="spareTitol > 0" :total="spareTitol" :page.sync="spareParams.pageNum" :limit.sync="spareParams.pageSize" @pagination="getSpare" />
+                    <pagination
+                        v-show="spareTitol > 0"
+                        :total="spareTitol"
+                        :page.sync="spareParams.pageNum"
+                        :limit.sync="spareParams.pageSize"
+                        @pagination="getSpare" />
                 </el-tab-pane>
 
                 <!-- 添加链属框 -->
-                <el-dialog :title="title" :visible.sync="open" width="837px" append-to-body class="zap-chain-dialog">
-                    <el-form ref="form" :model="form" :rules="rules" label-width="auto" :inline="true" class="zap-chain-dialog-content">
+                <el-dialog
+                    :title="title"
+                    :visible.sync="open"
+                    width="837px"
+                    append-to-body
+                    class="zap-chain-dialog">
+                    <el-form
+                        ref="form"
+                        :model="form"
+                        :rules="rules"
+                        label-width="auto"
+                        :inline="true"
+                        class="zap-chain-dialog-content">
                         <el-row>
                             <el-col :span="12">
-                                <el-form-item label="企业编号" prop="scyId" style="display:none">
-                                    <el-input v-model="form.scyId" disabled />
+                                <el-form-item
+                                    label="企业编号"
+                                    prop="scyId"
+                                    style="display:none">
+                                    <el-input
+                                        v-model="form.scyId"
+                                        disabled />
                                 </el-form-item>
                             </el-col>
                             <el-col :span="12">
-                                <el-form-item label="链属关系" prop="scrReceiveType">
-                                    <el-select v-model="form.scrReceiveType" placeholder="请选择链属关系" clearable>
-                                        <el-option v-for="dict in scrTypeOptions" :key="dict.dictValue" :label="dict.dictLabel" :value="dict.dictValue"></el-option>
+                                <el-form-item
+                                    label="链属关系"
+                                    prop="scrReceiveType">
+                                    <el-select
+                                        v-model="form.scrReceiveType"
+                                        placeholder="请选择链属关系"
+                                        clearable>
+                                        <el-option
+                                            v-for="dict in scrTypeOptions"
+                                            :key="dict.dictValue"
+                                            :label="dict.dictLabel"
+                                            :value="dict.dictValue"></el-option>
                                     </el-select>
                                 </el-form-item>
                             </el-col>
                             <el-col :span="12">
-                                <el-form-item label="企业名称" prop="scyName">
-                                    <el-select v-model="form.scyName" filterable allow-create clearable @clear="clearRemote" @change="choice" remote reserve-keyword placeholder="请输入关键词" :remote-method="remoteMethod">
-                                        <el-option v-for="item in companyList" :key="item.value" :label="item.label" :value="item.label"></el-option>
+                                <el-form-item
+                                    label="企业名称"
+                                    prop="scyName">
+                                    <el-select
+                                        v-model="form.scyName"
+                                        filterable
+                                        allow-create
+                                        clearable
+                                        @clear="clearRemote"
+                                        @change="choice"
+                                        remote
+                                        reserve-keyword
+                                        placeholder="请输入关键词"
+                                        :remote-method="remoteMethod">
+                                        <el-option
+                                            v-for="item in companyList"
+                                            :key="item.value"
+                                            :label="item.label"
+                                            :value="item.label">
+                                        </el-option>
                                     </el-select>
                                 </el-form-item>
                             </el-col>
                             <el-col :span="12">
-                                <el-form-item label="企业统一代码" prop="scySocialCode">
-                                    <el-input v-model="form.scySocialCode" placeholder="请输入企业统一代码" maxlength="18" show-word-limit />
+                                <el-form-item
+                                    label="企业统一代码"
+                                    prop="scySocialCode">
+                                    <el-input
+                                        v-model="form.scySocialCode"
+                                        placeholder="请输入企业统一代码"
+                                        maxlength="18"
+                                        show-word-limit />
                                 </el-form-item>
                             </el-col>
                             <el-col :span="12">
-                                <el-form-item label="联系人" prop="scrContarct">
-                                    <el-input v-model="form.scrContarct" placeholder="请输入联系人" maxlength="10" show-word-limit />
+                                <el-form-item
+                                    label="联系人"
+                                    prop="scrContarct">
+                                    <el-input
+                                        v-model="form.scrContarct"
+                                        placeholder="请输入联系人"
+                                        maxlength="10"
+                                        show-word-limit />
                                 </el-form-item>
                             </el-col>
                             <el-col :span="12">
-                                <el-form-item label="联系人手机号" prop="scrContarctPhone">
-                                    <el-input v-model="form.scrContarctPhone" placeholder="请输入联系人手机号" maxlength="11" show-word-limit />
+                                <el-form-item
+                                    label="联系人手机号"
+                                    prop="scrContarctPhone">
+                                    <el-input
+                                        v-model="form.scrContarctPhone"
+                                        placeholder="请输入联系人手机号"
+                                        maxlength="11"
+                                        show-word-limit />
                                 </el-form-item>
                             </el-col>
                             <el-col :span="12">
-                                <el-form-item label="邮箱" prop="scrContarctEmail">
-                                    <el-input v-model="form.scrContarctEmail" placeholder="请输入邮箱" maxlength="60" show-word-limit />
+                                <el-form-item
+                                    label="邮箱"
+                                    prop="scrContarctEmail">
+                                    <el-input
+                                        v-model="form.scrContarctEmail"
+                                        placeholder="请输入邮箱"
+                                        maxlength="60"
+                                        show-word-limit />
                                 </el-form-item>
                             </el-col>
                         </el-row>
                     </el-form>
-                    <el-row style="height: 109px;" type="flex" align="middle" justify="center">
-                        <el-button type="primary" @click="submitForm">确 定</el-button>
-                        <el-button plain @click="cancel">取 消</el-button>
+                    <el-row
+                        style="height: 109px;"
+                        type="flex"
+                        align="middle"
+                        justify="center">
+                        <el-button
+                            type="primary"
+                            @click="submitForm">确 定</el-button>
+                        <el-button
+                            plain
+                            @click="cancel">取 消</el-button>
                     </el-row>
                 </el-dialog>
 
                 <!-- 企业详情对话框 -->
-                <el-dialog :title="titleDetail" :visible.sync="openDetail" width="800px" append-to-body>
-                    <el-form ref="formDetail" :model="formDetail" label-width="140px" :inline="true">
-                        <el-form-item label="企业名称" prop="scyName">
-                            <el-input v-model="formDetail.scyName" placeholder="请输入企业名称" disabled style="width:560px" maxlength="20" show-word-limit />
+                <el-dialog
+                    :title="titleDetail"
+                    :visible.sync="openDetail"
+                    width="800px"
+                    append-to-body>
+                    <el-form
+                        ref="formDetail"
+                        :model="formDetail"
+                        label-width="140px"
+                        :inline="true">
+                        <el-form-item
+                            label="企业名称"
+                            prop="scyName">
+                            <el-input
+                                v-model="formDetail.scyName"
+                                placeholder="请输入企业名称"
+                                disabled
+                                style="width:560px"
+                                maxlength="20"
+                                show-word-limit />
                         </el-form-item>
-                        <el-form-item label="企业统一代码" prop="scySocialCode">
-                            <el-input v-model="formDetail.scySocialCode" placeholder="请输入企业统一代码" disabled maxlength="18" show-word-limit />
+                        <el-form-item
+                            label="企业统一代码"
+                            prop="scySocialCode">
+                            <el-input
+                                v-model="formDetail.scySocialCode"
+                                placeholder="请输入企业统一代码"
+                                disabled
+                                maxlength="18"
+                                show-word-limit />
                         </el-form-item>
-                        <el-form-item label="联系人" prop="scyLegal">
-                            <el-input v-model="formDetail.scyLegal" placeholder="请输入联系人" disabled maxlength="5" show-word-limit />
+                        <el-form-item
+                            label="联系人"
+                            prop="scyLegal">
+                            <el-input
+                                v-model="formDetail.scyLegal"
+                                placeholder="请输入联系人"
+                                disabled
+                                maxlength="5"
+                                show-word-limit />
                         </el-form-item>
-                        <el-form-item label="联系人手机号" prop="scyPhone">
-                            <el-input v-model="formDetail.scyPhone" placeholder="请输入联系人手机号" disabled maxlength="11" show-word-limit />
+                        <el-form-item
+                            label="联系人手机号"
+                            prop="scyPhone">
+                            <el-input
+                                v-model="formDetail.scyPhone"
+                                placeholder="请输入联系人手机号"
+                                disabled
+                                maxlength="11"
+                                show-word-limit />
                         </el-form-item>
                     </el-form>
-                    <div slot="footer" class="dialog-footer">
+                    <div
+                        slot="footer"
+                        class="dialog-footer">
                         <el-button @click="cancelDetail">取 消</el-button>
                     </div>
                 </el-dialog>
 
                 <!-- 导入窗口 -->
-                <el-dialog class="zap-upload-invoice" :visible.sync="upload.open" width="600px" :show-close="false" append-to-body>
-                    <el-row slot="title" class="zap-upload-invoice__title" type="flex" align="middle" justify="space-between">
-                        <span class="title">{{upload.title}}</span>
-                        <i class="el-icon-close" @click="upload.open = false"></i>
-                    </el-row>
-                    <el-row class="zap-upload-invoice__top">
-                        <span class="zap-upload-invoice__top-text">提示:仅允许导入“xls”或“xlsx”格式文件!</span>
-                    </el-row>
-                    <el-row type="flex" align="middle" justify="center">
-                        <el-upload class="zap-upload-invoice__form" ref="upload" :limit="1" accept=".xlsx, .xls" :headers="upload.headers" :action="upload.url + '?updateSupport=' + upload.updateSupport" :disabled="upload.isUploading" :on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" :auto-upload="false" drag>
-                            <div class="zap-upload-invoce__inner">
-                                <i class="el-icon-upload" style="font-size: 64px;color: #21b24b"></i>
-                                <div class="zap-upload-invoice__text">
-                                    将文件拖到此处,或
-                                    <span>点击上传</span>
-                                </div>
-                                <div class="zap-upload-invoice__tip">按住Ctrl可同时多选,单个文件不能超过2mb</div>
-                                <div class="zap-upload-invoice__tip">严禁上传包含色情、暴力、反动等相关违法信息的文件。</div>
-                            </div>
-                            <div class="el-upload__tip" slot="tip">
-                                <el-link type="info" style="font-size:12px" @click="importTemplate">下载模板</el-link>
-                            </div>
-                        </el-upload>
-                    </el-row>
-                    <el-row style="height: 109px;" type="flex" align="middle" justify="center">
-                        <el-button type="primary" @click="submitFileForm">确 定</el-button>
-                        <el-button @click="upload.open = false">取 消</el-button>
-                    </el-row>
-                </el-dialog>
+                <upload-import
+                    :upload="upload"
+                    :visible.sync="upload.open"
+                    append-to-body
+                    :handleFileUploadProgress="handleFileUploadProgress"
+                    :handleFileSuccess="handleFileSuccess"
+                    @importTemplate="importTemplate"
+                    @submitFileForm="submitFileForm">
+                </upload-import>
             </el-tabs>
         </div>
     </el-row>
@@ -260,11 +586,13 @@ import {
 import ColumnSetting from "../../../components/Table/columnSetting.vue";
 import Cookies from "js-cookie";
 import SearchBar from '@/components/SearchBar/index.vue'
+import UploadImport from '@/components/UploadImport/index.vue'
 export default {
     name: "companyRel",
     components: {
         ColumnSetting,
-        SearchBar
+        SearchBar,
+        UploadImport
     },
     data() {
         return {

File diff suppressed because it is too large
+ 894 - 798
front-vue/src/views/service/rel/companyRelManage.vue