Blame view

src/views/baseComapnyInfo/index.vue 10.1 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>
e8dbf78f   monkeyhouyi   设置id=77777的人员可以删除...
73
                    <el-button type="text" @click="handleDel(scope.row.id)" class="NCC-table-delBtn" v-if="isSHILevel && userId == '77777'">删除</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
    computed: {
e8dbf78f   monkeyhouyi   设置id=77777的人员可以删除...
136
137
138
139
140
141
142
143
      isSHILevel() {
        // 判断角色是否为‘市级办公室’
        return this.$store.state.user.islader;
      },
      userId() {
        // admin1这个人可以删除数据
        return this.$store.state.user.id;
      },
8994407e   monkeyhouyi   优化
144
145
146
147
      laderType() {
        return this.$store.state.user.laderType;
      }
    },
477ec56f   monkeyhouyi   权限
148
    created() {
f7abd928   monkeyhouyi   1.基础信息库-筛选:应用信息、运...
149
      this.initAreaTypeList();
5330d757   monkeyhouyi   公司信息管理完成
150
      this.initData();
477ec56f   monkeyhouyi   权限
151
152
153
    },
    methods: {
      initData() {
bae8b004   monkeyhouyi   1
154
        this.list = [];
477ec56f   monkeyhouyi   权限
155
156
157
158
159
160
161
162
163
164
165
166
167
        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   公司信息管理完成
168
        getCompanyInfoList(query).then((res) => {
477ec56f   monkeyhouyi   权限
169
170
171
172
173
174
175
176
177
          this.list = res.data.list;
          this.total = res.data.pagination.total;
          this.listLoading = false;
        });
      },
      handleDel(id) {
        this.$confirm("此操作将永久删除该数据, 是否继续?", "提示", {
          type: "warning",
        })
5330d757   monkeyhouyi   公司信息管理完成
178
179
180
181
182
183
184
185
          .then(async () => {
            let res = await delCompanyInfo(id);
            this.$message({
              type: "success",
              message: res.msg,
              onClose: () => {
                this.initData();
              },
477ec56f   monkeyhouyi   权限
186
187
188
189
190
191
192
193
194
195
            });
          })
          .catch(() => {});
      },
      addOrUpdateHandle(id, isDetail) {
        this.formVisible = true;
        this.$nextTick(() => {
          this.$refs.NCCForm.init(id, isDetail);
        });
      },
65aeaaa1   monkeyhouyi   样式修改
196
      toUpload(response, file, fileList) {
a242b994   monkeyhouyi   附件调试
197
198
        this.$message({
          showClose: true,
dc42979c   monkeyhouyi   联系方式
199
          message: response.code == 200 ? '上传成功' : '上传失败',
a242b994   monkeyhouyi   附件调试
200
201
202
203
204
          type: response.code == 200 ? 'success' : 'error',
          close: () => {
            response.code == 200 && this.initData();
          }
        });
65aeaaa1   monkeyhouyi   样式修改
205
206
207
208
209
210
      },
      exportData(type) {
        let obj = {};
        if(type) {
          obj = {
            url: '/Extend/basecomapnyinfo/Actions/GenerateImportTemplate',
a242b994   monkeyhouyi   附件调试
211
            responseType: 'blob',
65aeaaa1   monkeyhouyi   样式修改
212
213
214
            method: "GET",
          }
        } else {
a242b994   monkeyhouyi   附件调试
215
216
          obj = {
            url: '/Extend/basecomapnyinfo/Actions/Export',
65aeaaa1   monkeyhouyi   样式修改
217
            method: "POST",
a242b994   monkeyhouyi   附件调试
218
            data: this.query,
65aeaaa1   monkeyhouyi   样式修改
219
220
221
          }
        };
        request(obj).then((res) => {
a242b994   monkeyhouyi   附件调试
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
          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   样式修改
239
240
241
242
243
244
      },
      exportForm(url) {
        const link = document.createElement("a");
        link.href = url;
        link.download = '公司信息模板.xlsx';
        link.click();
477ec56f   monkeyhouyi   权限
245
      },
5330d757   monkeyhouyi   公司信息管理完成
246
      async download(data) {
477ec56f   monkeyhouyi   权限
247
        let query = { ...data, ...this.listQuery, ...this.query };
5330d757   monkeyhouyi   公司信息管理完成
248
249
250
251
252
        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   权限
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
      },
      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   弹框请求优化
283
  .common-info-box .companyInfo {
477ec56f   monkeyhouyi   权限
284
285
286
287
    :deep(.el-table__body-wrapper.is-scrolling-none) {
      height: calc(100% - 47px);
      overflow-y: scroll;
    }
c21fb5b0   monkeyhouyi   巡查上报页面
288
289
290
    .item-body {
  	height: calc(100% - 35px);
    }
477ec56f   monkeyhouyi   权限
291
  }
65aeaaa1   monkeyhouyi   样式修改
292
293
294
295
  .uploadXlax {
    display: inline-block;
    margin: 0 8px;
  }
477ec56f   monkeyhouyi   权限
296
  </style>