@@ -1,17 +1,17 @@
 
		
	
		
			
				< script >  
		
	
		
			
				import  { mapState }  from  "vuex"  
		
	
		
			
				import  {   mapState   }  from  "vuex"  
		
	
		
			
				import  AiEartagPicker  from  "@project/xumu/components/AiEartagPicker.vue" ;  
		
	
		
			
				 
		
	
		
			
				const  records  =  [  
		
	
		
			
				  { label :  "序号" ,  type :  "index" } , 
 
		
	
		
			
				  { label :  "报案号" ,  prop :  "reportNo" } , 
 
		
	
		
			
				  { label :  "审批状态" ,  prop :  "auditStatus" ,  dict :  "auditStatus" } , 
 
		
	
		
			
				  { label :  "审批时间" ,  prop :  "auditTime" } , 
 
		
	
		
			
				  { label :  "审批人" ,  prop :  "auditName" } , 
 
		
	
		
			
				  {   label :  "序号" ,  type :  "index"   } , 
 
		
	
		
			
				  {   label :  "报案号" ,  prop :  "reportNo"   } , 
 
		
	
		
			
				  {   label :  "审批状态" ,  prop :  "auditStatus" ,  dict :  "auditStatus"   } , 
 
		
	
		
			
				  {   label :  "审批时间" ,  prop :  "auditTime"   } , 
 
		
	
		
			
				  {   label :  "审批人" ,  prop :  "auditName"   } , 
 
		
	
		
			
				]  
		
	
		
			
				export  default  {  
		
	
		
			
				  name :  "claimAdd" , 
 
		
	
		
			
				  components :  { AiEartagPicker } , 
 
		
	
		
			
				  components :  {   AiEartagPicker   } , 
 
		
	
		
			
				  props :  { 
 
		
	
		
			
				    instance :  Function , 
 
		
	
		
			
				    permissions :  Function , 
 
		
	
	
		
			
				
					
					
						
					 
				
			
			@@ -19,7 +19,7 @@ export default {
 
		
	
		
			
				  } , 
 
		
	
		
			
				  data ( )  { 
 
		
	
		
			
				    return  { 
 
		
	
		
			
				      detail :  { detailList :  [ ] } , 
 
		
	
		
			
				      detail :  {   detailList :  [ ] ,  list :  [ ]  } , 
 
		
	
		
			
				      records 
 
		
	
		
			
				    } 
 
		
	
		
			
				  } , 
 
		
	
	
		
			
				
					
					
						
					 
				
			
			@@ -32,17 +32,17 @@ export default {
 
		
	
		
			
				    } , 
 
		
	
		
			
				    isClaim :  v  =>  v . $route . hash  ==  "#claim" , 
 
		
	
		
			
				    formImages :  v  =>  [ 
 
		
	
		
			
				      { label :  "勘察报告书" ,  prop :  "surveyPicture" ,  rules :  { required :  v . isClaim ,  message :  '请上传 勘察报告书' } } , 
 
		
	
		
			
				      { label :  "无害化回执单" ,  prop :  "receiptPicture" ,  rules :  { required :  v . isClaim ,  message :  '请上传 无害化回执单' } } , 
 
		
	
		
			
				      {   label :  "勘察报告书" ,  prop :  "surveyPicture" ,  rules :  {   required :  v . isClaim ,  message :  '请上传 勘察报告书'   }   } , 
 
		
	
		
			
				      {   label :  "无害化回执单" ,  prop :  "receiptPicture" ,  rules :  {   required :  v . isClaim ,  message :  '请上传 无害化回执单'   }   } , 
 
		
	
		
			
				    ] , 
 
		
	
		
			
				    columns :  v  =>  [ 
 
		
	
		
			
				      { label :  "序号" ,  type :  "index" } , 
 
		
	
		
			
				      { label :  "生物芯片耳标号" ,  prop :  "biochipEarNumber" } , 
 
		
	
		
			
				      { label :  "身长测量照片" ,  prop :  "heightPicture" ,  upload :  { instance :  v . instance ,  readonly :  ! v . isClaim ,  valueIsUrl :  ! 0 ,  limit :  1 } } , 
 
		
	
		
			
				      { label :  "电子耳标照片" ,  prop :  "earNumberPicture" ,  upload :  { instance :  v . instance ,  readonly :  ! v . isClaim ,  valueIsUrl :  ! 0 ,  limit :  1 } } , 
 
		
	
		
			
				      { label :  "防疫耳标照片" ,  prop :  "preventionPicture" ,  upload :  { instance :  v . instance ,  readonly :  ! v . isClaim ,  valueIsUrl :  ! 0 ,  limit :  1 } } , 
 
		
	
		
			
				      { label :  "无害化处理照片" ,  prop :  "harmlessPicture" ,  upload :  { instance :  v . instance ,  readonly :  ! v . isClaim ,  valueIsUrl :  ! 0 ,  limit :  1 } } , 
 
		
	
		
			
				      { label :  "报案号" ,  prop :  "reportNo" ,  hide :  v . isClaim } , 
 
		
	
		
			
				      {   label :  "序号" ,  type :  "index"   } , 
 
		
	
		
			
				      {   label :  "生物芯片耳标号" ,  prop :  "biochipEarNumber"   } , 
 
		
	
		
			
				      {   label :  "身长测量照片" ,  prop :  "heightPicture" ,  upload :  {   instance :  v . instance ,  readonly :  ! v . isClaim ,  valueIsUrl :  ! 0 ,  limit :  1   }   } , 
 
		
	
		
			
				      {   label :  "电子耳标照片" ,  prop :  "earNumberPicture" ,  upload :  {   instance :  v . instance ,  readonly :  ! v . isClaim ,  valueIsUrl :  ! 0 ,  limit :  1   }   } , 
 
		
	
		
			
				      {   label :  "防疫耳标照片" ,  prop :  "preventionPicture" ,  upload :  {   instance :  v . instance ,  readonly :  ! v . isClaim ,  valueIsUrl :  ! 0 ,  limit :  1   }   } , 
 
		
	
		
			
				      {   label :  "无害化处理照片" ,  prop :  "harmlessPicture" ,  upload :  {   instance :  v . instance ,  readonly :  ! v . isClaim ,  valueIsUrl :  ! 0 ,  limit :  1   }   } , 
 
		
	
		
			
				      {   label :  "报案号" ,  prop :  "reportNo" ,  hide :  v . isClaim   } , 
 
		
	
		
			
				    ] . filter ( e  =>  ! e . hide ) , 
 
		
	
		
			
				    selectedEartags :  v  =>  v . detail . list ? . length  ||  0 , 
 
		
	
		
			
				  } , 
 
		
	
	
		
			
				
					
					
						
					 
				
			
			@@ -51,17 +51,18 @@ export default {
 
		
	
		
			
				      this . $router . push ( params ) 
 
		
	
		
			
				    } , 
 
		
	
		
			
				    getDetail ( )  { 
 
		
	
		
			
				      const  { id }  =  this . $route . query 
 
		
	
		
			
				      return  id  &&  this . instance . post ( "/api/insurance/claim/apply/getInfo" ,  null ,  { params :  { orderNo :  id } } ) . then ( res  =>  { 
 
		
	
		
			
				      const  {   id   }  =  this . $route . query 
 
		
	
		
			
				      return  id  &&  this . instance . post ( "/api/insurance/claim/apply/getInfo" ,  null ,  {   params :  {   orderNo :  id   }   } ) . then ( res  =>  { 
 
		
	
		
			
				        if  ( res ? . data )  { 
 
		
	
		
			
				          const  detail  =  res . data 
 
		
	
		
			
				          return  this . detail  =  { ... detail } 
 
		
	
		
			
				          detail . detailList   =  detail . detailList  ||  [ ] 
 
		
	
		
			
				          return  this . detail  =  {  ... detail  } 
 
		
	
		
			
				        } 
 
		
	
		
			
				      } ) 
 
		
	
		
			
				    } , 
 
		
	
		
			
				    submit ( )  { 
 
		
	
		
			
				      this . $refs . detail . validate ( ) . then ( ( )  =>  { 
 
		
	
		
			
				        this . instance . post ( "/api/insurance/claim/apply/add" ,  { ... this . detail } ) . then ( res  =>  { 
 
		
	
		
			
				        this . instance . post ( "/api/insurance/claim/apply/add" ,  {   ... this . detail   } ) . then ( res  =>  { 
 
		
	
		
			
				          if  ( res ? . code  ==  '0' )  { 
 
		
	
		
			
				            this . $message . success ( "提交成功!" ) 
 
		
	
		
			
				            this . back ( ) 
 
		
	
	
		
			
				
					
					
						
					 
				
			
			@@ -82,43 +83,44 @@ export default {
 
		
	
		
			
				      < ai-card  title = "基础信息" > 
 
		
	
		
			
				        < div  class = "grid" > 
 
		
	
		
			
				          < el-form-item  label = "养殖场"  prop = "farmId" > 
 
		
	
		
			
				            < b  v-text = "detail.farmName" / >
 
		
	
		
			
				            < b  v-text = "detail.farmName"   / 
 
		
	
		
			
				          < / el-form-item > 
 
		
	
		
			
				          < el-form-item  label = "承保公司"  prop = "companyId" > 
 
		
	
		
			
				            < b  v-text = "detail.companyName" / >
 
		
	
		
			
				            < b  v-text = "detail.companyName"   / 
 
		
	
		
			
				          < / el-form-item > 
 
		
	
		
			
				          < el-form-item  label = "投保类型" > 
 
		
	
		
			
				            < ai-input  : value= "dict.getLabel('insureType',detail.insureType)"  :edit = "!1" / > 
 
		
	
		
			
				            < ai-input  : = "dict.getLabel('insureType',  detail.insureType)"  :edit = "!1"   / > 
 
		
	
		
			
				          < / el-form-item > 
 
		
	
		
			
				          < el-form-item  label = "保险产品"  prop = "productType" > 
 
		
	
		
			
				            < b  v-text = "detail.productType" / >
 
		
	
		
			
				            < b  v-text = "detail.productType"   / 
 
		
	
		
			
				          < / el-form-item > 
 
		
	
		
			
				          < el-form-item  label = "联系人" > 
 
		
	
		
			
				            < ai-input  v-model = "detail.contacts" :edit="!1" / >
 
		
	
		
			
				            < ai-input  v-model = "detail.contacts" :edit="!1"   / 
 
		
	
		
			
				          < / el-form-item > 
 
		
	
		
			
				          < el-form-item  label = "联系电话" > 
 
		
	
		
			
				            < ai-input  v-model = "detail.phone" :edit="!1" / >
 
		
	
		
			
				            < ai-input  v-model = "detail.phone" :edit="!1"   / 
 
		
	
		
			
				          < / el-form-item > 
 
		
	
		
			
				        < / div > 
 
		
	
		
			
				      < / ai-card > 
 
		
	
		
			
				      < ai-card  title = "投保对象" > 
 
		
	
		
			
				        < template  # right  v-if = "isClaim" > 
 
		
	
		
			
				          < ai -eartag -picker  @select ="v=>detail.detailList=v "   :instance = "instance" 
 
		
	
		
			
				                             :action = "`/api/insurance/claim/apply/getClaimEarNumberList?orderNo=${detail.orderNo}`" >  
		
	
		
			
				          < ai -eartag -picker  @select ="v  =>  detail.detailList = v.map(e=>({biochipEarNumber:e})) "   :instance = "instance" 
 
		
	
		
			
				            :action = "`/api/insurance/claim/apply/getClaimEarNumberList?orderNo=${detail.orderNo}`" > 
 
		
	
		
			
				            < el-button  type = "text" > 选择 < / el-button > 
 
		
	
		
			
				          < / ai-eartag-picker > 
 
		
	
		
			
				        < / template > 
 
		
	
		
			
				        < ai-highlight  class = "mar-b8 font-14"  : content = "`投保标的共${detail.insureNumber||0}只,已理赔标的共 @v 只`"  color = "red"  :value = "selectedEartags" / >  
 
		
	
		
			
				        < ai-table  :tableData = "detail.detailList"  :colConfigs = "columns"  :isShowPagination = "!1"  hideOptions / > 
 
		
	
		
			
				        < ai-highlight  class = "mar-b8 font-14"  : content = "`投保标的共${detail.insureNumber  ||  0}只,已理赔标的共 @v 只`"  color = "red" 
 
		
	
		
			
				          :value = "selectedEartags"   / > 
 
		
	
		
			
				        < ai-table  :tableData = "detail.detailList"  :colConfigs = "columns"  :isShowPagination = "!1"  hideOptions  / > 
 
		
	
		
			
				      < / ai-card > 
 
		
	
		
			
				      < ai-card  title = "理赔材料"  v-if = "isClaim" > 
 
		
	
		
			
				        < div  class = "font-12 mar-b8" > 只能上传JPG / PNG文件 , 且不超过2M , 一次最多5张 < / div > 
 
		
	
		
			
				        < el-form-item  v-for = "(img,i) in formImages" :key="i" v-bind="img" > 
 
		
	
		
			
				          < ai -uploader  v-model = "detail[img.prop]" :instance="instance" value-is-url :limit="5" / >
 
		
	
		
			
				        < el-form-item  v-for = "(img,  i) in formImages" :key="i" v-bind="img" > 
 
		
	
		
			
				          < ai -uploader  v-model = "detail[img.prop]" :instance="instance" value-is-url :limit="5"   / 
 
		
	
		
			
				        < / el-form-item > 
 
		
	
		
			
				      < / ai-card > 
 
		
	
		
			
				      < ai-card  title = "理赔记录"  v-else > 
 
		
	
		
			
				        < ai -table  :tableData = "detail.list"  :colConfigs = "records"  :isShowPagination = "!1"  hideOptions / > 
 
		
	
		
			
				        < ai -table  :tableData = "detail.list"  :colConfigs = "records"  :isShowPagination = "!1"  hideOptions   / > 
 
		
	
		
			
				      < / ai-card > 
 
		
	
		
			
				    < / el-form > 
 
		
	
		
			
				    < div  slot = "footer" >