2ba1c199ce3199a243f7735ef992babf80737d65..35ee5b7845a1204f426ea70e7fe834e82a760491
2024-04-01 nidapeng
提交一把
35ee5b 对比 | 目录
2024-04-01 nidapeng
Merge remote-tracking branch 'origin/1.0.1' into 1.0.1
137086 对比 | 目录
2024-04-01 nidapeng
提交一把
06b919 对比 | 目录
已添加1个文件
已修改18个文件
635 ■■■■ 文件已修改
company/.env.developmentCom 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/.env.developmentShop 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/api/business/insuranceApply.js 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/InsuranceDetails.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaApplyChangeDetailWindow.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaApplyChangeUnitDetailWindow.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaInsuranceApplyShopWindow.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaInsuranceApplyWindow.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaSettleClaimsWindow.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaWtbApplyCheckWindow.vue 378 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaWtbApplyShopWindow.vue 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/dispatchUnitDetailsPlat.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/views/business/unionChangeUnit.vue 134 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/company/src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/core/utils/Constants.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/InsuranceApplyService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/shop/src/main/java/com/doumee/api/business/InsuranceApplyController.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/shop/src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/.env.developmentCom
@@ -15,4 +15,4 @@
# å¹³å°ç«¯-萍姐
# VUE_APP_API = 'http://192.168.0.105:10023/'
VUE_APP_API = 'http://192.168.0.176:10032/'
VUE_APP_API = 'http://192.168.0.176:10031/'
company/.env.developmentShop
@@ -9,10 +9,10 @@
# VUE_APP_API = 'https://dmtest.ahapp.net/yyb_web_api/'
# å¹³å°ç«¯-仁康
VUE_APP_API = 'http://192.168.0.132:10031/'
# VUE_APP_API = 'https://dmtest.ahapp.net/yyb_admin_api/'
# VUE_APP_API = 'http://192.168.0.186:10030/'
VUE_APP_API = 'https://dmtest.ahapp.net/yyb_admin_api/'
# å¹³å°ç«¯-萍姐
# VUE_APP_API = 'http://192.168.0.105:10023/'
# VUE_APP_API = 'http://localhost:10031/'
VUE_APP_API = 'http://localhost:10032/'
company/src/api/business/insuranceApply.js
@@ -23,6 +23,12 @@
export function back (data) {
    return request.post('/business/insuranceApply/back', data)
}
export function backWtb(data) {
    return request.post('/business/insuranceApply/back', data)
}
export function closeWtbForShop (data) {
    return request.post('/business/insuranceApply/closeWtbForShop', data)
}
export function uploadToubaodan (data) {
    return request.post('/business/insuranceApply/uploadToubaodan', data)
company/src/components/business/InsuranceDetails.vue
@@ -135,6 +135,7 @@
              this.model = target
              this.type=type
              this.form.id=target.id
              this.form.checkInfo=''
              this.getDetailListDo()
            },
           getDetailListDo(){
company/src/components/business/OperaApplyChangeDetailWindow.vue
@@ -171,7 +171,7 @@
                                    </span>
                                </span>
                        <span style="margin-top: 5px; font-size: 12px; font-weight: 400; color: #999999;">
                                    æ“ä½œå‘˜-{{activity.creatorName}}({{activity.creatorType==1? activity.companyName: "平台端"}}){{activity.createDate}}
                                    æ“ä½œå‘˜-{{activity.creatorName}}({{activity.creatorType==1? activity.companyName: (activity.creatorType==2? activity.companyName: "平台端") }}}){{activity.createDate}}
                                </span>
                      </div>
                    </el-timeline-item>
company/src/components/business/OperaApplyChangeUnitDetailWindow.vue
@@ -162,7 +162,7 @@
                                    </span>
                                </span>
                        <span style="margin-top: 5px; font-size: 12px; font-weight: 400; color: #999999;">
                                    æ“ä½œå‘˜-{{activity.creatorName}}({{activity.creatorType==1? activity.companyName: "平台端"}}){{activity.createDate}}
                                    æ“ä½œå‘˜-{{activity.creatorName}}({{activity.creatorType==1? activity.companyName:  (activity.creatorType==2? activity.companyName: "平台端")}}){{activity.createDate}}
                                </span>
                      </div>
                    </el-timeline-item>
company/src/components/business/OperaInsuranceApplyShopWindow.vue
@@ -399,7 +399,7 @@
                            </span>
                        </span>
                        <span style="margin-top: 5px; font-size: 12px; font-weight: 400; color: #999999;">
                            æ“ä½œå‘˜-{{activity.creatorName}}({{activity.creatorType == 1 ? activity.companyName: "平台端"}}){{activity.createDate}}
                            æ“ä½œå‘˜-{{activity.creatorName}}({{(activity.creatorType == 1 || activity.creatorType == 2) ? activity.companyName: "平台端"}}){{activity.createDate}}
                        </span>
                      </div>
                    </el-timeline-item>
company/src/components/business/OperaInsuranceApplyWindow.vue
@@ -399,7 +399,7 @@
                            </span>
                        </span>
                        <span style="margin-top: 5px; font-size: 12px; font-weight: 400; color: #999999;">
                            æ“ä½œå‘˜-{{activity.creatorName}}({{activity.creatorType == 1 ? activity.companyName: "平台端"}}){{activity.createDate}}
                            æ“ä½œå‘˜-{{activity.creatorName}}({{(activity.creatorType == 1||activity.creatorType == 2) ? activity.companyName: "平台端"}}){{activity.createDate}}
                        </span>
                      </div>
                    </el-timeline-item>
company/src/components/business/OperaSettleClaimsWindow.vue
@@ -399,7 +399,7 @@
                                        {{activity.content}}
                                 </span>
                                 <span style="margin-top: 5px; font-size: 12px; font-weight: 400; color: #999999;">
                                    æ“ä½œå‘˜-{{activity.creatorName}}({{activity.creatorType==1? activity.companyName: "平台端"}}){{activity.createDate}}
                                    æ“ä½œå‘˜-{{activity.creatorName}}({{(activity.creatorType == 1||activity.creatorType == 2)? activity.companyName: "平台端"}}){{activity.createDate}}
                                </span>
                      </div>
                      <div style="display: flex; flex-direction: column;" v-else>
@@ -410,7 +410,7 @@
                                    </span>
                                </span>
                                 <span style="margin-top: 5px; font-size: 12px; font-weight: 400; color: #999999;">
                                    æ“ä½œå‘˜-{{activity.creatorName}}({{activity.creatorType==1? activity.companyName: "平台端"}}){{activity.createDate}}
                                    æ“ä½œå‘˜-{{activity.creatorName}}({{(activity.creatorType == 1||activity.creatorType == 2)? activity.companyName: "平台端"}}){{activity.createDate}}
                                </span>
                      </div>
                    </el-timeline-item>
company/src/components/business/OperaWtbApplyCheckWindow.vue
@@ -8,62 +8,13 @@
    >
        <!--    é€€å›žæŠ•保    -->
        <el-form v-if="visible1==true" :model="form" ref="form1" :rules="rules1" style="width: 100%;">
          <el-form-item label="填写退回说明:" prop="backCheckInfo">
            <el-input type="textarea" v-model="form.backCheckInfo" placeholder="请输入" v-trim/>
          <el-form-item label="填写退回说明:" prop="backBackInfo">
            <el-input type="textarea" v-model="form.backWtb" placeholder="请输入" v-trim/>
          </el-form-item>
        </el-form>
        <el-form v-if="visible2==true" :model="form" ref="form2" :rules="rules2" style="width: 100%;">
          <el-form-item label="上传投保单:" prop="toubaodanFile">
            <UploadFile @remove="dele2" :uploadData="{ folder: 'apply',fileType:'.pdf' }" :fileList="form.fileList" @uploadSuccess="toubaoFileUploaded" />
          </el-form-item>
        </el-form>
        <!--    ä¸Šä¼ ä¿é™©å•    -->
      <el-form v-if="visible3==true" :model="form" ref="form3" :rules="rules3" style="width: 100%;">
        <el-form-item label="客户期望保险生效起期:">
          {{ model.applyStartTime }}
        </el-form-item>
        <el-form-item label="" >
          <el-radio-group v-model="form.selectRadio" @change="selectChange">
            <el-radio :label="0" >与保单一致</el-radio>
            <el-radio :label="1" >与保单不一致</el-radio>
          </el-radio-group>
        </el-form-item>
        <el-form-item label="保险生效起期:" prop="startTime" v-if="form.selectRadio === 1">
          <el-date-picker
              v-model="form.startTime"
              type="date"
              value-format="yyyy-MM-dd HH:mm:ss"
              placeholder="选择日期">
          </el-date-picker>
        </el-form-item>
        <el-form-item label="保险生效起期:">
          {{ form.startTime }}
        </el-form-item>
        <el-form-item label="保单号:" prop="code">
          <el-input v-model="form.code" placeholder="请输入" v-trim/>
        </el-form-item>
        <el-form-item label="上传保险单:" prop="baoxianFile">
          <UploadFile :uploadData="{ folder: 'apply',fileType:'.pdf' }" :fileList="form.fileList1" @uploadSuccess="baoxianFileUploaded" />
        </el-form-item>
      </el-form>
        <!--    ä¿®æ”¹ä¿é™©å•    -->
      <el-form v-if="visible4==true" :model="form" ref="form4" :rules="rules4" style="width: 100%;">
        <el-form-item label="保险生效起期:">
          {{ model.startTime }}
        </el-form-item>
        <el-form-item label="保单号:" prop="editCode">
          <el-input v-model="form.editCode" placeholder="请输入" v-trim/>
        </el-form-item>
        <el-form-item label="上传保险单:" prop="editBaoxianFile">
          <UploadFile :uploadData="{ folder: 'apply',fileType:'.pdf' }" :fileList="form.fileList1" @uploadSuccess="editBaoxianFileUploaded" />
        </el-form-item>
        <el-form-item label="修改原因:" prop="editCheckInfo">
          <el-input type="textarea" v-model="form.editCheckInfo" placeholder="请输入" v-trim/>
        </el-form-item>
      </el-form>
        <el-form v-if="visible5==true || visible6==true" :model="form" ref="form5" :rules="rules5" style="width: 100%;">
          <el-form-item label="填写说明:" prop="dealBackInfo">
            <el-input type="textarea" v-model="form.dealBackInfo" placeholder="请输入" v-trim/>
         <el-form v-if="visible2==true" :model="form" ref="form2" :rules="rules2" style="width: 100%;">
          <el-form-item label="填写关闭说明:" prop="dealCloseInfo">
            <el-input type="textarea" v-model="form.dealCloseInfo" placeholder="请输入" v-trim/>
          </el-form-item>
        </el-form>
      <template v-slot:footer>
@@ -76,150 +27,63 @@
<script>
import BaseOpera from '@/components/base/BaseOpera'
import GlobalWindow from '@/components/common/GlobalWindow'
import {
  dealBackApply,
  back,
  uploadBaoxiandan,
  editBaoxiandan,
  uploadToubaodan,
  check
} from "@/api/business/insuranceApply";
import UploadFile from "@/components/common/UploadFile";
import {remark} from "@/api/business/settleClaims";
import { check, closeWtbForShop } from '@/api/business/insuranceApply'
export default {
  name: 'OperaWtbApplyCheckWindow',
  extends: BaseOpera,
  components: {UploadFile, GlobalWindow },
  components: {   GlobalWindow },
  data () {
    return {
      // è¡¨å•数据
      model: {},
      falg :0,
      falg: 0,
      rules1: {
        backCheckInfo: [
          { required: true, message: '请完善信息' }
        ]
      },
      rules2: {
        toubaodanFile: [
          { required: true, message: '请完善信息' }
        ]
      },
      rules3: {
        code: [
          { required: true, message: '请完善信息' }
        ],
        startTime: [
          { required: true, message: '请完善信息' }
        ],
        baoxianFile: [
          { required: true, message: '请完善信息' }
        ],
      },
      rules5: {
        dealBackInfo: [
          { required: true, message: '请完善信息' }
        ]
      },
      rules4: {
        editCode: [
          { required: true, message: '请完善信息' }
        ],
        editBaoxianFile: [
          { required: true, message: '请完善信息' }
        ],
        editCheckInfo: [
        dealCloseInfo: [
          { required: true, message: '请完善信息' }
        ]
      },
      form: {
          id: null,
          backCheckInfo:'',
          dealBackInfo:'',
         editCheckInfo:'',
          editDate: '',
        editCode: '',
          startTime:null,
         code:null,
          toubaodanFile:null,
        baoxianFile:null,
         editBaoxianFile:null,
          fileList: [],
          fileList1: [],
          fileList2: [],
          selectRadio:0
        id: null,
        backCheckInfo: '',
        dealCloseInfo: ''
      },
      visible1: false,
      visible2: false,
      visible3: false,
      visible4: false,
      visible5: false,
      visible6: false,
      visible2: false
    }
  },
  created () {
      this.config({
          api: '/business/insuranceApply',
          'field.id': 'id'
      })
    this.config({
      api: '/business/insuranceApply',
      'field.id': 'id'
    })
  },
  methods: {
    dele2() {
      this.form.toubaodanFile = ''
    open (title, target, flag) {
      this.visible = true
      this.model = {}
      this.form = {
        id: null,
        backBackInfo: '',
        dealCloseInfo: ''
      },
      this.model = target
      this.title = title
      this.flag = flag
      this.visible1 = false
      this.visible2 = false
      if (flag == 1) {
        this.visible1 = true
      }
      if (flag == 2) {
        this.visible2 = true
      }
    },
     open(title,target,flag){
       this.visible=true
       this.model={}
       this.form= {
         id: null,
         backCheckInfo:'',
         dealBackInfo:'',
         editCheckInfo:'',
         editDate: '',
         editCode: '',
         startTime:null,
         code:null,
         toubaodanFile:null,
         baoxianFile:null,
         editBaoxianFile:null,
         fileList: [],
         fileList1: [],
         fileList2: [],
         selectRadio:0
       },
       this.model = target
       this.form.startTime = target.startTime
       this.title = title
       this.flag = flag
       this.visible1 = false
       this.visible2 = false
       this.visible3 = false
       this.visible4 = false
       this.visible5 = false
       this.visible6 = false
       if(flag == 1){
         this.visible1 = true
       }
       if(flag == 2){
         this.visible2 = true
       }
       if(flag == 3){
         this.visible3 = true
       }
       if(flag == 4){
         this.visible4 = true
         this.$nextTick(() => {
           this.$refs.form4.resetFields()
         })
       }
       if(flag == 5){
         this.visible5 = true
       }
       if(flag == 6){
         this.visible6 = true
       }
     },
    doSubmit(){
    doSubmit () {
      if (this.flag == 1) {
        this.$refs.form1.validate((valid) => {
          // debugger
@@ -234,151 +98,51 @@
          if (!valid) {
            return
          }
          this.uploadToubaodan()
        })
      } else if (this.flag == 3) {
        this.$refs.form3.validate((valid) => {
          // debugger
          if (!valid) {
            return
          }
          this.uploadBaoxiandan()
        })
      } else if (this.flag == 4) {
        this.$refs.form4.validate((valid) => {
          // debugger
          if (!valid) {
            return
          }
          this.editBaoxiandan()
        })
      } else if (this.flag == 5) {
        this.$refs.form5.validate((valid) => {
          // debugger
          if (!valid) {
            return
          }
          this.dealBackApply(1)
        })
      } else if (this.flag == 6) {
        this.$refs.form5.validate((valid) => {
          // debugger
          if (!valid) {
            return
          }
          this.dealBackApply(0)
          this.closeDo()
        })
      }
    },
    selectChange(){
       if(this.form.selectRadio == 0){
         this.form.startTime = this.model.startTime
       }else{
         this.form.startTime = ''
       }
    },
    toubaoFileUploaded(data){
      this.form.toubaodanFile=data
    },
    baoxianFileUploaded(data){
      this.form.baoxianFile=data
    },
    editBaoxianFileUploaded(data){
      this.form.editBaoxianFile=data
    },
    backDo(){
    backDo () {
      this.$dialog.messageConfirm('确认进行该操作吗?')
          .then(() => {
            this.isWorking = true
            back({id:this.model.id,checkInfo:this.form.backCheckInfo})
                .then(response => {
                  this.visible = false
                  this.$emit('success')
                  }).catch(err => {
                this.$tip.apiFailed(err)
                 })
          })
        .then(() => {
          this.isWorking = true
          check({ id: this.model.id, checkInfo: this.form.backCheckInfo })
            .then(response => {
              this.visible = false
              this.$emit('success')
            }).catch(err => {
              this.$tip.apiFailed(err)
            })
        })
    },
    uploadToubaodan(){
    closeDo () {
      this.$dialog.messageConfirm('确认进行该操作吗?')
          .then(() => {
            this.isWorking = true
            uploadToubaodan({id:this.model.id,toubaodanFile:this.form.toubaodanFile})
                .then(response => {
                  this.visible = false
                  this.$emit('success')
                }).catch(err => {
                  this.$tip.apiFailed(err)
                })
          })
        .then(() => {
          this.isWorking = true
          closeWtbForShop({ id: this.model.id, checkInfo: this.form.dealCloseInfo })
            .then(response => {
              this.visible = false
              this.$emit('success')
            }).catch(err => {
              this.$tip.apiFailed(err)
            })
        })
    },
    dealBackApply(type){
      this.$dialog.messageConfirm('确认进行该操作吗?')
          .then(() => {
            this.isWorking = true
            dealBackApply({ id: this.model.id, checkInfo: this.form.dealBackInfo, dealBackApply: type })
                .then(response => {
                  this.visible = false
                  this.$emit('success')
                }).catch(err => {
                  this.$tip.apiFailed(err)
                })
          })
    },
    uploadBaoxiandan(){
      this.$dialog.messageConfirm('确认进行该操作吗?')
          .then(() => {
            this.isWorking = true
            uploadBaoxiandan({id:this.model.id,startTime:this.form.startTime,code:this.form.code,baoxiandanFile:this.form.baoxianFile})
                .then(response => {
                  this.visible = false
                  this.$emit('success')
                }).catch(err => {
                  this.$tip.apiFailed(err)
                })
          })
    successEvent () {
    },
    editBaoxiandan(){
      this.$dialog.messageConfirm('确认进行该操作吗?')
          .then(() => {
            this.isWorking = true
            editBaoxiandan({id:this.model.id, checkInfo:this.form.editCheckInfo,code:this.form.editCode,baoxiandanFile:this.form.editBaoxianFile})
                .then(response => {
                  this.visible = false
                  this.$emit('success')
                }).catch(err => {
                  this.$tip.apiFailed(err)
                })
          })
    handleSizeChange (val) {
      console.log(`每页 ${val} æ¡`)
    },
      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() {
    handleCurrentChange (val) {
      console.log(`当前页: ${val}`)
    },
    handleClick (tab, event) {
      console.log(tab, event)
    },
    onSubmit () {
      },
      handleSizeChange(val) {
          console.log(`每页 ${val} æ¡`);
      },
      handleCurrentChange(val) {
          console.log(`当前页: ${val}`);
      },
      handleClick(tab, event) {
          console.log(tab, event);
      },
      onSubmit() {
      }
    }
  }
}
</script>
company/src/components/business/OperaWtbApplyShopWindow.vue
@@ -39,8 +39,8 @@
                      <el-button v-if="[21,22,23,24,25,26,27].includes(model.status)" type="primary" @click="viewFanganshu">查看确认书</el-button>
                      <el-button v-if="[22,23,24,25,26,27].includes(model.status)" type="primary" @click="viewShenqingdan">查看申请单</el-button>
                      <el-button v-if="model.status == 22" type="primary" @click="$refs.InsuranceDetails.open('投保审核',model,1)">投保审核</el-button>
                      <el-button v-if="model.status == 22" type="danger" @click="$refs.OperaInsuranceApplyCheckWindow.open('退回投保',model,1)">退回申请</el-button>
                      <el-button v-if="model.status == 23" type="danger" @click="$refs.OperaInsuranceApplyCheckWindow.open('退回投保',model,1)">关闭申请</el-button>
                      <el-button v-if="[20,21,22].includes(model.status)" type="danger" @click="$refs.OperaWtbApplyCheckWindow.open('退回投保',model,1)">退回申请</el-button>
                      <el-button v-if="model.status == 23" type="danger" @click="$refs.OperaWtbApplyCheckWindow.open('关闭申请',model,2)">关闭申请</el-button>
                    </template>
                    <template v-if="userInfo.type === 0">
                      <el-button v-if="[27].includes(model.status)" type="primary" @click="viewFanganshu">查看确认书</el-button>
@@ -403,7 +403,7 @@
                            </span>
                        </span>
                        <span style="margin-top: 5px; font-size: 12px; font-weight: 400; color: #999999;">
                            æ“ä½œå‘˜-{{activity.creatorName}}({{activity.creatorType == 1 ? activity.companyName: "平台端"}}){{activity.createDate}}
                            æ“ä½œå‘˜-{{activity.creatorName}}({{(activity.creatorType == 1||activity.creatorType == 2) ? activity.companyName: "平台端"}}){{activity.createDate}}
                        </span>
                      </div>
                    </el-timeline-item>
@@ -412,7 +412,7 @@
            </div>
        </div>
        <InsuranceDetails ref="InsuranceDetails" @success="successEvent" />
        <OperaInsuranceApplyCheckWindow ref="OperaInsuranceApplyCheckWindow" @success="successEvent" />
        <OperaWtbApplyCheckWindow ref="OperaWtbApplyCheckWindow" @success="successEvent" />
        <!--    ä¼ä¸šç”³è¯·é€€å›ž    -->
        <applyReturn ref="applyReturn" @success="successEvent" />
        <!--    æ–°å¢žæŠ•保    -->
@@ -464,7 +464,7 @@
import BaseOpera from '@/components/base/BaseOpera'
import GlobalWindow from '@/components/common/GlobalWindow'
import InsuranceDetails from '@/components/business/InsuranceDetails'
import OperaInsuranceApplyCheckWindow from '@/components/business/OperaInsuranceApplyCheckWindow'
import OperaWtbApplyCheckWindow from '@/components/business/OperaWtbApplyCheckWindow'
import additionSubtractionApplication from '@/components/enterprise/additionSubtractionApplication'
import factoryChange from '@/components/enterprise/factoryChange'
import operaverifyPhoneNumberWindew from '@/components/business/operaverifyPhoneNumberWindew'
@@ -494,7 +494,7 @@
  components: {
    GlobalWindow,
    InsuranceDetails,
    OperaInsuranceApplyCheckWindow,
    OperaWtbApplyCheckWindow,
    applyReturn,
    OperaInsuranceApply,
    additionSubtractionApplication,
company/src/components/business/dispatchUnitDetailsPlat.vue
@@ -97,7 +97,7 @@
                                    </span>
                                </span>
                                <span style="margin-top: 5px; font-size: 12px; font-weight: 400; color: #999999;">
                                    æ“ä½œå‘˜-{{activity.creatorName}}({{activity.creatorType==1? activity.companyName: "平台端"}}){{activity.createDate}}
                                    æ“ä½œå‘˜-{{activity.creatorName}}({{(activity.creatorType == 1||activity.creatorType == 2)? activity.companyName: "平台端"}}){{activity.createDate}}
                                </span>
                            </div>
                        </el-timeline-item>
company/src/views/business/unionChangeUnit.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,134 @@
<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="1"></el-option>
                    <el-option label="待出单" value="2"></el-option>
                    <el-option label="已生效" value="3"></el-option>
                    <el-option label="已退回" value="4"></el-option>
                </el-select>
            </el-form-item>
            <el-form-item label="保险方案" prop="solutionName">
                <el-input v-model="searchForm.solutionName" placeholder="请输入" @keypress.enter.native="search"></el-input>
            </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>
            <ul class="toolbar" v-permissions="['business:insurance:create']">
                <li><el-button type="primary" @click="$refs.add_subtract_entrust.open('加减保申请')" v-permissions="['business:insurance:create']">提交申请</el-button></li>
            </ul>
            <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 === 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">已生效</span>
                        <span :class="'change-status'+row.status" v-if="row.status === 4">已退回</span>
                    </template>
                </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>
        <!--    æäº¤ç”³è¯·    -->
        <add_subtract_entrust ref="add_subtract_entrust" />
    </TableLayout>
</template>
<script>
    import BaseTable from '@/components/base/BaseTable'
    import TableLayout from '@/layouts/TableLayout'
    import Pagination from '@/components/common/Pagination'
    import add_subtract_entrust from '@/components/business/add_subtract_entrust'
    export default {
        name: 'unionChangeUnit',
        extends: BaseTable,
        components: { TableLayout, Pagination, add_subtract_entrust },
        data () {
            return {
                // æœç´¢
                searchForm: {
                    status: '',
                    type: '0',
                    solutionName: '',
                    queryStartTime: '',
                    queryEndTime: '',
                    time: []
                }
            }
        },
        created () {
            this.config({
                module: '加减保换厂合并单信息表',
                api: '/business/unionChange',
                'field.id': 'id',
                'field.main': 'id'
            })
            this.search()
        },
        methods: {
            changeTime(e) {
                if (e.length > 0) {
                    this.searchForm.queryStartTime = e[0]
                    this.searchForm.queryEndTime = e[1]
                } else {
                    this.searchForm.queryStartTime = ''
                    this.searchForm.queryEndTime = ''
                }
                this.search()
            },
            reset() {
                this.searchForm.queryStartTime = ''
                this.searchForm.queryEndTime = ''
                this.searchForm.time = []
                this.$refs.searchForm.resetFields();
                this.search()
            }
        }
    }
</script>
server/company/src/main/resources/application.yml
@@ -6,7 +6,7 @@
#  env: production
server:
#  port: 10022
  port: 10032
  port: 10031
spring:
#  application:git
server/service/src/main/java/com/doumee/core/utils/Constants.java
@@ -769,9 +769,6 @@
        PLATFORM_UN_AGREE_BACK(9, "驳回退回申请","提交意见:${param}",0),
        COMPANY_EDIT(10, "保单修改","提交意见:${param1}\n${param2}",0),
        PLATFORM_CHECK_PASS(11, "投保审核通过","提交意见:${param}",0),
        UPLOAD_AGAIN(26, "再次投保","",0),
        PALTFORM_EDIT_BD(22, "修改保单","修改原因:${param}",0),
        CA_PLATFORM_CHECK_PASS_NO(12, "退回投保","提交意见:${param}",1),
        CA_PLATFORM_AGREE_BACK_APPLY(13, "同意退回申请","提交意见:${param}",1),
@@ -793,6 +790,11 @@
        CA_WTB_FINISH_MEMBER_LIST(28, "委托保 - åŠ å‡ä¿ç­¾ç½²äººå‘˜åå•","",1),
        UPLOAD_AGAIN(29, "再次投保","",0),
        PALTFORM_EDIT_BD(30, "修改保单","修改原因:${param}",0),
        SHOP_CLOSE_WTB_APPLY(31, "关闭申请","原因:${param}",0),
server/service/src/main/java/com/doumee/service/business/InsuranceApplyService.java
@@ -108,7 +108,7 @@
    void applyOpt(InsuranceApplyOptDTO insuranceApplyOptDTO);
    Integer back(InsuranceApply insuranceApply);
    Integer closeWtbForShop(InsuranceApply insuranceApply);
    Integer uploadToubaodan(InsuranceApply insuranceApply);
    Integer uploadBaoxiandan(InsuranceApply insuranceApply);
server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
@@ -153,6 +153,39 @@
        return  1;
    }
    @Override
    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
    public Integer closeWtbForShop(InsuranceApply insuranceApply) {
        if(insuranceApply.getId() == null ||StringUtils.isBlank(insuranceApply.getCheckInfo())){
            throw  new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        InsuranceApply model = insuranceApplyMapper.selectById(insuranceApply.getId());
        if(model == null ||!Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO)){
            throw  new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        //只有审核通过的状态可关闭
        if(!Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WTB_BUSINESS_CHECK_PASS.getKey())){
            throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,该申请状态已流转,当前不支持该操作~");
        }
        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        InsuranceApply update = new InsuranceApply();
        update.setEditDate(new Date());
        update.setEditor(user.getId());
        update.setStatus(Constants.InsuranceApplyStatus.WTB_CLOSED.getKey());
        update.setCheckDate(update.getEditDate());
        update.setCheckInfo(insuranceApply.getCheckInfo());
        update.setCheckUserId(user.getId());
        update.setId(model.getId());
        insuranceApplyMapper.updateById(update);
        Constants.ApplyLogType applyLogType = Constants.ApplyLogType.SHOP_CLOSE_WTB_APPLY;
        String info =applyLogType.getInfo();
        info = info.replace("${param}", update.getCheckInfo());
        ApplyLog log = new ApplyLog(update,applyLogType.getName(),info,update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update));
        applyLogMapper.insert(log);
        return  1;
    }
    @Override
    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
@@ -1261,15 +1294,19 @@
        if(Objects.isNull(solutions)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询方案信息");
        }
        if(solutions.getType().equals(Constants.ZERO)){
        if(Constants.equalsObject(solutions.getType(),Constants.ZERO)){
            if(!Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.UPLOAD.getKey())){
                throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,该申请状态已流转,当前不支持该操作~");
            }
        }else{
            if(!user.getType().equals(Constants.TWO)){
            if(!Constants.equalsObject(user.getType(),Constants.TWO)){
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"非商户端无法进行该操作");
            }
            if(!Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WTB_RETURN.getKey())){
            //委托保待签署、待审核可进行退回操作
            if(!(Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WTB_UPLOAD.getKey())
                    ||Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WTB_COMPANY_APPLY_SIGNATURE.getKey())
                    ||Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WTB_COMPANY_MEMBER_LIST_SIGNATURE.getKey())
                    )){
                throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,该申请状态已流转,当前不支持该操作~");
            }
        }
@@ -1286,9 +1323,14 @@
            //如果是不通过
            applyLogType = Constants.ApplyLogType.PLATFORM_RETURN ;
            update.setStatus(Constants.InsuranceApplyStatus.PLATFORM_RETURN.getKey());
            if(Constants.equalsObject(solutions.getType(),Constants.ONE)){
                update.setStatus(Constants.InsuranceApplyStatus.WTB_RETURN.getKey());
            }
        }else{
            applyLogType = Constants.ApplyLogType.PLATFORM_CHECK_PASS;
            update.setStatus(Constants.InsuranceApplyStatus.PLATFORM_CHECK_PASS.getKey());
            if(Constants.equalsObject(solutions.getType(),Constants.ONE)){
                update.setStatus(Constants.InsuranceApplyStatus.WTB_BUSINESS_CHECK_PASS.getKey());
            }
        }
        insuranceApplyMapper.updateById(update);
server/shop/src/main/java/com/doumee/api/business/InsuranceApplyController.java
@@ -38,19 +38,25 @@
    public ApiResponse create(@RequestBody InsuranceApply insuranceApply) {
        return ApiResponse.success(insuranceApplyService.create(insuranceApply));
    }
    @ApiOperation("平台投保审核")
    @ApiOperation("商户投保审核")
    @PostMapping("/check")
    @RequiresPermissions("business:insuranceapply:check")
    public ApiResponse check(@RequestBody InsuranceApply insuranceApply) {
        return ApiResponse.success(insuranceApplyService.check(insuranceApply));
    }
    @ApiOperation("平台退回投保")
    @ApiOperation("商户退回投保")
    @PostMapping("/back")
    @RequiresPermissions("business:insuranceapply:back")
    public ApiResponse back(@RequestBody InsuranceApply insuranceApply) {
        return ApiResponse.success(insuranceApplyService.back(insuranceApply));
    }
    @ApiOperation("平台上传投保单")
    @ApiOperation("商户关闭委托投保")
    @PostMapping("/closeWtbForShop")
    @RequiresPermissions("business:insuranceapply:back")
    public ApiResponse closeWtbForShop(@RequestBody InsuranceApply insuranceApply) {
        return ApiResponse.success(insuranceApplyService.closeWtbForShop(insuranceApply));
    }
    @ApiOperation("商户上传投保单")
    @PostMapping("/uploadToubaodan")
    @RequiresPermissions("business:insuranceapply:uploadToubaodan")
    public ApiResponse uploadToubaodan(@RequestBody InsuranceApply insuranceApply) {
@@ -65,19 +71,19 @@
    }
    @ApiOperation("平台上传保险单")
    @ApiOperation("商户上传保险单")
    @PostMapping("/uploadBaoxiandan")
    @RequiresPermissions("business:insuranceapply:uploadBaoxiandan")
    public ApiResponse uploadBaoxiandan(@RequestBody InsuranceApply insuranceApply) {
        return ApiResponse.success(insuranceApplyService.uploadBaoxiandan(insuranceApply));
    }
    @ApiOperation("平台处理退单申请")
    @ApiOperation("商户处理退单申请")
    @PostMapping("/dealBackApply")
    @RequiresPermissions("business:insuranceapply:dealBackApply")
    public ApiResponse dealBackApply(@RequestBody InsuranceApply insuranceApply) {
        return ApiResponse.success(insuranceApplyService.dealBackApply(insuranceApply));
    }
    @ApiOperation("平台修改保险单")
    @ApiOperation("商户修改保险单")
    @PostMapping("/editBaoxiandan")
    @RequiresPermissions("business:insuranceapply:editBaoxiandan")
    public ApiResponse editBaoxiandan(@RequestBody InsuranceApply insuranceApply) {
server/shop/src/main/resources/application.yml
@@ -6,7 +6,7 @@
#  env: production
server:
#  port: 10022
  port: 10031
  port: 10032
spring:
#  application:git