Blame view

src/views/baseComapnyInfo/index.vue 9.86 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>
bc4f2fcb   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
                  </el-form-item>
bc4f2fcb   monkeyhouyi   1
30
                </el-col> -->
5330d757   monkeyhouyi   公司信息管理完成
31
32
                <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">
bc4f2fcb   monkeyhouyi   1
50
                    <el-button type="warning" 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"/>
bc4f2fcb   monkeyhouyi   1
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"/>
77e1ac72   monkeyhouyi   优化
62
                <el-table-column prop="address" label="运营主体地址" align="left" />
82cf5bfd   monkeyhouyi   联系下电话
63
                <el-table-column prop="contactPhone" show-overflow-tooltip label="联系电话" align="left"/>
af8e6fa8   monkeyhouyi   添加电话号加密显示,但未启用
64
65
66
                <!-- <el-table-column prop="contactPhone" show-overflow-tooltip label="联系电话" align="left">
                  <template slot-scope="scope">{{ scope.row.contactPhone | phoneEncryp() }}</template>
                </el-table-column> -->
f7abd928   monkeyhouyi   1.基础信息库-筛选:应用信息、运...
67
68
69
                <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   公司信息管理完成
70
71
                <el-table-column label="操作" fixed="right" width="100">
                  <template slot-scope="scope">
eb9b5842   monkeyhouyi   应用上传图片
72
                    <el-button type="text" @click="addOrUpdateHandle(scope.row.id, false)">编辑</el-button>
73755355   monkeyhouyi   优化
73
                    <!-- <el-button type="text" @click="handleDel(scope.row.id)" class="NCC-table-delBtn" >删除</el-button> -->
5330d757   monkeyhouyi   公司信息管理完成
74
75
76
                  </template>
                </el-table-column>
              </NCC-table>
65aeaaa1   monkeyhouyi   样式修改
77
              <pagination :total="total" :page.sync="listQuery.currentPage" :limit.sync="listQuery.pageSize" @pagination="initData"/>
5330d757   monkeyhouyi   公司信息管理完成
78
            </div>
477ec56f   monkeyhouyi   权限
79
          </div>
5330d757   monkeyhouyi   公司信息管理完成
80
          <NCC-Form v-if="formVisible" ref="NCCForm" @refresh="refresh" />
65aeaaa1   monkeyhouyi   样式修改
81
          <ExportBox v-if="exportBoxVisible" ref="ExportBox" @download="download"/>
5330d757   monkeyhouyi   公司信息管理完成
82
83
        </div>
      </div>
477ec56f   monkeyhouyi   权限
84
85
86
    </div>
  </template>
  <script>
5330d757   monkeyhouyi   公司信息管理完成
87
88
89
90
91
  import {
    getCompanyInfoList,
    delCompanyInfo,
    exportCompanyInfo,
  } from "@/api/baseData/company";
477ec56f   monkeyhouyi   权限
92
93
  import NCCForm from "./Form";
  import ExportBox from "./ExportBox";
65aeaaa1   monkeyhouyi   样式修改
94
  import request from "@/utils/request";
f7abd928   monkeyhouyi   1.基础信息库-筛选:应用信息、运...
95
  import infoMixin from "@/mixins/info";
65aeaaa1   monkeyhouyi   样式修改
96
  import define from '@/utils/define'
477ec56f   monkeyhouyi   权限
97
  export default {
f7abd928   monkeyhouyi   1.基础信息库-筛选:应用信息、运...
98
    mixins: [infoMixin],
477ec56f   monkeyhouyi   权限
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
    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   样式修改
118
        exportBtnLoading: false,
477ec56f   monkeyhouyi   权限
119
120
        formVisible: false,
        exportBoxVisible: false,
12fba5f0   monkeyhouyi   导入Islogin
121
122
123
124
        uploadHeaders: { 
          Authorization: this.$store.getters.token,
          IsLogin: true,
        },
477ec56f   monkeyhouyi   权限
125
126
127
128
129
130
131
132
133
134
        columnList: [
          { prop: "id", label: "主键" },
          { prop: "companyName", label: "公司名称" },
          { prop: "socialCreditAgency", label: "社会信用代" },
          { prop: "legalPerson", label: "公司法人" },
          { prop: "address", label: "公司地址" },
          { prop: "contactInformation", label: "联系方式" },
        ],
      };
    },
8994407e   monkeyhouyi   优化
135
136
137
138
139
    computed: {
      laderType() {
        return this.$store.state.user.laderType;
      }
    },
477ec56f   monkeyhouyi   权限
140
    created() {
f7abd928   monkeyhouyi   1.基础信息库-筛选:应用信息、运...
141
      this.initAreaTypeList();
5330d757   monkeyhouyi   公司信息管理完成
142
      this.initData();
477ec56f   monkeyhouyi   权限
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
    },
    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   公司信息管理完成
159
        getCompanyInfoList(query).then((res) => {
477ec56f   monkeyhouyi   权限
160
161
162
163
164
165
166
167
168
          this.list = res.data.list;
          this.total = res.data.pagination.total;
          this.listLoading = false;
        });
      },
      handleDel(id) {
        this.$confirm("此操作将永久删除该数据, 是否继续?", "提示", {
          type: "warning",
        })
5330d757   monkeyhouyi   公司信息管理完成
169
170
171
172
173
174
175
176
          .then(async () => {
            let res = await delCompanyInfo(id);
            this.$message({
              type: "success",
              message: res.msg,
              onClose: () => {
                this.initData();
              },
477ec56f   monkeyhouyi   权限
177
178
179
180
181
182
183
184
185
186
            });
          })
          .catch(() => {});
      },
      addOrUpdateHandle(id, isDetail) {
        this.formVisible = true;
        this.$nextTick(() => {
          this.$refs.NCCForm.init(id, isDetail);
        });
      },
65aeaaa1   monkeyhouyi   样式修改
187
      toUpload(response, file, fileList) {
a242b994   monkeyhouyi   附件调试
188
189
        this.$message({
          showClose: true,
dc42979c   monkeyhouyi   联系方式
190
          message: response.code == 200 ? '上传成功' : '上传失败',
a242b994   monkeyhouyi   附件调试
191
192
193
194
195
          type: response.code == 200 ? 'success' : 'error',
          close: () => {
            response.code == 200 && this.initData();
          }
        });
65aeaaa1   monkeyhouyi   样式修改
196
197
198
199
200
201
      },
      exportData(type) {
        let obj = {};
        if(type) {
          obj = {
            url: '/Extend/basecomapnyinfo/Actions/GenerateImportTemplate',
a242b994   monkeyhouyi   附件调试
202
            responseType: 'blob',
65aeaaa1   monkeyhouyi   样式修改
203
204
205
            method: "GET",
          }
        } else {
a242b994   monkeyhouyi   附件调试
206
207
          obj = {
            url: '/Extend/basecomapnyinfo/Actions/Export',
65aeaaa1   monkeyhouyi   样式修改
208
            method: "POST",
a242b994   monkeyhouyi   附件调试
209
            data: this.query,
65aeaaa1   monkeyhouyi   样式修改
210
211
212
          }
        };
        request(obj).then((res) => {
a242b994   monkeyhouyi   附件调试
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
          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   样式修改
230
231
232
233
234
235
      },
      exportForm(url) {
        const link = document.createElement("a");
        link.href = url;
        link.download = '公司信息模板.xlsx';
        link.click();
477ec56f   monkeyhouyi   权限
236
      },
5330d757   monkeyhouyi   公司信息管理完成
237
      async download(data) {
477ec56f   monkeyhouyi   权限
238
        let query = { ...data, ...this.listQuery, ...this.query };
5330d757   monkeyhouyi   公司信息管理完成
239
240
241
242
243
        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   权限
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
271
272
273
      },
      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   弹框请求优化
274
  .common-info-box .companyInfo {
477ec56f   monkeyhouyi   权限
275
276
277
278
    :deep(.el-table__body-wrapper.is-scrolling-none) {
      height: calc(100% - 47px);
      overflow-y: scroll;
    }
c21fb5b0   monkeyhouyi   巡查上报页面
279
280
281
    .item-body {
  	height: calc(100% - 35px);
    }
477ec56f   monkeyhouyi   权限
282
  }
65aeaaa1   monkeyhouyi   样式修改
283
284
285
286
  .uploadXlax {
    display: inline-block;
    margin: 0 8px;
  }
477ec56f   monkeyhouyi   权限
287
  </style>