nidapeng
2024-04-01 06b919319e949de66879a8505e9e4640ad3db18f
提交一把
已修改18个文件
497 ■■■■■ 文件已修改
company/.env.developmentCom 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/.env.developmentShop 2 ●●● 补丁 | 查看 | 原始文档 | 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 | 历史
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
@@ -15,4 +15,4 @@
# 平台端-萍姐
# 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>
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