parent
7507efd7d7
commit
fd56d507a8
@ -0,0 +1,34 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="jnpf.mapper.SubjectcreditratingnoMapper">
|
||||
|
||||
<resultMap id="queryDefaultCreditrules" type="jnpf.entity.SubjectcreditratingnoEntity">
|
||||
<id column="id" property="id"/>
|
||||
<result column="underpayment_amount_down" property="underpaymentAmountDown"/>
|
||||
<result column="underpayment_amount_upper" property="underpaymentAmountUpper"/>
|
||||
<result column="underpayment_rate_down" property="underpaymentRateDown"/>
|
||||
<result column="underpayment_rate_upper" property="underpaymentRateUpper"/>
|
||||
<result column="margin_amount_down" property="marginAmountDown"/>
|
||||
<result column="margin_amount_upper" property="marginAmountUpper"/>
|
||||
<result column="margin_rate_down" property="marginRateDown"/>
|
||||
<result column="margin_rate_upper" property="marginRateUpper"/>
|
||||
<result column="overdue_annualized_down" property="overdueAnnualizedDown"/>
|
||||
<result column="overdue_annualized_upper" property="overdueAnnualizedUpper"/>
|
||||
<result column="overdue_monthly_down" property="overdueMonthlyDown"/>
|
||||
<result column="overdue_monthly_upper" property="overdueMonthlyUpper"/>
|
||||
</resultMap>
|
||||
|
||||
<select id="queryDefaultCreditrules" parameterType="jnpf.entity.SubjectcreditratingnoEntity" resultMap="queryDefaultCreditrules">
|
||||
select a.* from jg_subject_credit_rating_no a
|
||||
left join flow_task b on a.id = b.f_id
|
||||
where a.f_delete_mark is null and b.f_current_node_code = 'end' and f_status = 2 and f_completion = 100
|
||||
<if test="companyId != null and companyId != ''">
|
||||
AND a.company_id= #{companyId}
|
||||
</if>
|
||||
<if test="businessType != null and businessType != ''">
|
||||
AND a.business_type= #{businessType}
|
||||
</if>
|
||||
ORDER BY b.f_last_modify_time DESC LIMIT 1
|
||||
</select>
|
||||
|
||||
</mapper>
|
@ -0,0 +1,43 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="jnpf.mapper.SubjectcreditrulesMapper">
|
||||
|
||||
<resultMap id="queryDefaultCreditrules" type="jnpf.entity.SubjectcreditrulesEntity">
|
||||
<id column="id" property="id"/>
|
||||
<result column="business_no" property="businessNo"/>
|
||||
<result column="business_type" property="businessType"/>
|
||||
<result column="category_name2" property="categoryName"/>
|
||||
<result column="project_name2" property="projectName"/>
|
||||
<result column="rule_description" property="ruleDescription"/>
|
||||
<result column="annex" property="annex"/>
|
||||
</resultMap>
|
||||
|
||||
<select id="queryDefaultCreditrules" parameterType="jnpf.entity.SubjectcreditrulesEntity" resultMap="queryDefaultCreditrules">
|
||||
select a.*,d.F_Full_name category_name2,e.F_Full_name project_name2 from jg_subject_credit_rules a
|
||||
left join flow_task b on a.id = b.f_id
|
||||
LEFT JOIN (SELECT * from base_dictionary_data where f_dictionary_type_id = '522733511912730437') d ON a.category_name = d.F_En_Code
|
||||
LEFT JOIN (SELECT * from base_dictionary_data where f_dictionary_type_id = '522733676014874437') e ON a.project_name = e.F_En_Code
|
||||
where a.f_delete_mark is null and b.f_current_node_code = 'end' and f_status = 2 and f_completion = 100 and
|
||||
a.id not in (SELECT c.id FROM (select a.id,MIN(a.f_last_modify_time) aa from jg_subject_credit_rules a
|
||||
left join flow_task b on a.id = b.f_id
|
||||
where a.f_delete_mark is null and b.f_current_node_code = 'end' and f_status = 2 and f_completion = 100
|
||||
<if test="companyId != null and companyId != ''">
|
||||
AND a.company_id= #{companyId}
|
||||
</if>
|
||||
<if test="businessType != null and businessType != ''">
|
||||
AND a.business_type= #{businessType}
|
||||
</if>
|
||||
GROUP BY
|
||||
business_type,category_name,project_name
|
||||
HAVING
|
||||
count( business_type )> 1) c)
|
||||
<if test="companyId != null and companyId != ''">
|
||||
AND a.company_id= #{companyId}
|
||||
</if>
|
||||
<if test="businessType != null and businessType != ''">
|
||||
AND a.business_type= #{businessType}
|
||||
</if>
|
||||
ORDER BY a.category_name,a.project_name
|
||||
</select>
|
||||
|
||||
</mapper>
|
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
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,366 @@
|
||||
<template>
|
||||
<div class="CommonForm-container app-container nohead">
|
||||
<div class="dataForm">
|
||||
<el-form ref="dataForm" :model="dataForm" :rules="dataRule" label-width="110px" class="mt-10">
|
||||
<el-col :span="24">
|
||||
<jnpf-form-tip-item>
|
||||
<JnpfGroupTitle content="结算规则" contentPosition="left">
|
||||
</JnpfGroupTitle>
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="压款金额" class="mt-10">
|
||||
<el-input v-model="defaultSettlementRules.underpaymentAmountDown" placeholder="" readonly :style='{"width":"40%"}'>
|
||||
<template slot="append">元</template>
|
||||
</el-input>
|
||||
<label>至</label>
|
||||
<el-input v-model="defaultSettlementRules.underpaymentAmountUpper" placeholder="" readonly :style='{"width":"40%"}'>
|
||||
<template slot="append">元</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="压款比例" class="mt-10">
|
||||
<el-input v-model="defaultSettlementRules.underpaymentRateDown" placeholder="" readonly :style='{"width":"40%"}'>
|
||||
<template slot="append">%</template>
|
||||
</el-input>
|
||||
<label>至</label>
|
||||
<el-input v-model="defaultSettlementRules.underpaymentRateUpper" placeholder="" readonly :style='{"width":"40%"}'>
|
||||
<template slot="append">%</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="保证金金额" class="mt-10">
|
||||
<el-input v-model="defaultSettlementRules.marginAmountDown" placeholder="" readonly :style='{"width":"40%"}'>
|
||||
<template slot="append">元</template>
|
||||
</el-input>
|
||||
<label>至</label>
|
||||
<el-input v-model="defaultSettlementRules.marginAmountUpper" placeholder="" readonly :style='{"width":"40%"}'>
|
||||
<template slot="append">元</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="保证金比例" class="mt-10">
|
||||
<el-input v-model="defaultSettlementRules.marginRateDown" placeholder="" readonly :style='{"width":"40%"}'>
|
||||
<template slot="append">%</template>
|
||||
</el-input>
|
||||
<label>至</label>
|
||||
<el-input v-model="defaultSettlementRules.marginRateUpper" placeholder="" readonly :style='{"width":"40%"}'>
|
||||
<template slot="append">%</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="逾期年化" class="mt-10">
|
||||
<el-input v-model="defaultSettlementRules.overdueAnnualizedDown" placeholder="" readonly :style='{"width":"40%"}'>
|
||||
<template slot="append">%</template>
|
||||
</el-input>
|
||||
<label>至</label>
|
||||
<el-input v-model="defaultSettlementRules.overdueAnnualizedUpper" placeholder="" readonly :style='{"width":"40%"}'>
|
||||
<template slot="append">%</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="逾期月化" class="mt-10">
|
||||
<el-input v-model="defaultSettlementRules.overdueMonthlyDown" placeholder="" readonly :style='{"width":"40%"}'>
|
||||
<template slot="append">%</template>
|
||||
</el-input>
|
||||
<label>至</label>
|
||||
<el-input v-model="defaultSettlementRules.overdueMonthlyUpper" placeholder="" readonly :style='{"width":"40%"}'>
|
||||
<template slot="append">%</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<jnpf-form-tip-item>
|
||||
<JnpfGroupTitle content="账期规则" contentPosition="left">
|
||||
</JnpfGroupTitle>
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<jnpf-form-tip-item>
|
||||
<el-table :data="defaultAccountPeriodRules" size='mini'>
|
||||
<el-table-column type="index" width="50" label="序号" align="center" />
|
||||
<el-table-column label="信用级别" width="100"
|
||||
prop="creditRating">
|
||||
<template slot="header">
|
||||
<span class="required-sign" >*</span>信用级别
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfSelect v-model="scope.row.creditRating" placeholder="请选择"
|
||||
:disabled="true"
|
||||
clearable :style='{"width":"100%"}' :options="subjectaccountperiodrulescreditRatingOptions"
|
||||
:props="subjectaccountperiodrulescreditRatingProps">
|
||||
</JnpfSelect>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="合作方式" width="100"
|
||||
prop="cooperateType">
|
||||
<template slot="header">
|
||||
<span class="required-sign">*</span>合作方式
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfSelect v-model="scope.row.cooperateType" placeholder="请选择"
|
||||
:disabled="true"
|
||||
clearable :style='{"width":"100%"}' :options="subjectaccountperiodrulescooperateTypeOptions"
|
||||
:props="subjectaccountperiodrulescooperateTypeProps">
|
||||
</JnpfSelect>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="结算方式" width="150"
|
||||
prop="settlementType">
|
||||
<template slot="header">
|
||||
<span class="required-sign" >*</span>结算方式
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfSelect v-model="scope.row.settlementType" placeholder="请选择"
|
||||
:disabled="true"
|
||||
clearable :style='{"width":"100%"}' :options="subjectaccountperiodrulessettlementTypeOptions"
|
||||
:props="subjectaccountperiodrulessettlementTypeProps">
|
||||
</JnpfSelect>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="预付比例"
|
||||
prop="advanceRatioDown">
|
||||
<template slot="header">
|
||||
<span class="required-sign" >*</span>预付比例(%)
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.advanceRatioDown" placeholder="请输入"
|
||||
:disabled="true"
|
||||
clearable :style='{"width":"40%"}'>
|
||||
</JnpfInput>
|
||||
<label>至</label>
|
||||
<JnpfInput v-model="scope.row.advanceRatioUpper" placeholder="请输入"
|
||||
:disabled="true"
|
||||
clearable :style='{"width":"40%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="账期"
|
||||
prop="accountPeriodDown">
|
||||
<template slot="header">
|
||||
<span class="required-sign" >*</span>账期(天)
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.accountPeriodDown" placeholder="请输入"
|
||||
:disabled="true"
|
||||
clearable :style='{"width":"40%"}'>
|
||||
</JnpfInput>
|
||||
<label>至</label>
|
||||
<JnpfInput v-model="scope.row.accountPeriodUpper"
|
||||
placeholder="请输入"
|
||||
:disabled="true"
|
||||
clearable :style='{"width":"40%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="授信额度"
|
||||
prop="fundLimitDown">
|
||||
<template slot="header">
|
||||
<span class="required-sign" >*</span>授信额度(元)
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.fundLimitDown" placeholder="请输入"
|
||||
:disabled="true"
|
||||
clearable :style='{"width":"40%"}'>
|
||||
</JnpfInput>
|
||||
<label>至</label>
|
||||
<JnpfInput v-model="scope.row.fundLimitUpper" placeholder="请输入"
|
||||
:disabled="true"
|
||||
clearable :style='{"width":"40%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="开始时间" width="160" prop="startTime">
|
||||
<template slot="header">
|
||||
<span class="required-sign" >*</span>开始时间
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<el-date-picker
|
||||
v-model="scope.row.startTime"
|
||||
type="date"
|
||||
:disabled="true"
|
||||
placeholder="选择日期" format="yyyy-MM-dd">
|
||||
</el-date-picker>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="结束时间" width="160" prop="endTime">
|
||||
<template slot="header">
|
||||
<span class="required-sign" >*</span>结束时间
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<el-date-picker
|
||||
v-model="scope.row.endTime"
|
||||
type="date"
|
||||
:disabled="true"
|
||||
placeholder="选择日期" format="yyyy-MM-dd">
|
||||
</el-date-picker>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="规则说明" width="200"
|
||||
prop="ruleDescription">
|
||||
<template slot="header">
|
||||
<span class="required-sign" >*</span>规则说明
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfTextarea v-model="scope.row.ruleDescription" placeholder="请输入"
|
||||
:disabled="true"
|
||||
:style='{"width":"100%"}' true type="textarea" :autosize='{"minRows":4,"maxRows":4}'>
|
||||
</JnpfTextarea>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
</el-form>
|
||||
</div>
|
||||
<Form v-if="formVisible" ref="form" @refreshDataList="initData" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { CustomerList, GoodsList } from '@/api/extend/order'
|
||||
import Form from '@/views/extend/order/GoodsBox'
|
||||
import { queryDefaultSettlementRules, queryDefaultAccountPeriodRules } from '@/api/extend/scm'
|
||||
export default {
|
||||
name: 'extend-formDemo-fieldForm5',
|
||||
components: { Form },
|
||||
data() {
|
||||
return {
|
||||
defaultSettlementRules: {},
|
||||
defaultAccountPeriodRules: [],
|
||||
dataForm: {
|
||||
CustomerName: '',
|
||||
CustomerCode: '',
|
||||
Goods: '',
|
||||
GoodsCode: '',
|
||||
Specifications: '',
|
||||
Unit: '',
|
||||
Price: '',
|
||||
},
|
||||
dataRule: {},
|
||||
options: [],
|
||||
formVisible: false,
|
||||
subjectaccountperiodrulescreditRatingOptions: [{
|
||||
"fullName": "一星",
|
||||
"id": "1"
|
||||
}, {
|
||||
"fullName": "二星",
|
||||
"id": "2"
|
||||
}, {
|
||||
"fullName": "三星",
|
||||
"id": "3"
|
||||
}, {
|
||||
"fullName": "四星",
|
||||
"id": "4"
|
||||
}, {
|
||||
"fullName": "五星",
|
||||
"id": "5"
|
||||
}],
|
||||
subjectaccountperiodrulescreditRatingProps: {
|
||||
"label": "fullName",
|
||||
"value": "id"
|
||||
},
|
||||
subjectaccountperiodrulescooperateTypeOptions: [{
|
||||
"fullName": "买断",
|
||||
"id": "1"
|
||||
}, {
|
||||
"fullName": "联营",
|
||||
"id": "2"
|
||||
}],
|
||||
subjectaccountperiodrulescooperateTypeProps: {
|
||||
"label": "fullName",
|
||||
"value": "id"
|
||||
},
|
||||
subjectaccountperiodrulessettlementTypeOptions: [{
|
||||
"fullName": "先货后款",
|
||||
"id": "1"
|
||||
}, {
|
||||
"fullName": "先款后货",
|
||||
"id": "2"
|
||||
}],
|
||||
subjectaccountperiodrulessettlementTypeProps: {
|
||||
"label": "fullName",
|
||||
"value": "id"
|
||||
},
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.init()
|
||||
},
|
||||
methods: {
|
||||
init() {
|
||||
//查询生效的结算规则和账期规则
|
||||
queryDefaultSettlementRules('1').then(res => {
|
||||
this.defaultSettlementRules = res.data
|
||||
})
|
||||
queryDefaultAccountPeriodRules('1').then(res => {
|
||||
debugger
|
||||
this.defaultAccountPeriodRules = res.data.tableField102
|
||||
})
|
||||
/* CustomerList().then(res => {
|
||||
this.options = res.data.list
|
||||
}) */
|
||||
},
|
||||
dataFormSubmit() {
|
||||
this.$refs['dataForm'].validate((valid) => {
|
||||
if (valid) {
|
||||
// this.$message({
|
||||
// message: '验证成功',
|
||||
// type: 'success',
|
||||
// duration: 1500,
|
||||
// })
|
||||
}
|
||||
})
|
||||
},
|
||||
handleChange(val) { },
|
||||
choice() {
|
||||
this.formVisible = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.form.init()
|
||||
})
|
||||
},
|
||||
initData(list) {
|
||||
let GoodsList = [], GoodsCodeList = [], SpecificationsList = [], UnitList = [], Price = []
|
||||
for (let i = 0; i < list.length; i++) {
|
||||
const e = list[i];
|
||||
GoodsList.push(e.text)
|
||||
GoodsCodeList.push(e.code)
|
||||
SpecificationsList.push(e.specifications)
|
||||
UnitList.push(e.unit)
|
||||
Price.push(e.price)
|
||||
}
|
||||
this.dataForm.Goods = GoodsList.join(',')
|
||||
this.dataForm.GoodsCode = GoodsCodeList.join(',')
|
||||
this.dataForm.Specifications = SpecificationsList.join(',')
|
||||
this.dataForm.Unit = UnitList.join(',')
|
||||
this.dataForm.Price = Price.join(',')
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.CommonForm-container {
|
||||
.JNPF-common-head {
|
||||
height: 50px;
|
||||
border-bottom: 1px solid #ddd;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.dataForm {
|
||||
flex: 1;
|
||||
overflow: auto;
|
||||
.el-input {
|
||||
width: 300px;
|
||||
}
|
||||
.tip {
|
||||
margin-left: 10px;
|
||||
color: darkgray;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
File diff suppressed because it is too large
Load Diff
@ -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,574 @@
|
||||
|
||||
|
||||
|
||||
<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,
|
||||
businessType:'1',
|
||||
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
@ -0,0 +1,366 @@
|
||||
<template>
|
||||
<div class="CommonForm-container app-container nohead">
|
||||
<div class="dataForm">
|
||||
<el-form ref="dataForm" :model="dataForm" :rules="dataRule" label-width="110px" class="mt-10">
|
||||
<el-col :span="24">
|
||||
<jnpf-form-tip-item>
|
||||
<JnpfGroupTitle content="结算规则" contentPosition="left">
|
||||
</JnpfGroupTitle>
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="压款金额" class="mt-10">
|
||||
<el-input v-model="defaultSettlementRules.underpaymentAmountDown" placeholder="" readonly :style='{"width":"40%"}'>
|
||||
<template slot="append">元</template>
|
||||
</el-input>
|
||||
<label>至</label>
|
||||
<el-input v-model="defaultSettlementRules.underpaymentAmountUpper" placeholder="" readonly :style='{"width":"40%"}'>
|
||||
<template slot="append">元</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="压款比例" class="mt-10">
|
||||
<el-input v-model="defaultSettlementRules.underpaymentRateDown" placeholder="" readonly :style='{"width":"40%"}'>
|
||||
<template slot="append">%</template>
|
||||
</el-input>
|
||||
<label>至</label>
|
||||
<el-input v-model="defaultSettlementRules.underpaymentRateUpper" placeholder="" readonly :style='{"width":"40%"}'>
|
||||
<template slot="append">%</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="保证金金额" class="mt-10">
|
||||
<el-input v-model="defaultSettlementRules.marginAmountDown" placeholder="" readonly :style='{"width":"40%"}'>
|
||||
<template slot="append">元</template>
|
||||
</el-input>
|
||||
<label>至</label>
|
||||
<el-input v-model="defaultSettlementRules.marginAmountUpper" placeholder="" readonly :style='{"width":"40%"}'>
|
||||
<template slot="append">元</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="保证金比例" class="mt-10">
|
||||
<el-input v-model="defaultSettlementRules.marginRateDown" placeholder="" readonly :style='{"width":"40%"}'>
|
||||
<template slot="append">%</template>
|
||||
</el-input>
|
||||
<label>至</label>
|
||||
<el-input v-model="defaultSettlementRules.marginRateUpper" placeholder="" readonly :style='{"width":"40%"}'>
|
||||
<template slot="append">%</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="逾期年化" class="mt-10">
|
||||
<el-input v-model="defaultSettlementRules.overdueAnnualizedDown" placeholder="" readonly :style='{"width":"40%"}'>
|
||||
<template slot="append">%</template>
|
||||
</el-input>
|
||||
<label>至</label>
|
||||
<el-input v-model="defaultSettlementRules.overdueAnnualizedUpper" placeholder="" readonly :style='{"width":"40%"}'>
|
||||
<template slot="append">%</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="逾期月化" class="mt-10">
|
||||
<el-input v-model="defaultSettlementRules.overdueMonthlyDown" placeholder="" readonly :style='{"width":"40%"}'>
|
||||
<template slot="append">%</template>
|
||||
</el-input>
|
||||
<label>至</label>
|
||||
<el-input v-model="defaultSettlementRules.overdueMonthlyUpper" placeholder="" readonly :style='{"width":"40%"}'>
|
||||
<template slot="append">%</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<jnpf-form-tip-item>
|
||||
<JnpfGroupTitle content="账期规则" contentPosition="left">
|
||||
</JnpfGroupTitle>
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<jnpf-form-tip-item>
|
||||
<el-table :data="defaultAccountPeriodRules" size='mini'>
|
||||
<el-table-column type="index" width="50" label="序号" align="center" />
|
||||
<el-table-column label="信用级别" width="100"
|
||||
prop="creditRating">
|
||||
<template slot="header">
|
||||
<span class="required-sign" >*</span>信用级别
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfSelect v-model="scope.row.creditRating" placeholder="请选择"
|
||||
:disabled="true"
|
||||
clearable :style='{"width":"100%"}' :options="subjectaccountperiodrulescreditRatingOptions"
|
||||
:props="subjectaccountperiodrulescreditRatingProps">
|
||||
</JnpfSelect>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="合作方式" width="100"
|
||||
prop="cooperateType">
|
||||
<template slot="header">
|
||||
<span class="required-sign">*</span>合作方式
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfSelect v-model="scope.row.cooperateType" placeholder="请选择"
|
||||
:disabled="true"
|
||||
clearable :style='{"width":"100%"}' :options="subjectaccountperiodrulescooperateTypeOptions"
|
||||
:props="subjectaccountperiodrulescooperateTypeProps">
|
||||
</JnpfSelect>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="结算方式" width="150"
|
||||
prop="settlementType">
|
||||
<template slot="header">
|
||||
<span class="required-sign" >*</span>结算方式
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfSelect v-model="scope.row.settlementType" placeholder="请选择"
|
||||
:disabled="true"
|
||||
clearable :style='{"width":"100%"}' :options="subjectaccountperiodrulessettlementTypeOptions"
|
||||
:props="subjectaccountperiodrulessettlementTypeProps">
|
||||
</JnpfSelect>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="预付比例"
|
||||
prop="advanceRatioDown">
|
||||
<template slot="header">
|
||||
<span class="required-sign" >*</span>预付比例(%)
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.advanceRatioDown" placeholder="请输入"
|
||||
:disabled="true"
|
||||
clearable :style='{"width":"40%"}'>
|
||||
</JnpfInput>
|
||||
<label>至</label>
|
||||
<JnpfInput v-model="scope.row.advanceRatioUpper" placeholder="请输入"
|
||||
:disabled="true"
|
||||
clearable :style='{"width":"40%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="账期"
|
||||
prop="accountPeriodDown">
|
||||
<template slot="header">
|
||||
<span class="required-sign" >*</span>账期(天)
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.accountPeriodDown" placeholder="请输入"
|
||||
:disabled="true"
|
||||
clearable :style='{"width":"40%"}'>
|
||||
</JnpfInput>
|
||||
<label>至</label>
|
||||
<JnpfInput v-model="scope.row.accountPeriodUpper"
|
||||
placeholder="请输入"
|
||||
:disabled="true"
|
||||
clearable :style='{"width":"40%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="授信额度"
|
||||
prop="fundLimitDown">
|
||||
<template slot="header">
|
||||
<span class="required-sign" >*</span>授信额度(元)
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfInput v-model="scope.row.fundLimitDown" placeholder="请输入"
|
||||
:disabled="true"
|
||||
clearable :style='{"width":"40%"}'>
|
||||
</JnpfInput>
|
||||
<label>至</label>
|
||||
<JnpfInput v-model="scope.row.fundLimitUpper" placeholder="请输入"
|
||||
:disabled="true"
|
||||
clearable :style='{"width":"40%"}'>
|
||||
</JnpfInput>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="开始时间" width="160" prop="startTime">
|
||||
<template slot="header">
|
||||
<span class="required-sign" >*</span>开始时间
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<el-date-picker
|
||||
v-model="scope.row.startTime"
|
||||
type="date"
|
||||
:disabled="true"
|
||||
placeholder="选择日期" format="yyyy-MM-dd">
|
||||
</el-date-picker>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="结束时间" width="160" prop="endTime">
|
||||
<template slot="header">
|
||||
<span class="required-sign" >*</span>结束时间
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<el-date-picker
|
||||
v-model="scope.row.endTime"
|
||||
type="date"
|
||||
:disabled="true"
|
||||
placeholder="选择日期" format="yyyy-MM-dd">
|
||||
</el-date-picker>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="规则说明" width="200"
|
||||
prop="ruleDescription">
|
||||
<template slot="header">
|
||||
<span class="required-sign" >*</span>规则说明
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<JnpfTextarea v-model="scope.row.ruleDescription" placeholder="请输入"
|
||||
:disabled="true"
|
||||
:style='{"width":"100%"}' true type="textarea" :autosize='{"minRows":4,"maxRows":4}'>
|
||||
</JnpfTextarea>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
</el-form>
|
||||
</div>
|
||||
<Form v-if="formVisible" ref="form" @refreshDataList="initData" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { CustomerList, GoodsList } from '@/api/extend/order'
|
||||
import Form from '@/views/extend/order/GoodsBox'
|
||||
import { queryDefaultSettlementRules, queryDefaultAccountPeriodRules } from '@/api/extend/scm'
|
||||
export default {
|
||||
name: 'extend-formDemo-fieldForm5',
|
||||
components: { Form },
|
||||
data() {
|
||||
return {
|
||||
defaultSettlementRules: {},
|
||||
defaultAccountPeriodRules: [],
|
||||
dataForm: {
|
||||
CustomerName: '',
|
||||
CustomerCode: '',
|
||||
Goods: '',
|
||||
GoodsCode: '',
|
||||
Specifications: '',
|
||||
Unit: '',
|
||||
Price: '',
|
||||
},
|
||||
dataRule: {},
|
||||
options: [],
|
||||
formVisible: false,
|
||||
subjectaccountperiodrulescreditRatingOptions: [{
|
||||
"fullName": "一星",
|
||||
"id": "1"
|
||||
}, {
|
||||
"fullName": "二星",
|
||||
"id": "2"
|
||||
}, {
|
||||
"fullName": "三星",
|
||||
"id": "3"
|
||||
}, {
|
||||
"fullName": "四星",
|
||||
"id": "4"
|
||||
}, {
|
||||
"fullName": "五星",
|
||||
"id": "5"
|
||||
}],
|
||||
subjectaccountperiodrulescreditRatingProps: {
|
||||
"label": "fullName",
|
||||
"value": "id"
|
||||
},
|
||||
subjectaccountperiodrulescooperateTypeOptions: [{
|
||||
"fullName": "买断",
|
||||
"id": "1"
|
||||
}, {
|
||||
"fullName": "联营",
|
||||
"id": "2"
|
||||
}],
|
||||
subjectaccountperiodrulescooperateTypeProps: {
|
||||
"label": "fullName",
|
||||
"value": "id"
|
||||
},
|
||||
subjectaccountperiodrulessettlementTypeOptions: [{
|
||||
"fullName": "先货后款",
|
||||
"id": "1"
|
||||
}, {
|
||||
"fullName": "先款后货",
|
||||
"id": "2"
|
||||
}],
|
||||
subjectaccountperiodrulessettlementTypeProps: {
|
||||
"label": "fullName",
|
||||
"value": "id"
|
||||
},
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.init()
|
||||
},
|
||||
methods: {
|
||||
init() {
|
||||
//查询生效的结算规则和账期规则
|
||||
queryDefaultSettlementRules('1').then(res => {
|
||||
this.defaultSettlementRules = res.data
|
||||
})
|
||||
queryDefaultAccountPeriodRules('1').then(res => {
|
||||
debugger
|
||||
this.defaultAccountPeriodRules = res.data.tableField102
|
||||
})
|
||||
/* CustomerList().then(res => {
|
||||
this.options = res.data.list
|
||||
}) */
|
||||
},
|
||||
dataFormSubmit() {
|
||||
this.$refs['dataForm'].validate((valid) => {
|
||||
if (valid) {
|
||||
// this.$message({
|
||||
// message: '验证成功',
|
||||
// type: 'success',
|
||||
// duration: 1500,
|
||||
// })
|
||||
}
|
||||
})
|
||||
},
|
||||
handleChange(val) { },
|
||||
choice() {
|
||||
this.formVisible = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.form.init()
|
||||
})
|
||||
},
|
||||
initData(list) {
|
||||
let GoodsList = [], GoodsCodeList = [], SpecificationsList = [], UnitList = [], Price = []
|
||||
for (let i = 0; i < list.length; i++) {
|
||||
const e = list[i];
|
||||
GoodsList.push(e.text)
|
||||
GoodsCodeList.push(e.code)
|
||||
SpecificationsList.push(e.specifications)
|
||||
UnitList.push(e.unit)
|
||||
Price.push(e.price)
|
||||
}
|
||||
this.dataForm.Goods = GoodsList.join(',')
|
||||
this.dataForm.GoodsCode = GoodsCodeList.join(',')
|
||||
this.dataForm.Specifications = SpecificationsList.join(',')
|
||||
this.dataForm.Unit = UnitList.join(',')
|
||||
this.dataForm.Price = Price.join(',')
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.CommonForm-container {
|
||||
.JNPF-common-head {
|
||||
height: 50px;
|
||||
border-bottom: 1px solid #ddd;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.dataForm {
|
||||
flex: 1;
|
||||
overflow: auto;
|
||||
.el-input {
|
||||
width: 300px;
|
||||
}
|
||||
.tip {
|
||||
margin-left: 10px;
|
||||
color: darkgray;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
@ -0,0 +1,2 @@
|
||||
const columnList = [{"jnpfKey":"billRule","fullName":"单据号","label":"单据号","sortable":false,"align":"left","__config__":{"formId":101,"visibility":["pc","app"],"jnpfKey":"billRule","defaultValue":null,"noShow":false,"tipLabel":"","dragDisabled":false,"rule":"zqgz","className":[],"label":"单据号","trigger":"change","showLabel":true,"required":false,"tableName":"jg_subject_account_period_rules_no","renderKey":1706679999405,"layout":"colFormItem","tagIcon":"icon-ym icon-ym-generator-documents","ruleName":"风控配置-账期规则","tag":"JnpfInput","span":24},"readonly":true,"prop":"businessNo","width":0,"__vModel__":"businessNo","fixed":"none","style":{"width":"100%"},"id":"businessNo","placeholder":"系统自动生成"}]
|
||||
export default columnList
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue