| | |
| | | |
| | | # VUE_APP_API = 'http://192.168.0.104:10023/' |
| | | |
| | | <<<<<<< HEAD |
| | | VUE_APP_API = 'http://192.168.0.134:10023/' |
| | | ======= |
| | | #VUE_APP_API = 'http://192.168.0.134:10023/' |
| | | VUE_APP_API = 'http://localhost:10023/' |
| | | # VUE_APP_API = 'http://192.168.0.134:10023/' |
| | | >>>>>>> c6c95a49be6194989c124b8fd316fb5d434bd153 |
| | |
| | | export function check (data) { |
| | | return request.post('/business/insuranceApply/check', data) |
| | | } |
| | | export function back (data) { |
| | | return request.post('/business/insuranceApply/back', data) |
| | | } |
| | | |
| | | export function uploadToubaodan (data) { |
| | | return request.post('/business/insuranceApply/uploadToubaodan', data) |
| | | } |
| | | export function uploadBaoxiandan(data) { |
| | | return request.post('/business/insuranceApply/uploadBaoxiandan', data) |
| | | } |
| | | export function editBaoxiandan(data) { |
| | | return request.post('/business/insuranceApply/editBaoxiandan', data) |
| | | } |
| | | export function dealBackApply(data) { |
| | | return request.post('/business/insuranceApply/dealBackApply', data) |
| | | } |
| | | |
| | | export function exportDetailExcel (data) { |
| | | return request.post('/business/insuranceApply/exportDetailExcel', data, { |
| | |
| | | export function getDetail (id) { |
| | | return request.get(`business/insuranceApply/${id}`) |
| | | } |
| | | export function getSignLink (id) { |
| | | return request.get(`business/insuranceApply/getSignLink/${id}`) |
| | | } |
| | | export function getDetailList (data) { |
| | | return request.post('/business/applyDetail/list', data, { |
| | | trim: true |
| | |
| | | </div> |
| | | <template v-if="type==1" v-slot:footer> |
| | | <el-button type="primary" :loading="isWorking.export" @click="check(0)">æäº¤éè¿</el-button> |
| | | <el-button type="danger" :loading="isWorking.export" @click="check(1)">å®¡æ ¸ä¸éè¿</el-button> |
| | | <!-- <el-button type="danger" :loading="isWorking.export" @click="check(1)">å®¡æ ¸ä¸éè¿</el-button>--> |
| | | <el-button @click="visible=false">åæ¶</el-button> |
| | | </template> |
| | | <template v-else v-slot:footer> |
| | |
| | | }, |
| | | check(type){ |
| | | this.form.dealBackApply = type; |
| | | this.$dialog.exportConfirm('确认è¿è¡è¯¥æä½åï¼') |
| | | this.$dialog.messageConfirm('确认è¿è¡è¯¥æä½åï¼') |
| | | .then(() => { |
| | | this.isWorking = true |
| | | check(this.form) |
| | |
| | | <div class="form_item"> |
| | | <div class="form_item_label"><span>*</span>å¡«åéå说æï¼</div> |
| | | <div class="form_item_val"> |
| | | <textarea placeholder="请è¾å
¥"></textarea> |
| | | <textarea v-model="form.backCheckInfo" placeholder="请è¾å
¥"></textarea> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="form_item"> |
| | | <div class="form_item_label">ä¸ä¼ æä¿åï¼</div> |
| | | <div class="form_item_val"> |
| | | <el-upload |
| | | class="upload-demo" |
| | | action="https://locahost:10023/public/upload" |
| | | :on-preview="handlePreview" |
| | | :on-remove="handleRemove" |
| | | :before-remove="beforeRemove" |
| | | :limit="1" |
| | | :on-exceed="handleExceed" |
| | | :file-list="fileList"> |
| | | <el-button size="small" type="primary">ç¹å»ä¸ä¼ </el-button> |
| | | <div slot="tip" class="el-upload__tip">åªè½ä¸ä¼ pdfæä»¶ï¼ä¸ä¸è¶
è¿5mb</div> |
| | | </el-upload> |
| | | <UploadFile :uploadData="{ folder: 'apply',fileType:'.pdf' }" :fileList="form.fileList" @uploadSuccess="toubaoFileUploaded" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <div v-if="visible3==true" class="form"> |
| | | <div class="form_item"> |
| | | <div class="form_item_label">å®¢æ·ææä¿é©çæèµ·æï¼</div> |
| | | <div class="form_item_val">2023-10-01 00:00:00</div> |
| | | <div class="form_item_val">{{ model.applyStartTime }}</div> |
| | | </div> |
| | | <div class="form_item"> |
| | | <div class="form_item_label">ä¿é©çæèµ·ææ¯å¦ä¸è´ï¼</div> |
| | | <div class="form_item_val"> |
| | | <el-radio-group v-model="radio"> |
| | | <el-radio :label="0">ä¸ä¿åä¸è´</el-radio> |
| | | <el-radio :label="1">ä¸ä¿åä¸ä¸è´</el-radio> |
| | | <el-radio-group v-model="form.selectRadio" @change="selectChange"> |
| | | <el-radio :label="0" >ä¸ä¿åä¸è´</el-radio> |
| | | <el-radio :label="1" >ä¸ä¿åä¸ä¸è´</el-radio> |
| | | </el-radio-group> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="form_item_label"><span>*</span>ä¿é©çæèµ·æï¼</div> |
| | | <div class="form_item_val"> |
| | | <el-date-picker |
| | | v-model="value1" |
| | | v-model="form.startTime" |
| | | type="date" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | placeholder="éæ©æ¥æ"> |
| | | </el-date-picker> |
| | | </div> |
| | | </div> |
| | | <div class="form_item"> |
| | | <div class="form_item_label">ä¿é©çæèµ·æï¼</div> |
| | | <div class="form_item_val">2023-10-01 00:00:00</div> |
| | | <div class="form_item_val">{{ form.startTime }}</div> |
| | | </div> |
| | | <div class="form_item"> |
| | | <div class="form_item_label"><span>*</span>ä¿åå·ï¼</div> |
| | | <div class="form_item_val"> |
| | | <el-input placeholder="请è¾å
¥"></el-input> |
| | | <div class="form_item_val" > |
| | | <el-input v-model="form.code" placeholder="请è¾å
¥"></el-input> |
| | | </div> |
| | | </div> |
| | | <div class="form_item"> |
| | | <div class="form_item_label">ä¸ä¼ ä¿é©åï¼</div> |
| | | <div class="form_item_val"> |
| | | <el-upload |
| | | class="upload-demo" |
| | | action="https://jsonplaceholder.typicode.com/posts/" |
| | | :on-preview="handlePreview" |
| | | :on-remove="handleRemove" |
| | | :before-remove="beforeRemove" |
| | | multiple |
| | | :limit="1" |
| | | :on-exceed="handleExceed" |
| | | :file-list="fileList"> |
| | | <el-button size="small" type="primary">ç¹å»ä¸ä¼ </el-button> |
| | | <div slot="tip" class="el-upload__tip">åªè½ä¸ä¼ pdfæä»¶ï¼ä¸ä¸è¶
è¿5mb</div> |
| | | </el-upload> |
| | | <UploadFile :uploadData="{ folder: 'apply',fileType:'.pdf' }" :fileList="form.fileList1" @uploadSuccess="baoxianFileUploaded" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- ä¿®æ¹ä¿é©å --> |
| | | <div v-if="visible4==true" class="form"> |
| | | <div class="form_item"> |
| | | <div class="form_item_label"><span>*</span>ä¿é©çæèµ·æï¼</div> |
| | | <div class="form_item_val"> |
| | | <el-date-picker |
| | | v-model="value1" |
| | | type="date" |
| | | placeholder="éæ©æ¥æ"> |
| | | </el-date-picker> |
| | | </div> |
| | | <div class="form_item_label">ä¿é©çæèµ·æï¼</div> |
| | | <div class="form_item_val">{{ model.startTime }}</div> |
| | | </div> |
| | | <div class="form_item"> |
| | | <div class="form_item_label"><span>*</span>ä¿åå·ï¼</div> |
| | | <div class="form_item_val"> |
| | | <el-input placeholder="请è¾å
¥"></el-input> |
| | | <el-input v-model="form.editCode" placeholder="请è¾å
¥"></el-input> |
| | | </div> |
| | | </div> |
| | | <div class="form_item"> |
| | | <div class="form_item_label"><span>*</span>ä¸ä¼ ä¿é©åï¼</div> |
| | | <div class="form_item_val"> |
| | | <el-upload |
| | | class="upload-demo" |
| | | action="https://jsonplaceholder.typicode.com/posts/" |
| | | :on-preview="handlePreview" |
| | | :on-remove="handleRemove" |
| | | :before-remove="beforeRemove" |
| | | multiple |
| | | :limit="1" |
| | | :on-exceed="handleExceed" |
| | | :file-list="fileList"> |
| | | <el-button size="small" type="primary">ç¹å»ä¸ä¼ </el-button> |
| | | <div slot="tip" class="el-upload__tip">åªè½ä¸ä¼ pdfæä»¶ï¼ä¸ä¸è¶
è¿5mb</div> |
| | | </el-upload> |
| | | <UploadFile :uploadData="{ folder: 'apply',fileType:'.pdf' }" :fileList="form.fileList2" @uploadSuccess="editBaoxianFileUploaded" /> |
| | | </div> |
| | | </div> |
| | | <div class="form_item"> |
| | | <div class="form_item_label"><span>*</span>ä¿®æ¹åå ï¼</div> |
| | | <div class="form_item_val"> |
| | | <el-input placeholder="请è¾å
¥"></el-input> |
| | | <el-input placeholder="请è¾å
¥" v-model="form.editCheckInfo" ></el-input> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="form_item"> |
| | | <div class="form_item_label"><span>*</span>å¡«å说æï¼</div> |
| | | <div class="form_item_val"> |
| | | <textarea placeholder="请è¾å
¥"></textarea> |
| | | <textarea v-model="form.dealBackInfo" placeholder="请è¾å
¥"></textarea> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- åæéåç³è¯· --> |
| | | <div v-if="visible6==true" class="form"> |
| | | <div class="form_item"> |
| | | <div class="form_item_label"><span>*</span>åæéå说æï¼</div> |
| | | <div class="form_item_val"> |
| | | <textarea v-model="form.dealBackInfo" placeholder="请è¾å
¥"></textarea> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <template v-slot:footer> |
| | | <el-button type="primary" @click="visible=false">ç¡® å®</el-button> |
| | | <el-button type="primary" @click="doSubmit">ç¡® å®</el-button> |
| | | <el-button @click="visible=false">åæ¶</el-button> |
| | | </template> |
| | | </GlobalWindow> |
| | |
| | | <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"; |
| | | export default { |
| | | name: 'OperaInsuranceApplyCheckWindow', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow }, |
| | | components: {UploadFile, GlobalWindow }, |
| | | data () { |
| | | return { |
| | | // è¡¨åæ°æ® |
| | | model: {}, |
| | | falg :0, |
| | | form: { |
| | | id: null, |
| | | editDate: '' |
| | | }, |
| | | // éªè¯è§å |
| | | rules: { |
| | | }, |
| | | formInline: { |
| | | user: '', |
| | | region: '' |
| | | backCheckInfo:'', |
| | | dealBackInfo:'', |
| | | editCheckInfo:'', |
| | | editDate: '', |
| | | editCode: '', |
| | | startTime:null, |
| | | code:null, |
| | | toubaodanFile:null, |
| | | baoxianFile:null, |
| | | editBaoxianFile:null, |
| | | fileList: [], |
| | | fileList1: [], |
| | | fileList2: [], |
| | | selectRadio:0 |
| | | }, |
| | | visible1: false, |
| | | visible2: false, |
| | | visible3: false, |
| | | visible4: false, |
| | | visible5: false, |
| | | reverse: true, |
| | | radio: 0, |
| | | fileList: [ |
| | | ], |
| | | activities: [{ |
| | | content: 'æ´»å¨ææå¼å§', |
| | | timestamp: '2018-04-15' |
| | | }, { |
| | | content: 'éè¿å®¡æ ¸', |
| | | timestamp: '2018-04-13' |
| | | }, { |
| | | content: 'å建æå', |
| | | timestamp: '2018-04-11' |
| | | }], |
| | | tableData: [], |
| | | activeName: 'first', |
| | | currentPage: 1 |
| | | } |
| | | }, |
| | | created () { |
| | |
| | | open(title,target,flag){ |
| | | this.visible=true |
| | | this.model=target |
| | | this.form.startTime=this.model.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 == 5){ |
| | | this.visible5 = true |
| | | } |
| | | if(flag == 6){ |
| | | this.visible6 = true |
| | | } |
| | | }, |
| | | getDetail(){ |
| | | getDetail(this.dataId).then(res => { |
| | | }).catch(err => { |
| | | }) |
| | | doSubmit(){ |
| | | if (this.flag == 1) { |
| | | this.backDo() |
| | | } else if (this.flag == 2) { |
| | | this.uploadToubaodan() |
| | | } else if (this.flag == 3) { |
| | | this.uploadBaoxiandan() |
| | | } else if (this.flag == 4) { |
| | | this.editBaoxiandan() |
| | | } else if (this.flag == 5) { |
| | | this.dealBackApply(1) |
| | | } else if (this.flag == 6) { |
| | | this.dealBackApply(0) |
| | | } |
| | | }, |
| | | selectChange(){ |
| | | if(this.form.selectRadio == 0){ |
| | | this.form.startTime = this.model.startTime |
| | | }else{ |
| | | |
| | | } |
| | | }, |
| | | toubaoFileUploaded(data){ |
| | | this.form.toubaodanFile=data |
| | | }, |
| | | baoxianFileUploaded(data){ |
| | | this.form.baoxianFile=data |
| | | }, |
| | | editBaoxianFileUploaded(data){ |
| | | this.form.editBaoxianFile=data |
| | | }, |
| | | 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) |
| | | }) |
| | | }) |
| | | }, |
| | | uploadToubaodan(){ |
| | | 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) |
| | | }) |
| | | }) |
| | | }, |
| | | 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,checkInfo:this.form.backCheckInfo,code:this.form.code,baoxiandanFile:this.form.baoxianFile}) |
| | | .then(response => { |
| | | this.visible = false |
| | | this.$emit('success') |
| | | }).catch(err => { |
| | | this.$tip.apiFailed(err) |
| | | }) |
| | | }) |
| | | |
| | | }, |
| | | editBaoxiandan(){ |
| | | this.$dialog.messageConfirm('确认è¿è¡è¯¥æä½åï¼') |
| | | .then(() => { |
| | | this.isWorking = true |
| | | editBaoxiandan({id:this.model.id, checkInfo:this.form.backCheckInfo,code:this.form.editCode,baoxiandanFile:this.form.editBaoxianFile}) |
| | | .then(response => { |
| | | this.visible = false |
| | | this.$emit('success') |
| | | }).catch(err => { |
| | | this.$tip.apiFailed(err) |
| | | }) |
| | | }) |
| | | }, |
| | | backeditBaoxiandan(){ |
| | | this.$dialog.messageConfirm('确认è¿è¡è¯¥æä½åï¼') |
| | | .then(() => { |
| | | this.isWorking = true |
| | | editBaoxiandan({id:this.model.id,checkInfo:this.form.backCheckInfo}) |
| | | .then(response => { |
| | | this.visible = false |
| | | this.$emit('success') |
| | | }).catch(err => { |
| | | this.$tip.apiFailed(err) |
| | | }) |
| | | }) |
| | | }, |
| | | handleRemove(file, fileList) { |
| | | console.log(file, fileList); |
| | |
| | | <div class="desc_item_label"> |
| | | <div class="desc_item_label_left"> |
| | | <span>æä¿ä¼ä¸ï¼{{ model.companyName }}</span> |
| | | <span>ä¿åç¶æï¼{{ model.statusInfo }}{{model.statusCollect}}</span> |
| | | <span>ä¿åç¶æï¼{{ model.statusInfo }}</span> |
| | | <span>æäº¤æ¶é´ï¼{{ model.createDate }}</span> |
| | | </div> |
| | | <div class="desc_item_label_right"> |
| | | <el-button type="primary" @click="$refs.InsuranceDetails.open('æä¿è¯¦æ
å',model,0)">导åºè¯¦å</el-button> |
| | | <el-button v-if="model.statusCollect == 1 " type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('ä¸ä¼ æä¿å',model,2)">ä¸ä¼ æä¿å</el-button> |
| | | <el-button v-if="model.statusCollect == 3 " type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('ä¸ä¼ ä¿é©å',model,3)">ä¸ä¼ ä¿é©å</el-button> |
| | | <el-button v-if="model.statusCollect == 6 || model.status == 7|| model.status == 8" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('å¤çéåç³è¯·',model,5)">å¤çéåç³è¯·</el-button> |
| | | <el-button v-if="model.statusCollect == 0 " type="primary" @click="$refs.InsuranceDetails.open('æä¿å®¡æ ¸',model,1)">æä¿å®¡æ ¸</el-button> |
| | | <el-button v-if="model.statusCollect != 5 " type="danger" @click="$refs.OperaInsuranceApplyCheckWindow.open('éåæä¿',model,1)">éåæä¿</el-button> |
| | | <el-button v-if="model.statusCollect == 5 " type="danger" @click="$refs.OperaInsuranceApplyCheckWindow.open('ä¿®æ¹ä¿é©å',model,4)">ä¿®æ¹ä¿é©å</el-button> |
| | | </div> |
| | | <div class="desc_item_label_right"> |
| | | <el-button type="primary" @click="$refs.InsuranceDetails.open('æä¿è¯¦æ
å',model,0)">导åºè¯¦å</el-button> |
| | | <el-button v-if="model.status == 2 ||model.status == 3 ||model.status == 5 ||model.status == 7 ||model.status == 8 " 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 " 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 == 2 " type="primary" @click="goSign">ä¼ä¸ç¾ç« </el-button> |
| | | <el-button v-if="model.status == 6 || model.status == 7|| model.status == 8" 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> |
| | | </div> |
| | | </div> |
| | | <div class="desc_item_from"> |
| | | <el-table |
| | |
| | | style="width: 100%"> |
| | | <el-table-column |
| | | prop="code" |
| | | align="center" |
| | | label="ä¿åå·"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="solutionsName" |
| | | label="ä¿é©æ¹æ¡" |
| | | align="center" |
| | | width="180"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="startTime" |
| | | align="center" |
| | | label="ä¿é©çæèµ·æ"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="endTime" |
| | | align="center" |
| | | label="ä¿é©çææ¢æ"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="insureNum" |
| | | align="center" |
| | | label="æä¿äººæ°"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="serviceDays" |
| | | align="center" |
| | | label="å¨ä¿æ¶é¿ï¼å¤©ï¼"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="currentFee" |
| | | align="center" |
| | | label="å½åè´¹ç¨(å
)"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="fee" |
| | | align="center" |
| | | label="æ»è´¹ç¨(å
)"> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import InsuranceDetails from '@/components/business/InsuranceDetails' |
| | | import OperaInsuranceApplyCheckWindow from '@/components/business/OperaInsuranceApplyCheckWindow' |
| | | import {getDetail} from "@/api/business/insuranceApply"; |
| | | import {getDetail, getSignLink} from "@/api/business/insuranceApply"; |
| | | import {all as solutionAll} from "@/api/business/solutions"; |
| | | export default { |
| | | name: 'OperaInsuranceApplyWindow', |
| | |
| | | open(title,target){ |
| | | this.visible=true; |
| | | this.dataId=target.id |
| | | this.getDetail(); |
| | | this.getDetail() |
| | | }, |
| | | goSign(){ |
| | | getSignLink(this.dataId).then(res => { |
| | | window.open(res) |
| | | }).catch(err => { |
| | | this.$tip.apiFailed(err) |
| | | }) |
| | | }, |
| | | viewToubaodan(){ |
| | | if(this.model.toubaodanSignedFile && this.model.toubaodanSignedFile.fileurlFull){ |
| | | window.open(this.model.toubaodanSignedFile.fileurlFull) |
| | | } else if(this.model.toubaodanFile && this.model.toubaodanFile.fileurlFull){ |
| | | window.open(this.model.toubaodanFile.fileurlFull) |
| | | } |
| | | }, |
| | | viewBaoxiandan(){ |
| | | if(this.model.baoxiandanFile && this.model.baoxiandanFile.fileurlFull){ |
| | | window.open(this.model.baoxiandanFile.fileurlFull) |
| | | } |
| | | }, |
| | | handleSizeChange(){ |
| | | |
| | | }, |
| | | handleCurrentChange(){ |
| | | |
| | | }, |
| | | onSubmit(){ |
| | | |
| | | }, |
| | | getDetail(){ |
| | | getDetail(this.dataId).then(res => { |
| | | this.model = res |
| | | this.tableData = new Array() |
| | | this.tableData.push(res) |
| | | console.log(this.tableData) |
| | | this.activities=res.applyLogList |
| | | }).catch(err => { |
| | | }) |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div> |
| | | <el-upload |
| | | class="upload-demo" |
| | | :accept="uploadData.fileTyp" |
| | | :action="uploadImgUrl" |
| | | :limit="1" |
| | | :on-exceed="handleExceed" |
| | | :on-success="handleFileSuccess" |
| | | :on-error="uploadError" |
| | | :before-upload="beforeFileUpload" |
| | | :file-list="fileList"> |
| | | <el-button size="small" type="primary">ç¹å»ä¸ä¼ </el-button> |
| | | <div slot="tip" class="el-upload__tip">åªè½ä¸ä¼ {{ uploadData.fileType }}æä»¶ï¼ä¸ä¸è¶
è¿5mb</div> |
| | | </el-upload> |
| | | </div> |
| | | |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | props: { |
| | | file: { |
| | | type: Object, |
| | | default: () => {} |
| | | }, |
| | | tipsLabel: '', |
| | | customStyle: { |
| | | type: String, |
| | | default: 'width: 190px; height: 190px;' |
| | | }, |
| | | uploadData: Object |
| | | }, |
| | | data() { |
| | | return { |
| | | uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/public/upload?folder='+this.uploadData.folder |
| | | } |
| | | }, |
| | | |
| | | methods: { |
| | | // ä¸ä¼ å¾ç |
| | | handleFileSuccess(res, file) { |
| | | if (res.code == 200) { |
| | | let { data } = res |
| | | // this.fileList = [{name: data.originname, url: data.url }] |
| | | this.$message.success('ä¸ä¼ æå') |
| | | this.$emit('uploadSuccess', { fileurl: data.imgaddr, fileurlFull: data.url, name: data.originname }) |
| | | } else { |
| | | this.$tip.apiFailed('ä¸ä¼ 失败') |
| | | } |
| | | this.$emit('uploadEnd') |
| | | }, |
| | | uploadError() { |
| | | this.$tip.apiFailed('ä¸ä¼ 失败') |
| | | this.$emit('endUpload') |
| | | }, |
| | | // // æ¦æª |
| | | beforeFileUpload(file) { |
| | | this.$emit('uploadBegin') |
| | | return true |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | $image-width: 100px; |
| | | .avatar-uploader { |
| | | width: $image-width; |
| | | height: $image-width; |
| | | } |
| | | ::v-deep .el-upload { |
| | | border: 1px dashed #d9d9d9; |
| | | border-radius: 6px; |
| | | cursor: pointer; |
| | | position: relative; |
| | | width: $image-width; |
| | | height: $image-width; |
| | | overflow: hidden; |
| | | } |
| | | .avatar-uploader .el-upload:hover { |
| | | border-color: #409EFF; |
| | | } |
| | | .avatar-uploader-icon { |
| | | line-height: 90px; |
| | | font-size: 28px; |
| | | color: #8c939d; |
| | | width: $image-width; |
| | | height: $image-width; |
| | | text-align: center; |
| | | } |
| | | .avatar { |
| | | width: $image-width; |
| | | height: $image-width; |
| | | display: block; |
| | | } |
| | | .tips-style { |
| | | height: 13px; |
| | | font-size: 13px; |
| | | font-weight: 400; |
| | | color: #999999; |
| | | line-height: 13px; |
| | | } |
| | | </style> |
| | | <style lang="scss" scoped> |
| | | ::v-deep .el-upload--picture-card{ |
| | | width: 90px !important; |
| | | height: 90px !important; |
| | | } |
| | | ::v-deep .el-upload-list__item { |
| | | width: 90px !important; |
| | | height: 90px !important; |
| | | } |
| | | .icon { |
| | | -webkit-transform: translate(-50%,-50%); |
| | | -ms-transform: translate(-50%,-50%); |
| | | transform: translate(0%, -85%); |
| | | } |
| | | ::v-deep .el-upload-list__item { |
| | | width: 90px !important; |
| | | height: 90px !important; |
| | | } |
| | | </style> |
| | | |
| | |
| | | type: 'warning' |
| | | }) |
| | | }, |
| | | // é®å·ç¡®å®æé |
| | | messageConfirm (message, confirmText='ç¡®å®', cancelText='åæ¶') { |
| | | return MessageBox.confirm(message, "æä½ç¡®è®¤", { |
| | | confirmButtonText: confirmText, |
| | | cancelButtonText: cancelText, |
| | | type: 'warning' |
| | | }) |
| | | }, |
| | | // 确认æ¯å¦æå¡è¯¥ä¼ä¸ |
| | | cancelOrder (message) { |
| | | return MessageBox.confirm(message, 'åæ¶æç¤º', { |
| | |
| | | <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="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-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"> |
| | |
| | | import io.swagger.annotations.ApiModel; |
| | | import lombok.Data; |
| | | |
| | | import java.io.Serializable; |
| | | |
| | | @Data |
| | | @ApiModel("ç¾çº¦æ¹ä¿¡æ¯") |
| | | public class NotifyDataReq { |
| | | public class NotifyDataReq implements Serializable { |
| | | |
| | | private String applyNo;//ç¾çº¦ç¼å· * post string |
| | | private String identityType;// è¯ä»¶ç±»å 1身份è¯, 2æ¤ç
§, 3å°èè¯, 4港澳å±
æ°æ¥å¾å
å°éè¡è¯, 11è¥ä¸æ§ç
§, 12ç»ä¸ç¤¾ä¼ä¿¡ç¨ä»£ç , 99å
¶ä» * post int |
| | | private int identityType;// è¯ä»¶ç±»å 1身份è¯, 2æ¤ç
§, 3å°èè¯, 4港澳å±
æ°æ¥å¾å
å°éè¡è¯, 11è¥ä¸æ§ç
§, 12ç»ä¸ç¤¾ä¼ä¿¡ç¨ä»£ç , 99å
¶ä» * post int |
| | | private String fullName;// åç§° * post string |
| | | private String identityCard ;//è¯ä»¶å· * post string |
| | | private Long optTime;//æä½æ¶é´(毫ç§) * post long |
| | | private Integer signStatus;// 1ç¾çº¦å®æ2æç¾3å·²ä¿å
¨ï¼1ãç¾çº¦å®ææ¯æç¨æ·ç¾ç½²æä»¶æåï¼2ãæç¾æ¯æç¨æ·å¨ç¾çº¦é¡µé¢ç¹äºæç¾æé®ï¼éè¦è¿å
¥å°ç¾ç½²é¡µé¢ç¨æ·æå¨ç¾ç½²æä¼åºç°æç¾æé®ï¼3ãå·²ä¿å
¨æ¯æç¨æ·å®æç¾ç½²åï¼ååç¾ä¼ç«å³èªå¨å¯¹ç¨æ·ç¾ç½²è¿ç¨çæä½ä»¥åååæä»¶ä¿¡æ¯è¿è¡ä¸é¾åè¯åºåï¼å·²ä¿å
¨æ¯ååçæç»ç¶æï¼å¦æéè¦ä¸è½½åå请以已ä¿å
¨ç¶æä¸ºåãï¼ * post int |
| | | private long optTime;//æä½æ¶é´(毫ç§) * post long |
| | | private int signStatus;// 1ç¾çº¦å®æ2æç¾3å·²ä¿å
¨ï¼1ãç¾çº¦å®ææ¯æç¨æ·ç¾ç½²æä»¶æåï¼2ãæç¾æ¯æç¨æ·å¨ç¾çº¦é¡µé¢ç¹äºæç¾æé®ï¼éè¦è¿å
¥å°ç¾ç½²é¡µé¢ç¨æ·æå¨ç¾ç½²æä¼åºç°æç¾æé®ï¼3ãå·²ä¿å
¨æ¯æç¨æ·å®æç¾ç½²åï¼ååç¾ä¼ç«å³èªå¨å¯¹ç¨æ·ç¾ç½²è¿ç¨çæä½ä»¥åååæä»¶ä¿¡æ¯è¿è¡ä¸é¾åè¯åºåï¼å·²ä¿å
¨æ¯ååçæç»ç¶æï¼å¦æéè¦ä¸è½½åå请以已ä¿å
¨ç¶æä¸ºåãï¼ * post int |
| | | |
| | | } |
| | |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.io.Serializable; |
| | | |
| | | @Data |
| | | @ApiModel("ç¾çº¦æ¹ä¿¡æ¯") |
| | | public class NotifyReq { |
| | | public class NotifyReq implements Serializable { |
| | | |
| | | private String method ;//ä¸å¡ç±»å * post |
| | | private String version ;//çæ¬ * post |
| | | private Long timestamp ;//æ¶é´æ³ï¼ç²¾ç¡®å°æ¯«ç§ï¼ * post |
| | | private long timestamp ;//æ¶é´æ³ï¼ç²¾ç¡®å°æ¯«ç§ï¼ * post |
| | | private NotifyDataReq data ;//JSONObjectç»æ * post |
| | | private String sign;// ç¾åsign(sha1对åé¢çåæ°ç¾å) * post |
| | | private String appkey;// appkey * post |
| | |
| | | public ApiResponse uploadToubaodan(@RequestBody InsuranceApply insuranceApply) { |
| | | return ApiResponse.success(insuranceApplyService.uploadToubaodan(insuranceApply)); |
| | | } |
| | | |
| | | @ApiOperation("æ ¹æ®IDæ¥è¯¢") |
| | | @GetMapping("/getSignLink/{id}") |
| | | @RequiresPermissions("business:insuranceapply:query") |
| | | public ApiResponse<String> getSignLink(@PathVariable Integer id) { |
| | | return ApiResponse.success(insuranceApplyService.getSignLink(id)); |
| | | } |
| | | |
| | | |
| | | @ApiOperation("å¹³å°ä¸ä¼ ä¿é©å") |
| | | @PostMapping("/uploadBaoxiandan") |
| | | @RequiresPermissions("business:insuranceapply:uploadBaoxiandan") |
| | |
| | | package com.doumee.api.common; |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.alibaba.fastjson.TypeReference; |
| | | import com.doumee.api.BaseController; |
| | | import com.doumee.biz.system.SystemDictDataBiz; |
| | | import com.doumee.core.annotation.trace.Trace; |
| | |
| | | import com.doumee.service.business.InsuranceApplyService; |
| | | import com.doumee.service.business.InterfaceLogService; |
| | | import com.doumee.service.business.third.SignService; |
| | | import com.jzq.common.bean.sign.NotifyDataReq; |
| | | import com.jzq.common.bean.sign.NotifyReq; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.apache.shiro.authz.annotation.RequiresPermissions; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | import org.springframework.web.multipart.MultipartHttpServletRequest; |
| | | import org.springframework.web.multipart.commons.CommonsMultipartResolver; |
| | |
| | | import java.io.File; |
| | | import java.io.IOException; |
| | | import java.io.PrintWriter; |
| | | import java.lang.reflect.Field; |
| | | import java.util.*; |
| | | |
| | | /** |
| | |
| | | private InsuranceApplyService insuranceApplyService; |
| | | @Autowired |
| | | public InterfaceLogService interfaceLogService = null; |
| | | |
| | | @ApiOperation("ååç¾ç¾çº¦åè°éç¥") |
| | | @PostMapping("/signNotify") |
| | | public void updateStatus(@RequestBody NotifyReq request,HttpServletResponse response) { |
| | | public void updateStatus(@RequestParam Map<String,String> req, HttpServletResponse response) { |
| | | Map<String, Object> context = new HashMap<>(); |
| | | context.put("success",true); |
| | | InterfaceLog log=new InterfaceLog(); |
| | | log.setType(1); |
| | | log.setCreateDate(new Date()); |
| | | log.setIsdeleted(0); |
| | | log.setRequest(JSONObject.toJSONString(request)); |
| | | |
| | | log.setRequest(JSONObject.toJSONString(req)); |
| | | log.setName("ååç¾ç¾çº¦åè°éç¥"); |
| | | log.setUrl(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.SIGN_DONE_NOTIFY_URL).getCode()); |
| | | |
| | | try { |
| | | String appKey = systemDictDataBiz.queryByCode(Constants.SIGN,Constants.SIGN_APPKEY).getCode(); |
| | | String appSecret = systemDictDataBiz.queryByCode(Constants.SIGN,Constants.SIGN_APPSECRET).getCode(); |
| | | if(!StringUtils.equals(appKey,request.getAppkey())){ |
| | | if(!StringUtils.equals(appKey,req.get("appkey"))){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"appkeyä¸å¹é
"); |
| | | } |
| | | String sign = DigestUtils.sha1Hex("data"+JSONObject.toJSONString(request.getData())+"method"+request.getMethod()+"version"+request.getVersion()+"timestamp"+request.getTimestamp() |
| | | String sign = DigestUtils.sha1Hex("data"+ req.get("data")+"method"+req.get("method")+"version"+req.get("version")+"timestamp"+req.get("timestamp") |
| | | +"appKey"+appKey+"appSecret"+appSecret); |
| | | if(!StringUtils.equals(sign,request.getSign())){ |
| | | if(!StringUtils.equals(sign,req.get("sign"))){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"éªç¾ä¸éè¿"); |
| | | } |
| | | insuranceApplyService.dealSignResult(request.getData()); |
| | | NotifyDataReq data = JSONObject.parseObject(req.get("data"), NotifyDataReq.class); |
| | | insuranceApplyService.dealSignResult(data); |
| | | }catch (Exception e){ |
| | | log.setRepose("å¤çå¼å¸¸ï¼"+e.getMessage()); |
| | | context.put("success",false); |
| | |
| | | }finally { |
| | | interfaceLogService.create(log); |
| | | } |
| | | |
| | | writerJson(response, context); |
| | | } |
| | | |
| | |
| | | map.put("/system/logout", "anon"); |
| | | map.put("/common/captcha", "anon"); |
| | | map.put("/business/smsEmail/sendSms", "anon"); |
| | | map.put("/public/signNotify", "anon"); |
| | | map.put("/business/areas/*", "anon"); |
| | | // - æ¾è¡swagger |
| | | map.put("/doc.html", "anon"); |
| | |
| | | BZZ(2, "ä¿éä¸"), |
| | | YGQ(3, "å·²è¿æ"), |
| | | YTH(4, "å·²éå"), |
| | | THSQZ(5, "éåç³è¯·ä¸"), |
| | | THSQZ(5, "ç³è¯·éå"), |
| | | YGB(6, "å·²å
³é"), |
| | | DQYQZ(7, "å¾
ç¾ç½²"), |
| | | ; |
| | | // æååé |
| | | private String name; |
| | |
| | | public enum InsuranceApplyStatus { |
| | | UPLOAD(0, "æäº¤æä¿","",0), |
| | | PLATFORM_RETURN(1, "å®¡æ ¸ä¸éè¿","æäº¤æè§ï¼${param}",4), |
| | | WAIT_SIGNATURE(2, "å·²ä¸ä¼ 代ç¾ç³è¯·è¡¨å¾
ä¼ä¸ç¾ç« ","",1), |
| | | WAIT_SIGNATURE(2, "å·²ä¸ä¼ 代ç¾ç³è¯·è¡¨å¾
ä¼ä¸ç¾ç« ","",7), |
| | | SIGNATURE(3, "å·²ç¾ç« å¾
ä¸ä¼ ä¿é©å","",1), |
| | | FAIL_RETURN(4, "ä¿ååºå
·å¤±è´¥éå","",0), |
| | | FAIL_RETURN(4, "ä¿ååºå
·å¤±è´¥éå","",4), |
| | | UPLOAD_INSURANCE(5, "ä¿å宿","ä¿é©çæèµ·æï¼${param}åæ´ä¸º${param1}",2), |
| | | COMPANY_BACK_APPLY_UPLOAD(6, "ä¼ä¸ç³è¯·éå(æäº¤æä¿)","æäº¤æè§ï¼${param}",5), |
| | | COMPANY_BACK_APPLY_WAIT_SIGNATURE(7, "ä¼ä¸ç³è¯·éå(å¾
ç¾ç« )","æäº¤æè§ï¼${param}",5), |
| | |
| | | |
| | | @ApiModelProperty(value = "ææä¿é©çæèµ·æ") |
| | | @ExcelColumn(name="ææä¿é©çæèµ·æ") |
| | | |
| | | private Date applyStartTime; |
| | | |
| | | @ApiModelProperty(value = "å®é
ä¿é©çææ¢æ") |
| | | @ExcelColumn(name="å®é
ä¿é©çææ¢æ") |
| | | |
| | | private Date endTime; |
| | | |
| | | @ApiModelProperty(value = "å®é
ä¿é©çæèµ·æ") |
| | |
| | | @ApiModelProperty(value = "æ¹æ¡åç§°") |
| | | @TableField(exist = false) |
| | | private String solutionsName; |
| | | @ApiModelProperty(value = "ç¾ç« å
³é®å") |
| | | @TableField(exist = false) |
| | | private String signKeyword; |
| | | |
| | | @ApiModelProperty(value = "人åä¿¡æ¯") |
| | | @TableField(exist = false) |
| | |
| | | taxesInvoicingVO.setType(Constants.ZERO); |
| | | return taxesInvoicingVO; |
| | | } |
| | | |
| | | @ApiModelProperty(value = "å¨çº¿ç¾ç« å°å") |
| | | @TableField(exist = false) |
| | | private String signLink; |
| | |
| | | if(StringUtils.isBlank(applyNo) ){ |
| | | throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对ä¸èµ·ï¼è·åå¨çº¿ç¾ç« å°å失败ï¼è¯·ç¨åéè¯ï¼"); |
| | | } |
| | | String link = signService.signLink(applyNo,company.getEmail(),company.getCode()); |
| | | String link = signService.signLink(applyNo,company.getName(),company.getCode()); |
| | | if(StringUtils.isBlank(link) ){ |
| | | throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对ä¸èµ·ï¼è·åå¨çº¿ç¾ç« å°å失败ï¼è¯·ç¨åéè¯ï¼"); |
| | | } |
| | |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.apache.shiro.SecurityUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | |
| | | */ |
| | | @Service |
| | | public class InsuranceApplyServiceImpl implements InsuranceApplyService { |
| | | @Value("${debug_model}") |
| | | private boolean debugModel; |
| | | |
| | | @Autowired |
| | | private InsuranceApplyMapper insuranceApplyMapper; |
| | |
| | | private SystemDictDataBiz systemDictDataBiz; |
| | | @Autowired |
| | | private InsuranceApplyJoinMapper insuranceApplyJoinMapper; |
| | | @Autowired |
| | | private CompanyMapper companyMapper; |
| | | |
| | | @Autowired |
| | | private ApplyDetailMapper applyDetailMapper; |
| | |
| | | if(!Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.SIGNATURE.getKey())){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对ä¸èµ·ï¼è¯¥ç³è¯·ç¶æå·²æµè½¬ï¼å½å䏿¯æè¯¥æä½~"); |
| | | } |
| | | if(model.getApplyEndTime()== null || insuranceApply.getStartTime().getTime()>insuranceApply.getApplyEndTime().getTime() ){ |
| | | if(model.getApplyEndTime()== null || model.getStartTime().getTime()>model.getApplyEndTime().getTime() ){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对ä¸èµ·ï¼è¯¥ç³è¯·çæå¨ææ¶é´ä¸ç¬¦åè¦æ±ï¼è¯·ç¡®è®¤åä¿®æ¹éè¯~"); |
| | | } |
| | | //计ç®å®é
æªæ¢æ¶é´ |
| | | Date actEndTime = new Date(insuranceApply.getApplyEndTime().getTime() + (insuranceApply.getStartTime().getTime() - model.getApplyStartTime().getTime())); |
| | | Date actEndTime = new Date(model.getApplyEndTime().getTime() + (insuranceApply.getStartTime().getTime() - model.getApplyStartTime().getTime())); |
| | | LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |
| | | InsuranceApply update = new InsuranceApply(); |
| | | update.setEditDate(new Date()); |
| | |
| | | |
| | | insuranceApply.getBaoxiandanFile().setIsdeleted(Constants.ZERO); |
| | | insuranceApply.getBaoxiandanFile().setCreator(user.getId()); |
| | | insuranceApply.getToubaodanFile().setObjId(update.getId()); |
| | | insuranceApply.getBaoxiandanFile().setObjId(update.getId()); |
| | | insuranceApply.getBaoxiandanFile().setCreateDate(update.getEditDate()); |
| | | insuranceApply.getBaoxiandanFile().setObjType(Constants.MultiFile.BD_DONE_PDF.getKey()); |
| | | insuranceApply.getBaoxiandanFile().setType(Constants.TWO); |
| | |
| | | param.getBaoxiandanFile().setObjType(Constants.MultiFile.BD_DONE_PDF.getKey()); |
| | | param.getBaoxiandanFile().setType(Constants.TWO); |
| | | multifileMapper.insert(param.getBaoxiandanFile()); |
| | | |
| | | update.setStatus(model.getStatus()); |
| | | Constants.ApplyLogType applyLogType = Constants.ApplyLogType.PALTFORM_EDIT_BD; |
| | | String info = applyLogType.getInfo(); |
| | | info = info.replace("${param}",param.getCheckInfo()); |
| | |
| | | if(id == null ){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | InsuranceApply model = insuranceApplyMapper.selectById(id); |
| | | MPJLambdaWrapper wrapper= new MPJLambdaWrapper<InsuranceApply>() |
| | | .selectAll(InsuranceApply.class) |
| | | .selectAs(Solutions::getSignKeyword,InsuranceApply::getSignKeyword) |
| | | .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId) |
| | | .eq(InsuranceApply::getId,id) |
| | | .last("limit 1"); |
| | | |
| | | InsuranceApply model = insuranceApplyJoinMapper.selectJoinOne(InsuranceApply.class,wrapper); |
| | | if(model == null ||!Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | |
| | | Constants.ApplyLogType applyLogType = null; |
| | | String info = ""; |
| | | //妿æ¯é©³å,åªè½å¯é©³åå·²ç¾ç« ç¶æä¸çéåç³è¯·ç¶æè¿è¡æä½ |
| | | if(!Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_WAIT_SIGNATURE.getKey())){ |
| | | if(!Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WAIT_SIGNATURE.getKey())){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对ä¸èµ·ï¼è¯¥ç³è¯·ç¶æå·²æµè½¬ï¼å½å䏿¯æè¯¥æä½~"); |
| | | } |
| | | Company company = user.getCompany(); |
| | | if(company== null || StringUtils.isBlank( company.getEmail()) || !Constants.equalsInteger(company.getSignStatus(),Constants.ONE)){ |
| | | if(debugModel){ |
| | | company = companyMapper.selectById(model.getCompanyId()); |
| | | } |
| | | if(company== null || StringUtils.isBlank( company.getEmail()) || !Constants.equalsInteger(company.getSignStatus(),Constants.THREE)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对ä¸èµ·ï¼ä¼ä¸å°æªå
·å¤å¨çº¿ç¾ç« æ¡ä»¶ï¼è¯·è系平å°ç®¡çå确认~"); |
| | | } |
| | | |
| | |
| | | String url = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+systemDictDataBiz.queryByCode(Constants.OSS,Constants.APPLY_FILE).getCode()+f.getFileurl(); |
| | | String notifyUrl = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.SIGN_DONE_NOTIFY_URL).getCode(); |
| | | notifyUrl = notifyUrl.replace("${type}","0").replace("${id}",model.getId().toString()); |
| | | String applyNo = signService.applySign(company.getName(),url,company.getName(),company.getCode(),company.getEmail(),null,company.getSignId(),notifyUrl); |
| | | String applyNo = signService.applySign(company.getName(),url,company.getName(),company.getCode(),company.getEmail(),model.getSignKeyword(),company.getSignId(),notifyUrl); |
| | | if(StringUtils.isBlank(applyNo) ){ |
| | | throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对ä¸èµ·ï¼è·åå¨çº¿ç¾ç« å°å失败ï¼è¯·ç¨åéè¯ï¼"); |
| | | } |
| | | String link = signService.signLink(applyNo,company.getEmail(),company.getCode()); |
| | | String link = signService.signLink(applyNo,company.getName(),company.getCode()); |
| | | if(StringUtils.isBlank(link) ){ |
| | | throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对ä¸èµ·ï¼è·åå¨çº¿ç¾ç« å°å失败ï¼è¯·ç¨åéè¯ï¼"); |
| | | } |
| | |
| | | InsuranceApply update = new InsuranceApply(); |
| | | update.setEditDate(new Date()); |
| | | update.setEditor(model.getCreator()); |
| | | update.setStatus(Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey()); |
| | | update.setStatus(Constants.InsuranceApplyStatus.SIGNATURE.getKey()); |
| | | update.setCheckDate(update.getEditDate()); |
| | | update.setCheckInfo("ä¼ä¸å®æç¾ç½²"); |
| | | update.setCheckUserId(model.getCreator()); |
| | |
| | | if(Constants.equalsInteger(data.getSignStatus(), Constants.THREE )){ |
| | | //妿已ä¿å
¨,å¯ä¸è½½ç¾çº¦éä»¶ |
| | | InsuranceApply model = insuranceApplyMapper.selectOne(new QueryWrapper<InsuranceApply>().lambda().eq(InsuranceApply::getSignApplyNo,data.getApplyNo()).last("limit 1" )); |
| | | if(model != null && Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_WAIT_SIGNATURE.getKey())){ |
| | | if(model != null && Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WAIT_SIGNATURE.getKey())){ |
| | | //宿ç¾ç½²å·²å®ææä½ |
| | | String link = signService.linkFile(data.getApplyNo()); |
| | | String fileUrl = uploadSignFile(link); |
| | |
| | | |
| | | Constants.ApplyLogType applyLogType = Constants.ApplyLogType.WAIT_SIGNATURE; |
| | | String info =applyLogType.getInfo(); |
| | | info = info.replace("${param}", update.getCheckInfo()); |
| | | // info = info.replace("${param}", update.getCheckInfo()); |
| | | ApplyLog log = new ApplyLog(update,applyLogType.getName(),StringUtils.isNotBlank(update.getCheckInfo())?info:"",update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update)); |
| | | applyLogMapper.insert(log); |
| | | return 1; |
| | |
| | | f.setFileurlFull(path+f.getFileurl()); |
| | | if(Constants.equalsInteger(f.getObjType(),Constants.MultiFile.BD_APPLY_PDF.getKey())){ |
| | | //ç¾ç½²åçæä¿å |
| | | model.setBaoxiandanFile(f); |
| | | model.setToubaodanFile(f); |
| | | }else if(Constants.equalsInteger(f.getObjType(),Constants.MultiFile.BD_SIGNED_PDF.getKey())){ |
| | | //ç¾ç½²åçæä¿å |
| | | model.setToubaodanSignedFile(f); |
| | |
| | | // params.put("file",file); |
| | | params.put("url",fileUrl); |
| | | params.put("dealType",5); //æå®ååæä»¶ç¾ç½²æ¹å¼ 5 为é¨åèªå¨ç¾ |
| | | params.put("positionType",1); //æå®éè¿è¡¨ååæ¹å¼è®¾ç½®ç¾åä½ç½® |
| | | params.put("positionType",2); //æå®éè¿è¡¨ååæ¹å¼è®¾ç½®ç¾åä½ç½® |
| | | params.put("fileType",1); |
| | | params.put("needQifengSign",1); |
| | | params.put("notifyUrl",notifyUrl); |
| | |
| | | sReq.setNoNeedVerify(1); |
| | | signatories.add(sReq); |
| | | params.put("signatories",signatories.toJSONString()); |
| | | System.out.println(signatories.toJSONString()); |
| | | System.out.println("================"+JSONObject.toJSONString(params)); |
| | | String str= HttpClientUtils.init().getPost(url,null,params,true); |
| | | System.out.println(str); |
| | | saveInterfaceLog(url,"ãçµåç¾ãåèµ·ç¾çº¦",JSONObject.toJSONString(params),str); |
| | |
| | | // sReq.setChapteJson(postionJson); |
| | | sReq.setSearchKey(postionJson); |
| | | sReq.setSignId(singId); |
| | | sReq.setSearchConvertExtend("{\"fixX\":10,\"fixY\":-50}"); |
| | | sReq.setNoNeedVerify(1); |
| | | signatories.add(sReq); |
| | | params.put("signatories",signatories.toJSONString()); |