| | |
| | | |
| | | # VUE_APP_API = 'https://dmtest.ahapp.net/yyb_admin_api/' |
| | | |
| | | VUE_APP_API = 'http://192.168.0.190:10030/' |
| | | |
| | | # VUE_APP_API = 'http://localhost:10030/' |
| | | VUE_APP_API = 'http://localhost:10030/' |
| | |
| | | <el-form-item label="保险生效起止期:" prop="startDate" style="margin-left: 40px"> |
| | | <div style="display: flex; flex-direction: column;"> |
| | | <el-date-picker |
| | | @change="changeTime" |
| | | @change="changeTime" |
| | | v-model="time" |
| | | type="daterange" |
| | | format="yyyy 年 MM 月 dd 日" |
| | |
| | | <div class="info_list_item_label">接收文件邮箱:</div> |
| | | <div class="info_list_item_val">{{form.email}}</div> |
| | | </div> |
| | | <div class="info_list_item"> |
| | | <div class="info_list_item_label">批增生效:</div> |
| | | <div class="info_list_item_val">{{form.addValidDays||0}}天</div> |
| | | </div> |
| | | <div class="info_list_item"> |
| | | <div class="info_list_item_label">批减生效:</div> |
| | | <div class="info_list_item_val">{{form.delValidDays||0}}天</div> |
| | | </div> |
| | | <div class="info_list_item"> |
| | | <div class="info_list_item_label">批改支持:</div> |
| | | <div class="info_list_item_val"> |
| | | <span style="margin-right: 50px">加保 <i :class="form.canAdd ==1?'el-icon-circle-check':'el-icon-circle-close'" :style="form.canAdd ==1?'color:green;font-weight:bold':'color:red;font-weight:bold'"></i></span> |
| | | <span style="margin-right: 50px">减保 <i :class="form.canReduce ==1?'el-icon-circle-check':'el-icon-circle-close'" :style="form.canReduce ==1?'color:green;font-weight:bold':'color:red;font-weight:bold'"></i></span> |
| | | <span>更换派遣单位 <i :class="form.canChangeUnit ==1?'el-icon-circle-check':'el-icon-circle-close'" :style="form.canChangeUnit ==1?'color:green;font-weight:bold':'color:red;font-weight:bold'"></i></span> |
| | | </div> |
| | | </div> |
| | | <div class="info_list_item"> |
| | | <div class="info_list_item_label">批改仅支持替换:</div> |
| | | <div class="info_list_item_val" v-if="form.delOnlyReplace == 1">是</div> |
| | | <div class="info_list_item_val" v-else>否</div> |
| | | </div> |
| | | <div class="info_list_item" style="width: 100%" v-if="form.type==1"> |
| | | <div class="info_list_item_label">方案确认书:</div> |
| | | <div class="info_list_item_val" ><a v-if="form.fanganFile && form.fanganFile.fileurlFull" style="cursor: pointer;color: #2E68EC" title="点击查看" @click="openFile(form.fanganFile.fileurlFull)">{{ form.fanganFile.name || '点击查看' }}</a></div> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import OperaSolutionsWindow from '@/components/business/OperaSolutionsWindow' |
| | | import { solutionsId } from '@/api/business/solutions' |
| | | import {mapState} from "vuex"; |
| | | export default { |
| | | name: 'OperaSolutionsDescWindow', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow, OperaSolutionsWindow }, |
| | | data () { |
| | | return { |
| | | // 表单数据 |
| | | form: { |
| | | id: null, |
| | | name: '', |
| | | companyName: '', |
| | | insuranceId: '', |
| | | validType: 0, |
| | | type: 0, |
| | | minAge: '', |
| | | maxAge: '', |
| | | price: '', |
| | | timeUnit: '', |
| | | insureCycle: '', |
| | | shopName:'', |
| | | insureCycleUnit: '', |
| | | validTypeNum: '', |
| | | email: '', |
| | | specialAgreement: '', |
| | | specialInfo: '', |
| | | ortherInfo: '', |
| | | insuranceName: '', |
| | | signKeyword: '', |
| | | worktypeList: [], |
| | | worktypeIdList: [] |
| | | } |
| | | } |
| | | }, |
| | | computed: { |
| | | ...mapState(['userInfo']) |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | api: '/business/solutions', |
| | | 'field.id': 'id' |
| | | }) |
| | | }, |
| | | methods: { |
| | | open (title, target) { |
| | | this.title = title |
| | | this.visible = true |
| | | this.form = { |
| | | id: null, |
| | | name: '', |
| | | companyName: '', |
| | | insuranceId: '', |
| | | validType: 0, |
| | | type: 0, |
| | | minAge: '', |
| | | maxAge: '', |
| | | price: '', |
| | | timeUnit: '', |
| | | insureCycle: '', |
| | | shopName:'', |
| | | insureCycleUnit: '', |
| | | validTypeNum: '', |
| | | email: '', |
| | | specialAgreement: '', |
| | | specialInfo: '', |
| | | ortherInfo: '', |
| | | fanganFile:null, |
| | | insuranceName: '', |
| | | signKeyword: '', |
| | | worktypeList: [], |
| | | worktypeIdList: [] |
| | | } |
| | | |
| | | this.$nextTick(() => { |
| | | for (const key in this.form) { |
| | | this.form[key] = target[key] |
| | | } |
| | | this.getDetails() |
| | | }) |
| | | }, |
| | | openFile (url) { |
| | | setTimeout(() => { |
| | | window.open(url) |
| | | }, 500) |
| | | }, |
| | | getDetails() { |
| | | solutionsId(this.form.id) |
| | | .then(res => { |
| | | for (const key in this.form) { |
| | | this.form[key] = res[key] |
| | | } |
| | | this.form.worktypeIdList = res.worktypeList.map(item => { |
| | | return { |
| | | worktypeId: item.worktypeId |
| | | } |
| | | }) |
| | | }) |
| | | }, |
| | | callback() { |
| | | this.$emit('success') |
| | | this.visible = false |
| | | } |
| | | } |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import OperaSolutionsWindow from '@/components/business/OperaSolutionsWindow' |
| | | import { solutionsId } from '@/api/business/solutions' |
| | | import { mapState } from 'vuex' |
| | | export default { |
| | | name: 'OperaSolutionsDescWindow', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow, OperaSolutionsWindow }, |
| | | data () { |
| | | return { |
| | | // 表单数据 |
| | | form: { |
| | | id: null, |
| | | name: '', |
| | | companyName: '', |
| | | insuranceId: '', |
| | | validType: 0, |
| | | type: 0, |
| | | minAge: '', |
| | | maxAge: '', |
| | | price: '', |
| | | timeUnit: '', |
| | | insureCycle: '', |
| | | shopName: '', |
| | | insureCycleUnit: '', |
| | | validTypeNum: '', |
| | | email: '', |
| | | canReduce: 0, |
| | | canChangeUnit: 0, |
| | | addValidDays: 0, |
| | | delValidDays: 0, |
| | | delOnlyReplace: 0, |
| | | canAdd: 0, |
| | | specialAgreement: '', |
| | | specialInfo: '', |
| | | ortherInfo: '', |
| | | insuranceName: '', |
| | | signKeyword: '', |
| | | worktypeList: [], |
| | | worktypeIdList: [] |
| | | } |
| | | } |
| | | }, |
| | | computed: { |
| | | ...mapState(['userInfo']) |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | api: '/business/solutions', |
| | | 'field.id': 'id' |
| | | }) |
| | | }, |
| | | methods: { |
| | | open (title, target) { |
| | | this.title = title |
| | | this.visible = true |
| | | this.form = { |
| | | id: null, |
| | | name: '', |
| | | companyName: '', |
| | | insuranceId: '', |
| | | validType: 0, |
| | | type: 0, |
| | | minAge: '', |
| | | maxAge: '', |
| | | price: '', |
| | | timeUnit: '', |
| | | insureCycle: '', |
| | | shopName: '', |
| | | insureCycleUnit: '', |
| | | validTypeNum: '', |
| | | email: '', |
| | | specialAgreement: '', |
| | | specialInfo: '', |
| | | ortherInfo: '', |
| | | fanganFile: null, |
| | | canReduce: 0, |
| | | canChangeUnit: 0, |
| | | addValidDays: 0, |
| | | delValidDays: 0, |
| | | delOnlyReplace: 0, |
| | | canAdd: 0, |
| | | insuranceName: '', |
| | | signKeyword: '', |
| | | worktypeList: [], |
| | | worktypeIdList: [] |
| | | } |
| | | |
| | | this.$nextTick(() => { |
| | | for (const key in this.form) { |
| | | this.form[key] = target[key] |
| | | } |
| | | this.getDetails() |
| | | }) |
| | | }, |
| | | openFile (url) { |
| | | setTimeout(() => { |
| | | window.open(url) |
| | | }, 500) |
| | | }, |
| | | getDetails () { |
| | | solutionsId(this.form.id) |
| | | .then(res => { |
| | | for (const key in this.form) { |
| | | this.form[key] = res[key] |
| | | } |
| | | this.form.worktypeIdList = res.worktypeList.map(item => { |
| | | return { |
| | | worktypeId: item.worktypeId |
| | | } |
| | | }) |
| | | }) |
| | | }, |
| | | callback () { |
| | | this.$emit('success') |
| | | this.visible = false |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | |
| | | <el-input style="margin-left: 20px;" type="number" v-model="form.validTypeNum" placeholder="请输入延迟天数" v-if="form.validType === 0"></el-input> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="是否支持" prop="addValidDays"> |
| | | <div style="width: 100%; display: flex; align-items: center;"> |
| | | <el-checkbox :true-label="1" :false-label="0" v-model="form.canAdd">加保</el-checkbox> |
| | | <el-checkbox :true-label="1" :false-label="0" v-model="form.canReduce">减保</el-checkbox> |
| | | <el-checkbox :true-label="1" :false-label="0" v-model="form.canChangeUnit">更换派遣单位</el-checkbox> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="批减只支持替换(减保批改仅支持替换人员即减保人员少于加保人员)" prop="delOnlyReplace"> |
| | | <div style="width: 100%; display: flex; align-items: center;"> |
| | | <el-radio-group v-model="form.delOnlyReplace"> |
| | | <el-radio :label="1">是</el-radio> |
| | | <el-radio :label="0">否</el-radio> |
| | | </el-radio-group> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="批增生效(天数)" prop="addValidDays"> |
| | | <div style="width: 100%; display: flex; align-items: center;"> |
| | | <el-input style="margin-left: 20px;" type="number" v-model="form.addValidDays" placeholder="请输入批增生效时间(天数)" ></el-input> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="批减生效(天数)" prop="delValidDays"> |
| | | <div style="width: 100%; display: flex; align-items: center;"> |
| | | <el-input style="margin-left: 20px;" type="number" v-model="form.delValidDays" placeholder="请输入批减生效时间(天数)" ></el-input> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="投保类型" prop="type"> |
| | | <el-radio-group v-model="form.type" :disabled="form.id!=null"> |
| | | <el-radio :label="0" >直保</el-radio> |
| | |
| | | import { all as allWorktype } from '@/api/business/worktype' |
| | | import { solutionsId } from '@/api/business/solutions' |
| | | import { pageAll as shopList } from '@/api/business/company' |
| | | import UploadFile from "@/components/common/UploadFile"; |
| | | import UploadFile from '@/components/common/UploadFile' |
| | | export default { |
| | | name: 'OperaSolutionsWindow', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow ,UploadFile}, |
| | | components: { GlobalWindow, UploadFile }, |
| | | data () { |
| | | var validType = (rule, value, callback) => { |
| | | if (this.form.validType === 0 && !value) { |
| | |
| | | ortherInfo: '', |
| | | signKeyword: '', |
| | | validTypeNum: '', |
| | | fileList1:[], |
| | | fanganFile:null, |
| | | canReduce: 0, |
| | | canChangeUnit: 0, |
| | | addValidDays: 0, |
| | | delValidDays: 0, |
| | | delOnlyReplace: 0, |
| | | canAdd: 0, |
| | | fileList1: [], |
| | | fanganFile: null, |
| | | worktypeIdList: [{ worktypeId: '' }] |
| | | }, |
| | | // 验证规则 |
| | |
| | | }) |
| | | }, |
| | | methods: { |
| | | editFanganFile(data){ |
| | | this.form.fanganFile=data |
| | | editFanganFile (data) { |
| | | this.form.fanganFile = data |
| | | }, |
| | | // 切换公司 |
| | | getAllWorktype1 () { |
| | |
| | | if (!valid) { |
| | | return |
| | | } |
| | | if(data.type===1 && (!data.fanganFile || !data.fanganFile.fileurl)){ |
| | | if (data.type === 1 && (!data.fanganFile || !data.fanganFile.fileurl)) { |
| | | this.$message.error('请上传方案确认书!') |
| | | return; |
| | | return |
| | | } |
| | | // 调用新建接口 |
| | | this.isWorking = true |
| | |
| | | } |
| | | }) |
| | | }, |
| | | deleFile(){ |
| | | this.form.fanganFile={} |
| | | deleFile () { |
| | | this.form.fanganFile = {} |
| | | }, |
| | | open (title, target) { |
| | | this.title = title |
| | |
| | | this.form.timeUnit = '' |
| | | this.form.insureCycleUnit = '' |
| | | this.form.validTypeNum = '' |
| | | this.form.fanganFile=null |
| | | this.form.fileList1= new Array(); |
| | | this.form.fanganFile = null |
| | | this.form.canReduce = 0 |
| | | this.form.canChangeUnit = 0 |
| | | this.form.addValidDays = 0 |
| | | this.form.delOnlyReplace = 0 |
| | | this.form.delValidDays = 0 |
| | | this.form.canAdd = 0 |
| | | this.form.fileList1 = [] |
| | | this.form.worktypeIdList = [{ worktypeId: '' }] |
| | | // this.$refs['$upload'].clearFiles()//初始化导入组件 |
| | | this.allCompany() |
| | |
| | | this.form.timeUnit = '' |
| | | this.form.insureCycleUnit = '' |
| | | this.form.validTypeNum = '' |
| | | this.form.fanganFile=null |
| | | this.form.fileList1= new Array(); |
| | | this.form.fanganFile = null |
| | | this.form.fileList1 = [] |
| | | this.form.worktypeIdList = [{ worktypeId: '' }] |
| | | this.form[this.configData['field.id']] = null |
| | | }) |
| | |
| | | for (const key in this.form) { |
| | | this.form[key] = res[key] |
| | | } |
| | | if(this.form.fanganFile && this.form.fanganFile.fileurl){ |
| | | this.form.fileList1= [{url: this.form.fanganFile.fileurlFull, name:this.form.fanganFile.name}]; |
| | | if (this.form.fanganFile && this.form.fanganFile.fileurl) { |
| | | this.form.fileList1 = [{ url: this.form.fanganFile.fileurlFull, name: this.form.fanganFile.name }] |
| | | } |
| | | console.log(this.form.fileList1) |
| | | this.form.worktypeIdList = res.worktypeList.map(item => { |
| | |
| | | <span v-if="row.validType === 1">次月生效</span> |
| | | </template> |
| | | </el-table-column> |
| | | <!-- <el-table-column prop="addValidDays" label="批增生效时间" min-width="100px"> </el-table-column> |
| | | <el-table-column prop="delValidDays" label="批减生效时间" min-width="100px"> </el-table-column>--> |
| | | <el-table-column label="保险费用" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span>{{row.price}}元/人/</span> |
| | |
| | | # application: |
| | | # name: doumeemes |
| | | profiles: |
| | | active: pro |
| | | active: dev |
| | | |
| | | # JSON返回配置 |
| | | jackson: |
| | |
| | | @ApiModelProperty(value = "批单日期") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | private Date applyDate; |
| | | @ApiModelProperty(value = "减保批单日期") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | private Date delValidTime; |
| | | |
| | | @ApiModelProperty(value = "保单文件地址") |
| | | private String fileurl; |
| | |
| | | private String signApplyNo; |
| | | @ApiModelProperty(value = "期望保险生效起期") |
| | | @ExcelColumn(name="期望保险生效起期") |
| | | //入参 |
| | | // @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | // //出参 |
| | | // @JsonFormat(pattern="yyyy-MM-dd") |
| | | private Date validTime; |
| | | @ApiModelProperty(value = "实际减保生效起期") |
| | | @ExcelColumn(name="实际减保生效起期") |
| | | private Date delValidTime; |
| | | |
| | | @ApiModelProperty(value = "批单号") |
| | | @ExcelColumn(name="批单号") |
| | |
| | | @ExcelColumn(name="最小投保周期时间单位0天 1半月 2月 3年") |
| | | private Integer insureCycleUnit; |
| | | |
| | | @ApiModelProperty(value = "是否可加保 0否 1是", example = "1") |
| | | @ExcelColumn(name="是否可加保 0否 1是") |
| | | private Integer canAdd; |
| | | |
| | | @ApiModelProperty(value = "是否可减保 0否 1是", example = "1") |
| | | @ExcelColumn(name="是否可减保 0否 1是") |
| | | private Integer canReduce; |
| | | @ApiModelProperty(value = "批减是否仅支持替换 0否 1是", example = "1") |
| | | @ExcelColumn(name="批减是否仅支持替换 0否 1是") |
| | | private Integer delOnlyReplace; |
| | | @ApiModelProperty(value = "是否可派遣单位 0否 1是", example = "1") |
| | | @ExcelColumn(name="是否可更换派遣单位 0否 1是") |
| | | private Integer canChangeUnit; |
| | | |
| | | @ApiModelProperty(value = "最小计费周期时间单位 0天 1半月 2月 3年", example = "1") |
| | | @ExcelColumn(name="最小计费周期时间单位 0天 1半月 2月 3年") |
| | | private Integer priceCycleUnit; |
| | | @ApiModelProperty(value = "批增生效天数", example = "1") |
| | | @ExcelColumn(name="批增生效天数") |
| | | private Integer addValidDays; |
| | | @ApiModelProperty(value = "批减生效天数", example = "1") |
| | | @ExcelColumn(name="批减生效天数") |
| | | private Integer delValidDays; |
| | | |
| | | @ApiModelProperty(value = "是否单独指派工种 0否 1四", example = "1") |
| | | @ExcelColumn(name="是否单独指派工种 0否 1四") |
| | |
| | | @ExcelColumn(name="期望保险生效起期") |
| | | private Date validTime; |
| | | |
| | | @ApiModelProperty(value = "实际减保生效起期") |
| | | @ExcelColumn(name="实际减保生效起期") |
| | | private Date delValidTime; |
| | | |
| | | @ApiModelProperty(value = "批单号") |
| | | @ExcelColumn(name="批单号") |
| | | private String validCode; |
| | |
| | | if(model == null ||!Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | if(!Constants.equalsInteger(model.getType(),Constants.ONE)&& |
| | | param.getDelValidTime() == null ){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | if(!Constants.equalsInteger(model.getStatus(),Constants.ApplyChangeStatus.SIGNATURE.getKey())){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,该申请状态已流转,当前不支持该操作~"); |
| | | } |
| | |
| | | update.setId(model.getId()); |
| | | update.setValidCode(param.getValidCode()); |
| | | update.setApplyStartTime(param.getApplyStartTime()); |
| | | update.setDelValidTime(param.getDelValidTime()); |
| | | update.setCode(model.getCode()); |
| | | |
| | | param.getPidanFile().setIsdeleted(Constants.ZERO); |
| | |
| | | )>Constants.ZERO){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"保险方案名称已存在"); |
| | | } |
| | | |
| | | solutions.setCanAdd(Constants.formatIntegerNum(solutions.getCanAdd())); |
| | | solutions.setCanReduce(Constants.formatIntegerNum(solutions.getCanReduce())); |
| | | solutions.setCanChangeUnit(Constants.formatIntegerNum(solutions.getCanChangeUnit())); |
| | | solutions.setAddValidDays(Constants.formatIntegerNum(solutions.getAddValidDays())); |
| | | solutions.setDelValidDays(Constants.formatIntegerNum(solutions.getDelValidDays())); |
| | | solutions.setIsdeleted(Constants.ZERO); |
| | | solutions.setCreator(user.getId()); |
| | | solutions.setCreateDate(new Date()); |
| | |
| | | if(Objects.isNull(unionChange)||!Constants.equalsInteger(unionChange.getIsdeleted(),Constants.ZERO)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | if(!Constants.equalsInteger(unionChange.getType(),Constants.ONE)&& |
| | | unionChangeBXDDTO.getDelValidTime() == null ){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | unionChange.setStatus(Constants.formatIntegerNum(unionChange.getStatus())); |
| | | unionChange.setShopId(Constants.formatIntegerNum(unionChange.getShopId())); |
| | | if(!unionChange.getShopId().equals(user.getCompanyId())){ |
| | |
| | | .set(UnionChange::getEditDate,new Date()) |
| | | .set(UnionChange::getEditor,user.getId()) |
| | | .set(UnionChange::getValidTime,unionChangeBXDDTO.getApplyDate()) |
| | | .set(UnionChange::getDelValidTime,unionChangeBXDDTO.getDelValidTime()) |
| | | .set(UnionChange::getApplyStartTime,unionChangeBXDDTO.getApplyDate()) |
| | | .set(UnionChange::getCode,unionChangeBXDDTO.getCode()) |
| | | .eq(UnionChange::getId,unionChangeBXDDTO.getId()) |
| | |
| | | return json.getString("data"); |
| | | } |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | |
| | | } |
| | | return null; |