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.
882 lines
26 KiB
882 lines
26 KiB
3 years ago
|
<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>
|
||
|
<!-- 调查员操作 -->
|
||
|
<!-- 非查看且非 -->
|
||
|
<view class="margin-tb-sm" v-if="handle!=='watch'">
|
||
|
<view class="ass-label">
|
||
|
<text>选择参会评委</text>
|
||
|
</view>
|
||
|
<view class="assign-view mat15">
|
||
|
<view class="cu-bar search">
|
||
|
<view class="search-form round">
|
||
|
<input type="text" v-model="searchJury" placeholder="请输入" confirm-type="search"></input>
|
||
|
<text class="cuIcon-search"></text>
|
||
|
</view>
|
||
|
</view>
|
||
|
<mix-tree :multiple="true" class="wd60" @checkedRund = "getJury" :fliter="searchJury" :list="juryData"></mix-tree>
|
||
|
</view>
|
||
|
</view>
|
||
|
<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="joryNames" :placeholder="fromData[6]&&fromData[6].prompt?fromData[6].prompt:'参会评委'"></uni-easyinput>
|
||
|
</uni-forms-item>
|
||
|
<uni-forms-item required name="enGuaranteeMeasures" :label="fromData[6]&&fromData[6].name?fromData[6].name:'反担保措施'">
|
||
|
<uni-data-checkbox multiple mode="list" v-model="WorkDepartmentFrom.enGuaranteeMeasures" :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:'资产管理部审核意见'">
|
||
|
<!-- <uni-easyinput disabled type="textarea" v-model="WorkDepartmentFrom.remarks" placeholder="资产管理部审核意见"></uni-easyinput> -->
|
||
|
<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:'信息服务部审核意见'">
|
||
|
<!-- <uni-easyinput disabled type="textarea" v-model="WorkDepartmentFrom.remarks" placeholder="信息服务部审核意见"></uni-easyinput> -->
|
||
|
<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:'法规监督部审核意见'">
|
||
|
<!-- <uni-easyinput disabled type="textarea" v-model="WorkDepartmentFrom.remarks" placeholder="法规监督部审核意见"></uni-easyinput> -->
|
||
|
<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" v-if="handle=='audit'">
|
||
|
<view class="left-border"><text class="mgl10">审核</text></view>
|
||
|
</view>
|
||
|
<uni-forms v-if="handle=='audit'" :value="formData" ref="form" validate-trigger="bind" err-show-type="toast">
|
||
|
<uni-forms-item name="name" label="审核意见">
|
||
|
<uni-easyinput :disabled="handle=='watch'" type="textarea" v-model="workAuditFrom.opinion" placeholder="审核意见"></uni-easyinput>
|
||
|
</uni-forms-item>
|
||
|
</uni-forms>
|
||
|
<view class="foot-btn btn-rig pad-bt">
|
||
|
<button plain class="mini-btn round plain-btn" type="primary" size="mini" @click="back()">返回</button>
|
||
|
<!-- 领导 -->
|
||
|
<button v-if="handle=='audit'" class="mini-btn round suc-btn mar-lr" type="primary" size="mini" @tap="workAudit(1)">同意</button>
|
||
|
<button v-if="handle=='audit'" class="mini-btn round ref-btn mar-lr" type="primary" size="mini" @tap="workAudit(3)">拒绝</button>
|
||
|
<button v-if="handle=='audit'" class="mini-btn round cancel-btn mar-lr" type="primary" size="mini" @tap="workAudit(2)">驳回</button>
|
||
|
</view>
|
||
|
|
||
|
<timeline></timeline>
|
||
|
</view>
|
||
|
</template>
|
||
|
|
||
|
<script>
|
||
|
import utils from '@/components/evan-form/utils.js'
|
||
|
const CONTACT_INFO={
|
||
|
name:'',
|
||
|
phone:'',
|
||
|
duty:''
|
||
|
}
|
||
|
export default {
|
||
|
data() {
|
||
|
return {
|
||
|
cusTypeList: [
|
||
|
// {
|
||
|
// text: '个人',
|
||
|
// value: '0'
|
||
|
// },
|
||
|
{
|
||
|
text: '企业',
|
||
|
value: '1'
|
||
|
}],//客户类型列表
|
||
|
cusType: '1',
|
||
|
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: '',
|
||
|
|
||
|
WorkDepartmentFrom: {
|
||
|
enGuaranteeMeasures: [1,2,3]
|
||
|
},//企业form
|
||
|
hideRequiredAsterisk: false,
|
||
|
// 表单的内容必须初始化
|
||
|
info: {
|
||
|
name: '',
|
||
|
email: '',
|
||
|
desc: '',
|
||
|
phone: '',
|
||
|
sex: '',
|
||
|
},
|
||
|
rules: {
|
||
|
cusType: {
|
||
|
required: true,
|
||
|
message: '请选择客户'
|
||
|
},
|
||
|
code: {
|
||
|
required: true,
|
||
|
message: '请选择客户编号'
|
||
|
},
|
||
|
manager: {
|
||
|
required: true,
|
||
|
message: '请选择客户经理'
|
||
|
},
|
||
|
name: {
|
||
|
required: true,
|
||
|
message: '请输入姓名'
|
||
|
},
|
||
|
email: [{
|
||
|
required: true,
|
||
|
message: '请输入邮箱'
|
||
|
}, {
|
||
|
type: 'email',
|
||
|
message: '邮箱格式不正确'
|
||
|
}],
|
||
|
desc: [{
|
||
|
required: true,
|
||
|
message: '请输入简介'
|
||
|
},
|
||
|
{
|
||
|
min: 10,
|
||
|
max: 30,
|
||
|
message: '简介必须在10到30个字之间'
|
||
|
}
|
||
|
],
|
||
|
phone: [{
|
||
|
required: true,
|
||
|
message: '请输入手机号'
|
||
|
},
|
||
|
{
|
||
|
validator: (rule, value, callback) => {
|
||
|
// 注意这里如果用的是methods里的isMobilePhone将不生效
|
||
|
if (this.$utils.isMobilePhone(value)) {
|
||
|
callback()
|
||
|
} else {
|
||
|
callback(new Error('手机号格式不正确'))
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
// 或者这样也是可以的
|
||
|
// {
|
||
|
// validator: this.isMobile
|
||
|
// }
|
||
|
],
|
||
|
sex: {
|
||
|
required: true,
|
||
|
message: '请选择性别'
|
||
|
}
|
||
|
},
|
||
|
info2:{
|
||
|
name:'',
|
||
|
email:'',
|
||
|
phone:''
|
||
|
},
|
||
|
rules2:{
|
||
|
name: {
|
||
|
required: true,
|
||
|
message: '请输入姓名'
|
||
|
},
|
||
|
email: [{
|
||
|
required: true,
|
||
|
message: '请输入邮箱'
|
||
|
}, {
|
||
|
type: 'email',
|
||
|
message: '邮箱格式不正确'
|
||
|
}],
|
||
|
phone:[{
|
||
|
required: true,
|
||
|
message: '请输入手机号'
|
||
|
},
|
||
|
{
|
||
|
pattern:'^1\\d{10}$', // 注意这里由于小程序的缘故正则表达式需要通过string的方式传递并且去除两边的斜杠,中间的斜杠变成两个斜杠
|
||
|
message:'手机号格式不正确'
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
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的方式传递并且去除两边的斜杠,中间的斜杠变成两个斜杠
|
||
|
searchJury:'',// 参会评委搜索
|
||
|
juryData:[],// 评委数据
|
||
|
joryNames:'',// 选中的评委名称
|
||
|
workAuditFrom:{ // 审议提交数据
|
||
|
empNames:[],// 参会评委
|
||
|
opinion:'',// 审核意见
|
||
|
status:'',
|
||
|
id:''
|
||
|
},
|
||
|
getItem:{},// 获取传值
|
||
|
handle:'',// 操作传值
|
||
|
|
||
|
fromData:[],// 表单值
|
||
|
}
|
||
|
},
|
||
|
onShow() {
|
||
|
this.trees()// 每次展示调用树数据
|
||
|
},
|
||
|
created() {
|
||
|
// 判断来自待处理否
|
||
|
if(uni.getStorageSync('decideIndex')){
|
||
|
let data = JSON.parse(uni.getStorageSync('decideIndex'))
|
||
|
this.getItem.id = data.detailId
|
||
|
this.getItem.businessId = data.businessId
|
||
|
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
|
||
|
}
|
||
|
// 获取基本表单数据
|
||
|
this.workOpinion()
|
||
|
if(this.handle == 'watch'){
|
||
|
this.workDetail()// 获取审核以及选中评委数据
|
||
|
}
|
||
|
this.designFrom()
|
||
|
},
|
||
|
destroyed() {// 销毁组件操作
|
||
|
uni.removeStorageSync('handleGe')
|
||
|
uni.removeStorageSync('applyMsg')
|
||
|
uni.removeStorageSync('copyData')
|
||
|
},
|
||
|
mounted() {
|
||
|
// 这里必须放在mounted中,不然h5,支付宝小程序等会找不到this.$refs.form
|
||
|
this.$refs.form.setRules(this.rules)
|
||
|
},
|
||
|
methods: {
|
||
|
designFrom(){// 表单数据接口
|
||
|
this.$http.get('/api-guarantee/form/design/list',{
|
||
|
processId: 6
|
||
|
}).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;
|
||
|
}
|
||
|
},
|
||
|
//客户类型选择
|
||
|
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
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
},
|
||
|
// 获取树结构数据
|
||
|
trees(){
|
||
|
this.$http.get('/api-hrms//hrms/dept/empTrees').then(res=>{
|
||
|
this.juryData = res.data
|
||
|
this.disposeData(this.juryData)// 处理数据
|
||
|
})
|
||
|
},
|
||
|
// 处理树结构数据
|
||
|
disposeData(data){// children和员工分开,整合到一个children里
|
||
|
let len = data.length
|
||
|
for(let i = 0;i<len;i++){
|
||
|
if(data[i].children){ // children有值则---进入整合,实际上可能没有children,也需要整合
|
||
|
if(data[i].userDept){//有员工就整合
|
||
|
if(data[i].userDept.length!==0){//多个员工处理
|
||
|
let len = data[i].userDept.length
|
||
|
for(let a=0;a<len;a++){
|
||
|
data[i].userDept[a].name=data[i].userDept[a].account
|
||
|
}
|
||
|
}
|
||
|
data[i].children = [...data[i].children,...data[i].userDept]
|
||
|
data[i].children = [...new Set(data[i].children)]
|
||
|
}
|
||
|
if(data[i].children.length!==0){//有子级则进入子级,继续循环
|
||
|
this.disposeData(data[i].children)
|
||
|
}
|
||
|
}else if(!data[i].children&&data[i].userDept&&data[i].userDept.length!==0){//没有子级,而有员工时,创建新的children
|
||
|
data[i].children = []
|
||
|
let len = data[i].userDept.length
|
||
|
for(let a=0;a<len;a++){
|
||
|
data[i].userDept[a].name=data[i].userDept[a].account
|
||
|
}
|
||
|
data[i].children = [...data[i].children,...data[i].userDept]
|
||
|
data[i].children =[...new Set(data[i].children)]
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
getJury(nameList,idsList){// 固定评委选择
|
||
|
this.workAuditFrom.empNames = nameList
|
||
|
this.joryNames = nameList.join()
|
||
|
},
|
||
|
// 工作会-查看详情----此处查看仅赋值名称和审核意见
|
||
|
workDetail(){
|
||
|
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)
|
||
|
if(this.handle!='audit') this.$set(this.workAuditFrom,'opinion',res.data.remark)
|
||
|
// let len = res.data.joinJudges.length
|
||
|
if(res.data.joinJudges) this.joryNames = res.data.joinJudges.join()
|
||
|
|
||
|
}
|
||
|
})
|
||
|
},
|
||
|
// 工作会-所有审核意见
|
||
|
workOpinion(id){
|
||
|
this.$http.get('/api-guarantee/work/conference/getAuditOpinion',{businessId:this.getItem.businessId}).then(res=>{
|
||
|
if(res.success){
|
||
|
let data = res.data
|
||
|
// this.WorkDepartmentFrom = 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,'description',res.data.dgApplyAmountInfo.description)
|
||
|
this.$set(this.WorkDepartmentFrom,'enGuaranteeMeasure',res.data.dgApplyAmountInfo.enGuaranteeMeasure)
|
||
|
|
||
|
this.$set(this.WorkDepartmentFrom,'enGuaranteeMeasures',res.data.dgApplyAmountInfo.enGuaranteeMeasure)
|
||
|
|
||
|
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)
|
||
|
|
||
|
|
||
|
}
|
||
|
})
|
||
|
},
|
||
|
|
||
|
workAudit(type){// 工作会审议
|
||
|
this.workAuditFrom.status = type
|
||
|
this.workAuditFrom.id = this.getItem.id
|
||
|
if(type!==1&&!this.workAuditFrom.opinion){
|
||
|
return uni.showToast({
|
||
|
title:'请输入审核意见!',icon:'none'
|
||
|
})
|
||
|
}
|
||
|
// if(type===1&&this.workAuditFrom.length===0){
|
||
|
// return uni.showToast({ title:'请选择参会评委后再进行操作!',icon:'none' })
|
||
|
// }
|
||
|
if(type===1&&!this.workAuditFrom.empNames||type===1&&this.workAuditFrom.empNames.length===0){
|
||
|
return uni.showToast({
|
||
|
title:'请选择参会评委后再进行操作!',
|
||
|
icon:'none'
|
||
|
})
|
||
|
}
|
||
|
this.$http.post('/api-guarantee/work/conference/check',this.workAuditFrom).then(res=>{
|
||
|
if(res.code===10000){
|
||
|
setTimeout(()=>{
|
||
|
uni.hideLoading()
|
||
|
this.back()
|
||
|
},500)
|
||
|
|
||
|
|
||
|
}
|
||
|
}).catch(err=>{})
|
||
|
},
|
||
|
}
|
||
|
}
|
||
|
</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);
|
||
|
}
|
||
|
.ass-label{
|
||
|
color: #00B9FF;
|
||
|
font-size: 28rpx;
|
||
|
margin-right: 40rpx;
|
||
|
}
|
||
|
.assign-view{
|
||
|
border-radius: 20rpx;
|
||
|
background-color: #fff;
|
||
|
box-shadow: 0 0 16rpx #ccc;
|
||
|
height: 600rpx;
|
||
|
overflow-x: hidden;
|
||
|
overflow-y: scroll;
|
||
|
}
|
||
|
.cu-bar .search-form{
|
||
|
border-radius: 20rpx;
|
||
|
background-color: #f5f5f5;
|
||
|
height: 72rpx;
|
||
|
line-height: 72rpx;
|
||
|
input{
|
||
|
height: 72rpx;
|
||
|
line-height: 72rpx;
|
||
|
padding: 0 40rpx;
|
||
|
}
|
||
|
.cuIcon-search{
|
||
|
margin: 0 20rpx;
|
||
|
}
|
||
|
}
|
||
|
.audit-box{
|
||
|
padding: 10rpx 15rpx;
|
||
|
margin-left: 100rpx;
|
||
|
min-height: 60rpx;
|
||
|
width: 390rpx;
|
||
|
border: 1rpx solid #c8c7cc;
|
||
|
border-radius: 40rpx;
|
||
|
}
|
||
|
</style>
|