jg-waiwang-pro
parent
3637f230e5
commit
d6d31c310a
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1,176 @@
|
|||||||
|
<template>
|
||||||
|
<el-dialog title="详情"
|
||||||
|
:close-on-click-modal="false" append-to-body
|
||||||
|
:visible.sync="visible" class="JNPF-dialog JNPF-dialog_center" lock-scroll
|
||||||
|
width="1000px">
|
||||||
|
<el-row :gutter="15" class="">
|
||||||
|
<el-form ref="formRef" :model="dataForm" size="small" label-width="100px" label-position="right" >
|
||||||
|
<template v-if="!loading">
|
||||||
|
<el-col :span="24" >
|
||||||
|
<jnpf-form-tip-item label="联系人头像"
|
||||||
|
prop="logo" >
|
||||||
|
<JnpfUploadImg v-model="dataForm.logo"
|
||||||
|
disabled
|
||||||
|
detailed :fileSize="10" sizeUnit="MB" :limit="1" pathType="defaultPath" :isAccount="0" >
|
||||||
|
</JnpfUploadImg>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" >
|
||||||
|
<jnpf-form-tip-item label="联系人类型"
|
||||||
|
prop="contactsType" >
|
||||||
|
<p>{{ dataForm.contactsType }} </p>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" >
|
||||||
|
<jnpf-form-tip-item label="关联客户"
|
||||||
|
prop="subjectBasicId" >
|
||||||
|
<p>{{dataForm.subjectBasicId}}</p>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" >
|
||||||
|
<jnpf-form-tip-item label="姓名"
|
||||||
|
prop="name" >
|
||||||
|
<p>{{dataForm.name}}</p>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" >
|
||||||
|
<jnpf-form-tip-item label="职务"
|
||||||
|
prop="position" >
|
||||||
|
<p>{{dataForm.position}}</p>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" >
|
||||||
|
<jnpf-form-tip-item label="公司"
|
||||||
|
prop="companyName" >
|
||||||
|
<p>{{dataForm.companyName}}</p>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" >
|
||||||
|
<jnpf-form-tip-item label="手机"
|
||||||
|
prop="mobile" >
|
||||||
|
<p>{{dataForm.mobile}}</p>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" >
|
||||||
|
<jnpf-form-tip-item label="电话"
|
||||||
|
prop="phone" >
|
||||||
|
<p>{{dataForm.phone}}</p>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" >
|
||||||
|
<jnpf-form-tip-item label="邮箱"
|
||||||
|
prop="emaile" >
|
||||||
|
<p>{{dataForm.emaile}}</p>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" >
|
||||||
|
<jnpf-form-tip-item label="地址"
|
||||||
|
prop="address" >
|
||||||
|
<p>{{dataForm.address}}</p>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" >
|
||||||
|
<jnpf-form-tip-item label="是否星标"
|
||||||
|
prop="markColor" >
|
||||||
|
<p>{{dataForm.markColor}}</p>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" >
|
||||||
|
<jnpf-form-tip-item label="附件"
|
||||||
|
prop="annex" >
|
||||||
|
<JnpfUploadFile v-model="dataForm.annex"
|
||||||
|
disabled
|
||||||
|
detailed :fileSize="10" sizeUnit="MB" :limit="9" pathType="defaultPath" :isAccount="0" buttonText="点击上传" >
|
||||||
|
</JnpfUploadFile>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
</template>
|
||||||
|
</el-form>
|
||||||
|
</el-row>
|
||||||
|
<span slot="footer" class="dialog-footer">
|
||||||
|
<el-button @click="visible = false"> 取 消</el-button>
|
||||||
|
</span>
|
||||||
|
<Detail v-if="detailVisible" ref="Detail" @close="detailVisible = false" />
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
import { getConfigData } from '@/api/onlineDev/visualDev'
|
||||||
|
import jnpf from '@/utils/jnpf'
|
||||||
|
import Detail from '@/views/basic/dynamicModel/list/detail'
|
||||||
|
import { thousandsFormat } from "@/components/Generator/utils/index"
|
||||||
|
export default {
|
||||||
|
components: { Detail},
|
||||||
|
props: [],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
visible: false,
|
||||||
|
detailVisible: false,
|
||||||
|
loading: false,
|
||||||
|
|
||||||
|
dataForm: {
|
||||||
|
id :'',
|
||||||
|
logo : [],
|
||||||
|
contactsType : "2",
|
||||||
|
subjectBasicId : "",
|
||||||
|
name : '',
|
||||||
|
position : '',
|
||||||
|
companyName : '',
|
||||||
|
mobile : '',
|
||||||
|
phone : '',
|
||||||
|
emaile : '',
|
||||||
|
address : '',
|
||||||
|
markColor : 0,
|
||||||
|
annex : [],
|
||||||
|
},
|
||||||
|
contactsTypeOptions:[{"fullName":"默认","id":"1"},{"fullName":"联系人","id":"2"}],
|
||||||
|
contactsTypeProps:{"label":"fullName","value":"id" },
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {},
|
||||||
|
watch: {},
|
||||||
|
created() {
|
||||||
|
|
||||||
|
},
|
||||||
|
mounted() {},
|
||||||
|
methods: {
|
||||||
|
toDetail(defaultValue, modelId) {
|
||||||
|
if (!defaultValue) return
|
||||||
|
getConfigData(modelId).then(res => {
|
||||||
|
if (!res.data || !res.data.formData) return
|
||||||
|
let formData = JSON.parse(res.data.formData)
|
||||||
|
formData.popupType = 'general'
|
||||||
|
this.detailVisible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.Detail.init(formData, modelId, defaultValue)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
dataInfo(dataAll){
|
||||||
|
let _dataAll =dataAll
|
||||||
|
this.dataForm = _dataAll
|
||||||
|
},
|
||||||
|
|
||||||
|
init(id) {
|
||||||
|
this.dataForm.id = id || 0;
|
||||||
|
this.visible = true;
|
||||||
|
this.$nextTick(() => {
|
||||||
|
if(this.dataForm.id){
|
||||||
|
this.loading = true
|
||||||
|
request({
|
||||||
|
url: '/api/scm/Contacts/detail/'+this.dataForm.id,
|
||||||
|
method: 'get'
|
||||||
|
}).then(res => {
|
||||||
|
this.dataInfo(res.data)
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,573 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<el-dialog :title="!dataForm.id ? '新建' :'编辑'"
|
||||||
|
:close-on-click-modal="false" append-to-body
|
||||||
|
:visible.sync="visible" class="JNPF-dialog JNPF-dialog_center" lock-scroll
|
||||||
|
width="1000px">
|
||||||
|
<el-row :gutter="15" class="">
|
||||||
|
<el-form ref="formRef" :model="dataForm" :rules="dataRule" size="small" label-width="100px" label-position="right" >
|
||||||
|
<template v-if="!loading">
|
||||||
|
<!-- 具体表单 -->
|
||||||
|
<el-col :span="24" >
|
||||||
|
<jnpf-form-tip-item
|
||||||
|
label="联系人头像" prop="logo" >
|
||||||
|
<JnpfUploadImg v-model="dataForm.logo" @change="changeData('logo',-1)"
|
||||||
|
:fileSize="10" sizeUnit="MB" :limit="1" pathType="defaultPath" :isAccount="0" >
|
||||||
|
</JnpfUploadImg>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" >
|
||||||
|
<jnpf-form-tip-item
|
||||||
|
label="联系人类型" prop="contactsType" >
|
||||||
|
<JnpfSelect v-model="dataForm.contactsType" @change="changeData('contactsType',-1)"
|
||||||
|
placeholder="请选择" clearable :style='{"width":"100%"}' :options="contactsTypeOptions" :props="contactsTypeProps" >
|
||||||
|
</JnpfSelect>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" >
|
||||||
|
<jnpf-form-tip-item
|
||||||
|
label="关联客户" prop="subjectBasicId" >
|
||||||
|
<JnpfPopupSelect v-model="dataForm.subjectBasicId" @change="changeData('subjectBasicId',-1)"
|
||||||
|
:rowIndex="null" :formData="dataForm" :templateJson="interfaceRes.subjectBasicId" placeholder="请选择" propsValue="id" popupWidth="800px" popupTitle="选择数据" popupType="dialog" relationField='name' field='subjectBasicId' interfaceId="520962013808039429" :pageSize="20" :columnOptions="subjectBasicIdcolumnOptions" clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfPopupSelect>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" >
|
||||||
|
<jnpf-form-tip-item
|
||||||
|
label="姓名" prop="name" >
|
||||||
|
<JnpfInput v-model="dataForm.name" @change="changeData('name',-1)"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" >
|
||||||
|
<jnpf-form-tip-item
|
||||||
|
label="职务" prop="position" >
|
||||||
|
<JnpfInput v-model="dataForm.position" @change="changeData('position',-1)"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" >
|
||||||
|
<jnpf-form-tip-item
|
||||||
|
label="公司" prop="companyName" >
|
||||||
|
<JnpfInput v-model="dataForm.companyName" @change="changeData('companyName',-1)"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" >
|
||||||
|
<jnpf-form-tip-item
|
||||||
|
label="手机" prop="mobile" >
|
||||||
|
<JnpfInput v-model="dataForm.mobile" @change="changeData('mobile',-1)"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" >
|
||||||
|
<jnpf-form-tip-item
|
||||||
|
label="电话" prop="phone" >
|
||||||
|
<JnpfInput v-model="dataForm.phone" @change="changeData('phone',-1)"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" >
|
||||||
|
<jnpf-form-tip-item
|
||||||
|
label="邮箱" prop="emaile" >
|
||||||
|
<JnpfInput v-model="dataForm.emaile" @change="changeData('emaile',-1)"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" >
|
||||||
|
<jnpf-form-tip-item
|
||||||
|
label="地址" prop="address" >
|
||||||
|
<JnpfInput v-model="dataForm.address" @change="changeData('address',-1)"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" >
|
||||||
|
<jnpf-form-tip-item
|
||||||
|
label="是否星标" prop="markColor" >
|
||||||
|
<JnpfSwitch v-model="dataForm.markColor" @change="changeData('markColor',-1)"
|
||||||
|
:active-value="1" :inactive-value="0" >
|
||||||
|
</JnpfSwitch>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" >
|
||||||
|
<jnpf-form-tip-item
|
||||||
|
label="附件" prop="annex" >
|
||||||
|
<JnpfUploadFile v-model="dataForm.annex" @change="changeData('annex',-1)"
|
||||||
|
:fileSize="10" sizeUnit="MB" :limit="9" pathType="defaultPath" :isAccount="0" buttonText="点击上传" >
|
||||||
|
</JnpfUploadFile>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<!-- 表单结束 -->
|
||||||
|
</template>
|
||||||
|
</el-form>
|
||||||
|
<SelectDialog v-if="selectDialogVisible" :config="currTableConf" :formData="dataForm"
|
||||||
|
ref="selectDialog" @select="addForSelect" @close="selectDialogVisible=false"/>
|
||||||
|
</el-row>
|
||||||
|
<span slot="footer" class="dialog-footer">
|
||||||
|
<div class="upAndDown-button" v-if="dataForm.id">
|
||||||
|
<el-button @click="prev" :disabled='prevDis'>
|
||||||
|
{{'上一条'}}
|
||||||
|
</el-button>
|
||||||
|
<el-button @click="next" :disabled='nextDis'>
|
||||||
|
{{'下一条'}}
|
||||||
|
</el-button>
|
||||||
|
</div>
|
||||||
|
<el-button type="primary" @click="dataFormSubmit(2)" :loading="continueBtnLoading">
|
||||||
|
{{!dataForm.id ?'确定并新增':'确定并继续'}}</el-button>
|
||||||
|
<el-button @click="visible = false"> 取 消</el-button>
|
||||||
|
<el-button type="primary" @click="dataFormSubmit()" :loading="btnLoading"> 确 定</el-button>
|
||||||
|
</span>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import request from '@/utils/request'
|
||||||
|
import {mapGetters} from "vuex";
|
||||||
|
import { getDataInterfaceRes } from '@/api/systemData/dataInterface'
|
||||||
|
import { getDictionaryDataSelector } from '@/api/systemData/dictionary'
|
||||||
|
import { getDefaultCurrentValueUserId } from '@/api/permission/user'
|
||||||
|
import { getDefaultCurrentValueDepartmentId } from '@/api/permission/organize'
|
||||||
|
import { getDateDay, getLaterData, getBeforeData, getBeforeTime, getLaterTime } from '@/components/Generator/utils/index.js'
|
||||||
|
import { thousandsFormat } from "@/components/Generator/utils/index"
|
||||||
|
export default {
|
||||||
|
components: { },
|
||||||
|
props: [],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
dataFormSubmitType: 0,
|
||||||
|
continueBtnLoading: false,
|
||||||
|
index: 0,
|
||||||
|
prevDis: false,
|
||||||
|
nextDis: false,
|
||||||
|
allList: [],
|
||||||
|
visible: false,
|
||||||
|
loading: false,
|
||||||
|
btnLoading: false,
|
||||||
|
formRef: 'formRef',
|
||||||
|
setting:{},
|
||||||
|
eventType: '',
|
||||||
|
userBoxVisible:false,
|
||||||
|
selectDialogVisible: false,
|
||||||
|
currTableConf:{},
|
||||||
|
dataValueAll:{},
|
||||||
|
addTableConf:{
|
||||||
|
},
|
||||||
|
//可选范围默认值
|
||||||
|
ableAll:{
|
||||||
|
},
|
||||||
|
tableRows:{
|
||||||
|
},
|
||||||
|
Vmodel:"",
|
||||||
|
currVmodel:"",
|
||||||
|
dataForm: {
|
||||||
|
logo : [],
|
||||||
|
contactsType : "2",
|
||||||
|
subjectBasicId : undefined,
|
||||||
|
name : undefined,
|
||||||
|
position : undefined,
|
||||||
|
companyName : undefined,
|
||||||
|
mobile : undefined,
|
||||||
|
phone : undefined,
|
||||||
|
emaile : undefined,
|
||||||
|
address : undefined,
|
||||||
|
markColor : 0,
|
||||||
|
annex : [],
|
||||||
|
},
|
||||||
|
tableRequiredData: {},
|
||||||
|
dataRule:
|
||||||
|
{
|
||||||
|
subjectBasicId: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请选择',
|
||||||
|
trigger: 'change'
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请输入',
|
||||||
|
trigger: 'blur'
|
||||||
|
},
|
||||||
|
],
|
||||||
|
position: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请输入',
|
||||||
|
trigger: 'blur'
|
||||||
|
},
|
||||||
|
],
|
||||||
|
companyName: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请输入',
|
||||||
|
trigger: 'blur'
|
||||||
|
},
|
||||||
|
],
|
||||||
|
mobile: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请输入',
|
||||||
|
trigger: 'blur'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
pattern: /^1[3456789]\d{9}$|^0\d{2,3}-?\d{7,8}$/,
|
||||||
|
message: '请输入正确的联系方式',
|
||||||
|
trigger: 'blur'
|
||||||
|
},
|
||||||
|
],
|
||||||
|
phone: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请输入',
|
||||||
|
trigger: 'blur'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
pattern: /^1[3456789]\d{9}$|^0\d{2,3}-?\d{7,8}$/,
|
||||||
|
message: '请输入正确的联系方式',
|
||||||
|
trigger: 'blur'
|
||||||
|
},
|
||||||
|
],
|
||||||
|
emaile: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请输入',
|
||||||
|
trigger: 'blur'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
pattern: /^[a-z0-9]+([._\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/,
|
||||||
|
message: '请输入正确的邮箱',
|
||||||
|
trigger: 'blur'
|
||||||
|
},
|
||||||
|
],
|
||||||
|
address: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请输入',
|
||||||
|
trigger: 'blur'
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
contactsTypeOptions:[{"fullName":"默认","id":"1"},{"fullName":"联系人","id":"2"}],
|
||||||
|
contactsTypeProps:{"label":"fullName","value":"id" },
|
||||||
|
subjectBasicIdcolumnOptions:[ {"label":"客户名称","value":"name"}, {"label":"客户编码","value":"code"},],
|
||||||
|
childIndex:-1,
|
||||||
|
isEdit:false,
|
||||||
|
interfaceRes: {
|
||||||
|
logo:[] ,
|
||||||
|
contactsType:[] ,
|
||||||
|
subjectBasicId:[] ,
|
||||||
|
name:[] ,
|
||||||
|
position:[] ,
|
||||||
|
companyName:[] ,
|
||||||
|
mobile:[] ,
|
||||||
|
phone:[] ,
|
||||||
|
emaile:[] ,
|
||||||
|
address:[] ,
|
||||||
|
markColor:[] ,
|
||||||
|
annex:[] ,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
...mapGetters(['userInfo'])
|
||||||
|
},
|
||||||
|
watch: {},
|
||||||
|
created() {
|
||||||
|
this.dataAll()
|
||||||
|
this.initDefaultData()
|
||||||
|
this.dataValueAll = JSON.parse(JSON.stringify(this.dataForm))
|
||||||
|
},
|
||||||
|
mounted() {},
|
||||||
|
methods: {
|
||||||
|
prev() {
|
||||||
|
this.index--
|
||||||
|
if (this.index === 0) {
|
||||||
|
this.prevDis = true
|
||||||
|
}
|
||||||
|
this.nextDis = false
|
||||||
|
for (let index = 0; index < this.allList.length; index++) {
|
||||||
|
const element = this.allList[index];
|
||||||
|
if (this.index == index) {
|
||||||
|
this.getInfo(element.id)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
next() {
|
||||||
|
this.index++
|
||||||
|
if (this.index === this.allList.length - 1) {
|
||||||
|
this.nextDis = true
|
||||||
|
}
|
||||||
|
this.prevDis = false
|
||||||
|
for (let index = 0; index < this.allList.length; index++) {
|
||||||
|
const element = this.allList[index];
|
||||||
|
if (this.index == index) {
|
||||||
|
this.getInfo(element.id)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
getInfo(id) {
|
||||||
|
request({
|
||||||
|
url: '/api/scm/Contacts/'+ id,
|
||||||
|
method: 'get'
|
||||||
|
}).then(res => {
|
||||||
|
this.dataInfo(res.data)
|
||||||
|
});
|
||||||
|
},
|
||||||
|
goBack() {
|
||||||
|
this.visible = false
|
||||||
|
this.$emit('refreshDataList', true)
|
||||||
|
},
|
||||||
|
changeData(model, index) {
|
||||||
|
this.isEdit = false
|
||||||
|
this.childIndex = index
|
||||||
|
let modelAll = model.split("-");
|
||||||
|
let faceMode = "";
|
||||||
|
for (let i = 0; i < modelAll.length; i++) {
|
||||||
|
faceMode += modelAll[i];
|
||||||
|
}
|
||||||
|
for (let key in this.interfaceRes) {
|
||||||
|
if (key != faceMode) {
|
||||||
|
let faceReList = this.interfaceRes[key]
|
||||||
|
for (let i = 0; i < faceReList.length; i++) {
|
||||||
|
if (faceReList[i].relationField == model) {
|
||||||
|
let options = 'get' + key + 'Options';
|
||||||
|
if(this[options]){
|
||||||
|
this[options]()
|
||||||
|
}
|
||||||
|
this.changeData(key, index)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
changeDataFormData(type, data, model,index,defaultValue) {
|
||||||
|
if(!this.isEdit) {
|
||||||
|
if (type == 2) {
|
||||||
|
for (let i = 0; i < this.dataForm[data].length; i++) {
|
||||||
|
if (index == -1) {
|
||||||
|
this.dataForm[data][i][model] = defaultValue
|
||||||
|
} else if (index == i) {
|
||||||
|
this.dataForm[data][i][model] = defaultValue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.dataForm[data] = defaultValue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
dataAll(){
|
||||||
|
},
|
||||||
|
clearData(){
|
||||||
|
this.dataForm = JSON.parse(JSON.stringify(this.dataValueAll))
|
||||||
|
},
|
||||||
|
init(id,isDetail,allList) {
|
||||||
|
this.prevDis = false
|
||||||
|
this.nextDis = false
|
||||||
|
this.allList = allList || []
|
||||||
|
if (allList.length) {
|
||||||
|
this.index = this.allList.findIndex(item => item.id === id)
|
||||||
|
if (this.index == 0) {
|
||||||
|
this.prevDis = true
|
||||||
|
}
|
||||||
|
if (this.index == this.allList.length - 1) {
|
||||||
|
this.nextDis = true
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.prevDis = true
|
||||||
|
this.nextDis = true
|
||||||
|
}
|
||||||
|
this.dataForm.id = id || 0;
|
||||||
|
this.visible = true;
|
||||||
|
this.$nextTick(() => {
|
||||||
|
if(this.dataForm.id){
|
||||||
|
this.loading = true
|
||||||
|
request({
|
||||||
|
url: '/api/scm/Contacts/'+this.dataForm.id,
|
||||||
|
method: 'get'
|
||||||
|
}).then(res => {
|
||||||
|
this.dataInfo(res.data)
|
||||||
|
this.loading = false
|
||||||
|
});
|
||||||
|
}else{
|
||||||
|
this.clearData()
|
||||||
|
this.initDefaultData()
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.$store.commit('generator/UPDATE_RELATION_DATA', {})
|
||||||
|
},
|
||||||
|
//初始化默认数据
|
||||||
|
initDefaultData() {
|
||||||
|
|
||||||
|
},
|
||||||
|
// 表单提交
|
||||||
|
dataFormSubmit(type) {
|
||||||
|
this.dataFormSubmitType = type ? type : 0
|
||||||
|
this.$refs['formRef'].validate((valid) => {
|
||||||
|
if (valid) {
|
||||||
|
this.request()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
request() {
|
||||||
|
let _data =this.dataList()
|
||||||
|
if (this.dataFormSubmitType == 2) {
|
||||||
|
this.continueBtnLoading = true
|
||||||
|
} else {
|
||||||
|
this.btnLoading = true
|
||||||
|
}
|
||||||
|
if (!this.dataForm.id) {
|
||||||
|
request({
|
||||||
|
url: '/api/scm/Contacts',
|
||||||
|
method: 'post',
|
||||||
|
data: _data
|
||||||
|
}).then((res) => {
|
||||||
|
this.$message({
|
||||||
|
message: res.msg,
|
||||||
|
type: 'success',
|
||||||
|
duration: 1000,
|
||||||
|
onClose: () => {
|
||||||
|
if (this.dataFormSubmitType == 2) {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.clearData()
|
||||||
|
this.initDefaultData()
|
||||||
|
})
|
||||||
|
this.continueBtnLoading = false
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.visible = false
|
||||||
|
this.btnLoading = false
|
||||||
|
this.$emit('refresh', true)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}).catch(()=>{
|
||||||
|
this.btnLoading = false
|
||||||
|
this.continueBtnLoading = false
|
||||||
|
})
|
||||||
|
}else{
|
||||||
|
request({
|
||||||
|
url: '/api/scm/Contacts/'+this.dataForm.id,
|
||||||
|
method: 'PUT',
|
||||||
|
data: _data
|
||||||
|
}).then((res) => {
|
||||||
|
this.$message({
|
||||||
|
message: res.msg,
|
||||||
|
type: 'success',
|
||||||
|
duration: 1000,
|
||||||
|
onClose: () => {
|
||||||
|
if (this.dataFormSubmitType == 2) return this.continueBtnLoading = false
|
||||||
|
this.visible = false
|
||||||
|
this.btnLoading = false
|
||||||
|
this.$emit('refresh', true)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}).catch(()=>{
|
||||||
|
this.btnLoading = false
|
||||||
|
this.continueBtnLoading = false
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
openSelectDialog(key) {
|
||||||
|
this.currTableConf=this.addTableConf[key]
|
||||||
|
this.currVmodel=key
|
||||||
|
this.selectDialogVisible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.selectDialog.init()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
addForSelect(data) {
|
||||||
|
for (let i = 0; i < data.length; i++) {
|
||||||
|
let t = data[i]
|
||||||
|
if(this['get'+this.currVmodel]){
|
||||||
|
this['get'+this.currVmodel](t)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
dateTime(timeRule, timeType, timeTarget, timeValueData, dataValue) {
|
||||||
|
let timeDataValue = null;
|
||||||
|
let timeValue = Number(timeValueData)
|
||||||
|
if (timeRule) {
|
||||||
|
if (timeType == 1) {
|
||||||
|
timeDataValue = timeValue
|
||||||
|
} else if (timeType == 2) {
|
||||||
|
timeDataValue = dataValue
|
||||||
|
} else if (timeType == 3) {
|
||||||
|
timeDataValue = new Date().getTime()
|
||||||
|
} else if (timeType == 4) {
|
||||||
|
let previousDate = '';
|
||||||
|
if (timeTarget == 1 || timeTarget == 2) {
|
||||||
|
previousDate = getDateDay(timeTarget, timeType, timeValue)
|
||||||
|
timeDataValue = new Date(previousDate).getTime()
|
||||||
|
} else if (timeTarget == 3) {
|
||||||
|
previousDate = getBeforeData(timeValue)
|
||||||
|
timeDataValue = new Date(previousDate).getTime()
|
||||||
|
} else {
|
||||||
|
timeDataValue = getBeforeTime(timeTarget, timeValue).getTime()
|
||||||
|
}
|
||||||
|
} else if (timeType == 5) {
|
||||||
|
let previousDate = '';
|
||||||
|
if (timeTarget == 1 || timeTarget == 2) {
|
||||||
|
previousDate = getDateDay(timeTarget, timeType, timeValue)
|
||||||
|
timeDataValue = new Date(previousDate).getTime()
|
||||||
|
} else if (timeTarget == 3) {
|
||||||
|
previousDate = getLaterData(timeValue)
|
||||||
|
timeDataValue = new Date(previousDate).getTime()
|
||||||
|
} else {
|
||||||
|
timeDataValue = getLaterTime(timeTarget, timeValue).getTime()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return timeDataValue;
|
||||||
|
},
|
||||||
|
time(timeRule, timeType, timeTarget, timeValue, formatType, dataValue) {
|
||||||
|
let format = formatType == 'HH:mm' ? 'HH:mm:00' : formatType
|
||||||
|
let timeDataValue = null
|
||||||
|
if (timeRule) {
|
||||||
|
if (timeType == 1) {
|
||||||
|
timeDataValue = timeValue || '00:00:00'
|
||||||
|
if (timeDataValue.split(':').length == 3) {
|
||||||
|
timeDataValue = timeDataValue
|
||||||
|
} else {
|
||||||
|
timeDataValue = timeDataValue + ':00'
|
||||||
|
}
|
||||||
|
} else if (timeType == 2) {
|
||||||
|
timeDataValue = dataValue
|
||||||
|
} else if (timeType == 3) {
|
||||||
|
timeDataValue = this.jnpf.toDate(new Date(), format)
|
||||||
|
} else if (timeType == 4) {
|
||||||
|
let previousDate = '';
|
||||||
|
previousDate = getBeforeTime(timeTarget, timeValue)
|
||||||
|
timeDataValue = this.jnpf.toDate(previousDate, format)
|
||||||
|
} else if (timeType == 5) {
|
||||||
|
let previousDate = '';
|
||||||
|
previousDate = getLaterTime(timeTarget, timeValue)
|
||||||
|
timeDataValue = this.jnpf.toDate(previousDate, format)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return timeDataValue;
|
||||||
|
},
|
||||||
|
dataList(){
|
||||||
|
var _data = this.dataForm;
|
||||||
|
return _data;
|
||||||
|
},
|
||||||
|
dataInfo(dataAll){
|
||||||
|
let _dataAll =dataAll
|
||||||
|
this.dataForm = _dataAll
|
||||||
|
this.isEdit = true
|
||||||
|
this.dataAll()
|
||||||
|
this.childIndex=-1
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1,2 @@
|
|||||||
|
const columnList = [{"clearable":true,"maxlength":null,"jnpfKey":"input","suffixIcon":"","fullName":"压款金额下限","label":"压款金额下限","sortable":false,"align":"left","addonAfter":"","__config__":{"formId":101,"visibility":["pc","app"],"jnpfKey":"input","noShow":false,"tipLabel":"","dragDisabled":false,"className":[],"label":"压款金额下限","trigger":"blur","showLabel":true,"required":true,"tableName":"jg_subject_settlement_rules","renderKey":1706514013986,"layout":"colFormItem","tagIcon":"icon-ym icon-ym-generator-input","unique":false,"tag":"JnpfInput","regList":[],"span":8},"readonly":false,"prop":"underpaymentAmountDown","showWordLimit":false,"width":0,"__vModel__":"underpaymentAmountDown","showPassword":false,"fixed":"none","style":{"width":"100%"},"disabled":false,"id":"underpaymentAmountDown","placeholder":"请输入","prefixIcon":"","addonBefore":"","on":{"change":"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\n // 在此编写代码\n \n}","blur":"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\n // 在此编写代码\n \n}"}},{"clearable":true,"maxlength":null,"jnpfKey":"input","suffixIcon":"","fullName":"压款金额上限","label":"压款金额上限","sortable":false,"align":"left","addonAfter":"","__config__":{"formId":102,"visibility":["pc","app"],"jnpfKey":"input","noShow":false,"tipLabel":"","dragDisabled":false,"className":[],"label":"压款金额上限","trigger":"blur","showLabel":true,"required":true,"tableName":"jg_subject_settlement_rules","renderKey":1706514016369,"layout":"colFormItem","tagIcon":"icon-ym icon-ym-generator-input","unique":false,"tag":"JnpfInput","regList":[],"span":8},"readonly":false,"prop":"underpaymentAmountUpper","showWordLimit":false,"width":0,"__vModel__":"underpaymentAmountUpper","showPassword":false,"fixed":"none","style":{"width":"100%"},"disabled":false,"id":"underpaymentAmountUpper","placeholder":"请输入","prefixIcon":"","addonBefore":"","on":{"change":"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\n // 在此编写代码\n \n}","blur":"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\n // 在此编写代码\n \n}"}}]
|
||||||
|
export default columnList
|
@ -0,0 +1,484 @@
|
|||||||
|
<template>
|
||||||
|
<div :style="{margin: '0 auto',width:'100%'}">
|
||||||
|
<el-row :gutter="15" class="">
|
||||||
|
<el-form ref="formRef" :model="dataForm" :rules="dataRule" size="small" label-width="100px" label-position="right"
|
||||||
|
:disabled="setting.readonly">
|
||||||
|
<template v-if="!loading && formOperates">
|
||||||
|
<!-- 具体表单 -->
|
||||||
|
<el-col :span="8" v-if="judgeShow('underpaymentMethod')">
|
||||||
|
<jnpf-form-tip-item label="压款方式" v-if="judgeShow('underpaymentMethod')" prop="underpaymentMethod">
|
||||||
|
<JnpfRadio v-model="dataForm.underpaymentMethod" @change="changeData('underpaymentMethod',-1)"
|
||||||
|
:disabled="judgeWrite('underpaymentMethod')" optionType="default" direction="horizontal" size="small"
|
||||||
|
:options="underpaymentMethodOptions" :props="underpaymentMethodProps">
|
||||||
|
</JnpfRadio>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" v-if="judgeShow('underpaymentAmountDown')">
|
||||||
|
<jnpf-form-tip-item label="压款金额下限" v-if="judgeShow('underpaymentAmountDown')" prop="underpaymentAmountDown">
|
||||||
|
<JnpfInput v-model="dataForm.underpaymentAmountDown" @change="changeData('underpaymentAmountDown',-1)"
|
||||||
|
placeholder="请输入" :disabled="judgeWrite('underpaymentAmountDown')" clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" v-if="judgeShow('underpaymentAmountUpper')">
|
||||||
|
<jnpf-form-tip-item label="压款金额上限" v-if="judgeShow('underpaymentAmountUpper')"
|
||||||
|
prop="underpaymentAmountUpper">
|
||||||
|
<JnpfInput v-model="dataForm.underpaymentAmountUpper" @change="changeData('underpaymentAmountUpper',-1)"
|
||||||
|
placeholder="请输入" :disabled="judgeWrite('underpaymentAmountUpper')" clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" v-if="judgeShow('marginMethod')">
|
||||||
|
<jnpf-form-tip-item label="保证金方式" v-if="judgeShow('marginMethod')" prop="marginMethod">
|
||||||
|
<JnpfRadio v-model="dataForm.marginMethod" @change="changeData('marginMethod',-1)"
|
||||||
|
:disabled="judgeWrite('marginMethod')" optionType="default" direction="horizontal" size="small"
|
||||||
|
:options="marginMethodOptions" :props="marginMethodProps">
|
||||||
|
</JnpfRadio>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" v-if="judgeShow('marginAmountDown')">
|
||||||
|
<jnpf-form-tip-item label="保证金金额下限" v-if="judgeShow('marginAmountDown')" prop="marginAmountDown">
|
||||||
|
<JnpfInput v-model="dataForm.marginAmountDown" @change="changeData('marginAmountDown',-1)"
|
||||||
|
placeholder="请输入" :disabled="judgeWrite('marginAmountDown')" clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" v-if="judgeShow('marginAmountUpper')">
|
||||||
|
<jnpf-form-tip-item label="保证金金额上限" v-if="judgeShow('marginAmountUpper')" prop="marginAmountUpper">
|
||||||
|
<JnpfInput v-model="dataForm.marginAmountUpper" @change="changeData('marginAmountUpper',-1)"
|
||||||
|
placeholder="请输入" :disabled="judgeWrite('marginAmountUpper')" clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" v-if="judgeShow('overdueMethod')">
|
||||||
|
<jnpf-form-tip-item label="逾期利率方式" v-if="judgeShow('overdueMethod')" prop="overdueMethod">
|
||||||
|
<JnpfRadio v-model="dataForm.overdueMethod" @change="changeData('overdueMethod',-1)"
|
||||||
|
:disabled="judgeWrite('overdueMethod')" optionType="default" direction="horizontal" size="small"
|
||||||
|
:options="overdueMethodOptions" :props="overdueMethodProps">
|
||||||
|
</JnpfRadio>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" v-if="judgeShow('overdueAnnualizedDown')">
|
||||||
|
<jnpf-form-tip-item label="逾期年化下限" v-if="judgeShow('overdueAnnualizedDown')" prop="overdueAnnualizedDown">
|
||||||
|
<JnpfInput v-model="dataForm.overdueAnnualizedDown" @change="changeData('overdueAnnualizedDown',-1)"
|
||||||
|
placeholder="请输入" :disabled="judgeWrite('overdueAnnualizedDown')" clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" v-if="judgeShow('overdueAnnualizedUpper')">
|
||||||
|
<jnpf-form-tip-item label="逾期年化上限" v-if="judgeShow('overdueAnnualizedUpper')" prop="overdueAnnualizedUpper">
|
||||||
|
<JnpfInput v-model="dataForm.overdueAnnualizedUpper" @change="changeData('overdueAnnualizedUpper',-1)"
|
||||||
|
placeholder="请输入" :disabled="judgeWrite('overdueAnnualizedUpper')" clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" v-if="judgeShow('underpaymentRateDown')">
|
||||||
|
<jnpf-form-tip-item label="压款比例下限" v-if="judgeShow('underpaymentRateDown')" prop="underpaymentRateDown">
|
||||||
|
<JnpfInput v-model="dataForm.underpaymentRateDown" @change="changeData('underpaymentRateDown',-1)"
|
||||||
|
placeholder="请输入" :disabled="judgeWrite('underpaymentRateDown')" clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" v-if="judgeShow('underpaymentRateUpper')">
|
||||||
|
<jnpf-form-tip-item label="压款比例上限" v-if="judgeShow('underpaymentRateUpper')" prop="underpaymentRateUpper">
|
||||||
|
<JnpfInput v-model="dataForm.underpaymentRateUpper" @change="changeData('underpaymentRateUpper',-1)"
|
||||||
|
placeholder="请输入" :disabled="judgeWrite('underpaymentRateUpper')" clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" v-if="judgeShow('marginRateDown')">
|
||||||
|
<jnpf-form-tip-item label="保证金比例下限" v-if="judgeShow('marginRateDown')" prop="marginRateDown">
|
||||||
|
<JnpfInput v-model="dataForm.marginRateDown" @change="changeData('marginRateDown',-1)" placeholder="请输入"
|
||||||
|
:disabled="judgeWrite('marginRateDown')" clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" v-if="judgeShow('marginRateUpper')">
|
||||||
|
<jnpf-form-tip-item label="保证金比例上限" v-if="judgeShow('marginRateUpper')" prop="marginRateUpper">
|
||||||
|
<JnpfInput v-model="dataForm.marginRateUpper" @change="changeData('marginRateUpper',-1)" placeholder="请输入"
|
||||||
|
:disabled="judgeWrite('marginRateUpper')" clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" v-if="judgeShow('overdueMonthlyDown')">
|
||||||
|
<jnpf-form-tip-item label="逾期月化下限" v-if="judgeShow('overdueMonthlyDown')" prop="overdueMonthlyDown">
|
||||||
|
<JnpfInput v-model="dataForm.overdueMonthlyDown" @change="changeData('overdueMonthlyDown',-1)"
|
||||||
|
placeholder="请输入" :disabled="judgeWrite('overdueMonthlyDown')" clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" v-if="judgeShow('overdueMonthlyUpper')">
|
||||||
|
<jnpf-form-tip-item label="逾期月化上限" v-if="judgeShow('overdueMonthlyUpper')" prop="overdueMonthlyUpper">
|
||||||
|
<JnpfInput v-model="dataForm.overdueMonthlyUpper" @change="changeData('overdueMonthlyUpper',-1)"
|
||||||
|
placeholder="请输入" :disabled="judgeWrite('overdueMonthlyUpper')" clearable :style='{"width":"100%"}'>
|
||||||
|
</JnpfInput>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<!-- 表单结束 -->
|
||||||
|
</template>
|
||||||
|
<SelectDialog v-if="selectDialogVisible" :config="currTableConf" :formData="dataForm" ref="selectDialog"
|
||||||
|
@select="addForSelect" @close="selectDialogVisible=false" />
|
||||||
|
</el-form>
|
||||||
|
</el-row>
|
||||||
|
<UserBox v-if="userBoxVisible" ref="userBox" @submit="submit" />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import request from '@/utils/request'
|
||||||
|
import {
|
||||||
|
mapGetters
|
||||||
|
} from "vuex";
|
||||||
|
import {
|
||||||
|
getFormById
|
||||||
|
} from '@/api/workFlow/FormDesign'
|
||||||
|
import comMixin from '@/views/workFlow/workFlowForm/mixin';
|
||||||
|
import {
|
||||||
|
getDataInterfaceRes
|
||||||
|
} from '@/api/systemData/dataInterface'
|
||||||
|
import {
|
||||||
|
getDictionaryDataSelector
|
||||||
|
} from '@/api/systemData/dictionary'
|
||||||
|
import {
|
||||||
|
getDefaultCurrentValueUserId
|
||||||
|
} from '@/api/permission/user'
|
||||||
|
import {
|
||||||
|
getDefaultCurrentValueDepartmentId
|
||||||
|
} from '@/api/permission/organize'
|
||||||
|
import {
|
||||||
|
getDateDay,
|
||||||
|
getLaterData,
|
||||||
|
getBeforeData,
|
||||||
|
getBeforeTime,
|
||||||
|
getLaterTime
|
||||||
|
} from '@/components/Generator/utils/index.js'
|
||||||
|
import {
|
||||||
|
thousandsFormat
|
||||||
|
} from "@/components/Generator/utils/index"
|
||||||
|
export default {
|
||||||
|
mixins: [comMixin],
|
||||||
|
components: {},
|
||||||
|
props: [],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
dataFormSubmitType: 0,
|
||||||
|
continueBtnLoading: false,
|
||||||
|
index: 0,
|
||||||
|
prevDis: false,
|
||||||
|
nextDis: false,
|
||||||
|
allList: [],
|
||||||
|
visible: false,
|
||||||
|
loading: false,
|
||||||
|
btnLoading: false,
|
||||||
|
formRef: 'formRef',
|
||||||
|
setting: {},
|
||||||
|
eventType: '',
|
||||||
|
userBoxVisible: false,
|
||||||
|
selectDialogVisible: false,
|
||||||
|
currTableConf: {},
|
||||||
|
dataValueAll: {},
|
||||||
|
addTableConf: {},
|
||||||
|
//可选范围默认值
|
||||||
|
ableAll: {},
|
||||||
|
tableRows: {},
|
||||||
|
Vmodel: "",
|
||||||
|
currVmodel: "",
|
||||||
|
dataForm: {
|
||||||
|
underpaymentMethod: "1",
|
||||||
|
underpaymentAmountDown: undefined,
|
||||||
|
underpaymentAmountUpper: undefined,
|
||||||
|
marginMethod: "1",
|
||||||
|
marginAmountDown: undefined,
|
||||||
|
marginAmountUpper: undefined,
|
||||||
|
overdueMethod: "1",
|
||||||
|
overdueAnnualizedDown: undefined,
|
||||||
|
overdueAnnualizedUpper: undefined,
|
||||||
|
underpaymentRateDown: undefined,
|
||||||
|
underpaymentRateUpper: undefined,
|
||||||
|
marginRateDown: undefined,
|
||||||
|
marginRateUpper: undefined,
|
||||||
|
overdueMonthlyDown: undefined,
|
||||||
|
overdueMonthlyUpper: undefined,
|
||||||
|
},
|
||||||
|
tableRequiredData: {},
|
||||||
|
dataRule: {
|
||||||
|
underpaymentMethod: [{
|
||||||
|
required: true,
|
||||||
|
message: '请至少选择一个',
|
||||||
|
trigger: 'change'
|
||||||
|
}, ],
|
||||||
|
underpaymentAmountDown: [{
|
||||||
|
required: true,
|
||||||
|
message: '请输入',
|
||||||
|
trigger: 'blur'
|
||||||
|
}, ],
|
||||||
|
underpaymentAmountUpper: [{
|
||||||
|
required: true,
|
||||||
|
message: '请输入',
|
||||||
|
trigger: 'blur'
|
||||||
|
}, ],
|
||||||
|
},
|
||||||
|
underpaymentMethodOptions: [{
|
||||||
|
"fullName": "无",
|
||||||
|
"id": "1"
|
||||||
|
}, {
|
||||||
|
"fullName": "按金额",
|
||||||
|
"id": "2"
|
||||||
|
}, {
|
||||||
|
"fullName": "按比例",
|
||||||
|
"id": "3"
|
||||||
|
}],
|
||||||
|
underpaymentMethodProps: {
|
||||||
|
"label": "fullName",
|
||||||
|
"value": "id"
|
||||||
|
},
|
||||||
|
marginMethodOptions: [{
|
||||||
|
"fullName": "无",
|
||||||
|
"id": "1"
|
||||||
|
}, {
|
||||||
|
"fullName": "按金额",
|
||||||
|
"id": "2"
|
||||||
|
}, {
|
||||||
|
"fullName": "按比例",
|
||||||
|
"id": "3"
|
||||||
|
}],
|
||||||
|
marginMethodProps: {
|
||||||
|
"label": "fullName",
|
||||||
|
"value": "id"
|
||||||
|
},
|
||||||
|
overdueMethodOptions: [{
|
||||||
|
"fullName": "按年化",
|
||||||
|
"id": "1"
|
||||||
|
}, {
|
||||||
|
"fullName": "按月化",
|
||||||
|
"id": "2"
|
||||||
|
}],
|
||||||
|
overdueMethodProps: {
|
||||||
|
"label": "fullName",
|
||||||
|
"value": "id"
|
||||||
|
},
|
||||||
|
childIndex: -1,
|
||||||
|
isEdit: false,
|
||||||
|
interfaceRes: {
|
||||||
|
underpaymentMethod: [],
|
||||||
|
underpaymentAmountDown: [],
|
||||||
|
underpaymentAmountUpper: [],
|
||||||
|
marginMethod: [],
|
||||||
|
marginAmountDown: [],
|
||||||
|
marginAmountUpper: [],
|
||||||
|
overdueMethod: [],
|
||||||
|
overdueAnnualizedDown: [],
|
||||||
|
overdueAnnualizedUpper: [],
|
||||||
|
underpaymentRateDown: [],
|
||||||
|
underpaymentRateUpper: [],
|
||||||
|
marginRateDown: [],
|
||||||
|
marginRateUpper: [],
|
||||||
|
overdueMonthlyDown: [],
|
||||||
|
overdueMonthlyUpper: [],
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
formOperates() {
|
||||||
|
return this.setting.formOperates
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {},
|
||||||
|
created() {
|
||||||
|
this.getFormById()
|
||||||
|
if (this.dataForm.id == null || this.dataForm.id == '' && this.dataForm.id == undefined || this.dataForm.id ==
|
||||||
|
0) {
|
||||||
|
this.initDefaultData()
|
||||||
|
}
|
||||||
|
this.dataValueAll = JSON.parse(JSON.stringify(this.dataForm))
|
||||||
|
},
|
||||||
|
mounted() {},
|
||||||
|
methods: {
|
||||||
|
changeData(model, index) {
|
||||||
|
this.isEdit = false
|
||||||
|
this.childIndex = index
|
||||||
|
let modelAll = model.split("-");
|
||||||
|
let faceMode = "";
|
||||||
|
for (let i = 0; i < modelAll.length; i++) {
|
||||||
|
faceMode += modelAll[i];
|
||||||
|
}
|
||||||
|
for (let key in this.interfaceRes) {
|
||||||
|
if (key != faceMode) {
|
||||||
|
let faceReList = this.interfaceRes[key]
|
||||||
|
for (let i = 0; i < faceReList.length; i++) {
|
||||||
|
if (faceReList[i].relationField == model) {
|
||||||
|
let options = 'get' + key + 'Options';
|
||||||
|
if (this[options]) {
|
||||||
|
this[options]()
|
||||||
|
}
|
||||||
|
this.changeData(key, index)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
changeDataFormData(type, data, model, index, defaultValue) {
|
||||||
|
if (!this.isEdit) {
|
||||||
|
if (type == 2) {
|
||||||
|
for (let i = 0; i < this.dataForm[data].length; i++) {
|
||||||
|
if (index == -1) {
|
||||||
|
this.dataForm[data][i][model] = defaultValue
|
||||||
|
} else if (index == i) {
|
||||||
|
this.dataForm[data][i][model] = defaultValue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.dataForm[data] = defaultValue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
dataAll() {},
|
||||||
|
selfGetInfo(dataForm) {
|
||||||
|
this.dataInfo(dataForm)
|
||||||
|
},
|
||||||
|
beforeSubmit() {
|
||||||
|
const _data = this.dataList()
|
||||||
|
return _data
|
||||||
|
},
|
||||||
|
selfInit() {
|
||||||
|
this.dataAll()
|
||||||
|
},
|
||||||
|
getFormById() {
|
||||||
|
getFormById("521677714441116549").then(res => {
|
||||||
|
this.dataForm.flowId = res.data && res.data.flowId
|
||||||
|
// this.encode = res.data&&res.data.encode
|
||||||
|
})
|
||||||
|
},
|
||||||
|
exist() {
|
||||||
|
let isOk = true
|
||||||
|
for (let key in this.tableRequiredData) {
|
||||||
|
if (this.dataForm[key] && Array.isArray(this.dataForm[key])) {
|
||||||
|
for (let i = 0; i < this.dataForm[key].length; i++) {
|
||||||
|
let item = this.dataForm[key][i]
|
||||||
|
inner: for (let id in item) {
|
||||||
|
let arr = this.tableRequiredData[key].filter(o => o.id === id) || []
|
||||||
|
if (!arr.length) continue inner
|
||||||
|
if (arr[0].required) {
|
||||||
|
let msg = `${arr[0].name}不能为空`
|
||||||
|
let boo = true
|
||||||
|
if (arr[0].dataType === 'array') {
|
||||||
|
boo = !this.jnpf.isEmptyArray(item[id])
|
||||||
|
} else {
|
||||||
|
boo = !this.jnpf.isEmpty(item[id])
|
||||||
|
}
|
||||||
|
if (!boo) {
|
||||||
|
this.$message({
|
||||||
|
message: msg,
|
||||||
|
type: 'error',
|
||||||
|
duration: 1000
|
||||||
|
})
|
||||||
|
isOk = false
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return isOk
|
||||||
|
},
|
||||||
|
clearData() {
|
||||||
|
this.dataForm = JSON.parse(JSON.stringify(this.dataValueAll))
|
||||||
|
},
|
||||||
|
//初始化默认数据
|
||||||
|
initDefaultData() {
|
||||||
|
|
||||||
|
},
|
||||||
|
openSelectDialog(key) {
|
||||||
|
this.currTableConf = this.addTableConf[key]
|
||||||
|
this.currVmodel = key
|
||||||
|
this.selectDialogVisible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.selectDialog.init()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
addForSelect(data) {
|
||||||
|
for (let i = 0; i < data.length; i++) {
|
||||||
|
let t = data[i]
|
||||||
|
if (this['get' + this.currVmodel]) {
|
||||||
|
this['get' + this.currVmodel](t)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
dateTime(timeRule, timeType, timeTarget, timeValueData, dataValue) {
|
||||||
|
let timeDataValue = null;
|
||||||
|
let timeValue = Number(timeValueData)
|
||||||
|
if (timeRule) {
|
||||||
|
if (timeType == 1) {
|
||||||
|
timeDataValue = timeValue
|
||||||
|
} else if (timeType == 2) {
|
||||||
|
timeDataValue = dataValue
|
||||||
|
} else if (timeType == 3) {
|
||||||
|
timeDataValue = new Date().getTime()
|
||||||
|
} else if (timeType == 4) {
|
||||||
|
let previousDate = '';
|
||||||
|
if (timeTarget == 1 || timeTarget == 2) {
|
||||||
|
previousDate = getDateDay(timeTarget, timeType, timeValue)
|
||||||
|
timeDataValue = new Date(previousDate).getTime()
|
||||||
|
} else if (timeTarget == 3) {
|
||||||
|
previousDate = getBeforeData(timeValue)
|
||||||
|
timeDataValue = new Date(previousDate).getTime()
|
||||||
|
} else {
|
||||||
|
timeDataValue = getBeforeTime(timeTarget, timeValue).getTime()
|
||||||
|
}
|
||||||
|
} else if (timeType == 5) {
|
||||||
|
let previousDate = '';
|
||||||
|
if (timeTarget == 1 || timeTarget == 2) {
|
||||||
|
previousDate = getDateDay(timeTarget, timeType, timeValue)
|
||||||
|
timeDataValue = new Date(previousDate).getTime()
|
||||||
|
} else if (timeTarget == 3) {
|
||||||
|
previousDate = getLaterData(timeValue)
|
||||||
|
timeDataValue = new Date(previousDate).getTime()
|
||||||
|
} else {
|
||||||
|
timeDataValue = getLaterTime(timeTarget, timeValue).getTime()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return timeDataValue;
|
||||||
|
},
|
||||||
|
time(timeRule, timeType, timeTarget, timeValue, formatType, dataValue) {
|
||||||
|
let format = formatType == 'HH:mm' ? 'HH:mm:00' : formatType
|
||||||
|
let timeDataValue = null
|
||||||
|
if (timeRule) {
|
||||||
|
if (timeType == 1) {
|
||||||
|
timeDataValue = timeValue || '00:00:00'
|
||||||
|
if (timeDataValue.split(':').length == 3) {
|
||||||
|
timeDataValue = timeDataValue
|
||||||
|
} else {
|
||||||
|
timeDataValue = timeDataValue + ':00'
|
||||||
|
}
|
||||||
|
} else if (timeType == 2) {
|
||||||
|
timeDataValue = dataValue
|
||||||
|
} else if (timeType == 3) {
|
||||||
|
timeDataValue = this.jnpf.toDate(new Date(), format)
|
||||||
|
} else if (timeType == 4) {
|
||||||
|
let previousDate = '';
|
||||||
|
previousDate = getBeforeTime(timeTarget, timeValue)
|
||||||
|
timeDataValue = this.jnpf.toDate(previousDate, format)
|
||||||
|
} else if (timeType == 5) {
|
||||||
|
let previousDate = '';
|
||||||
|
previousDate = getLaterTime(timeTarget, timeValue)
|
||||||
|
timeDataValue = this.jnpf.toDate(previousDate, format)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return timeDataValue;
|
||||||
|
},
|
||||||
|
dataList() {
|
||||||
|
var _data = this.dataForm;
|
||||||
|
return _data;
|
||||||
|
},
|
||||||
|
dataInfo(dataAll) {
|
||||||
|
let _dataAll = dataAll
|
||||||
|
this.dataForm = _dataAll
|
||||||
|
this.isEdit = true
|
||||||
|
this.dataAll()
|
||||||
|
this.childIndex = -1
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
Loading…
Reference in new issue