nidapeng
2024-03-15 979675ddbb8c6cb59fc1d074e1c47f7c1da282a1
提交一把
已添加3个文件
已修改13个文件
586 ■■■■■ 文件已修改
company/src/components/business/OperaApplyChangeDetailWindow.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaApplyChangeUnitDetailWindow.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaInsuranceApplyWindow.vue 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/views/business/applyChange.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/views/business/applyChangeShop.vue 173 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/views/business/insuranceApply.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/views/business/insuranceApplyShop.vue 169 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/views/business/solutions.vue 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/views/business/switchCourt.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/views/business/switchCourtShop.vue 171 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/dto/InsuranceApplyQueryDTO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/ApplyChange.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/InsuranceApply.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaApplyChangeDetailWindow.vue
@@ -33,10 +33,10 @@
                            <el-button type="primary" @click="$refs.ApplyChangeDetails.open('加减保详单',apply,model)">导出详单</el-button>
                            <el-button v-if="[1,2,4].includes(model.status)" type="primary" @click="viewApplyFile">查看申请单</el-button>
                            <el-button v-if="[2].includes(model.status)" type="primary" @click="viewPidan">查看批单</el-button>
                            <el-button v-if="[1].includes(model.status)" type="primary" @click="$refs.OperaApplyChangeCheckWindow.open('上传批单',model,3)">上传批单</el-button>
                            <el-button  v-if="[3,4].includes(model.status)"  type="primary" @click="$refs.OperaApplyChangeCheckWindow.open('驳回退回申请',model,5)">驳回退回申请</el-button>
                            <el-button  v-if="[0,1,3,4].includes(model.status)" type="danger" @click="$refs.OperaApplyChangeCheckWindow.open('退回投保',model,1)">退回投保</el-button>
                            <el-button  v-if="[2].includes(model.status)"  type="danger" @click="$refs.OperaApplyChangeCheckWindow.open('修改批单',model,4)">修改批单</el-button>
                            <el-button v-if=" model.solutionType == 0 && [1].includes(model.status)" type="primary" @click="$refs.OperaApplyChangeCheckWindow.open('上传批单',model,3)">上传批单</el-button>
                            <el-button  v-if="model.solutionType == 0 &&[3,4].includes(model.status)"  type="primary" @click="$refs.OperaApplyChangeCheckWindow.open('驳回退回申请',model,5)">驳回退回申请</el-button>
                            <el-button  v-if="model.solutionType == 0 &&[0,1,3,4].includes(model.status)" type="danger" @click="$refs.OperaApplyChangeCheckWindow.open('退回投保',model,1)">退回投保</el-button>
                            <el-button  v-if="model.solutionType == 0 &&[2].includes(model.status)"  type="danger" @click="$refs.OperaApplyChangeCheckWindow.open('修改批单',model,4)">修改批单</el-button>
                        </template>
                  </div>
                </div>
company/src/components/business/OperaApplyChangeUnitDetailWindow.vue
@@ -35,10 +35,10 @@
                           <el-button type="primary" v-if="model.status == 0"   @click="goSign">签署申请单</el-button>
                            <el-button v-if="[1,2,4].includes(model.status)" type="primary" @click="viewApplyFile">查看申请单</el-button>
                            <el-button v-if="[2].includes(model.status)" type="primary" @click="viewPidan">查看批单</el-button>
                            <el-button v-if="[1].includes(model.status)" type="primary" @click="$refs.OperaApplyChangeCheckWindow.open('上传批单',model,3)">上传批单</el-button>
                            <el-button  v-if="[3,4].includes(model.status)"  type="primary" @click="$refs.OperaApplyChangeCheckWindow.open('驳回退回申请',model,5)">驳回退回申请</el-button>
                            <el-button  v-if="[0,1,3,4].includes(model.status)" type="danger" @click="$refs.OperaApplyChangeCheckWindow.open('退回投保',model,1)">退回投保</el-button>
                            <el-button  v-if="[2].includes(model.status)"  type="danger" @click="$refs.OperaApplyChangeCheckWindow.open('修改批单',model,4)">修改批单</el-button>
                            <el-button v-if="model.solutionType == 0 &&[1].includes(model.status)" type="primary" @click="$refs.OperaApplyChangeCheckWindow.open('上传批单',model,3)">上传批单</el-button>
                            <el-button  v-if="model.solutionType == 0 &&[3,4].includes(model.status)"  type="primary" @click="$refs.OperaApplyChangeCheckWindow.open('驳回退回申请',model,5)">驳回退回申请</el-button>
                            <el-button  v-if="model.solutionType == 0 &&[0,1,3,4].includes(model.status)" type="danger" @click="$refs.OperaApplyChangeCheckWindow.open('退回投保',model,1)">退回投保</el-button>
                            <el-button  v-if="model.solutionType == 0 &&[2].includes(model.status)"  type="danger" @click="$refs.OperaApplyChangeCheckWindow.open('修改批单',model,4)">修改批单</el-button>
                        </template>
                  </div>
                </div>
company/src/components/business/OperaInsuranceApplyWindow.vue
@@ -37,12 +37,12 @@
                      <el-button type="primary" @click="$refs.InsuranceDetails.open('投保详情单',model,0)">导出详单</el-button>
                      <el-button v-if="[2, 3, 5, 7, 8].includes(model.status)" type="primary" @click="viewToubaodan">查看投保单</el-button>
                      <el-button v-if="model.status == 5" type="primary" @click="viewBaoxiandan">查看保险单</el-button>
                      <el-button v-if="model.status == 10 ||model.status == 2" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('上传投保单',model,2)">上传投保单</el-button>
                      <el-button v-if="model.status == 3" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('上传保险单',model,3)">上传保险单</el-button>
                      <el-button  v-if="model.status == 6 || model.status == 7|| model.status == 8 || model.status == 11" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('驳回退回申请',model,5)">驳回退回申请</el-button>
                      <el-button v-if="model.status == 0" type="primary" @click="$refs.InsuranceDetails.open('投保审核',model,1)">投保审核</el-button>
                      <el-button v-if="model.status != 5 && model.status != 4 && model.status != 1" type="danger" @click="$refs.OperaInsuranceApplyCheckWindow.open('退回投保',model,1)">退回投保</el-button>
                      <el-button v-if="model.status == 5" type="danger" @click="$refs.OperaInsuranceApplyCheckWindow.open('修改保险单',model,4)">修改保险单</el-button>
                      <el-button v-if="[2,10].includes(model.status) && model.solutionType ==0" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('上传投保单',model,2)">上传投保单</el-button>
                      <el-button v-if="model.status == 3 && model.solutionType ==0" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('上传保险单',model,3)">上传保险单</el-button>
                      <el-button  v-if="[6,7,8,11].includes(model.status) && model.solutionType ==0" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('驳回退回申请',model,5)">驳回退回申请</el-button>
                      <el-button v-if="model.status == 0 && model.solutionType ==0" type="primary" @click="$refs.InsuranceDetails.open('投保审核',model,1)">投保审核</el-button>
                      <el-button v-if="![1,4,,5].includes(model.status) && model.solutionType ==0" type="danger" @click="$refs.OperaInsuranceApplyCheckWindow.open('退回投保',model,1)">退回投保</el-button>
                      <el-button v-if="model.status == 5  && model.solutionType ==0" type="danger" @click="$refs.OperaInsuranceApplyCheckWindow.open('修改保险单',model,4)">修改保险单</el-button>
                    </template>
                  </div>
                </div>
company/src/views/business/applyChange.vue
@@ -122,6 +122,7 @@
        createDateE: '',
        createDateS: '',
        companyId: '',
        solutionType: 0,
        baseSolutionsId: '',
        time: []
      },
company/src/views/business/applyChangeShop.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,173 @@
<template>
  <TableLayout :permissions="['business:applychange:query']">
    <!-- æœç´¢è¡¨å• -->
    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
      <el-form-item label="保单状态" prop="status">
        <el-select v-model="searchForm.status" placeholder="请选择" @change="search">
          <el-option label="全部" value=""></el-option>
          <el-option label="待签署" value="0"></el-option>
          <el-option label="待审核" value="1"></el-option>
          <el-option label="已生效" value="2"></el-option>
          <el-option label="申请退回" value="3"></el-option>
          <!--                    3 4 éƒ½æ˜¯é€€å›žç”³è¯·ä¸­-->
          <el-option label="已退回" value="5"></el-option>
          <el-option label="已关闭" value="6"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="投保企业" prop="companyId">
        <el-select v-model="searchForm.companyId" placeholder="请选择" @change="search">
          <el-option
              v-for="item in companyList"
              :key="item.id"
              :label="item.name"
              :value="item.id">
          </el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="保险方案" prop="baseSolutionsId">
        <el-select v-model="searchForm.baseSolutionsId" placeholder="请选择" @change="search">
          <el-option
              v-for="item in solutionList"
              :key="item.baseId"
              :label="item.name"
              :value="item.baseId">
          </el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="提交日期" prop="status">
        <el-date-picker
            @change="changeTime"
            v-model="searchForm.time"
            type="daterange"
            value-format="yyyy-MM-dd"
            range-separator="至"
            start-placeholder="开始日期"
            end-placeholder="结束日期">
        </el-date-picker>
      </el-form-item>
      <section>
        <el-button type="primary" @click="search">搜索</el-button>
        <el-button @click="reset">重置</el-button>
      </section>
    </el-form>
    <!-- è¡¨æ ¼å’Œåˆ†é¡µ -->
    <template v-slot:table-wrap>
      <el-table
          v-loading="isWorking.search"
          :data="tableData.list"
          stripe
      >
        <el-table-column label="序号" width="80px">
          <template slot-scope="scope">
            <span>{{scope.$index + 1}}</span>
          </template>
        </el-table-column>
        <el-table-column prop="status" label="保单状态" min-width="100px">
          <template slot-scope="{row}">
            <span  :class="'change-status'+row.status" v-if="row.status === 0">待签署</span>
            <span  :class="'change-status'+row.status" v-if="row.status === 1">待审核</span>
            <span  :class="'change-status'+row.status" v-if="row.status === 2">已生效</span>
            <span  :class="'change-status'+row.status" v-if="row.status === 3 || row.status === 4">退回申请</span>
            <span  :class="'change-status'+row.status" v-if="row.status ===5 || row.status === 8">已退回</span>
            <span  :class="'change-status'+row.status" v-if="row.status ===6">已关闭</span>
          </template>
        </el-table-column>
        <el-table-column prop="companyName" label="投保企业" min-width="100px"></el-table-column>
        <el-table-column prop="applyCode" label="关联保单号" min-width="100px"></el-table-column>
        <el-table-column prop="solutionsName" label="保险方案" min-width="100px"></el-table-column>
        <el-table-column prop="addNum" label="加保人数(人)" min-width="100px"></el-table-column>
        <el-table-column prop="delNum" label="减保人数(人)" min-width="100px"></el-table-column>
        <el-table-column prop="fee" label="费用变更" min-width="100px"></el-table-column>
        <el-table-column prop="createDate" label="提交时间" min-width="100px"></el-table-column>
        <el-table-column
            label="操作"
            min-width="120"
            fixed="right"
        >
          <template slot-scope="{row}">
            <el-button type="text" @click="$refs.operaApplyChangeDetailWindow.open('加减保详情', row)">查看详情</el-button>
          </template>
        </el-table-column>
      </el-table>
      <pagination
          @size-change="handleSizeChange"
          @current-change="handlePageChange"
          :pagination="tableData.pagination"
      >
      </pagination>
    </template>
    <!-- è¯¦æƒ… -->
    <OperaApplyChangeDetailWindow ref="operaApplyChangeDetailWindow" @success="handlePageChange"/>
  </TableLayout>
</template>
<script>
import BaseTable from '@/components/base/BaseTable'
import TableLayout from '@/layouts/TableLayout'
import Pagination from '@/components/common/Pagination'
import OperaApplyChangeDetailWindow from '@/components/business/OperaApplyChangeDetailWindow'
import {all as solutionAll, all} from '@/api/business/solutions'
import {pageAll as companyAll} from "@/api/business/company";
export default {
  name: 'add_subtract',
  extends: BaseTable,
  components: { TableLayout, Pagination, OperaApplyChangeDetailWindow },
  data () {
    return {
      // æœç´¢
      searchForm: {
        status: '',
        type: '0',
        solutionsId: '',
        createDateE: '',
        solutionType: 1,
        createDateS: '',
        companyId: '',
        baseSolutionsId: '',
        time: []
      },
      solutionList:[],
      companyList:[]
    }
  },
  created () {
    this.config({
      module: '加减保换厂申请信息表',
      api: '/business/applyChange',
      'field.id': 'id',
      'field.main': 'id'
    })
    this.search()
    this.loadSelectList()
  },
  methods: {
    loadSelectList() {
      solutionAll({dataType:2,type:1}).then(res => {
        this.solutionList = res
      }).catch(err => {
      })
      companyAll({}).then(res => {
        this.companyList = res
      }).catch(err => {
      })
    },
    changeTime(e) {
      if (e.length > 0) {
        this.searchForm.createDateS = e[0]
        this.searchForm.createDateE = e[1]
      } else {
        this.searchForm.createDateS = ''
        this.searchForm.createDateE = ''
      }
      this.search()
    },
    reset() {
      this.searchForm.createDateS = ''
      this.searchForm.createDateE = ''
      this.searchForm.time = []
      this.$refs.searchForm.resetFields();
      this.search()
    }
  }
}
</script>
company/src/views/business/insuranceApply.vue
@@ -114,6 +114,7 @@
                createTimeE: '',
                time: [],
                baseSolutionId: '',
                 solutionType: 0,
                companyId: '',
                statusCollect: ''
            },
company/src/views/business/insuranceApplyShop.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,169 @@
<template>
    <TableLayout :permissions="['business:insuranceapply:query']">
        <!-- æœç´¢è¡¨å• -->
        <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
            <el-form-item label="保单状态" prop="statusCollect">
                <el-select v-model="searchForm.statusCollect" placeholder="请选择" @keypress.enter.native="search">
                    <el-option label="待审核" value="0"></el-option>
                    <el-option label="待出单" value="1"></el-option>
                  <el-option label="待签署" value="7"></el-option>
                  <el-option label="保障中" value="2"></el-option>
                  <el-option label="已过期" value="3"></el-option>
                  <el-option label="已退回" value="4"></el-option>
                  <el-option label="退回申请中" value="5"></el-option>
                  <el-option label="已关闭" value="6"></el-option>
                </el-select>
            </el-form-item>
            <el-form-item label="投保企业" prop="companyId">
                <el-select v-model="searchForm.companyId" placeholder="请选择" @change="search">
                    <el-option
                        v-for="item in companyList"
                        :key="item.id"
                        :label="item.name"
                        :value="item.id">
                    </el-option>
                </el-select>
            </el-form-item>
            <el-form-item label="保险方案" prop="baseSolutionId">
                <el-select v-model="searchForm.baseSolutionId" placeholder="请选择" @change="search">
                    <el-option
                        v-for="item in solutionList"
                        :key="item.baseId"
                        :label="item.name"
                        :value="item.baseId">
                    </el-option>
                </el-select>
            </el-form-item>
            <el-form-item label="提交日期" prop="time">
                <el-date-picker
                    v-model="searchForm.time"
                    @change="changeTime"
                    type="daterange"
                    range-separator="至"
                    value-format="yyyy-MM-dd"
                    start-placeholder="开始日期"
                    end-placeholder="结束日期">
                </el-date-picker>
            </el-form-item>
            <section>
                <el-button type="primary" @click="search">搜索</el-button>
                <el-button @click="reset">重置</el-button>
            </section>
        </el-form>
        <!-- è¡¨æ ¼å’Œåˆ†é¡µ -->
        <template v-slot:table-wrap>
            <el-table
                v-loading="isWorking.search"
                :data="tableData.list"
                stripe
            >
                <el-table-column label="序号" width="80px">
                    <template slot-scope="scope">
                        <span>{{scope.$index + 1}}</span>
                    </template>
                </el-table-column>
                <el-table-column prop="statusInfo" label="投保状态" min-width="100px">
                  <template slot-scope="{row}">
                    <span :class="'apply-status'+row.status" >{{row.statusInfo}}</span>
                  </template>
                </el-table-column>
                <el-table-column prop="companyName" label="投保企业" min-width="100px"></el-table-column>
                <el-table-column prop="solutionsName" label="保险方案" min-width="100px"></el-table-column>
                <el-table-column prop="insureNum" label="投保人数" min-width="100px"></el-table-column>
                <el-table-column prop="fee" label="总费用(元)" min-width="100px"></el-table-column>
                <el-table-column prop="createDate" label="提交时间" min-width="100px"></el-table-column>
                <el-table-column
                    v-if="containPermissions(['business:insuranceapply:update', 'business:insuranceapply:delete'])"
                    label="操作"
                    min-width="120"
                    fixed="right"
                >
                    <template slot-scope="{row}">
                        <el-button type="text" @click="$refs.operaInsuranceApplyWindow.open('投保详情', row)" icon="el-icon-edit" v-permissions="['business:insuranceapply:update']">查看详情</el-button>
                    </template>
                </el-table-column>
            </el-table>
            <pagination
                @size-change="handleSizeChange"
                @current-change="handlePageChange"
                :pagination="tableData.pagination"
            >
            </pagination>
        </template>
        <!-- æ–°å»º/修改 -->
        <OperaInsuranceApplyWindow ref="operaInsuranceApplyWindow" @success="handlePageChange"/>
    </TableLayout>
</template>
<script>
import BaseTable from '@/components/base/BaseTable'
import TableLayout from '@/layouts/TableLayout'
import Pagination from '@/components/common/Pagination'
import { all as solutionAll } from '@/api/business/solutions'
import { pageAll as companyAll } from '@/api/business/company'
import OperaInsuranceApplyWindow from '@/components/business/OperaInsuranceApplyWindow'
export default {
  name: 'InsuranceApply',
  extends: BaseTable,
  components: { TableLayout, Pagination, OperaInsuranceApplyWindow },
  data () {
    return {
      // æœç´¢
      searchForm: {
        createTimeS: '',
        createTimeE: '',
        time: [],
        baseSolutionId: '',
        solutionType: 1,
        companyId: '',
        statusCollect: ''
      },
      solutionList: [],
      companyList: []
    }
  },
  created () {
    this.config({
      module: '投保申请信息表',
      api: '/business/insuranceApply',
      'field.id': 'id',
      'field.main': 'id'
    })
    this.search()
    this.loadSelectList()
  },
  methods: {
    // æœç´¢æ¡†é‡ç½®
    reset () {
      this.$refs.searchForm.resetFields()
      this.searchForm.createTimeS = ''
      this.searchForm.createTimeE = ''
      this.search()
    },
    changeTime (e) {
      if (e.length > 0) {
        this.searchForm.createTimeS = e[0]
        this.searchForm.createTimeE = e[1]
      } else {
        this.searchForm.createTimeS = ''
        this.searchForm.createTimeE = ''
      }
      this.search()
    },
    // handlePageChange() {
    //   this.search()
    // },
    loadSelectList () {
      solutionAll({ dataType: 2,type:1 }).then(res => {
        this.solutionList = res
      }).catch(err => {
      })
      companyAll({}).then(res => {
        this.companyList = res
      }).catch(err => {
      })
    }
  }
}
</script>
company/src/views/business/solutions.vue
@@ -34,12 +34,12 @@
                :data="tableData.list"
                stripe
            >
                <el-table-column label="序号" width="80px">
                <el-table-column label="序号" width="50px">
                    <template slot-scope="scope">
                        <span>{{scope.$index + 1}}</span>
                    </template>
                </el-table-column>
                <el-table-column prop="name" label="保险方案" min-width="100px"></el-table-column>
                <el-table-column prop="name" label="保险方案" min-width="150px"></el-table-column>
                <el-table-column prop="insuranceName" label="保险公司" min-width="100px"></el-table-column>
                <el-table-column label="投保年龄" min-width="100px">
                    <template slot-scope="{row}">
@@ -61,10 +61,10 @@
                        <span v-if="row.timeUnit === 3">å¹´</span>
                    </template>
                </el-table-column>
                <el-table-column label="委托类型" min-width="100px">
                <el-table-column label="委托类型" min-width="120px" align="center">
                    <template slot-scope="{row}">
                        <span v-if="row.type === 0">直保</span>
                        <span v-if="row.type === 1">委托:<span style="color: blue" >{{row.shopName||'-'}}</span></span>
                        <span v-if="row.type === 1">委托<div style="color: blue;display:  block" >{{row.shopName||'-'}}</div></span>
                    </template>
                </el-table-column>
                <el-table-column prop="status" label="启用状态" min-width="100px" v-if="userInfo.type !== 1">
@@ -83,7 +83,7 @@
                <el-table-column
                    v-if="containPermissions(['business:solutions:update', 'business:solutions:delete'])"
                    label="操作"
                    min-width="120"
                    min-width="150"
                    fixed="right"
                >
                    <template slot-scope="{row}">
@@ -107,7 +107,6 @@
        <OperaSolutionsDescWindow ref="OperaSolutionsDescWindow" @success="handlePageChange"/>
    </TableLayout>
</template>
<script>
import BaseTable from '@/components/base/BaseTable'
import TableLayout from '@/layouts/TableLayout'
company/src/views/business/switchCourt.vue
@@ -118,6 +118,7 @@
        type: '1',
        solutionsId: '',
        createDateE: '',
        solutionType: 0,
        createDateS: '',
        baseSolutionsId: '',
        companyId: '',
company/src/views/business/switchCourtShop.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,171 @@
<template>
  <TableLayout :permissions="['business:applychange:query']">
    <!-- æœç´¢è¡¨å• -->
    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
      <el-form-item label="保单状态" prop="status">
        <el-select v-model="searchForm.status" placeholder="请选择" @change="search">
          <el-option label="全部" value=""></el-option>
          <el-option label="待签署" value="0"></el-option>
          <el-option label="待审核" value="1"></el-option>
          <el-option label="已生效" value="2"></el-option>
          <el-option label="申请退回" value="3"></el-option>
          <!--                    3 4 éƒ½æ˜¯é€€å›žç”³è¯·ä¸­-->
          <el-option label="已退回" value="5"></el-option>
          <el-option label="已关闭" value="6"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="投保企业" prop="companyId">
        <el-select v-model="searchForm.companyId" placeholder="请选择" @change="search">
          <el-option
              v-for="item in companyList"
              :key="item.id"
              :label="item.name"
              :value="item.id">
          </el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="保险方案" prop="baseSolutionsId">
        <el-select v-model="searchForm.baseSolutionsId" placeholder="请选择" @change="search">
          <el-option
              v-for="item in solutionList"
              :key="item.baseId"
              :label="item.name"
              :value="item.baseId">
          </el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="提交日期" prop="status">
        <el-date-picker
            @change="changeTime"
            v-model="searchForm.time"
            type="daterange"
            value-format="yyyy-MM-dd"
            range-separator="至"
            start-placeholder="开始日期"
            end-placeholder="结束日期">
        </el-date-picker>
      </el-form-item>
      <section>
        <el-button type="primary" @click="search">搜索</el-button>
        <el-button @click="reset">重置</el-button>
      </section>
    </el-form>
    <!-- è¡¨æ ¼å’Œåˆ†é¡µ -->
    <template v-slot:table-wrap>
      <el-table
          v-loading="isWorking.search"
          :data="tableData.list"
          stripe
      >
        <el-table-column label="序号" width="80px">
          <template slot-scope="scope">
            <span>{{scope.$index + 1}}</span>
          </template>
        </el-table-column>
        <el-table-column prop="status" label="保单状态" min-width="100px">
          <template slot-scope="{row}">
            <span :class="'change-status'+ row.status" v-if="row.status === 0">待签署</span>
            <span :class="'change-status'+ row.status" v-if="row.status === 1">待审核</span>
            <span :class="'change-status'+ row.status" v-if="row.status === 2">已生效</span>
            <span :class="'change-status'+ row.status" v-if="row.status === 3 || row.status === 4">退回申请</span>
            <span :class="'change-status'+ row.status" v-if="row.status ===5 || row.status === 8">已退回</span>
            <span :class="'change-status'+ row.status" v-if="row.status ===6">已关闭</span>
          </template>
        </el-table-column>
        <el-table-column prop="companyName" label="投保企业" min-width="100px"></el-table-column>
        <el-table-column prop="applyCode" label="关联保单号" min-width="100px"></el-table-column>
        <el-table-column prop="solutionsName" label="保险方案" min-width="100px"></el-table-column>
        <el-table-column prop="changeNum" label="更换派遣单位人数" min-width="100px"></el-table-column>
        <el-table-column prop="fee" label="费用变更更换派遣单位" min-width="100px"></el-table-column>
        <el-table-column prop="createDate" label="提交时间" min-width="100px"></el-table-column>
        <el-table-column
            label="操作"
            min-width="120"
            fixed="right">
          <template slot-scope="{row}">
            <el-button type="text" @click="$refs.operaApplyChangeDetailWindow.open('更换派遣单位详情', row)">查看详情</el-button>
          </template>
        </el-table-column>
      </el-table>
      <pagination
          @size-change="handleSizeChange"
          @current-change="handlePageChange"
          :pagination="tableData.pagination"
      >
      </pagination>
    </template>
    <!-- è¯¦æƒ… -->
    <OperaApplyChangeUnitDetailWindow ref="operaApplyChangeDetailWindow" @success="handlePageChange"/>
  </TableLayout>
</template>
<script>
import BaseTable from '@/components/base/BaseTable'
import TableLayout from '@/layouts/TableLayout'
import Pagination from '@/components/common/Pagination'
import OperaApplyChangeUnitDetailWindow from '@/components/business/OperaApplyChangeUnitDetailWindow'
import {all as solutionAll, all} from '@/api/business/solutions'
import {pageAll as companyAll} from "@/api/business/company";
export default {
  name: 'switchCourt',
  extends: BaseTable,
  components: { TableLayout, Pagination, OperaApplyChangeUnitDetailWindow },
  data () {
    return {
      // æœç´¢
      searchForm: {
        status: '',
        type: '1',
        solutionsId: '',
        createDateE: '',
        solutionType: 1,
        createDateS: '',
        baseSolutionsId: '',
        companyId: '',
        time: []
      },
      solutionList:[],
      companyList:[]
    }
  },
  created () {
    this.config({
      module: '加减保换厂申请信息表',
      api: '/business/applyChange',
      'field.id': 'id',
      'field.main': 'id'
    })
    this.search()
    this.loadSelectList()
  },
  methods: {
    loadSelectList() {
      solutionAll({dataType:2,type:1}).then(res => {
        this.solutionList = res
      }).catch(err => {
      })
      companyAll({}).then(res => {
        this.companyList = res
      }).catch(err => {
      })
    },
    changeTime(e) {
      if (e.length > 0) {
        this.searchForm.createDateS = e[0]
        this.searchForm.createDateE = e[1]
      } else {
        this.searchForm.createDateS = ''
        this.searchForm.createDateE = ''
      }
      this.search()
    },
    reset() {
      this.searchForm.createDateS = ''
      this.searchForm.createDateE = ''
      this.searchForm.time = []
      this.$refs.searchForm.resetFields();
      this.search()
    }
  }
}
</script>
server/service/src/main/java/com/doumee/dao/business/dto/InsuranceApplyQueryDTO.java
@@ -22,6 +22,8 @@
    @ApiModelProperty(value = "方案编码(关联solutions)", example = "1")
    private Integer solutionId;
    @ApiModelProperty(value = "方案类型 0直保 1委托保", example = "1")
    private Integer solutionType;
    @ApiModelProperty(value = "企业编码 ", example = "1")
    private Integer companyId;
    @ApiModelProperty(value = "基表方案编码 ", example = "1")
server/service/src/main/java/com/doumee/dao/business/model/ApplyChange.java
@@ -201,6 +201,9 @@
    @ApiModelProperty(value = "日志记录")
    @TableField(exist = false)
    private List<ApplyLog> applyLogList;
    @ApiModelProperty(value = "方案类型 0直保 1委托投保")
    @TableField(exist = false)
    private Integer solutionType;
    public TaxesInvoicingVO toTaxesInvoicingVO(){
        TaxesInvoicingVO taxesInvoicingVO = new TaxesInvoicingVO();
        taxesInvoicingVO.setId(this.getId());
server/service/src/main/java/com/doumee/dao/business/model/InsuranceApply.java
@@ -134,6 +134,9 @@
    @ApiModelProperty(value = "方案名称")
    @TableField(exist = false)
    private String solutionsName;
    @ApiModelProperty(value = "方案类型 0直保 1委托投保")
    @TableField(exist = false)
    private Integer solutionType;
    @ApiModelProperty(value = "方案邮件")
    @TableField(exist = false)
    private String solutionEmail;
server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
@@ -1398,11 +1398,13 @@
                .select("( select ifnull(sum(ad.FEE),0) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID  )",ApplyChange::getChangeMoney)
                .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyChange::getApplyId)
                .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
                .leftJoin(Solutions.class,Solutions::getType,InsuranceApply::getSolutionType)
                .eq(!Objects.isNull(model.getType()),ApplyChange::getType,model.getType())
                .eq(!Objects.isNull(model.getStatus())&&!model.getStatus().equals(Constants.ApplyChangeStatus.RETURN_APPLY_UPLOAD.getKey()),ApplyChange::getStatus,model.getStatus())
                .in(!Objects.isNull(model.getStatus())&&model.getStatus().equals(Constants.ApplyChangeStatus.RETURN_APPLY_UPLOAD.getKey()),ApplyChange::getStatus,
                        Constants.ApplyChangeStatus.RETURN_APPLY_UPLOAD.getKey(),
                        Constants.ApplyChangeStatus.RETURN_APPLY_SIGNATURE.getKey())
                .eq(!Objects.isNull(model.getSolutionType()),Solutions::getType,model.getSolutionType())
                .eq(!Objects.isNull(model.getCompanyId()),InsuranceApply::getCompanyId,model.getCompanyId())
                .eq(!Objects.isNull(model.getSolutionsId()),ApplyChange::getSolutionsId,model.getSolutionsId())
                .ge(StringUtils.isNotBlank(model.getCreateDateS()),ApplyChange::getCreateDate, model.getCreateDateS()+" 00:00:00" )
@@ -1437,6 +1439,7 @@
                .selectAll(ApplyChange.class)
                .selectAs(InsuranceApply::getCode,ApplyChange::getApplyCode)
                .selectAs(Solutions::getName,ApplyChange::getSolutionsName)
                .selectAs(Solutions::getType,ApplyChange::getSolutionType)
                .selectAs(Company::getName,ApplyChange::getCompanyName)
                .select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 0  )",ApplyChange::getAddNum)
                .select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 1  )",ApplyChange::getDelNum)
@@ -1452,6 +1455,7 @@
                        Constants.ApplyChangeStatus.RETURN_APPLY_SIGNATURE.getKey())
//                .eq(!Objects.isNull(model.getCompanyId()),InsuranceApply::getCompanyId,model.getCompanyId())
//                .eq(!Objects.isNull(model.getSolutionsId()),ApplyChange::getSolutionsId,model.getSolutionsId())
                .eq(!Objects.isNull(model.getType()),Solutions::getType,model.getSolutionType())
                .eq(!Objects.isNull(model.getApplyId()),ApplyChange::getApplyId,model.getApplyId())
                .eq(!Objects.isNull(model.getBaseSolutionsId()),Solutions::getBaseId,model.getBaseSolutionsId())
                .ge(StringUtils.isNotBlank(model.getCreateDateS()),ApplyChange::getCreateDate, model.getCreateDateS()+" 00:00:00" )
@@ -1608,6 +1612,7 @@
                .selectAs(InsuranceApply::getStartTime,ApplyChange::getStartTime)
                .selectAs(InsuranceApply::getEndTime,ApplyChange::getEndTime)
                .selectAs(Solutions::getName,ApplyChange::getSolutionsName)
                .selectAs(Solutions::getType,ApplyChange::getSolutionType)
                .select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 0  )",ApplyChange::getAddNum)
                .select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 1  )",ApplyChange::getDelNum)
                .select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 2  )",ApplyChange::getChangeNum)
@@ -1633,7 +1638,7 @@
        applyChange.setApplyLogList(applyLogList);
        List<Multifile> multifiles = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda()
                .eq(Multifile::getObjId,applyChange.getId())
                .eq(Multifile::getObjId,Constants.equalsInteger(applyChange.getSolutionType(),Constants.ZERO)? applyChange.getId():applyChange.getUnionChangeId())
                .in(Multifile::getObjType, Arrays.asList(new Integer[]{Constants.MultiFile.CA_APPLY_JIAJIAN_SIGN.getKey()
                        ,Constants.MultiFile.CA_PD_PDF.getKey()
                        ,Constants.MultiFile.CA_APPLY_CHANGEUNIT_SIGN.getKey()}))
server/service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
@@ -201,7 +201,7 @@
        // ç”Ÿæˆå¯†ç 
        user.setPassword(Utils.Secure.encryptPassword(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.DEFAULT_PASSWORD).getCode(), salt));
        user.setSalt(salt);
        user.setType(Constants.ONE);
        user.setType(Constants.equalsInteger(company.getType(),Constants.ZERO)?Constants.ONE:Constants.TWO);
        user.setFixed(Boolean.TRUE);
        user.setDeleted(Boolean.FALSE);
        user.setCompanyId(company.getId());
@@ -228,7 +228,7 @@
            // ç”Ÿæˆå¯†ç 
            user.setPassword(Utils.Secure.encryptPassword(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.DEFAULT_PASSWORD).getCode(), salt));
            user.setSalt(salt);
            user.setType(Constants.ONE);
            user.setType(Constants.equalsInteger(company.getType(),Constants.ZERO)?Constants.ONE:Constants.TWO);
            user.setFixed(Boolean.TRUE);
            user.setDeleted(Boolean.FALSE);
            user.setCompanyId(company.getId());
@@ -575,6 +575,7 @@
        company.setCreateDate(update.getEditDate());
        if(StringUtils.isNotBlank(company.getUsername())){
            //处理登陆账号信息
            company.setType(model.getType());
            dealSystemUserDataForUpdate(company,model.getUsername());
        }
server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
@@ -1169,6 +1169,7 @@
        queryWrapper.selectAll(InsuranceApply.class);
        queryWrapper.selectAs(Company::getName,InsuranceApply::getCompanyName);
        queryWrapper.selectAs(Solutions::getName,InsuranceApply::getSolutionsName);
        queryWrapper.selectAs(Solutions::getType,InsuranceApply::getSolutionType);
        queryWrapper.selectAs(Solutions::getMaxAge,InsuranceApply::getMaxAge);
        queryWrapper.selectAs(Solutions::getMinAge,InsuranceApply::getMinAge);
        queryWrapper.selectAs(Solutions::getPrice,InsuranceApply::getPrice);
@@ -1203,6 +1204,9 @@
        }
        if (pageWrap.getModel().getSolutionId() != null) {
            queryWrapper.eq(InsuranceApply::getSolutionId, pageWrap.getModel().getSolutionId());
        }
        if (pageWrap.getModel().getSolutionType() != null) {
            queryWrapper.eq(Solutions::getType, pageWrap.getModel().getSolutionType());
        }
        if (pageWrap.getModel().getEndTimeS() != null) {
            queryWrapper.ge(InsuranceApply::getEndTime, Utils.Date.getStart(pageWrap.getModel().getEndTimeS()));
@@ -1275,6 +1279,7 @@
        queryWrapper.selectAll(InsuranceApply.class);
        queryWrapper.selectAs(Company::getName,InsuranceApply::getCompanyName);
        queryWrapper.selectAs(Solutions::getName,InsuranceApply::getSolutionsName);
        queryWrapper.selectAs(Solutions::getType,InsuranceApply::getSolutionType);
        queryWrapper.select(" ( select sum(td.fee) from taxes ts inner join tax_detial td on ts.TAX_ID = ts.id  where ts.status != 2 and td.INSURANCE_APPLY_ID = t.id ) as taxesMoney ");
        queryWrapper.select(" ( select td.CREATE_DATE from taxes ts inner join tax_detial td on ts.TAX_ID = ts.id  where ts.status != 2 and td.INSURANCE_APPLY_ID = t.id order by td.CREATE_DATE desc limit 1 ) as taxesLast ");
        queryWrapper.leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId);
@@ -1292,6 +1297,9 @@
        }
        if (model.getSolutionId() != null) {
            queryWrapper.eq(InsuranceApply::getSolutionId, model.getSolutionId());
        }
        if (model.getSolutionType() != null) {
            queryWrapper.eq(Solutions::getType,model.getSolutionType() );
        }
        if (model.getEndTimeS() != null) {
            queryWrapper.ge(InsuranceApply::getEndTime, Utils.Date.getStart(model.getEndTimeS()));
@@ -1345,6 +1353,7 @@
                 .selectAs(Solutions::getMinAge,InsuranceApply::getMinAge)
                .selectAs(Solutions::getPrice,InsuranceApply::getPrice)
                .selectAs(Solutions::getTimeUnit,InsuranceApply::getTimeUnit)
                .selectAs(Solutions::getType,InsuranceApply::getSolutionType)
                .selectAs(Solutions::getName,InsuranceApply::getSolutionsName)
                .selectAs(Company::getName,InsuranceApply::getCompanyName)
                .select(" ( select max(ac.APPLY_START_TIME) from apply_change ac  where ac.apply_id = t.id and ac.status = 2 ) as lastChangeDate")
@@ -1415,7 +1424,7 @@
    private void initImgData(InsuranceApply model) {
        List<Multifile> multifiles = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda()
                .eq(Multifile::getObjId,model.getId())
                .eq(Multifile::getObjId,Constants.equalsInteger(model.getSolutionType(),Constants.ZERO)? model.getId():model.getUnionApplyId())
                .in(Multifile::getObjType,Arrays.asList(new Integer[]{Constants.MultiFile.BD_APPLY_PDF.getKey()
                        ,Constants.MultiFile.BD_SIGNED_PDF.getKey()
                        ,Constants.MultiFile.BD_DONE_PDF.getKey()}))