| <template> | 
|     <GlobalWindow | 
|         :title="title" | 
|         width="100%" | 
|         :withFooter="false" | 
|         :visible.sync="visible" | 
|         :confirm-working="isWorking" | 
|         @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">{{form.name}}</div> | 
|                 </div> | 
|                 <div class="info_list_item"> | 
|                     <div class="info_list_item_label">保险公司:</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">{{form.companyName}}</div> | 
|                 </div> | 
|                 <div class="info_list_item"> | 
|                     <div class="info_list_item_label">批改提醒时间:</div> | 
|                     <div class="info_list_item_val">{{form.correctWarnTime}}</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">是</div> | 
|                 </div> | 
|             </div> | 
|             <el-table | 
|                 :data="form.worktypeList" | 
|                 border | 
|                 style="width: 100%; margin-bottom: 20px;"> | 
|                 <el-table-column | 
|                         label="序号" | 
|                         align="center" | 
|                         width="80"> | 
|                     <template slot-scope="scope"> | 
|                         <span>{{scope.$index + 1}}</span> | 
|                     </template> | 
|                 </el-table-column> | 
|                 <el-table-column | 
|                         prop="worktypeName" | 
|                         align="center" | 
|                         label="工种名称"> | 
|                 </el-table-column> | 
|             </el-table> | 
|             <div class="info_agree"> | 
|                 <div class="info_agree_label">特别约定:<div v-html="form.specialAgreement"></div></div> | 
|                 <div class="info_agree_label">特别说明:<div v-html="form.specialInfo"></div></div> | 
|                 <div class="info_agree_label">其他说明:<div v-html="form.ortherInfo"></div></div> | 
|             </div> | 
|         </div> | 
|         <!-- 修改 --> | 
|         <OperaSolutionsWindow ref="operaSolutionsWindow" @success="callback"/> | 
|         <OperaPdfViewerWindow ref="OperaPdfViewerWindow"  /> | 
|     </GlobalWindow> | 
| </template> | 
|   | 
| <script> | 
|   import BaseOpera from '@/components/base/BaseOpera' | 
|   import GlobalWindow from '@/components/common/GlobalWindow' | 
|   import OperaSolutionsWindow from '@/components/business/OperaSolutionsWindow' | 
|   import OperaPdfViewerWindow from '@/components/business/OperaPdfViewerWindow' | 
|   import { solutionsBaseId } from '@/api/business/solutionsBase' | 
|   import { mapState } from 'vuex' | 
|   export default { | 
|     name: 'OperaSolutionsBaseDescWindow', | 
|     extends: BaseOpera, | 
|     components: { GlobalWindow, OperaPdfViewerWindow,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, | 
|           correctWarnTime: '', | 
|           specialAgreement: '', | 
|           specialInfo: '', | 
|           ortherInfo: '', | 
|           insuranceName: '', | 
|           signKeyword: '', | 
|           worktypeList: [], | 
|           worktypeIdList: [] | 
|         } | 
|       } | 
|     }, | 
|     computed: { | 
|       ...mapState(['userInfo']) | 
|     }, | 
|     created () { | 
|       this.config({ | 
|         api: '/business/solutionsBase', | 
|         '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, | 
|           correctWarnTime: '', | 
|           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(() => { | 
|           this.$refs.OperaPdfViewerWindow.open('方案确认书',url) | 
|           // window.open(url) | 
|         }, 500) | 
|       }, | 
|       getDetails () { | 
|         solutionsBaseId(this.form.id) | 
|           .then(res => { | 
|             for (const key in this.form) { | 
|               this.form[key] = res[key] | 
|             } | 
|             if (res.worktypeList) { | 
|               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: center; | 
|             justify-content: space-between; | 
|             margin-bottom: 20px; | 
|             span { | 
|                 font-size: 18px; | 
|                 font-weight: 500; | 
|                 color: #000000; | 
|             } | 
|         } | 
|         .info_fwb { | 
|             width: 100%; | 
|             margin-top: 20px; | 
|         } | 
|         .info_list { | 
|             width: 100%; | 
|             display: flex; | 
|             align-items: center; | 
|             flex-wrap: wrap; | 
|             .info_list_item { | 
|                 width: 50%; | 
|                 display: flex; | 
|                 align-items: start; | 
|                 margin-bottom: 20px; | 
|                 .info_list_item_label { | 
|   | 
|                     flex-shrink: 0; | 
|                 } | 
|                 .info_list_item_val { | 
|                     flex: 1; | 
|                     display: flex; | 
|                     align-items: center; | 
|                     .image { | 
|                         width: 100px; | 
|                         height: 100px; | 
|                         display: flex; | 
|                         align-items: center; | 
|                         justify-content: center; | 
|                         overflow: hidden; | 
|                         img { | 
|                             width: 100%; | 
|                         } | 
|                     } | 
|                 } | 
|             } | 
|         } | 
|     } | 
| </style> |