Merge remote-tracking branch 'origin/branch20211008'
This commit is contained in:
@@ -13,7 +13,7 @@ window._CONFIG["casPrefixUrl"] = "http://cas.example.org:8443/cas";
|
|||||||
window._CONFIG["onlinePreviewDomainURL"] = "http://localhost:8012/onlinePreview";
|
window._CONFIG["onlinePreviewDomainURL"] = "http://localhost:8012/onlinePreview";
|
||||||
|
|
||||||
// 会议管理报名二维码地址
|
// 会议管理报名二维码地址
|
||||||
window._CONFIG['singUpQRCodeURL'] = 'http://10.0.1.27:21825/signUpEntrance'
|
window._CONFIG['singUpQRCodeURL'] = 'http://localhost:3000/signUpEntrance'
|
||||||
|
|
||||||
// 签到二维码url
|
// 签到二维码url
|
||||||
window._CONFIG['signInUrl'] = '/meeting/payMeetingSituation/getSignInPage'
|
window._CONFIG['signInUrl'] = '/meeting/payMeetingSituation/getSignInPage'
|
||||||
|
|||||||
@@ -1,24 +1,28 @@
|
|||||||
<!--进度组件-->
|
<!--进度组件-->
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
|
<!-- 三项非全0-->
|
||||||
<div class="progress" v-if="(data.allPayment + data.partPayment + data.notPayment) !== 0">
|
<div class="progress" v-if="(data.allPayment + data.partPayment + data.notPayment) !== 0">
|
||||||
<!-- 将全部付款和部分付款放入一个div中-->
|
<!-- 将全部付款和部分付款放入一个div中-->
|
||||||
<div class="full-and-partial"
|
<div class="full-and-partial"
|
||||||
:style="{width: (data.allPayment + data.partPayment)/(data.allPayment + data.partPayment + data.notPayment) * 100 + '%'}">
|
:style="{width: (data.allPayment + data.partPayment)/(data.allPayment + data.partPayment + data.notPayment) * 100 + '%'}">
|
||||||
|
<!-- 全部付款-->
|
||||||
<div :style="{width: data.allPayment/(data.allPayment + data.partPayment) * 100 + '%'}"
|
<div :style="{width: data.allPayment/(data.allPayment + data.partPayment) * 100 + '%'}"
|
||||||
class="progress-item pay-in-full">
|
class="progress-item pay-in-full" v-if="data.allPayment !== 0">
|
||||||
{{ data.allPayment }}
|
{{ data.allPayment }}
|
||||||
</div>
|
</div>
|
||||||
|
<!-- 部分付款-->
|
||||||
<div :style="{width: data.partPayment/(data.allPayment + data.partPayment) * 100 + '%'}"
|
<div :style="{width: data.partPayment/(data.allPayment + data.partPayment) * 100 + '%'}"
|
||||||
class="progress-item partial-payment">
|
class="progress-item partial-payment" v-if="data.partPayment !== 0">
|
||||||
{{ data.partPayment }}
|
{{ data.partPayment }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div :style="{width: data.notPayment/(data.allPayment + data.partPayment + data.notPayment) * 100 + '%'}"
|
<div :style="{width: data.notPayment/(data.allPayment + data.partPayment + data.notPayment) * 100 + '%'}"
|
||||||
class="progress-item non-payment">
|
class="progress-item non-payment" v-if="data.notPayment !== 0">
|
||||||
{{ data.notPayment }}
|
{{ data.notPayment }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- 三项均为0-->
|
||||||
<div class="progress progress-null" v-else>0</div>
|
<div class="progress progress-null" v-else>0</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -60,8 +64,12 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.no-display {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
.full-and-partial {
|
.full-and-partial {
|
||||||
background: linear-gradient(0deg,#0075a9 0%, #008dcc 100%);
|
background: linear-gradient(0deg, #0075a9 0%, #008dcc 100%);
|
||||||
display: flex;
|
display: flex;
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
@@ -77,11 +85,11 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.pay-in-full {
|
.pay-in-full {
|
||||||
background: linear-gradient(0deg,#069f99 0%, #07b1aa 100%);
|
background: linear-gradient(0deg, #069f99 0%, #07b1aa 100%);
|
||||||
}
|
}
|
||||||
|
|
||||||
.partial-payment {
|
.partial-payment {
|
||||||
background: linear-gradient(0deg,#0075a9 0%, #008dcc 100%);
|
background: linear-gradient(0deg, #0075a9 0%, #008dcc 100%);
|
||||||
}
|
}
|
||||||
|
|
||||||
.non-payment {
|
.non-payment {
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<div class="company-select">
|
<div class="company-select">
|
||||||
<a-row>
|
<a-row>
|
||||||
<a-col :span="20">
|
<a-col :span="20">
|
||||||
<a-input @click="chooseBusiness" :value="value[valueKey]" v-bind="$attrs" :readOnly="true"></a-input>
|
<a-input @click="chooseBusiness" :value="value[valueKey]" v-bind="$attrs" :readOnly="true" unselectable="on"></a-input>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="4" class="form-btn" v-if="canAdd">
|
<a-col :span="4" class="form-btn" v-if="canAdd">
|
||||||
<a-button v-bind="$attrs" icon="plus" @click="addCompany"></a-button>
|
<a-button v-bind="$attrs" icon="plus" @click="addCompany"></a-button>
|
||||||
|
|||||||
@@ -6,7 +6,9 @@
|
|||||||
allowClear
|
allowClear
|
||||||
option-filter-prop="children"
|
option-filter-prop="children"
|
||||||
:filter-option="filterOption">
|
:filter-option="filterOption">
|
||||||
<a-select-option v-for="item in userList" :key="item.id" :value="item.id">{{ `${item.realname}(${item.orgCodeTxt})` }}</a-select-option>
|
<a-select-option v-for="item in userList" :key="item.id" :value="item.id">
|
||||||
|
{{ `${ item.realname }(${ item.orgCodeTxt })` }}
|
||||||
|
</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -36,7 +38,7 @@ export default {
|
|||||||
* 获取所有用户
|
* 获取所有用户
|
||||||
*/
|
*/
|
||||||
initUserList() {
|
initUserList() {
|
||||||
getAllUserList({status:1}).then(res => {
|
getAllUserList().then(res => {
|
||||||
this.userList = res.result
|
this.userList = res.result
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -44,7 +46,7 @@ export default {
|
|||||||
filterOption(input, option) {
|
filterOption(input, option) {
|
||||||
console.log(option)
|
console.log(option)
|
||||||
return (
|
return (
|
||||||
option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :xxl="4" :xl="8" :sm="12">
|
<a-col :xxl="4" :xl="8" :sm="12">
|
||||||
<a-form-item :label="`${index + 1}阶段应收`" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item :label="`${index + 1}阶段应${label}`" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-input placeholder="请输入金额"
|
<a-input placeholder="请输入金额"
|
||||||
v-decorator="['installmentList['+index+'].accountsReceivableAmount',validatorRules.accountsReceivableAmount]"
|
v-decorator="['installmentList['+index+'].accountsReceivableAmount',validatorRules.accountsReceivableAmount]"
|
||||||
:maxLength='50'
|
:maxLength='50'
|
||||||
@@ -22,8 +22,8 @@
|
|||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :xxl="5" :xl="8" :sm="12">
|
<a-col :xxl="5" :xl="8" :sm="12">
|
||||||
<a-form-item :label="`${index + 1}阶段应收时间`" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item :label="`${index + 1}阶段应${label}时间`" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<j-date placeholder="请选择应收时间"
|
<j-date :placeholder="`请选择应${label}时间`"
|
||||||
style="width: 100%;"
|
style="width: 100%;"
|
||||||
v-decorator="['installmentList['+index+'].accountsReceivableTime']"
|
v-decorator="['installmentList['+index+'].accountsReceivableTime']"
|
||||||
:trigger-change="true"
|
:trigger-change="true"
|
||||||
@@ -32,7 +32,7 @@
|
|||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :xxl="4" :xl="8" :sm="12">
|
<a-col :xxl="4" :xl="8" :sm="12">
|
||||||
<a-form-item :label="`${index + 1}阶段实收`" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item :label="`${index + 1}阶段实${label}`" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-input placeholder="请输入金额"
|
<a-input placeholder="请输入金额"
|
||||||
v-decorator="['installmentList['+index+'].paidAmount',validatorRules.paidAmount]"
|
v-decorator="['installmentList['+index+'].paidAmount',validatorRules.paidAmount]"
|
||||||
:maxLength='50'
|
:maxLength='50'
|
||||||
@@ -42,8 +42,8 @@
|
|||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :xxl="5" :xl="8" :sm="12">
|
<a-col :xxl="5" :xl="8" :sm="12">
|
||||||
<a-form-item :label="`${index + 1}阶段实收时间`" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item :label="`${index + 1}阶段实${label}时间`" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<j-date placeholder="请选择实收时间"
|
<j-date :placeholder="`请选择实${label}时间`"
|
||||||
style="width: 100%;"
|
style="width: 100%;"
|
||||||
v-decorator="['installmentList['+index+'].paidTime',validatorRules.paidTime]"
|
v-decorator="['installmentList['+index+'].paidTime',validatorRules.paidTime]"
|
||||||
:trigger-change="true"
|
:trigger-change="true"
|
||||||
@@ -72,6 +72,13 @@ import { money } from '../../utils/validate'
|
|||||||
export default {
|
export default {
|
||||||
name: 'InstallmentForm',
|
name: 'InstallmentForm',
|
||||||
components: { JDate },
|
components: { JDate },
|
||||||
|
props: {
|
||||||
|
label: {
|
||||||
|
type: String,
|
||||||
|
required: false,
|
||||||
|
default: '收'
|
||||||
|
}
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
form: this.$form.createForm(this),
|
form: this.$form.createForm(this),
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
<div v-if="!reloading" class="j-area-linkage">
|
<div v-if="!reloading" class="j-area-linkage">
|
||||||
<!--area-cascader level-0二级联动 1-三级联动-->
|
<!--area-cascader level-0二级联动 1-三级联动-->
|
||||||
<area-cascader
|
<area-cascader
|
||||||
|
style="border-color: red"
|
||||||
v-if="_type === enums.type[0]"
|
v-if="_type === enums.type[0]"
|
||||||
:value="innerValue"
|
:value="innerValue"
|
||||||
:data="pca"
|
:data="pca"
|
||||||
@@ -9,7 +10,7 @@
|
|||||||
v-bind="$attrs"
|
v-bind="$attrs"
|
||||||
v-on="_listeners"
|
v-on="_listeners"
|
||||||
@change="handleChange"
|
@change="handleChange"
|
||||||
:class="isActive ? 'placeholderBlack' : 'placeholderGray'"
|
:class="{'placeholderBlack':isActive,'placeholderGray':!isActive,'has-error':hasError}"
|
||||||
/>
|
/>
|
||||||
<!--area-select level-1二级联动 2-三级联动-->
|
<!--area-select level-1二级联动 2-三级联动-->
|
||||||
<area-select
|
<area-select
|
||||||
@@ -19,7 +20,7 @@
|
|||||||
v-bind="$attrs"
|
v-bind="$attrs"
|
||||||
v-on="_listeners"
|
v-on="_listeners"
|
||||||
@change="handleChange"
|
@change="handleChange"
|
||||||
:class="isActive ? 'placeholderBlack' : 'placeholderGray'"
|
:class="{'placeholderBlack':isActive,'placeholderGray':!isActive,'has-error':hasError}"
|
||||||
/>
|
/>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
<span style="color:red;"> Bad type value: {{_type}}</span>
|
<span style="color:red;"> Bad type value: {{_type}}</span>
|
||||||
@@ -36,7 +37,13 @@ export default {
|
|||||||
props: {
|
props: {
|
||||||
value: {
|
value: {
|
||||||
type: String,
|
type: String,
|
||||||
required: false
|
required: false,
|
||||||
|
},
|
||||||
|
// 表单是否必填控制
|
||||||
|
hasError:{
|
||||||
|
type:Boolean,
|
||||||
|
required: false,
|
||||||
|
default:false
|
||||||
},
|
},
|
||||||
// 组件的类型,可选值:
|
// 组件的类型,可选值:
|
||||||
// select 下拉样式
|
// select 下拉样式
|
||||||
@@ -160,6 +167,14 @@ export default {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/deep/ .area-cascader-wrap .area-select:hover {
|
||||||
|
border-color: #069f99;;
|
||||||
|
}
|
||||||
|
/deep/ .has-error .area-select {
|
||||||
|
border-color: #f5222d!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
///deep/.placeholderBlack .area-cascader-wrap .area-select.active {
|
///deep/.placeholderBlack .area-cascader-wrap .area-select.active {
|
||||||
// color: #333 !important;
|
// color: #333 !important;
|
||||||
//}
|
//}
|
||||||
|
|||||||
@@ -80,7 +80,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
if (this.$route.path != indexKey) {
|
// if (this.$route.path != indexKey) {
|
||||||
|
// 在当前页面不是首页 并且有首页权限的时候,把首页增加到面板的第一位
|
||||||
|
if (this.$route.path !== indexKey && this.$store.state.user.permissionList.find(item => item.component === 'dashboard/Analysis')) {
|
||||||
this.addIndexToFirst()
|
this.addIndexToFirst()
|
||||||
}
|
}
|
||||||
// 复制一个route对象出来,不能影响原route
|
// 复制一个route对象出来,不能影响原route
|
||||||
|
|||||||
@@ -61,8 +61,8 @@
|
|||||||
overflow: auto;
|
overflow: auto;
|
||||||
.container {
|
.container {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
min-width: 1366px;
|
min-width: 1300px;
|
||||||
min-height: 768px;
|
min-height: 600px;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|||||||
@@ -356,7 +356,7 @@ body {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.anticon {
|
.anticon {
|
||||||
color: inherit;
|
color: #FFFFFF;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,35 +7,39 @@
|
|||||||
</component>
|
</component>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
name: 'DynamicNotice',
|
name: 'DynamicNotice',
|
||||||
data () {
|
data() {
|
||||||
return {
|
return {
|
||||||
compName: this.path
|
compName: this.path
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
comp: function () {
|
||||||
|
if (!this.path) {
|
||||||
|
return null
|
||||||
}
|
}
|
||||||
},
|
// this.path中的@comp字符串会拼接组件路径为@/components@comp导致控制台报错
|
||||||
computed: {
|
let path = this.path.replace('@comp', '')
|
||||||
comp: function () {
|
// @views/incomePayments重复导致找不到组件
|
||||||
if(!this.path){
|
path = path.replace('@views/incomePayments', '')
|
||||||
return null
|
// 这么写 是因未用数据库的路径拿不到 组件 实例
|
||||||
|
if (path && path.includes('AuditModal')) {
|
||||||
|
return resolve => require([`@views/incomePayments${ path }.vue`], resolve)
|
||||||
|
} else {
|
||||||
|
return resolve => require([`@/components${ path }.vue`], resolve)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
props: ['path', 'formData'],
|
||||||
|
methods: {
|
||||||
|
detail() {
|
||||||
|
setTimeout(() => {
|
||||||
|
if (this.path) {
|
||||||
|
this.$refs.compModel.open(this.formData)
|
||||||
}
|
}
|
||||||
// 这么写 是因未用数据库的路径拿不到 组件 实例
|
}, 200)
|
||||||
if(this.path && this.path.includes('AuditModal')){
|
|
||||||
return resolve => require([`@views/incomePayments${this.path}.vue`], resolve)
|
|
||||||
}else {
|
|
||||||
return resolve => require([`@/components${this.path}.vue`], resolve)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
props: ['path','formData'],
|
|
||||||
methods: {
|
|
||||||
detail () {
|
|
||||||
setTimeout(() => {
|
|
||||||
if(this.path){
|
|
||||||
this.$refs.compModel.open(this.formData)
|
|
||||||
}
|
|
||||||
}, 200)
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
@@ -70,12 +70,12 @@ export default {
|
|||||||
validatorRules: {
|
validatorRules: {
|
||||||
oldpassword: {
|
oldpassword: {
|
||||||
rules: [{
|
rules: [{
|
||||||
required: true, message: '请输入旧密码!'
|
required: true, message: '请输入旧密码'
|
||||||
}]
|
}]
|
||||||
},
|
},
|
||||||
password: {
|
password: {
|
||||||
rules: [
|
rules: [
|
||||||
{ required: true, message: '请输入新密码!' },
|
{ required: true, message: '请输入新密码' },
|
||||||
{
|
{
|
||||||
//原正则,3种组合时不会提示 /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/
|
//原正则,3种组合时不会提示 /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/
|
||||||
pattern: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,30}$/,
|
pattern: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,30}$/,
|
||||||
@@ -186,14 +186,14 @@ export default {
|
|||||||
callback(new Error('两次密码不一致'))
|
callback(new Error('两次密码不一致'))
|
||||||
}
|
}
|
||||||
if (value && !passwordReg(value)) {
|
if (value && !passwordReg(value)) {
|
||||||
callback('密码由8位及以上数字、大小写字母和特殊符号组成!')
|
callback('密码由8位及以上数字、大小写字母和特殊符号组成')
|
||||||
}
|
}
|
||||||
callback()
|
callback()
|
||||||
},
|
},
|
||||||
compareToFirstPassword(rule, value, callback) {
|
compareToFirstPassword(rule, value, callback) {
|
||||||
const form = this.form
|
const form = this.form
|
||||||
if (value && value !== form.getFieldValue('password')) {
|
if (value && value !== form.getFieldValue('password')) {
|
||||||
callback('两次输入的密码不一样!')
|
callback('两次密码不一致')
|
||||||
} else {
|
} else {
|
||||||
callback()
|
callback()
|
||||||
}
|
}
|
||||||
|
|||||||
+21
-21
@@ -1,26 +1,26 @@
|
|||||||
export const ACCESS_TOKEN = 'Access-Token'
|
export const ACCESS_TOKEN = 'Income-Management-Access-Token'
|
||||||
export const SIDEBAR_TYPE = 'SIDEBAR_TYPE'
|
export const SIDEBAR_TYPE = 'INCOME_MANAGEMENT_SIDEBAR_TYPE'
|
||||||
export const DEFAULT_THEME = 'DEFAULT_THEME'
|
export const DEFAULT_THEME = 'INCOME_MANAGEMENT_DEFAULT_THEME'
|
||||||
export const DEFAULT_LAYOUT_MODE = 'DEFAULT_LAYOUT_MODE'
|
export const DEFAULT_LAYOUT_MODE = 'INCOME_MANAGEMENT_DEFAULT_LAYOUT_MODE'
|
||||||
export const DEFAULT_COLOR = 'DEFAULT_COLOR'
|
export const DEFAULT_COLOR = 'INCOME_MANAGEMENT_DEFAULT_COLOR'
|
||||||
export const DEFAULT_COLOR_WEAK = 'DEFAULT_COLOR_WEAK'
|
export const DEFAULT_COLOR_WEAK = 'INCOME_MANAGEMENT_DEFAULT_COLOR_WEAK'
|
||||||
export const DEFAULT_FIXED_HEADER = 'DEFAULT_FIXED_HEADER'
|
export const DEFAULT_FIXED_HEADER = 'INCOME_MANAGEMENT_DEFAULT_FIXED_HEADER'
|
||||||
export const DEFAULT_FIXED_SIDEMENU= 'DEFAULT_FIXED_SIDEMENU'
|
export const DEFAULT_FIXED_SIDEMENU= 'INCOME_MANAGEMENT_DEFAULT_FIXED_SIDEMENU'
|
||||||
export const DEFAULT_FIXED_HEADER_HIDDEN = 'DEFAULT_FIXED_HEADER_HIDDEN'
|
export const DEFAULT_FIXED_HEADER_HIDDEN = 'INCOME_MANAGEMENT_DEFAULT_FIXED_HEADER_HIDDEN'
|
||||||
export const DEFAULT_CONTENT_WIDTH_TYPE = 'DEFAULT_CONTENT_WIDTH_TYPE'
|
export const DEFAULT_CONTENT_WIDTH_TYPE = 'INCOME_MANAGEMENT_DEFAULT_CONTENT_WIDTH_TYPE'
|
||||||
export const DEFAULT_MULTI_PAGE = 'DEFAULT_MULTI_PAGE'
|
export const DEFAULT_MULTI_PAGE = 'INCOME_MANAGEMENT_DEFAULT_MULTI_PAGE'
|
||||||
export const USER_NAME = 'Login_Username'
|
export const USER_NAME = 'Income_Management_Login_Username'
|
||||||
export const USER_INFO = 'Login_Userinfo'
|
export const USER_INFO = 'Income_Management_Login_Userinfo'
|
||||||
export const USER_AUTH = 'LOGIN_USER_BUTTON_AUTH'
|
export const USER_AUTH = 'INCOME_MANAGEMENT_LOGIN_USER_BUTTON_AUTH'
|
||||||
export const SYS_BUTTON_AUTH = 'SYS_BUTTON_AUTH'
|
export const SYS_BUTTON_AUTH = 'INCOME_MANAGEMENT_SYS_BUTTON_AUTH'
|
||||||
export const ENCRYPTED_STRING = 'ENCRYPTED_STRING'
|
export const ENCRYPTED_STRING = 'INCOME_MANAGEMENT_ENCRYPTED_STRING'
|
||||||
export const ENHANCE_PRE = 'enhance_'
|
export const ENHANCE_PRE = 'Income_Management_enhance_'
|
||||||
export const UI_CACHE_DB_DICT_DATA = 'UI_CACHE_DB_DICT_DATA'
|
export const UI_CACHE_DB_DICT_DATA = 'INCOME_MANAGEMENT_UI_CACHE_DB_DICT_DATA'
|
||||||
export const INDEX_MAIN_PAGE_PATH = '/dashboard/analysis'
|
export const INDEX_MAIN_PAGE_PATH = '/dashboard/analysis'
|
||||||
export const TENANT_ID = 'TENANT_ID'
|
export const TENANT_ID = 'INCOME_MANAGEMENT_TENANT_ID'
|
||||||
export const ONL_AUTH_FIELDS = 'ONL_AUTH_FIELDS'
|
export const ONL_AUTH_FIELDS = 'INCOME_MANAGEMENT_ONL_AUTH_FIELDS'
|
||||||
//路由缓存问题,关闭了tab页时再打开就不刷新 #842
|
//路由缓存问题,关闭了tab页时再打开就不刷新 #842
|
||||||
export const CACHE_INCLUDED_ROUTES = 'CACHE_INCLUDED_ROUTES'
|
export const CACHE_INCLUDED_ROUTES = 'INCOME_MANAGEMENT_CACHE_INCLUDED_ROUTES'
|
||||||
export const CONTENT_WIDTH_TYPE = {
|
export const CONTENT_WIDTH_TYPE = {
|
||||||
Fluid: 'Fluid',
|
Fluid: 'Fluid',
|
||||||
Fixed: 'Fixed'
|
Fixed: 'Fixed'
|
||||||
|
|||||||
+20
-2
@@ -81,8 +81,26 @@ export function formatDate(value, fmt) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 代码找出第一个没有下级子菜单的路由
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
function findFirstRoute(data) {
|
||||||
|
if (data[0]) {
|
||||||
|
if (data[0] && data[0].children && data[0].children.length > 0) {
|
||||||
|
return findFirstRoute(data[0].children)
|
||||||
|
} else {
|
||||||
|
return data[0].path
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return '/'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 生成首页路由
|
// 生成首页路由
|
||||||
export function generateIndexRouter(data) {
|
export function generateIndexRouter(data) {
|
||||||
|
// 对任意页面重定向的地址做改变,
|
||||||
|
const redirectPath = findFirstRoute(data)
|
||||||
let indexRouter = [{
|
let indexRouter = [{
|
||||||
path: '/',
|
path: '/',
|
||||||
name: 'dashboard',
|
name: 'dashboard',
|
||||||
@@ -90,7 +108,8 @@ export function generateIndexRouter(data) {
|
|||||||
// eslint-disable-next-line
|
// eslint-disable-next-line
|
||||||
component: resolve => require(['@/components/layouts/TabLayout'], resolve),
|
component: resolve => require(['@/components/layouts/TabLayout'], resolve),
|
||||||
meta: { title: '首页' },
|
meta: { title: '首页' },
|
||||||
redirect: '/dashboard/analysis',
|
// redirect: '/dashboard/analysis',
|
||||||
|
redirect: redirectPath,
|
||||||
children: [
|
children: [
|
||||||
...generateChildRouters(data)
|
...generateChildRouters(data)
|
||||||
]
|
]
|
||||||
@@ -141,7 +160,6 @@ function generateChildRouters(data) {
|
|||||||
// eslint-disable-next-line
|
// eslint-disable-next-line
|
||||||
componentPath = resolve => require(['@/' + component + '.vue'], resolve)
|
componentPath = resolve => require(['@/' + component + '.vue'], resolve)
|
||||||
// }
|
// }
|
||||||
|
|
||||||
let menu = {
|
let menu = {
|
||||||
path: item.path,
|
path: item.path,
|
||||||
name: item.name,
|
name: item.name,
|
||||||
|
|||||||
@@ -189,9 +189,9 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
add(limit) {
|
add(limit) {
|
||||||
// true 是调用无权限接口
|
// true 是调用无权限接口
|
||||||
if(limit){
|
if (limit) {
|
||||||
this.url.add = '/company/payCompanyManagement/addMeeting'
|
this.url.add = '/company/payCompanyManagement/addMeeting'
|
||||||
}else {
|
} else {
|
||||||
this.url.add = '/company/payCompanyManagement/add'
|
this.url.add = '/company/payCompanyManagement/add'
|
||||||
}
|
}
|
||||||
this.edit({})
|
this.edit({})
|
||||||
@@ -312,7 +312,7 @@ export default {
|
|||||||
callback('请输入15位、18位的信用代码')
|
callback('请输入15位、18位的信用代码')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if (!this.model.id) {
|
if (this.model.dutyCode !== value) {
|
||||||
const params = {
|
const params = {
|
||||||
confusionCode: 'pay_company_duty_code',
|
confusionCode: 'pay_company_duty_code',
|
||||||
fieldVal: value
|
fieldVal: value
|
||||||
@@ -325,8 +325,9 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
|
} else {
|
||||||
|
callback()
|
||||||
}
|
}
|
||||||
callback()
|
|
||||||
} else {
|
} else {
|
||||||
callback('请输入信用代码')
|
callback('请输入信用代码')
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -386,7 +386,7 @@ export default {
|
|||||||
if (isEmail(value)) {
|
if (isEmail(value)) {
|
||||||
callback()
|
callback()
|
||||||
} else {
|
} else {
|
||||||
callback('请输入正确的邮箱')
|
callback('请输入正确格式的邮箱')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
callback('请输入邮箱')
|
callback('请输入邮箱')
|
||||||
|
|||||||
@@ -0,0 +1,392 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<page-header-title :is-level-one="false" :img-for-icon="IconImg" level-two-title="支出合同详情"></page-header-title>
|
||||||
|
<a-spin :spinning="loading">
|
||||||
|
<a-card :bordered="false">
|
||||||
|
<!-- 主体信息-->
|
||||||
|
<div>
|
||||||
|
<div class="part-title">
|
||||||
|
<div class="part-title-text">主体信息</div>
|
||||||
|
</div>
|
||||||
|
<div class="detail" v-if="mainInfoShowList.length > 0">
|
||||||
|
<div class="detail-item"
|
||||||
|
v-for="(item, index) in mainInfoShowList"
|
||||||
|
:key="index">
|
||||||
|
<a-row>
|
||||||
|
<a-col :sm="10" :xs="24" class="detail-item-title">{{ item.title }}:</a-col>
|
||||||
|
<a-col :sm="14" :xs="24" v-if="item.fieldName === 'rate'">{{ detailData[item.fieldName] }}%</a-col>
|
||||||
|
<a-col :sm="14" :xs="24" v-else>{{ detailData[item.fieldName] }}</a-col>
|
||||||
|
</a-row>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a-empty v-else></a-empty>
|
||||||
|
</div>
|
||||||
|
<a-divider></a-divider>
|
||||||
|
|
||||||
|
<!-- 日期节点-->
|
||||||
|
<div>
|
||||||
|
<div class="part-title">
|
||||||
|
<div class="part-title-text">日期节点</div>
|
||||||
|
</div>
|
||||||
|
<div class="detail" v-if="dateNodeShowList.length > 0">
|
||||||
|
<div class="detail-item" v-for="(item, index) in dateNodeShowList"
|
||||||
|
:key="index">
|
||||||
|
<a-row>
|
||||||
|
<a-col :sm="10" :xs="24" class="detail-item-title">{{ item.title }}:</a-col>
|
||||||
|
<a-col :sm="14" :xs="24">{{ detailData[item.fieldName] }}</a-col>
|
||||||
|
</a-row>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a-empty v-else></a-empty>
|
||||||
|
</div>
|
||||||
|
<a-divider></a-divider>
|
||||||
|
|
||||||
|
<!-- 账款信息-->
|
||||||
|
<div>
|
||||||
|
<div class="part-title">
|
||||||
|
<div class="part-title-text">账款信息</div>
|
||||||
|
</div>
|
||||||
|
<div class="detail" v-if="accountInfoShowList.length > 0">
|
||||||
|
<div class="detail-item" v-for="(item, index) in accountInfoShowList"
|
||||||
|
:key="index">
|
||||||
|
<a-row>
|
||||||
|
<a-col :sm="10" :xs="24" class="detail-item-title">{{ item.title }}:</a-col>
|
||||||
|
<a-col :sm="14" :xs="24">{{ detailData[item.fieldName] }}</a-col>
|
||||||
|
</a-row>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a-empty v-else></a-empty>
|
||||||
|
</div>
|
||||||
|
<a-divider></a-divider>
|
||||||
|
|
||||||
|
<!-- 其他信息-->
|
||||||
|
<div>
|
||||||
|
<div class="part-title">
|
||||||
|
<div class="part-title-text">其他信息</div>
|
||||||
|
</div>
|
||||||
|
<div class="detail" v-if="otherInfoShowList.length > 0">
|
||||||
|
<div class="detail-item all-line" v-for="(item, index) in otherInfoShowList"
|
||||||
|
:key="index">
|
||||||
|
<a-row>
|
||||||
|
<a-col :sm="4" :xs="24" class="detail-item-title">{{ item.title }}:</a-col>
|
||||||
|
<a-col :sm="20" :xs="24">{{ detailData[item.fieldName] }}</a-col>
|
||||||
|
</a-row>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a-empty v-else></a-empty>
|
||||||
|
</div>
|
||||||
|
<a-divider></a-divider>
|
||||||
|
|
||||||
|
<!-- 分期信息-->
|
||||||
|
<div>
|
||||||
|
<div class="part-title">
|
||||||
|
<div class="part-title-text">分期信息</div>
|
||||||
|
</div>
|
||||||
|
<a-row class="detail" v-for="(item, index) in detailData.listInstallment" :key="item.id">
|
||||||
|
<a-col :xxl="4" :xl="8" :sm="12" class="detail-item">
|
||||||
|
<a-row>
|
||||||
|
<a-col :sm="10" :xs="24" class="detail-item-title">{{ index + 1 }}阶段:</a-col>
|
||||||
|
<a-col :sm="14" :xs="24">{{ item.phaseName }}</a-col>
|
||||||
|
</a-row>
|
||||||
|
</a-col>
|
||||||
|
<a-col :xxl="4" :xl="8" :sm="12" class="detail-item">
|
||||||
|
<a-row>
|
||||||
|
<a-col :sm="10" :xs="24" class="detail-item-title">{{ index + 1 }}阶段应收:</a-col>
|
||||||
|
<a-col :sm="14" :xs="24">{{ item.accountsReceivableAmount }}</a-col>
|
||||||
|
</a-row>
|
||||||
|
</a-col>
|
||||||
|
<a-col :xxl="4" :xl="8" :sm="12" class="detail-item">
|
||||||
|
<a-row>
|
||||||
|
<a-col :sm="10" :xs="24" class="detail-item-title">{{ index + 1 }}阶段应收时间:</a-col>
|
||||||
|
<a-col :sm="14" :xs="24">{{ item.accountsReceivableTime }}</a-col>
|
||||||
|
</a-row>
|
||||||
|
</a-col>
|
||||||
|
<a-col :xxl="4" :xl="8" :sm="12" class="detail-item">
|
||||||
|
<a-row>
|
||||||
|
<a-col :sm="10" :xs="24" class="detail-item-title">{{ index + 1 }}阶段实收:</a-col>
|
||||||
|
<a-col :sm="14" :xs="24">{{ item.paidAmount }}</a-col>
|
||||||
|
</a-row>
|
||||||
|
</a-col>
|
||||||
|
<a-col :xxl="4" :xl="8" :sm="12" class="detail-item">
|
||||||
|
<a-row>
|
||||||
|
<a-col :sm="10" :xs="24" class="detail-item-title">{{ index + 1 }}阶段实收时间:</a-col>
|
||||||
|
<a-col :sm="14" :xs="24">{{ item.paidTime }}</a-col>
|
||||||
|
</a-row>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
</div>
|
||||||
|
<a-divider></a-divider>
|
||||||
|
|
||||||
|
<!-- 存档信息-->
|
||||||
|
<div>
|
||||||
|
<div class="part-title">
|
||||||
|
<div class="part-title-text">存档信息</div>
|
||||||
|
</div>
|
||||||
|
<div class="detail" v-if="detailData.listArchive && detailData.listArchive.length > 0">
|
||||||
|
<div class="detail-item" v-for="(item, index) in detailData.listArchive"
|
||||||
|
:key="index">
|
||||||
|
<a-row>
|
||||||
|
<a-col :sm="6" :xs="24">{{ item.createBy }}</a-col>
|
||||||
|
<a-col :sm="6" :xs="24">{{ item.createTime }}</a-col>
|
||||||
|
<a-col :sm="6" :xs="24">{{ item.contractStatus_dictText }}</a-col>
|
||||||
|
</a-row>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a-empty v-else></a-empty>
|
||||||
|
</div>
|
||||||
|
<a-divider></a-divider>
|
||||||
|
|
||||||
|
<!-- 审核记录-->
|
||||||
|
<div>
|
||||||
|
<div class="part-title">
|
||||||
|
<div class="part-title-text">审核记录</div>
|
||||||
|
</div>
|
||||||
|
<div class="aduit-text" v-if="detailData.listAudit && detailData.listAudit.length > 0">
|
||||||
|
<div v-for="(item, index) in detailData.listAudit"
|
||||||
|
:key="index">
|
||||||
|
<a-row>
|
||||||
|
<a-col :sm="6" :xs="24">{{ item.createBy }}</a-col>
|
||||||
|
<a-col :sm="6" :xs="24">{{ item.createTime }}</a-col>
|
||||||
|
<a-col :sm="6" :xs="24">{{ item.contractStatus_dictText }}</a-col>
|
||||||
|
<a-col :sm="6" :xs="24">{{ item.explainRemarks }}</a-col>
|
||||||
|
</a-row>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a-empty v-else></a-empty>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- 状态非已存档显示-->
|
||||||
|
<template v-if="detailData.status < 5">
|
||||||
|
<a-divider></a-divider>
|
||||||
|
<!-- 编辑、审核、存档-->
|
||||||
|
<div>
|
||||||
|
<div class="part-title">
|
||||||
|
<div class="part-title-text">操作</div>
|
||||||
|
</div>
|
||||||
|
<div class="operator-btn">
|
||||||
|
<a-button
|
||||||
|
type="primary"
|
||||||
|
@click="handleEdit(detailData.id, detailData.contractNum)"
|
||||||
|
v-if="detailData.status === 1 || detailData.status === 4"
|
||||||
|
v-has="'revenueContract:edit'">
|
||||||
|
编辑
|
||||||
|
</a-button>
|
||||||
|
<a-button
|
||||||
|
type="primary"
|
||||||
|
@click="handleAudit(detailData.id)"
|
||||||
|
v-if="detailData.status === 2"
|
||||||
|
v-has="'revenueContract:aduit'">
|
||||||
|
审核
|
||||||
|
</a-button>
|
||||||
|
<a-button
|
||||||
|
type="primary"
|
||||||
|
@click="handleArchive(detailData.id)"
|
||||||
|
v-if="detailData.status === 3"
|
||||||
|
v-has="'revenueContract:archive'">
|
||||||
|
存档
|
||||||
|
</a-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
</a-card>
|
||||||
|
</a-spin>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import PageHeaderTitle from '../../../components/layouts/PageHeaderTitle'
|
||||||
|
import IconImg from '@/assets/imgs/icon/icon_revenue_contract.png'
|
||||||
|
import { getExpenditureContractById } from '../../../api/incomePaymentsApi'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'ExpenditureContractDetail',
|
||||||
|
components: { PageHeaderTitle },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
IconImg,
|
||||||
|
loading: false,
|
||||||
|
detailData: {},
|
||||||
|
// 主体信息
|
||||||
|
mainInfoList: [
|
||||||
|
{
|
||||||
|
fieldName: 'contractNum',
|
||||||
|
title: '合同编号'
|
||||||
|
}, {
|
||||||
|
fieldName: 'contractName',
|
||||||
|
title: '合同名称'
|
||||||
|
}, {
|
||||||
|
fieldName: 'signedCompanyTemporaryName',
|
||||||
|
title: '签订单位'
|
||||||
|
}, {
|
||||||
|
fieldName: 'signedContactsTemporaryName',
|
||||||
|
title: '签订联系人'
|
||||||
|
}, {
|
||||||
|
fieldName: 'opening_dictText',
|
||||||
|
title: '是否开口'
|
||||||
|
}, {
|
||||||
|
fieldName: 'principalName',
|
||||||
|
title: '负责人'
|
||||||
|
}, {
|
||||||
|
fieldName: 'departmentName',
|
||||||
|
title: '部门名称'
|
||||||
|
}, {
|
||||||
|
fieldName: 'contractAmount',
|
||||||
|
title: '签订合同总金额'
|
||||||
|
}, {
|
||||||
|
fieldName: 'rate',
|
||||||
|
title: '税率'
|
||||||
|
}, {
|
||||||
|
fieldName: 'noTaxAmount',
|
||||||
|
title: '未税金额'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// 日期节点
|
||||||
|
dateNodeList: [
|
||||||
|
{
|
||||||
|
fieldName: 'contractDate',
|
||||||
|
title: '合同签订日期'
|
||||||
|
}, {
|
||||||
|
fieldName: 'terminationDate',
|
||||||
|
title: '合同终止日期'
|
||||||
|
}, {
|
||||||
|
fieldName: 'contractTimePoints',
|
||||||
|
title: '合同约定主要时点'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// 账款信息
|
||||||
|
accountInfoList: [
|
||||||
|
{
|
||||||
|
fieldName: 'accountsReceivableAmount',
|
||||||
|
title: '应付金额'
|
||||||
|
}, {
|
||||||
|
fieldName: 'amountReceived',
|
||||||
|
title: '已收金额'
|
||||||
|
}, {
|
||||||
|
fieldName: 'amountReceived',
|
||||||
|
title: '未收金额'
|
||||||
|
}, {
|
||||||
|
fieldName: 'accountStatus_dictText',
|
||||||
|
title: '赊账状态'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// 其他信息
|
||||||
|
otherInfoList: [
|
||||||
|
{
|
||||||
|
fieldName: 'contractPaymentTimes',
|
||||||
|
title: '合同约定付款次数'
|
||||||
|
}
|
||||||
|
// {
|
||||||
|
// fieldName: 'pack_dictText',
|
||||||
|
// title: '是否打包'
|
||||||
|
// }, {
|
||||||
|
// fieldName: 'packYear',
|
||||||
|
// title: '打包年份'
|
||||||
|
// }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
// 主体信息,去掉没有数据的字段
|
||||||
|
mainInfoShowList() {
|
||||||
|
return this.mainInfoList.filter(item => this.detailData[item.fieldName] && this.detailData[item.fieldName] !== '') || []
|
||||||
|
},
|
||||||
|
// 日期节点
|
||||||
|
dateNodeShowList() {
|
||||||
|
return this.dateNodeList.filter(item => this.detailData[item.fieldName] && this.detailData[item.fieldName] !== '') || []
|
||||||
|
},
|
||||||
|
// 账款信息
|
||||||
|
accountInfoShowList() {
|
||||||
|
return this.accountInfoList.filter(item => this.detailData[item.fieldName] && this.detailData[item.fieldName] !== '') || []
|
||||||
|
},
|
||||||
|
// 其他信息
|
||||||
|
otherInfoShowList() {
|
||||||
|
return this.otherInfoList.filter(item => this.detailData[item.fieldName] && this.detailData[item.fieldName] !== '') || []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.initDetailData(this.$route.query.revenueId)
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
initDetailData() {
|
||||||
|
this.loading = true
|
||||||
|
let param = {
|
||||||
|
id: this.$route.query.revenueId
|
||||||
|
}
|
||||||
|
getExpenditureContractById(param).then(res => {
|
||||||
|
if (res.success) {
|
||||||
|
this.detailData = res.result
|
||||||
|
// this.detailData.pack = this.detailData.pack === 1 ? '是' : this.detailData.pack === 0 ? '否' : ''
|
||||||
|
} else {
|
||||||
|
// 添加异常判断,防止消息进入详情无法正常获取数据造成卡死及控制台报错
|
||||||
|
this.$message.warn(res.message)
|
||||||
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
|
},
|
||||||
|
operatorOk() {
|
||||||
|
this.initDetailData()
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 编辑
|
||||||
|
* @param id
|
||||||
|
* @param contractNum
|
||||||
|
*/
|
||||||
|
handleEdit(id, contractNum) {
|
||||||
|
this.$router.push({
|
||||||
|
path: '/contractManagement/RevenueContractModule',
|
||||||
|
query: {
|
||||||
|
revenueId: id
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
@import '~@assets/less/common.less';
|
||||||
|
|
||||||
|
.detail {
|
||||||
|
display: flex;
|
||||||
|
padding: 0 20px;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
|
||||||
|
&-item {
|
||||||
|
width: 25%;
|
||||||
|
min-width: 280px;
|
||||||
|
padding-top: 10px;
|
||||||
|
color: #2F3133;
|
||||||
|
word-break: break-all;
|
||||||
|
|
||||||
|
&-title {
|
||||||
|
color: #999999;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.all-line {
|
||||||
|
width: 100%!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-divider-horizontal {
|
||||||
|
margin: 20px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.operator-btn {
|
||||||
|
margin-top: 10px;
|
||||||
|
|
||||||
|
button {
|
||||||
|
margin-right: 8px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.aduit-text {
|
||||||
|
color: #2F3133;
|
||||||
|
padding: 0 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
@@ -75,6 +75,14 @@
|
|||||||
@change="handleTableChange"
|
@change="handleTableChange"
|
||||||
class="j-table-force-nowrap">
|
class="j-table-force-nowrap">
|
||||||
|
|
||||||
|
<template slot="projectName" slot-scope="text, record">
|
||||||
|
<j-ellipsis
|
||||||
|
class="primary-color"
|
||||||
|
@click="toContractDetail(record.id)"
|
||||||
|
:value="text"
|
||||||
|
:length="18"></j-ellipsis>
|
||||||
|
</template>
|
||||||
|
|
||||||
<template slot="text" slot-scope="text">
|
<template slot="text" slot-scope="text">
|
||||||
<j-ellipsis :value="text" :length="18"></j-ellipsis>
|
<j-ellipsis :value="text" :length="18"></j-ellipsis>
|
||||||
</template>
|
</template>
|
||||||
@@ -135,7 +143,7 @@ export default {
|
|||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'contractNum',
|
dataIndex: 'contractNum',
|
||||||
width: 280,
|
width: 280,
|
||||||
scopedSlots: { customRender: 'text' }
|
scopedSlots: { customRender: 'projectName' }
|
||||||
}, {
|
}, {
|
||||||
title: '合同名称',
|
title: '合同名称',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
@@ -197,6 +205,15 @@ export default {
|
|||||||
contractId: id
|
contractId: id
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
},
|
||||||
|
toContractDetail(id) {
|
||||||
|
console.log(id)
|
||||||
|
this.$router.push({
|
||||||
|
path: '/contractManagement/ExpenditureContractDetail',
|
||||||
|
query: {
|
||||||
|
revenueId: id
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+47
-35
@@ -75,7 +75,7 @@
|
|||||||
</a-col>
|
</a-col>
|
||||||
<a-col :xxl="6" :xl="8" :sm="12">
|
<a-col :xxl="6" :xl="8" :sm="12">
|
||||||
<a-form-item label="税率" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="税率" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-row>
|
<a-row :gutter="10">
|
||||||
<a-col :span="20">
|
<a-col :span="20">
|
||||||
<a-input placeholder="请输入税率"
|
<a-input placeholder="请输入税率"
|
||||||
v-decorator="['rate',validatorRules.rate]"
|
v-decorator="['rate',validatorRules.rate]"
|
||||||
@@ -104,7 +104,7 @@
|
|||||||
<div class="part-title">
|
<div class="part-title">
|
||||||
<div class="part-title-text">日期节点</div>
|
<div class="part-title-text">日期节点</div>
|
||||||
</div>
|
</div>
|
||||||
<a-row :gutter="30">
|
<a-row>
|
||||||
<a-col :xxl="6" :xl="8" :sm="12">
|
<a-col :xxl="6" :xl="8" :sm="12">
|
||||||
<a-form-item label="合同签订日期" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="合同签订日期" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<j-date placeholder="请选择合同签订日期"
|
<j-date placeholder="请选择合同签订日期"
|
||||||
@@ -123,12 +123,15 @@
|
|||||||
date-format="YYYY-MM-DD"/>
|
date-format="YYYY-MM-DD"/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :xxl="6" :xl="8" :sm="12">
|
</a-row>
|
||||||
<a-form-item label="合同约定主要时点" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-row>
|
||||||
<a-input placeholder="请输入合同约定主要时点"
|
<a-col :xxl="12" :xl="16" :sm="24">
|
||||||
v-decorator="['contractTimePoints',validatorRules.contractTimePoints]"
|
<a-form-item label="合同约定主要时点" :labelCol="longLabelCol" :wrapperCol="longWrapperCol">
|
||||||
:maxLength='50'
|
<!-- 20211022需求变更将input改为textarea-->
|
||||||
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
|
<a-textarea placeholder="请输入合同约定主要时点"
|
||||||
|
v-decorator="['contractTimePoints',validatorRules.contractTimePoints]"
|
||||||
|
:maxLength='200'
|
||||||
|
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-textarea>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
@@ -141,10 +144,10 @@
|
|||||||
<div class="part-title-text">账款信息</div>
|
<div class="part-title-text">账款信息</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<a-row :gutter="30">
|
<a-row>
|
||||||
<a-col :xxl="6" :xl="8" :sm="12">
|
<a-col :xxl="6" :xl="8" :sm="12">
|
||||||
<a-form-item label="应收金额" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="应付金额" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-input placeholder="请输入应收金额"
|
<a-input placeholder="请输入应付金额"
|
||||||
v-decorator="['accountsReceivableAmount',validatorRules.accountsReceivableAmount]"
|
v-decorator="['accountsReceivableAmount',validatorRules.accountsReceivableAmount]"
|
||||||
:maxLength='50'
|
:maxLength='50'
|
||||||
@blur="addZero"
|
@blur="addZero"
|
||||||
@@ -152,8 +155,8 @@
|
|||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :xxl="6" :xl="8" :sm="12">
|
<a-col :xxl="6" :xl="8" :sm="12">
|
||||||
<a-form-item label="已收金额" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="已付金额" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-input placeholder="请输入已收金额"
|
<a-input placeholder="请输入已付金额"
|
||||||
v-decorator="['amountReceived',validatorRules.amountReceived]"
|
v-decorator="['amountReceived',validatorRules.amountReceived]"
|
||||||
:maxLength='50'
|
:maxLength='50'
|
||||||
@blur="addZero"
|
@blur="addZero"
|
||||||
@@ -161,8 +164,8 @@
|
|||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :xxl="6" :xl="8" :sm="12">
|
<a-col :xxl="6" :xl="8" :sm="12">
|
||||||
<a-form-item label="未收金额" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="未付金额" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-input placeholder="请输入未收金额"
|
<a-input placeholder="请输入未付金额"
|
||||||
:maxLength='50'
|
:maxLength='50'
|
||||||
@blur="addZero"
|
@blur="addZero"
|
||||||
v-decorator="['outstandingAmount']"
|
v-decorator="['outstandingAmount']"
|
||||||
@@ -189,7 +192,7 @@
|
|||||||
<div class="part-title-text">其他信息</div>
|
<div class="part-title-text">其他信息</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<a-row :gutter="30">
|
<a-row>
|
||||||
<a-col :xxl="6" :xl="8" :sm="12">
|
<a-col :xxl="6" :xl="8" :sm="12">
|
||||||
<a-form-item label="合同约定付款次数" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="合同约定付款次数" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-input placeholder="请输入合同约定付款次数"
|
<a-input placeholder="请输入合同约定付款次数"
|
||||||
@@ -198,22 +201,23 @@
|
|||||||
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
|
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :xxl="6" :xl="8" :sm="12">
|
<!-- 2021-10-18需求变更去掉-->
|
||||||
<a-form-item label="是否打包" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<!-- <a-col :xxl="6" :xl="8" :sm="12">-->
|
||||||
<j-dict-select-tag v-decorator="['pack', validatorRules.pack]"
|
<!-- <a-form-item label="是否打包" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
|
||||||
:triggerChange="true"
|
<!-- <j-dict-select-tag v-decorator="['pack', validatorRules.pack]"-->
|
||||||
placeholder="请选择是否打包"
|
<!-- :triggerChange="true"-->
|
||||||
dictCode="yn"
|
<!-- placeholder="请选择是否打包"-->
|
||||||
@change="packageChange"/>
|
<!-- dictCode="yn"-->
|
||||||
</a-form-item>
|
<!-- @change="packageChange"/>-->
|
||||||
</a-col>
|
<!-- </a-form-item>-->
|
||||||
<a-col :xxl="6" :xl="8" :sm="12">
|
<!-- </a-col>-->
|
||||||
<a-form-item label="打包年份" :labelCol="labelCol" :wrapperCol="wrapperCol" v-if="isPackage">
|
<!-- <a-col :xxl="6" :xl="8" :sm="12">-->
|
||||||
<j-year-date style="width:100%"
|
<!-- <a-form-item label="打包年份" :labelCol="labelCol" :wrapperCol="wrapperCol" v-if="isPackage">-->
|
||||||
placeholder="请选择打包年份"
|
<!-- <j-year-date style="width:100%"-->
|
||||||
v-decorator="['packYear',validatorRules.packYear]"></j-year-date>
|
<!-- placeholder="请选择打包年份"-->
|
||||||
</a-form-item>
|
<!-- v-decorator="['packYear',validatorRules.packYear]"></j-year-date>-->
|
||||||
</a-col>
|
<!-- </a-form-item>-->
|
||||||
|
<!-- </a-col>-->
|
||||||
</a-row>
|
</a-row>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -224,7 +228,7 @@
|
|||||||
<div class="part-title">
|
<div class="part-title">
|
||||||
<div class="part-title-text">分期信息</div>
|
<div class="part-title-text">分期信息</div>
|
||||||
</div>
|
</div>
|
||||||
<installment-form ref="installmentForm" @ok="installmentFormOk"></installment-form>
|
<installment-form ref="installmentForm" @ok="installmentFormOk" label="付"></installment-form>
|
||||||
</div>
|
</div>
|
||||||
<!-- /分期信息-->
|
<!-- /分期信息-->
|
||||||
<a-form-item class="table-operator">
|
<a-form-item class="table-operator">
|
||||||
@@ -278,6 +282,14 @@ export default {
|
|||||||
xs: { span: 24 },
|
xs: { span: 24 },
|
||||||
sm: { span: 14 }
|
sm: { span: 14 }
|
||||||
},
|
},
|
||||||
|
longLabelCol: {
|
||||||
|
xs: { span: 24 },
|
||||||
|
sm: { span: 5 }
|
||||||
|
},
|
||||||
|
longWrapperCol: {
|
||||||
|
xs: { span: 24 },
|
||||||
|
sm: { span: 19 }
|
||||||
|
},
|
||||||
validatorRules: {
|
validatorRules: {
|
||||||
contractNum: {
|
contractNum: {
|
||||||
rules: [{ required: true, validator: this.checkContractNum }],
|
rules: [{ required: true, validator: this.checkContractNum }],
|
||||||
@@ -648,13 +660,13 @@ export default {
|
|||||||
callback('请输入签订合同总金额')
|
callback('请输入签订合同总金额')
|
||||||
break
|
break
|
||||||
case 'accountsReceivableAmount':
|
case 'accountsReceivableAmount':
|
||||||
callback('请输入应收金额')
|
callback('请输入应付金额')
|
||||||
break
|
break
|
||||||
case 'noTaxAmount':
|
case 'noTaxAmount':
|
||||||
callback('请输入未税金额')
|
callback('请输入未税金额')
|
||||||
break
|
break
|
||||||
case 'amountReceived':
|
case 'amountReceived':
|
||||||
callback('请输入已收金额')
|
callback('请输入已付金额')
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,28 +6,46 @@
|
|||||||
<div class="table-page-search-wrapper">
|
<div class="table-page-search-wrapper">
|
||||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||||
<a-row>
|
<a-row>
|
||||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
<a-col :xl="8" :lg="9" :md="10" :sm="24">
|
||||||
<a-form-item label="合同编号" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="合同编号" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-input placeholder="请输入合同编号" v-model="queryParam.contractNum" :maxLength='50'></a-input>
|
<a-input placeholder="请输入合同编号" v-model="queryParam.contractNum" :maxLength='50'></a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
<a-col :xl="8" :lg="9" :md="10" :sm="24">
|
||||||
<a-form-item label="合同名称" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="合同名称" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-input placeholder="请输入合同名称" v-model="queryParam.contractName" :maxLength='50'></a-input>
|
<a-input placeholder="请输入合同名称" v-model="queryParam.contractName" :maxLength='50'></a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
<a-col :xl="8" :lg="9" :md="10" :sm="24">
|
||||||
<a-form-item label="关联项目" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="关联项目" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-input placeholder="请输入关联项目" v-model="queryParam.projectName" :maxLength='50'></a-input>
|
<a-input placeholder="请输入关联项目" v-model="queryParam.projectName" :maxLength='50'></a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
<a-col :xl="8" :lg="9" :md="10" :sm="24">
|
||||||
<a-form-item label="合同状态" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="合同状态" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<j-dict-select-tag v-model="queryParam.status" placeholder="请选择合同状态"
|
<j-dict-select-tag v-model="queryParam.status"
|
||||||
|
placeholder="请选择合同状态"
|
||||||
dictCode="revenue_contract_status"/>
|
dictCode="revenue_contract_status"/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :xl="10" :lg="11" :md="12" :sm="24">
|
<!-- 需求变更-->
|
||||||
|
<a-col :xl="8" :lg="9" :md="10" :sm="24">
|
||||||
|
<a-form-item label="是否打包" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
|
<j-dict-select-tag v-model="queryParam.pack"
|
||||||
|
placeholder="请选择是否打包"
|
||||||
|
dictCode="yn"
|
||||||
|
@input="packageChange"/>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
<a-col :xl="8" :lg="9" :md="10" :sm="24">
|
||||||
|
<a-form-item label="打包年份" :labelCol="labelCol" :wrapperCol="wrapperCol" v-if="isPackage">
|
||||||
|
<j-year-date style="width:100%"
|
||||||
|
placeholder="请选择打包年份"
|
||||||
|
v-model="queryParam.packYear"></j-year-date>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
<!-- /需求变更-->
|
||||||
|
<a-col :xl="10" :lg="12" :md="12" :sm="24">
|
||||||
<a-form-item label="创建时间" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="创建时间" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<j-date
|
<j-date
|
||||||
placeholder="请选择开始日期"
|
placeholder="请选择开始日期"
|
||||||
@@ -88,7 +106,7 @@
|
|||||||
@change="handleTableChange"
|
@change="handleTableChange"
|
||||||
class="j-table-force-nowrap">
|
class="j-table-force-nowrap">
|
||||||
|
|
||||||
<!-- 项目名称 待审核状态为红色-->
|
<!-- 项目名称 -->
|
||||||
<template slot="projectName" slot-scope="text, record">
|
<template slot="projectName" slot-scope="text, record">
|
||||||
<j-ellipsis
|
<j-ellipsis
|
||||||
@click="toRevenueContractDetail(record.id, record.contractNum)"
|
@click="toRevenueContractDetail(record.id, record.contractNum)"
|
||||||
@@ -133,10 +151,11 @@ import RevenueContractAduitModule from './modules/RevenueContractAduitModule'
|
|||||||
import JDate from '../../../components/tools/JDate'
|
import JDate from '../../../components/tools/JDate'
|
||||||
import { RangeDateMixin } from '../../../mixins/RangeDateMixin'
|
import { RangeDateMixin } from '../../../mixins/RangeDateMixin'
|
||||||
import { archiveRevenueContract } from '../../../api/incomePaymentsApi'
|
import { archiveRevenueContract } from '../../../api/incomePaymentsApi'
|
||||||
|
import JYearDate from '../../../components/jero/JYearDate'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'RevenueContractList',
|
name: 'RevenueContractList',
|
||||||
components: { PageHeaderTitle, RevenueContractAduitModule, JDate },
|
components: { PageHeaderTitle, RevenueContractAduitModule, JDate, JYearDate },
|
||||||
mixins: [JeroListMixin, RangeDateMixin],
|
mixins: [JeroListMixin, RangeDateMixin],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@@ -233,12 +252,15 @@ export default {
|
|||||||
width: 200,
|
width: 200,
|
||||||
scopedSlots: { customRender: 'action' }
|
scopedSlots: { customRender: 'action' }
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
isPackage: false // 是否打包,控制打包年份显隐
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
searchQuery() {
|
searchReset() {
|
||||||
this.lastQueryParam = { ...this.queryParam }
|
this.lastQueryParam = {}
|
||||||
|
this.queryParam = {}
|
||||||
|
this.isPackage = false
|
||||||
this.loadData(1)
|
this.loadData(1)
|
||||||
},
|
},
|
||||||
toRevenueContractDetail(id, contractNum) {
|
toRevenueContractDetail(id, contractNum) {
|
||||||
@@ -314,6 +336,16 @@ export default {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 打包状态修改
|
||||||
|
*/
|
||||||
|
packageChange(value) {
|
||||||
|
if (value === '1') {
|
||||||
|
this.isPackage = true
|
||||||
|
} else {
|
||||||
|
this.isPackage = false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -230,7 +230,7 @@ export default {
|
|||||||
validateTrigger: 'blur'
|
validateTrigger: 'blur'
|
||||||
},
|
},
|
||||||
postAddress: {
|
postAddress: {
|
||||||
rules: [{required: true, message: '请输入邮编'}],
|
rules: [{required: true, message: '请输入邮寄地址'}],
|
||||||
validateTrigger: 'blur'
|
validateTrigger: 'blur'
|
||||||
},
|
},
|
||||||
payMode: {
|
payMode: {
|
||||||
|
|||||||
@@ -267,7 +267,7 @@ export default {
|
|||||||
if(value && money(value)){
|
if(value && money(value)){
|
||||||
callback()
|
callback()
|
||||||
}else {
|
}else {
|
||||||
callback('请输入合法的金额数字,最多2位小数,10位正数')
|
callback('应收金额格式错误')
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -108,7 +108,7 @@
|
|||||||
<div class="part-title">
|
<div class="part-title">
|
||||||
<div class="part-title-text">日期节点</div>
|
<div class="part-title-text">日期节点</div>
|
||||||
</div>
|
</div>
|
||||||
<a-row :gutter="30">
|
<a-row>
|
||||||
<a-col :xxl="6" :xl="8" :sm="12">
|
<a-col :xxl="6" :xl="8" :sm="12">
|
||||||
<a-form-item label="合同签订日期" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="合同签订日期" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<j-date placeholder="请选择合同签订日期"
|
<j-date placeholder="请选择合同签订日期"
|
||||||
@@ -127,12 +127,15 @@
|
|||||||
date-format="YYYY-MM-DD"/>
|
date-format="YYYY-MM-DD"/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :xxl="6" :xl="8" :sm="12">
|
</a-row>
|
||||||
<a-form-item label="合同约定主要时点" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-row>
|
||||||
<a-input placeholder="请输入合同约定主要时点"
|
<a-col :xxl="12" :xl="16" :sm="24">
|
||||||
v-decorator="['contractTimePoints']"
|
<a-form-item label="合同约定主要时点" :labelCol="longLabelCol" :wrapperCol="longWrapperCol">
|
||||||
:maxLength='50'
|
<!-- 20211022需求变更将input改为textarea-->
|
||||||
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
|
<a-textarea placeholder="请输入合同约定主要时点"
|
||||||
|
v-decorator="['contractTimePoints']"
|
||||||
|
:maxLength='200'
|
||||||
|
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-textarea>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
@@ -145,7 +148,7 @@
|
|||||||
<div class="part-title-text">账款信息</div>
|
<div class="part-title-text">账款信息</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<a-row :gutter="30">
|
<a-row>
|
||||||
<a-col :xxl="6" :xl="8" :sm="12">
|
<a-col :xxl="6" :xl="8" :sm="12">
|
||||||
<a-form-item label="应收金额" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="应收金额" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-input placeholder="请输入应收金额"
|
<a-input placeholder="请输入应收金额"
|
||||||
@@ -160,6 +163,7 @@
|
|||||||
<a-input placeholder="请输入已收金额"
|
<a-input placeholder="请输入已收金额"
|
||||||
v-decorator="['amountReceived',validatorRules.amountReceived]"
|
v-decorator="['amountReceived',validatorRules.amountReceived]"
|
||||||
:maxLength='50'
|
:maxLength='50'
|
||||||
|
:disabled="true"
|
||||||
@blur="addZero"
|
@blur="addZero"
|
||||||
@change="amountReceivedChange"></a-input>
|
@change="amountReceivedChange"></a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@@ -193,7 +197,7 @@
|
|||||||
<div class="part-title-text">其他信息</div>
|
<div class="part-title-text">其他信息</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<a-row :gutter="30">
|
<a-row>
|
||||||
<a-col :xxl="6" :xl="8" :sm="12">
|
<a-col :xxl="6" :xl="8" :sm="12">
|
||||||
<a-form-item label="合同约定付款次数" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="合同约定付款次数" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-input placeholder="请输入合同约定付款次数"
|
<a-input placeholder="请输入合同约定付款次数"
|
||||||
@@ -205,7 +209,7 @@
|
|||||||
<a-col :xxl="6" :xl="8" :sm="12">
|
<a-col :xxl="6" :xl="8" :sm="12">
|
||||||
<a-form-item label="是否打包" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="是否打包" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<j-dict-select-tag v-decorator="['pack', validatorRules.pack]"
|
<j-dict-select-tag v-decorator="['pack', validatorRules.pack]"
|
||||||
:triggerChange="true"
|
:trigger-change="true"
|
||||||
placeholder="请选择是否打包"
|
placeholder="请选择是否打包"
|
||||||
dictCode="yn"
|
dictCode="yn"
|
||||||
:disabled="isSaved"
|
:disabled="isSaved"
|
||||||
@@ -258,7 +262,8 @@
|
|||||||
<a-card :bordered="false" v-else class="associated-project" style="height: 200px"></a-card>
|
<a-card :bordered="false" v-else class="associated-project" style="height: 200px"></a-card>
|
||||||
|
|
||||||
<!-- 项目类型选择-->
|
<!-- 项目类型选择-->
|
||||||
<project-type-selection ref="projectTypeSelection" :is-pack="isPackage" @ok="selectProjectTypeOk"></project-type-selection>
|
<project-type-selection ref="projectTypeSelection" :is-pack="isPackage"
|
||||||
|
@ok="selectProjectTypeOk"></project-type-selection>
|
||||||
<!-- 普通项目选择-->
|
<!-- 普通项目选择-->
|
||||||
<select-project-module ref="selectProjectModule"
|
<select-project-module ref="selectProjectModule"
|
||||||
@ok="selectProjectOk"
|
@ok="selectProjectOk"
|
||||||
@@ -345,6 +350,14 @@ export default {
|
|||||||
xs: { span: 24 },
|
xs: { span: 24 },
|
||||||
sm: { span: 14 }
|
sm: { span: 14 }
|
||||||
},
|
},
|
||||||
|
longLabelCol: {
|
||||||
|
xs: { span: 24 },
|
||||||
|
sm: { span: 5 }
|
||||||
|
},
|
||||||
|
longWrapperCol: {
|
||||||
|
xs: { span: 24 },
|
||||||
|
sm: { span: 19 }
|
||||||
|
},
|
||||||
validatorRules: {
|
validatorRules: {
|
||||||
contractNum: {
|
contractNum: {
|
||||||
rules: [{ required: true, validator: this.checkContractNum }],
|
rules: [{ required: true, validator: this.checkContractNum }],
|
||||||
@@ -437,10 +450,15 @@ export default {
|
|||||||
add() {
|
add() {
|
||||||
this.title = '新建收入合同'
|
this.title = '新建收入合同'
|
||||||
this.$refs.installmentForm.initInstallmentList([])
|
this.$refs.installmentForm.initInstallmentList([])
|
||||||
// 税率默认为6
|
// 税率默认为6,已收金额默认为0
|
||||||
|
let obj = {
|
||||||
|
rate: 6,
|
||||||
|
amountReceived: '0.00'
|
||||||
|
}
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.form.setFieldsValue({ rate: 6 })
|
this.form.setFieldsValue(pick(obj, 'rate', 'amountReceived'))
|
||||||
})
|
})
|
||||||
|
this.amountReceivedNum = 0
|
||||||
this.rateNum = 6 / 100
|
this.rateNum = 6 / 100
|
||||||
},
|
},
|
||||||
edit(id) {
|
edit(id) {
|
||||||
|
|||||||
+12
-12
@@ -13,16 +13,16 @@
|
|||||||
<a-tab-pane key="1" tab="会员项目">
|
<a-tab-pane key="1" tab="会员项目">
|
||||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||||
<a-row>
|
<a-row>
|
||||||
<!-- <a-col :xl="6" :lg="7" :md="8" :sm="24">-->
|
|
||||||
<!-- <a-form-item label="会员项目" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
|
|
||||||
<!-- <a-input placeholder="请输入会员项目" v-model="queryParam.workingGroupProject"></a-input>-->
|
|
||||||
<!-- </a-form-item>-->
|
|
||||||
<!-- </a-col>-->
|
|
||||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||||
<a-form-item label="运行年份" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="会员项目" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<j-year-date placeholder="请选择运行年份" v-model="queryParam.particularYear"></j-year-date>
|
<a-input placeholder="请输入会员项目" v-model="queryParam.projectName" :maxLength='50'></a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
<!-- <a-col :xl="6" :lg="7" :md="8" :sm="24">-->
|
||||||
|
<!-- <a-form-item label="运行年份" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
|
||||||
|
<!-- <j-year-date placeholder="请选择运行年份" v-model="queryParam.particularYear"></j-year-date>-->
|
||||||
|
<!-- </a-form-item>-->
|
||||||
|
<!-- </a-col>-->
|
||||||
|
|
||||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||||
<span class="table-page-search-submitButtons">
|
<span class="table-page-search-submitButtons">
|
||||||
@@ -115,7 +115,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import {associatedProject} from '@api/incomePaymentsApi'
|
import {associatedProject} from '@api/incomePaymentsApi'
|
||||||
import {JeroListMixin} from '@/mixins/JeroListMixin'
|
import {JeroListMixin} from '@/mixins/JeroListMixin'
|
||||||
import JYearDate from '@comp/jero/JYearDate'
|
// import JYearDate from '@comp/jero/JYearDate'
|
||||||
import StatusSlot from '@comp/tools/StatusSlot'
|
import StatusSlot from '@comp/tools/StatusSlot'
|
||||||
import JEllipsis from '@comp/jero/JEllipsis'
|
import JEllipsis from '@comp/jero/JEllipsis'
|
||||||
import AddMemberProject from '@views/contractManagement/revenueContract/modules/AddMemberProject'
|
import AddMemberProject from '@views/contractManagement/revenueContract/modules/AddMemberProject'
|
||||||
@@ -124,7 +124,7 @@ export default {
|
|||||||
name: 'SelectMemberProjectModule',
|
name: 'SelectMemberProjectModule',
|
||||||
mixins: [JeroListMixin],
|
mixins: [JeroListMixin],
|
||||||
components: {
|
components: {
|
||||||
JYearDate,
|
// JYearDate,
|
||||||
StatusSlot,
|
StatusSlot,
|
||||||
JEllipsis,
|
JEllipsis,
|
||||||
AddMemberProject
|
AddMemberProject
|
||||||
@@ -226,21 +226,21 @@ export default {
|
|||||||
title: '联系人',
|
title: '联系人',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'liaisonMan',
|
dataIndex: 'liaisonMan',
|
||||||
width: 80,
|
width: 200,
|
||||||
scopedSlots: {customRender: 'text'}
|
scopedSlots: {customRender: 'text'}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '邮箱',
|
title: '邮箱',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'email',
|
dataIndex: 'email',
|
||||||
width: 160,
|
width: 200,
|
||||||
scopedSlots: {customRender: 'text'},
|
scopedSlots: {customRender: 'text'},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '手机',
|
title: '手机',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'phone',
|
dataIndex: 'phone',
|
||||||
width: 80,
|
width: 100,
|
||||||
scopedSlots: {customRender: 'text'}
|
scopedSlots: {customRender: 'text'}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -189,7 +189,7 @@ export default {
|
|||||||
align: 'center',
|
align: 'center',
|
||||||
width: 280,
|
width: 280,
|
||||||
dataIndex: 'chargeProject',
|
dataIndex: 'chargeProject',
|
||||||
scopedSlots: { customRender: 'projectName' }
|
scopedSlots: { customRender: 'text' }
|
||||||
}, {
|
}, {
|
||||||
title: '来款用途',
|
title: '来款用途',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
|
|||||||
+3
-2
@@ -135,11 +135,12 @@ export default {
|
|||||||
title: '工作组项目',
|
title: '工作组项目',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'workingGroupProject',
|
dataIndex: 'workingGroupProject',
|
||||||
scopedSlots: { customRender: 'projectName' }
|
scopedSlots: { customRender: 'text' }
|
||||||
}, {
|
}, {
|
||||||
title: '负责人A',
|
title: '负责人A',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'principalNameA'
|
dataIndex: 'principalNameA',
|
||||||
|
scopedSlots: { customRender: 'text' }
|
||||||
}, {
|
}, {
|
||||||
title: '进度',
|
title: '进度',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
|
|||||||
@@ -334,10 +334,12 @@ export default {
|
|||||||
arr = this.dataSource.filter(tt => selectedKeys.indexOf(tt.id) > -1)
|
arr = this.dataSource.filter(tt => selectedKeys.indexOf(tt.id) > -1)
|
||||||
// 开票
|
// 开票
|
||||||
if (operateType === 'invoic') {
|
if (operateType === 'invoic') {
|
||||||
|
|
||||||
// 是否存在不需要发票的项目
|
// 是否存在不需要发票的项目
|
||||||
if (arr.some(item => item.needInvoice === 0 || Number(item.receivableAmount) === 0)) {
|
if (arr.some(item => item.needInvoice === 0 || Number(item.receivableAmount) === 0)) {
|
||||||
reject('存在不需要发票的项目!')
|
reject('存在不需要发票的项目!')
|
||||||
}
|
}
|
||||||
|
|
||||||
// 是否存在企业不同的项目
|
// 是否存在企业不同的项目
|
||||||
let companyArr = []
|
let companyArr = []
|
||||||
arr.forEach(item => {
|
arr.forEach(item => {
|
||||||
@@ -347,9 +349,20 @@ export default {
|
|||||||
if (!isAllEqual(companyArr)) {
|
if (!isAllEqual(companyArr)) {
|
||||||
reject('请选择来款单位为同一企业的项目合并开票!')
|
reject('请选择来款单位为同一企业的项目合并开票!')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 是否存在已完成开票的项目
|
||||||
if (arr.some(item => item.makeInvoice === 1)) {
|
if (arr.some(item => item.makeInvoice === 1)) {
|
||||||
reject('存在已完成开票的项目!')
|
reject('存在已完成开票的项目!')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 是否选中了标协会员项目,标协会员项目只能到账一次、开票一次,前端进行是否完全到账的限制
|
||||||
|
if (arr.some(item => item.projectType === 5)) {
|
||||||
|
// 标协会员项目是否完全到账
|
||||||
|
if (arr.some(item => item.inAccount !== 1)) {
|
||||||
|
reject('存在未全部到账的标协会员项目!')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
this.selectedCompany = {
|
this.selectedCompany = {
|
||||||
id: arr[0].chargeCompanyId,
|
id: arr[0].chargeCompanyId,
|
||||||
companyName: arr[0].chargeCompanyTemporaryName
|
companyName: arr[0].chargeCompanyTemporaryName
|
||||||
|
|||||||
@@ -94,6 +94,8 @@
|
|||||||
<j-area-linkage
|
<j-area-linkage
|
||||||
type="cascader"
|
type="cascader"
|
||||||
placeholder="请选择省市"
|
placeholder="请选择省市"
|
||||||
|
:has-error="hasError"
|
||||||
|
@change="changeConvoke"
|
||||||
v-decorator="['convokeLocale',validatorRules.convokeLocale]"
|
v-decorator="['convokeLocale',validatorRules.convokeLocale]"
|
||||||
></j-area-linkage>
|
></j-area-linkage>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@@ -436,8 +438,10 @@ export default {
|
|||||||
workGroupList: [],
|
workGroupList: [],
|
||||||
// 收费二维码显示
|
// 收费二维码显示
|
||||||
QRcodeBool: true,
|
QRcodeBool: true,
|
||||||
|
// 召开地点border颜色控制
|
||||||
|
hasError:false,
|
||||||
// 会议类型
|
// 会议类型
|
||||||
meetingType:'',
|
meetingType: '',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@@ -467,7 +471,7 @@ export default {
|
|||||||
this.edit(res.result)
|
this.edit(res.result)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}else {
|
} else {
|
||||||
// 没有id走新增
|
// 没有id走新增
|
||||||
this.add()
|
this.add()
|
||||||
}
|
}
|
||||||
@@ -510,11 +514,11 @@ export default {
|
|||||||
}
|
}
|
||||||
console.log(this.model)
|
console.log(this.model)
|
||||||
// 召开时间回显
|
// 召开时间回显
|
||||||
if(this.model.startTime){
|
if (this.model.startTime) {
|
||||||
this.model.convokeTime = [moment(this.model.startTime, dateFormat), moment(this.model.endTime, dateFormat)]
|
this.model.convokeTime = [moment(this.model.startTime, dateFormat), moment(this.model.endTime, dateFormat)]
|
||||||
}
|
}
|
||||||
// 注册签到时间回显
|
// 注册签到时间回显
|
||||||
if( this.model.startSignInTime){
|
if (this.model.startSignInTime) {
|
||||||
this.model.signInTime = [moment(this.model.startSignInTime, dateFormat), moment(this.model.endSignInTime, dateFormat)]
|
this.model.signInTime = [moment(this.model.startSignInTime, dateFormat), moment(this.model.endSignInTime, dateFormat)]
|
||||||
}
|
}
|
||||||
// 后端需要的召开时间
|
// 后端需要的召开时间
|
||||||
@@ -525,7 +529,7 @@ export default {
|
|||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
// 加定时器是因为有可能赋值不成功
|
// 加定时器是因为有可能赋值不成功
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.form.setFieldsValue(pick(this.model,'notice','paymentQrCode','meetingName', 'meetingType', 'convokeTime', 'particularYear', 'estimatedNumber', 'meetingFiles', 'registerDeadline', 'meetingContent', 'convokeLocale', 'address', 'meetingCosts', 'directorId', 'remark', 'directorPhone')), 200
|
this.form.setFieldsValue(pick(this.model, 'notice', 'paymentQrCode', 'meetingName', 'meetingType', 'convokeTime', 'particularYear', 'estimatedNumber', 'meetingFiles', 'registerDeadline', 'meetingContent', 'convokeLocale', 'address', 'meetingCosts', 'directorId', 'remark', 'directorPhone')), 200
|
||||||
})
|
})
|
||||||
// 如果是标协会议则回显 标协会议的字段
|
// 如果是标协会议则回显 标协会议的字段
|
||||||
if (this.meetingType === '2') {
|
if (this.meetingType === '2') {
|
||||||
@@ -550,6 +554,10 @@ export default {
|
|||||||
handleOk() {
|
handleOk() {
|
||||||
const that = this
|
const that = this
|
||||||
this.form.validateFields((err, values) => {
|
this.form.validateFields((err, values) => {
|
||||||
|
// 这是设置召开时间不选择的边框颜色为红色
|
||||||
|
if (err && Object.prototype.hasOwnProperty.call(err, 'convokeLocale')) {
|
||||||
|
this.hasError = true
|
||||||
|
}
|
||||||
if (!err) {
|
if (!err) {
|
||||||
that.confirmLoading = true
|
that.confirmLoading = true
|
||||||
let httpurl = ''
|
let httpurl = ''
|
||||||
@@ -562,7 +570,7 @@ export default {
|
|||||||
let placeName = values.convokeLocale
|
let placeName = values.convokeLocale
|
||||||
const formData = Object.assign(this.model, values, {venue: this.getPcaText(placeName)})
|
const formData = Object.assign(this.model, values, {venue: this.getPcaText(placeName)})
|
||||||
// 如果会议的费用未为0 不能上传缴费凭证
|
// 如果会议的费用未为0 不能上传缴费凭证
|
||||||
if(values.meetingCosts === '0.00' ){
|
if (values.meetingCosts === '0.00') {
|
||||||
delete formData.paymentQrCode
|
delete formData.paymentQrCode
|
||||||
}
|
}
|
||||||
// 添加编辑会议需要增加会议类型
|
// 添加编辑会议需要增加会议类型
|
||||||
@@ -601,6 +609,14 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
/*
|
/*
|
||||||
|
*
|
||||||
|
* */
|
||||||
|
changeConvoke(val){
|
||||||
|
if(val){
|
||||||
|
this.hasError = false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/*
|
||||||
* 取消
|
* 取消
|
||||||
* */
|
* */
|
||||||
handleCancel() {
|
handleCancel() {
|
||||||
@@ -706,33 +722,38 @@ export default {
|
|||||||
/*
|
/*
|
||||||
* 根据会议类型返回不同的会议新增与编辑接口
|
* 根据会议类型返回不同的会议新增与编辑接口
|
||||||
* */
|
* */
|
||||||
createUrlByMeetingType(meetingType){
|
createUrlByMeetingType(meetingType) {
|
||||||
switch (String(meetingType)){
|
switch (String(meetingType)) {
|
||||||
// 工作组会议
|
// 工作组会议
|
||||||
case '1':return {
|
case '1':
|
||||||
add:'/meeting/workGroupMeeting/add',
|
return {
|
||||||
edit:'/meeting/workGroupMeeting/edit'
|
add: '/meeting/workGroupMeeting/add',
|
||||||
}
|
edit: '/meeting/workGroupMeeting/edit'
|
||||||
|
}
|
||||||
// 标协会议
|
// 标协会议
|
||||||
case '2':return {
|
case '2':
|
||||||
add:'/meeting/standardsMeeting/add',
|
return {
|
||||||
edit:'/meeting/standardsMeeting/edit'
|
add: '/meeting/standardsMeeting/add',
|
||||||
}
|
edit: '/meeting/standardsMeeting/edit'
|
||||||
|
}
|
||||||
// 国际研讨会
|
// 国际研讨会
|
||||||
case '3':return {
|
case '3':
|
||||||
add:'/meeting/internalMeeting/add',
|
return {
|
||||||
edit:'/meeting/internalMeeting/edit'
|
add: '/meeting/internalMeeting/add',
|
||||||
}
|
edit: '/meeting/internalMeeting/edit'
|
||||||
|
}
|
||||||
// 其他会议
|
// 其他会议
|
||||||
case '4':return {
|
case '4':
|
||||||
add:'/meeting/otherMeeting/add',
|
return {
|
||||||
edit:'/meeting/otherMeeting/edit'
|
add: '/meeting/otherMeeting/add',
|
||||||
}
|
edit: '/meeting/otherMeeting/edit'
|
||||||
|
}
|
||||||
// 分标委会议
|
// 分标委会议
|
||||||
case '5':return {
|
case '5':
|
||||||
add:'/meeting/committeeMeeting/add',
|
return {
|
||||||
edit:'/meeting/committeeMeeting/edit'
|
add: '/meeting/committeeMeeting/add',
|
||||||
}
|
edit: '/meeting/committeeMeeting/edit'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
/*
|
/*
|
||||||
@@ -791,8 +812,8 @@ export default {
|
|||||||
// 会议费用为 0控制二维码显示隐藏
|
// 会议费用为 0控制二维码显示隐藏
|
||||||
if (value === '0.00') {
|
if (value === '0.00') {
|
||||||
this.QRcodeBool = false
|
this.QRcodeBool = false
|
||||||
// 如果付款二维码有值 需要清空
|
// 如果付款二维码有值 需要清空
|
||||||
if(this.form.getFieldValue('paymentQrCode')){
|
if (this.form.getFieldValue('paymentQrCode')) {
|
||||||
this.form.resetFields('paymentQrCode')
|
this.form.resetFields('paymentQrCode')
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -886,6 +907,7 @@ export default {
|
|||||||
.yuan {
|
.yuan {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: -40px;
|
right: -40px;
|
||||||
|
top: -10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.add-icon {
|
.add-icon {
|
||||||
|
|||||||
@@ -253,8 +253,8 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<span slot="action" slot-scope="text, record" class="action-span-cell">
|
<span slot="action" slot-scope="text, record" class="action-span-cell">
|
||||||
<!-- 只有缴费方式为汇款并且上传了汇款凭证的的才会有审核按钮-->
|
<!-- 只有缴费方式为汇款并且上传了汇款凭证的的才会有审核按钮 审核通过后不显示 审核凭证按钮 -->
|
||||||
<a @click="handleAudit(record)" v-if="(record.payMode === 1 || record.payMode === 2 ) && record.paymentRecord"
|
<a @click="handleAudit(record)" v-if="(record.payMode === 1 || record.payMode === 2 ) && record.paymentRecord && record.checkResult !== 1"
|
||||||
v-has:[authorCode.auditRecord]="'attendance:auditCredentials'">审核凭证</a>
|
v-has:[authorCode.auditRecord]="'attendance:auditCredentials'">审核凭证</a>
|
||||||
<!-- 只有工作组会议与分标委会议才有审核报名信息-->
|
<!-- 只有工作组会议与分标委会议才有审核报名信息-->
|
||||||
<a @click="handleAuditSignUp(record)"
|
<a @click="handleAuditSignUp(record)"
|
||||||
@@ -532,6 +532,7 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
// console.log(this.$route,'this.$route this.$route')
|
||||||
// 为不同会议的参会情况去设置不同的权限编码
|
// 为不同会议的参会情况去设置不同的权限编码
|
||||||
this.setCodeByMeetingType(this.$route.query.meetingType)
|
this.setCodeByMeetingType(this.$route.query.meetingType)
|
||||||
// 获取会议详情
|
// 获取会议详情
|
||||||
@@ -540,7 +541,6 @@ export default {
|
|||||||
}
|
}
|
||||||
getMeetInfoById(param).then(res => {
|
getMeetInfoById(param).then(res => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
console.log(res.result)
|
|
||||||
this.currentMeetingInfo = Object.assign({}, res.result)
|
this.currentMeetingInfo = Object.assign({}, res.result)
|
||||||
// 转化会议类型
|
// 转化会议类型
|
||||||
this.meetingType = this.generateMeetingType(this.currentMeetingInfo.meetingType)
|
this.meetingType = this.generateMeetingType(this.currentMeetingInfo.meetingType)
|
||||||
@@ -831,6 +831,7 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
<!-- 选择嘉宾和内部企业、缴费方式为打包也不显示-->
|
<!-- 选择嘉宾和内部企业、缴费方式为打包也不显示-->
|
||||||
<!-- 会议费为0不显示 -->
|
<!-- 会议费为0不显示 -->
|
||||||
<template v-if="!meetingCostBool">
|
<template v-if="!meetingCostBool">
|
||||||
<div class="item-title" v-if="identifyType === 2 && !payModeBool">缴费信息</div>
|
<div class="item-title" v-if="identifyType === 2">缴费信息</div>
|
||||||
<a-row :gutter="24">
|
<a-row :gutter="24">
|
||||||
<a-col :xxl="8" :xl="12" :sm="24" v-if="identifyType === 2">
|
<a-col :xxl="8" :xl="12" :sm="24" v-if="identifyType === 2">
|
||||||
<a-form-item label="缴费方式" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="缴费方式" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
@@ -46,6 +46,7 @@
|
|||||||
<j-dict-select-tag style="width: 100%" dict-code="invoice_type"
|
<j-dict-select-tag style="width: 100%" dict-code="invoice_type"
|
||||||
v-decorator="['needInvoice',validatorRules.needInvoice]"
|
v-decorator="['needInvoice',validatorRules.needInvoice]"
|
||||||
:trigger-change="true"
|
:trigger-change="true"
|
||||||
|
@change="changeInvoice"
|
||||||
:disabled="isEditBool"
|
:disabled="isEditBool"
|
||||||
placeholder="请选择发票类型"></j-dict-select-tag>
|
placeholder="请选择发票类型"></j-dict-select-tag>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@@ -69,9 +70,9 @@
|
|||||||
<!-- </a-col>-->
|
<!-- </a-col>-->
|
||||||
</a-row>
|
</a-row>
|
||||||
</template>
|
</template>
|
||||||
<!-- 选择嘉宾和内部企业、缴费方式为打包也不显示-->
|
<!-- 其他会议选择嘉宾和内部企业、缴费方式为打包也不显示-->
|
||||||
<!-- 会议费为0不显示 -->
|
<!-- 会议费为0不显示 -->
|
||||||
<template v-if="!meetingCostBool">
|
<template v-if="!meetingCostBool && !needInvoiceBool ">
|
||||||
<div class="item-title" v-if="identifyType === 2 && !payModeBool ">邮寄信息</div>
|
<div class="item-title" v-if="identifyType === 2 && !payModeBool ">邮寄信息</div>
|
||||||
<a-row :gutter="24">
|
<a-row :gutter="24">
|
||||||
<a-col :xxl="8" :xl="12" :sm="24" v-if="identifyType === 2 && !payModeBool ">
|
<a-col :xxl="8" :xl="12" :sm="24" v-if="identifyType === 2 && !payModeBool ">
|
||||||
@@ -178,7 +179,7 @@ export default {
|
|||||||
sm: {span: 21}
|
sm: {span: 21}
|
||||||
},
|
},
|
||||||
// 缴费方式为打包
|
// 缴费方式为打包
|
||||||
payModeBool: false,
|
payModeBool: true,
|
||||||
// 缴费方式为线上缴费
|
// 缴费方式为线上缴费
|
||||||
onlinePayModeBool:false,
|
onlinePayModeBool:false,
|
||||||
// 回显的邮寄联系人
|
// 回显的邮寄联系人
|
||||||
@@ -203,6 +204,8 @@ export default {
|
|||||||
},
|
},
|
||||||
// 是否可编辑
|
// 是否可编辑
|
||||||
isEditBool:false,
|
isEditBool:false,
|
||||||
|
// 是否需要发票
|
||||||
|
needInvoiceBool:true,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
@@ -226,6 +229,13 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
/*
|
||||||
|
* 清空邮寄联系人 地址 邮编
|
||||||
|
* */
|
||||||
|
clearFormItem(){
|
||||||
|
// 选择企业清空 姓名 手机号
|
||||||
|
this.form.resetFields(['postContactId','postContactAddress','postCode'])
|
||||||
|
},
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 选择了联系人后给邮寄联系人和地址赋值
|
* 选择了联系人后给邮寄联系人和地址赋值
|
||||||
@@ -280,6 +290,7 @@ export default {
|
|||||||
* */
|
* */
|
||||||
setFormVal(record) {
|
setFormVal(record) {
|
||||||
this.isEditBool = record.checkResult === 1
|
this.isEditBool = record.checkResult === 1
|
||||||
|
this.needInvoiceBool = record.needInvoice === 0
|
||||||
// 回显邮寄联系人
|
// 回显邮寄联系人
|
||||||
this.selectPostPerson = {
|
this.selectPostPerson = {
|
||||||
id: record.postContactTemporaryId,
|
id: record.postContactTemporaryId,
|
||||||
@@ -304,6 +315,17 @@ export default {
|
|||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
/*
|
||||||
|
* 选择发票
|
||||||
|
* */
|
||||||
|
changeInvoice(val){
|
||||||
|
if(val === '0'){
|
||||||
|
// 不需要发票
|
||||||
|
this.needInvoiceBool = true
|
||||||
|
}else {
|
||||||
|
this.needInvoiceBool = false
|
||||||
|
}
|
||||||
},
|
},
|
||||||
addContactsOk() {
|
addContactsOk() {
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,24 +36,27 @@
|
|||||||
<a-col :xxl="8" :xl="12" :sm="24">
|
<a-col :xxl="8" :xl="12" :sm="24">
|
||||||
<label class="label">是否住酒店:</label><span>{{ model.checkInHotel_dictText }}</span>
|
<label class="label">是否住酒店:</label><span>{{ model.checkInHotel_dictText }}</span>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :xxl="8" :xl="12" :sm="24">
|
<!-- 抵达时间和离开时间 填写了才显示 -->
|
||||||
|
<a-col :xxl="8" :xl="12" :sm="24" v-if="!!model.arrivalTime">
|
||||||
<label class="label">抵达时间:</label><span>{{ model.arrivalTime }}</span>
|
<label class="label">抵达时间:</label><span>{{ model.arrivalTime }}</span>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :xxl="8" :xl="12" :sm="24">
|
<a-col :xxl="8" :xl="12" :sm="24" v-if="!!model.departureTime">
|
||||||
<label class="label">离开时间:</label><span>{{ model.departureTime }}</span>
|
<label class="label">离开时间:</label><span>{{ model.departureTime }}</span>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
</template>
|
</template>
|
||||||
<!--行程信息end-->
|
<!--行程信息end-->
|
||||||
|
|
||||||
|
<!--其他会议的身份选择参会人才显示 缴费信息和邮寄信息 -->
|
||||||
<!--缴费信息begin-->
|
<!--缴费信息begin-->
|
||||||
<template>
|
<template v-if="model.identity === 2">
|
||||||
<div class="item-title">缴费信息</div>
|
<div class="item-title">缴费信息</div>
|
||||||
<a-row :gutter="24">
|
<a-row :gutter="24">
|
||||||
<a-col :xxl="8" :xl="12" :sm="24">
|
<a-col :xxl="8" :xl="12" :sm="24">
|
||||||
<label class="label">缴费方式:</label><span>{{ model.payMode_dictText }}</span>
|
<label class="label">缴费方式:</label><span>{{ model.payMode_dictText }}</span>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :xxl="8" :xl="12" :sm="24">
|
<!-- 缴费方式为打包的不显示发票 -->
|
||||||
|
<a-col :xxl="8" :xl="12" :sm="24" v-if="model.payMode !== 3">
|
||||||
<label class="label">需要发票:</label><span>{{ model.needInvoice_dictText }}</span>
|
<label class="label">需要发票:</label><span>{{ model.needInvoice_dictText }}</span>
|
||||||
</a-col>
|
</a-col>
|
||||||
<!-- <a-col :xxl="8" :xl="12" :sm="24">-->
|
<!-- <a-col :xxl="8" :xl="12" :sm="24">-->
|
||||||
@@ -62,9 +65,9 @@
|
|||||||
</a-row>
|
</a-row>
|
||||||
</template>
|
</template>
|
||||||
<!--缴费信息end-->
|
<!--缴费信息end-->
|
||||||
|
<!-- 不需要发票的不显示邮寄信息 -->
|
||||||
<!--邮寄信息begin-->
|
<!--邮寄信息begin-->
|
||||||
<template>
|
<template v-if="model.identity === 2 && model.needInvoice !== 0 ">
|
||||||
<div class="item-title">邮寄信息</div>
|
<div class="item-title">邮寄信息</div>
|
||||||
<a-row :gutter="24">
|
<a-row :gutter="24">
|
||||||
<a-col :xxl="8" :xl="12" :sm="24">
|
<a-col :xxl="8" :xl="12" :sm="24">
|
||||||
@@ -89,10 +92,10 @@
|
|||||||
<a-col :xxl="8" :xl="12" :sm="24">
|
<a-col :xxl="8" :xl="12" :sm="24">
|
||||||
<label class="label">是否住酒店:</label><span>{{ model.checkInHotel_dictText }}</span>
|
<label class="label">是否住酒店:</label><span>{{ model.checkInHotel_dictText }}</span>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :xxl="8" :xl="12" :sm="24">
|
<a-col :xxl="8" :xl="12" :sm="24" v-if="!!model.arrivalTime">
|
||||||
<label class="label">抵达时间:</label><span>{{ model.arrivalTime }}</span>
|
<label class="label">抵达时间:</label><span>{{ model.arrivalTime }}</span>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :xxl="8" :xl="12" :sm="24">
|
<a-col :xxl="8" :xl="12" :sm="24" v-if="!!model.departureTime ">
|
||||||
<label class="label">离开时间:</label><span>{{ model.departureTime }}</span>
|
<label class="label">离开时间:</label><span>{{ model.departureTime }}</span>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
@@ -100,13 +103,15 @@
|
|||||||
<!--行程信息end-->
|
<!--行程信息end-->
|
||||||
|
|
||||||
<!--缴费信息begin-->
|
<!--缴费信息begin-->
|
||||||
<template>
|
<!-- 内部企业显示 -->
|
||||||
|
<template v-if="model.identity !== 3 ">
|
||||||
<div class="item-title">缴费信息</div>
|
<div class="item-title">缴费信息</div>
|
||||||
<a-row :gutter="24">
|
<a-row :gutter="24">
|
||||||
<a-col :xxl="8" :xl="12" :sm="24">
|
<a-col :xxl="8" :xl="12" :sm="24">
|
||||||
<label class="label">缴费方式:</label><span>{{ model.payMode_dictText }}</span>
|
<label class="label">缴费方式:</label><span>{{ model.payMode_dictText }}</span>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :xxl="8" :xl="12" :sm="24">
|
<!-- 国际研讨会打包不显示需要发票-->
|
||||||
|
<a-col :xxl="8" :xl="12" :sm="24" v-if="model.payMode !== 3 ">
|
||||||
<label class="label">需要发票:</label><span>{{ model.needInvoice_dictText }}</span>
|
<label class="label">需要发票:</label><span>{{ model.needInvoice_dictText }}</span>
|
||||||
</a-col>
|
</a-col>
|
||||||
<!-- <a-col :xxl="8" :xl="12" :sm="24">-->
|
<!-- <a-col :xxl="8" :xl="12" :sm="24">-->
|
||||||
@@ -117,7 +122,8 @@
|
|||||||
<!--缴费信息end-->
|
<!--缴费信息end-->
|
||||||
|
|
||||||
<!--邮寄信息begin-->
|
<!--邮寄信息begin-->
|
||||||
<template>
|
<!-- 参会人不需要发票不显示 -->
|
||||||
|
<template v-if="model.needInvoice !== 0">
|
||||||
<div class="item-title">邮寄信息</div>
|
<div class="item-title">邮寄信息</div>
|
||||||
<a-row :gutter="24">
|
<a-row :gutter="24">
|
||||||
<a-col :xxl="8" :xl="12" :sm="24">
|
<a-col :xxl="8" :xl="12" :sm="24">
|
||||||
@@ -138,19 +144,22 @@
|
|||||||
<!--演讲信息begin-->
|
<!--演讲信息begin-->
|
||||||
<template v-if="model.guestType !== 3">
|
<template v-if="model.guestType !== 3">
|
||||||
<div class="item-title">演讲信息</div>
|
<div class="item-title">演讲信息</div>
|
||||||
<a-row :gutter="24">
|
<a-row :gutter="24" class="info flex-col">
|
||||||
<a-col :xxl="8" :xl="12" :sm="24">
|
<a-col :xxl="8" :xl="12" :sm="24">
|
||||||
<label class="label">演讲题目:</label><span>{{ model.speechTopic }}</span>
|
<label class="label">演讲题目:</label><span>{{ model.speechTopic }}</span>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :xxl="8" :xl="12" :sm="24">
|
<a-col :xxl="8" :xl="12" :sm="24">
|
||||||
<label class="label">演讲PPT:</label> <preview-file v-if="model.speechPpt" :file-id="model.speechPpt"></preview-file>
|
<label class="label">演讲PPT:</label>
|
||||||
|
<preview-file v-if="model.speechPpt" :file-id="model.speechPpt"></preview-file>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :xxl="8" :xl="12" :sm="24" style="display: flex" >
|
<a-col :xxl="8" :xl="12" :sm="24" style="display: flex">
|
||||||
<label class="label">照片:</label><span><j-image-upload v-if="model.photo" :return-id="true" v-model="model.photo " disabled></j-image-upload></span>
|
<label class="label">照片:</label><span><j-image-upload v-if="model.photo" :return-id="true"
|
||||||
|
v-model="model.photo "
|
||||||
|
disabled></j-image-upload></span>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
<a-row :gutter="24">
|
<a-row :gutter="24" class="info-textarea flex-col">
|
||||||
<a-col :xxl="8" :xl="12" :sm="24">
|
<a-col :xxl="22" :xl="22" :sm="22">
|
||||||
<label class="label">个人简介:</label><span>{{ model.profile }}</span>
|
<label class="label">个人简介:</label><span>{{ model.profile }}</span>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
@@ -174,7 +183,7 @@
|
|||||||
<!--住店信息begin-->
|
<!--住店信息begin-->
|
||||||
<template v-if="model.guestType !== 3">
|
<template v-if="model.guestType !== 3">
|
||||||
<div class="item-title">住店信息</div>
|
<div class="item-title">住店信息</div>
|
||||||
<a-row :gutter="24">
|
<a-row :gutter="24" class="info flex-col">
|
||||||
<a-col :xxl="8" :xl="12" :sm="24">
|
<a-col :xxl="8" :xl="12" :sm="24">
|
||||||
<label class="label">是否住酒店:</label><span>{{ model.checkInHotel_dictText }}</span>
|
<label class="label">是否住酒店:</label><span>{{ model.checkInHotel_dictText }}</span>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -196,21 +205,21 @@
|
|||||||
<!--行程信息begin-->
|
<!--行程信息begin-->
|
||||||
<template>
|
<template>
|
||||||
<div class="item-title">行程信息</div>
|
<div class="item-title">行程信息</div>
|
||||||
<a-row :gutter="24">
|
<a-row :gutter="24" class="info flex-col">
|
||||||
<a-col :xxl="8" :xl="12" :sm="24">
|
<a-col :xxl="8" :xl="12" :sm="24">
|
||||||
<label class="label">是否需要接站:</label><span>{{ model.pickUp_dictText }}</span>
|
<label class="label">是否需要接站:</label><span>{{ model.pickUp_dictText }}</span>
|
||||||
</a-col>
|
</a-col>
|
||||||
<div v-if="model.pickUp === 1">
|
<div v-if="model.pickUp === 1">
|
||||||
<a-col :xxl="8" :xl="12" :sm="24" >
|
<a-col :xxl="8" :xl="12" :sm="24">
|
||||||
<label class="label">抵达时间:</label><span>{{ model.arrivalTime }}</span>
|
<label class="label">抵达时间:</label><span>{{ model.arrivalTime }}</span>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :xxl="8" :xl="12" :sm="24">
|
<a-col :xxl="8" :xl="12" :sm="24">
|
||||||
<label class="label">到达站:</label><span>{{ model.destination }}</span>
|
<label class="label">到达站:</label><span>{{ model.destination }}</span>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :xxl="8" :xl="12" :sm="24">
|
<a-col :xxl="8" :xl="12" :sm="24">
|
||||||
<label class="label">到达班次:</label><span>{{ model.arrivalShift }}</span>
|
<label class="label">到达班次:</label><span>{{ model.arrivalShift }}</span>
|
||||||
</a-col>
|
</a-col>
|
||||||
</div>
|
</div>
|
||||||
<a-col :xxl="8" :xl="12" :sm="24">
|
<a-col :xxl="8" :xl="12" :sm="24">
|
||||||
<label class="label">是否需要送站:</label><span>{{ model.deliveryStation_dictText }}</span>
|
<label class="label">是否需要送站:</label><span>{{ model.deliveryStation_dictText }}</span>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -229,8 +238,8 @@
|
|||||||
<label class="label">同行人:</label><span>{{ model.peer }}</span>
|
<label class="label">同行人:</label><span>{{ model.peer }}</span>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
<a-row :gutter="24" v-if="model.guestType !== 3">
|
<a-row :gutter="24" v-if="model.guestType !== 3" class="info-textarea flex-col">
|
||||||
<a-col :xxl="8" :xl="12" :sm="24">
|
<a-col :xxl="22" :xl="22" :sm="22">
|
||||||
<label class="label">备注:</label><span>{{ model.remark }}</span>
|
<label class="label">备注:</label><span>{{ model.remark }}</span>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
@@ -309,6 +318,33 @@ export default {
|
|||||||
<style scoped lang="less">
|
<style scoped lang="less">
|
||||||
@import '~@assets/less/common.less';
|
@import '~@assets/less/common.less';
|
||||||
|
|
||||||
|
.info {
|
||||||
|
.ant-col {
|
||||||
|
span {
|
||||||
|
display: inline-block;
|
||||||
|
word-break: keep-all;
|
||||||
|
white-space: nowrap;
|
||||||
|
max-width: calc(100% - 100px);
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//会议内容、备注的样式
|
||||||
|
.info-textarea {
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
label {
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.flex-col {
|
||||||
|
.ant-col {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
}
|
||||||
.ant-row {
|
.ant-row {
|
||||||
line-height: 3;
|
line-height: 3;
|
||||||
|
|
||||||
|
|||||||
@@ -242,7 +242,6 @@ export default {
|
|||||||
if(this.model.id){
|
if(this.model.id){
|
||||||
this.title = '编辑参会人'
|
this.title = '编辑参会人'
|
||||||
}
|
}
|
||||||
console.log(this.model)
|
|
||||||
// 设置编辑的显示隐藏状态
|
// 设置编辑的显示隐藏状态
|
||||||
this.identifyType = this.model.identity
|
this.identifyType = this.model.identity
|
||||||
this.guestType = this.model.guestType ? this.model.guestType : null
|
this.guestType = this.model.guestType ? this.model.guestType : null
|
||||||
@@ -265,9 +264,16 @@ export default {
|
|||||||
if(record.payMode === 3){
|
if(record.payMode === 3){
|
||||||
this.$refs.formother.payModeBool = true
|
this.$refs.formother.payModeBool = true
|
||||||
}
|
}
|
||||||
|
// 缴费方式为汇款 需要显示发票字段
|
||||||
|
if(record.payMode === 1){
|
||||||
|
this.$refs.formother.payModeBool = false
|
||||||
|
}
|
||||||
|
|
||||||
// 缴费方式为线上的需要回显订单号后四位
|
// 缴费方式为线上的需要回显订单号后四位
|
||||||
if(record.payMode === 2){
|
if(record.payMode === 2){
|
||||||
this.$refs.formother.onlinePayModeBool = true
|
this.$refs.formother.onlinePayModeBool = true
|
||||||
|
// 控制发票是否显示的字段
|
||||||
|
this.$refs.formother.payModeBool = false
|
||||||
}
|
}
|
||||||
this.$refs.formother.setFormVal(this.model)
|
this.$refs.formother.setFormVal(this.model)
|
||||||
}
|
}
|
||||||
@@ -377,6 +383,11 @@ export default {
|
|||||||
* */
|
* */
|
||||||
changeCompany(value) {
|
changeCompany(value) {
|
||||||
this.selectedCompany = value
|
this.selectedCompany = value
|
||||||
|
// 选择企业清空 姓名 手机号
|
||||||
|
this.form.resetFields(['companyContactId','phone'])
|
||||||
|
if(this.$refs.formother ){
|
||||||
|
this.$refs.formother.clearFormItem()
|
||||||
|
}
|
||||||
},
|
},
|
||||||
/*
|
/*
|
||||||
* 选择联系人获取信息
|
* 选择联系人获取信息
|
||||||
|
|||||||
@@ -1,37 +1,37 @@
|
|||||||
export default {
|
export default {
|
||||||
meetingType: {
|
meetingType: {
|
||||||
rules: [
|
rules: [
|
||||||
{ required: true, message: '请选择会议类型!' },
|
{ required: true, message: '请选择会议类型' },
|
||||||
],
|
],
|
||||||
validateTrigger:['blur','change']
|
validateTrigger:['blur','change']
|
||||||
},
|
},
|
||||||
convokeTime: {
|
convokeTime: {
|
||||||
rules: [
|
rules: [
|
||||||
{ required: true, message: '请选择召开时间!' },
|
{ required: true, message: '请选择召开时间' },
|
||||||
],
|
],
|
||||||
validateTrigger:['change']
|
validateTrigger:['change']
|
||||||
},
|
},
|
||||||
meetingContent:{
|
meetingContent:{
|
||||||
rules: [
|
rules: [
|
||||||
{ required: true, message: '请输入会议内容!' },
|
{ required: true, message: '请输入会议内容' },
|
||||||
],
|
],
|
||||||
validateTrigger:['blur']
|
validateTrigger:['blur']
|
||||||
},
|
},
|
||||||
registerDeadline:{
|
registerDeadline:{
|
||||||
rules: [
|
rules: [
|
||||||
{ required: true, message: '请选择报名截止时间!' },
|
{ required: true, message: '请选择报名截止时间' },
|
||||||
],
|
],
|
||||||
validateTrigger:['blur','change']
|
validateTrigger:['blur','change']
|
||||||
},
|
},
|
||||||
convokeLocale: {
|
convokeLocale: {
|
||||||
rules: [
|
rules: [
|
||||||
{ required: true, message: '请选择省市!' },
|
{ required: true, message: '请选择省市' },
|
||||||
],
|
],
|
||||||
validateTrigger:['blur','change']
|
validateTrigger:['change']
|
||||||
},
|
},
|
||||||
address:{
|
address:{
|
||||||
rules: [
|
rules: [
|
||||||
{ required: true, message: '请输入详细地址!' },
|
{ required: true, message: '请输入详细地址' },
|
||||||
],
|
],
|
||||||
validateTrigger:['blur']
|
validateTrigger:['blur']
|
||||||
},
|
},
|
||||||
@@ -49,43 +49,43 @@ export default {
|
|||||||
},
|
},
|
||||||
tbMeetingType:{
|
tbMeetingType:{
|
||||||
rules: [
|
rules: [
|
||||||
{ required: true, message: '请选择标协会议类型!' },
|
{ required: true, message: '请选择标协会议类型' },
|
||||||
],
|
],
|
||||||
validateTrigger:['blur','change']
|
validateTrigger:['blur','change']
|
||||||
},
|
},
|
||||||
signInTime:{
|
signInTime:{
|
||||||
rules: [
|
rules: [
|
||||||
{ required: true, message: '请选择注册签到时间!' },
|
{ required: true, message: '请选择注册签到时间' },
|
||||||
],
|
],
|
||||||
validateTrigger:['change']
|
validateTrigger:['change']
|
||||||
},
|
},
|
||||||
meetingCostsVip:{
|
meetingCostsVip:{
|
||||||
rules: [
|
rules: [
|
||||||
{ required: true, message: '请输入会议费用!' },
|
{ required: true, message: '请输入会议费用' },
|
||||||
],
|
],
|
||||||
validateTrigger:['blur','change']
|
validateTrigger:['blur','change']
|
||||||
},
|
},
|
||||||
hotelName:{
|
hotelName:{
|
||||||
rules: [
|
rules: [
|
||||||
{ required: true, message: '请输入酒店名称!' },
|
{ required: true, message: '请输入酒店名称' },
|
||||||
],
|
],
|
||||||
validateTrigger:['blur']
|
validateTrigger:['blur']
|
||||||
},
|
},
|
||||||
hotelAddress:{
|
hotelAddress:{
|
||||||
rules: [
|
rules: [
|
||||||
{ required: true, message: '请输入酒店地址!' },
|
{ required: true, message: '请输入酒店地址' },
|
||||||
],
|
],
|
||||||
validateTrigger:['blur']
|
validateTrigger:['blur']
|
||||||
},
|
},
|
||||||
contactPerson:{
|
contactPerson:{
|
||||||
rules: [
|
rules: [
|
||||||
{ required: true, message: '请输入酒店联系人!' },
|
{ required: true, message: '请输入酒店联系人' },
|
||||||
],
|
],
|
||||||
validateTrigger:['blur']
|
validateTrigger:['blur']
|
||||||
},
|
},
|
||||||
telephoneNumber:{
|
telephoneNumber:{
|
||||||
rules: [
|
rules: [
|
||||||
{ required: true, message: '请输入联系人手机号!' },
|
{ required: true, message: '请输入联系人手机号' },
|
||||||
],
|
],
|
||||||
validateTrigger:['blur']
|
validateTrigger:['blur']
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -49,15 +49,18 @@
|
|||||||
<label>需要发票:</label>
|
<label>需要发票:</label>
|
||||||
<span>{{model.needInvoice_dictText}}</span></a-col>
|
<span>{{model.needInvoice_dictText}}</span></a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
<a-row :gutter="24">
|
<a-row :gutter="24" style="margin-top: 10px">
|
||||||
<a-col :span="3">
|
<a-col :span="3">
|
||||||
<label>缴费凭证:</label>
|
<label class="color-999">缴费凭证:</label>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="10">
|
<a-col :span="9">
|
||||||
<j-image-upload disabled :return-id="true" v-model="model.paymentRecord"></j-image-upload>
|
<j-image-upload disabled :return-id="true" v-model="model.paymentRecord"></j-image-upload>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
<!-- 缴费上方式为线上的 显示 -->
|
||||||
|
<a-col :span="12" v-if="model.payMode === 2 ">
|
||||||
|
<label class="color-999">订单后四位:</label>
|
||||||
|
<span class="color-black">{{model.orderCode}}</span></a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
|
|
||||||
<h3>审核</h3>
|
<h3>审核</h3>
|
||||||
@@ -265,7 +268,7 @@ export default {
|
|||||||
// 审核结果选择拒绝 审核说明必填
|
// 审核结果选择拒绝 审核说明必填
|
||||||
if(e.target.value === '1'){
|
if(e.target.value === '1'){
|
||||||
this.checkBool = false
|
this.checkBool = false
|
||||||
}else if(e.target.value === '0'){
|
}else if(e.target.value === '2'){
|
||||||
this.checkBool = true
|
this.checkBool = true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -309,4 +312,11 @@ export default {
|
|||||||
color: black;
|
color: black;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.color-999 {
|
||||||
|
color: #999;
|
||||||
|
}
|
||||||
|
.color-black {
|
||||||
|
color:black;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -87,21 +87,21 @@
|
|||||||
<!--入住酒店选择是才显示-->
|
<!--入住酒店选择是才显示-->
|
||||||
<a-col :xxl="8" :xl="12" :sm="24" v-if="inHotelBool">
|
<a-col :xxl="8" :xl="12" :sm="24" v-if="inHotelBool">
|
||||||
<a-form-item label="入住酒店时间" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="入住酒店时间" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<j-date :disabled="isEditBool" v-decorator="['inHotelTime']" :trigger-change="true" show-type="day"
|
<j-date :disabled="isEditBool" v-decorator="['inHotelTime',validatorRules.inHotelTime]" :trigger-change="true" show-type="day"
|
||||||
placeholder="请选择入住酒店时间"></j-date>
|
placeholder="请选择入住酒店时间"></j-date>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :xxl="8" :xl="12" :sm="24" v-if="inHotelBool">
|
<a-col :xxl="8" :xl="12" :sm="24" v-if="inHotelBool">
|
||||||
<a-form-item label="离店时间" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="离店时间" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<j-date :disabled="isEditBool" :disabled-date="disabledEndDate" :trigger-change="true" show-type="day"
|
<j-date :disabled="isEditBool" :disabled-date="disabledEndDate" :trigger-change="true" show-type="day"
|
||||||
v-decorator="['outHotelTime']" placeholder="请选择离店时间"></j-date>
|
v-decorator="['outHotelTime',validatorRules.outHotelTime]" placeholder="请选择离店时间"></j-date>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :xxl="8" :xl="12" :sm="24" v-if="inHotelBool">
|
<a-col :xxl="8" :xl="12" :sm="24" v-if="inHotelBool">
|
||||||
<a-form-item label="房型" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="房型" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-input :disabled="isEditBool" @change="event => event.target.value = event.target.value.trim()"
|
<a-input :disabled="isEditBool" @change="event => event.target.value = event.target.value.trim()"
|
||||||
:maxLength="50"
|
:maxLength="50"
|
||||||
v-decorator="['roomLayout']"
|
v-decorator="['roomLayout',validatorRules.roomLayout]"
|
||||||
placeholder="请输入房型"></a-input>
|
placeholder="请输入房型"></a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -124,7 +124,7 @@
|
|||||||
<a-row :gutter="24">
|
<a-row :gutter="24">
|
||||||
<a-col :xxl="8" :xl="12" :sm="24" v-if="pickUpBool">
|
<a-col :xxl="8" :xl="12" :sm="24" v-if="pickUpBool">
|
||||||
<a-form-item label="抵达时间" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="抵达时间" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<j-date :disabled="isEditBool" placeholder="请选择抵达时间" style="width: 100%;" v-decorator="['arrivalTime']"
|
<j-date :disabled="isEditBool" placeholder="请选择抵达时间" style="width: 100%;" v-decorator="['arrivalTime',validatorRules.arrivalTime]"
|
||||||
:trigger-change="true"
|
:trigger-change="true"
|
||||||
show-type="day"
|
show-type="day"
|
||||||
date-format="YYYY-MM-DD"/>
|
date-format="YYYY-MM-DD"/>
|
||||||
@@ -135,7 +135,7 @@
|
|||||||
<a-form-item label="到达站" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="到达站" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-input :disabled="isEditBool" placeholder="请输入到达站"
|
<a-input :disabled="isEditBool" placeholder="请输入到达站"
|
||||||
@change="event => event.target.value = event.target.value.trim()" :maxLength="50"
|
@change="event => event.target.value = event.target.value.trim()" :maxLength="50"
|
||||||
v-decorator="[ 'destination']"></a-input>
|
v-decorator="[ 'destination',validatorRules.destination]"></a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
|
||||||
@@ -143,7 +143,7 @@
|
|||||||
<a-form-item label="到达班次" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="到达班次" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-input :disabled="isEditBool" placeholder="请输入到达班次"
|
<a-input :disabled="isEditBool" placeholder="请输入到达班次"
|
||||||
@change="event => event.target.value = event.target.value.trim()" :maxLength="50"
|
@change="event => event.target.value = event.target.value.trim()" :maxLength="50"
|
||||||
v-decorator="[ 'arrivalShift']"></a-input>
|
v-decorator="[ 'arrivalShift',validatorRules.arrivalShift]"></a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
@@ -162,7 +162,7 @@
|
|||||||
<!--送站选择是才显示-->
|
<!--送站选择是才显示-->
|
||||||
<a-col :xxl="8" :xl="12" :sm="24" v-if="sendBool">
|
<a-col :xxl="8" :xl="12" :sm="24" v-if="sendBool">
|
||||||
<a-form-item label="离开时间" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="离开时间" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<j-date :disabled="isEditBool" placeholder="请选择离开时间" style="width: 100%;" v-decorator="['departureTime']"
|
<j-date :disabled="isEditBool" placeholder="请选择离开时间" style="width: 100%;" v-decorator="['departureTime',validatorRules.departureTime]"
|
||||||
:trigger-change="true"
|
:trigger-change="true"
|
||||||
show-type="day"
|
show-type="day"
|
||||||
date-format="YYYY-MM-DD"/>
|
date-format="YYYY-MM-DD"/>
|
||||||
@@ -173,7 +173,7 @@
|
|||||||
<a-form-item label="离开站" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="离开站" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-input :disabled="isEditBool" placeholder="请输入离开站"
|
<a-input :disabled="isEditBool" placeholder="请输入离开站"
|
||||||
@change="event => event.target.value = event.target.value.trim()" :maxLength="50"
|
@change="event => event.target.value = event.target.value.trim()" :maxLength="50"
|
||||||
v-decorator="[ 'departureStation']"></a-input>
|
v-decorator="[ 'departureStation',validatorRules.departureStation]"></a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
|
||||||
@@ -182,7 +182,7 @@
|
|||||||
<a-form-item label="离开班次" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="离开班次" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-input :disabled="isEditBool" placeholder="请输入离开班次"
|
<a-input :disabled="isEditBool" placeholder="请输入离开班次"
|
||||||
@change="event => event.target.value = event.target.value.trim()" :maxLength="50"
|
@change="event => event.target.value = event.target.value.trim()" :maxLength="50"
|
||||||
v-decorator="[ 'departureShift']"></a-input>
|
v-decorator="[ 'departureShift',validatorRules.departureShift]"></a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
@@ -274,14 +274,51 @@ export default {
|
|||||||
rules: [{ required: true, message: '请选择是否入住酒店' }],
|
rules: [{ required: true, message: '请选择是否入住酒店' }],
|
||||||
validateTrigger: 'change'
|
validateTrigger: 'change'
|
||||||
},
|
},
|
||||||
|
inHotelTime:{
|
||||||
|
rules: [{ required: true, message: '请选择入住酒店时间' }],
|
||||||
|
validateTrigger: 'change'
|
||||||
|
},
|
||||||
|
outHotelTime:{
|
||||||
|
rules: [{ required: true, message: '请选择离店时间' }],
|
||||||
|
validateTrigger: 'change'
|
||||||
|
},
|
||||||
|
roomLayout:{
|
||||||
|
rules: [{ required: true, message: '请输入房型' }],
|
||||||
|
validateTrigger: 'blur'
|
||||||
|
},
|
||||||
pickUp: {
|
pickUp: {
|
||||||
rules: [{ required: true, message: '请选择是否接站' }],
|
rules: [{ required: true, message: '请选择是否接站' }],
|
||||||
validateTrigger: 'change'
|
validateTrigger: 'change'
|
||||||
},
|
},
|
||||||
|
departureTime:{
|
||||||
|
rules: [{ required: true, message: '请选择离开时间' }],
|
||||||
|
validateTrigger: 'change'
|
||||||
|
},
|
||||||
|
departureStation:{
|
||||||
|
rules: [{ required: true, message: '请输入离开站' }],
|
||||||
|
validateTrigger: 'blur'
|
||||||
|
},
|
||||||
|
arrivalShift:{
|
||||||
|
rules: [{ required: true, message: '请输入到达班次' }],
|
||||||
|
validateTrigger: 'blur'
|
||||||
|
},
|
||||||
deliveryStation: {
|
deliveryStation: {
|
||||||
rules: [{ required: true, message: '请选择是否送站' }],
|
rules: [{ required: true, message: '请选择是否送站' }],
|
||||||
validateTrigger: 'change'
|
validateTrigger: 'change'
|
||||||
}
|
},
|
||||||
|
arrivalTime:{
|
||||||
|
rules: [{ required: true, message: '请选择抵达时间' }],
|
||||||
|
validateTrigger: 'change'
|
||||||
|
},
|
||||||
|
destination:{
|
||||||
|
rules: [{ required: true, message: '请输入到达站' }],
|
||||||
|
validateTrigger: 'blur'
|
||||||
|
},
|
||||||
|
departureShift:{
|
||||||
|
rules: [{ required: true, message: '请输入离开班次' }],
|
||||||
|
validateTrigger: 'blur'
|
||||||
|
},
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,10 +21,6 @@
|
|||||||
</a-row>
|
</a-row>
|
||||||
</a-form>
|
</a-form>
|
||||||
</a-spin>
|
</a-spin>
|
||||||
<template slot="footer">
|
|
||||||
<a-button @click="handleCancel">关闭</a-button>
|
|
||||||
<a-button @click="handleOk" type="primary" v-preventclick>确定</a-button>
|
|
||||||
</template>
|
|
||||||
</j-modal>
|
</j-modal>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -116,6 +112,10 @@ export default {
|
|||||||
},
|
},
|
||||||
handleOk() {
|
handleOk() {
|
||||||
const that = this
|
const that = this
|
||||||
|
if (this.confirmLoading) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.confirmLoading = true
|
||||||
// 触发表单验证
|
// 触发表单验证
|
||||||
this.form.validateFields((err, values) => {
|
this.form.validateFields((err, values) => {
|
||||||
if(!err && values.fileIds !== undefined){
|
if(!err && values.fileIds !== undefined){
|
||||||
@@ -127,8 +127,18 @@ export default {
|
|||||||
if(res.success){
|
if(res.success){
|
||||||
that.$message.success(res.message)
|
that.$message.success(res.message)
|
||||||
that.$emit('ok')
|
that.$emit('ok')
|
||||||
|
this.confirmLoading = false
|
||||||
that.close()
|
that.close()
|
||||||
|
}else {
|
||||||
|
this.$message.warn(res.message)
|
||||||
|
this.confirmLoading = false
|
||||||
}
|
}
|
||||||
|
}).catch((err) => {
|
||||||
|
console.log(err,'err')
|
||||||
|
}).finally(() => {
|
||||||
|
setTimeout(() => {
|
||||||
|
this.confirmLoading = false
|
||||||
|
}, 1000)
|
||||||
})
|
})
|
||||||
}else {
|
}else {
|
||||||
that.close()
|
that.close()
|
||||||
|
|||||||
@@ -38,7 +38,7 @@
|
|||||||
<a-form-item label="收费标准" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="收费标准" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-input placeholder="请输入收费标准"
|
<a-input placeholder="请输入收费标准"
|
||||||
:maxLength='50'
|
:maxLength='50'
|
||||||
v-decorator="[ 'chargeStandard']"
|
v-decorator="[ 'chargeStandard',validatorRules.chargeStandard]"
|
||||||
@blur="addZero"
|
@blur="addZero"
|
||||||
@change="(e) => {e.target.value = e.target.value.replace(/[^0-9.]/g,'')}"></a-input>
|
@change="(e) => {e.target.value = e.target.value.replace(/[^0-9.]/g,'')}"></a-input>
|
||||||
<span class="yuan">元</span>
|
<span class="yuan">元</span>
|
||||||
@@ -90,6 +90,7 @@ import JYearDate from '@comp/jero/JYearDate'
|
|||||||
import JUpload from '@comp/jero/JUpload'
|
import JUpload from '@comp/jero/JUpload'
|
||||||
import SelectPrincipal from '@comp/company/SelectPrincipal'
|
import SelectPrincipal from '@comp/company/SelectPrincipal'
|
||||||
import {addZero} from '@/utils/util'
|
import {addZero} from '@/utils/util'
|
||||||
|
import {money} from '@/utils/validate'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'MemberProjectModal',
|
name: 'MemberProjectModal',
|
||||||
@@ -129,6 +130,12 @@ export default {
|
|||||||
rules: [{required: true, message: '请输入会员项目'}],
|
rules: [{required: true, message: '请输入会员项目'}],
|
||||||
validateTrigger: 'blur'
|
validateTrigger: 'blur'
|
||||||
},
|
},
|
||||||
|
chargeStandard:{
|
||||||
|
rules: [
|
||||||
|
{required: false, validator: this.validateMoney},
|
||||||
|
],
|
||||||
|
validateTrigger: ['blur']
|
||||||
|
},
|
||||||
particularYear: {
|
particularYear: {
|
||||||
rules: [{required: true, message: '请选择年份'}],
|
rules: [{required: true, message: '请选择年份'}],
|
||||||
validateTrigger: ['change','blur']
|
validateTrigger: ['change','blur']
|
||||||
@@ -196,6 +203,17 @@ export default {
|
|||||||
handleCancel() {
|
handleCancel() {
|
||||||
this.close()
|
this.close()
|
||||||
},
|
},
|
||||||
|
validateMoney(rule, value, callback) {
|
||||||
|
if(value){
|
||||||
|
if (value && money(value)) {
|
||||||
|
callback()
|
||||||
|
} else {
|
||||||
|
callback('请输入合法的金额数字,最多2位小数,10位正数')
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
callback()
|
||||||
|
}
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
@@ -204,5 +222,6 @@ export default {
|
|||||||
.yuan {
|
.yuan {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: -20px;
|
right: -20px;
|
||||||
|
top: -10px;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -23,6 +23,7 @@
|
|||||||
v-decorator="['companyId', validatorRules.companyId]"
|
v-decorator="['companyId', validatorRules.companyId]"
|
||||||
@change="companyChange"
|
@change="companyChange"
|
||||||
:maxLength="50"
|
:maxLength="50"
|
||||||
|
:disabled="disabledCompany"
|
||||||
>
|
>
|
||||||
</company-select>
|
</company-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@@ -117,6 +118,7 @@
|
|||||||
<a-radio-group
|
<a-radio-group
|
||||||
v-decorator="['paymentMethod', validatorRules.paymentMethod]"
|
v-decorator="['paymentMethod', validatorRules.paymentMethod]"
|
||||||
@change="changePaymentMethod"
|
@change="changePaymentMethod"
|
||||||
|
:disabled="isAssociatedContract"
|
||||||
>
|
>
|
||||||
<a-radio :value="2">合同</a-radio>
|
<a-radio :value="2">合同</a-radio>
|
||||||
<a-radio :value="3">收费通知</a-radio>
|
<a-radio :value="3">收费通知</a-radio>
|
||||||
@@ -134,6 +136,7 @@
|
|||||||
placeholder="请输入合同号"
|
placeholder="请输入合同号"
|
||||||
:maxLength="50"
|
:maxLength="50"
|
||||||
v-decorator="['contractNo', validatorRules.contractNo]"
|
v-decorator="['contractNo', validatorRules.contractNo]"
|
||||||
|
:disabled="isAssociatedContract"
|
||||||
@change="
|
@change="
|
||||||
(e) => {
|
(e) => {
|
||||||
e.target.value = (e.target.value + '').trim();
|
e.target.value = (e.target.value + '').trim();
|
||||||
@@ -173,8 +176,8 @@
|
|||||||
file-type="pdf"
|
file-type="pdf"
|
||||||
file-type-error-message="请上传收费通知"
|
file-type-error-message="请上传收费通知"
|
||||||
:multiple="false"
|
:multiple="false"
|
||||||
|
:return-id="true"
|
||||||
:number="1"
|
:number="1"
|
||||||
bizPath="payment"
|
|
||||||
v-decorator="['chargeNoticeFileId']"
|
v-decorator="['chargeNoticeFileId']"
|
||||||
:trigger-change="true"
|
:trigger-change="true"
|
||||||
></j-upload>
|
></j-upload>
|
||||||
@@ -220,6 +223,8 @@ import CompanySelect from '@comp/company/CompanySelect'
|
|||||||
// import ContactManagementModule from '@views/businessManagement/modules/ContactManagementModule'
|
// import ContactManagementModule from '@views/businessManagement/modules/ContactManagementModule'
|
||||||
import SelectContacts from '@comp/company/SelectContacts'
|
import SelectContacts from '@comp/company/SelectContacts'
|
||||||
import {addZero} from '@/utils/util'
|
import {addZero} from '@/utils/util'
|
||||||
|
import {money} from '@/utils/validate'
|
||||||
|
import {checkAssociatedProject} from '@/utils/projectCheck'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'SafeguardMemberModal',
|
name: 'SafeguardMemberModal',
|
||||||
@@ -276,9 +281,12 @@ export default {
|
|||||||
initialValue: 3,
|
initialValue: 3,
|
||||||
},
|
},
|
||||||
amountReceivable: {
|
amountReceivable: {
|
||||||
rules: [{ required: true, message: '请输入应收金额' }],
|
rules: [
|
||||||
validateTrigger: 'blur',
|
{required: true, validator: this.validateMoney},
|
||||||
|
],
|
||||||
|
validateTrigger: ['blur']
|
||||||
},
|
},
|
||||||
|
|
||||||
chargeNoticeNo: {
|
chargeNoticeNo: {
|
||||||
rules: [{ required: true, message: '请输入收费通知号' }],
|
rules: [{ required: true, message: '请输入收费通知号' }],
|
||||||
validateTrigger: 'blur',
|
validateTrigger: 'blur',
|
||||||
@@ -303,6 +311,8 @@ export default {
|
|||||||
add: '/jero/memberProjectSubitem/add',
|
add: '/jero/memberProjectSubitem/add',
|
||||||
edit: '/jero/memberProjectSubitem/edit',
|
edit: '/jero/memberProjectSubitem/edit',
|
||||||
},
|
},
|
||||||
|
disabledCompany: false, // 企业是否可以编辑
|
||||||
|
isAssociatedContract: false, // 是否已关联合同
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
@@ -310,12 +320,32 @@ export default {
|
|||||||
add() {
|
add() {
|
||||||
this.edit({})
|
this.edit({})
|
||||||
},
|
},
|
||||||
|
validateMoney(rule, value, callback) {
|
||||||
|
if (value === undefined || value === '' || value === null) {
|
||||||
|
callback('请输入应收金额')
|
||||||
|
}
|
||||||
|
if (value && money(value)) {
|
||||||
|
callback()
|
||||||
|
} else {
|
||||||
|
callback('请输入合法的金额数字,最多2位小数,10位正数')
|
||||||
|
}
|
||||||
|
},
|
||||||
edit(record) {
|
edit(record) {
|
||||||
// 清除定时器
|
// 清除定时器
|
||||||
if (this.timer) {
|
if (this.timer) {
|
||||||
clearTimeout(this.timer)
|
clearTimeout(this.timer)
|
||||||
}
|
}
|
||||||
this.form.resetFields()
|
this.form.resetFields()
|
||||||
|
// 判断企业是否可以编辑,项目来款、开票、邮寄、打包、关联合同后,企业不可更改
|
||||||
|
if (record.id) {
|
||||||
|
// 验证项目是否关联收入合同
|
||||||
|
checkAssociatedProject(record.id).then(res => {
|
||||||
|
this.disabledCompany = this.disabledChargeCompany || res || (!!record.inAccount && record.inAccount !== 0) || (!!record.makeInvoice && record.makeInvoice !== 0) || (!!record.mail && record.mail !== 0)
|
||||||
|
this.isAssociatedContract = res
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.disabledCompany = this.disabledChargeCompany
|
||||||
|
}
|
||||||
|
|
||||||
// 如果没有id 就是新增 新增需要将上级的项目收费通知与文件回显
|
// 如果没有id 就是新增 新增需要将上级的项目收费通知与文件回显
|
||||||
let flag = Object.prototype.hasOwnProperty.call(record, 'id')
|
let flag = Object.prototype.hasOwnProperty.call(record, 'id')
|
||||||
@@ -376,7 +406,10 @@ export default {
|
|||||||
close() {
|
close() {
|
||||||
this.incomePaysType = 3
|
this.incomePaysType = 3
|
||||||
this.$emit('close')
|
this.$emit('close')
|
||||||
|
this.disabledCompany = false
|
||||||
|
this.isAssociatedContract = false
|
||||||
this.visible = false
|
this.visible = false
|
||||||
|
|
||||||
clearTimeout(this.timer)
|
clearTimeout(this.timer)
|
||||||
},
|
},
|
||||||
handleOk() {
|
handleOk() {
|
||||||
@@ -448,5 +481,6 @@ export default {
|
|||||||
.yuan {
|
.yuan {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: -20px;
|
right: -20px;
|
||||||
|
top: -10px;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -31,7 +31,8 @@
|
|||||||
<!-- 操作按钮区域-->
|
<!-- 操作按钮区域-->
|
||||||
<div class="table-operator">
|
<div class="table-operator">
|
||||||
<a-button type="primary" icon="plus" @click="handleAdd" v-has="'packCompany:add'">新增</a-button>
|
<a-button type="primary" icon="plus" @click="handleAdd" v-has="'packCompany:add'">新增</a-button>
|
||||||
<a-button type="primary" icon="export" @click="handleExportXls('打包企业列表')" v-has="'packCompany:export'">导出</a-button>
|
<a-button type="primary" icon="export" @click="handleExportXls('打包管理')" v-has="'packCompany:export'">导出
|
||||||
|
</a-button>
|
||||||
<a-button type="danger" icon="delete" @click="batchDel" v-has="'packCompany:batchDel'">批量删除</a-button>
|
<a-button type="danger" icon="delete" @click="batchDel" v-has="'packCompany:batchDel'">批量删除</a-button>
|
||||||
</div>
|
</div>
|
||||||
<!-- 操作按钮区域-end-->
|
<!-- 操作按钮区域-end-->
|
||||||
@@ -54,7 +55,8 @@
|
|||||||
|
|
||||||
<!-- 项目名称-->
|
<!-- 项目名称-->
|
||||||
<template slot="projectName" slot-scope="text, record">
|
<template slot="projectName" slot-scope="text, record">
|
||||||
<j-ellipsis :value="text" :length="18" class="primary-color" @click="toProjectMaintenance(record)"></j-ellipsis>
|
<j-ellipsis :value="text" :length="18" class="primary-color"
|
||||||
|
@click="toProjectMaintenance(record)"></j-ellipsis>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
||||||
@@ -117,12 +119,6 @@ export default {
|
|||||||
width: 140,
|
width: 140,
|
||||||
dataIndex: 'packYear',
|
dataIndex: 'packYear',
|
||||||
scopedSlots: { customRender: 'text' }
|
scopedSlots: { customRender: 'text' }
|
||||||
}, {
|
|
||||||
title: '企业联系人',
|
|
||||||
align: 'center',
|
|
||||||
width: 280,
|
|
||||||
dataIndex: 'companyContactTemporaryName',
|
|
||||||
scopedSlots: { customRender: 'text' }
|
|
||||||
}, {
|
}, {
|
||||||
title: '打包联系人',
|
title: '打包联系人',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
@@ -141,6 +137,24 @@ export default {
|
|||||||
width: 180,
|
width: 180,
|
||||||
dataIndex: 'receiptExpense',
|
dataIndex: 'receiptExpense',
|
||||||
scopedSlots: { customRender: 'text' }
|
scopedSlots: { customRender: 'text' }
|
||||||
|
}, {
|
||||||
|
title: '企业联系人',
|
||||||
|
align: 'center',
|
||||||
|
width: 280,
|
||||||
|
dataIndex: 'companyContactTemporaryName',
|
||||||
|
scopedSlots: { customRender: 'text' }
|
||||||
|
}, {
|
||||||
|
title: '联系人电话',
|
||||||
|
align: 'center',
|
||||||
|
width: 200,
|
||||||
|
dataIndex: 'phone',
|
||||||
|
scopedSlots: { customRender: 'text' }
|
||||||
|
}, {
|
||||||
|
title: '邮箱',
|
||||||
|
align: 'center',
|
||||||
|
width: 280,
|
||||||
|
dataIndex: 'email',
|
||||||
|
scopedSlots: { customRender: 'text' }
|
||||||
}, {
|
}, {
|
||||||
title: '操作',
|
title: '操作',
|
||||||
dataIndex: 'action',
|
dataIndex: 'action',
|
||||||
|
|||||||
@@ -184,7 +184,7 @@ export default {
|
|||||||
title: '打包项目名称',
|
title: '打包项目名称',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'chargeProject',
|
dataIndex: 'chargeProject',
|
||||||
scopedSlots: { customRender: 'projectName' }
|
scopedSlots: { customRender: 'text' }
|
||||||
}, {
|
}, {
|
||||||
title: '应收金额',
|
title: '应收金额',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
|
|||||||
@@ -51,8 +51,8 @@
|
|||||||
</j-date>
|
</j-date>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
<!-- 标协会议不显示-->
|
||||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
<a-col :xl="6" :lg="7" :md="8" :sm="24" v-if="$route.query.meetingType === '5' ">
|
||||||
<a-form-item label="已提醒" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="已提醒" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<j-dict-select-tag style="width: 100%"
|
<j-dict-select-tag style="width: 100%"
|
||||||
dict-code="yn"
|
dict-code="yn"
|
||||||
@@ -62,7 +62,8 @@
|
|||||||
</a-col>
|
</a-col>
|
||||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||||
<span class="table-page-search-submitButtons">
|
<span class="table-page-search-submitButtons">
|
||||||
<a-button type="primary" icon="search" @click="searchQuery" v-has:[authorCode.search]="'committeeMeeting:search'">查询</a-button>
|
<a-button type="primary" icon="search" @click="searchQuery"
|
||||||
|
v-has:[authorCode.search]="'committeeMeeting:search'">查询</a-button>
|
||||||
<a-button icon="reload" @click="searchReset" class="reset-button">重置</a-button>
|
<a-button icon="reload" @click="searchReset" class="reset-button">重置</a-button>
|
||||||
</span>
|
</span>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -73,11 +74,18 @@
|
|||||||
|
|
||||||
<!-- 操作按钮区域-->
|
<!-- 操作按钮区域-->
|
||||||
<div class="table-operator">
|
<div class="table-operator">
|
||||||
<a-button type="primary" icon="plus" @click="handleAdd" v-has:[authorCode.add]="'committeeMeeting:add'">新增</a-button>
|
<a-button type="primary" icon="plus" @click="handleAdd" v-has:[authorCode.add]="'committeeMeeting:add'">新增
|
||||||
<a-button type="primary" icon="export" @click="handleExportXls('会议维护')" v-has:[authorCode.search]="'committeeMeeting:export'">导出</a-button>
|
</a-button>
|
||||||
<a-button type="danger" icon="delete" @click="batchDel" v-has:[authorCode.batchDel]="'committeeMeeting:batchDel'">批量删除</a-button>
|
<a-button type="primary" icon="export" @click="handleExportXls('会议维护')"
|
||||||
|
v-has:[authorCode.search]="'committeeMeeting:export'">导出
|
||||||
|
</a-button>
|
||||||
|
<a-button type="danger" icon="delete" @click="batchDel"
|
||||||
|
v-has:[authorCode.batchDel]="'committeeMeeting:batchDel'">批量删除
|
||||||
|
</a-button>
|
||||||
<!--只有工作会议与分标委会议才有-->
|
<!--只有工作会议与分标委会议才有-->
|
||||||
<a-button type="primary" @click="publishRemind" v-if="meetingType === '5' " v-has="'committeeMeeting:publish'">发布</a-button>
|
<a-button type="primary" @click="publishRemind" v-if="meetingType === '5' " v-has="'committeeMeeting:publish'">
|
||||||
|
发布
|
||||||
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
<!-- /操作按钮区域-end-->
|
<!-- /操作按钮区域-end-->
|
||||||
|
|
||||||
@@ -89,7 +97,7 @@
|
|||||||
bordered
|
bordered
|
||||||
rowKey="id"
|
rowKey="id"
|
||||||
:scroll="{x:true}"
|
:scroll="{x:true}"
|
||||||
:columns="columns"
|
:columns="newColumns"
|
||||||
:dataSource="dataSource"
|
:dataSource="dataSource"
|
||||||
:pagination="ipagination"
|
:pagination="ipagination"
|
||||||
:loading="loading"
|
:loading="loading"
|
||||||
@@ -98,7 +106,8 @@
|
|||||||
class="j-table-force-nowrap">
|
class="j-table-force-nowrap">
|
||||||
|
|
||||||
<template slot="htmlSlot" slot-scope="text,record">
|
<template slot="htmlSlot" slot-scope="text,record">
|
||||||
<j-ellipsis class="primary-color" @click="toAttendance(record)" v-if="text" :value="text" :length="20"></j-ellipsis>
|
<j-ellipsis class="primary-color" @click="toAttendance(record)" v-if="text" :value="text"
|
||||||
|
:length="20"></j-ellipsis>
|
||||||
<span v-else></span>
|
<span v-else></span>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -197,7 +206,8 @@ export default {
|
|||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'startTime',
|
dataIndex: 'startTime',
|
||||||
width: 160,
|
width: 160,
|
||||||
customRender: (text, record) => (<j-ellipsis value={record.startTime + '~' + record.endTime} length={20}></j-ellipsis>)
|
customRender: (text, record) => (
|
||||||
|
<j-ellipsis value={record.startTime + '~' + record.endTime} length={20}></j-ellipsis>)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '召开地点',
|
title: '召开地点',
|
||||||
@@ -234,51 +244,51 @@ export default {
|
|||||||
scopedSlots: {customRender: 'action'}
|
scopedSlots: {customRender: 'action'}
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
newColumns: [],
|
||||||
// 权限编码
|
// 权限编码
|
||||||
authorCode:{
|
authorCode: {},
|
||||||
|
|
||||||
},
|
|
||||||
// 分标委的权限编码
|
// 分标委的权限编码
|
||||||
committeeMeetingAuthorCode:{
|
committeeMeetingAuthorCode: {
|
||||||
add:'committeeMeeting:add',
|
add: 'committeeMeeting:add',
|
||||||
search:'committeeMeeting:search',
|
search: 'committeeMeeting:search',
|
||||||
export:'committeeMeeting:export',
|
export: 'committeeMeeting:export',
|
||||||
batchDel:'committeeMeeting:batchDel',
|
batchDel: 'committeeMeeting:batchDel',
|
||||||
upload:'committeeMeeting:upload',
|
upload: 'committeeMeeting:upload',
|
||||||
edit:'committeeMeeting:edit',
|
edit: 'committeeMeeting:edit',
|
||||||
delete:'committeeMeeting:delete'
|
delete: 'committeeMeeting:delete'
|
||||||
},
|
},
|
||||||
// 标协会议的权限编码
|
// 标协会议的权限编码
|
||||||
standardsMeetingAuthorCode:{
|
standardsMeetingAuthorCode: {
|
||||||
add:'standardsMeeting:add',
|
add: 'standardsMeeting:add',
|
||||||
search:'standardsMeeting:search',
|
search: 'standardsMeeting:search',
|
||||||
export:'standardsMeeting:export',
|
export: 'standardsMeeting:export',
|
||||||
batchDel:'standardsMeeting:batchDel',
|
batchDel: 'standardsMeeting:batchDel',
|
||||||
upload:'standardsMeeting:upload',
|
upload: 'standardsMeeting:upload',
|
||||||
edit:'standardsMeeting:edit',
|
edit: 'standardsMeeting:edit',
|
||||||
delete:'standardsMeeting:delete'
|
delete: 'standardsMeeting:delete'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.filters.meetingType = this.meetingType
|
this.filters.meetingType = this.meetingType
|
||||||
// 分标委会议需要加上分标委id
|
// 分标委会议需要加上分标委id
|
||||||
if(this.meetingType === '5'){
|
if (this.meetingType === '5') {
|
||||||
// 在这改变v-has 的值 用分标委的会议权限
|
// 在这改变v-has 的值 用分标委的会议权限
|
||||||
this.authorCode = Object.assign({},this.committeeMeetingAuthorCode)
|
this.authorCode = Object.assign({}, this.committeeMeetingAuthorCode)
|
||||||
this.filters.caseCommitteeId = this.caseCommitteeId
|
this.filters.caseCommitteeId = this.caseCommitteeId
|
||||||
}
|
}
|
||||||
// 如果是标协会议 用标协会议权限
|
// 如果是标协会议 用标协会议权限
|
||||||
if(this.meetingType === '2'){
|
if (this.meetingType === '2') {
|
||||||
this.authorCode = Object.assign({},this.standardsMeetingAuthorCode)
|
this.authorCode = Object.assign({}, this.standardsMeetingAuthorCode)
|
||||||
}
|
}
|
||||||
this.loadData(1)
|
this.loadData(1)
|
||||||
// 不是分标委会议去掉提醒字段
|
// 不是分标委会议去掉提醒字段
|
||||||
if (this.meetingType !== 5) {
|
if (this.meetingType !== '5') {
|
||||||
console.log(this.columns)
|
this.newColumns = [...this.columns]
|
||||||
// 找出提醒字段的索引
|
// 找出提醒字段的索引
|
||||||
let index = this.columns.findIndex(item => item.dataIndex === 'remind_dictText')
|
this.newColumns = this.newColumns.filter(item => item.dataIndex !== 'remind_dictText')
|
||||||
this.columns.splice(index, 1)
|
} else {
|
||||||
|
this.newColumns = [...this.columns]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@@ -290,23 +300,23 @@ export default {
|
|||||||
return this.$route.query.meetingType + ''
|
return this.$route.query.meetingType + ''
|
||||||
},
|
},
|
||||||
// 分标委id
|
// 分标委id
|
||||||
caseCommitteeId(){
|
caseCommitteeId() {
|
||||||
return this.$route.query.id ? this.$route.query.id : undefined
|
return this.$route.query.id ? this.$route.query.id : undefined
|
||||||
},
|
},
|
||||||
// eslint-disable-next-line
|
// eslint-disable-next-line
|
||||||
url() {
|
url() {
|
||||||
let meetingType = this.$route.query.meetingType + ''
|
let meetingType = this.$route.query.meetingType + ''
|
||||||
// 标协会议
|
// 标协会议
|
||||||
if(meetingType === '2'){
|
if (meetingType === '2') {
|
||||||
return {
|
return {
|
||||||
list: '/meeting/standardsMeeting/page',
|
list: '/meeting/standardsMeeting/page',
|
||||||
delete: '/meeting/standardsMeeting/delete',
|
delete: '/meeting/standardsMeeting/delete',
|
||||||
deleteBatch: '/meeting/standardsMeeting/deleteBatch',
|
deleteBatch: '/meeting/standardsMeeting/deleteBatch',
|
||||||
exportXlsUrl: '/meeting/standardsMeeting/exportXls',
|
exportXlsUrl: '/meeting/standardsMeeting/exportXls',
|
||||||
}
|
}
|
||||||
}else if(meetingType === '5') {
|
} else if (meetingType === '5') {
|
||||||
// 分标委会议
|
// 分标委会议
|
||||||
return {
|
return {
|
||||||
list: '/meeting/committeeMeeting/page',
|
list: '/meeting/committeeMeeting/page',
|
||||||
delete: '/meeting/committeeMeeting/delete',
|
delete: '/meeting/committeeMeeting/delete',
|
||||||
deleteBatch: '/meeting/committeeMeeting/deleteBatch',
|
deleteBatch: '/meeting/committeeMeeting/deleteBatch',
|
||||||
@@ -321,21 +331,21 @@ export default {
|
|||||||
* */
|
* */
|
||||||
handleAdd() {
|
handleAdd() {
|
||||||
// 分标委的新增应该是需要分标委的id
|
// 分标委的新增应该是需要分标委的id
|
||||||
if(this.meetingType === '5'){
|
if (this.meetingType === '5') {
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
path: '/incomePayments/meetManage/AddOrDetailMeet',
|
path: '/incomePayments/meetManage/AddOrDetailMeet',
|
||||||
query: {
|
query: {
|
||||||
meetingType:this.meetingType,
|
meetingType: this.meetingType,
|
||||||
caseCommitteeId:this.caseCommitteeId
|
caseCommitteeId: this.caseCommitteeId
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
// 标协会议新增
|
// 标协会议新增
|
||||||
if(this.meetingType === '2'){
|
if (this.meetingType === '2') {
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
path: '/incomePayments/meetManage/AddOrDetailMeet',
|
path: '/incomePayments/meetManage/AddOrDetailMeet',
|
||||||
query: {
|
query: {
|
||||||
meetingType:this.meetingType
|
meetingType: this.meetingType
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -358,13 +368,20 @@ export default {
|
|||||||
* 参会情况
|
* 参会情况
|
||||||
* */
|
* */
|
||||||
toAttendance(record) {
|
toAttendance(record) {
|
||||||
const that = this
|
let path = ''
|
||||||
|
let meetingType = this.$route.query.meetingType + ''
|
||||||
|
// 分标委会议与标协会议的跳转
|
||||||
|
if (meetingType === '2') {
|
||||||
|
path = '/incomePayments/meetManage/AttendanceStandardsMeeting'
|
||||||
|
} else if (meetingType === '5') {
|
||||||
|
path = '/incomePayments/meetManage/AttendanceCommitteeMeeting'
|
||||||
|
}
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
path: '/incomePayments/meetManage/Attendance',
|
path: path,
|
||||||
query: {
|
query: {
|
||||||
id: record.id,
|
id: record.id,
|
||||||
meetingName: record.meetingName,
|
meetingName: record.meetingName,
|
||||||
meetingType:that.$route.query.meetingType + ''
|
meetingType: meetingType
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,129 +1,130 @@
|
|||||||
<template>
|
<template>
|
||||||
<a-card :bordered="false">
|
<div>
|
||||||
<div class="title">
|
<page-header-title :is-level-one="false" :level-two-title="workingGroupProject"></page-header-title>
|
||||||
<a-icon type="left" :style="{ fontSize: '22px' }" @click="backWorkingGroupProject"></a-icon>
|
<a-card :bordered="false">
|
||||||
<span class="title-text">{{ workingGroupProject }}</span>
|
<!-- 查询区域-->
|
||||||
</div>
|
<div class="table-page-search-wrapper">
|
||||||
<div class="divider"></div>
|
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||||
|
<a-row>
|
||||||
|
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||||
|
<a-form-item label="会议名称" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
|
<a-input placeholder="请输入会议名称" v-model="queryParam.meetingName" :maxLength='50'></a-input>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
<a-col :xl="10" :lg="12" :md="12" :sm="24">
|
||||||
|
<a-form-item label="会议时间">
|
||||||
|
<j-date
|
||||||
|
placeholder="请选择开始日期"
|
||||||
|
class="query-group-cust"
|
||||||
|
v-model="queryParam.meetingStartTime"
|
||||||
|
:disabled-date="disabledStartDate">
|
||||||
|
</j-date>
|
||||||
|
<span class="query-group-split-cust"></span>
|
||||||
|
<j-date
|
||||||
|
placeholder="请选择结束日期"
|
||||||
|
class="query-group-cust"
|
||||||
|
v-model="queryParam.meetingEndTime"
|
||||||
|
:disabled-date="disabledEndDate">
|
||||||
|
</j-date>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||||
|
<a-form-item label="年份" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
|
<j-year-date style="width:100%" placeholder="请选择年份"
|
||||||
|
v-model="queryParam.particularYear"></j-year-date>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
<a-col :xl="10" :lg="12" :md="12" :sm="24">
|
||||||
|
<a-form-item label="创建时间">
|
||||||
|
<j-date
|
||||||
|
placeholder="请选择开始日期"
|
||||||
|
class="query-group-cust"
|
||||||
|
v-model="queryParam.createTime_begin"
|
||||||
|
:disabled-date="disabledStartCreateDate">
|
||||||
|
</j-date>
|
||||||
|
<span class="query-group-split-cust"></span>
|
||||||
|
<j-date
|
||||||
|
placeholder="请选择结束日期"
|
||||||
|
class="query-group-cust"
|
||||||
|
v-model="queryParam.createTime_end"
|
||||||
|
:disabled-date="disabledEndCreateDate">
|
||||||
|
</j-date>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
|
||||||
<!-- 查询区域-->
|
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||||
<div class="table-page-search-wrapper">
|
<a-form-item label="已提醒" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
<j-dict-select-tag style="width: 100%"
|
||||||
<a-row>
|
dict-code="yn"
|
||||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
v-model="queryParam.remind"
|
||||||
<a-form-item label="会议名称" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
placeholder="请选择提醒类型"></j-dict-select-tag>
|
||||||
<a-input placeholder="请输入会议名称" v-model="queryParam.meetingName" :maxLength='50'></a-input>
|
</a-form-item>
|
||||||
</a-form-item>
|
</a-col>
|
||||||
</a-col>
|
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||||
<a-col :xl="10" :lg="12" :md="12" :sm="24">
|
|
||||||
<a-form-item label="会议时间">
|
|
||||||
<j-date
|
|
||||||
placeholder="请选择开始日期"
|
|
||||||
class="query-group-cust"
|
|
||||||
v-model="queryParam.meetingStartTime"
|
|
||||||
:disabled-date="disabledStartDate">
|
|
||||||
</j-date>
|
|
||||||
<span class="query-group-split-cust"></span>
|
|
||||||
<j-date
|
|
||||||
placeholder="请选择结束日期"
|
|
||||||
class="query-group-cust"
|
|
||||||
v-model="queryParam.meetingEndTime"
|
|
||||||
:disabled-date="disabledEndDate">
|
|
||||||
</j-date>
|
|
||||||
</a-form-item>
|
|
||||||
</a-col>
|
|
||||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
|
||||||
<a-form-item label="年份" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
|
||||||
<j-year-date style="width:100%" placeholder="请选择年份"
|
|
||||||
v-model="queryParam.particularYear"></j-year-date>
|
|
||||||
</a-form-item>
|
|
||||||
</a-col>
|
|
||||||
<a-col :xl="10" :lg="12" :md="12" :sm="24">
|
|
||||||
<a-form-item label="创建时间">
|
|
||||||
<j-date
|
|
||||||
placeholder="请选择开始日期"
|
|
||||||
class="query-group-cust"
|
|
||||||
v-model="queryParam.createTime_begin"
|
|
||||||
:disabled-date="disabledStartCreateDate">
|
|
||||||
</j-date>
|
|
||||||
<span class="query-group-split-cust"></span>
|
|
||||||
<j-date
|
|
||||||
placeholder="请选择结束日期"
|
|
||||||
class="query-group-cust"
|
|
||||||
v-model="queryParam.createTime_end"
|
|
||||||
:disabled-date="disabledEndCreateDate">
|
|
||||||
</j-date>
|
|
||||||
</a-form-item>
|
|
||||||
</a-col>
|
|
||||||
|
|
||||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
|
||||||
<a-form-item label="已提醒" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
|
||||||
<j-dict-select-tag style="width: 100%"
|
|
||||||
dict-code="yn"
|
|
||||||
v-model="queryParam.remind"
|
|
||||||
placeholder="请选择提醒类型"></j-dict-select-tag>
|
|
||||||
</a-form-item>
|
|
||||||
</a-col>
|
|
||||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
|
||||||
<span class="table-page-search-submitButtons">
|
<span class="table-page-search-submitButtons">
|
||||||
<a-button type="primary" icon="search" @click="searchQuery"
|
<a-button type="primary" icon="search" @click="searchQuery"
|
||||||
v-has="'workGroupMeeting:search'">查询</a-button>
|
v-has="'workGroupMeeting:search'">查询</a-button>
|
||||||
<a-button icon="reload" @click="searchReset" class="reset-button">重置</a-button>
|
<a-button icon="reload" @click="searchReset" class="reset-button">重置</a-button>
|
||||||
</span>
|
</span>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
</a-form>
|
</a-form>
|
||||||
</div>
|
</div>
|
||||||
<!-- /查询区域-->
|
<!-- /查询区域-->
|
||||||
|
|
||||||
<!-- 操作按钮区域-->
|
<!-- 操作按钮区域-->
|
||||||
<div class="table-operator">
|
<div class="table-operator">
|
||||||
<a-button type="primary" icon="plus" @click="handleAdd" v-has="'workGroupMeeting:add'" v-if="canOperate">新增</a-button>
|
<a-button type="primary" icon="plus" @click="handleAdd" v-has="'workGroupMeeting:add'" v-if="canOperate">新增
|
||||||
<a-button type="primary" icon="export" @click="handleExportXls('工作组会议')"
|
</a-button>
|
||||||
v-has="'workGroupMeeting:export'">导出
|
<a-button type="primary" icon="export" @click="handleExportXls('工作组会议')"
|
||||||
</a-button>
|
v-has="'workGroupMeeting:export'">导出
|
||||||
<a-button type="danger" icon="delete" @click="batchDel" v-has="'workGroupMeeting:batchDel'" v-if="canOperate">批量删除</a-button>
|
</a-button>
|
||||||
<a-button type="primary" @click="publishRemind" v-has="'workGroupMeeting:publish'" v-if="canOperate">发布</a-button>
|
<a-button type="danger" icon="delete" @click="batchDel" v-has="'workGroupMeeting:batchDel'" v-if="canOperate">
|
||||||
</div>
|
批量删除
|
||||||
<!-- /操作按钮区域-end-->
|
</a-button>
|
||||||
|
<a-button type="primary" @click="publishRemind" v-has="'workGroupMeeting:publish'" v-if="canOperate">发布
|
||||||
|
</a-button>
|
||||||
|
</div>
|
||||||
|
<!-- /操作按钮区域-end-->
|
||||||
|
|
||||||
<!-- table表格区域-->
|
<!-- table表格区域-->
|
||||||
<div>
|
<div>
|
||||||
<a-table
|
<a-table
|
||||||
ref="table"
|
ref="table"
|
||||||
size="middle"
|
size="middle"
|
||||||
bordered
|
bordered
|
||||||
rowKey="id"
|
rowKey="id"
|
||||||
:scroll="{x:true}"
|
:scroll="{x:true}"
|
||||||
:columns="columns"
|
:columns="columns"
|
||||||
:dataSource="dataSource"
|
:dataSource="dataSource"
|
||||||
:pagination="ipagination"
|
:pagination="ipagination"
|
||||||
:loading="loading"
|
:loading="loading"
|
||||||
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
|
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
|
||||||
@change="handleTableChange"
|
@change="handleTableChange"
|
||||||
class="j-table-force-nowrap">
|
class="j-table-force-nowrap">
|
||||||
|
|
||||||
<!-- 会议名称 点击去参会情况-->
|
<!-- 会议名称 点击去参会情况-->
|
||||||
<template slot="htmlSlot" slot-scope="text, record">
|
<template slot="htmlSlot" slot-scope="text, record">
|
||||||
<j-ellipsis v-if="!!text" class="primary-color" :value="text" :length="20"
|
<j-ellipsis v-if="!!text" class="primary-color" :value="text" :length="20"
|
||||||
@click="toAttendance(record)"></j-ellipsis>
|
@click="toAttendance(record)"></j-ellipsis>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template slot="text" slot-scope="text">
|
<template slot="text" slot-scope="text">
|
||||||
<j-ellipsis :value="text" :length="20"></j-ellipsis>
|
<j-ellipsis :value="text" :length="20"></j-ellipsis>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<span slot="action" class="action-span-cell" slot-scope="text, record" v-if="canOperate">
|
<span slot="action" class="action-span-cell" slot-scope="text, record" v-if="canOperate">
|
||||||
<a @click="uploadFile(record)" v-has="'workGroupMeeting:upload'">上传文件</a>
|
<a @click="uploadFile(record)" v-has="'workGroupMeeting:upload'">上传文件</a>
|
||||||
<!-- <a @click="applyMsg">报名信息</a>-->
|
<!-- <a @click="applyMsg">报名信息</a>-->
|
||||||
<a @click="handleEdit(record)" v-has="'workGroupMeeting:edit'">编辑</a>
|
<a @click="handleEdit(record)" v-has="'workGroupMeeting:edit'">编辑</a>
|
||||||
<a @click="handleDelete(record.id)" v-has="'workGroupMeeting:delete'">删除</a>
|
<a @click="handleDelete(record.id)" v-has="'workGroupMeeting:delete'">删除</a>
|
||||||
</span>
|
</span>
|
||||||
</a-table>
|
</a-table>
|
||||||
</div>
|
</div>
|
||||||
<publish-remind-modal ref="publishRemindModal" @ok="modalFormOk"></publish-remind-modal>
|
<publish-remind-modal ref="publishRemindModal" @ok="modalFormOk"></publish-remind-modal>
|
||||||
<upload-meet-file-modal ref="modalForm" @ok="modalFormOk"></upload-meet-file-modal>
|
<upload-meet-file-modal ref="modalForm" @ok="modalFormOk"></upload-meet-file-modal>
|
||||||
</a-card>
|
</a-card>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@@ -136,6 +137,7 @@ import JDictSelectTag from '@comp/dict/JDictSelectTag'
|
|||||||
import PublishRemindModal from '@views/projectManagement/modules/PublishRemindModal'
|
import PublishRemindModal from '@views/projectManagement/modules/PublishRemindModal'
|
||||||
import UploadMeetFileModal from '@views/incomePayments/meetManage/modules/UploadMeetFileModal'
|
import UploadMeetFileModal from '@views/incomePayments/meetManage/modules/UploadMeetFileModal'
|
||||||
import '@/assets/less/TableExpand.less'
|
import '@/assets/less/TableExpand.less'
|
||||||
|
import PageHeaderTitle from '../../components/layouts/PageHeaderTitle'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'ConferenceMaintenance',
|
name: 'ConferenceMaintenance',
|
||||||
@@ -144,7 +146,8 @@ export default {
|
|||||||
JDate,
|
JDate,
|
||||||
JDictSelectTag,
|
JDictSelectTag,
|
||||||
PublishRemindModal,
|
PublishRemindModal,
|
||||||
UploadMeetFileModal
|
UploadMeetFileModal,
|
||||||
|
PageHeaderTitle
|
||||||
},
|
},
|
||||||
mixins: [JeroListMixin, RangeDateMixin],
|
mixins: [JeroListMixin, RangeDateMixin],
|
||||||
data() {
|
data() {
|
||||||
@@ -181,7 +184,7 @@ export default {
|
|||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'meetingName',
|
dataIndex: 'meetingName',
|
||||||
scopedSlots: { customRender: 'htmlSlot' },
|
scopedSlots: { customRender: 'htmlSlot' },
|
||||||
width: 160,
|
width: 160
|
||||||
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -240,15 +243,15 @@ export default {
|
|||||||
fixed: 'right',
|
fixed: 'right',
|
||||||
width: 160,
|
width: 160,
|
||||||
scopedSlots: { customRender: 'action' }
|
scopedSlots: { customRender: 'action' }
|
||||||
},
|
}
|
||||||
],
|
],
|
||||||
url: {
|
url: {
|
||||||
list: '/meeting/workGroupMeeting/page',
|
list: '/meeting/workGroupMeeting/page',
|
||||||
delete: '/meeting/workGroupMeeting/delete',
|
delete: '/meeting/workGroupMeeting/delete',
|
||||||
deleteBatch: '/meeting/workGroupMeeting/deleteBatch',
|
deleteBatch: '/meeting/workGroupMeeting/deleteBatch',
|
||||||
exportXlsUrl: '/meeting/workGroupMeeting/exportXls',
|
exportXlsUrl: '/meeting/workGroupMeeting/exportXls'
|
||||||
},
|
},
|
||||||
canOperate: true, // 是否可操作(负责人B不可操作)
|
canOperate: true // 是否可操作(负责人B不可操作)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
@@ -277,7 +280,7 @@ export default {
|
|||||||
path: '/incomePayments/meetManage/AddOrDetailMeet',
|
path: '/incomePayments/meetManage/AddOrDetailMeet',
|
||||||
query: {
|
query: {
|
||||||
workingGroupProjectId: currentId,
|
workingGroupProjectId: currentId,
|
||||||
meetingType:'1'
|
meetingType: '1'
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -291,7 +294,7 @@ export default {
|
|||||||
path: '/incomePayments/meetManage/AddOrDetailMeet',
|
path: '/incomePayments/meetManage/AddOrDetailMeet',
|
||||||
query: {
|
query: {
|
||||||
workingGroupProjectId: currentId,
|
workingGroupProjectId: currentId,
|
||||||
id: record.id,
|
id: record.id
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -328,11 +331,11 @@ export default {
|
|||||||
* */
|
* */
|
||||||
toAttendance(record) {
|
toAttendance(record) {
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
path: '/incomePayments/meetManage/Attendance',
|
path: '/incomePayments/meetManage/AttendanceWorkGroupMeeting',
|
||||||
query: {
|
query: {
|
||||||
id: record.id,
|
id: record.id,
|
||||||
meetingName: record.meetingName,
|
meetingName: record.meetingName,
|
||||||
meetingType:'1'
|
meetingType: '1'
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -366,7 +369,7 @@ export default {
|
|||||||
this.queryParam.createTime_end = this.queryParam.createTime_end ? this.queryParam.createTime_end + ' ' + '23:59:59' : undefined
|
this.queryParam.createTime_end = this.queryParam.createTime_end ? this.queryParam.createTime_end + ' ' + '23:59:59' : undefined
|
||||||
this.lastQueryParam = { ...this.queryParam }
|
this.lastQueryParam = { ...this.queryParam }
|
||||||
this.loadData(1)
|
this.loadData(1)
|
||||||
},
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -270,7 +270,7 @@ export default {
|
|||||||
* */
|
* */
|
||||||
toAttendance(record) {
|
toAttendance(record) {
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
path: '/incomePayments/meetManage/Attendance',
|
path: '/incomePayments/meetManage/AttendanceInternalMeeting',
|
||||||
query: {
|
query: {
|
||||||
id: record.id,
|
id: record.id,
|
||||||
meetingName: record.meetingName,
|
meetingName: record.meetingName,
|
||||||
|
|||||||
@@ -275,7 +275,7 @@ name: 'OtherMeeting',
|
|||||||
* */
|
* */
|
||||||
toAttendance(record) {
|
toAttendance(record) {
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
path: '/incomePayments/meetManage/Attendance',
|
path: '/incomePayments/meetManage/AttendanceOhterMeeting',
|
||||||
query: {
|
query: {
|
||||||
id: record.id,
|
id: record.id,
|
||||||
meetingName: record.meetingName,
|
meetingName: record.meetingName,
|
||||||
|
|||||||
@@ -41,7 +41,8 @@
|
|||||||
<a-row>
|
<a-row>
|
||||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||||
<a-form-item label="成员单位" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="成员单位" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-input placeholder="请输入成员单位" v-model="queryParam.chargeCompanyTemporaryName" :maxLength='50'></a-input>
|
<a-input placeholder="请输入成员单位" v-model="queryParam.chargeCompanyTemporaryName"
|
||||||
|
:maxLength='50'></a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||||
@@ -69,9 +70,12 @@
|
|||||||
|
|
||||||
<!-- 操作按钮区域-->
|
<!-- 操作按钮区域-->
|
||||||
<div class="table-operator">
|
<div class="table-operator">
|
||||||
<a-button type="primary" icon="plus" @click="handleAdd" v-has="'workingGroupMember:add'" v-if="canOperate">添加成员</a-button>
|
<a-button type="primary" icon="plus" @click="handleAdd" v-has="'workingGroupMember:add'" v-if="canOperate">
|
||||||
|
添加成员
|
||||||
|
</a-button>
|
||||||
<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :data="importParam"
|
<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :data="importParam"
|
||||||
:action="importExcelUrl" @change="handleImportExcel" v-has="'workingGroupMember:import'" v-if="canOperate">
|
:action="importExcelUrl" @change="handleImportExcel" v-has="'workingGroupMember:import'"
|
||||||
|
v-if="canOperate">
|
||||||
<a-button type="primary" icon="import">导入</a-button>
|
<a-button type="primary" icon="import">导入</a-button>
|
||||||
</a-upload>
|
</a-upload>
|
||||||
<a-button type="primary" icon="export" @click="handleExportXls('工作组成员')" v-has="'workingGroupMember:export'">
|
<a-button type="primary" icon="export" @click="handleExportXls('工作组成员')" v-has="'workingGroupMember:export'">
|
||||||
@@ -80,9 +84,14 @@
|
|||||||
<a-button type="primary" icon="download" @click="downTemplate('工作组成员导入模板')"
|
<a-button type="primary" icon="download" @click="downTemplate('工作组成员导入模板')"
|
||||||
v-has="'workingGroupMember:downTemplate'" v-if="canOperate">下载模板
|
v-has="'workingGroupMember:downTemplate'" v-if="canOperate">下载模板
|
||||||
</a-button>
|
</a-button>
|
||||||
<a-button type="danger" icon="delete" @click="batchDel" v-has="'workingGroupMember:batchDel'" v-if="canOperate">批量删除</a-button>
|
<a-button type="danger" icon="delete" @click="batchDel" v-has="'workingGroupMember:batchDel'" v-if="canOperate">
|
||||||
<a-button type="primary" @click="setChargeNotic" v-has="'workingGroupMember:setChargeNotic'" v-if="canOperate">设置收费通知</a-button>
|
批量删除
|
||||||
<a-button type="primary" @click="setDunningReminder" v-has="'workingGroupMember:setDunningReminder'" v-if="canOperate">催款提醒
|
</a-button>
|
||||||
|
<a-button type="primary" @click="setChargeNotic" v-has="'workingGroupMember:setChargeNotic'" v-if="canOperate">
|
||||||
|
设置收费通知
|
||||||
|
</a-button>
|
||||||
|
<a-button type="primary" @click="setDunningReminder" v-has="'workingGroupMember:setDunningReminder'"
|
||||||
|
v-if="canOperate">催款提醒
|
||||||
</a-button>
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
<!-- /操作按钮区域-end-->
|
<!-- /操作按钮区域-end-->
|
||||||
@@ -261,6 +270,13 @@ export default {
|
|||||||
width: 280,
|
width: 280,
|
||||||
dataIndex: 'contactsTemporaryNameOne',
|
dataIndex: 'contactsTemporaryNameOne',
|
||||||
scopedSlots: { customRender: 'text' }
|
scopedSlots: { customRender: 'text' }
|
||||||
|
}, {
|
||||||
|
// 2021-10-22需求变更新加
|
||||||
|
title: '收费通知号',
|
||||||
|
align: 'center',
|
||||||
|
width: 280,
|
||||||
|
dataIndex: 'chargeNoticeNo',
|
||||||
|
scopedSlots: { customRender: 'text' }
|
||||||
}, {
|
}, {
|
||||||
title: '应收金额',
|
title: '应收金额',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
@@ -322,7 +338,7 @@ export default {
|
|||||||
// lastQueryParam: {
|
// lastQueryParam: {
|
||||||
// paymentDate: new Date().getFullYear().toString()
|
// paymentDate: new Date().getFullYear().toString()
|
||||||
// },
|
// },
|
||||||
canOperate: true, // 是否可操作(负责人B不可操作)
|
canOperate: true // 是否可操作(负责人B不可操作)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
@@ -469,7 +485,7 @@ export default {
|
|||||||
// let url = `${window._CONFIG['onlinePreviewDomainURL']}?url=${encodeURIComponent(fileFullUrl)}`
|
// let url = `${window._CONFIG['onlinePreviewDomainURL']}?url=${encodeURIComponent(fileFullUrl)}`
|
||||||
window.open(url)
|
window.open(url)
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
// 2021 10 11 沟通后去掉了这个功能
|
// 2021 10 11 沟通后去掉了这个功能
|
||||||
// searchReset() {
|
// searchReset() {
|
||||||
// this.lastQueryParam = {
|
// this.lastQueryParam = {
|
||||||
|
|||||||
@@ -197,7 +197,7 @@ export default {
|
|||||||
// 选择多个会议的时候不需要提醒字段 这样写是因为无法精准定位每一个人对应的每一个会议 这个人是否被提醒
|
// 选择多个会议的时候不需要提醒字段 这样写是因为无法精准定位每一个人对应的每一个会议 这个人是否被提醒
|
||||||
if (meetingList.length > 1) {
|
if (meetingList.length > 1) {
|
||||||
// 去掉列表的提醒字段
|
// 去掉列表的提醒字段
|
||||||
this.newColumns = this.newColumns.filter(item => item.dataIndex !== 'remind')
|
this.newColumns = this.newColumns.filter(item => item.dataIndex !== 'remind_dictText')
|
||||||
}
|
}
|
||||||
this.searchReset()
|
this.searchReset()
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -69,7 +69,7 @@
|
|||||||
<a-row>
|
<a-row>
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item label="本年应收款A" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="本年应收款A" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-row>
|
<a-row :gutter="10">
|
||||||
<a-col :span="20">
|
<a-col :span="20">
|
||||||
<a-input placeholder="请输入本年应收款A"
|
<a-input placeholder="请输入本年应收款A"
|
||||||
v-decorator="['yearChargeA',validatorRules.checkMoney]"
|
v-decorator="['yearChargeA',validatorRules.checkMoney]"
|
||||||
@@ -105,7 +105,7 @@
|
|||||||
<a-row>
|
<a-row>
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item label="本年应收款B" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="本年应收款B" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-row>
|
<a-row :gutter="10">
|
||||||
<a-col :span="20">
|
<a-col :span="20">
|
||||||
<a-input placeholder="请输入本年应收款B"
|
<a-input placeholder="请输入本年应收款B"
|
||||||
v-decorator="['yearChargeB',validatorRules.checkMoney]"
|
v-decorator="['yearChargeB',validatorRules.checkMoney]"
|
||||||
|
|||||||
@@ -70,7 +70,7 @@
|
|||||||
<a-row>
|
<a-row>
|
||||||
<img :src="singUpQRCode" class="qr-code"/>
|
<img :src="singUpQRCode" class="qr-code"/>
|
||||||
</a-row>
|
</a-row>
|
||||||
<a-button type="primary" style="margin-left: 19px;" @click="toSingUpPage" v-if="!invalidationBool">立即报名
|
<a-button type="primary" style="margin-left: 19px;" @click="toSingUpPage" v-if="!invalidationBool && urlHaveIdBool">立即报名
|
||||||
</a-button>
|
</a-button>
|
||||||
</section>
|
</section>
|
||||||
</div>
|
</div>
|
||||||
@@ -105,12 +105,15 @@ export default {
|
|||||||
// 会议id
|
// 会议id
|
||||||
meetingId: '',
|
meetingId: '',
|
||||||
// 当前时间是否超过报名截止时间
|
// 当前时间是否超过报名截止时间
|
||||||
invalidationBool: false
|
invalidationBool: false,
|
||||||
|
// url是否有id参数
|
||||||
|
urlHaveIdBool:false,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
// 获取会议id
|
// 获取会议id
|
||||||
let id = this.GetQueryString('id')
|
let id = this.GetQueryString('id')
|
||||||
|
this.urlHaveIdBool = id ? true :false
|
||||||
this.meetingId = id
|
this.meetingId = id
|
||||||
document.title = '报名入口'
|
document.title = '报名入口'
|
||||||
if (id) {
|
if (id) {
|
||||||
@@ -179,7 +182,7 @@ export default {
|
|||||||
this.holdAddress = this.currentMeetingInfo.venue + '/' + this.currentMeetingInfo.address
|
this.holdAddress = this.currentMeetingInfo.venue + '/' + this.currentMeetingInfo.address
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
console.log(res.message)
|
this.urlHaveIdBool = false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
+135
-127
@@ -89,128 +89,133 @@
|
|||||||
<section class="main-content-title mt-10">
|
<section class="main-content-title mt-10">
|
||||||
<img src="../../assets/signUpImg/signUpInfo.png"/> 报名信息
|
<img src="../../assets/signUpImg/signUpInfo.png"/> 报名信息
|
||||||
</section>
|
</section>
|
||||||
<a-spin :spinning="confirmLoading">
|
<template v-if="urlHaveIdBool">
|
||||||
<a-form :form="form">
|
<a-spin :spinning="confirmLoading">
|
||||||
<!--个人信息begin-->
|
<a-form :form="form">
|
||||||
<div class="item-title">个人信息</div>
|
<!--个人信息begin-->
|
||||||
<a-row :gutter="24">
|
<div class="item-title">个人信息</div>
|
||||||
<a-col :xxl="8" :xl="12" :sm="24">
|
<a-row :gutter="24">
|
||||||
<a-form-item label="参会企业" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-col :xxl="8" :xl="12" :sm="24">
|
||||||
<company-select @change="changeCompany" v-decorator="['companyId',validatorRules.companyId]"
|
<a-form-item label="参会企业" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
placeholder="请选择参会企业"
|
<company-select @change="changeCompany" v-decorator="['companyId',validatorRules.companyId]"
|
||||||
:is-limit="true"
|
placeholder="请选择参会企业"
|
||||||
:maxLength='50'>
|
:is-limit="true"
|
||||||
</company-select>
|
:maxLength='50'>
|
||||||
</a-form-item>
|
</company-select>
|
||||||
</a-col>
|
</a-form-item>
|
||||||
</a-row>
|
</a-col>
|
||||||
<a-row :gutter="24">
|
</a-row>
|
||||||
<a-col :xxl="8" :xl="12" :sm="24">
|
<a-row :gutter="24">
|
||||||
<a-form-item label="姓名" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-col :xxl="8" :xl="12" :sm="24">
|
||||||
<select-contacts :selected-company="selectedCompany"
|
<a-form-item label="姓名" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
placeholder="请选择参会人"
|
<select-contacts :selected-company="selectedCompany"
|
||||||
:is-limit="true"
|
placeholder="请选择参会人"
|
||||||
v-decorator="['companyContactId',validatorRules.companyContactId]"
|
:is-limit="true"
|
||||||
:maxLength='50'
|
v-decorator="['companyContactId',validatorRules.companyContactId]"
|
||||||
@change="changeContact"
|
:maxLength='50'
|
||||||
ref="selectMailContacts"
|
@change="changeContact"
|
||||||
@ok="addContactsOk"></select-contacts>
|
ref="selectMailContacts"
|
||||||
</a-form-item>
|
@ok="addContactsOk"></select-contacts>
|
||||||
</a-col>
|
</a-form-item>
|
||||||
<a-col :xxl="8" :xl="12" :sm="24">
|
</a-col>
|
||||||
<a-form-item label="手机号" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-col :xxl="8" :xl="12" :sm="24">
|
||||||
<a-input placeholder="请输入手机号"
|
<a-form-item label="手机号" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
@change="(e) => {e.target.value = e.target.value.replace(/[^0-9]/g,'')}"
|
<a-input placeholder="请输入手机号"
|
||||||
:maxLength='11'
|
@change="(e) => {e.target.value = e.target.value.replace(/[^0-9]/g,'')}"
|
||||||
disabled
|
:maxLength='11'
|
||||||
v-decorator="['phone',validatorRules.phone]"></a-input>
|
disabled
|
||||||
</a-form-item>
|
v-decorator="['phone',validatorRules.phone]"></a-input>
|
||||||
</a-col>
|
</a-form-item>
|
||||||
<!--非国际研讨会-->
|
</a-col>
|
||||||
<a-col :xxl="8" :xl="12" :sm="24" v-if="meetingType !== '3' ">
|
<!--非国际研讨会-->
|
||||||
<a-form-item label="身份" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-col :xxl="8" :xl="12" :sm="24" v-if="meetingType !== '3' ">
|
||||||
<a-radio-group v-decorator="['identity',validatorRules.identify]" @change="changeIdentify">
|
<a-form-item label="身份" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-radio :value="1">嘉宾</a-radio>
|
<a-radio-group v-decorator="['identity',validatorRules.identify]" @change="changeIdentify">
|
||||||
<a-radio :value="2">参会人</a-radio>
|
<a-radio :value="1">嘉宾</a-radio>
|
||||||
<a-radio :value="3">内部企业</a-radio>
|
<a-radio :value="2">参会人</a-radio>
|
||||||
</a-radio-group>
|
<a-radio :value="3">内部企业</a-radio>
|
||||||
</a-form-item>
|
</a-radio-group>
|
||||||
</a-col>
|
</a-form-item>
|
||||||
<a-col :xxl="8" :xl="12" :sm="24" v-if="meetingType === '3' ">
|
</a-col>
|
||||||
<a-form-item label="是否有邀请码" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-col :xxl="8" :xl="12" :sm="24" v-if="meetingType === '3' ">
|
||||||
<a-radio-group v-decorator="['inviteCode',validatorRules.inviteCode]" @change="changeInviteCode">
|
<a-form-item label="是否有邀请码" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-radio :value="1">是</a-radio>
|
<a-radio-group v-decorator="['inviteCode',validatorRules.inviteCode]" @change="changeInviteCode">
|
||||||
<a-radio :value="0">否</a-radio>
|
<a-radio :value="1">是</a-radio>
|
||||||
</a-radio-group>
|
<a-radio :value="0">否</a-radio>
|
||||||
</a-form-item>
|
</a-radio-group>
|
||||||
</a-col>
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
|
||||||
<!--邀请码选择是出现填写邀请码 否选择身份-->
|
<!--邀请码选择是出现填写邀请码 否选择身份-->
|
||||||
<a-col :xxl="8" :xl="12" :sm="24" v-if="meetingType === '3' && identityBool ">
|
<a-col :xxl="8" :xl="12" :sm="24" v-if="meetingType === '3' && identityBool ">
|
||||||
<a-form-item label="身份" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="身份" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-radio-group v-decorator="['identity',validatorRules.identify]" @change="changeIdentify">
|
<a-radio-group v-decorator="['identity',validatorRules.identify]" @change="changeIdentify">
|
||||||
<a-radio :value="2">参会人</a-radio>
|
<a-radio :value="2">参会人</a-radio>
|
||||||
<a-radio :value="3">内部企业</a-radio>
|
<a-radio :value="3">内部企业</a-radio>
|
||||||
</a-radio-group>
|
</a-radio-group>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
|
||||||
<a-col :xxl="8" :xl="12" :sm="24" v-if="inviteCodeBool">
|
<a-col :xxl="8" :xl="12" :sm="24" v-if="inviteCodeBool">
|
||||||
<a-form-item label="邀请码" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="邀请码" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-input placeholder="请输入邀请码"
|
<a-input placeholder="请输入邀请码"
|
||||||
:maxLength='50'
|
:maxLength='50'
|
||||||
@change="event => event.target.value = event.target.value.trim()"
|
@change="event => event.target.value = event.target.value.trim()"
|
||||||
@blur="validateCode"
|
@blur="validateCode"
|
||||||
v-decorator="[ 'code',
|
v-decorator="[ 'code',
|
||||||
validatorRules.code]"></a-input>
|
validatorRules.code]"></a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
<!--邀请码选择是才出现-->
|
<!--邀请码选择是才出现-->
|
||||||
<a-row :gutter="24" class="center" v-if="inviteCodeBool">
|
<a-row :gutter="24" class="center" v-if="inviteCodeBool">
|
||||||
<a-button @click="nextSetp" type="primary">下一步</a-button>
|
<a-button @click="nextSetp" type="primary">下一步</a-button>
|
||||||
</a-row>
|
</a-row>
|
||||||
<!--个人信息end-->
|
<!--个人信息end-->
|
||||||
<!--除开国际研讨会的其他会议的显示-->
|
<!--除开国际研讨会的其他会议的显示-->
|
||||||
<template v-if="meetingType !== '3' ">
|
<template v-if="meetingType !== '3' ">
|
||||||
<other-meeting-form ref="formother" :selected-company="selectedCompany"
|
<other-meeting-form ref="formother" :selected-company="selectedCompany"
|
||||||
:meeting-cost-bool="meetingCostBool"
|
:meeting-cost-bool="meetingCostBool"
|
||||||
:identify-type="identifyType" @formData="getFormData" @isPack="isPack"></other-meeting-form>
|
:identify-type="identifyType" @formData="getFormData"
|
||||||
</template>
|
@isPack="isPack"></other-meeting-form>
|
||||||
|
</template>
|
||||||
|
|
||||||
<!--国际研讨会参会人与内部企业的显示 默认不展示 -->
|
<!--国际研讨会参会人与内部企业的显示 默认不展示 -->
|
||||||
<template v-if="meetingType === '3' && identifyType !== 1 && identifyType !== null ">
|
<template v-if="meetingType === '3' && identifyType !== 1 && identifyType !== null ">
|
||||||
<other-meeting-form ref="formother" :meeting-type="meetingType" :selected-company="selectedCompany"
|
<other-meeting-form ref="formother" :meeting-type="meetingType" :selected-company="selectedCompany"
|
||||||
:meeting-cost-bool="meetingCostBool"
|
:meeting-cost-bool="meetingCostBool"
|
||||||
@isPack="isPack"
|
@isPack="isPack"
|
||||||
:identify-type="identifyType" @formData="getFormData"></other-meeting-form>
|
:identify-type="identifyType" @formData="getFormData"></other-meeting-form>
|
||||||
</template>
|
</template>
|
||||||
<!-- 国际研讨会身份选择嘉宾 并且是VIP-->
|
<!-- 国际研讨会身份选择嘉宾 并且是VIP-->
|
||||||
<template v-if="identifyType === 1 && guestType === 1">
|
<template v-if="identifyType === 1 && guestType === 1">
|
||||||
<seminar-vip-form ref="seminarVipForm" @formData="getFormData" :identify-type="identifyType"
|
<seminar-vip-form ref="seminarVipForm" @formData="getFormData" :identify-type="identifyType"
|
||||||
:guest-type="guestType"></seminar-vip-form>
|
:guest-type="guestType"></seminar-vip-form>
|
||||||
</template>
|
</template>
|
||||||
<!-- 国际研讨会身份选择嘉宾 并且是演讲嘉宾-->
|
<!-- 国际研讨会身份选择嘉宾 并且是演讲嘉宾-->
|
||||||
<template v-if="identifyType === 1 && guestType === 2">
|
<template v-if="identifyType === 1 && guestType === 2">
|
||||||
<seminar-vip-form ref="seminarVipForm" @formData="getFormData" :guest-type="guestType"></seminar-vip-form>
|
<seminar-vip-form ref="seminarVipForm" @formData="getFormData"
|
||||||
</template>
|
:guest-type="guestType"></seminar-vip-form>
|
||||||
<!-- 国际研讨会身份选择嘉宾 并且是特邀嘉宾-->
|
</template>
|
||||||
<template v-if="identifyType === 1 && guestType === 3">
|
<!-- 国际研讨会身份选择嘉宾 并且是特邀嘉宾-->
|
||||||
<seminar-vip-form ref="seminarVipForm" @formData="getFormData" :guest-type="guestType"></seminar-vip-form>
|
<template v-if="identifyType === 1 && guestType === 3">
|
||||||
</template>
|
<seminar-vip-form ref="seminarVipForm" @formData="getFormData"
|
||||||
<!-- 国际研讨会身份选择嘉宾 并且是合作伙伴-->
|
:guest-type="guestType"></seminar-vip-form>
|
||||||
<template v-if="identifyType === 1 && guestType === 4">
|
</template>
|
||||||
<seminar-partner-form ref="seminarPartnerForm" @formData="getFormData"></seminar-partner-form>
|
<!-- 国际研讨会身份选择嘉宾 并且是合作伙伴-->
|
||||||
</template>
|
<template v-if="identifyType === 1 && guestType === 4">
|
||||||
<section class="meetingCost">
|
<seminar-partner-form ref="seminarPartnerForm" @formData="getFormData"></seminar-partner-form>
|
||||||
费用合计:{{ meetingCostSum }} 元
|
</template>
|
||||||
</section>
|
<section class="meetingCost">
|
||||||
<div class="action">
|
费用合计:{{ meetingCostSum }} 元
|
||||||
<a-button class="submit" type="primary" @click="handleOk" v-preventclick>确定</a-button>
|
</section>
|
||||||
<a-button @click="handleCancel">取消</a-button>
|
<div class="action">
|
||||||
</div>
|
<a-button class="submit" type="primary" @click="handleOk" v-preventclick>确定</a-button>
|
||||||
</a-form>
|
<a-button @click="handleCancel">取消</a-button>
|
||||||
</a-spin>
|
</div>
|
||||||
|
</a-form>
|
||||||
|
</a-spin>
|
||||||
|
</template>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<!--内容end-->
|
<!--内容end-->
|
||||||
@@ -323,9 +328,11 @@ export default {
|
|||||||
// 邀请码错误状态
|
// 邀请码错误状态
|
||||||
codeErrorBool: true,
|
codeErrorBool: true,
|
||||||
// 是否是打包
|
// 是否是打包
|
||||||
isPackBool:false,
|
isPackBool: false,
|
||||||
// 国际研讨会身份的控制
|
// 国际研讨会身份的控制
|
||||||
identityBool:false,
|
identityBool: false,
|
||||||
|
// url是否有id字段 默认没有
|
||||||
|
urlHaveIdBool: false,
|
||||||
url: {
|
url: {
|
||||||
add: '/meeting/payMeetingSituation/signUp'
|
add: '/meeting/payMeetingSituation/signUp'
|
||||||
}
|
}
|
||||||
@@ -335,6 +342,7 @@ export default {
|
|||||||
document.title = '会议报名'
|
document.title = '会议报名'
|
||||||
// 获取会议id
|
// 获取会议id
|
||||||
let id = this.GetQueryString('id')
|
let id = this.GetQueryString('id')
|
||||||
|
this.urlHaveIdBool = id ? true : false
|
||||||
this.meetingId = id
|
this.meetingId = id
|
||||||
if (id) {
|
if (id) {
|
||||||
this.getMeetingInfo(id)
|
this.getMeetingInfo(id)
|
||||||
@@ -395,7 +403,7 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
console.log(res.message)
|
this.urlHaveIdBool = false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -431,11 +439,11 @@ export default {
|
|||||||
return null
|
return null
|
||||||
},
|
},
|
||||||
// 是否打包 打包会议费用为0
|
// 是否打包 打包会议费用为0
|
||||||
isPack(val){
|
isPack(val) {
|
||||||
this.isPackBool = val
|
this.isPackBool = val
|
||||||
if(this.isPackBool){
|
if (this.isPackBool) {
|
||||||
this.meetingCostSum = '0.00'
|
this.meetingCostSum = '0.00'
|
||||||
}else {
|
} else {
|
||||||
this.meetingCostSum = this.currentMeetingInfo.meetingCosts
|
this.meetingCostSum = this.currentMeetingInfo.meetingCosts
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -462,7 +470,7 @@ export default {
|
|||||||
this.form.validateFields((err, values) => {
|
this.form.validateFields((err, values) => {
|
||||||
if (!err) {
|
if (!err) {
|
||||||
// 判断邀请码是否错误 需要判断会议类型 以及 是否有邀请码
|
// 判断邀请码是否错误 需要判断会议类型 以及 是否有邀请码
|
||||||
if (this.codeErrorBool && this.currentMeetingInfo.meetingType === '3' && this.inviteCodeBool ) {
|
if (this.codeErrorBool && this.currentMeetingInfo.meetingType === '3' && this.inviteCodeBool) {
|
||||||
this.$message.error('邀请码填写错误')
|
this.$message.error('邀请码填写错误')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -523,7 +531,7 @@ export default {
|
|||||||
changeCompany(value) {
|
changeCompany(value) {
|
||||||
this.selectedCompany = value
|
this.selectedCompany = value
|
||||||
// 选择企业清空 姓名 手机号
|
// 选择企业清空 姓名 手机号
|
||||||
this.form.resetFields(['companyContactId','phone'])
|
this.form.resetFields(['companyContactId', 'phone'])
|
||||||
|
|
||||||
},
|
},
|
||||||
/*
|
/*
|
||||||
@@ -558,7 +566,7 @@ export default {
|
|||||||
// 选的否 身份置空
|
// 选的否 身份置空
|
||||||
this.identifyType = null
|
this.identifyType = null
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
if(this.$refs.formother){
|
if (this.$refs.formother) {
|
||||||
this.$refs.formother.isLimitBool = true
|
this.$refs.formother.isLimitBool = true
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -24,7 +24,8 @@
|
|||||||
<a v-if="this.currSelected.title" style="margin-left: 10px" @click="onClearSelected">取消选择</a>
|
<a v-if="this.currSelected.title" style="margin-left: 10px" @click="onClearSelected">取消选择</a>
|
||||||
</div>
|
</div>
|
||||||
</a-alert>
|
</a-alert>
|
||||||
<a-input-search @search="onSearch" allowClear style="width:100%;margin-top: 10px" placeholder="请输入部门名称" :maxLength="50"/>
|
<a-input-search @search="onSearch" allowClear style="width:100%;margin-top: 10px" placeholder="请输入部门名称"
|
||||||
|
:maxLength="50"/>
|
||||||
<!-- 树-->
|
<!-- 树-->
|
||||||
<a-col :md="10" :sm="24">
|
<a-col :md="10" :sm="24">
|
||||||
<template>
|
<template>
|
||||||
@@ -504,7 +505,7 @@ export default {
|
|||||||
this.form.resetFields()
|
this.form.resetFields()
|
||||||
this.selectedKeys = []
|
this.selectedKeys = []
|
||||||
//取消选择 清除选中部门id
|
//取消选择 清除选中部门id
|
||||||
this.$refs.DeptUserInfo.cancelSelect()
|
// this.$refs.DeptUserInfo.cancelSelect()
|
||||||
// 暂时注释(部门权限组件)没用 2021-08-24
|
// 暂时注释(部门权限组件)没用 2021-08-24
|
||||||
// this.$refs.departAuth.departId = ''
|
// this.$refs.departAuth.departId = ''
|
||||||
},
|
},
|
||||||
@@ -736,4 +737,11 @@ export default {
|
|||||||
background: #fff;
|
background: #fff;
|
||||||
border-radius: 0 0 2px 2px;
|
border-radius: 0 0 2px 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//解决组织机构名称很长的时候文字无法隐藏的问题
|
||||||
|
/deep/ .ant-tree li .ant-tree-node-content-wrapper {
|
||||||
|
max-width: 235%;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -9,8 +9,15 @@
|
|||||||
|
|
||||||
<a-col :xl="7" :lg="8" :md="8" :sm="24">
|
<a-col :xl="7" :lg="8" :md="8" :sm="24">
|
||||||
<a-form-item label="提醒类型">
|
<a-form-item label="提醒类型">
|
||||||
<j-dict-select-tag dict-code="notice_type" placeholder="请选择提醒类型"
|
<a-select
|
||||||
v-model="queryParam.titile"></j-dict-select-tag>
|
v-model="queryParam.titile"
|
||||||
|
show-search
|
||||||
|
allowClear
|
||||||
|
option-filter-prop="children"
|
||||||
|
:filter-option="filterOption"
|
||||||
|
placeholder="请选择提醒类型">
|
||||||
|
<a-select-option v-for="(item,index) in noticeTypeList" :key="index" :value="item.value">{{ item.name }}</a-select-option>
|
||||||
|
</a-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :xl="10" :lg="11" :md="12" :sm="24">
|
<a-col :xl="10" :lg="11" :md="12" :sm="24">
|
||||||
@@ -47,6 +54,7 @@
|
|||||||
size="default"
|
size="default"
|
||||||
bordered
|
bordered
|
||||||
rowKey="id"
|
rowKey="id"
|
||||||
|
:scroll="{x: 1200}"
|
||||||
:columns="columns"
|
:columns="columns"
|
||||||
:dataSource="dataSource"
|
:dataSource="dataSource"
|
||||||
:pagination="ipagination"
|
:pagination="ipagination"
|
||||||
@@ -85,7 +93,6 @@ import ShowAnnouncement from '@/components/tools/ShowAnnouncement'
|
|||||||
import {JeroListMixin} from '@/mixins/JeroListMixin'
|
import {JeroListMixin} from '@/mixins/JeroListMixin'
|
||||||
import {RangeDateMixin} from '@/mixins/RangeDateMixin'
|
import {RangeDateMixin} from '@/mixins/RangeDateMixin'
|
||||||
import DynamicNotice from '../../components/tools/DynamicNotice'
|
import DynamicNotice from '../../components/tools/DynamicNotice'
|
||||||
import JDictSelectTag from '@comp/dict/JDictSelectTag'
|
|
||||||
import '@/assets/less/TableExpand.less'
|
import '@/assets/less/TableExpand.less'
|
||||||
import JDate from '@comp/tools/JDate'
|
import JDate from '@comp/tools/JDate'
|
||||||
import PageHeaderTitle from '@comp/layouts/PageHeaderTitle'
|
import PageHeaderTitle from '@comp/layouts/PageHeaderTitle'
|
||||||
@@ -98,7 +105,6 @@ export default {
|
|||||||
components: {
|
components: {
|
||||||
DynamicNotice,
|
DynamicNotice,
|
||||||
ShowAnnouncement,
|
ShowAnnouncement,
|
||||||
JDictSelectTag,
|
|
||||||
JDate,
|
JDate,
|
||||||
PageHeaderTitle
|
PageHeaderTitle
|
||||||
},
|
},
|
||||||
@@ -106,6 +112,29 @@ export default {
|
|||||||
return {
|
return {
|
||||||
description: '系统通告表管理页面',
|
description: '系统通告表管理页面',
|
||||||
queryParam: {},
|
queryParam: {},
|
||||||
|
// 管理端消息提醒类型
|
||||||
|
noticeTypeList: [
|
||||||
|
{
|
||||||
|
name: '项目通知',
|
||||||
|
value: '1'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '合同通知',
|
||||||
|
value: '2'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '会议通知',
|
||||||
|
value: '3'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '打包通知',
|
||||||
|
value: '4'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '企业通知',
|
||||||
|
value: '5'
|
||||||
|
}
|
||||||
|
],
|
||||||
IconImg,
|
IconImg,
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@@ -169,6 +198,11 @@ export default {
|
|||||||
Bus.$off('header-notice-change')
|
Bus.$off('header-notice-change')
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
filterOption(input, option) {
|
||||||
|
return (
|
||||||
|
option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
||||||
|
)
|
||||||
|
},
|
||||||
handleDetail: function (record) {
|
handleDetail: function (record) {
|
||||||
this.$refs.sysAnnouncementModal.detail(record)
|
this.$refs.sysAnnouncementModal.detail(record)
|
||||||
this.$refs.sysAnnouncementModal.title = '查看'
|
this.$refs.sysAnnouncementModal.title = '查看'
|
||||||
|
|||||||
@@ -166,7 +166,7 @@
|
|||||||
if(value){
|
if(value){
|
||||||
let reg=new RegExp("[`_~!@#$^&*()=|{}'.<>《》/?!¥()—【】‘;:”“。,、?]")
|
let reg=new RegExp("[`_~!@#$^&*()=|{}'.<>《》/?!¥()—【】‘;:”“。,、?]")
|
||||||
if(reg.test(value)){
|
if(reg.test(value)){
|
||||||
callback('数据值不能包含特殊字符!')
|
callback('数据值不能包含特殊字符')
|
||||||
}else{
|
}else{
|
||||||
//update--begin--autor:lvdandan-----date:20201203------for:JT-27【数据字典】字典 - 数据值可重复
|
//update--begin--autor:lvdandan-----date:20201203------for:JT-27【数据字典】字典 - 数据值可重复
|
||||||
getAction('/sys/dictItem/dictItemCheck',param).then((res)=>{
|
getAction('/sys/dictItem/dictItemCheck',param).then((res)=>{
|
||||||
|
|||||||
@@ -597,7 +597,7 @@ export default {
|
|||||||
callback()
|
callback()
|
||||||
}
|
}
|
||||||
if (!passwordReg(value)) {
|
if (!passwordReg(value)) {
|
||||||
callback('密码由8位及以上数字、大小写字母和特殊符号组成!')
|
callback('密码由8位及以上数字、大小写字母和特殊符号组成')
|
||||||
}
|
}
|
||||||
if (value && this.confirmDirty) {
|
if (value && this.confirmDirty) {
|
||||||
form.validateFields(['confirm'], {force: true})
|
form.validateFields(['confirm'], {force: true})
|
||||||
@@ -607,10 +607,10 @@ export default {
|
|||||||
compareToFirstPassword(rule, value, callback) {
|
compareToFirstPassword(rule, value, callback) {
|
||||||
const form = this.form
|
const form = this.form
|
||||||
if (value && value !== form.getFieldValue('password')) {
|
if (value && value !== form.getFieldValue('password')) {
|
||||||
callback('两次输入的密码不一样!')
|
callback('两次密码不一致')
|
||||||
}
|
}
|
||||||
if (value && !passwordReg(value)) {
|
if (value && !passwordReg(value)) {
|
||||||
callback('密码由8位及以上数字、大小写字母和特殊符号组成!')
|
callback('密码由8位及以上数字、大小写字母和特殊符号组成')
|
||||||
}
|
}
|
||||||
callback()
|
callback()
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -81,11 +81,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
onTreeNodeSelect(id){
|
onTreeNodeSelect(){
|
||||||
if(id && id.length>0){
|
// id
|
||||||
this.selectedKeys = id
|
// if(id && id.length>0){
|
||||||
}
|
// this.selectedKeys = id
|
||||||
this.$refs.datarule.show(this.selectedKeys[0],this.roleId)
|
// }
|
||||||
|
// this.$refs.datarule.show(this.selectedKeys[0],this.roleId)
|
||||||
},
|
},
|
||||||
onCheck (o) {
|
onCheck (o) {
|
||||||
if(this.checkStrictly){
|
if(this.checkStrictly){
|
||||||
|
|||||||
@@ -326,7 +326,7 @@ export default {
|
|||||||
z-index: 99;
|
z-index: 99;
|
||||||
width: 50%;
|
width: 50%;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
height: 60%;
|
height: 80%;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 0;
|
right: 0;
|
||||||
top: 50%;
|
top: 50%;
|
||||||
@@ -336,11 +336,12 @@ export default {
|
|||||||
height: 100%;
|
height: 100%;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: center;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
.title{
|
.title{
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
margin-bottom: 10px;
|
||||||
img{
|
img{
|
||||||
width: 395px;
|
width: 395px;
|
||||||
height: 124px;
|
height: 124px;
|
||||||
@@ -366,7 +367,7 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
/deep/.ant-row{
|
/deep/.ant-row{
|
||||||
margin-bottom: 0 !important;
|
margin-bottom: 4px!important;
|
||||||
}
|
}
|
||||||
/deep/.ant-input-affix-wrapper .ant-input{
|
/deep/.ant-input-affix-wrapper .ant-input{
|
||||||
border-radius: 30px;
|
border-radius: 30px;
|
||||||
|
|||||||
@@ -129,35 +129,35 @@ export default {
|
|||||||
validatorRules: {
|
validatorRules: {
|
||||||
username: {
|
username: {
|
||||||
rules: [
|
rules: [
|
||||||
{ required: true, message: '请输入账号!' }],
|
{ required: true, message: '请输入账号' }],
|
||||||
validateTrigger: 'blur'
|
validateTrigger: 'blur'
|
||||||
},
|
},
|
||||||
phone: {
|
phone: {
|
||||||
rules: [
|
rules: [
|
||||||
{ required: true, message: '请输入手机号!' },
|
{ required: true, message: '请输入手机号' },
|
||||||
{ validator: this.validatePhone }
|
{ validator: this.validatePhone }
|
||||||
],
|
],
|
||||||
validateTrigger: 'blur'
|
validateTrigger: 'blur'
|
||||||
},
|
},
|
||||||
verifyCode: {
|
verifyCode: {
|
||||||
rules: [{ required: true, message: '请输入验证码!' }],
|
rules: [{ required: true, message: '请输入验证码' }],
|
||||||
validateTrigger: 'blur'
|
validateTrigger: 'blur'
|
||||||
},
|
},
|
||||||
password: {
|
password: {
|
||||||
rules: [
|
rules: [
|
||||||
{ required: true, message: '请输入新密码!' },
|
{ required: true, message: '请输入新密码' },
|
||||||
{
|
{
|
||||||
pattern: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,30}$/,
|
pattern: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,30}$/,
|
||||||
message: '密码由8位及以上数字、大小写字母和特殊符号组成!'
|
message: '密码由8位及以上数字、大小写字母和特殊符号组成'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
validateTrigger: 'blur'
|
validateTrigger: 'blur'
|
||||||
},
|
},
|
||||||
confirmPassword: {
|
confirmPassword: {
|
||||||
rules: [
|
rules: [
|
||||||
{ required: true, message: '请输入确认密码!' },
|
{ required: true, message: '请输入确认密码' },
|
||||||
{ pattern: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,30}$/,
|
{ pattern: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,30}$/,
|
||||||
message: '密码由8位及以上数字、大小写字母和特殊符号组成!'
|
message: '密码由8位及以上数字、大小写字母和特殊符号组成'
|
||||||
},
|
},
|
||||||
{ validator: this.handlePasswordCheck }
|
{ validator: this.handlePasswordCheck }
|
||||||
],
|
],
|
||||||
@@ -315,7 +315,7 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.alteration-content {
|
.alteration-content {
|
||||||
margin: auto;
|
//margin: auto;
|
||||||
width: 1000px;
|
width: 1000px;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
|||||||
Reference in New Issue
Block a user