You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1038 lines
32 KiB
1038 lines
32 KiB
<template> |
|
<view class="evan-form-show"> |
|
<view class="bottom-border"> |
|
<view class="left-border"><text class="mgl10">项目信息</text></view> |
|
</view> |
|
<uni-forms :value="formData" ref="form" validate-trigger="bind" err-show-type="toast"> |
|
<uni-forms-item name="code" :label="fromData[0]&&fromData[0].name?fromData[0].name:'客户编号'"> |
|
<uni-easyinput disabled="" type="text" :inputBorder="true" v-model="WorkDepartmentFrom.code" :placeholder="fromData[0]&&fromData[0].prompt?fromData[0].prompt:'请输入'"></uni-easyinput> |
|
</uni-forms-item> |
|
<uni-forms-item name="name" :label="fromData[1]&&fromData[1].name?fromData[1].name:'客户名称'"> |
|
<uni-easyinput disabled type="text" :inputBorder="true" v-model="WorkDepartmentFrom.name" :placeholder="fromData[1]&&fromData[1].prompt?fromData[1].prompt:'客户名称'"></uni-easyinput> |
|
</uni-forms-item> |
|
<uni-forms-item name="time" :label="fromData[7]&&fromData[7].name?fromData[7].name:'法人代表'"> |
|
<uni-easyinput disabled type="text" :inputBorder="true" v-model="WorkDepartmentFrom.legalName" :placeholder="fromData[7]&&fromData[7].prompt?fromData[7].prompt:'请输入'"></uni-easyinput> |
|
</uni-forms-item> |
|
<uni-forms-item name="phone" :label="fromData[2]&&fromData[2].name?fromData[2].name:'联系电话'"> |
|
<uni-easyinput disabled type="text" :inputBorder="true" v-model="WorkDepartmentFrom.legalPhone" :placeholder="fromData[2]&&fromData[2].prompt?fromData[2].prompt:'联系电话'"></uni-easyinput> |
|
</uni-forms-item> |
|
<uni-forms-item name="time" :label="fromData[8]&&fromData[8].name?fromData[8].name:'联系人'"> |
|
<uni-easyinput disabled type="text" :inputBorder="true" v-model="WorkDepartmentFrom.linkman" :placeholder="fromData[8]&&fromData[8].prompt?fromData[8].prompt:'请输入'"></uni-easyinput> |
|
</uni-forms-item> |
|
<uni-forms-item name="phone" :label="fromData[4]&&fromData[4].name?fromData[4].name:'联系电话'"> |
|
<uni-easyinput disabled type="text" :inputBorder="true" v-model="WorkDepartmentFrom.linkPhone" :placeholder="fromData[4]&&fromData[4].prompt?fromData[4].prompt:'联系电话'"></uni-easyinput> |
|
</uni-forms-item> |
|
<uni-forms-item name="phone" :label="fromData[5]&&fromData[5].name?fromData[5].name:'申请额度'"> |
|
<uni-easyinput disabled type="text" :inputBorder="true" v-model="WorkDepartmentFrom.applyAmount" :placeholder="fromData[5]&&fromData[5].prompt?fromData[5].prompt:'请输入'"></uni-easyinput> |
|
</uni-forms-item> |
|
<uni-forms-item name="phone" :label="fromData[3]&&fromData[3].name?fromData[3].name:'业务类别'"> |
|
<uni-easyinput disabled type="text" :inputBorder="true" v-model="WorkDepartmentFrom.amountWide" :placeholder="fromData[3]&&fromData[3].prompt?fromData[3].prompt:'业务类别'"></uni-easyinput> |
|
</uni-forms-item> |
|
<uni-forms-item class="margin-top" name="phone" required :label="fromData[9]&&fromData[9].name?fromData[9].name:'参会评委'"> |
|
<uni-easyinput disabled type="textarea" v-model="juryNames" :placeholder="fromData[9]&&fromData[9].prompt?fromData[9].prompt:'参会评委'"></uni-easyinput> |
|
</uni-forms-item> |
|
<uni-forms-item name="enGuaranteeMeasures" :label="fromData[6]&&fromData[6].name?fromData[6].name:'反担保措施'"> |
|
<uni-data-checkbox multiple mode="list" v-model="WorkDepartmentFrom.enGuaranteeMeasure" :localdata="easuresList"></uni-data-checkbox> |
|
</uni-forms-item> |
|
<uni-forms-item name="name" label="反担保措施描述"> |
|
<uni-easyinput disabled type="textarea" v-model="WorkDepartmentFrom.description" :placeholder="fromData[6]&&fromData[6].prompt?fromData[6].prompt:'反担保措施描述'"></uni-easyinput> |
|
</uni-forms-item> |
|
|
|
<uni-forms-item name="name" :label="fromData[10]&&fromData[10].name?fromData[10].name:'担保部A角审核意见'"> |
|
<view class="audit-box radius"> |
|
<text>{{WorkDepartmentFrom.aauditOpinion||''}}</text> |
|
<view class="mgt20"> |
|
<view class="flex"> |
|
<text>姓名:</text> |
|
<text class="mgl10">{{WorkDepartmentFrom.aname}}</text> |
|
</view> |
|
<view class="flex mgt20"> |
|
<text>时间:</text> |
|
<text class="mgl10">{{WorkDepartmentFrom.aTime}}</text> |
|
</view> |
|
</view> |
|
</view> |
|
</uni-forms-item> |
|
<uni-forms-item name="name" :label="fromData[11]&&fromData[11].name?fromData[11].name:'担保部B角审核意见'"> |
|
<view class="audit-box radius"> |
|
<text>{{WorkDepartmentFrom.bauditOpinion||''}}</text> |
|
<view class="mgt20"> |
|
<view class="flex"> |
|
<text>姓名:</text> |
|
<text class="mgl10">{{WorkDepartmentFrom.bname}}</text> |
|
</view> |
|
<view class="flex mgt20"> |
|
<text>时间:</text> |
|
<text class="mgl10">{{WorkDepartmentFrom.bTime}}</text> |
|
</view> |
|
</view> |
|
</view> |
|
</uni-forms-item> |
|
<uni-forms-item name="name" :label="fromData[12]&&fromData[12].name?fromData[12].name:'资产管理部审核意见'"> |
|
<view class="audit-box radius"> |
|
<text>{{WorkDepartmentFrom.assetAuditOpinion||''}}</text> |
|
<view class="mgt20"> |
|
<view class="flex"> |
|
<text>姓名:</text> |
|
<text class="mgl10">{{WorkDepartmentFrom.assetName}}</text> |
|
</view> |
|
<view class="flex mgt20"> |
|
<text>时间:</text> |
|
<text class="mgl10">{{WorkDepartmentFrom.assetTime}}</text> |
|
</view> |
|
</view> |
|
</view> |
|
</uni-forms-item> |
|
<uni-forms-item name="name" :label="fromData[13]&&fromData[13].name?fromData[13].name:'信息服务部审核意见'"> |
|
<view class="audit-box radius"> |
|
<text>{{WorkDepartmentFrom.messageAuditOpinion||''}}</text> |
|
<view class="mgt20"> |
|
<view class="flex"> |
|
<text>姓名:</text> |
|
<text class="mgl10">{{WorkDepartmentFrom.messageName}}</text> |
|
</view> |
|
<view class="flex mgt20"> |
|
<text>时间:</text> |
|
<text class="mgl10">{{WorkDepartmentFrom.messageTime}}</text> |
|
</view> |
|
</view> |
|
</view> |
|
</uni-forms-item> |
|
<uni-forms-item name="name" :label="fromData[14]&&fromData[14].name?fromData[14].name:'法规监督部审核意见'"> |
|
<view class="audit-box radius"> |
|
<text>{{WorkDepartmentFrom.regulationAuditOpinion||''}}</text> |
|
<view class="mgt20"> |
|
<view class="flex"> |
|
<text>姓名:</text> |
|
<text class="mgl10">{{WorkDepartmentFrom.regulationName}}</text> |
|
</view> |
|
<view class="flex mgt20"> |
|
<text>时间:</text> |
|
<text class="mgl10">{{WorkDepartmentFrom.regulationTime}}</text> |
|
</view> |
|
</view> |
|
</view> |
|
</uni-forms-item> |
|
</uni-forms> |
|
|
|
<view class="bottom-border"> |
|
<view class="left-border"><text class="mgl10">审核</text></view> |
|
</view> |
|
|
|
<uni-forms :value="formData" ref="form" validate-trigger="bind" err-show-type="toast"> |
|
<uni-forms-item name="name" required label="贷审会议定事项"> |
|
<uni-easyinput :disabled="handle=='watch'" type="textarea" v-model="loansAuditFrom.agreedItems" placeholder="议定事项"></uni-easyinput> |
|
</uni-forms-item> |
|
<uni-forms-item name="name" required label="贷审会附加事项"> |
|
<uni-easyinput :disabled="handle=='watch'" type="textarea" v-model="loansAuditFrom.additionalItems" placeholder="附加事项"></uni-easyinput> |
|
</uni-forms-item> |
|
<uni-forms-item name="name" required label="贷审会意见"> |
|
<view class="audit-box radius "> |
|
<text style="display: inline;">为了控制公司担保集中代偿的风险,以及公司担保贷款转换的需要,同意该笔</text> |
|
<!-- <input class="wd10" type="text" v-model="loansAuditFrom.loanMoney" /> --> |
|
<uni-easyinput :disabled="handle=='watch'" class="small-input" type="digit" :inputBorder="true" v-model="loansAuditFrom.loanMoney" placeholder="金额"></uni-easyinput> |
|
<text style="display: inline;">万元贷款担保,期限</text> |
|
<picker :disabled="handle=='watch'" class="small-checkbox" mode="selector" :range="timelimitDatas" range-key="label" :value="loansAuditFrom.loanTern" @change="loansTime" @cancel="applyTimeCencle"> |
|
<view class="picker-view flex-between" :style="handle=='watch'?'background-color:#eee':''"> |
|
<text>{{loansAuditFrom.loanTern ? loansAuditFrom.loanTern : '期限'}}</text> |
|
<text class="cuIcon-unfold lg text-gray"></text> |
|
</view> |
|
</picker> |
|
</view> |
|
</uni-forms-item> |
|
<uni-forms-item name="name" required label="贷审会日期"> |
|
<picker v-if="handle!=='watch'" mode="date" :value="loansAuditFrom.passingTime" @change="relatedtimeChange"> |
|
<view class="picker-view flex-between"> |
|
<text>{{loansAuditFrom.passingTime ? loansAuditFrom.passingTime : '请选择'}}</text> |
|
<text class="cuIcon-unfold lg text-gray"></text> |
|
</view> |
|
</picker> |
|
<uni-easyinput v-if="handle=='watch'" disabled type="text" :inputBorder="true" v-model="loansAuditFrom.passingTime" placeholder="请输入"></uni-easyinput> |
|
</uni-forms-item> |
|
<uni-forms-item name="name" required label="参会委员意见"> |
|
<text class="jury-text">同意</text> |
|
<view class="check-jury margin-tb-sm"> |
|
<view class="more-select" @tap="handle!='watch'?pass = true:pass = false"> |
|
<text class="" >{{passInfo || "请选择同意的委员"}}</text> |
|
</view> |
|
</view> |
|
<text class="jury-text margin-top">拒绝</text> |
|
<view class="check-jury margin-tb-sm"> |
|
<view class="more-select" @tap="handle!='watch'? nopass = true : nopass = false"> |
|
<text class="" >{{nopassInfo || "请选择拒绝的委员"}}</text> |
|
</view> |
|
</view> |
|
</uni-forms-item> |
|
<!-- 上传会议纪要 --> |
|
<view class="cu-bar bg-white"> |
|
<view class="action"> |
|
<text class="is-required">*</text> |
|
<text class="label-color">上传会议纪要</text> |
|
</view> |
|
</view> |
|
<view class="cu-form-group"> |
|
<upload @upload="uploadFile" :files="filesArray" :handle="handle!=='watch'"></upload> |
|
</view> |
|
</uni-forms> |
|
<view class="bottom-border" v-if="handle==='audit'||handle=='watch'&&roleManage||handle=='watch'&&roleLeader"> |
|
<view class="left-border"><text class="mgl10">审核意见</text></view> |
|
<uni-easyinput type="textarea" v-model="loansAuditFrom.refuseOpinion" placeholder="请输入审核意见"></uni-easyinput> |
|
</view> |
|
<view class="foot-btn btn-rig pad-bt"> |
|
<button plain class="mini-btn round plain-btn" type="primary" size="mini" @tap="back()">返回</button> |
|
<!-- 领导 --> |
|
<button v-if="handle==='audit'" class="mini-btn round suc-btn mar-lr" type="primary" size="mini" @tap="loansAudit(1)">同意</button> |
|
<button v-if="handle==='audit'" class="mini-btn round ref-btn mar-lr" type="primary" size="mini" @tap="loansAudit(3)">拒绝</button> |
|
<button v-if="handle==='audit'" class="mini-btn round cancel-btn mar-lr" type="primary" size="mini" @tap="loansAudit(2)">驳回</button> |
|
</view> |
|
|
|
<timeline></timeline> |
|
<!-- 参会委员同意调起下方选择框 --> |
|
<multiple-select |
|
v-model="pass" |
|
:data="passDatas" |
|
:default-selected="passSelected" |
|
@confirm="passJury()" |
|
></multiple-select> |
|
<!-- 参会委员拒绝 --> |
|
|
|
<multiple-select |
|
v-model="nopass" |
|
:data="noPassDatas" |
|
:default-selected="nopassSelected" |
|
@confirm="nopassJury()" |
|
></multiple-select> |
|
</view> |
|
</template> |
|
|
|
<script> |
|
import upload from '../../../components/pretty-uploadFile/pretty-uploadFile.vue' |
|
import utils from '@/components/evan-form/utils.js' |
|
const CONTACT_INFO={ |
|
name:'', |
|
phone:'', |
|
duty:'' |
|
} |
|
export default { |
|
components: { |
|
upload |
|
}, |
|
data() { |
|
return { |
|
EvaluationList: [{ |
|
text: '房产', |
|
value: '0', |
|
InputValue: '' |
|
}, |
|
{ |
|
text: '车辆', |
|
value: '1', |
|
InputValue: '' |
|
}, |
|
{ |
|
text: '设备', |
|
value: '2', |
|
InputValue: '' |
|
}, |
|
{ |
|
text: '其他', |
|
value: '3', |
|
InputValue: '' |
|
}],//评估价值列表 |
|
employeeMsg: [{ |
|
name: '个人', |
|
value: '3' |
|
}, |
|
{ |
|
name: '企业', |
|
value: '4' |
|
}],//客户经理列表 |
|
genderList: [{ |
|
text: '男', |
|
value: 1 |
|
}, |
|
{ |
|
text: '女', |
|
value: 0 |
|
}],//性别列表 |
|
easuresList: [{ |
|
text: '第三方保证', |
|
value: '第三方保证', |
|
disabled:true |
|
}, |
|
{ |
|
text: '抵押', |
|
value: '抵押', |
|
disabled:true |
|
}, |
|
{ |
|
text: '个人无限责任连带', |
|
value: '个人无限责任连带', |
|
disabled:true |
|
}, |
|
{ |
|
text: '质押', |
|
value: '质押', |
|
disabled:true |
|
}], |
|
imgList: [], |
|
maritalList: ['未婚','已婚','离异','再婚'],//婚姻状况列表 |
|
educationList: ['本科','大专','高职','中专','其他'],//学历列表 |
|
isExistList: [{ |
|
text: '否', |
|
value: 0 |
|
}, |
|
{ |
|
text: '是', |
|
value: 1 |
|
}],//是否存在关联人列表 |
|
manager: '', |
|
enterpriseFrom: { |
|
maritalStatus: 0,//婚姻状况 |
|
gender: 1,//性别 |
|
education: 0, //学历 |
|
legalGender: 1, //关联人性别 |
|
isExistRelated: 0, //是否存在关联人 |
|
enGuaranteeMeasures: '' |
|
},//个人form |
|
enterpriseForm: {},//企业form |
|
hideRequiredAsterisk: false, |
|
// 表单的内容必须初始化 |
|
info: { |
|
name: '', |
|
email: '', |
|
desc: '', |
|
phone: '', |
|
sex: '', |
|
}, |
|
rules: {}, |
|
info2:{ |
|
name:'', |
|
email:'', |
|
phone:'' |
|
}, |
|
rules2:{}, |
|
dynamicInfo:{ |
|
test1:'', |
|
test2:'', |
|
list:[{...CONTACT_INFO}] |
|
}, |
|
dynamicRules:{ |
|
test1:[{required:true,message:'请输入rule规则字段'},{min:4,max:8,message:'必须4-8位'}] |
|
}, |
|
showRuleParam:true, |
|
showRequiredParam:true, |
|
mobileRules:[{required:true,message:'请输入手机号'},{pattern:'^1\\d{10}$',message:'手机号格式不正确'}], // 注意这里由于小程序的缘故正则表达式需要通过string的方式传递并且去除两边的斜杠,中间的斜杠变成两个斜杠 |
|
timelimitDatas:[ // 多选框选项 |
|
{ value: '1个月', label: '1个月' }, |
|
{ value: '3个月', label: '3个月' }, |
|
{ value: '6个月', label: '6个月' }, |
|
{ value: '9个月', label: '9个月' }, |
|
{ value: '12个月', label: '12个月' }, |
|
{ value: '24个月', label: '24个月' }, |
|
], |
|
// 展示表单 |
|
WorkDepartmentFrom:{ |
|
enGuaranteeMeasure:[], |
|
}, |
|
|
|
pass:false,// 触发选择委员 |
|
nopass:false,// 触发选择委员 |
|
|
|
nopassInfo:'',// 贷审会意见--拒绝委员 |
|
passInfo:'',// 同意委员 |
|
|
|
juryArrs:[],// 备份委员---还原选项组的委员 |
|
|
|
passDatas:[],// 同意选项组 |
|
noPassDatas:[],// 拒绝选项组 |
|
|
|
loansAuditFrom:{ |
|
passingTime:'' |
|
},// 贷审会审议表单 |
|
|
|
handle:'',// 操作状态 |
|
getItem:{},// 获取列表传值 |
|
|
|
passSelected:[],// 委员通过勾选项---用于审议选择是否同意的委员,进行组件的双向绑定勾选 |
|
nopassSelected:[],// 委员拒绝项 |
|
|
|
juryNames:"",// 展示评委名称 |
|
|
|
filesArray:[], |
|
|
|
fromData:[],// 表单值 |
|
|
|
} |
|
}, |
|
destroyed() {// 销毁组件操作 |
|
uni.removeStorageSync('handleGe') |
|
uni.removeStorageSync('applyMsg') |
|
uni.removeStorageSync('copyData') |
|
}, |
|
async created() { |
|
// 判断来自待处理否 |
|
if(uni.getStorageSync('decideIndex')){ |
|
let data = JSON.parse(uni.getStorageSync('decideIndex')) |
|
this.getItem.iid = data.detailId |
|
this.handle = 'audit' |
|
uni.removeStorageSync('decideIndex') |
|
}else if(uni.getStorageSync('copyData')){ |
|
let data =JSON.parse(uni.getStorageSync('copyData')) |
|
this.handle = 'watch' |
|
this.getItem.id = data.detailId |
|
this.getItem.businessId = data.businessId |
|
}else{ |
|
this.handle = uni.getStorageSync('handleGe')// 取得操作状态 |
|
if(uni.getStorageSync('applyMsg')){ // 取得传参,取得ID等 |
|
this.getItem = JSON.parse(uni.getStorageSync('applyMsg')) |
|
this.businessId = this.getItem.businessId |
|
} |
|
} |
|
// 判断操作禁用 |
|
if(this.handle==='survey'){// 处于调查时 |
|
|
|
}else{// 非调查时 |
|
this.loansJudge(this.getItem.id) |
|
} |
|
// 基础信息 |
|
await this.workOpinion() |
|
// 贷审会信息 |
|
this.loansDetail() |
|
this.designFrom() |
|
}, |
|
mounted() { |
|
// 这里必须放在mounted中,不然h5,支付宝小程序等会找不到this.$refs.form |
|
this.$refs.form.setRules(this.rules) |
|
}, |
|
methods: { |
|
designFrom(){// 表单数据接口 |
|
this.$http.get('/api-guarantee/form/design/list',{ |
|
processId: 7 |
|
}).then(res=>{ |
|
if(!res.data||res.data.length==0) return |
|
this.fromData = res.data |
|
this.fromData.sort(this.compare('id'))// 排序对象 |
|
}) |
|
}, |
|
compare(key){ // 用于对象数组排序 |
|
return function(value1,value2){ |
|
let val1=value1[key]; |
|
let val2=value2[key]; |
|
return val1-val2; |
|
} |
|
}, |
|
relatedtimeChange(e) { |
|
this.loansAuditFrom.passingTime = e.detail.value |
|
}, |
|
// 选择委员赋值 |
|
passJury(data) { |
|
let arr = data.map(e=>{ |
|
return e.value |
|
}) |
|
// 重新赋值拒绝的值,然后把已选中的重新勾选? |
|
|
|
// 1,根据已有的同意的值---去删除 拒绝的选项 |
|
// 2,删除拒绝前,需要重新赋值拒绝的值(因为可能会有取消同意) |
|
// 3,执行删除操作后,把已有的值重新勾选 |
|
|
|
// 4,首次删除已有的值---成功去掉了对面的值 |
|
// 5,反过来删除时:需要先赋值,然后删除己方的值,然后给对面勾选他已选中的值 |
|
this.noPassDatas = JSON.parse(JSON.stringify(this.juryArrs)) |
|
let len = data.length |
|
// 根据选中的同意,删除对应的拒绝选项 |
|
for(let i=0;i<len;i++){ |
|
// 此时的nopass是全部的值,定位的下标失去准确度 |
|
let num = this.noPassDatas.findIndex((e)=>{return e.value == data[i].value}) |
|
if(num!==-1){ |
|
this.noPassDatas.splice(num,1) |
|
} |
|
} |
|
// 记录当前被勾选中的值 |
|
this.passSelected = data.map(e=>e.value) |
|
this.passInfo = arr.join(",") |
|
}, |
|
// 首先:选中的值--删除对应的同意值选项 |
|
|
|
// 拒绝委员赋值 |
|
nopassJury(data) { |
|
let arr = data.map(e=>{ |
|
return e.value |
|
}) |
|
// 重新赋值同意的选项 |
|
this.passDatas = JSON.parse(JSON.stringify(this.juryArrs)) |
|
let len = data.length |
|
// 选中的拒绝--删除对应的同意 |
|
// |
|
for(let i=0;i<len;i++){ |
|
let num = this.passDatas.findIndex((e)=>{return e.value == data[i].value}) |
|
if(num!==-1){ |
|
this.passDatas.splice(num,1) |
|
} |
|
} |
|
|
|
this.nopassSelected = data.map(e=>e.value) |
|
|
|
this.nopassInfo = arr.join(",") |
|
}, |
|
loansTime(e){// 贷审会意见--期限选择赋值 |
|
this.$set(this.loansAuditFrom,'loanTern',this.timelimitDatas[+e.detail.value].value) |
|
}, |
|
applyTimeCencle(e){// 申请期限取消赋值 |
|
this.$set(this.loansAuditFrom,'loanTern','') |
|
}, |
|
//客户类型选择 |
|
cusChange(e) { |
|
this.cusType = e.detail.value |
|
}, |
|
//性别选择 |
|
genderChange(e) { |
|
this.personageForm.gender = e.detail.value |
|
}, |
|
//婚姻状况选择 |
|
maritalChange(e) { |
|
this.personageForm.maritalStatus = e.detail.value |
|
}, |
|
//学历选择 |
|
educationChange(e) { |
|
this.personageForm.education = e.detail.value |
|
}, |
|
//关联人性别选择 |
|
legalGenderChange(e) { |
|
this.personageForm.legalGender = e.detail.value |
|
}, |
|
isExistChange(e) { |
|
this.personageForm.isExistRelated = e.detail.value |
|
}, |
|
bindPickerChange: function(e) { |
|
// this.cusType = e.target.value |
|
}, |
|
save() { |
|
this.$refs.form.validate((res) => { |
|
if (res) { |
|
uni.showToast({ |
|
title: '验证通过' |
|
}) |
|
} |
|
}) |
|
}, |
|
promiseSave(){ |
|
this.$refs.form.validate().then((res)=>{ |
|
uni.showToast({ |
|
title: '验证通过' |
|
}) |
|
}).catch(()=>{ |
|
}) |
|
}, |
|
async asyncSave(){ |
|
try{ |
|
const result=await this.$refs.form.validate() |
|
if(result){ |
|
uni.showToast({ |
|
title: '验证通过' |
|
}) |
|
} |
|
} catch(e){ |
|
} |
|
}, |
|
saveForm2(){ |
|
this.$refs.form2.validate((res) => { |
|
if (res) { |
|
uni.showToast({ |
|
title: '验证通过' |
|
}) |
|
} |
|
}) |
|
}, |
|
utilsSave() { |
|
utils.validate(this.info, this.rules, (res, errors) => { |
|
if (res) { |
|
uni.showToast({ |
|
title: '验证通过' |
|
}) |
|
} |
|
}) |
|
}, |
|
validateSingle() { |
|
this.$refs.form.validateField('email', (res) => { |
|
if (res) { |
|
uni.showToast({ |
|
title: '验证通过' |
|
}) |
|
} |
|
}) |
|
}, |
|
validateMultiple() { |
|
this.$refs.form.validateField(['email', 'phone'], (res) => { |
|
if (res) { |
|
uni.showToast({ |
|
title: '验证通过' |
|
}) |
|
} |
|
}) |
|
}, |
|
isMobilePhone() { |
|
const reg = /^1\d{10}$/ |
|
if (reg.test(value)) { |
|
return true |
|
} |
|
return false |
|
}, |
|
isMobile(rule, value, callback) { |
|
if (this.$utils.isMobilePhone(value)) { |
|
callback() |
|
} else { |
|
callback(new Error('手机号格式不正确')) |
|
} |
|
}, |
|
sexChange(e) { |
|
this.info.sex = e.detail.value |
|
}, |
|
addContact(){ |
|
this.dynamicInfo.list.push({...CONTACT_INFO}) |
|
}, |
|
deleteContact(index){ |
|
this.dynamicInfo.list.splice(index,1) |
|
}, |
|
toggleRuleParam(){ |
|
this.showRuleParam=!this.showRuleParam |
|
}, |
|
toggleRequiredParam(){ |
|
this.showRequiredParam=!this.showRequiredParam |
|
}, |
|
dynamicSave(){ |
|
this.$refs.dynamicForm.validate((res)=>{ |
|
if(res){ |
|
uni.showToast({ |
|
title: '验证通过' |
|
}) |
|
} |
|
}) |
|
}, |
|
ViewImage(e) { |
|
uni.previewImage({ |
|
urls: this.imgList, |
|
current: e.currentTarget.dataset.url |
|
}); |
|
}, |
|
DelImg(e) { |
|
uni.showModal({ |
|
title: '提示', |
|
content: '确定要删除该文件吗?', |
|
cancelText: '取消', |
|
confirmText: '确定', |
|
success: res => { |
|
if (res.confirm) { |
|
this.imgList.splice(e.currentTarget.dataset.index, 1) |
|
} |
|
} |
|
}) |
|
}, |
|
ChooseImage() { |
|
uni.chooseImage({ |
|
count: 4, //默认9 |
|
sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有 |
|
sourceType: ['album'], //从相册选择 |
|
success: (res) => { |
|
if (this.imgList.length != 0) { |
|
this.imgList = this.imgList.concat(res.tempFilePaths) |
|
} else { |
|
this.imgList = res.tempFilePaths |
|
} |
|
} |
|
}); |
|
}, |
|
// 贷审会-查看 |
|
loansDetail(id){ |
|
this.$http.get('/api-guarantee/committee/consider/query',{id:this.getItem.id}).then(res=>{ |
|
let data = res.data |
|
// 查看时才进行复制 |
|
if(this.handle!=='audit'){ |
|
this.$set(this.loansAuditFrom,'agreedItems',data.agreedItems) |
|
this.$set(this.loansAuditFrom,'additionalItems',data.additionalItems) |
|
this.$set(this.loansAuditFrom,'loanMoney',data.loanMoney) |
|
this.$set(this.loansAuditFrom,'loanTern',data.loanTern) |
|
this.passSelected = data.agreePersons // 评委同意拒绝赋值 |
|
this.passInfo = this.passSelected.join() |
|
this.nopassSelected = data.disagreePersons |
|
this.nopassInfo = this.nopassSelected.join() |
|
this.$set(this.loansAuditFrom,'passingTime',data.time) |
|
} |
|
this.loansAuditFrom.fileUrls = data.fileUrls // 文件--上传的赋值 |
|
this.handleFiles(data.fileUrls) |
|
// this.$set(this.loansAuditFrom,'agreedItems',data.agreedItems) |
|
}) |
|
}, |
|
// 贷审会-获取抽取的评委 |
|
loansJudge(id,type){ |
|
return this.$http.get('/api-guarantee/committee/consider/theJudgesDrawn',{id:id}).then(res=>{ |
|
if(res.success){ |
|
this.juryNames = res.data.join() |
|
let arr = [] |
|
res.data.map(e=>{ |
|
let obj = {} |
|
obj.label = e |
|
obj.value = e |
|
arr.push(obj) |
|
}) |
|
this.juryArrs = arr// 备份起来 |
|
this.passDatas = arr |
|
this.noPassDatas = arr |
|
} |
|
}) |
|
}, |
|
// 贷审会--审议--同意 |
|
async testSuccess(val){ |
|
// 重新赋值拒绝的值 |
|
await this.loansJudge(this.getItem.id,2) |
|
let len = val.length |
|
// 根据选中的同意,删除对应的拒绝选项 |
|
for(let i=0;i<len;i++){ |
|
if(this.noPassDatas.indexOf(val[i])!==-1){ |
|
this.noPassDatas.splice(this.noPassDatas.indexOf(val[i]),1) |
|
} |
|
} |
|
}, |
|
// 贷审会--审议--拒绝 |
|
async testFull(val){ |
|
// 重新赋值同意的选项 |
|
await this.loansJudge(this.getItem.id,1) |
|
let len = val.length |
|
// 选中的拒绝--删除对应的同意 |
|
for(let i=0;i<len;i++){ |
|
if(this.passDatas.indexOf(val[i])!==-1){ |
|
this.passDatas.splice(this.passDatas.indexOf(val[i]),1) |
|
} |
|
} |
|
}, |
|
|
|
// 贷审会-审议 |
|
loansAudit(type){ |
|
// status: 操作,1:通过,2:拒绝,3:驳回 |
|
this.loansAuditFrom.status = type |
|
this.loansAuditFrom.id = this.getItem.id |
|
// 拒绝驳回--展示审核意见框 |
|
if(type===2&&!this.loansAuditFrom.refuseOpinion||type===3&&!this.loansAuditFrom.refuseOpinion){ |
|
return uni.showToast({ |
|
title:'请输入审核意见!',icon:'none' |
|
}) |
|
} |
|
if(type===1){ |
|
if(!this.loansAuditFrom.loanMoney||!this.loansAuditFrom.loanTern){ |
|
return uni.showToast({ |
|
title:'请输入金额和期限!',icon:'none' |
|
}) |
|
} |
|
if(!this.loansAuditFrom.fileUrls||this.loansAuditFrom.fileUrls&&!this.loansAuditFrom.fileUrls.length===0){ |
|
return uni.showToast({ |
|
title:'请上传会议纪要!',icon:'none' |
|
}) |
|
} |
|
if(!this.loansAuditFrom.agreedItems||!this.loansAuditFrom.additionalItems){ |
|
return uni.showToast({ |
|
title:'请输入贷审会议定事项与贷审会附加事项!',icon:'none' |
|
}) |
|
} |
|
if(this.nopassSelected.length===0&&this.passSelected.length===0){ |
|
return uni.showToast({ |
|
title:'请选择同意或拒绝的委员意见!',icon:'none' |
|
}) |
|
} |
|
if(this.nopassSelected.length+this.passSelected.length!==this.juryArrs.length){ |
|
return uni.showToast({ |
|
title:'请把委员投票选完!',icon:'none' |
|
}) |
|
} |
|
} |
|
|
|
this.loansAuditFrom.agreePersons = this.passSelected //同意 |
|
this.loansAuditFrom.disagreePersons = this.nopassSelected//拒绝 |
|
this.$http.post('/api-guarantee/committee/consider/check',this.loansAuditFrom).then(res=>{ |
|
uni.showToast({ |
|
title:'操作成功!' |
|
}) |
|
setTimeout(()=>{ |
|
this.back() |
|
},500) |
|
}).catch(err=>{ |
|
|
|
}) |
|
}, |
|
|
|
workDetail(id){// 工作会-查看详情 |
|
this.$http.get('/api-guarantee/work/conference/query',{id:this.getItem.id}).then(res=>{ |
|
// if(res.code===10000){ |
|
this.$set(this.workAuditFrom,'empNames',res.data.joinJudges) |
|
this.$set(this.workAuditFrom,'opinion',res.data.remark) |
|
// } |
|
}) |
|
}, |
|
/* 上传文件 */ |
|
uploadFile(e) { |
|
let fileList = e.map(r => r.url) |
|
this.loansAuditFrom.fileUrls = fileList |
|
}, |
|
// 传入对应的index |
|
handleFiles(data){ |
|
if(!data||!data.length) return |
|
data.map(e=>{ |
|
if(e=='') return |
|
let obj = {}, |
|
num= e.lastIndexOf("."), |
|
ext = e.substr(num+1); |
|
// 判断格式--图片或者其他 |
|
if(e.toLowerCase().includes('jpg','jpeg','png','bmp','gif')){ |
|
obj.book = 'img' |
|
}else{ |
|
obj.book = "file" |
|
if(ext=='png'){ |
|
obj.book = 'img' |
|
} |
|
} |
|
// 确定文件格式 |
|
obj.ext = ext |
|
obj.url = e |
|
// 接收的数组 |
|
this.filesArray.push(obj) |
|
}) |
|
}, |
|
// 工作会-所有审核意见 |
|
workOpinion(){ |
|
// this.businessId = id |
|
// sessionStorage.setItem('work-detail',id) |
|
this.$http.get('/api-guarantee/work/conference/getAuditOpinion',{businessId:this.getItem.businessId}).then(res=>{ |
|
if(res.success){ |
|
let data = res.data |
|
this.$set(this.WorkDepartmentFrom,'aTime',data.aTime) |
|
this.$set(this.WorkDepartmentFrom,'aauditOpinion',data.aauditOpinion) |
|
this.$set(this.WorkDepartmentFrom,'aname',data.aname) |
|
this.$set(this.WorkDepartmentFrom,'bTime',data.bTime) |
|
this.$set(this.WorkDepartmentFrom,'bauditOpinion',data.bauditOpinion) |
|
this.$set(this.WorkDepartmentFrom,'bname',data.bname) |
|
this.$set(this.WorkDepartmentFrom,'assetTime',data.assetTime) |
|
this.$set(this.WorkDepartmentFrom,'assetName',data.assetName) |
|
this.$set(this.WorkDepartmentFrom,'assetAuditOpinion',data.assetAuditOpinion) |
|
this.$set(this.WorkDepartmentFrom,'messageName',data.messageName) |
|
this.$set(this.WorkDepartmentFrom,'messageTime',data.messageTime) |
|
this.$set(this.WorkDepartmentFrom,'messageAuditOpinion',data.messageAuditOpinion) |
|
this.$set(this.WorkDepartmentFrom,'regulationAuditOpinion',data.regulationAuditOpinion) |
|
this.$set(this.WorkDepartmentFrom,'regulationName',data.regulationName) |
|
this.$set(this.WorkDepartmentFrom,'regulationTime',data.regulationTime) |
|
// 上为审核意见 |
|
this.$set(this.WorkDepartmentFrom,'code',res.data.dgBusinessCompany.code) |
|
this.$set(this.WorkDepartmentFrom,'name',res.data.dgBusinessCompany.name) |
|
this.$set(this.WorkDepartmentFrom,'applyAmount',res.data.dgApplyAmountInfo.applyAmount) |
|
this.$set(this.WorkDepartmentFrom,'applyTime',res.data.dgApplyAmountInfo.applyTime) |
|
this.$set(this.WorkDepartmentFrom,'amountWide',res.data.dgApplyAmountInfo.amountWide) |
|
|
|
this.$set(this.WorkDepartmentFrom,'enGuaranteeMeasure',res.data.dgApplyAmountInfo.enGuaranteeMeasure) |
|
|
|
this.$set(this.WorkDepartmentFrom,'description',res.data.dgApplyAmountInfo.description) |
|
// 还有法人信息,联系电话,关联人电话没有匹配 |
|
this.$set(this.WorkDepartmentFrom,'legalName',data.dgBusinessCompany.legalName) |
|
this.$set(this.WorkDepartmentFrom,'linkman',data.dgBusinessCompany.linkman) |
|
this.$set(this.WorkDepartmentFrom,'legalPhone',data.dgBusinessCompany.legalPhone) |
|
this.$set(this.WorkDepartmentFrom,'linkPhone',data.dgBusinessCompany.linkPhone) |
|
} |
|
}) |
|
}, |
|
} |
|
} |
|
</script> |
|
|
|
<style lang="scss" scoped> |
|
.evan-form-show { |
|
padding: 0 30rpx; |
|
background-color: #fff; |
|
|
|
.form-input { |
|
font-size: 28rpx; |
|
color: #333; |
|
text-align: right; |
|
width: 100%; |
|
box-sizing: border-box; |
|
height: 60rpx; |
|
&.textarea{ |
|
height: 240rpx; |
|
padding: 24rpx 0; |
|
text-align: left; |
|
} |
|
} |
|
|
|
.form-input-placeholder { |
|
font-size: 28rpx; |
|
color: #999; |
|
} |
|
|
|
&__button { |
|
width: 100%; |
|
height: 88rpx; |
|
border-radius: 8rpx; |
|
display: flex; |
|
align-items: center; |
|
justify-content: center; |
|
padding: 0; |
|
font-size: 36rpx; |
|
color: #fff; |
|
margin-top: 20rpx; |
|
background-color: #2D87D5; |
|
|
|
&::before, |
|
&::after { |
|
border: none; |
|
} |
|
} |
|
|
|
.customize-form-item { |
|
&__label { |
|
font-size: 28rpx; |
|
color: #333; |
|
margin-bottom: 16rpx; |
|
} |
|
|
|
&__radio { |
|
display: flex; |
|
align-items: center; |
|
margin-bottom: 16rpx; |
|
|
|
&__text { |
|
font-size: 28rpx; |
|
color: #333; |
|
} |
|
} |
|
} |
|
} |
|
.label-color{ |
|
color: #00B9FF; |
|
} |
|
// 必填 |
|
.is-required { |
|
color: $uni-color-error; |
|
} |
|
|
|
|
|
|
|
.checklist-group { |
|
/* #ifndef APP-NVUE */ |
|
display: flex; |
|
/* #endif */ |
|
flex-direction: row; |
|
flex-wrap: wrap; |
|
} |
|
|
|
.checklist-box { |
|
/* #ifndef APP-NVUE */ |
|
display: flex; |
|
/* #endif */ |
|
flex-direction: row; |
|
align-items: center; |
|
margin: 10rpx 0; |
|
margin-right: 50rpx; |
|
} |
|
|
|
.checklist-content { |
|
/* #ifndef APP-NVUE */ |
|
display: flex; |
|
/* #endif */ |
|
flex: 1; |
|
flex-direction: row; |
|
align-items: center; |
|
justify-content: space-between; |
|
} |
|
|
|
.checklist-text { |
|
font-size: 28rpx; |
|
color: #333; |
|
margin-left: 10rpx; |
|
transition: color 0.2s; |
|
} |
|
|
|
.checkbox__inner { |
|
flex-shrink: 0; |
|
position: relative; |
|
border: 2rpx solid #DCDFE6; |
|
border-radius: 4rpx; |
|
box-sizing: border-box; |
|
width: 32rpx; |
|
height: 32rpx; |
|
background-color: #fff; |
|
z-index: 1; |
|
transition: border-color 0.1s; |
|
} |
|
|
|
.checkbox__inner-icon { |
|
border: 2rpx solid #fff; |
|
border-left: 0; |
|
border-top: 0; |
|
height: 16rpx; |
|
left: 10rpx; |
|
position: absolute; |
|
top: 2rpx; |
|
width: 6rpx; |
|
opacity: 0; |
|
transition: transform .2s; |
|
transform-origin: center; |
|
transform: rotate(40deg) scaleY(0.4); |
|
} |
|
.audit-box{ |
|
padding: 15rpx 15rpx; |
|
margin-left: 99rpx; |
|
width: 392rpx; |
|
min-height: 120rpx; |
|
border: 1rpx solid #e5e5e5; |
|
// background-color: #eee; |
|
border-radius: 35rpx; |
|
|
|
} |
|
.small-input{ |
|
display: inline-block; |
|
width: 65%; |
|
// padding-left: 30rpx; |
|
/deep/ .uni-easyinput{ |
|
margin-left: 0; |
|
width: 90%; |
|
} |
|
/deep/ .uni-easyinput__content{ |
|
min-height: 60rpx; |
|
margin-bottom: 5rpx; |
|
margin-top: 5rpx; |
|
} |
|
} |
|
.small-checkbox{ |
|
display: inline-block; |
|
width: 60%; |
|
.picker-view{ |
|
width: 99%; |
|
margin-left: 1%; |
|
min-height: 60rpx; |
|
} |
|
} |
|
.check-jury{ |
|
width: 392rpx; |
|
min-height: 50rpx; |
|
margin-left: 99rpx; |
|
border: 1rpx solid #e5e5e5; |
|
border-radius: 35rpx; |
|
background-color: #eee; |
|
|
|
.more-select{ |
|
|
|
text-align: center; |
|
width: 100%; |
|
line-height: 50rpx; |
|
} |
|
|
|
} |
|
.pass-warp{ |
|
padding: 15rpx 15rpx; |
|
margin-left: 99rpx; |
|
width: 392rpx; |
|
min-height: 80rpx; |
|
border: 1rpx solid #e5e5e5; |
|
border-radius: 35rpx; |
|
} |
|
.jury-text{ |
|
margin-left: 99rpx; |
|
margin-top: 5rpx; |
|
} |
|
</style>
|
|
|