Blame view

src/views/baseComapnyInfo/index.vue 9.59 KB
477ec56f   monkeyhouyi   权限
1
2
  <template>
    <div>
5330d757   monkeyhouyi   公司信息管理完成
3
      <div class="common-info-box item-box companyInfo">
8994407e   monkeyhouyi   优化
4
        <div class="item-title">运营主体信息</div>
5330d757   monkeyhouyi   公司信息管理完成
5
6
7
8
        <div class="item-body">
          <div class="NCC-common-layout-center">
            <el-row class="NCC-common-search-box" :gutter="16">
              <el-form @submit.native.prevent size="mini">
f7abd928   monkeyhouyi   1.基础信息库-筛选:应用信息、运...
9
                <el-col :span="4">
8994407e   monkeyhouyi   优化
10
                  <el-form-item label=""  v-if="laderType != 0">
f7abd928   monkeyhouyi   1.基础信息库-筛选:应用信息、运...
11
12
13
14
15
16
                    <el-select v-model="query.areaId" placeholder="请选择所属区(市)县" clearable>
                      <el-option v-for="item in areaOptions" :key="item.id" :label="item.fullName" :value="item.id"/>
                    </el-select>
                  </el-form-item>
                </el-col>
                <el-col :span="3">
c21fb5b0   monkeyhouyi   巡查上报页面
17
                  <el-form-item label="">
65aeaaa1   monkeyhouyi   样式修改
18
                    <el-input v-model="query.companyName" placeholder="运营主体名称" clearable/>
5330d757   monkeyhouyi   公司信息管理完成
19
20
                  </el-form-item>
                </el-col>
f7abd928   monkeyhouyi   1.基础信息库-筛选:应用信息、运...
21
                <el-col :span="3">
c21fb5b0   monkeyhouyi   巡查上报页面
22
                  <el-form-item label="">
65aeaaa1   monkeyhouyi   样式修改
23
                    <el-input v-model="query.legalPerson" placeholder="运营主体法人" clearable/>
5330d757   monkeyhouyi   公司信息管理完成
24
25
                  </el-form-item>
                </el-col>
f7abd928   monkeyhouyi   1.基础信息库-筛选:应用信息、运...
26
                <el-col :span="3">
c21fb5b0   monkeyhouyi   巡查上报页面
27
                  <el-form-item label="">
1388fe70   monkeyhouyi   字段
28
                    <el-input v-model="query.socialCreditAgency" placeholder="社会信用代码" clearable/>
5330d757   monkeyhouyi   公司信息管理完成
29
30
31
32
                  </el-form-item>
                </el-col>
                <el-col :span="4">
                  <el-form-item>
65aeaaa1   monkeyhouyi   样式修改
33
                    <el-button type="primary" icon="el-icon-search" @click="search()">搜索</el-button>
f7abd928   monkeyhouyi   1.基础信息库-筛选:应用信息、运...
34
                    <el-button icon="el-icon-refresh-right" @click="reset()">重置</el-button>
5330d757   monkeyhouyi   公司信息管理完成
35
36
37
38
                  </el-form-item>
                </el-col>
              </el-form>
              <div class="NCC-common-search-box-right">
89ab0203   monkeyhouyi   修改个人信息弹框
39
                <el-button type="success" icon="el-icon-plus" @click="addOrUpdateHandle()" size="mini" >新增</el-button>
a242b994   monkeyhouyi   附件调试
40
                <el-button type="primary" icon="el-icon-download" size="mini" @click="exportData('demo')">导出模板</el-button>
65aeaaa1   monkeyhouyi   样式修改
41
42
43
44
45
46
47
                <el-upload
                  class="uploadXlax"
                  :action="define.APIURl + '/api/Extend/basecomapnyinfo/Actions/ImportByExcel'"
                  :headers="uploadHeaders"
                  :on-success="toUpload"
                  :show-file-list="false"
                  name="excelfile"
65aeaaa1   monkeyhouyi   样式修改
48
49
                >
                  <div class="avatar-box">
a242b994   monkeyhouyi   附件调试
50
                    <el-button type="info" icon="el-icon-upload" size="mini">导入</el-button>
65aeaaa1   monkeyhouyi   样式修改
51
52
                  </div>
                </el-upload>
a242b994   monkeyhouyi   附件调试
53
                <el-button type="primary" icon="el-icon-download" :loading="exportBtnLoading" size="mini" @click="exportData()">导出</el-button>
477ec56f   monkeyhouyi   权限
54
              </div>
5330d757   monkeyhouyi   公司信息管理完成
55
56
            </el-row>
            <div class="NCC-common-layout-main NCC-flex-main">
5330d757   monkeyhouyi   公司信息管理完成
57
              <NCC-table v-loading="listLoading" :data="list">
65aeaaa1   monkeyhouyi   样式修改
58
59
                <!-- <el-table-column prop="id" label="主键" align="left" /> -->
                <el-table-column prop="companyName" label="运营主体名称" show-overflow-tooltip align="left"/>
1388fe70   monkeyhouyi   字段
60
                <el-table-column prop="socialCreditAgency" label="社会信用代码" show-overflow-tooltip align="left"/>
65aeaaa1   monkeyhouyi   样式修改
61
                <el-table-column prop="legalPerson" label="运营主体法人" show-overflow-tooltip align="left"/>
5330d757   monkeyhouyi   公司信息管理完成
62
                <el-table-column prop="address" label="公司地址" align="left" />
82cf5bfd   monkeyhouyi   联系下电话
63
                <el-table-column prop="contactPhone" show-overflow-tooltip label="联系电话" align="left"/>
f7abd928   monkeyhouyi   1.基础信息库-筛选:应用信息、运...
64
65
66
                <el-table-column label="所属区(市)县" prop="areaId" align="left" show-overflow-tooltip>
                  <template slot-scope="scope">{{ scope.row.areaId | dynamicText(areaOptions) }}</template>
                </el-table-column>
5330d757   monkeyhouyi   公司信息管理完成
67
68
                <el-table-column label="操作" fixed="right" width="100">
                  <template slot-scope="scope">
eb9b5842   monkeyhouyi   应用上传图片
69
                    <el-button type="text" @click="addOrUpdateHandle(scope.row.id, false)">编辑</el-button>
73755355   monkeyhouyi   优化
70
                    <!-- <el-button type="text" @click="handleDel(scope.row.id)" class="NCC-table-delBtn" >删除</el-button> -->
5330d757   monkeyhouyi   公司信息管理完成
71
72
73
                  </template>
                </el-table-column>
              </NCC-table>
65aeaaa1   monkeyhouyi   样式修改
74
              <pagination :total="total" :page.sync="listQuery.currentPage" :limit.sync="listQuery.pageSize" @pagination="initData"/>
5330d757   monkeyhouyi   公司信息管理完成
75
            </div>
477ec56f   monkeyhouyi   权限
76
          </div>
5330d757   monkeyhouyi   公司信息管理完成
77
          <NCC-Form v-if="formVisible" ref="NCCForm" @refresh="refresh" />
65aeaaa1   monkeyhouyi   样式修改
78
          <ExportBox v-if="exportBoxVisible" ref="ExportBox" @download="download"/>
5330d757   monkeyhouyi   公司信息管理完成
79
80
        </div>
      </div>
477ec56f   monkeyhouyi   权限
81
82
83
    </div>
  </template>
  <script>
5330d757   monkeyhouyi   公司信息管理完成
84
85
86
87
88
  import {
    getCompanyInfoList,
    delCompanyInfo,
    exportCompanyInfo,
  } from "@/api/baseData/company";
477ec56f   monkeyhouyi   权限
89
90
  import NCCForm from "./Form";
  import ExportBox from "./ExportBox";
65aeaaa1   monkeyhouyi   样式修改
91
  import request from "@/utils/request";
f7abd928   monkeyhouyi   1.基础信息库-筛选:应用信息、运...
92
  import infoMixin from "@/mixins/info";
65aeaaa1   monkeyhouyi   样式修改
93
  import define from '@/utils/define'
477ec56f   monkeyhouyi   权限
94
  export default {
f7abd928   monkeyhouyi   1.基础信息库-筛选:应用信息、运...
95
    mixins: [infoMixin],
477ec56f   monkeyhouyi   权限
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
    components: { NCCForm, ExportBox },
    data() {
      return {
        showAll: false,
        query: {
          companyName: undefined,
          legalPerson: undefined,
          socialCreditAgency: undefined,
        },
        list: [],
        listLoading: true,
        multipleSelection: [],
        total: 0,
        listQuery: {
          currentPage: 1,
          pageSize: 20,
          sort: "desc",
          sidx: "",
        },
65aeaaa1   monkeyhouyi   样式修改
115
        exportBtnLoading: false,
477ec56f   monkeyhouyi   权限
116
117
        formVisible: false,
        exportBoxVisible: false,
12fba5f0   monkeyhouyi   导入Islogin
118
119
120
121
        uploadHeaders: { 
          Authorization: this.$store.getters.token,
          IsLogin: true,
        },
477ec56f   monkeyhouyi   权限
122
123
124
125
126
127
128
129
130
131
        columnList: [
          { prop: "id", label: "主键" },
          { prop: "companyName", label: "公司名称" },
          { prop: "socialCreditAgency", label: "社会信用代" },
          { prop: "legalPerson", label: "公司法人" },
          { prop: "address", label: "公司地址" },
          { prop: "contactInformation", label: "联系方式" },
        ],
      };
    },
8994407e   monkeyhouyi   优化
132
133
134
135
136
    computed: {
      laderType() {
        return this.$store.state.user.laderType;
      }
    },
477ec56f   monkeyhouyi   权限
137
    created() {
f7abd928   monkeyhouyi   1.基础信息库-筛选:应用信息、运...
138
      this.initAreaTypeList();
5330d757   monkeyhouyi   公司信息管理完成
139
      this.initData();
477ec56f   monkeyhouyi   权限
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
    },
    methods: {
      initData() {
        this.listLoading = true;
        let _query = {
          ...this.listQuery,
          ...this.query,
        };
        let query = {};
        for (let key in _query) {
          if (Array.isArray(_query[key])) {
            query[key] = _query[key].join();
          } else {
            query[key] = _query[key];
          }
        }
5330d757   monkeyhouyi   公司信息管理完成
156
        getCompanyInfoList(query).then((res) => {
477ec56f   monkeyhouyi   权限
157
158
159
160
161
162
163
164
165
          this.list = res.data.list;
          this.total = res.data.pagination.total;
          this.listLoading = false;
        });
      },
      handleDel(id) {
        this.$confirm("此操作将永久删除该数据, 是否继续?", "提示", {
          type: "warning",
        })
5330d757   monkeyhouyi   公司信息管理完成
166
167
168
169
170
171
172
173
          .then(async () => {
            let res = await delCompanyInfo(id);
            this.$message({
              type: "success",
              message: res.msg,
              onClose: () => {
                this.initData();
              },
477ec56f   monkeyhouyi   权限
174
175
176
177
178
179
180
181
182
183
            });
          })
          .catch(() => {});
      },
      addOrUpdateHandle(id, isDetail) {
        this.formVisible = true;
        this.$nextTick(() => {
          this.$refs.NCCForm.init(id, isDetail);
        });
      },
65aeaaa1   monkeyhouyi   样式修改
184
      toUpload(response, file, fileList) {
a242b994   monkeyhouyi   附件调试
185
186
        this.$message({
          showClose: true,
dc42979c   monkeyhouyi   联系方式
187
          message: response.code == 200 ? '上传成功' : '上传失败',
a242b994   monkeyhouyi   附件调试
188
189
190
191
192
          type: response.code == 200 ? 'success' : 'error',
          close: () => {
            response.code == 200 && this.initData();
          }
        });
65aeaaa1   monkeyhouyi   样式修改
193
194
195
196
197
198
      },
      exportData(type) {
        let obj = {};
        if(type) {
          obj = {
            url: '/Extend/basecomapnyinfo/Actions/GenerateImportTemplate',
a242b994   monkeyhouyi   附件调试
199
            responseType: 'blob',
65aeaaa1   monkeyhouyi   样式修改
200
201
202
            method: "GET",
          }
        } else {
a242b994   monkeyhouyi   附件调试
203
204
          obj = {
            url: '/Extend/basecomapnyinfo/Actions/Export',
65aeaaa1   monkeyhouyi   样式修改
205
            method: "POST",
a242b994   monkeyhouyi   附件调试
206
            data: this.query,
65aeaaa1   monkeyhouyi   样式修改
207
208
209
          }
        };
        request(obj).then((res) => {
a242b994   monkeyhouyi   附件调试
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
          if(type) {
            const blob = new Blob([res], {type: 'application/json'});
            const url = window.URL.createObjectURL(blob);
            let link = document.createElement('a');
            link.style.display = 'none';
            link.href = url;
            link.download = '公司录入模板.xlsx';
            link.click();
          } else {
            if(res.code != 200) return;
            const url = define.APIURl + res.data.url;
            const link = document.createElement("a");
            link.href = url;
            link.download = res.data.name;
            link.click();
          }
        })
65aeaaa1   monkeyhouyi   样式修改
227
228
229
230
231
232
      },
      exportForm(url) {
        const link = document.createElement("a");
        link.href = url;
        link.download = '公司信息模板.xlsx';
        link.click();
477ec56f   monkeyhouyi   权限
233
      },
5330d757   monkeyhouyi   公司信息管理完成
234
      async download(data) {
477ec56f   monkeyhouyi   权限
235
        let query = { ...data, ...this.listQuery, ...this.query };
5330d757   monkeyhouyi   公司信息管理完成
236
237
238
239
240
        let res = await exportCompanyInfo(query);
        if (!res.data.url) return;
        window.location.href = this.define.comUrl + res.data.url;
        this.$refs.ExportBox.visible = false;
        this.exportBoxVisible = false;
477ec56f   monkeyhouyi   权限
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
      },
      search() {
        this.listQuery = {
          currentPage: 1,
          pageSize: 20,
          sort: "desc",
          sidx: "",
        };
        this.initData();
      },
      refresh(isrRefresh) {
        this.formVisible = false;
        if (isrRefresh) this.reset();
      },
      reset() {
        for (let key in this.query) {
          this.query[key] = undefined;
        }
        this.listQuery = {
          currentPage: 1,
          pageSize: 20,
          sort: "desc",
          sidx: "",
        };
        this.initData();
      },
    },
  };
  </script>
  <style lang="scss" scoped>
0af91599   monkeyhouyi   弹框请求优化
271
  .common-info-box .companyInfo {
477ec56f   monkeyhouyi   权限
272
273
274
275
    :deep(.el-table__body-wrapper.is-scrolling-none) {
      height: calc(100% - 47px);
      overflow-y: scroll;
    }
c21fb5b0   monkeyhouyi   巡查上报页面
276
277
278
    .item-body {
  	height: calc(100% - 35px);
    }
477ec56f   monkeyhouyi   权限
279
  }
65aeaaa1   monkeyhouyi   样式修改
280
281
282
283
  .uploadXlax {
    display: inline-block;
    margin: 0 8px;
  }
477ec56f   monkeyhouyi   权限
284
  </style>