国际研讨会->添加参会人-嘉宾-演讲嘉宾表单样式调整;bug修改
This commit is contained in:
@@ -35,7 +35,8 @@
|
||||
</a-col>
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
<span class="table-page-search-submitButtons">
|
||||
<a-button type="primary" icon="search" @click="searchQuery" v-has="'incomePaymentAndInvoiving:search'">查询</a-button>
|
||||
<a-button type="primary" icon="search" @click="searchQuery"
|
||||
v-has="'incomePaymentAndInvoiving:search'">查询</a-button>
|
||||
<a-button icon="reload" @click="searchReset" class="reset-button">重置</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
@@ -46,8 +47,12 @@
|
||||
|
||||
<!-- 操作按钮区域-->
|
||||
<div class="table-operator">
|
||||
<a-button type="primary" icon="export" @click="handleExportXls('到账开票')" v-has="'incomePaymentAndInvoiving:export'">导出</a-button>
|
||||
<a-button type="primary" icon="file-text" @click="batchInvoicing" v-has="'incomePaymentAndInvoiving:batchInvoicing'">合并开票</a-button>
|
||||
<a-button type="primary" icon="export" @click="handleExportXls('到账开票')"
|
||||
v-has="'incomePaymentAndInvoiving:export'">导出
|
||||
</a-button>
|
||||
<a-button type="primary" icon="file-text" @click="batchInvoicing"
|
||||
v-has="'incomePaymentAndInvoiving:batchInvoicing'">合并开票
|
||||
</a-button>
|
||||
</div>
|
||||
<!-- 操作按钮区域-end-->
|
||||
|
||||
@@ -98,7 +103,8 @@
|
||||
|
||||
<span slot="action" class="action-span-cell" slot-scope="text, record">
|
||||
<a @click="incomePayment(record)" v-has="'incomePaymentAndInvoiving:incomePayment'">来款</a>
|
||||
<a @click="invoicing(record)" :disabled="record.needInvoice === 0" v-has="'incomePaymentAndInvoiving:invoicing'">开票</a>
|
||||
<a @click="invoicing(record)" :disabled="record.needInvoice === 0"
|
||||
v-has="'incomePaymentAndInvoiving:invoicing'">开票</a>
|
||||
</span>
|
||||
</a-table>
|
||||
</div>
|
||||
@@ -271,7 +277,7 @@ export default {
|
||||
selectedProject: [],
|
||||
batchInvoicingVisible: false,
|
||||
selectedCompany: {}, // 选中项目的企业信息
|
||||
mailContactsId: null, // 项目邮寄联系人id
|
||||
mailContactsId: null // 项目邮寄联系人id
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -329,7 +335,7 @@ export default {
|
||||
// 开票
|
||||
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('存在不需要发票的项目!')
|
||||
}
|
||||
// 是否存在企业不同的项目
|
||||
@@ -341,7 +347,7 @@ export default {
|
||||
if (!isAllEqual(companyArr)) {
|
||||
reject('请选择来款单位为同一企业的项目合并开票!')
|
||||
}
|
||||
if (arr.some(item => item.invoiceAmount && Number(item.invoiceAmount) === Number(item.receivableAmount))) {
|
||||
if (arr.some(item => item.makeInvoice === 1)) {
|
||||
reject('存在已完成开票的项目!')
|
||||
}
|
||||
this.selectedCompany = {
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :xxl="18" :xl="18" :sm="24">
|
||||
<a-col>
|
||||
<a-form-item label="个人简介" :labelCol="remarksLabelCol" :wrapperCol="remarksWrapperCol">
|
||||
<a-textarea
|
||||
:disabled="isEditBool"
|
||||
@@ -50,7 +50,8 @@
|
||||
<a-row :gutter="24">
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="是否用餐" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-radio-group :disabled="isEditBool" v-decorator="['haveMeals',validatorRules.haveMealBools]" @change="selecthaveMealBools">
|
||||
<a-radio-group :disabled="isEditBool" v-decorator="['haveMeals',validatorRules.haveMealBools]"
|
||||
@change="selecthaveMealBools">
|
||||
<a-radio :value="1">是</a-radio>
|
||||
<a-radio :value="0">否</a-radio>
|
||||
</a-radio-group>
|
||||
@@ -74,12 +75,15 @@
|
||||
<a-row :gutter="24">
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="是否住酒店" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-radio-group :disabled="isEditBool" v-decorator="['checkInHotel',validatorRules.checkinHotel]" @change="changeHotel">
|
||||
<a-radio-group :disabled="isEditBool" v-decorator="['checkInHotel',validatorRules.checkinHotel]"
|
||||
@change="changeHotel">
|
||||
<a-radio :value="1">是</a-radio>
|
||||
<a-radio :value="0">否</a-radio>
|
||||
</a-radio-group>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<!--入住酒店选择是才显示-->
|
||||
<a-col :xxl="8" :xl="12" :sm="24" v-if="inHotelBool">
|
||||
<a-form-item label="入住酒店时间" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
@@ -95,7 +99,8 @@
|
||||
</a-col>
|
||||
<a-col :xxl="8" :xl="12" :sm="24" v-if="inHotelBool">
|
||||
<a-form-item label="房型" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input :disabled="isEditBool" @change="event => event.target.value = event.target.value.trim()" :maxLength="50"
|
||||
<a-input :disabled="isEditBool" @change="event => event.target.value = event.target.value.trim()"
|
||||
:maxLength="50"
|
||||
v-decorator="['roomLayout']"
|
||||
placeholder="请输入房型"></a-input>
|
||||
</a-form-item>
|
||||
@@ -115,7 +120,8 @@
|
||||
</a-radio-group>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :xxl="8" :xl="12" :sm="24" v-if="pickUpBool">
|
||||
<a-form-item label="抵达时间" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-date :disabled="isEditBool" placeholder="请选择抵达时间" style="width: 100%;" v-decorator="['arrivalTime']"
|
||||
@@ -133,7 +139,6 @@
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
|
||||
<a-col :xxl="8" :xl="12" :sm="24" v-if="pickUpBool">
|
||||
<a-form-item label="到达班次" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input :disabled="isEditBool" placeholder="请输入到达班次"
|
||||
@@ -145,12 +150,15 @@
|
||||
<a-row :gutter="24">
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="是否需要送站" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-radio-group :disabled="isEditBool" v-decorator="['deliveryStation',validatorRules.deliveryStation]" @change="changeSend">
|
||||
<a-radio-group :disabled="isEditBool" v-decorator="['deliveryStation',validatorRules.deliveryStation]"
|
||||
@change="changeSend">
|
||||
<a-radio :value="1">是</a-radio>
|
||||
<a-radio :value="0">否</a-radio>
|
||||
</a-radio-group>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<!--送站选择是才显示-->
|
||||
<a-col :xxl="8" :xl="12" :sm="24" v-if="sendBool">
|
||||
<a-form-item label="离开时间" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
@@ -191,8 +199,8 @@
|
||||
|
||||
</a-row>
|
||||
<!--特邀嘉宾没有备注-->
|
||||
<a-row :gutter="24" v-if="guestType!== 3">
|
||||
<a-col :xxl="18" :xl="18" :sm="24">
|
||||
<a-row v-if="guestType!== 3">
|
||||
<a-col>
|
||||
<a-form-item label="备注" :labelCol="remarksLabelCol" :wrapperCol="remarksWrapperCol">
|
||||
<a-textarea
|
||||
:disabled="isEditBool"
|
||||
@@ -223,20 +231,24 @@ export default {
|
||||
desription: '其他会议的参会情况的表单',
|
||||
form: this.$form.createForm(this),
|
||||
labelCol: {
|
||||
xs: {span: 24},
|
||||
sm: {span: 6}
|
||||
xs: { span: 24 },
|
||||
sm: { span: 6 }
|
||||
},
|
||||
wrapperCol: {
|
||||
xs: {span: 24},
|
||||
sm: {span: 18}
|
||||
xs: { span: 24 },
|
||||
sm: { span: 18 }
|
||||
},
|
||||
remarksLabelCol: {
|
||||
xs: {span: 24},
|
||||
sm: {span: 3}
|
||||
xs: { span: 24 },
|
||||
sm: { span: 6 },
|
||||
xxl: { span: 2 },
|
||||
xl: { span: 3 }
|
||||
},
|
||||
remarksWrapperCol: {
|
||||
xs: {span: 24},
|
||||
sm: {span: 21}
|
||||
xs: { span: 24 },
|
||||
sm: { span: 18 },
|
||||
xxl: { span: 22 },
|
||||
xl: { span: 21 }
|
||||
},
|
||||
selectedCompany: null,
|
||||
// 是否用餐
|
||||
@@ -248,26 +260,26 @@ export default {
|
||||
// 是否接站
|
||||
pickUpBool: false,
|
||||
// 是否可编辑
|
||||
isEditBool:false,
|
||||
isEditBool: false,
|
||||
validatorRules: {
|
||||
haveMealBools: {
|
||||
rules: [{required: true, message: '请选择是否用餐'}],
|
||||
rules: [{ required: true, message: '请选择是否用餐' }],
|
||||
validateTrigger: 'change'
|
||||
},
|
||||
huiPeople: {
|
||||
rules: [{required: true, message: '请选择是否回民'}],
|
||||
rules: [{ required: true, message: '请选择是否回民' }],
|
||||
validateTrigger: 'change'
|
||||
},
|
||||
checkinHotel: {
|
||||
rules: [{required: true, message: '请选择是否入住酒店'}],
|
||||
rules: [{ required: true, message: '请选择是否入住酒店' }],
|
||||
validateTrigger: 'change'
|
||||
},
|
||||
pickUp: {
|
||||
rules: [{required: true, message: '请选择是否接站'}],
|
||||
rules: [{ required: true, message: '请选择是否接站' }],
|
||||
validateTrigger: 'change'
|
||||
},
|
||||
deliveryStation: {
|
||||
rules: [{required: true, message: '请选择是否送站'}],
|
||||
rules: [{ required: true, message: '请选择是否送站' }],
|
||||
validateTrigger: 'change'
|
||||
}
|
||||
}
|
||||
@@ -305,7 +317,7 @@ export default {
|
||||
if (!err) {
|
||||
this.$emit('formData', values)
|
||||
} else {
|
||||
this.$emit('formData', {stop: true})
|
||||
this.$emit('formData', { stop: true })
|
||||
}
|
||||
})
|
||||
},
|
||||
@@ -363,7 +375,7 @@ export default {
|
||||
/*
|
||||
* 编辑回显值
|
||||
* */
|
||||
setFormVal(record){
|
||||
setFormVal(record) {
|
||||
// 回显邮寄联系人
|
||||
this.isEditBool = record.checkResult === 1
|
||||
// this.selectPostPerson = {
|
||||
@@ -371,19 +383,19 @@ export default {
|
||||
// name:record.postContactName
|
||||
// }
|
||||
// 是否用餐的显示
|
||||
if(record.haveMeals === 1){
|
||||
this.haveMealBool = true
|
||||
this.$nextTick(() => {
|
||||
// 是否回民回显
|
||||
this.form.setFieldsValue(pick(record,
|
||||
'huiPeople',
|
||||
))
|
||||
})
|
||||
}else if(record.haveMeals === 0){
|
||||
this.haveMealBool = false
|
||||
}
|
||||
// 是否住酒店
|
||||
if(record.checkInHotel === 1){
|
||||
if (record.haveMeals === 1) {
|
||||
this.haveMealBool = true
|
||||
this.$nextTick(() => {
|
||||
// 是否回民回显
|
||||
this.form.setFieldsValue(pick(record,
|
||||
'huiPeople'
|
||||
))
|
||||
})
|
||||
} else if (record.haveMeals === 0) {
|
||||
this.haveMealBool = false
|
||||
}
|
||||
// 是否住酒店
|
||||
if (record.checkInHotel === 1) {
|
||||
this.inHotelBool = true
|
||||
// 入住酒店回显 离店时间回显 房型回显
|
||||
this.$nextTick(() => {
|
||||
@@ -391,14 +403,14 @@ export default {
|
||||
this.form.setFieldsValue(pick(record,
|
||||
'inHotelTime',
|
||||
'outHotelTime',
|
||||
'roomLayout',
|
||||
'roomLayout'
|
||||
))
|
||||
})
|
||||
}else if(record.checkInHotel === 0){
|
||||
} else if (record.checkInHotel === 0) {
|
||||
this.inHotelBool = false
|
||||
}
|
||||
// 是否接站
|
||||
if(record.pickUp === 1){
|
||||
if (record.pickUp === 1) {
|
||||
this.pickUpBool = true
|
||||
// 抵达时间 到达站 到达班次
|
||||
this.$nextTick(() => {
|
||||
@@ -406,27 +418,27 @@ export default {
|
||||
this.form.setFieldsValue(pick(record,
|
||||
'arrivalTime',
|
||||
'destination',
|
||||
'arrivalShift',
|
||||
'arrivalShift'
|
||||
))
|
||||
})
|
||||
}else if(record.pickUp === 0){
|
||||
} else if (record.pickUp === 0) {
|
||||
this.pickUpBool = false
|
||||
}
|
||||
// 是否送站
|
||||
if(record.deliveryStation === 1){
|
||||
if (record.deliveryStation === 1) {
|
||||
this.sendBool = true
|
||||
this.$nextTick(() => {
|
||||
// 离开时间 离开站 离开班次
|
||||
this.form.setFieldsValue(pick(record,
|
||||
'departureTime',
|
||||
'departureStation',
|
||||
'departureShift',
|
||||
'departureShift'
|
||||
))
|
||||
})
|
||||
}else if(record.pickUp === 0){
|
||||
} else if (record.pickUp === 0) {
|
||||
this.sendBool = false
|
||||
}
|
||||
console.log(record,'record')
|
||||
console.log(record, 'record')
|
||||
this.$nextTick(() => {
|
||||
// 身份类型是嘉宾 内部企业只渲染 住店 抵达时间 离开时间
|
||||
this.form.setFieldsValue(pick(record,
|
||||
@@ -444,7 +456,7 @@ export default {
|
||||
})
|
||||
|
||||
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -527,6 +527,9 @@ export default {
|
||||
if (arr.some(item => item.needInvoice === 0 || Number(item.receivableAmount) === 0)) {
|
||||
reject('存在不需要发票的项目!')
|
||||
}
|
||||
if (arr.some(item => item.makeInvoice === 1)) {
|
||||
reject('存在已完成开票的项目!')
|
||||
}
|
||||
}
|
||||
// 来款
|
||||
if (operateType === 'incomePayment') {
|
||||
@@ -534,6 +537,9 @@ export default {
|
||||
if (arr.some(item => Number(item.receivableAmount) === 0)) {
|
||||
reject('存在应收金额为0的项目!')
|
||||
}
|
||||
if (arr.some(item => item.inAccount === 1)) {
|
||||
reject('不可选择已付全款的项目!')
|
||||
}
|
||||
}
|
||||
resolve(arr)
|
||||
})
|
||||
|
||||
@@ -258,10 +258,6 @@ export default {
|
||||
this.addZero(e)
|
||||
e.target.value = (e.target.value.replace(/[^0-9.]/g, '')).trim()
|
||||
this.inputIncomingAmount = Number(e.target.value)
|
||||
if (this.inputIncomingAmount > this.sumAmountOwed) {
|
||||
this.$message.warn('来款金额大于当前欠款金额,输入有误!')
|
||||
return
|
||||
}
|
||||
this.clearThisTimeAmount()
|
||||
this.calculateThisTimeAmount()
|
||||
},
|
||||
@@ -282,6 +278,10 @@ export default {
|
||||
this.$message.warn('请输入大于0的来款金额')
|
||||
return
|
||||
}
|
||||
if (this.inputIncomingAmount > this.sumAmountOwed) {
|
||||
this.$message.warn('来款金额大于当前欠款金额,输入有误!')
|
||||
return
|
||||
}
|
||||
this.dataSource.forEach((item, index) => {
|
||||
// 当前项目欠款是否 >0
|
||||
if (Number(item.amountOwed) > 0) {
|
||||
|
||||
@@ -274,10 +274,6 @@ export default {
|
||||
this.addZero(e)
|
||||
e.target.value = (e.target.value.replace(/[^0-9.]/g, '')).trim()
|
||||
this.inputInvoicingAmount = Number(e.target.value)
|
||||
if (this.inputInvoicingAmount > this.sumAmountOwed) {
|
||||
this.$message.warn('开票金额大于当前未开票金额,输入有误!')
|
||||
return
|
||||
}
|
||||
this.clearThisTimeAmount()
|
||||
this.calculateThisTimeAmount()
|
||||
},
|
||||
@@ -317,6 +313,10 @@ export default {
|
||||
this.$message.warn('请输入大于0的开票金额')
|
||||
return
|
||||
}
|
||||
if (this.inputInvoicingAmount > this.sumAmountOwed) {
|
||||
this.$message.warn('开票金额大于当前未开票金额,输入有误!')
|
||||
return
|
||||
}
|
||||
this.dataSource.forEach((item, index) => {
|
||||
// 当前项目欠款是否 >0
|
||||
if (Number(item.amountOwed) > 0) {
|
||||
|
||||
@@ -196,23 +196,29 @@ export default {
|
||||
return parseInt(index) + 1
|
||||
}
|
||||
}, {
|
||||
title: '项目名称',
|
||||
title: '来款项目',
|
||||
align: 'center',
|
||||
// width: 200,
|
||||
width: 200,
|
||||
dataIndex: 'projectName',
|
||||
scopedSlots: { customRender: 'projectName' }
|
||||
}, {
|
||||
title: '负责人',
|
||||
title: '项目负责人',
|
||||
align: 'center',
|
||||
width: 140,
|
||||
width: 200,
|
||||
dataIndex: 'principalName',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
}, {
|
||||
title: '所属科室',
|
||||
align: 'center',
|
||||
width: 140,
|
||||
width: 200,
|
||||
dataIndex: 'depart',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
}, {
|
||||
title: '来款单位',
|
||||
align: 'center',
|
||||
width: 200,
|
||||
dataIndex: 'chargeCompanyTemporaryName',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
}, {
|
||||
title: '应收金额',
|
||||
align: 'center',
|
||||
@@ -236,27 +242,32 @@ export default {
|
||||
{
|
||||
title: '序号',
|
||||
dataIndex: 'title',
|
||||
key: 'rowIndex',
|
||||
width: 120,
|
||||
align: 'center'
|
||||
}, {
|
||||
title: '项目名称',
|
||||
align: 'center',
|
||||
// width: 200,
|
||||
width: 60,
|
||||
}, {
|
||||
title: '来款项目',
|
||||
align: 'center',
|
||||
width: 200,
|
||||
dataIndex: 'projectName',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
scopedSlots: { customRender: 'projectName' }
|
||||
}, {
|
||||
title: '负责人',
|
||||
title: '项目负责人',
|
||||
align: 'center',
|
||||
width: 140,
|
||||
width: 200,
|
||||
dataIndex: 'principalName',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
}, {
|
||||
title: '所属科室',
|
||||
align: 'center',
|
||||
width: 140,
|
||||
width: 200,
|
||||
dataIndex: 'depart',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
}, {
|
||||
title: '来款单位',
|
||||
align: 'center',
|
||||
width: 200,
|
||||
dataIndex: 'chargeCompanyTemporaryName',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
}, {
|
||||
title: '应收金额',
|
||||
align: 'center',
|
||||
|
||||
Reference in New Issue
Block a user