jiangping
2024-02-02 5eb40c731da8ccf235ba557f97a5e05a70a75308
Merge remote-tracking branch 'origin/master'
已添加1个文件
已修改18个文件
500 ■■■■■ 文件已修改
company/src/api/business/member.js 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/ApplyChangeDetails.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/ApplyChangeUnitDetails.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/InsuranceDetails.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaApplyChangeDetailWindow.vue 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaApplyChangeUnitDetailWindow.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaApplyChangeWindow.vue 162 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaDispatchUnitWindow.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaInsuranceApplyWindow.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaPolicyListWindow.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaSettleClaimsCheckWindow.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaSettleClaimsWindow.vue 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaSwitchCourtWindow.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/dispatchUnitDetailsPlat.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/dispatchUnitReviewDetails.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/policyListDetails.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/enterprise/dispatchUnitDetails.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/enterprise/insuranceRecords.vue 134 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/views/business/member.vue 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/api/business/member.js
@@ -26,3 +26,10 @@
export function findList (data) {
    return request.post('/business/memberInsurance/findList', data)
}
// å¯¼å‡ºExcel
export function exportExcel (data) {
    return request.post('/business/memberInsurance/exportExcel', data, {
        download: true
    })
}
company/src/components/business/ApplyChangeDetails.vue
@@ -113,7 +113,7 @@
                // éªŒè¯è§„则
                rules: {
                },
                reverse: true,
                reverse: false,
                tableData: []
            }
        },
company/src/components/business/ApplyChangeUnitDetails.vue
@@ -99,7 +99,7 @@
                // éªŒè¯è§„则
                rules: {
                },
                reverse: true,
                reverse: false,
                tableData: []
            }
        },
company/src/components/business/InsuranceDetails.vue
@@ -118,7 +118,7 @@
                // éªŒè¯è§„则
                rules: {
                },
                reverse: true,
                reverse: false,
                tableData: []
            }
        },
company/src/components/business/OperaApplyChangeDetailWindow.vue
@@ -11,17 +11,14 @@
                <div class="desc_item_label">
                    <div class="desc_item_label_left">
                        <span>投保企业:{{ apply.companyName }}</span>
                      <span v-if="model.status === 0">保单状态:待签署</span>
<<<<<<< HEAD
                      <span v-if="model.status === 1">保单状态:待审核</span>
                      <span v-if="model.status === 2">保单状态:已上传批单</span>
=======
                      <span v-if="model.status === 1">保单状态:已签章</span>
                      <span v-if="model.status === 2">保单状态:已生效</span>
>>>>>>> 35bd55ad951fe8c5fb997dfa7bd836ad53db96fe
                      <span v-if="model.status === 3 || model.status === 4">保单状态:退回申请</span>
                      <span v-if="model.status === 5 || model.status === 8">保单状态:已退回</span>
                      <span v-if="model.status === 7 || model.status === 6">保单状态:已关闭</span>
                        <span v-if="model.status === 0">保单状态:待签署</span>
                        <span v-if="model.status === 1">保单状态:待审核</span>
                        <span v-if="model.status === 2">保单状态:已上传批单</span>
                        <span v-if="model.status === 1">保单状态:已签章</span>
                        <span v-if="model.status === 2">保单状态:已生效</span>
                        <span v-if="model.status === 3 || model.status === 4">保单状态:退回申请</span>
                        <span v-if="model.status === 5 || model.status === 8">保单状态:已退回</span>
                        <span v-if="model.status === 7 || model.status === 6">保单状态:已关闭</span>
                        <span>提交时间:{{ model.createDate }}</span>
                    </div>
                  <div class="desc_item_label_right">
@@ -247,7 +244,7 @@
          memberName: '',
          types: ''
      },
      reverse: true,
      reverse: false,
      radio: 0,
      activities: [],
      tableData: [],
@@ -450,6 +447,9 @@
                align-items: center;
                justify-content: space-between;
                margin-bottom: 10px;
                .desc_item_label_left {
                    flex-shrink: 0;
                }
                span {
                    font-size: 14px;
                    color: black;
company/src/components/business/OperaApplyChangeUnitDetailWindow.vue
@@ -243,7 +243,7 @@
          memberName: '',
          types: ''
      },
      reverse: true,
      reverse: false,
      radio: 0,
      activities: [],
      tableData: [],
company/src/components/business/OperaApplyChangeWindow.vue
@@ -285,88 +285,88 @@
</template>
<script>
    import BaseOpera from '@/components/base/BaseOpera'
    import GlobalWindow from '@/components/common/GlobalWindow'
    import applyChangeDetails from '@/components/business/applyChangeDetails'
    export default {
        name: 'OperaApplyChangeWindow',
        extends: BaseOpera,
        components: { GlobalWindow, applyChangeDetails },
        data () {
            return {
                // è¡¨å•数据
                form: {
                    id: null,
                    editDate: ''
                },
                // éªŒè¯è§„则
                rules: {
                },
                formInline: {
                    user: '',
                    region: ''
                },
                visible1: false,
                visible2: false,
                visible3: false,
                visible4: false,
                visible5: false,
                reverse: true,
                radio: 0,
                fileList: [
                    {name: 'food.pdf', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'}
                ],
                activities: [{
                    content: '活动按期开始',
                    timestamp: '2018-04-15'
                }, {
                    content: '通过审核',
                    timestamp: '2018-04-13'
                }, {
                    content: '创建成功',
                    timestamp: '2018-04-11'
                }],
                tableData: [],
                activeName: 'first',
                currentPage: 1
            }
        },
        created () {
            this.config({
                api: '/business/insuranceApply',
                'field.id': 'id'
            })
        },
        methods: {
            handleRemove(file, fileList) {
                console.log(file, fileList);
            },
            handlePreview(file) {
                console.log(file);
            },
            handleExceed(files, fileList) {
                this.$message.warning(`当前限制选择 3 ä¸ªæ–‡ä»¶ï¼Œæœ¬æ¬¡é€‰æ‹©äº† ${files.length} ä¸ªæ–‡ä»¶ï¼Œå…±é€‰æ‹©äº† ${files.length + fileList.length} ä¸ªæ–‡ä»¶`);
            },
            beforeRemove(file, fileList) {
                return this.$confirm(`确定移除 ${ file.name }?`);
            },
            successEvent() {
            },
            handleSizeChange(val) {
                console.log(`每页 ${val} æ¡`);
            },
            handleCurrentChange(val) {
                console.log(`当前页: ${val}`);
            },
            handleClick(tab, event) {
                console.log(tab, event);
            },
            onSubmit() {
            }
        }
import BaseOpera from '@/components/base/BaseOpera'
import GlobalWindow from '@/components/common/GlobalWindow'
import applyChangeDetails from '@/components/business/applyChangeDetails'
export default {
  name: 'OperaApplyChangeWindow',
  extends: BaseOpera,
  components: { GlobalWindow, applyChangeDetails },
  data () {
    return {
      // è¡¨å•数据
      form: {
        id: null,
        editDate: ''
      },
      // éªŒè¯è§„则
      rules: {
      },
      formInline: {
        user: '',
        region: ''
      },
      visible1: false,
      visible2: false,
      visible3: false,
      visible4: false,
      visible5: false,
      reverse: false,
      radio: 0,
      fileList: [
        { name: 'food.pdf', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100' }
      ],
      activities: [{
        content: '活动按期开始',
        timestamp: '2018-04-15'
      }, {
        content: '通过审核',
        timestamp: '2018-04-13'
      }, {
        content: '创建成功',
        timestamp: '2018-04-11'
      }],
      tableData: [],
      activeName: 'first',
      currentPage: 1
    }
  },
  created () {
    this.config({
      api: '/business/insuranceApply',
      'field.id': 'id'
    })
  },
  methods: {
    handleRemove (file, fileList) {
      console.log(file, fileList)
    },
    handlePreview (file) {
      console.log(file)
    },
    handleExceed (files, fileList) {
      this.$message.warning(`当前限制选择 3 ä¸ªæ–‡ä»¶ï¼Œæœ¬æ¬¡é€‰æ‹©äº† ${files.length} ä¸ªæ–‡ä»¶ï¼Œå…±é€‰æ‹©äº† ${files.length + fileList.length} ä¸ªæ–‡ä»¶`)
    },
    beforeRemove (file, fileList) {
      return this.$confirm(`确定移除 ${file.name}?`)
    },
    successEvent () {
    },
    handleSizeChange (val) {
      console.log(`每页 ${val} æ¡`)
    },
    handleCurrentChange (val) {
      console.log(`当前页: ${val}`)
    },
    handleClick (tab, event) {
      console.log(tab, event)
    },
    onSubmit () {
    }
  }
}
</script>
<style>
    .v-modal {
company/src/components/business/OperaDispatchUnitWindow.vue
@@ -133,7 +133,7 @@
        components: { GlobalWindow },
        data () {
            return {
                reverse: true,
                reverse: false,
                activities: [{
                    content: '提交派遣单位',
                    timestamp: '操作员-张伟(安徽豆米科技有限公司)\n' +
company/src/components/business/OperaInsuranceApplyWindow.vue
@@ -310,7 +310,7 @@
      visible3: false,
      visible4: false,
      visible5: false,
      reverse: true,
      reverse: false,
      radio: 0,
      activities: [],
      tableData: [],
company/src/components/business/OperaPolicyListWindow.vue
@@ -271,7 +271,7 @@
                visible3: false,
                visible4: false,
                visible5: false,
                reverse: true,
                reverse: false,
                radio: 0,
                fileList: [
                    {name: 'food.pdf', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'}
company/src/components/business/OperaSettleClaimsCheckWindow.vue
@@ -88,7 +88,7 @@
      },
      model: {},
      activeName: 'first',
      reverse: true,
      reverse: false,
      tableData: [],
      visible1: false,
      visible2: false,
company/src/components/business/OperaSettleClaimsWindow.vue
@@ -27,8 +27,8 @@
                        <el-button type="danger" v-if="model.status !=1 && model.status !=4" @click="$refs.operaInsuranceApplyCheckWindow.open('撤销申请',model,remarkLogList,3)">撤销申请</el-button>
                    </template>
                    <template v-else>
                        <el-button type="primary" @click="edit" v-if="model.status === 0">修改信息</el-button>
                        <el-button type="primary" @click="$refs.supplementaryExplanation.open('补充说明', model.id)" v-if="model.status === 0">补充说明</el-button>
                        <el-button type="primary" @click="edit" v-if="model.status === 2">修改信息</el-button>
                        <el-button type="primary" @click="$refs.supplementaryExplanation.open('补充说明', model.id)" v-if="model.status === 2">补充说明</el-button>
                    </template>
                </div>
            </div>
@@ -204,8 +204,8 @@
                        </div>
                      </div>
                    </template>
                  <template v-else>
                    <span style=" width:100%;text-align:center;color: #8c939d;font-size: 12px" v-if="model.status ==2 || model.status ==4">暂无数据</span>
                  <template   v-if="(model.relationFileList==null|| model.relationFileList.length==0) && (model.status ==2 || model.status ==4)">
                    <span style="height: 40px; width:100%;text-align:center;color: #8c939d;font-size: 12px">暂无相关材料</span>
                  </template>
                    <upload v-if="model.status !=2 && model.status !=4" width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 2)" />
<!--                    <div class="desc_data_list_item">-->
@@ -245,8 +245,8 @@
                      </div>
                    </div>
                  </template>
                  <template v-else>
                    <span style=" width:100%;text-align:center;color: #8c939d;font-size: 12px" v-if="model.status ==2 || model.status ==4">暂无数据</span>
                  <template   v-if="(model.outpatientFileList==null|| model.outpatientFileList.length==0) && (model.status ==2 || model.status ==4)">
                    <span style="height: 40px; width:100%;text-align:center;color: #8c939d;font-size: 12px">暂无相关材料</span>
                  </template>
                    <upload v-if="model.status !=2 && model.status !=4" width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 3)" />
<!--                    <div class="desc_data_list_item">-->
@@ -278,8 +278,8 @@
                      </div>
                    </div>
                  </template>
                  <template v-else>
                      <span style=" width:100%;text-align:center;color: #8c939d;font-size: 12px" v-if="model.status ==2 || model.status ==4">暂无数据</span>
                  <template   v-if="(model.hospitalFileList==null|| model.hospitalFileList.length==0) && (model.status ==2 || model.status ==4)">
                    <span style="height: 40px; width:100%;text-align:center;color: #8c939d;font-size: 12px">暂无相关材料</span>
                  </template>
                    <upload v-if="model.status !=2 && model.status !=4" width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 4)" />
<!--                    <div class="desc_data_list_item">-->
@@ -311,8 +311,8 @@
                      </div>
                    </div>
                  </template>
                  <template v-else>
                    <span style=" width:100%;text-align:center;color: #8c939d;font-size: 12px" v-if="model.status ==2 || model.status ==4">暂无数据</span>
                  <template   v-if="(model.disabilityFileList==null|| model.disabilityFileList.length==0) && (model.status ==2 || model.status ==4)">
                    <span style=" height: 40px;width:100%;text-align:center;color: #8c939d;font-size: 12px">暂无相关材料</span>
                  </template>
                    <upload  v-if="model.status !=2 && model.status !=4" width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 5)" />
<!--                    <div class="desc_data_list_item">-->
@@ -348,8 +348,8 @@
                      </div>
                    </div>
                  </template>
                  <template v-else>
                    <span style=" width:100%;text-align:center;color: #8c939d;font-size: 12px" v-if="model.status ==2 || model.status ==4">暂无数据</span>
                  <template   v-if="(model.compensationFileList==null|| model.compensationFileList.length==0) && (model.status ==2 || model.status ==4)">
                    <span style=" height: 40px;width:100%;text-align:center;color: #8c939d;font-size: 12px">暂无相关材料</span>
                  </template>
                    <upload v-if="model.status !=2 && model.status !=4" width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 6)" />
<!--                    <div class="desc_data_list_item">-->
@@ -444,7 +444,7 @@
              list: [],
              model: {},
              activeName: 'first',
              reverse: true
              reverse: false
            }
        },
        computed: {
company/src/components/business/OperaSwitchCourtWindow.vue
@@ -303,7 +303,7 @@
                visible3: false,
                visible4: false,
                visible5: false,
                reverse: true,
                reverse: false,
                radio: 0,
                fileList: [
                    {name: 'food.pdf', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'}
company/src/components/business/dispatchUnitDetailsPlat.vue
@@ -161,7 +161,7 @@
        },
        tableData: [],
        insuranceScheme: [],
        reverse: true,
        reverse: false,
        visible5:false,
        activities: []
      }
company/src/components/business/dispatchUnitReviewDetails.vue
@@ -123,7 +123,7 @@
                },
                tableData: [],
                visible5: false,
                reverse: true,
                reverse: false,
                activities: [{
                    content: '活动按期开始',
                    timestamp: '2018-04-15'
company/src/components/business/policyListDetails.vue
@@ -85,7 +85,7 @@
                    user: '',
                    region: ''
                },
                reverse: true,
                reverse: false,
                activities: [{
                    content: '活动按期开始',
                    timestamp: '2018-04-15'
company/src/components/enterprise/dispatchUnitDetails.vue
@@ -153,7 +153,7 @@
        },
        tableData: [],
        insuranceScheme: [],
        reverse: true,
        reverse: false,
        activities: []
      }
    },
company/src/components/enterprise/insuranceRecords.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,134 @@
<template>
    <GlobalWindow
        :title="title"
        width="100%"
        :visible.sync="visible"
        :confirm-working="isWorking"
        @confirm="confirm"
    >
        <div class="info">
            <div class="info_left">
                å§“名:{{form.name}}&nbsp;&nbsp;身份证号:{{form.idcardNo}}&nbsp;&nbsp;状态:
                <span style="color: green;" v-if="form.solutionsStatus === 1">保障中</span>
                <span v-else>不在保</span>
            </div>
            <el-button type="primary" @click="expr">导出记录</el-button>
        </div>
        <el-table
            :data="list"
            border
            style="width: 100%">
            <el-table-column label="序号" width="80px">
                <template slot-scope="scope">
                    <span>{{scope.$index + 1}}</span>
                </template>
            </el-table-column>
            <el-table-column
                prop="solutionName"
                label="保险方案">
            </el-table-column>
            <el-table-column
                prop="bdCode"
                label="保单号">
            </el-table-column>
            <el-table-column
                prop="pdCode"
                label="批单号">
            </el-table-column>
            <el-table-column
                prop="duName"
                label="派遣单位">
            </el-table-column>
            <el-table-column
                prop="worktypeName"
                label="所属工种">
            </el-table-column>
            <el-table-column
                prop="startTime"
                label="保险生效起期">
            </el-table-column>
            <el-table-column
                prop="endTime"
                label="保险生效止期">
            </el-table-column>
        </el-table>
    </GlobalWindow>
</template>
<script>
    import BaseOpera from '@/components/base/BaseOpera'
    import GlobalWindow from '@/components/common/GlobalWindow'
    import { findList, exportExcel } from '@/api/business/member'
    export default {
        name: 'insuranceRecords',
        extends: BaseOpera,
        components: { GlobalWindow },
        data () {
            return {
                form: {
                    id: null,
                    name: '',
                    idcardNo: '',
                    solutionsStatus: ''
                },
                list: []
            }
        },
        methods: {
            open (title, target) {
                this.title = title
                this.list = []
                this.visible = true
                // æ–°å»º
                if (target == null) {
                    this.$nextTick(() => {
                        this.$refs.form.resetFields()
                        this.form[this.configData['field.id']] = null
                    })
                    return
                }
                // ç¼–辑
                this.$nextTick(() => {
                    for (const key in this.form) {
                        this.form[key] = target[key]
                    }
                })
                this.getList()
            },
            expr() {
                exportExcel({
                    capacity: 1000,
                    page: 1,
                    model: {
                        memberId: this.form.id
                    }
                }).then(res => {
                    console.log(res)
                    this.download(res)
                })
            },
            getList() {
                findList({
                    memberId: this.form.id
                }).then(res => {
                    console.log(res)
                    this.list = res
                })
            }
        }
    }
</script>
<style lang="scss" scoped>
    .info {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 20px;
        .info_left {
            font-size: 14px;
            color: black;
        }
    }
</style>
company/src/views/business/member.vue
@@ -2,39 +2,35 @@
    <TableLayout :permissions="['business:member:query']">
        <!-- æœç´¢è¡¨å• -->
        <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
            <el-form-item label="员工姓名" prop="duId">
                <el-input v-model="searchForm.duId" placeholder="请输入" @keypress.enter.native="search"></el-input>
            <el-form-item label="员工姓名" prop="name">
                <el-input v-model="searchForm.name" placeholder="请输入" @keypress.enter.native="search"></el-input>
            </el-form-item>
            <el-form-item label="身份证号" prop="duId">
                <el-input v-model="searchForm.duId" placeholder="请输入" @keypress.enter.native="search"></el-input>
            <el-form-item label="身份证号" prop="idcardNo">
                <el-input v-model="searchForm.idcardNo" placeholder="请输入" maxlength="18" @keypress.enter.native="search"></el-input>
            </el-form-item>
            <el-form-item label="保险方案" prop="duId">
                <el-select v-model="searchForm.duId" placeholder="请选择">
            <el-form-item label="保险方案" prop="solutionId">
                <el-select v-model="searchForm.solutionId" placeholder="请选择" @change="search">
                    <el-option
                        v-for="item in options"
                        :key="item.value"
                        :label="item.label"
                        :value="item.value">
                        v-for="item in solutions"
                        :key="item.id"
                        :label="item.name"
                        :value="item.id">
                    </el-option>
                </el-select>
            </el-form-item>
            <el-form-item label="保险状态" prop="duId">
                <el-select v-model="searchForm.duId" placeholder="请选择">
                    <el-option
                        v-for="item in options"
                        :key="item.value"
                        :label="item.label"
                        :value="item.value">
                    </el-option>
            <el-form-item label="保险状态" prop="solutionsStatus">
                <el-select v-model="searchForm.solutionsStatus" placeholder="请选择" @change="search">
                    <el-option label="保障中" value="1"></el-option>
                    <el-option label="不在保" value="2"></el-option>
                </el-select>
            </el-form-item>
            <el-form-item label="派遣单位" prop="duId">
                <el-select v-model="searchForm.duId" placeholder="请选择">
                <el-select v-model="searchForm.duId" placeholder="请选择" @change="search">
                    <el-option
                        v-for="item in options"
                        :key="item.value"
                        :label="item.label"
                        :value="item.value">
                        v-for="(item, index) in options"
                        :key="index"
                        :label="item.name"
                        :value="item.id">
                    </el-option>
                </el-select>
            </el-form-item>
@@ -45,8 +41,8 @@
        </el-form>
        <!-- è¡¨æ ¼å’Œåˆ†é¡µ -->
        <template v-slot:table-wrap>
            <ul class="toolbar" v-permissions="['business:member:create']">
                <li><el-button type="primary" @click="$refs.operaMemberWindow.open('投保记录')">导入人员名单</el-button></li>
            <ul class="toolbar">
                <li><el-button type="primary" @click="expr">导出人员名单</el-button></li>
            </ul>
            <el-table
                v-loading="isWorking.search"
@@ -58,24 +54,36 @@
                        <span>{{scope.$index + 1}}</span>
                    </template>
                </el-table-column>
                <el-table-column prop="companyId" label="保险状态" min-width="100px"></el-table-column>
                <el-table-column prop="companyId" label="所属企业" min-width="100px"></el-table-column>
                <el-table-column prop="companyId" label="员工姓名" min-width="100px"></el-table-column>
                <el-table-column label="保险状态" min-width="100px">
                    <template slot-scope="{row}">
                        <span style="color: green;" v-if="row.solutionsStatus === 1">保障中</span>
                        <span v-else-if="row.solutionsStatus === 2">不在保</span>
                    </template>
                </el-table-column>
                <el-table-column prop="companyName" label="所属企业" min-width="100px" v-if="userInfo.type === 0"></el-table-column>
                <el-table-column prop="name" label="员工姓名" min-width="100px"></el-table-column>
                <el-table-column label="性别" min-width="100px">
                    <template slot-scope="{row}">
                        <span v-if="row.sex === 0">男</span>
                        <span v-else>女</span>
                    </template>
                </el-table-column>
                <el-table-column prop="companyId" label="年龄" min-width="100px"></el-table-column>
                <el-table-column prop="companyId" label="保险方案" min-width="100px"></el-table-column>
                <el-table-column prop="duId" label="派遣单位" min-width="100px"></el-table-column>
                <el-table-column prop="worktypeId" label="所属工种" min-width="100px"></el-table-column>
                <el-table-column prop="idcardNo" label="身份证号码" min-width="100px"></el-table-column>
                <el-table-column label="年龄" min-width="100px">
                    <template slot-scope="{row}">
                        {{ calculateAge(row.idcardNo) }}
                    </template>
                </el-table-column>
                <el-table-column prop="solutionName" label="保险方案" min-width="100px"></el-table-column>
                <el-table-column prop="duName" label="派遣单位" min-width="100px"></el-table-column>
                <el-table-column prop="workTypeName" label="所属工种" min-width="100px"></el-table-column>
                <el-table-column prop="startTime" label="实际保险生效起期" min-width="100px"></el-table-column>
                <el-table-column prop="endTime" label="实际保险生效止期" min-width="100px"></el-table-column>
                <el-table-column label="操作" min-width="100px">
                <el-table-column label="操作"
                     fixed="right"
                     min-width="120px">
                    <template slot-scope="{row}">
                        <el-button type="text">投保记录</el-button>
                        <el-button type="text" @click="$refs.insuranceRecords.open('投保记录', row)">投保记录</el-button>
                    </template>
                </el-table-column>
            </el-table>
@@ -87,7 +95,9 @@
            </pagination>
        </template>
        <!-- æ–°å»º/修改 -->
        <OperaMemberWindow ref="operaMemberWindow" @success="handlePageChange"/>
        <OperaMemberWindow ref="operaMemberWindow" @success="handlePageChange" />
        <!--    æŠ•保记录    -->
        <insuranceRecords ref="insuranceRecords" @success="handlePageChange" />
    </TableLayout>
</template>
@@ -96,18 +106,30 @@
    import TableLayout from '@/layouts/TableLayout'
    import Pagination from '@/components/common/Pagination'
    import OperaMemberWindow from '@/components/business/OperaMemberWindow'
    import insuranceRecords from '@/components/enterprise/insuranceRecords'
    import { all } from '@/api/business/solutions'
    import { findListByDTO } from '@/api/business/dispatchUnit'
    import { mapState } from 'vuex'
    export default {
        name: 'Member',
        extends: BaseTable,
        components: { TableLayout, Pagination, OperaMemberWindow },
        components: { TableLayout, Pagination, OperaMemberWindow, insuranceRecords },
        data () {
            return {
                // æœç´¢
                searchForm: {
                    duId: ''
                    duId: '',
                    name: '',
                    idcardNo: '',
                    solutionsStatus: '',
                    solutionId: ''
                },
                options: []
                options: [],
                solutions: []
            }
        },
        computed: {
            ...mapState(['userInfo'])
        },
        created () {
            this.config({
@@ -117,6 +139,29 @@
                'field.main': 'id'
            })
            this.search()
            this.getSolutions()
        },
        methods: {
            expr() {
            },
            getSolutions() {
                all()
                    .then(res => {
                        this.solutions = res
                    })
                findListByDTO({ dataType: 2 })
                    .then(res => {
                        this.options = res
                    })
            },
            calculateAge(idNumber) {
                if (!idNumber) return
                let birthYear = parseInt(idNumber.substr(6, 4)); // æå–生日年份部分
                let currentYear = new Date().getFullYear(); // èŽ·å–å½“å‰å¹´ä»½
                return currentYear - birthYear; // è¿”回年龄
            }
        }
    }
</script>