@@ -1,17 +1,17 @@
< script >
< script >
import { mapState } from "vuex"
import { mapState } from "vuex"
import AiEartagPicker from "@project/xumu/components/AiEartagPicker.vue" ;
import AiEartagPicker from "@project/xumu/components/AiEartagPicker.vue" ;
const records = [
const records = [
{ label : "序号" , type : "index" } ,
{ label : "序号" , type : "index" } ,
{ label : "解押凭证号" , prop : "releaseNo" } ,
{ label : "解押凭证号" , prop : "releaseNo" } ,
{ label : "审批状态" , prop : "auditStatus" , dict : "auditStatus" } ,
{ label : "审批状态" , prop : "auditStatus" , dict : "auditStatus" } ,
{ label : "审批时间" , prop : "auditTime" } ,
{ label : "审批时间" , prop : "auditTime" } ,
{ label : "审批人" , prop : "auditName" } ,
{ label : "审批人" , prop : "auditName" } ,
]
]
export default {
export default {
name : "sellAdd" ,
name : "sellAdd" ,
components : { AiEartagPicker } ,
components : { AiEartagPicker } ,
props : {
props : {
instance : Function ,
instance : Function ,
permissions : Function ,
permissions : Function ,
@@ -19,7 +19,7 @@ export default {
} ,
} ,
data ( ) {
data ( ) {
return {
return {
detail : { detailList : [ ] } ,
detail : { detailList : [ ] } ,
records
records
}
}
} ,
} ,
@@ -32,15 +32,15 @@ export default {
} ,
} ,
isEdit : v => v . $route . hash == "#edit" ,
isEdit : v => v . $route . hash == "#edit" ,
formImages : v => [
formImages : v => [
{ label : "合同/协议" , prop : "contractPicture" , rules : { required : v . isEdit , message : '请上传 合同/协议' } } ,
{ label : "合同/协议" , prop : "contractPicture" , rules : { required : v . isEdit , message : '请上传 合同/协议' } } ,
] ,
] ,
columns : v => [
columns : v => [
{ label : "序号" , type : "index" } ,
{ label : "序号" , type : "index" } ,
{ label : "生物芯片耳标号" , prop : "biochipEarNumber" } ,
{ label : "生物芯片耳标号" , prop : "biochipEarNumber" } ,
{ label : "身长测量照片" , prop : "heightPicture" , upload : { instance : v . instance , readonly : ! v . isEdit , valueIsUrl : ! 0 , limit : 1 } } ,
{ label : "身长测量照片" , prop : "heightPicture" , upload : { instance : v . instance , readonly : ! v . isEdit , valueIsUrl : ! 0 , limit : 1 } } ,
{ label : "电子耳标照片" , prop : "earNumberPicture" , upload : { instance : v . instance , readonly : ! v . isEdit , valueIsUrl : ! 0 , limit : 1 } } ,
{ label : "电子耳标照片" , prop : "earNumberPicture" , upload : { instance : v . instance , readonly : ! v . isEdit , valueIsUrl : ! 0 , limit : 1 } } ,
{ label : "防疫耳标照片" , prop : "preventionPicture" , upload : { instance : v . instance , readonly : ! v . isEdit , valueIsUrl : ! 0 , limit : 1 } } ,
{ label : "防疫耳标照片" , prop : "preventionPicture" , upload : { instance : v . instance , readonly : ! v . isEdit , valueIsUrl : ! 0 , limit : 1 } } ,
{ label : "解押办结凭证号" , prop : "releaseNo" , hide : v . isEdit } ,
{ label : "解押办结凭证号" , prop : "releaseNo" , hide : v . isEdit } ,
] . filter ( e => ! e . hide ) ,
] . filter ( e => ! e . hide ) ,
selectedEartags : v => v . detail . list ? . length || 0 ,
selectedEartags : v => v . detail . list ? . length || 0 ,
} ,
} ,
@@ -49,19 +49,20 @@ export default {
this . $router . push ( params )
this . $router . push ( params )
} ,
} ,
getDetail ( ) {
getDetail ( ) {
const { id } = this . $route . query
const { id } = this . $route . query
return id && this . instance . post ( "/api/sell/apply/getInfo" , null , { params : { contractNo : id } } ) . then ( res => {
return id && this . instance . post ( "/api/sell/apply/getInfo" , null , { params : { contractNo : id } } ) . then ( res => {
if ( res ? . data ) {
if ( res ? . data ) {
const detail = res . data
const detail = res . data
detail . detailList = detail . detailList || [ ]
detail . detailList = detail . detailList || [ ]
detail . list = detail . list || [ ]
detail . list = detail . list || [ ]
return this . detail = { ... detail }
return this . detail = { ... detail }
}
}
} )
} )
} ,
} ,
submit ( ) {
submit ( ) {
this . $refs . detail . validate ( ) . then ( ( ) => {
this . $refs . detail . validate ( ) . then ( ( ) => {
this . instance . post ( "/api/sell/apply/add" , { ... this . detail } ) . then ( res => {
const earNumberList = this . detail . detailList . map ( e => e . biochipEarNumber )
this . instance . post ( "/api/sell/apply/add" , { ... this . detail , earNumberList } ) . then ( res => {
if ( res ? . code == '0' ) {
if ( res ? . code == '0' ) {
this . $message . success ( "提交成功!" )
this . $message . success ( "提交成功!" )
this . back ( )
this . back ( )
@@ -81,44 +82,45 @@ export default {
< el-form size = "small" label -width = " 120px " :model = "detail" ref = "detail" >
< el-form size = "small" label -width = " 120px " :model = "detail" ref = "detail" >
< ai-card title = "基础信息" >
< ai-card title = "基础信息" >
< div class = "grid" >
< div class = "grid" >
< el-form-item label = "养殖场" prop = "farmId" : rules = "{message:'请选择 养殖场'}" >
< el-form-item label = "养殖场" prop = "farmId" : rules = "{ message: '请选择 养殖场' }" >
< b v-text = "detail.farmName" / >
< b v-text = "detail.farmName" / >
< / el-form-item >
< / el-form-item >
< el-form-item label = "贷款银行" prop = "bankId" : rules = "{message:'请选择 贷款银行'}" >
< el-form-item label = "贷款银行" prop = "bankId" : rules = "{ message: '请选择 贷款银行' }" >
< b v-text = "detail.bankName" / >
< b v-text = "detail.bankName" / >
< / el-form-item >
< / el-form-item >
< el-form-item label = "贷款产品" prop = "productType" : rules = "{message:'请选择 贷款产品'}" >
< el-form-item label = "贷款产品" prop = "productType" : rules = "{ message: '请选择 贷款产品' }" >
< b v-text = "dict.getLabel('loanProduct',detail.productType)" / >
< b v-text = "dict.getLabel('loanProduct', detail.productType)" / >
< / el-form-item >
< / el-form-item >
< el-form-item label = "贷款金额(万)" prop = "loanAmount" : rules = "{message:'请输入 预期贷款额'}" >
< el-form-item label = "贷款金额(万)" prop = "loanAmount" >
< ai-input v -model .number = " detail.loanAmount " :edit = "!1" / >
< ai-input v -model .number = " detail.loanAmount " :edit = "!1" / >
< / el-form-item >
< / el-form-item >
< el-form-item label = "联系人" prop = "contacts" : rules = "{message:'请输入 联系人'}" >
< el-form-item label = "联系人" prop = "contacts" : rules = "{ message: '请输入 联系人' }" >
< ai-input v-model = "detail.contacts" :edit="!1" / >
< ai-input v-model = "detail.contacts" :edit="!1" / >
< / el-form-item >
< / el-form-item >
< el-form-item label = "联系电话" prop = "phone" : rules = "{message:'请输入 联系电话'}" >
< el-form-item label = "联系电话" prop = "phone" : rules = "{ message: '请输入 联系电话' }" >
< ai-input v-model = "detail.phone" :edit="!1" / >
< ai-input v-model = "detail.phone" :edit="!1" / >
< / el-form-item >
< / el-form-item >
< / div >
< / div >
< / ai-card >
< / ai-card >
< ai-card title = "标的信息" >
< ai-card title = "标的信息" >
< template # right v-if = "isEdit" >
< template # right v-if = "isEdit" >
< ai -eartag -picker @select ="v=>detail.detailList=v " :instance = "instance"
< ai -eartag -picker @select ="v => detail.detailList = v.map(e=>({biochipEarNumber:e})) " :instance = "instance"
:action = "`/api/sell/apply/getClaimEarNumberList?contractNo=${detail.contractNo}`" >
:action = "`/api/sell/apply/getClaimEarNumberList?contractNo=${detail.contractNo}`" >
< el-button type = "text" > 选择 < / el-button >
< el-button type = "text" > 选择 < / el-button >
< / ai-eartag-picker >
< / ai-eartag-picker >
< / template >
< / template >
< ai-highlight class = "mar-b8 font-14" : content = "`投保标的共${detail.insureNumber||0}只,已理赔标的共 @v 只`" color = "red" :value = "selectedEartags" / >
< ai-highlight class = "mar-b8 font-14" : content = "`投保标的共${detail.insureNumber || 0}只,已理赔标的共 @v 只`" color = "red"
< ai-table :tableData = "detail.detailList" :colConfigs = "columns" :isShowPagination = "!1" hideOptions / >
:value = "selectedEartags" / >
< ai-table :tableData = "detail.detailList" :colConfigs = "columns" :isShowPagination = "!1" hideOptions / >
< / ai-card >
< / ai-card >
< ai-card title = "解押材料" v-if = "isEdit" >
< ai-card title = "解押材料" v-if = "isEdit" >
< div class = "font-12 mar-b8" > 只能上传JPG / PNG文件 , 且不超过2M , 一次最多5张 < / div >
< 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" >
< 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" / >
< ai -uploader v-model = "detail[img.prop]" :instance="instance" value-is-url :limit="5" / >
< / el-form-item >
< / el-form-item >
< / ai-card >
< / ai-card >
< ai-card title = "出栏解押记录" v-else >
< 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 >
< / ai-card >
< / el-form >
< / el-form >
< div slot = "footer" >
< div slot = "footer" >