jiangping
2024-01-26 c33f817873fa2316cca1b8e160d94c846a40ad41
开发业务接口
已修改5个文件
163 ■■■■■ 文件已修改
company/.env.development 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/api/business/company.js 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/api/business/solutions.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaCompanyDescWindow.vue 122 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/views/business/company.vue 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/.env.development
@@ -1,6 +1,7 @@
# 开发环境配置
NODE_ENV = 'development'
# VUE_APP_API = 'http://192.168.0.104:10023/'
VUE_APP_API = 'http://192.168.0.104:10023/'
VUE_APP_API = 'http://192.168.0.104:10023/'
# VUE_APP_API = 'http://192.168.0.134:10023/'
company/src/api/business/company.js
@@ -21,3 +21,13 @@
export function pageAll (data) {
    return request.post('/business/company/pageAll', data)
}
// 根据ID禁用启用
export function updateStatus (data) {
    return request.post('/business/company/updateStatus', data)
}
// 根据ID查询
export function getById (id) {
    return request.get(`/business/company/${id}`)
}
company/src/api/business/solutions.js
@@ -31,3 +31,8 @@
export function solutionsId (id) {
    return request.get(`/business/solutions/${id}`)
}
// 查询企业全部关联方案
export function listForCompany (data) {
    return request.post('/business/companySolution/listForCompany', data)
}
company/src/components/business/OperaCompanyDescWindow.vue
@@ -1,7 +1,7 @@
<template>
    <GlobalWindow
        :title="title"
        width="60%"
        width="80%"
        :visible.sync="visible"
        :confirm-working="isWorking"
        @confirm="confirm"
@@ -14,54 +14,54 @@
            <div class="info_list">
                <div class="info_list_item">
                    <div class="info_list_item_label">企业名称:</div>
                    <div class="info_list_item_val">安徽格力人力资源有限公司</div>
                    <div class="info_list_item_val">{{form.name || '-'}}</div>
                </div>
                <div class="info_list_item">
                    <div class="info_list_item_label">统一信用代码:</div>
                    <div class="info_list_item_val">913418210000000000</div>
                    <div class="info_list_item_val">{{form.code || '-'}}</div>
                </div>
                <div class="info_list_item">
                    <div class="info_list_item_label">公司账号:</div>
                    <div class="info_list_item_val">qq2131321</div>
                    <div class="info_list_item_val">{{form.username || '-'}}</div>
                </div>
                <div class="info_list_item">
                    <div class="info_list_item_label">绑定手机号:</div>
                    <div class="info_list_item_val">
                        13555556666
                        {{form.phone || '-'}}
                        <el-button type="primary" size="mini" style="margin-left: 10px;" @click="visiblePhone = true">更改绑定</el-button>
                    </div>
                </div>
                <div class="info_list_item">
                    <div class="info_list_item_label">认证邮箱:</div>
                    <div class="info_list_item_val">123456@11.com</div>
                    <div class="info_list_item_val">{{form.email || '-'}}</div>
                </div>
                <div class="info_list_item">
                    <div class="info_list_item_label">纳税人识别号:</div>
                    <div class="info_list_item_val">913418210000000000</div>
                    <div class="info_list_item_val">{{form.taxCode || '-'}}</div>
                </div>
                <div class="info_list_item">
                    <div class="info_list_item_label">开户行:</div>
                    <div class="info_list_item_val">安徽农村商业银行股份有限公司合肥支行</div>
                    <div class="info_list_item_val">{{form.taxBank || '-'}}</div>
                </div>
                <div class="info_list_item">
                    <div class="info_list_item_label">银行账号:</div>
                    <div class="info_list_item_val">20010355666666600000000</div>
                    <div class="info_list_item_val">{{form.taxAccount || '-'}}</div>
                </div>
                <div class="info_list_item" style="width: 100%;">
                    <div class="info_list_item_label">地址、电话:</div>
                    <div class="info_list_item_val">安徽省合肥市经济技术开发区莲花路以东、石门路以南莲花路1#     0551-63450845</div>
                    <div class="info_list_item_val">{{form.taxAddr || '-'}}</div>
                </div>
                <div class="info_list_item" style="width: 100%;">
                    <div class="info_list_item_label">电子发票接收地址:</div>
                    <div class="info_list_item_val">111122223333@qq.com</div>
                    <div class="info_list_item_val">{{form.invoiceEmail || '-'}}</div>
                </div>
                <div class="info_list_item" style="width: 100%;">
                    <div class="info_list_item_label">电子发票接收地址:</div>
                    <div class="info_list_item_val">安徽省合肥市经济技术开发区莲花路以东、石门路以南莲花路1#     李经理    13555556666</div>
                    <div class="info_list_item_val">{{form.invoiceAddr || '-'}}</div>
                </div>
            </div>
            <el-table
                :data="tableData"
                :data="form.solutionListName"
                border
                style="width: 100%; margin-bottom: 20px;">
                <el-table-column
@@ -73,67 +73,51 @@
                    </template>
                </el-table-column>
                <el-table-column
                    prop="solutionName"
                    align="center"
                    label="保险方案">
                    <template slot-scope="{row}">
                        <el-select v-model="row.info" placeholder="请选择">
                            <el-option
                                v-for="item in options"
                                :key="item.value"
                                :label="item.label"
                                :value="item.value">
                            </el-option>
                        </el-select>
                    </template>
                </el-table-column>
                <el-table-column
                    align="center"
                    label="加减保功能">
                    <template slot-scope="{row}">
                        <el-checkbox-group v-model="row.type">
                            <el-checkbox label="1">加保</el-checkbox>
                            <el-checkbox label="2">减保</el-checkbox>
                        </el-checkbox-group>
                    </template>
                </el-table-column>
                <el-table-column
                    label="操作"
                    align="center"
                    width="100">
                    <template slot-scope="scope">
                        <el-button type="text" size="small" style="color: red;">删除</el-button>
                        <el-checkbox :true-label="1" :false-label="0" disabled v-model="row.canAdd">加保</el-checkbox>
                        <el-checkbox :true-label="1" :false-label="0" disabled v-model="row.canReduce">减保</el-checkbox>
                    </template>
                </el-table-column>
            </el-table>
            <div class="info_list">
            <div class="info_list" v-if="JSON.stringify(form) !== '{}'">
                <div class="info_list_item">
                    <div class="info_list_item_label" style="width: 100px;">营业执照:</div>
                    <div class="info_list_item_val">
                        <div class="image">
                            <img src="@/assets/images/404.png" alt="">
                        <div class="image" v-if="form.businessImg.fileurlFull">
                            <img :src="form.businessImg.fileurlFull" alt="">
                        </div>
                    </div>
                </div>
                <div class="info_list_item">
                    <div class="info_list_item_label" style="width: 100px;">法人身份证:</div>
                    <div class="info_list_item_val">
                        <div class="image">
                            <img src="@/assets/images/404.png" alt="">
                        <div class="image" v-if="form.idcardImgList[0].fileurlFull">
                            <img :src="form.idcardImgList[0].fileurlFull" alt="">
                        </div>
                        <div class="image" v-if="form.idcardImgList[1].fileurlFull">
                            <img :src="form.idcardImgList[1].fileurlFull" alt="">
                        </div>
                    </div>
                </div>
                <div class="info_list_item">
                    <div class="info_list_item_label" style="width: 100px;">企业签章:</div>
                    <div class="info_list_item_val">
                        <div class="image">
                            <img src="@/assets/images/404.png" alt="">
                        <div class="image" v-if="form.signImg.fileurlFull">
                            <img :src="form.signImg.fileurlFull" alt="">
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <!-- 新建/修改 -->
        <OperaCompanyWindow ref="operaCompanyWindow" @success="handlePageChange"/>
        <OperaCompanyWindow ref="operaCompanyWindow" @success="callback"/>
        <el-dialog
            title="更改绑定手机号"
            :visible.sync="visiblePhone"
@@ -169,6 +153,8 @@
    import BaseOpera from '@/components/base/BaseOpera'
    import GlobalWindow from '@/components/common/GlobalWindow'
    import OperaCompanyWindow from '@/components/business/OperaCompanyWindow'
    import { getById } from '@/api/business/company'
    import { listForCompany } from '@/api/business/solutions'
    export default {
        name: 'OperaCompanyDescWindow',
        extends: BaseOpera,
@@ -180,19 +166,7 @@
                    code: ''
                },
                // 表单数据
                form: {
                    id: null,
                    name: '',
                    code: '',
                    taxCode: '',
                    taxAccount: '',
                    taxBank: '',
                    taxAddr: '',
                    invoiceEmail: '',
                    invoiceAddr: '',
                    phone: '',
                    email: ''
                },
                form: {},
                visiblePhone: false,
                options: [],
                tableData: []
@@ -203,6 +177,38 @@
                api: '/business/company',
                'field.id': 'id'
            })
        },
        methods: {
            open (title, target) {
                const that = this;
                this.title = title
                getById(target.id)
                    .then(res => {
                        this.form = res
                        listForCompany({ companyId: target.id })
                            .then(resa => {
                                that.form.solutionList = resa.map(item => {
                                    return {
                                        solutionBaseId: item.solutionBaseId,
                                        canAdd: item.canAdd,
                                        canReduce: item.canReduce
                                    }
                                })
                                that.form.solutionListName = resa.map(item => {
                                    return {
                                        solutionName: item.solutionName,
                                        canAdd: item.canAdd,
                                        canReduce: item.canReduce
                                    }
                                })
                                that.visible = true
                            })
                    })
            },
            callback() {
                this.$emit('success')
                this.visible = false
            }
        }
    }
</script>
@@ -283,6 +289,10 @@
                        align-items: center;
                        justify-content: center;
                        overflow: hidden;
                        margin-right: 10px;
                        &:last-child {
                            margin: 0 !important;
                        }
                        img {
                            width: 100%;
                        }
company/src/views/business/company.vue
@@ -19,8 +19,7 @@
        <!-- 表格和分页 -->
        <template v-slot:table-wrap>
            <ul class="toolbar" v-permissions="['business:company:create']">
                <li><el-button type="primary" @click="$refs.operaCompanyWindow.open('新建企业信息表')" v-permissions="['business:company:create']">新建企业</el-button></li>
                <li><el-button type="primary" @click="$refs.OperaCompanyDescWindow.open('详情')" v-permissions="['business:company:create']">详情</el-button></li>
                <li><el-button type="primary" @click="$refs.operaCompanyWindow.open('新建企业')" v-permissions="['business:company:create']">新建企业</el-button></li>
            </ul>
            <el-table
                v-loading="isWorking.search"
@@ -34,6 +33,7 @@
                <el-table-column label="启用状态" min-width="100px">
                    <template slot-scope="{row}">
                        <el-switch
                            @change="changeStatus($event, row)"
                            v-model="row.status"
                            active-color="#13ce66"
                            inactive-color="#ff4949"
@@ -49,9 +49,9 @@
                    fixed="right"
                >
                    <template slot-scope="{row}">
                        <el-button type="text" @click="$refs.operaCompanyWindow.open('编辑企业信息表', row)" icon="el-icon-edit" v-permissions="['business:company:update']">查看详情</el-button>
                        <el-button type="text" @click="$refs.operaCompanyWindow.open('编辑企业信息表', row)" icon="el-icon-edit" v-permissions="['business:company:update']">修改</el-button>
                        <el-button type="text" @click="$refs.operaCompanyWindow.open('编辑企业信息表', row)" icon="el-icon-edit" v-permissions="['business:company:update']">电子签认证</el-button>
                        <el-button type="text" @click="$refs.OperaCompanyDescWindow.open('企业详情', row)"  v-permissions="['business:company:update']">查看详情</el-button>
                        <el-button type="text" @click="$refs.operaCompanyWindow.open('编辑企业信息表', row)" v-permissions="['business:company:update']">修改</el-button>
                        <el-button type="text" @click="$refs.operaCompanyWindow.open('编辑企业信息表', row)" v-permissions="['business:company:update']">电子签认证</el-button>
                    </template>
                </el-table-column>
            </el-table>
@@ -75,6 +75,7 @@
    import Pagination from '@/components/common/Pagination'
    import OperaCompanyWindow from '@/components/business/OperaCompanyWindow'
    import OperaCompanyDescWindow from '@/components/business/OperaCompanyDescWindow'
    import { updateStatus } from '@/api/business/company'
    export default {
        name: 'Company',
        extends: BaseTable,
@@ -96,6 +97,18 @@
                'field.main': 'id'
            })
            this.search()
        },
        methods: {
            // 修改状态
            changeStatus(status, row) {
                updateStatus({ id: row.id, status })
                    .then(res => {
                        this.search()
                    })
                    .catch(err => {
                        row.status = row.status === 0 ? 1 : 0
                    })
            }
        }
    }
</script>