|  |  |  | 
|---|
|  |  |  | <template> | 
|---|
|  |  |  | <GlobalWindow | 
|---|
|  |  |  | :title="title" | 
|---|
|  |  |  | width="50%" | 
|---|
|  |  |  | submitText="修改" | 
|---|
|  |  |  | width="70%" | 
|---|
|  |  |  | text="修改" | 
|---|
|  |  |  | :withFooter="userInfo.type !== 1" | 
|---|
|  |  |  | :visible.sync="visible" | 
|---|
|  |  |  | :confirm-working="isWorking" | 
|---|
|  |  |  | @confirm="$refs.operaSolutionsWindow.open('编辑方案')" | 
|---|
|  |  |  | @confirm="$refs.operaSolutionsWindow.open('编辑方案', form)" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <div class="info"> | 
|---|
|  |  |  | <div class="info_list"> | 
|---|
|  |  |  | <div class="info_list_item"> | 
|---|
|  |  |  | <div class="info_list_item_label">方案名称:</div> | 
|---|
|  |  |  | <div class="info_list_item_val">平安保险雇主责任险A版</div> | 
|---|
|  |  |  | <div class="info_list_item_val">{{form.name}}</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="info_list_item"> | 
|---|
|  |  |  | <div class="info_list_item_label">保险公司:</div> | 
|---|
|  |  |  | <div class="info_list_item_val">平安保险</div> | 
|---|
|  |  |  | <div class="info_list_item_val">{{form.insuranceName}}</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="info_list_item"> | 
|---|
|  |  |  | <div class="info_list_item_label">承保公司:</div> | 
|---|
|  |  |  | <div class="info_list_item_val">安徽平安保险有限公司</div> | 
|---|
|  |  |  | <div class="info_list_item_val">{{form.companyName}}</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="info_list_item"> | 
|---|
|  |  |  | <div class="info_list_item_label">投保类型:</div> | 
|---|
|  |  |  | <div class="info_list_item_val" v-if="form.type === 0 "> 直保</div> | 
|---|
|  |  |  | <div class="info_list_item_val" v-if="form.type === 1">委托投保</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="info_list_item" v-if="form.type === 1"> | 
|---|
|  |  |  | <div class="info_list_item_label">委托商户:</div> | 
|---|
|  |  |  | <div class="info_list_item_val" > {{form.shopName}}</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="info_list_item"> | 
|---|
|  |  |  | <div class="info_list_item_label">投保年龄:</div> | 
|---|
|  |  |  | <div class="info_list_item_val">25至65</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="info_list_item"> | 
|---|
|  |  |  | <div class="info_list_item_label">投保类型:</div> | 
|---|
|  |  |  | <div class="info_list_item_val">平台投保</div> | 
|---|
|  |  |  | <div class="info_list_item_val">{{form.minAge}}至{{form.maxAge}}</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="info_list_item"> | 
|---|
|  |  |  | <div class="info_list_item_label">保险费用:</div> | 
|---|
|  |  |  | <div class="info_list_item_val">200元/人/年</div> | 
|---|
|  |  |  | <div class="info_list_item_val"> | 
|---|
|  |  |  | {{form.price}}元/人/ | 
|---|
|  |  |  | <span v-if="form.timeUnit === 0">天</span> | 
|---|
|  |  |  | <span v-if="form.timeUnit === 1">半月</span> | 
|---|
|  |  |  | <span v-if="form.timeUnit === 2">月</span> | 
|---|
|  |  |  | <span v-if="form.timeUnit === 3">年</span> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="info_list_item"> | 
|---|
|  |  |  | <div class="info_list_item_label">投保周期:</div> | 
|---|
|  |  |  | <div class="info_list_item_val">1月</div> | 
|---|
|  |  |  | <div class="info_list_item_val"> | 
|---|
|  |  |  | {{form.insureCycle}} | 
|---|
|  |  |  | <span v-if="form.insureCycleUnit === 0">天</span> | 
|---|
|  |  |  | <span v-if="form.insureCycleUnit === 1">半月</span> | 
|---|
|  |  |  | <span v-if="form.insureCycleUnit === 2">月</span> | 
|---|
|  |  |  | <span v-if="form.insureCycleUnit === 3">年</span> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="info_list_item"> | 
|---|
|  |  |  | <div class="info_list_item_label">生效时间:</div> | 
|---|
|  |  |  | <div class="info_list_item_val">1日后生效</div> | 
|---|
|  |  |  | <div class="info_list_item_val">{{form.validType === 0 ? form.validTypeNum + '日后生效' : '次月生效'}}</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="info_list_item"> | 
|---|
|  |  |  | <div class="info_list_item_label">投保类型:</div> | 
|---|
|  |  |  | <div class="info_list_item_val">直保</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="info_list_item"> | 
|---|
|  |  |  | <div class="info_list_item_label">单独指派工种:</div> | 
|---|
|  |  |  | <div class="info_list_item_val">否</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <div class="info_list_item"> | 
|---|
|  |  |  | <div class="info_list_item_label">接收文件邮箱:</div> | 
|---|
|  |  |  | <div class="info_list_item_val">111@163.com</div> | 
|---|
|  |  |  | <div class="info_list_item_val">{{form.email}}</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> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <el-table | 
|---|
|  |  |  | :data="tableData" | 
|---|
|  |  |  | :data="form.worktypeList" | 
|---|
|  |  |  | border | 
|---|
|  |  |  | style="width: 100%; margin-bottom: 20px;"> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | prop="code" | 
|---|
|  |  |  | prop="worktypeName" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | label="所属工种"> | 
|---|
|  |  |  | label="工种名称"> | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  | </el-table> | 
|---|
|  |  |  | <div class="info_fwb">富文本内容</div> | 
|---|
|  |  |  | <div class="info_agree"> | 
|---|
|  |  |  | <div class="info_agree_label">特别约定:{{form.specialAgreement}}</div> | 
|---|
|  |  |  | <div class="info_agree_label">特别说明:{{form.specialInfo}}</div> | 
|---|
|  |  |  | <div class="info_agree_label">其他说明:{{form.ortherInfo}}</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <!-- 修改 --> | 
|---|
|  |  |  | <OperaSolutionsWindow ref="operaSolutionsWindow" @success="handlePageChange"/> | 
|---|
|  |  |  | <OperaSolutionsWindow ref="operaSolutionsWindow" @success="callback"/> | 
|---|
|  |  |  | </GlobalWindow> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | 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, | 
|---|
|  |  |  | 
|---|
|  |  |  | form: { | 
|---|
|  |  |  | id: null, | 
|---|
|  |  |  | name: '', | 
|---|
|  |  |  | companyName: '', | 
|---|
|  |  |  | insuranceId: '', | 
|---|
|  |  |  | validType: '', | 
|---|
|  |  |  | type: '', | 
|---|
|  |  |  | validType: 0, | 
|---|
|  |  |  | type: 0, | 
|---|
|  |  |  | minAge: '', | 
|---|
|  |  |  | maxAge: '', | 
|---|
|  |  |  | price: '', | 
|---|
|  |  |  | timeUnit: '', | 
|---|
|  |  |  | insureCycle: '', | 
|---|
|  |  |  | shopName:'', | 
|---|
|  |  |  | insureCycleUnit: '', | 
|---|
|  |  |  | priceCycleUnit: '', | 
|---|
|  |  |  | validTypeNum: '', | 
|---|
|  |  |  | email: '', | 
|---|
|  |  |  | specialAgreement: '', | 
|---|
|  |  |  | specialInfo: '', | 
|---|
|  |  |  | ortherInfo: '' | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 验证规则 | 
|---|
|  |  |  | rules: { | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | tableData: [] | 
|---|
|  |  |  | 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 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  | 
|---|
|  |  |  | <style lang="scss" scoped> | 
|---|
|  |  |  | .info { | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | .info_agree { | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | flex-direction: column; | 
|---|
|  |  |  | margin-top: 20px; | 
|---|
|  |  |  | .info_agree_label { | 
|---|
|  |  |  | font-size: 14px; | 
|---|
|  |  |  | font-weight: 500; | 
|---|
|  |  |  | color: #000000; | 
|---|
|  |  |  | margin-top: 5px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .info_agree_val { | 
|---|
|  |  |  | font-size: 14px; | 
|---|
|  |  |  | font-weight: 500; | 
|---|
|  |  |  | color: #000000; | 
|---|
|  |  |  | margin-top: 5px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .info_label { | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | 
|---|
|  |  |  | align-items: start; | 
|---|
|  |  |  | margin-bottom: 20px; | 
|---|
|  |  |  | .info_list_item_label { | 
|---|
|  |  |  | width: 130px; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | flex-shrink: 0; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .info_list_item_val { | 
|---|