Merge remote-tracking branch 'origin/1.0.1' into 1.0.1
| | |
| | | }) |
| | | } |
| | | |
| | | export function exportDetailExcel (data) { |
| | | return request.post('/business/unionApply/exportDetailExcel', data, { |
| | | trim: true, |
| | | download: true |
| | | }) |
| | | } |
| | | |
| | | // å建 |
| | | export function create (data) { |
| | | return request.post('/business/unionApply/create', data) |
| | |
| | | export function merge (data) { |
| | | return request.post('/business/unionApply/merge', data) |
| | | } |
| | | export function cancel (data) { |
| | | return request.post('/business/unionApply/cancel', data) |
| | | } |
| | | export function uploadToubaodan (data) { |
| | | return request.post('/business/unionApply/uploadToubaodan', data) |
| | | } |
| | | export function getSignLink (data) { |
| | | return request.post('/business/unionApply/getSignLink', data) |
| | | } |
| | | export function uploadBXD (data) { |
| | | return request.post('/business/unionApply/uploadBXD', data) |
| | | } |
| | | |
| | | // ä¿®æ¹ |
| | | export function updateById (data) { |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <GlobalWindow |
| | | :title="title" |
| | | width="100%" |
| | | :visible.sync="visible" |
| | | :confirm-working="isWorking" |
| | | @confirm="confirm" |
| | | > |
| | | <div class="box"> |
| | | <div class="top"> |
| | | {{title}} |
| | | </div> |
| | | <div class="box_table"> |
| | | <div class="box_table_head"> |
| | | <div class="box_table_head_item">æä¿äºº</div> |
| | | <div class="box_table_head_item">被ä¿é©äºº</div> |
| | | <div class="box_table_head_item">ä¿é©æ¹æ¡</div> |
| | | <div class="box_table_head_item">ä¿é©çæèµ·æ</div> |
| | | <div class="box_table_head_item">ä¿é©çææ¢æ</div> |
| | | <div class="box_table_head_item">æä¿äººæ°</div> |
| | | <div class="box_table_head_item">æ»è´¹ç¨(å
)</div> |
| | | </div> |
| | | <div class="box_table_content " > |
| | | <div class="box_table_content_item box_table_content_header">{{ model.companyName }}</div> |
| | | <div class="box_table_content_item box_table_content_header">{{ model.companyNames }}</div> |
| | | <div class="box_table_content_item box_table_content_header">{{ model.solutionName }}</div> |
| | | <div class="box_table_content_item box_table_content_header">{{ model.startTime }}</div> |
| | | <div class="box_table_content_item box_table_content_header">{{ model.endTime }}</div> |
| | | <div class="box_table_content_item box_table_content_header">{{ model.insureNum }}</div> |
| | | <div class="box_table_content_item box_table_content_header">{{model.fee}}</div> |
| | | </div> |
| | | </div> |
| | | <div class="box_table"> |
| | | <div class="box_table_head"> |
| | | <div class="box_table_head_item">åºå·</div> |
| | | <div class="box_table_head_item">åå·¥å§å</div> |
| | | <div class="box_table_head_item">æ§å«</div> |
| | | <div class="box_table_head_item">身份è¯å·</div> |
| | | <div class="box_table_head_item">被ä¿é©äºº</div> |
| | | <div class="box_table_head_item">æ´¾é£åä½</div> |
| | | <div class="box_table_head_item">æå±å·¥ç§</div> |
| | | </div> |
| | | <div class="box_table_content" v-for="(item, index) in detailList" :key="index"> |
| | | <div class="box_table_content_item">{{index + 1}}</div> |
| | | <div class="box_table_content_item">{{ item.memberName }}</div> |
| | | <div class="box_table_content_item">{{ item.sex==0?"ç·":"女" }}</div> |
| | | <div class="box_table_content_item">{{ item.idcardNo }}</div> |
| | | <div class="box_table_content_item">{{ item.companyName }}</div> |
| | | <div class="box_table_content_item">{{ item.duName }}</div> |
| | | <div class="box_table_content_item">{{item.workTypeName}}</div> |
| | | </div> |
| | | </div> |
| | | <div class="box_table" v-if="type==1" style="border-top: 0px solid #b4bbc5;" > |
| | | <div class="box_table_head"> |
| | | <div class="box_table_head_item5">夿³¨</div> |
| | | <div class="box_table_head_item5"> |
| | | <input v-model="form.checkInfo" style="width: 100%;height: 45px;border: 0px;outline: none;" placeholder="请è¾å
¥" v-trim/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </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 @click="visible=false">åæ¶</el-button> |
| | | </template> |
| | | <template v-else v-slot:footer> |
| | | <el-button type="primary" :loading="isWorking.export" @click="exportDetail">导åºè¯¦å</el-button> |
| | | <el-button @click="visible=false">åæ¶</el-button> |
| | | </template> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import { check, getDetailList } from '@/api/business/insuranceApply' |
| | | import { exportDetailExcel } from '@/api/business/unionApply' |
| | | import { exportComFiles } from '@/api/business/company' |
| | | // import {all as solutionAll} from "@/api/business/solutions"; |
| | | export default { |
| | | name: 'InsuranceDetails', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow }, |
| | | data () { |
| | | return { |
| | | model: {}, |
| | | type: 0, |
| | | detailList: [], |
| | | // è¡¨åæ°æ® |
| | | form: { |
| | | id: null, |
| | | dealBackApply: 0, |
| | | checkInfo: '' |
| | | }, |
| | | // éªè¯è§å |
| | | rules: { |
| | | }, |
| | | reverse: false, |
| | | tableData: [] |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | api: '/business/insuranceApply', |
| | | 'field.id': 'id' |
| | | }) |
| | | }, |
| | | methods: { |
| | | open (title, target, type) { |
| | | this.title = title |
| | | this.visible = true |
| | | this.model = target |
| | | this.type = type |
| | | this.form.id = target.id |
| | | this.form.checkInfo = '' |
| | | this.getDetailListDo() |
| | | }, |
| | | getDetailListDo () { |
| | | getDetailList({ unionApplyId: this.model.id }).then(res => { |
| | | this.detailList = res |
| | | }).catch(err => { |
| | | }) |
| | | }, |
| | | exportDetail () { |
| | | this.$dialog.exportConfirm('确认导åºè¯¦ååï¼') |
| | | .then(() => { |
| | | this.isWorking = true |
| | | exportDetailExcel({ id: this.model.id }) |
| | | .then(response => { |
| | | this.download(response) |
| | | }) |
| | | .catch(e => { |
| | | console.log(e) |
| | | this.$message.error('æ°æ®ä¸è½½å¤±è´¥ï¼') |
| | | }) |
| | | .finally(() => { |
| | | this.isWorking = false |
| | | }) |
| | | }) |
| | | .catch(() => { |
| | | }) |
| | | }, |
| | | check (type) { |
| | | this.form.dealBackApply = type |
| | | this.$dialog.messageConfirm('确认è¿è¡è¯¥æä½åï¼') |
| | | .then(() => { |
| | | this.isWorking = true |
| | | check(this.form) |
| | | .then(response => { |
| | | this.visible = false |
| | | this.$emit('success') |
| | | }).catch(err => { |
| | | this.$tip.apiFailed(err) |
| | | }) |
| | | }) |
| | | .catch(() => { |
| | | }) |
| | | }, |
| | | exportComFilesDo () { |
| | | this.$dialog.exportConfirm('确认导åºä¼ä¸è¯ä»¶åï¼') |
| | | .then(() => { |
| | | this.isWorking = true |
| | | exportComFiles({ id: this.model.companyId }) |
| | | .then(response => { |
| | | this.download(response) |
| | | }) |
| | | .catch(e => { |
| | | console.log(e) |
| | | this.$message.error('æ°æ®ä¸è½½å¤±è´¥ï¼') |
| | | }) |
| | | }) |
| | | .catch(() => { |
| | | }) |
| | | }, |
| | | handleSizeChange (val) { |
| | | console.log(`æ¯é¡µ ${val} æ¡`) |
| | | }, |
| | | handleCurrentChange (val) { |
| | | console.log(`å½å页: ${val}`) |
| | | }, |
| | | handleClick (tab, event) { |
| | | console.log(tab, event) |
| | | }, |
| | | onSubmit () { |
| | | |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .box { |
| | | width: 100%; |
| | | .top{ |
| | | width: 100%; |
| | | align-items: center; |
| | | flex-wrap: wrap; |
| | | border-top: 1px solid #b4bbc5; |
| | | border-left: 1px solid #b4bbc5; |
| | | font-size: 14px; |
| | | font-weight: bold; |
| | | text-align: center; |
| | | padding: 15px; |
| | | } |
| | | .box_header { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | flex-wrap: wrap; |
| | | border-top: 1px solid #b4bbc5; |
| | | border-left: 1px solid #b4bbc5; |
| | | .box_header_item { |
| | | width: 50%; |
| | | height: 50px; |
| | | display: flex; |
| | | align-items: center; |
| | | border-right: 1px solid #b4bbc5; |
| | | border-bottom: 1px solid #b4bbc5; |
| | | box-sizing: border-box; |
| | | .box_header_item_label { |
| | | flex: 1; |
| | | height: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | font-size: 14px; |
| | | color: black; |
| | | background: #f2f2f2; |
| | | border-right: 1px solid #b4bbc5; |
| | | } |
| | | .box_header_item_val { |
| | | flex: 1; |
| | | height: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | font-size: 14px; |
| | | color: black; |
| | | } |
| | | } |
| | | } |
| | | .box_table { |
| | | width: 100%; |
| | | border-top: 1px solid #b4bbc5; |
| | | border-left: 1px solid #b4bbc5; |
| | | box-sizing: border-box; |
| | | .box_table_head { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | .box_table_head_item { |
| | | flex: 1; |
| | | height: 50px; |
| | | background: #f2f2f2; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | font-size: 14px; |
| | | color: black; |
| | | border-right: 1px solid #b4bbc5; |
| | | border-bottom: 1px solid #b4bbc5; |
| | | box-sizing: border-box; |
| | | &:nth-child(1) { |
| | | //flex: 0.5; |
| | | } |
| | | } |
| | | .box_table_head_item5 { |
| | | flex: 1; |
| | | height: 50px; |
| | | background: #f2f2f2; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | font-size: 14px; |
| | | color: black; |
| | | border-right: 1px solid #b4bbc5; |
| | | border-bottom: 1px solid #b4bbc5; |
| | | box-sizing: border-box; |
| | | &:nth-child(2) { |
| | | flex: 5; |
| | | } |
| | | } |
| | | .box_form_item { |
| | | flex: 1; |
| | | height: 50px; |
| | | background: #ffffff; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | font-size: 14px; |
| | | color: black; |
| | | border-right: 1px solid #b4bbc5; |
| | | border-bottom: 1px solid #b4bbc5; |
| | | box-sizing: border-box; |
| | | &:nth-child(1) { |
| | | //flex: 0.5; |
| | | } |
| | | } |
| | | } |
| | | .box_table_content { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | .box_table_content_header{ |
| | | border-bottom: 0px solid #b4bbc5 !important; |
| | | } |
| | | .box_table_content_item { |
| | | flex: 1; |
| | | height: 50px; |
| | | background: #ffffff; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | font-size: 14px; |
| | | color: black; |
| | | border-right: 1px solid #b4bbc5; |
| | | border-bottom: 1px solid #b4bbc5; |
| | | box-sizing: border-box; |
| | | &:nth-child(1) { |
| | | // flex: 0.5; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <GlobalWindow |
| | | :title="title" |
| | | width="50%" |
| | | :visible.sync="visible" |
| | | :confirm-working="isWorking" |
| | | @confirm="confirm" |
| | | > |
| | | <!-- éåæä¿ --> |
| | | <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> |
| | | </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 @remove="dele3" :uploadData="{ folder: 'apply',fileType:'.pdf' }" :fileList="form.fileList1" @uploadSuccess="baoxianFileUploaded" /> |
| | | </el-form-item> |
| | | </el-form> |
| | | <template v-slot:footer> |
| | | <el-button type="primary" @click="doSubmit">ç¡® å®</el-button> |
| | | <el-button @click="visible=false">åæ¶</el-button> |
| | | </template> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import { |
| | | cancel, |
| | | uploadBXD, |
| | | uploadToubaodan, |
| | | } from "@/api/business/unionApply"; |
| | | import UploadFile from "@/components/common/UploadFile"; |
| | | import {remark} from "@/api/business/settleClaims"; |
| | | export default { |
| | | name: 'OperaUnionApplyCheckWindow', |
| | | extends: BaseOpera, |
| | | components: {UploadFile, GlobalWindow }, |
| | | data () { |
| | | return { |
| | | // è¡¨åæ°æ® |
| | | model: {}, |
| | | 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: '请å®åä¿¡æ¯' } |
| | | ], |
| | | }, |
| | | form: { |
| | | id: null, |
| | | backCheckInfo:'', |
| | | editCheckInfo:'', |
| | | startTime:null, |
| | | code:null, |
| | | toubaodanFile:null, |
| | | baoxianFile:null, |
| | | tbdMultifileList:[], |
| | | bxdMultifileList:[], |
| | | fileList: [], |
| | | fileList1: [], |
| | | selectRadio:0 |
| | | }, |
| | | visible1: false, |
| | | visible2: false, |
| | | visible3: false |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | api: '/business/insuranceApply', |
| | | 'field.id': 'id' |
| | | }) |
| | | }, |
| | | methods: { |
| | | dele2() { |
| | | this.form.toubaodanFile = '' |
| | | }, |
| | | dele3() { |
| | | this.form.baoxianFile = '' |
| | | }, |
| | | 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: [], |
| | | 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 |
| | | if(flag == 1){ |
| | | this.visible1 = true |
| | | } |
| | | if(flag == 2){ |
| | | this.visible2 = true |
| | | } |
| | | if(flag == 3){ |
| | | this.visible3 = true |
| | | } |
| | | }, |
| | | doSubmit(){ |
| | | if (this.flag == 1) { |
| | | this.$refs.form1.validate((valid) => { |
| | | // debugger |
| | | if (!valid) { |
| | | return |
| | | } |
| | | this.backDo() |
| | | }) |
| | | } else if (this.flag == 2) { |
| | | this.$refs.form2.validate((valid) => { |
| | | // debugger |
| | | if (!valid) { |
| | | return |
| | | } |
| | | this.uploadToubaodan() |
| | | }) |
| | | } else if (this.flag == 3) { |
| | | this.$refs.form3.validate((valid) => { |
| | | // debugger |
| | | if (!valid) { |
| | | return |
| | | } |
| | | this.uploadBaoxiandan() |
| | | }) |
| | | } |
| | | }, |
| | | 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 |
| | | }, |
| | | backDo(){ |
| | | this.$dialog.messageConfirm('确认è¿è¡è¯¥æä½åï¼') |
| | | .then(() => { |
| | | this.isWorking = true |
| | | cancel({id:this.model.id,reason: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({businessId:this.model.id,fileurl:this.form.toubaodanFile.fileurl,name:this.form.toubaodanFile.name,multifileList:this.form.tbdMultifileList}) |
| | | .then(response => { |
| | | this.visible = false |
| | | this.$emit('success') |
| | | }).catch(err => { |
| | | this.$tip.apiFailed(err) |
| | | }) |
| | | }) |
| | | }, |
| | | |
| | | uploadBaoxiandan(){ |
| | | this.$dialog.messageConfirm('确认è¿è¡è¯¥æä½åï¼') |
| | | .then(() => { |
| | | this.isWorking = true |
| | | uploadBXD({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) |
| | | }) |
| | | }) |
| | | |
| | | }, |
| | | handleRemove(file, fileList) { |
| | | console.log(file, fileList); |
| | | }, |
| | | handlePreview(file) { |
| | | console.log(file); |
| | | }, |
| | | handleExceed(files, fileList) { |
| | | this.$message.warning(`å½åéå¶éæ© 3 个æä»¶ï¼æ¬æ¬¡éæ©äº ${files.length} 个æä»¶ï¼å
±éæ©äº ${files.length + fileList.length} 个æä»¶`); |
| | | }, |
| | | beforeRemove(file, fileList) { |
| | | return this.$confirm(`ç¡®å®ç§»é¤ ${ file.name }ï¼`); |
| | | }, |
| | | successEvent() { |
| | | |
| | | }, |
| | | handleSizeChange(val) { |
| | | console.log(`æ¯é¡µ ${val} æ¡`); |
| | | }, |
| | | handleCurrentChange(val) { |
| | | console.log(`å½å页: ${val}`); |
| | | }, |
| | | handleClick(tab, event) { |
| | | console.log(tab, event); |
| | | }, |
| | | onSubmit() { |
| | | |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | <style> |
| | | |
| | | </style> |
| | | <style lang="scss" scoped> |
| | | .form { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | flex-direction: column; |
| | | .form_span { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: start; |
| | | flex-direction: column; |
| | | margin-bottom: 20px; |
| | | span { |
| | | font-size: 14px; |
| | | &:nth-child(1) { |
| | | color: black; |
| | | margin-bottom: 5px; |
| | | } |
| | | &:nth-child(2) { |
| | | color: #8c939d; |
| | | } |
| | | } |
| | | } |
| | | .form_item { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | margin-bottom: 20px; |
| | | &:last-child { |
| | | margin: 0 !important; |
| | | } |
| | | .form_item_label { |
| | | flex-shrink: 0; |
| | | /*width: 170px;*/ |
| | | color: black; |
| | | font-size: 14px; |
| | | span { |
| | | color: red; |
| | | font-size: 14px; |
| | | } |
| | | } |
| | | .form_item_val { |
| | | flex: 1; |
| | | /*height: 40px;*/ |
| | | margin-left: 20px; |
| | | textarea { |
| | | width: 100%; |
| | | height: 70px; |
| | | border: 1px solid #cbcbcb; |
| | | padding: 10px; |
| | | outline: none; |
| | | box-sizing: border-box; |
| | | } |
| | | input { |
| | | width: 100%; |
| | | height: 40px; |
| | | outline: none; |
| | | border-radius: 5px; |
| | | border: 1px solid #cbcbcb; |
| | | padding: 0 20px; |
| | | box-sizing: border-box; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .desc { |
| | | width: 100%; |
| | | .desc_item { |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | .desc_item_label { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | margin-bottom: 10px; |
| | | span { |
| | | font-size: 14px; |
| | | color: black; |
| | | margin-right: 30px; |
| | | } |
| | | } |
| | | .desc_item_from { |
| | | width: 100%; |
| | | margin-bottom: 10px; |
| | | .desc_item_from_page { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: end; |
| | | margin-top: 10px; |
| | | } |
| | | } |
| | | .desc_item_cate { |
| | | width: 100%; |
| | | margin-bottom: 10px; |
| | | } |
| | | .desc_item_search { |
| | | width: 100%; |
| | | margin-bottom: 20px; |
| | | } |
| | | .desc_item_review { |
| | | width: 100%; |
| | | .desc_item_review_label { |
| | | font-size: 20px; |
| | | color: black; |
| | | font-weight: bold; |
| | | margin-bottom: 15px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <span>æäº¤æ¶é´ï¼{{ model.createDate }}</span> |
| | | </div> |
| | | <div class="desc_item_label_right"> |
| | | <template v-if="userInfo.type === 1"> |
| | | <el-button v-if="model.status == 24" type="primary" @click="$refs.OperaInsuranceApply.open('æä¿ç³è¯·', {id: dataId})">忬¡æä¿</el-button> |
| | | <el-button v-if="model.status == 24" type="primary" @click="closeOrder">å
³é订å</el-button> |
| | | <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="[1,2,3].includes(model.unionApplyTbdStatus)" type="primary" @click="viewToubaodan">æ¥çæä¿å</el-button> |
| | | <el-button v-if="[3].includes(model.unionApplyTbdStatus) " type="primary" @click="viewBaoxiandan">æ¥çä¿é©å</el-button> |
| | | <!-- goSign--> |
| | | <el-button v-if="model.status == 20" type="primary" @click="getSignLink(0)">ç¾ç½²æ¹æ¡ç¡®è®¤ä¹¦</el-button> |
| | | <el-button v-if="model.status == 21" type="primary" @click="getSignLink(1)">ç¾ç½²ç³è¯·å</el-button> |
| | | <el-button v-if="model.unionApplyTbdStatus == 1" type="primary" @click="getSignLink(2)">ç¾ç½²æä¿å</el-button> |
| | | </template> |
| | | <template v-if="userInfo.type === 2"> |
| | | <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="[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> |
| | | <el-button type="primary" v-if="[0].includes(model.status) " @click="$refs.InsuranceDetails.open('导åºè¯¦å',model,0)">导åºè¯¦å</el-button> |
| | | <el-button v-if="[0].includes(model.status) " type="primary" @click="$refs.OperaUnionApplyCheckWindow.open('ä¸ä¼ æä¿å',model,2)">ä¸ä¼ æä¿å</el-button> |
| | | <el-button v-if="model.status == 1" type="primary" @click="getSignLink(0)">ç¾ç½²æä¿å</el-button> |
| | | <el-button v-if="[2,3,4].includes(model.status)" type="primary" @click="viewToubaodan">æ¥çæä¿å</el-button> |
| | | <el-button v-if="[3].includes(model.status) " type="primary" @click="$refs.OperaUnionApplyCheckWindow.open('ä¸ä¼ æä¿å',model,3)">ä¸ä¼ ä¿é©å</el-button> |
| | | <el-button v-if="model.status == 4" type="primary" @click="viewBaoxiandan">æ¥çä¿é©å</el-button> |
| | | <el-button v-if="[0,1,2].includes(model.status) " type="danger" @click="$refs.OperaUnionApplyCheckWindow.open('éåæä¿',model,1)">éåç³è¯·</el-button> |
| | | </template> |
| | | <template v-if="userInfo.type === 0"> |
| | | <el-button v-if="[27].includes(model.status)" type="primary" @click="viewFanganshu">æ¥ç确认书</el-button> |
| | | <el-button v-if="[27].includes(model.status)" type="primary" @click="viewShenqingdan">æ¥çç³è¯·å</el-button> |
| | | <el-button v-if="[27].includes(model.status)" type="primary" @click="viewToubaodan">æ¥çæä¿å</el-button> |
| | | <el-button v-if="[27].includes(model.status)" type="primary" @click="viewBaoxiandan">æ¥çä¿é©å</el-button> |
| | | <template v-if="userInfo.type ===0"> |
| | | <el-button v-if="[2,3,4].includes(model.status)" type="primary" @click="viewToubaodan">æ¥çæä¿å</el-button> |
| | | <el-button v-if="[4].includes(model.status)" type="primary" @click="viewBaoxiandan">æ¥çä¿é©å</el-button> |
| | | </template> |
| | | </div> |
| | | </div> |
| | |
| | | <el-option label="ä¸å¨ä¿" value="2"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="æ´¾é£åä½" prop="duId"> |
| | | <el-select v-model="formInline.duId" placeholder="è¯·éæ©" @change="search"> |
| | | <el-option |
| | | v-for="item in dwList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="æå±å·¥ç§" prop="workTypeId"> |
| | | <el-select v-model="formInline.workTypeId" placeholder="è¯·éæ©" @change="search"> |
| | | <el-option |
| | | v-for="item in gzList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="åå·¥å§å" prop="memberName"> |
| | | <el-input v-model="formInline.memberName" placeholder="请è¾å
¥" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="ä¿é©çæèµ·æ" prop="end"> |
| | | <el-date-picker |
| | | @change="changeStart" |
| | | v-model="formInline.end" |
| | | type="daterange" |
| | | format="yyyy å¹´ MM æ dd æ¥" |
| | | value-format="yyyy-MM-dd" |
| | | range-separator="è³" |
| | | start-placeholder="å¼å§æ¥æ" |
| | | end-placeholder="ç»ææ¥æ"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="ä¿é©çææ¢æ" prop="start"> |
| | | <el-date-picker |
| | | @change="changeEnd" |
| | | v-model="formInline.start" |
| | | type="daterange" |
| | | format="yyyy å¹´ MM æ dd æ¥" |
| | | value-format="yyyy-MM-dd" |
| | | range-separator="è³" |
| | | start-placeholder="å¼å§æ¥æ" |
| | | end-placeholder="ç»ææ¥æ"> |
| | | </el-date-picker> |
| | | <el-form-item label="被ä¿é©äºº" prop="applyCompanyName"> |
| | | <el-input v-model="formInline.applyCompanyName" placeholder="请è¾å
¥" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | </template> |
| | | <template v-else> |
| | |
| | | <el-select v-model="formInline.applyStatus" @change="search" placeholder="è¯·éæ©"> |
| | | <el-option label="å
¨é¨" value=""></el-option> |
| | | <el-option label="å¾
ç¾ç½²" value="0"></el-option> |
| | | <el-option label="å¾
å®¡æ ¸" value="1"></el-option> |
| | | <el-option label="å·²çæ" value="2"></el-option> |
| | | <el-option label="ç³è¯·éå" value="3"></el-option> |
| | | <el-option label="å·²éå" value="5"></el-option> |
| | | <el-option label="å·²å
³é" value="6"></el-option> |
| | | <el-option label="å¾
åºå" value="1"></el-option> |
| | | <el-option label="ä¿éä¸" value="2"></el-option> |
| | | <el-option label="å·²éå" value="3"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="æ¹åçæèµ·æ" prop="end"> |
| | |
| | | align="center"> |
| | | <template slot-scope="{row}"> |
| | | <span :class="'change-status'+row.status" v-if="row.status === 0">å¾
ç¾ç½²</span> |
| | | <span :class="'change-status'+row.status" v-if="row.status === 1">å¾
å®¡æ ¸</span> |
| | | <span :class="'change-status'+row.status" v-if="row.status === 2">å·²çæ</span> |
| | | <span :class="'change-status'+row.status" v-if="row.status === 3 || row.status === 4">ç³è¯·éå</span> |
| | | <span :class="'change-status'+row.status" v-if="row.status === 5 || row.status === 8">å·²éå</span> |
| | | <span :class="'change-status'+row.status" v-if="row.status === 6">å·²å
³é</span> |
| | | <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> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | |
| | | :key="Math.random()" |
| | | label="æä½"> |
| | | <template slot-scope="{row}"> |
| | | |
| | | <el-button type="text" @click="$refs.OperaApplyChangeDetailWindow.open('å åä¿è¯¦æ
', row)">æ¥ç详æ
</el-button> |
| | | |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | align="center" label="ä¿åç¶æ" :key="Math.random()"> |
| | | <template slot-scope="{row}"> |
| | | <span :class="'change-status'+row.status" v-if="row.status === 0">å¾
ç¾ç½²</span> |
| | | <span :class="'change-status'+row.status" v-if="row.status === 1">å¾
å®¡æ ¸</span> |
| | | <span :class="'change-status'+row.status" v-if="row.status === 2">å·²çæ</span> |
| | | <span :class="'change-status'+row.status" v-if="row.status === 3 || row.status === 4">ç³è¯·éå</span> |
| | | <span :class="'change-status'+row.status" v-if="row.status === 5 || row.status === 8">å·²éå</span> |
| | | <span :class="'change-status'+row.status" v-if="row.status === 6">å·²å
³é</span> |
| | | <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> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <InsuranceDetails ref="InsuranceDetails" @success="successEvent" /> |
| | | <OperaWtbApplyCheckWindow ref="OperaWtbApplyCheckWindow" @success="successEvent" /> |
| | | <!-- ä¼ä¸ç³è¯·éå --> |
| | | <applyReturn ref="applyReturn" @success="successEvent" /> |
| | | <!-- æ°å¢æä¿ --> |
| | | <OperaInsuranceApply ref="OperaInsuranceApply" @success="successEvent" /> |
| | | <!-- å åä¿ç³è¯· --> |
| | | <additionSubtractionApplication ref="additionSubtractionApplication" @success="successEvent" /> |
| | | <!-- æ´æ¢æ´¾é£åä½ç³è¯· --> |
| | | <factoryChange ref="factoryChange" @success="successEvent" /> |
| | | <InsuranceDetailsWtb ref="InsuranceDetails" @success="successEvent" /> |
| | | <OperaUnionApplyCheckWindow ref="OperaUnionApplyCheckWindow" @success="successEvent" /> |
| | | <!-- å åä¿è¯¦æ
--> |
| | | <OperaApplyChangeDetailWindow ref="OperaApplyChangeDetailWindow" @success="successEvent"/> |
| | | <!-- æ´æ¢æ´¾é£åä½è¯¦æ
--> |
| | | <OperaApplyChangeUnitDetailWindow ref="OperaApplyChangeUnitDetailWindow" @success="successEvent"/> |
| | | <!-- éªè¯ææºå· --> |
| | | <operaverifyPhoneNumberWindew ref="operaverifyPhoneNumberWindew" @success="goSign" /> |
| | | <!-- å åä¿è¯¦æ
--> |
| | | <template v-slot:footer> |
| | | <el-button @click="visible=false">è¿å</el-button> |
| | | </template> |
| | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import InsuranceDetails from '@/components/business/InsuranceDetails' |
| | | import OperaWtbApplyCheckWindow from '@/components/business/OperaWtbApplyCheckWindow' |
| | | import additionSubtractionApplication from '@/components/enterprise/additionSubtractionApplication' |
| | | import factoryChange from '@/components/enterprise/factoryChange' |
| | | import operaverifyPhoneNumberWindew from '@/components/business/operaverifyPhoneNumberWindew' |
| | | import InsuranceDetailsWtb from '@/components/business/InsuranceDetailsWtb' |
| | | |
| | | import OperaApplyChangeDetailWindow from '@/components/business/OperaApplyChangeDetailWindow' |
| | | import OperaApplyChangeUnitDetailWindow from '@/components/business/OperaApplyChangeUnitDetailWindow' |
| | | import { getById } from '@/api/business/unionApply' |
| | | |
| | | import applyReturn from '@/components/enterprise/applyReturn' |
| | | import OperaUnionApplyCheckWindow from '@/components/business/OperaUnionApplyCheckWindow' |
| | | import { getById,getSignLink } from '@/api/business/unionApply' |
| | | |
| | | import { |
| | | getDetail, |
| | | getSignLink, |
| | | applyDetailPage, |
| | | exportExcel, |
| | | applyChagneDetailExcel, |
| | | applyOpt, |
| | | getMemberListOnlineSignLink, getSignTBQRSLink |
| | | } from '@/api/business/insuranceApply' |
| | | import { findListByDTO } from '@/api/business/dispatchUnit' |
| | | import { fetchList } from '@/api/business/applyChange' |
| | | import { findListByDTO as worktypeFindListByDTO } from '@/api/business/worktype' |
| | | import OperaInsuranceApply from '@/components/enterprise/OperaInsuranceApplyWindow' |
| | | import { mapState } from 'vuex' |
| | | import {sendSms, validateCode} from "@/api/business/smsEmail"; |
| | | import {sendSms} from "@/api/business/smsEmail"; |
| | | |
| | | export default { |
| | | name: 'OperaWtbApplyShopWindow', |
| | | extends: BaseOpera, |
| | | components: { |
| | | GlobalWindow, |
| | | InsuranceDetails, |
| | | OperaWtbApplyCheckWindow, |
| | | applyReturn, |
| | | OperaInsuranceApply, |
| | | additionSubtractionApplication, |
| | | factoryChange, |
| | | OperaApplyChangeDetailWindow, |
| | | OperaApplyChangeUnitDetailWindow, |
| | | operaverifyPhoneNumberWindew |
| | | OperaApplyChangeDetailWindow, |
| | | InsuranceDetailsWtb, |
| | | OperaUnionApplyCheckWindow, |
| | | }, |
| | | data () { |
| | | return { |
| | |
| | | timer: null, |
| | | formInline: { |
| | | applyStatus: '', |
| | | duId: '', |
| | | workTypeId: '', |
| | | memberName: '', |
| | | end: [], |
| | | start: [], |
| | | endTimeE: '', |
| | | endTimeS: '', |
| | | startTimeE: '', |
| | | startTimeS: '', |
| | | type: '' |
| | | end:[], |
| | | startTimeS:null, |
| | | startTimeE:null, |
| | | applyCompanyName: '' |
| | | }, |
| | | visible1: false, |
| | | visible2: false, |
| | | visible3: false, |
| | | visible4: false, |
| | | visible5: false, |
| | | visiblePhone: false, |
| | | reverse: false, |
| | | radio: 0, |
| | |
| | | }, |
| | | getSignLink (flag) { |
| | | if (flag === 0) { |
| | | this.signTitle = 'ç¾ç½²æ¹æ¡ç¡®è®¤ä¹¦' |
| | | } else if (flag === 1) { |
| | | this.signTitle = 'ç¾ç½²ç³è¯·å' |
| | | } else if (flag === 2) { |
| | | this.signTitle = 'ç¾ç½²æä¿å' |
| | | } |
| | | this.form.type = flag |
| | |
| | | this.isWorking = true |
| | | if(this.form.type===0){ |
| | | getSignTBQRSLink(this.form).then(res => { |
| | | setTimeout(() => { |
| | | this.visiblePhone=false |
| | | window.open(res) |
| | | }, 500) |
| | | }).catch(err => { |
| | | this.$tip.apiFailed(err) |
| | | }) |
| | | } else if (this.form.type === 1) { |
| | | getMemberListOnlineSignLink(this.form).then(res => { |
| | | setTimeout(() => { |
| | | this.visiblePhone=false |
| | | window.open(res) |
| | | }, 500) |
| | | }).catch(err => { |
| | | this.$tip.apiFailed(err) |
| | | }) |
| | | } else if (this.form.type === 2) { |
| | | getSignLink(this.dataId).then(res => { |
| | | setTimeout(() => { |
| | | this.visiblePhone=false |
| | | window.open(res) |
| | |
| | | return null; |
| | | } |
| | | |
| | | public void exportUnionApplyDetail(UnionApply model, HttpServletResponse response) { |
| | | try { |
| | | String encodeFileName = URLEncoder.encode("æä¿è¯¦æ
å_"+model.getCompanyName()+"_"+model.getSolutionName(), Charset.forName("UTF-8").toString()) + ".xlsx"; |
| | | response.setHeader("Content-Disposition","attachment;filename=" + encodeFileName); |
| | | response.setContentType("application/octet-stream"); |
| | | response.setHeader("eva-opera-type", "download"); |
| | | response.setHeader("eva-download-filename", encodeFileName); |
| | | this.exportUnionApplyDetailDo(model,"æä¿ç³è¯·è¡¨", response.getOutputStream()); |
| | | } catch (IOException e) { |
| | | throw new BusinessException(ResponseStatus.EXPORT_EXCEL_ERROR, e); |
| | | } |
| | | } |
| | | public void exportUnionApplyDetailDo (UnionApply data, String sheetName, OutputStream os) { |
| | | SXSSFWorkbook sxssfWorkbook; |
| | | try { |
| | | sxssfWorkbook = new SXSSFWorkbook(); |
| | | Sheet sheet = sxssfWorkbook.createSheet(sheetName); |
| | | for (int i = 0; i <7; i++) { |
| | | sheet.setColumnWidth(i, (i==5?20:15) * 2 * 256); |
| | | } |
| | | sheet.createFreezePane(0, 1); |
| | | Row title = sheet.createRow(0); |
| | | title.setHeight((short) 800); |
| | | for (int i = 0; i < 7; i++) { |
| | | title.createCell(i).setCellValue(i==0?sheetName:""); |
| | | configTitleCell(sxssfWorkbook,title.getCell(i)); |
| | | } |
| | | sheet.addMergedRegion(new CellRangeAddress(0 ,0,0,6)); |
| | | Row header1 = sheet.createRow(1); |
| | | header1.setHeight((short) 500); |
| | | header1.createCell(0).setCellValue("æä¿äºº"); |
| | | header1.createCell(1).setCellValue("被ä¿é©äºº"); |
| | | header1.createCell(2).setCellValue("ä¿é©æ¹æ¡"); |
| | | header1.createCell(3).setCellValue("ä¿é©çæèµ·æ"); |
| | | header1.createCell(4).setCellValue("ä¿é©çææ¢æ"); |
| | | header1.createCell(5).setCellValue("æä¿äººæ°"); |
| | | header1.createCell(6).setCellValue("æ»è´¹ç¨ï¼å
ï¼"); |
| | | for (int i = 0; i < 7; i++) { |
| | | configFirstCell(sxssfWorkbook,header1.getCell(i)); |
| | | } |
| | | Row header2 = sheet.createRow(2); |
| | | header2.createCell(0).setCellValue(data.getCompanyName()); |
| | | header2.createCell(1).setCellValue(data.getCompanyNames()); |
| | | header2.createCell(2).setCellValue(data.getSolutionName()); |
| | | header2.createCell(3).setCellValue(com.doumee.core.utils.DateUtil.getPlusTime2(data.getStartTime())); |
| | | header2.createCell(4).setCellValue(com.doumee.core.utils.DateUtil.getPlusTime2(data.getEndTime())); |
| | | header2.createCell(5).setCellValue(data.getInsureNum()); |
| | | header2.createCell(6).setCellValue(Constants.formatBigdecimal2Float(data.getFee()).toString()); |
| | | for (int i = 0; i < 7; i++) { |
| | | configDataCell(sxssfWorkbook, header2.getCell(i)); |
| | | } |
| | | Row header4 = sheet.createRow(3); |
| | | header4.createCell(0).setCellValue("åºå·"); |
| | | header4.createCell(1).setCellValue("åå·¥å§å"); |
| | | header4.createCell(2).setCellValue("æ§å«"); |
| | | header4.createCell(3).setCellValue("身份è¯å·"); |
| | | header4.createCell(4).setCellValue("被ä¿é©äºº"); |
| | | header4.createCell(5).setCellValue("æ´¾é£åä½"); |
| | | header4.createCell(6).setCellValue("æå±å·¥ç§"); |
| | | header4.setHeight((short) 500); |
| | | for (int i = 0; i < 7; i++) { |
| | | configFirstCell(sxssfWorkbook,header4.getCell(i)); |
| | | } |
| | | if(data.getApplyDetailList()!=null){ |
| | | // åå»ºæ°æ®è®°å½ |
| | | for (int rowIndex = 0; rowIndex < data.getApplyDetailList().size(); rowIndex++) { |
| | | ApplyDetail d = data.getApplyDetailList().get(rowIndex); |
| | | Row header5 = sheet.createRow(rowIndex + 4); |
| | | // header5.setHeight((short) 300); |
| | | header5.createCell(0).setCellValue(rowIndex+1); |
| | | header5.createCell(1).setCellValue(StringUtils.defaultString(d.getMemberName(),"")); |
| | | header5.createCell(2).setCellValue(Constants.equalsInteger(d.getSex(),0)?"ç·":(Constants.equalsInteger(d.getSex(),1)?"女":"-")); |
| | | header5.createCell(3).setCellValue(StringUtils.defaultString(d.getIdcardNo(),"")); |
| | | header5.createCell(4).setCellValue(StringUtils.defaultString(d.getCompanyName(),"")); |
| | | header5.createCell(5).setCellValue(StringUtils.defaultString(d.getDuName(),"")); |
| | | header5.createCell(6).setCellValue(StringUtils.defaultString(d.getWorkTypeName(),"")); |
| | | // è®¾ç½®æ°æ®åå
æ ¼ |
| | | for (int i = 0; i < 7; i++) { |
| | | configDataCell(sxssfWorkbook, header5.getCell(i)); |
| | | } |
| | | } |
| | | } |
| | | sxssfWorkbook.write(os); |
| | | os.close(); |
| | | } catch (Exception e) { |
| | | throw new BusinessException(ResponseStatus.EXPORT_EXCEL_ERROR, e); |
| | | } finally { |
| | | if (os != null) { |
| | | try { |
| | | os.close(); |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | @Data |
| | | @AllArgsConstructor |
| | |
| | | |
| | | |
| | | public enum UnionChangeStatus { |
| | | MERGE(0, "å¾
ç¾ç½²ç³è¯·å",""), |
| | | UPLOAD_INSURANCE_POLICY(1, "å¾
ä¸ä¼ ä¿å",""), |
| | | MERGE(0, "å¾
ç¾ç½²",""), |
| | | UPLOAD_INSURANCE_POLICY(1, "å¾
åºå",""), |
| | | FINISH(2, "ä¿éä¸",""), |
| | | CLOSE(3, "å
³é",""), |
| | | CLOSE(3, "å·²éå",""), |
| | | ; |
| | | // æååé |
| | | private String name; |
| | |
| | | @ApiModelProperty(value = "åæ·åç§°", example = "1") |
| | | @TableField(exist = false) |
| | | private String companyName; |
| | | @ApiModelProperty(value = "被ä¿é©äººä¼ä¸åç§° ,åå²") |
| | | @TableField(exist = false) |
| | | private String companyNames; |
| | | |
| | | @ApiModelProperty(value = "æ¹æ¡åç§°", example = "1") |
| | | @TableField(exist = false) |
| | |
| | | @ApiModelProperty(value = "æ¥å¿è®°å½") |
| | | @TableField(exist = false) |
| | | private List<ApplyLog> applyLogList; |
| | | |
| | | @ApiModelProperty(value = "人åä¿¡æ¯") |
| | | @TableField(exist = false) |
| | | private List<ApplyDetail> applyDetailList; |
| | | } |
| | |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.dao.business.dto.*; |
| | | import com.doumee.dao.business.model.InsuranceApply; |
| | | import com.doumee.dao.business.model.UnionApply; |
| | | import java.util.List; |
| | | |
| | |
| | | void uploadBXD(UnionApplyBXDDTO unionApplyBXDDTO); |
| | | |
| | | UnionApply detail(Integer applyId); |
| | | |
| | | UnionApply findDetailForExport(UnionApply model); |
| | | } |
| | |
| | | |
| | | @Override |
| | | public List<ApplyDetail> findList(ApplyDetail applyDetailPageDTO) { |
| | | if(applyDetailPageDTO.getApplyId() == null){ |
| | | if(applyDetailPageDTO.getApplyId()==null && applyDetailPageDTO.getUnionApplyId() ==null){ |
| | | return new ArrayList<>(); |
| | | } |
| | | MPJLambdaWrapper<ApplyDetail> queryWrapper = new MPJLambdaWrapper<>(); |
| | | Utils.MP.blankToNull(applyDetailPageDTO); |
| | | queryWrapper.selectAll(ApplyDetail.class); |
| | | queryWrapper.selectAs(DispatchUnit::getName,ApplyDetail::getDuName); |
| | | queryWrapper.selectAs(Company::getName,ApplyDetail::getCompanyName); |
| | | queryWrapper.selectAs(Worktype::getName,ApplyDetail::getWorkTypeName); |
| | | queryWrapper.selectAs(Member::getIdcardNo,ApplyDetail::getIdcardNo); |
| | | queryWrapper.selectAs(Member::getName,ApplyDetail::getMemberName); |
| | | queryWrapper.leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyDetail::getDuId); |
| | | queryWrapper.leftJoin(Worktype.class,Worktype::getId,ApplyDetail::getWorktypeId); |
| | | queryWrapper.leftJoin(Member.class,Member::getId,ApplyDetail::getMemberId); |
| | | queryWrapper.eq( ApplyDetail::getApplyId,applyDetailPageDTO.getApplyId()); |
| | | queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId); |
| | | queryWrapper.eq( applyDetailPageDTO.getApplyId()!=null,ApplyDetail::getApplyId,applyDetailPageDTO.getApplyId()); |
| | | queryWrapper.eq( applyDetailPageDTO.getUnionApplyId()!=null,ApplyDetail::getUnionApplyId,applyDetailPageDTO.getUnionApplyId()); |
| | | List<ApplyDetail> pageData= applyDetailJoinMapper.selectJoinList( ApplyDetail.class, queryWrapper); |
| | | if(pageData!=null){ |
| | | int num = 1; |
| | |
| | | return unionApplyMapper.selectCount(wrapper); |
| | | } |
| | | |
| | | @Override |
| | | public UnionApply findDetailForExport(UnionApply model){ |
| | | UnionApply insuranceApply = detail(model.getId()); |
| | | if(Objects.isNull(insuranceApply)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | |
| | | MPJLambdaWrapper<ApplyDetail> queryWrapper = new MPJLambdaWrapper<>(); |
| | | queryWrapper.selectAll(ApplyDetail.class); |
| | | queryWrapper.selectAs(DispatchUnit::getName,ApplyDetail::getDuName); |
| | | queryWrapper.selectAs(Company::getName,ApplyDetail::getCompanyName); |
| | | queryWrapper.selectAs(Worktype::getName,ApplyDetail::getWorkTypeName); |
| | | queryWrapper.selectAs(Member::getIdcardNo,ApplyDetail::getIdcardNo); |
| | | queryWrapper.selectAs(Member::getName,ApplyDetail::getMemberName); |
| | | queryWrapper.leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyDetail::getDuId); |
| | | queryWrapper.leftJoin(Worktype.class,Worktype::getId,ApplyDetail::getWorktypeId); |
| | | queryWrapper.leftJoin(Member.class,Member::getId,ApplyDetail::getMemberId); |
| | | queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId); |
| | | queryWrapper.eq( ApplyDetail::getUnionApplyId,model.getId()); |
| | | List<ApplyDetail> detailList= applyDetailJoinMapper.selectJoinList( ApplyDetail.class, queryWrapper); |
| | | //æ¥è¯¢æç» |
| | | if(detailList!=null){ |
| | | insuranceApply.setInsureNum(detailList.size()); |
| | | insuranceApply.setApplyDetailList(detailList); |
| | | } |
| | | insuranceApply.setRemark(model.getRemark()); |
| | | return insuranceApply; |
| | | } |
| | | |
| | | |
| | | |
| | | @Override |
| | |
| | | .selectAs(Solutions::getName,UnionApply::getSolutionName) |
| | | .selectAs(Company::getName,UnionApply::getCompanyName) |
| | | .select(" ( select count(DISTINCT(ad.MEMBER_ID)) from apply_detail ad where ad.UNION_APPLY_ID = t.id ) as insureNum") |
| | | .select(" ( select group_concat(DISTINCT(cd.name)) from insurance_apply ad left join company cd on ad.company_id = cd.id where ad.UNION_APPLY_ID = t.id ) as companyNames") |
| | | .leftJoin(Solutions.class,Solutions::getId,UnionApply::getSolutionId) |
| | | .leftJoin(Company.class,Company::getId,UnionApply::getCompanyId) |
| | | .eq(UnionApply::getId,applyId) |
| | |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.dao.business.dto.*; |
| | | import com.doumee.dao.business.model.InsuranceApply; |
| | | import com.doumee.dao.business.model.UnionApply; |
| | | import com.doumee.service.business.UnionApplyService; |
| | | import io.swagger.annotations.Api; |
| | |
| | | public void exportExcel (@RequestBody PageWrap<UnionApply> pageWrap, HttpServletResponse response) { |
| | | ExcelExporter.build(UnionApply.class).export(unionApplyService.findPage(pageWrap).getRecords(), "åå¹¶æä¿åä¿¡æ¯è¡¨", response); |
| | | } |
| | | |
| | | @ApiOperation("å¯¼åºæä¿è¯¦æ
å") |
| | | @PostMapping("/exportDetailExcel") |
| | | @RequiresPermissions("business:unionapply:exportExcel") |
| | | public void exportDetailExcel (@RequestBody UnionApply model, HttpServletResponse response) { |
| | | ExcelExporter.build(UnionApply.class).exportUnionApplyDetail(unionApplyService.findDetailForExport(model), response); |
| | | } |
| | | |
| | | @ApiOperation("æ ¹æ®IDæ¥è¯¢") |
| | | @GetMapping("/{id}") |
| | |
| | | return ApiResponse.success(unionApplyService.merge(saveUnionApplyDTO)); |
| | | } |
| | | |
| | | @ApiOperation("å
³éåå¹¶å") |
| | | @PostMapping("/close") |
| | | @RequiresPermissions("business:unionapply:close") |
| | | @ApiOperation("éååå¹¶å") |
| | | @PostMapping("/cancel") |
| | | @RequiresPermissions("business:unionapply:cancel") |
| | | public ApiResponse close(@RequestBody CloseDTO closeDTO) { |
| | | unionApplyService.cancelMerge(closeDTO); |
| | | return ApiResponse.success(null); |
| | |
| | | @PreventRepeat |
| | | @ApiOperation("ä¸ä¼ æä¿å") |
| | | @PostMapping("/uploadToubaodan") |
| | | @RequiresPermissions("business:unionapply:create") |
| | | @RequiresPermissions("business:unionapply:uploadToubaodan") |
| | | public ApiResponse uploadToubaodan(@RequestBody UploadMultifileDTO uploadMultifileDTO) { |
| | | unionApplyService.uploadToubaodan(uploadMultifileDTO); |
| | | return ApiResponse.success(null); |
| | |
| | | |
| | | @ApiOperation("ä¸ä¼ ä¿é©å") |
| | | @PostMapping("/uploadBXD") |
| | | @RequiresPermissions("business:unionchange:query") |
| | | @RequiresPermissions("business:unionchange:uploadBXD") |
| | | public ApiResponse uploadBXD(@RequestBody UnionApplyBXDDTO unionApplyBXDDTO) { |
| | | unionApplyService.uploadBXD(unionApplyBXDDTO); |
| | | return ApiResponse.success(null); |