Merge remote-tracking branch 'origin/branch20211008'
This commit is contained in:
+11
@@ -8,7 +8,18 @@
|
|||||||
<script>
|
<script>
|
||||||
import zhCN from 'ant-design-vue/lib/locale-provider/zh_CN'
|
import zhCN from 'ant-design-vue/lib/locale-provider/zh_CN'
|
||||||
import enquireScreen from '@/utils/device'
|
import enquireScreen from '@/utils/device'
|
||||||
|
window.addEventListener('message', function (event) {
|
||||||
|
// 当监听到 需要修改样式的事件时 隐藏相应的元素
|
||||||
|
if (event.data.hideDom) {
|
||||||
|
//此处执行事件
|
||||||
|
setTimeout(() => {
|
||||||
|
document.getElementsByClassName('ant-layout-sider')[0].style.display = 'none'
|
||||||
|
document.getElementsByClassName('ant-layout-header')[0].style.display = 'none'
|
||||||
|
document.getElementsByClassName('tab-layout-tabs ant-tabs ant-tabs-top')[0].style.display = 'none'
|
||||||
|
}, 1000)
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import {getAction, postAction} from '@api/manage'
|
import {getAction} from '@api/manage'
|
||||||
|
|
||||||
// 通过用户id获取用户信息
|
// 通过用户id获取用户信息
|
||||||
const getUserInfo = (params) => getAction('/sys/user/queryById',params)
|
const getUserInfo = (params) => getAction('/sys/user/queryById',params)
|
||||||
@@ -8,8 +8,7 @@ const getMeetInfoById = (params) => getAction('/meeting/payMeeting/queryById',pa
|
|||||||
const getAllWorkProjects = () => getAction('/project/payWorkingGroup/listAll')
|
const getAllWorkProjects = () => getAction('/project/payWorkingGroup/listAll')
|
||||||
// 通过id获取参会人详细信息
|
// 通过id获取参会人详细信息
|
||||||
const getSingUpUserInfo = (params) => getAction('/meeting/payMeetingSituation/queryById',params)
|
const getSingUpUserInfo = (params) => getAction('/meeting/payMeetingSituation/queryById',params)
|
||||||
// 会议管理上传会议资料
|
|
||||||
const uploadMeetingFiles = (params) => postAction('/meeting/payMeeting/uploadFile',params)
|
|
||||||
// 生成会议二维码
|
// 生成会议二维码
|
||||||
const createQcCode = (params) => getAction('/meeting/payMeeting/createBase64',params)
|
const createQcCode = (params) => getAction('/meeting/payMeeting/createBase64',params)
|
||||||
// 收入合同的新增会员项目的查询
|
// 收入合同的新增会员项目的查询
|
||||||
@@ -20,7 +19,6 @@ export {
|
|||||||
getMeetInfoById,
|
getMeetInfoById,
|
||||||
getAllWorkProjects,
|
getAllWorkProjects,
|
||||||
getSingUpUserInfo,
|
getSingUpUserInfo,
|
||||||
uploadMeetingFiles,
|
|
||||||
createQcCode,
|
createQcCode,
|
||||||
queryContractMemberProject
|
queryContractMemberProject
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ const getWorkingGroupById = (params) => getAction('/project/payWorkingGroup/quer
|
|||||||
// 判断工作组成员是否设置来款通知
|
// 判断工作组成员是否设置来款通知
|
||||||
const getChargeNotice = (param) => getAction('/project/payWorkingGroupSubitem/getCharge', param)
|
const getChargeNotice = (param) => getAction('/project/payWorkingGroupSubitem/getCharge', param)
|
||||||
// 工作组会议的发布提醒
|
// 工作组会议的发布提醒
|
||||||
const publishRemind = (param) => postAction('/meeting/payMeeting/publishReminder', param)
|
const publishRemind = (param) => postAction('/meeting/workGroupMeeting/publishReminder', param)
|
||||||
// 通过id获取收入合同信息
|
// 通过id获取收入合同信息
|
||||||
const getRevenueContractById = (param) => getAction('/contract/payIncomeContract/queryById', param)
|
const getRevenueContractById = (param) => getAction('/contract/payIncomeContract/queryById', param)
|
||||||
// 收入合同审核
|
// 收入合同审核
|
||||||
@@ -70,6 +70,8 @@ const homePageStatistics = (param) => getAction('/statistics/principalPeople/fir
|
|||||||
const homePageDataStatistics = (param) => getAction('/home/dataStatistics', param)
|
const homePageDataStatistics = (param) => getAction('/home/dataStatistics', param)
|
||||||
// 系统催款
|
// 系统催款
|
||||||
const sysReminders = (param) => postAction('/reminders/edit', param)
|
const sysReminders = (param) => postAction('/reminders/edit', param)
|
||||||
|
// 检测企业审核是否通过
|
||||||
|
const checkCompanyAduit = (param) => getAction('/payMailContract/payMailContract/check', param)
|
||||||
|
|
||||||
export {
|
export {
|
||||||
getWorkingGroupById,
|
getWorkingGroupById,
|
||||||
@@ -106,5 +108,6 @@ export {
|
|||||||
checkoutWorkingGroupPrincipal,
|
checkoutWorkingGroupPrincipal,
|
||||||
homePageStatistics,
|
homePageStatistics,
|
||||||
homePageDataStatistics,
|
homePageDataStatistics,
|
||||||
sysReminders
|
sysReminders,
|
||||||
|
checkCompanyAduit
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -125,8 +125,8 @@
|
|||||||
:dataSource="logisticsInfoList"
|
:dataSource="logisticsInfoList"
|
||||||
class="j-table-force-nowrap"
|
class="j-table-force-nowrap"
|
||||||
>
|
>
|
||||||
<span slot="action" class="action-span-cell">
|
<span slot="action" class="action-span-cell" slot-scope="record">
|
||||||
<a @click="lookLogistics()">查看物流</a>
|
<a @click="lookLogistics()" v-if="record.postStatus === 1">查看物流</a>
|
||||||
</span>
|
</span>
|
||||||
<!-- <p slot="expandedRowRender" slot-scope="record" style="margin: 0">-->
|
<!-- <p slot="expandedRowRender" slot-scope="record" style="margin: 0">-->
|
||||||
<!-- {{ record.sendDate }}-->
|
<!-- {{ record.sendDate }}-->
|
||||||
|
|||||||
@@ -12,6 +12,11 @@ NProgress.configure({ showSpinner: false }) // NProgress Configuration
|
|||||||
const whiteList = ['/user/login', '/user/register', '/user/register-result', '/user/alteration','/signUpEntrance','/signUpPage'] // no redirect whitelist
|
const whiteList = ['/user/login', '/user/register', '/user/register-result', '/user/alteration','/signUpEntrance','/signUpPage'] // no redirect whitelist
|
||||||
|
|
||||||
router.beforeEach((to, from, next) => {
|
router.beforeEach((to, from, next) => {
|
||||||
|
if (to.query.token) {
|
||||||
|
Vue.ls.set(ACCESS_TOKEN, to.query.token, 7 * 24 * 60 * 60 * 1000)
|
||||||
|
store.commit('SET_TOKEN', to.query.token)
|
||||||
|
}
|
||||||
|
|
||||||
NProgress.start() // start progress bar
|
NProgress.start() // start progress bar
|
||||||
|
|
||||||
if (Vue.ls.get(ACCESS_TOKEN)) {
|
if (Vue.ls.get(ACCESS_TOKEN)) {
|
||||||
|
|||||||
@@ -5,10 +5,9 @@ const hasPermission = {
|
|||||||
Vue.directive('has', {
|
Vue.directive('has', {
|
||||||
inserted: (el, binding, vnode)=>{
|
inserted: (el, binding, vnode)=>{
|
||||||
// console.log('binding=====',binding.value)
|
// console.log('binding=====',binding.value)
|
||||||
// console.log('binding=====args',binding)
|
|
||||||
if(binding.arg){
|
if(binding.arg){
|
||||||
binding.value = binding.arg
|
binding.value = binding.arg
|
||||||
console.log( binding.value ,' binding.value =================')
|
// console.log( binding.value ,' binding.value =================')
|
||||||
}
|
}
|
||||||
// console.log("页面权限控制----");
|
// console.log("页面权限控制----");
|
||||||
//console.time()
|
//console.time()
|
||||||
|
|||||||
+31
-34
@@ -28,17 +28,18 @@
|
|||||||
</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">
|
||||||
<company-select placeholder="请选择签订单位"
|
<a-input placeholder="请输入签订单位"
|
||||||
v-decorator="['signedCompany',validatorRules.signedCompany]"
|
v-decorator="['signedCompanyTemporaryName',validatorRules.signedCompanyTemporaryName]"
|
||||||
@change="handleSignedCompanyChange"></company-select>
|
:maxLength='50'
|
||||||
|
@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" style="margin-bottom: 0">
|
<a-col :xxl="6" :xl="8" :sm="12" style="margin-bottom: 0">
|
||||||
<a-form-item label="签订联系人" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="签订联系人" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<select-contacts placeholder="请选择签订联系人"
|
<a-input placeholder="请输入签订联系人"
|
||||||
:selected-company="selectedCompany"
|
v-decorator="['signedContactsTemporaryName',validatorRules.signedContactsTemporaryName]"
|
||||||
:init-contacts="selectedContact"
|
:maxLength='50'
|
||||||
v-decorator="['signedContactsId',validatorRules.signedContactsId]"></select-contacts>
|
@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">
|
<a-col :xxl="6" :xl="8" :sm="12">
|
||||||
@@ -124,11 +125,10 @@
|
|||||||
</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">
|
||||||
<j-date placeholder="请选择合同约定主要时点"
|
<a-input placeholder="请输入合同约定主要时点"
|
||||||
style="width: 100%;"
|
v-decorator="['contractTimePoints',validatorRules.contractTimePoints]"
|
||||||
v-decorator="['contractTimePoints']"
|
:maxLength='50'
|
||||||
:trigger-change="true"
|
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
|
||||||
date-format="YYYY-MM-DD"/>
|
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
@@ -287,12 +287,12 @@ export default {
|
|||||||
rules: [{ required: true, message: '请输入合同名称' }],
|
rules: [{ required: true, message: '请输入合同名称' }],
|
||||||
validateTrigger: 'blur'
|
validateTrigger: 'blur'
|
||||||
},
|
},
|
||||||
signedCompany: {
|
signedCompanyTemporaryName: {
|
||||||
rules: [{ required: true, message: '请选择签订单位' }],
|
rules: [{ required: true, message: '请输入签订单位' }],
|
||||||
validateTrigger: 'change'
|
validateTrigger: 'blur'
|
||||||
},
|
},
|
||||||
signedContactsId: {
|
signedContactsTemporaryName: {
|
||||||
rules: [{ required: true, message: '请选择签订联系人' }],
|
rules: [{ required: true, message: '请输入签订联系人' }],
|
||||||
validateTrigger: 'blur'
|
validateTrigger: 'blur'
|
||||||
},
|
},
|
||||||
principalId: {
|
principalId: {
|
||||||
@@ -364,17 +364,17 @@ export default {
|
|||||||
let record
|
let record
|
||||||
record = res.result
|
record = res.result
|
||||||
// 回显企业
|
// 回显企业
|
||||||
record.signedCompany = {
|
// record.signedCompany = {
|
||||||
id: record.signedCompanyTemporaryId,
|
// id: record.signedCompanyTemporaryId,
|
||||||
companyName: record.signedCompanyTemporaryName
|
// companyName: record.signedCompanyTemporaryName
|
||||||
}
|
// }
|
||||||
// 回显联系人
|
// 回显联系人
|
||||||
this.selectedCompany = record.signedCompany
|
// this.selectedCompany = record.signedCompany
|
||||||
record.signedContactsId = record.signedContactsTemporaryId
|
// record.signedContactsId = record.signedContactsTemporaryId
|
||||||
this.selectedContact = {
|
// this.selectedContact = {
|
||||||
id: record.signedContactsTemporaryId,
|
// id: record.signedContactsTemporaryId,
|
||||||
name: record.signedContactsTemporaryName
|
// name: record.signedContactsTemporaryName
|
||||||
}
|
// }
|
||||||
this.model = Object.assign({}, record)
|
this.model = Object.assign({}, record)
|
||||||
// 回显负责人部门
|
// 回显负责人部门
|
||||||
this.principalChange(this.model.principalId)
|
this.principalChange(this.model.principalId)
|
||||||
@@ -383,7 +383,7 @@ export default {
|
|||||||
// 回显打包年份
|
// 回显打包年份
|
||||||
this.isPackage = this.model.pack === 1
|
this.isPackage = this.model.pack === 1
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.form.setFieldsValue(pick(this.model, 'contractNum', 'contractName', 'signedCompany', 'signedContactsId', 'opening', 'principalId', 'departmentName', 'contractAmount', 'rate', 'noTaxAmount', 'contractDate', 'terminationDate', 'contractTimePoints', 'accountsReceivableAmount', 'amountReceived', 'outstandingAmount', 'accountStatus', 'contractPaymentTimes', 'pack', 'packYear'))
|
this.form.setFieldsValue(pick(this.model, 'contractNum', 'contractName', 'signedCompanyTemporaryName', 'signedContactsTemporaryName', 'opening', 'principalId', 'departmentName', 'contractAmount', 'rate', 'noTaxAmount', 'contractDate', 'terminationDate', 'contractTimePoints', 'accountsReceivableAmount', 'amountReceived', 'outstandingAmount', 'accountStatus', 'contractPaymentTimes', 'pack', 'packYear'))
|
||||||
this.confirmLoading = false
|
this.confirmLoading = false
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
@@ -402,8 +402,6 @@ export default {
|
|||||||
this.confirmLoading = true
|
this.confirmLoading = true
|
||||||
if (this.installmentList && this.installmentList.length > 0) {
|
if (this.installmentList && this.installmentList.length > 0) {
|
||||||
let formData = {}
|
let formData = {}
|
||||||
values.signedCompanyId = values.signedCompany.id
|
|
||||||
delete values.signedCompany
|
|
||||||
formData.installment = this.installmentList
|
formData.installment = this.installmentList
|
||||||
formData.contract = Object.assign(this.model, values)
|
formData.contract = Object.assign(this.model, values)
|
||||||
console.log('表单提交数据', formData)
|
console.log('表单提交数据', formData)
|
||||||
@@ -416,7 +414,6 @@ export default {
|
|||||||
postAction(url, formData).then(res => {
|
postAction(url, formData).then(res => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
this.contractId = res.result.id
|
this.contractId = res.result.id
|
||||||
this.edit(this.contractId)
|
|
||||||
this.$message.success(res.message)
|
this.$message.success(res.message)
|
||||||
// 跳转至支出合同list页面
|
// 跳转至支出合同list页面
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
@@ -603,11 +600,11 @@ export default {
|
|||||||
if (this.accountsReceivableNum !== null && this.amountReceivedNum !== null) {
|
if (this.accountsReceivableNum !== null && this.amountReceivedNum !== null) {
|
||||||
this.model.outstandingAmount = Number(this.accountsReceivableNum) - Number(this.amountReceivedNum)
|
this.model.outstandingAmount = Number(this.accountsReceivableNum) - Number(this.amountReceivedNum)
|
||||||
this.model.outstandingAmount = this.model.outstandingAmount.toFixed(2)
|
this.model.outstandingAmount = this.model.outstandingAmount.toFixed(2)
|
||||||
if (this.model.outstandingAmount === 0) {
|
if (Number(this.model.outstandingAmount) === 0) {
|
||||||
this.model.accountStatus = '3'
|
this.model.accountStatus = '3'
|
||||||
} else if (this.model.outstandingAmount > 0 && this.model.outstandingAmount < Number(this.accountsReceivableNum)) {
|
} else if (Number(this.model.outstandingAmount) > 0 && Number(this.model.outstandingAmount) < Number(this.accountsReceivableNum)) {
|
||||||
this.model.accountStatus = '2'
|
this.model.accountStatus = '2'
|
||||||
} else if (this.model.outstandingAmount === Number(this.accountsReceivableNum)) {
|
} else if (Number(this.model.outstandingAmount) === Number(this.accountsReceivableNum)) {
|
||||||
this.model.accountStatus = '1'
|
this.model.accountStatus = '1'
|
||||||
}
|
}
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
|
|||||||
@@ -48,7 +48,7 @@
|
|||||||
</a-col>
|
</a-col>
|
||||||
<a-col :xl="7" :lg="8" :md="9" :sm="24">
|
<a-col :xl="7" :lg="8" :md="9" :sm="24">
|
||||||
<a-form-item label="来款状态" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="来款状态" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-radio-group v-model="queryParam.chargeStatus" :options="incomePaymentsStatus" />
|
<a-radio-group v-model="queryParam.chargeStatus" :options="incomePaymentsStatus"/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :xl="4" :lg="7" :md="8" :sm="24">
|
<a-col :xl="4" :lg="7" :md="8" :sm="24">
|
||||||
@@ -65,7 +65,8 @@
|
|||||||
<!-- 操作按钮区域-->
|
<!-- 操作按钮区域-->
|
||||||
<div class="table-operator">
|
<div class="table-operator">
|
||||||
<a-button type="primary" icon="plus" @click="handleAdd" v-has="'revenueContract:add'">新增</a-button>
|
<a-button type="primary" icon="plus" @click="handleAdd" v-has="'revenueContract:add'">新增</a-button>
|
||||||
<a-button type="primary" icon="export" @click="handleExportXls('收入合同')" v-has="'revenueContract:export'">导出</a-button>
|
<a-button type="primary" icon="export" @click="handleExportXls('收入合同')" v-has="'revenueContract:export'">导出
|
||||||
|
</a-button>
|
||||||
<a-button type="danger" icon="delete" @click="batchDel" v-has="'revenueContract:batchDel'">批量删除</a-button>
|
<a-button type="danger" icon="delete" @click="batchDel" v-has="'revenueContract:batchDel'">批量删除</a-button>
|
||||||
</div>
|
</div>
|
||||||
<!-- 操作按钮区域-end-->
|
<!-- 操作按钮区域-end-->
|
||||||
@@ -108,12 +109,12 @@
|
|||||||
|
|
||||||
<span slot="action" class="action-span-cell" slot-scope="text, record">
|
<span slot="action" class="action-span-cell" slot-scope="text, record">
|
||||||
<a @click="handleAudit(record.id)" v-if="record.status === 2" v-has="'revenueContract:aduit'">审核</a>
|
<a @click="handleAudit(record.id)" v-if="record.status === 2" v-has="'revenueContract:aduit'">审核</a>
|
||||||
<!-- v-has="'revenueContract:edit'"-->
|
|
||||||
<a @click="handleEdit(record.id, record.contractNum)"
|
<a @click="handleEdit(record.id, record.contractNum)"
|
||||||
v-if="record.status === 1 || record.status === 4">编辑</a>
|
v-if="record.status === 1 || record.status === 4" v-has="'revenueContract:edit'">编辑</a>
|
||||||
<a @click="handleArchive(record.id)" v-if="record.status === 3" v-has="'revenueContract:archive'">存档</a>
|
<a @click="handleArchive(record.id)" v-if="record.status === 3" v-has="'revenueContract:archive'">存档</a>
|
||||||
<a @click="handleDelete(record.id)"
|
<a @click="handleDelete(record.id)"
|
||||||
v-if="record.status === 1 || record.status === 2 || record.status === 4" v-has="'revenueContract:delete'">删除</a>
|
v-if="record.status === 1 || record.status === 2 || record.status === 4"
|
||||||
|
v-has="'revenueContract:delete'">删除</a>
|
||||||
<a :disabled="true" v-if="record.status === 5">已存档</a>
|
<a :disabled="true" v-if="record.status === 5">已存档</a>
|
||||||
</span>
|
</span>
|
||||||
</a-table>
|
</a-table>
|
||||||
|
|||||||
+31
-25
@@ -5,32 +5,37 @@
|
|||||||
:visible="visible"
|
:visible="visible"
|
||||||
:confirmLoading="confirmLoading"
|
:confirmLoading="confirmLoading"
|
||||||
switchFullscreen
|
switchFullscreen
|
||||||
@ok="handleOk"
|
|
||||||
@cancel="handleCancel"
|
|
||||||
cancelText="关闭">
|
cancelText="关闭">
|
||||||
<a-form :form="form">
|
<a-spin :spinning="confirmLoading">
|
||||||
<a-form-item label="审核人" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form :form="form">
|
||||||
<a-input placeholder="请输入审核人"
|
<a-form-item label="审核人" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
v-decorator="['userName',validatorRules.userName]"
|
<a-input placeholder="请输入审核人"
|
||||||
:maxLength='50'
|
v-decorator="['userName',validatorRules.userName]"
|
||||||
:disabled="true"
|
:maxLength='50'
|
||||||
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
|
:disabled="true"
|
||||||
</a-form-item>
|
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
|
||||||
<a-form-item label="审核" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
</a-form-item>
|
||||||
<a-radio-group v-decorator="['contractStatus', validatorRules.contractStatus]" @change="contractAuditStatuChange">
|
<a-form-item label="审核" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-radio :value="3">通过</a-radio>
|
<a-radio-group v-decorator="['contractStatus', validatorRules.contractStatus]"
|
||||||
<a-radio :value="4">拒绝</a-radio>
|
@change="contractAuditStatuChange">
|
||||||
</a-radio-group>
|
<a-radio :value="3">通过</a-radio>
|
||||||
</a-form-item>
|
<a-radio :value="4">拒绝</a-radio>
|
||||||
<a-form-item label="拒绝说明" :labelCol="labelCol" :wrapperCol="wrapperCol" v-if="showExplainRemarks">
|
</a-radio-group>
|
||||||
<a-textarea
|
</a-form-item>
|
||||||
placeholder="请输入拒绝说明"
|
<a-form-item label="拒绝说明" :labelCol="labelCol" :wrapperCol="wrapperCol" v-if="showExplainRemarks">
|
||||||
v-decorator="['explainRemarks', validatorRules.explainRemarks]"
|
<a-textarea
|
||||||
:auto-size="{ minRows: 3, maxRows: 6 }"
|
placeholder="请输入拒绝说明"
|
||||||
:maxLength='200'
|
v-decorator="['explainRemarks', validatorRules.explainRemarks]"
|
||||||
@change="e => {e.target.value = (e.target.value + '').trim()}"/>
|
:auto-size="{ minRows: 3, maxRows: 6 }"
|
||||||
</a-form-item>
|
:maxLength='200'
|
||||||
</a-form>
|
@change="e => {e.target.value = (e.target.value + '').trim()}"/>
|
||||||
|
</a-form-item>
|
||||||
|
</a-form>
|
||||||
|
</a-spin>
|
||||||
|
<template slot="footer">
|
||||||
|
<a-button @click="handleCancel">关闭</a-button>
|
||||||
|
<a-button @click="handleOk" type="primary" v-preventclick :loading="confirmLoading">确定</a-button>
|
||||||
|
</template>
|
||||||
</j-modal>
|
</j-modal>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -81,6 +86,7 @@ export default {
|
|||||||
// 触发表单验证
|
// 触发表单验证
|
||||||
this.form.validateFields((err, values) => {
|
this.form.validateFields((err, values) => {
|
||||||
if (!err) {
|
if (!err) {
|
||||||
|
this.confirmLoading = true
|
||||||
values.contractId = this.contractId
|
values.contractId = this.contractId
|
||||||
const formData = Object.assign(this.model, values)
|
const formData = Object.assign(this.model, values)
|
||||||
console.log('表单提交数据', formData)
|
console.log('表单提交数据', formData)
|
||||||
|
|||||||
@@ -1,191 +1,235 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<page-header-title :is-level-one="false" :img-for-icon="IconImg" level-two-title="收入合同详情"></page-header-title>
|
<page-header-title :is-level-one="false" :img-for-icon="IconImg" level-two-title="收入合同详情"></page-header-title>
|
||||||
<a-card :bordered="false">
|
<a-spin :spinning="loading">
|
||||||
<!-- 主体信息-->
|
<a-card :bordered="false">
|
||||||
<div>
|
<!-- 主体信息-->
|
||||||
<div class="part-title">
|
<div>
|
||||||
<div class="part-title-text">主体信息</div>
|
<div class="part-title">
|
||||||
|
<div class="part-title-text">主体信息</div>
|
||||||
|
</div>
|
||||||
|
<a-row class="detail">
|
||||||
|
<template v-if="mainInfoShowList.length > 0">
|
||||||
|
<a-col :xxl="6" :xl="8" :sm="12" 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">{{ detailData[item.fieldName] }}</a-col>
|
||||||
|
</a-row>
|
||||||
|
</a-col>
|
||||||
|
</template>
|
||||||
|
<a-empty v-else></a-empty>
|
||||||
|
</a-row>
|
||||||
</div>
|
</div>
|
||||||
<a-row class="detail">
|
<a-divider></a-divider>
|
||||||
<template v-if="mainInfoShowList.length > 0">
|
|
||||||
<a-col :xxl="6" :xl="8" :sm="12" class="detail-item" v-for="(item, index) in mainInfoShowList" :key="index">
|
<!-- 日期节点-->
|
||||||
|
<div>
|
||||||
|
<div class="part-title">
|
||||||
|
<div class="part-title-text">日期节点</div>
|
||||||
|
</div>
|
||||||
|
<a-row class="detail">
|
||||||
|
<template v-if="dateNodeShowList.length > 0">
|
||||||
|
<a-col :xxl="6" :xl="8" :sm="12" 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>
|
||||||
|
</a-col>
|
||||||
|
</template>
|
||||||
|
<a-empty v-else></a-empty>
|
||||||
|
</a-row>
|
||||||
|
</div>
|
||||||
|
<a-divider></a-divider>
|
||||||
|
|
||||||
|
<!-- 账款信息-->
|
||||||
|
<div>
|
||||||
|
<div class="part-title">
|
||||||
|
<div class="part-title-text">账款信息</div>
|
||||||
|
</div>
|
||||||
|
<a-row class="detail">
|
||||||
|
<template v-if="accountInfoShowList.length > 0">
|
||||||
|
<a-col :xxl="6" :xl="8" :sm="12" 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>
|
||||||
|
</a-col>
|
||||||
|
</template>
|
||||||
|
<a-empty v-else></a-empty>
|
||||||
|
</a-row>
|
||||||
|
</div>
|
||||||
|
<a-divider></a-divider>
|
||||||
|
|
||||||
|
<!-- 其他信息-->
|
||||||
|
<div>
|
||||||
|
<div class="part-title">
|
||||||
|
<div class="part-title-text">其他信息</div>
|
||||||
|
</div>
|
||||||
|
<a-row class="detail">
|
||||||
|
<template v-if="otherInfoShowList.length > 0">
|
||||||
|
<a-col :xxl="6" :xl="8" :sm="12" class="detail-item" v-for="(item, index) in otherInfoShowList"
|
||||||
|
: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>
|
||||||
|
</a-col>
|
||||||
|
</template>
|
||||||
|
<a-empty v-else></a-empty>
|
||||||
|
</a-row>
|
||||||
|
</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-row>
|
||||||
<a-col :sm="10" :xs="24" class="detail-item-title">{{ item.title }}:</a-col>
|
<a-col :sm="10" :xs="24" class="detail-item-title">{{ index + 1 }}阶段:</a-col>
|
||||||
<a-col :sm="14" :xs="24">{{ detailData[item.fieldName] }}</a-col>
|
<a-col :sm="14" :xs="24">{{ item.phaseName }}</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
</a-col>
|
</a-col>
|
||||||
</template>
|
<a-col :xxl="4" :xl="8" :sm="12" class="detail-item">
|
||||||
<a-empty v-else></a-empty>
|
|
||||||
</a-row>
|
|
||||||
</div>
|
|
||||||
<a-divider></a-divider>
|
|
||||||
|
|
||||||
<!-- 日期节点-->
|
|
||||||
<div>
|
|
||||||
<div class="part-title">
|
|
||||||
<div class="part-title-text">日期节点</div>
|
|
||||||
</div>
|
|
||||||
<a-row class="detail">
|
|
||||||
<template v-if="dateNodeShowList.length > 0">
|
|
||||||
<a-col :xxl="6" :xl="8" :sm="12" class="detail-item" v-for="(item, index) in dateNodeShowList" :key="index">
|
|
||||||
<a-row>
|
<a-row>
|
||||||
<a-col :sm="10" :xs="24" class="detail-item-title">{{ item.title }}:</a-col>
|
<a-col :sm="10" :xs="24" class="detail-item-title">{{ index + 1 }}阶段应收:</a-col>
|
||||||
<a-col :sm="14" :xs="24">{{ detailData[item.fieldName] }}</a-col>
|
<a-col :sm="14" :xs="24">{{ item.accountsReceivableAmount }}</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
</a-col>
|
</a-col>
|
||||||
</template>
|
<a-col :xxl="4" :xl="8" :sm="12" class="detail-item">
|
||||||
<a-empty v-else></a-empty>
|
<a-row>
|
||||||
</a-row>
|
<a-col :sm="10" :xs="24" class="detail-item-title">{{ index + 1 }}阶段应收时间:</a-col>
|
||||||
</div>
|
<a-col :sm="14" :xs="24">{{ item.accountsReceivableTime }}</a-col>
|
||||||
<a-divider></a-divider>
|
</a-row>
|
||||||
|
</a-col>
|
||||||
<!-- 账款信息-->
|
<a-col :xxl="4" :xl="8" :sm="12" class="detail-item">
|
||||||
<div>
|
<a-row>
|
||||||
<div class="part-title">
|
<a-col :sm="10" :xs="24" class="detail-item-title">{{ index + 1 }}阶段实收:</a-col>
|
||||||
<div class="part-title-text">账款信息</div>
|
<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>
|
</div>
|
||||||
<a-row class="detail">
|
<a-divider></a-divider>
|
||||||
<template v-if="accountInfoShowList.length > 0">
|
|
||||||
<a-col :xxl="6" :xl="8" :sm="12" class="detail-item" v-for="(item, index) in accountInfoShowList"
|
<!-- 关联项目-->
|
||||||
|
<div>
|
||||||
|
<div class="part-title">
|
||||||
|
<div class="part-title-text">关联项目</div>
|
||||||
|
</div>
|
||||||
|
<associated-project ref="associatedProject" :contract-id="$route.query.revenueId"
|
||||||
|
:can-operate="false"></associated-project>
|
||||||
|
</div>
|
||||||
|
<a-divider></a-divider>
|
||||||
|
|
||||||
|
<!-- 存档信息-->
|
||||||
|
<div>
|
||||||
|
<div class="part-title">
|
||||||
|
<div class="part-title-text">存档信息</div>
|
||||||
|
</div>
|
||||||
|
<div class="detail">
|
||||||
|
<template v-if="detailData.listArchive && detailData.listArchive.length > 0">
|
||||||
|
<div class="detail-item" v-for="(item, index) in detailData.listArchive"
|
||||||
:key="index">
|
:key="index">
|
||||||
<a-row>
|
<a-row>
|
||||||
<a-col :sm="10" :xs="24" class="detail-item-title">{{ item.title }}:</a-col>
|
<a-col :sm="6" :xs="24">{{ item.createBy }}</a-col>
|
||||||
<a-col :sm="14" :xs="24">{{ detailData[item.fieldName] }}</a-col>
|
<a-col :sm="6" :xs="24">{{ item.createTime }}</a-col>
|
||||||
</a-row>
|
<a-col :sm="6" :xs="24">{{ item.contractStatus_dictText }}</a-col>
|
||||||
</a-col>
|
</a-row>
|
||||||
</template>
|
</div>
|
||||||
<a-empty v-else></a-empty>
|
</template>
|
||||||
</a-row>
|
<a-empty v-else></a-empty>
|
||||||
</div>
|
</div>
|
||||||
<a-divider></a-divider>
|
|
||||||
|
|
||||||
<!-- 其他信息-->
|
|
||||||
<div>
|
|
||||||
<div class="part-title">
|
|
||||||
<div class="part-title-text">其他信息</div>
|
|
||||||
</div>
|
</div>
|
||||||
<a-row class="detail">
|
<a-divider></a-divider>
|
||||||
<template v-if="otherInfoShowList.length > 0">
|
|
||||||
<a-col :xxl="6" :xl="8" :sm="12" class="detail-item" v-for="(item, index) in otherInfoShowList"
|
<!-- 审核记录-->
|
||||||
|
<div>
|
||||||
|
<div class="part-title">
|
||||||
|
<div class="part-title-text">审核记录</div>
|
||||||
|
</div>
|
||||||
|
<div class="detail">
|
||||||
|
<template v-if="detailData.listAudit && detailData.listAudit.length > 0">
|
||||||
|
<div class="detail-item" v-for="(item, index) in detailData.listAudit"
|
||||||
:key="index">
|
:key="index">
|
||||||
<a-row>
|
<a-row>
|
||||||
<a-col :sm="10" :xs="24" class="detail-item-title">{{ item.title }}:</a-col>
|
<a-col :sm="6" :xs="24">{{ item.createBy }}</a-col>
|
||||||
<a-col :sm="14" :xs="24">{{ detailData[item.fieldName] }}</a-col>
|
<a-col :sm="6" :xs="24">{{ item.createTime }}</a-col>
|
||||||
</a-row>
|
<a-col :sm="6" :xs="24">{{ item.contractStatus_dictText }}</a-col>
|
||||||
</a-col>
|
<a-col :sm="6" :xs="24">{{ item.explainRemarks }}</a-col>
|
||||||
</template>
|
</a-row>
|
||||||
<a-empty v-else></a-empty>
|
</div>
|
||||||
</a-row>
|
</template>
|
||||||
</div>
|
<a-empty v-else></a-empty>
|
||||||
<a-divider></a-divider>
|
</div>
|
||||||
|
|
||||||
<!-- 分期信息-->
|
|
||||||
<div>
|
|
||||||
<div class="part-title">
|
|
||||||
<div class="part-title-text">分期信息</div>
|
|
||||||
</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>
|
<template v-if="detailData.status < 5">
|
||||||
<div class="part-title">
|
<a-divider></a-divider>
|
||||||
<div class="part-title-text">关联项目</div>
|
<!-- 编辑、审核、存档-->
|
||||||
</div>
|
<div>
|
||||||
<associated-project ref="associatedProject" :contract-id="$route.query.revenueId" :can-operate="false"></associated-project>
|
<div class="part-title">
|
||||||
</div>
|
<div class="part-title-text">操作</div>
|
||||||
<a-divider></a-divider>
|
|
||||||
|
|
||||||
<!-- 存档信息-->
|
|
||||||
<div>
|
|
||||||
<div class="part-title">
|
|
||||||
<div class="part-title-text">存档信息</div>
|
|
||||||
</div>
|
|
||||||
<div class="detail">
|
|
||||||
<template 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>
|
||||||
</template>
|
<div class="operator-btn">
|
||||||
<a-empty v-else></a-empty>
|
<a-button
|
||||||
</div>
|
type="primary"
|
||||||
</div>
|
@click="handleEdit(detailData.id, detailData.contractNum)"
|
||||||
<a-divider></a-divider>
|
v-if="detailData.status === 1 || detailData.status === 4"
|
||||||
|
v-has="'revenueContract:edit'">
|
||||||
<!-- 审核记录-->
|
编辑
|
||||||
<div>
|
</a-button>
|
||||||
<div class="part-title">
|
<a-button
|
||||||
<div class="part-title-text">审核记录</div>
|
type="primary"
|
||||||
</div>
|
@click="handleAudit(detailData.id)"
|
||||||
<div class="detail">
|
v-if="detailData.status === 2"
|
||||||
<template v-if="detailData.listAudit && detailData.listAudit.length > 0">
|
v-has="'revenueContract:aduit'">
|
||||||
<div class="detail-item" v-for="(item, index) in detailData.listAudit"
|
审核
|
||||||
:key="index">
|
</a-button>
|
||||||
<a-row>
|
<a-button
|
||||||
<a-col :sm="6" :xs="24">{{ item.createBy }}</a-col>
|
type="primary"
|
||||||
<a-col :sm="6" :xs="24">{{ item.createTime }}</a-col>
|
@click="handleArchive(detailData.id)"
|
||||||
<a-col :sm="6" :xs="24">{{ item.contractStatus_dictText }}</a-col>
|
v-if="detailData.status === 3"
|
||||||
<a-col :sm="6" :xs="24">{{ item.explainRemarks }}</a-col>
|
v-has="'revenueContract:archive'">
|
||||||
</a-row>
|
存档
|
||||||
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</div>
|
||||||
<a-empty v-else></a-empty>
|
</template>
|
||||||
</div>
|
|
||||||
</div>
|
</a-card>
|
||||||
</a-card>
|
</a-spin>
|
||||||
|
|
||||||
|
<revenue-contract-aduit-module ref="aduitForm" @ok="operatorOk"></revenue-contract-aduit-module>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import IconImg from '@/assets/imgs/icon/icon_revenue_contract.png'
|
import IconImg from '@/assets/imgs/icon/icon_revenue_contract.png'
|
||||||
import PageHeaderTitle from '@/components/layouts/PageHeaderTitle'
|
import PageHeaderTitle from '@/components/layouts/PageHeaderTitle'
|
||||||
import { getRevenueContractById } from '../../../../api/incomePaymentsApi'
|
import { archiveRevenueContract, getRevenueContractById } from '../../../../api/incomePaymentsApi'
|
||||||
import AssociatedProject from './AssociatedProject'
|
import AssociatedProject from './AssociatedProject'
|
||||||
|
import RevenueContractAduitModule from './RevenueContractAduitModule'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'RevenueContractDetail',
|
name: 'RevenueContractDetail',
|
||||||
components: { PageHeaderTitle, AssociatedProject },
|
components: { PageHeaderTitle, AssociatedProject, RevenueContractAduitModule },
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
IconImg,
|
IconImg,
|
||||||
|
loading: false,
|
||||||
detailData: {},
|
detailData: {},
|
||||||
// 主体信息
|
// 主体信息
|
||||||
mainInfoList: [
|
mainInfoList: [
|
||||||
@@ -290,13 +334,71 @@ export default {
|
|||||||
this.$refs.associatedProject.loadAssociatedProject()
|
this.$refs.associatedProject.loadAssociatedProject()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
initDetailData(id) {
|
initDetailData() {
|
||||||
|
this.loading = true
|
||||||
let param = {
|
let param = {
|
||||||
id: id
|
id: this.$route.query.revenueId
|
||||||
}
|
}
|
||||||
getRevenueContractById(param).then(res => {
|
getRevenueContractById(param).then(res => {
|
||||||
this.detailData = res.result
|
this.detailData = res.result
|
||||||
this.detailData.pack = this.detailData.pack === 1 ? '是' : this.detailData.pack === 0 ? '否' : ''
|
this.detailData.pack = this.detailData.pack === 1 ? '是' : this.detailData.pack === 0 ? '否' : ''
|
||||||
|
}).finally(() => {
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
|
},
|
||||||
|
operatorOk() {
|
||||||
|
this.initDetailData()
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 编辑
|
||||||
|
* @param id
|
||||||
|
* @param contractNum
|
||||||
|
*/
|
||||||
|
handleEdit(id, contractNum) {
|
||||||
|
this.$router.push({
|
||||||
|
path: '/contractManagement/AddRevenueContract',
|
||||||
|
query: {
|
||||||
|
revenueId: id,
|
||||||
|
contractNum: contractNum
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 审核
|
||||||
|
* @param id
|
||||||
|
*/
|
||||||
|
handleAudit(id) {
|
||||||
|
this.$refs.aduitForm.contractId = id
|
||||||
|
this.$refs.aduitForm.open()
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 存档
|
||||||
|
* @param id
|
||||||
|
*/
|
||||||
|
handleArchive(id) {
|
||||||
|
console.log(id)
|
||||||
|
let that = this
|
||||||
|
this.$confirm({
|
||||||
|
title: '存档',
|
||||||
|
content: '确认存档?',
|
||||||
|
onOk: function () {
|
||||||
|
that.loading = true
|
||||||
|
that.loading = false
|
||||||
|
let param = {
|
||||||
|
contractId: id,
|
||||||
|
contractStatus: 5
|
||||||
|
}
|
||||||
|
archiveRevenueContract(param).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
that.$message.success(res.message)
|
||||||
|
that.initDetailData()
|
||||||
|
} else {
|
||||||
|
that.$message.warning(res.message)
|
||||||
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
that.loading = false
|
||||||
|
})
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -323,4 +425,12 @@ export default {
|
|||||||
.ant-divider-horizontal {
|
.ant-divider-horizontal {
|
||||||
margin: 20px 0;
|
margin: 20px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.operator-btn {
|
||||||
|
margin-top: 10px;
|
||||||
|
|
||||||
|
button {
|
||||||
|
margin-right: 8px;
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
@@ -128,11 +128,10 @@
|
|||||||
</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">
|
||||||
<j-date placeholder="请选择合同约定主要时点"
|
<a-input placeholder="请输入合同约定主要时点"
|
||||||
style="width: 100%;"
|
v-decorator="['contractTimePoints']"
|
||||||
v-decorator="['contractTimePoints']"
|
:maxLength='50'
|
||||||
:trigger-change="true"
|
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
|
||||||
date-format="YYYY-MM-DD"/>
|
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
@@ -666,13 +665,13 @@ export default {
|
|||||||
this.model.outstandingAmount = Number(this.accountsReceivableNum) - Number(this.amountReceivedNum)
|
this.model.outstandingAmount = Number(this.accountsReceivableNum) - Number(this.amountReceivedNum)
|
||||||
this.model.outstandingAmount = this.model.outstandingAmount.toFixed(2)
|
this.model.outstandingAmount = this.model.outstandingAmount.toFixed(2)
|
||||||
// 未收金额 === 0,已付全款状态
|
// 未收金额 === 0,已付全款状态
|
||||||
if (this.model.outstandingAmount <= 0) {
|
if (Number(this.model.outstandingAmount) === 0) {
|
||||||
this.model.accountStatus = '3'
|
this.model.accountStatus = '3'
|
||||||
// 未收金额 > 0 且 未收金额 < 应收金额,部分付款状态
|
// 未收金额 > 0 且 未收金额 < 应收金额,部分付款状态
|
||||||
} else if (this.model.outstandingAmount > 0 && this.model.outstandingAmount < Number(this.accountsReceivableNum)) {
|
} else if (Number(this.model.outstandingAmount) > 0 && Number(this.model.outstandingAmount) < Number(this.accountsReceivableNum)) {
|
||||||
this.model.accountStatus = '2'
|
this.model.accountStatus = '2'
|
||||||
// 未收金额 === 应收金额,未付款状态
|
// 未收金额 === 应收金额,未付款状态
|
||||||
} else if (this.model.outstandingAmount === Number(this.accountsReceivableNum)) {
|
} else if (Number(this.model.outstandingAmount) === Number(this.accountsReceivableNum)) {
|
||||||
this.model.accountStatus = '1'
|
this.model.accountStatus = '1'
|
||||||
}
|
}
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
|
|||||||
@@ -255,6 +255,8 @@ export default {
|
|||||||
this.contranctInfo =Object.assign({},record)
|
this.contranctInfo =Object.assign({},record)
|
||||||
console.log(record,'meetingPerson')
|
console.log(record,'meetingPerson')
|
||||||
this.filters.companyId = record.signedCompanyId
|
this.filters.companyId = record.signedCompanyId
|
||||||
|
// 列表查询加入打包年份
|
||||||
|
this.filters.packYear = record.packYear
|
||||||
//记录合同id
|
//记录合同id
|
||||||
this.contractId = this.contranctInfo.id
|
this.contractId = this.contranctInfo.id
|
||||||
// 记录打包状态
|
// 记录打包状态
|
||||||
|
|||||||
@@ -492,6 +492,8 @@ export default {
|
|||||||
this.title = '编辑会议'
|
this.title = '编辑会议'
|
||||||
// 修改会议类型 控制dom显示 编辑取接口查到的会议类型
|
// 修改会议类型 控制dom显示 编辑取接口查到的会议类型
|
||||||
this.meetingType = record.meetingType + ''
|
this.meetingType = record.meetingType + ''
|
||||||
|
// 编辑根据接口返回的会议类型获取不同的会议url
|
||||||
|
this.url = this.createUrlByMeetingType(this.meetingType)
|
||||||
} else {
|
} else {
|
||||||
this.title = '新增会议'
|
this.title = '新增会议'
|
||||||
// 如果是标协会会议需要显示酒店联系人
|
// 如果是标协会会议需要显示酒店联系人
|
||||||
@@ -503,6 +505,8 @@ export default {
|
|||||||
}
|
}
|
||||||
// 新增取路由参数
|
// 新增取路由参数
|
||||||
this.meetingType = this.$route.query.meetingType
|
this.meetingType = this.$route.query.meetingType
|
||||||
|
// 新增根据路由参数 会议类型更换不同的接口
|
||||||
|
this.url = this.createUrlByMeetingType(this.meetingType)
|
||||||
}
|
}
|
||||||
console.log(this.model)
|
console.log(this.model)
|
||||||
// 召开时间回显
|
// 召开时间回显
|
||||||
@@ -696,6 +700,38 @@ export default {
|
|||||||
this.newSignInTime = dateString
|
this.newSignInTime = dateString
|
||||||
},
|
},
|
||||||
/*
|
/*
|
||||||
|
* 根据会议类型返回不同的会议新增与编辑接口
|
||||||
|
* */
|
||||||
|
createUrlByMeetingType(meetingType){
|
||||||
|
switch (String(meetingType)){
|
||||||
|
// 工作组会议
|
||||||
|
case '1':return {
|
||||||
|
add:'/meeting/workGroupMeeting/add',
|
||||||
|
edit:'/meeting/workGroupMeeting/edit'
|
||||||
|
}
|
||||||
|
// 标协会议
|
||||||
|
case '2':return {
|
||||||
|
add:'/meeting/standardsMeeting/add',
|
||||||
|
edit:'/meeting/standardsMeeting/edit'
|
||||||
|
}
|
||||||
|
// 国际研讨会
|
||||||
|
case '3':return {
|
||||||
|
add:'/meeting/internalMeeting/add',
|
||||||
|
edit:'/meeting/internalMeeting/edit'
|
||||||
|
}
|
||||||
|
// 其他会议
|
||||||
|
case '4':return {
|
||||||
|
add:'/meeting/otherMeeting/add',
|
||||||
|
edit:'/meeting/otherMeeting/edit'
|
||||||
|
}
|
||||||
|
// 分标委会议
|
||||||
|
case '5':return {
|
||||||
|
add:'/meeting/committeeMeeting/add',
|
||||||
|
edit:'/meeting/committeeMeeting/edit'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/*
|
||||||
* 校验邀请码
|
* 校验邀请码
|
||||||
* */
|
* */
|
||||||
validateCode(rule, value, callback) {
|
validateCode(rule, value, callback) {
|
||||||
|
|||||||
@@ -160,7 +160,7 @@
|
|||||||
</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 style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||||
<a-button type="primary" @click="searchQuery" icon="search" v-has="'attendance:search'">查询</a-button>
|
<a-button type="primary" @click="searchQuery" icon="search" v-has:[authorCode.search]="'attendance:search'">查询</a-button>
|
||||||
<a-button @click="searchReset" icon="reload" class="reset-button" style="margin-left: 8px">重置</a-button>
|
<a-button @click="searchReset" icon="reload" class="reset-button" style="margin-left: 8px">重置</a-button>
|
||||||
</span>
|
</span>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -173,16 +173,16 @@
|
|||||||
<div class="table-operator">
|
<div class="table-operator">
|
||||||
<!-- 变更去掉了此功能 暂时注释 2021-09-16 -->
|
<!-- 变更去掉了此功能 暂时注释 2021-09-16 -->
|
||||||
<!-- <a-button type="primary" icon="import" @click="importParticipant">导入参会人</a-button>-->
|
<!-- <a-button type="primary" icon="import" @click="importParticipant">导入参会人</a-button>-->
|
||||||
<a-button type="primary" icon="plus" @click="addParticipant" v-has:[addPerson]="'attendance:add'">添加参会人</a-button>
|
<a-button type="primary" icon="plus" @click="addParticipant" v-has:[authorCode.add]="'attendance:add'">添加参会人</a-button>
|
||||||
<a-button type="primary" icon="download" @click="handleExportXls('会员项目')" v-has:[addPerson]="'attendance:export'">导出
|
<a-button type="primary" icon="download" @click="handleExportXls('会员项目')" v-has:[authorCode.export]="'attendance:export'">导出
|
||||||
</a-button>
|
</a-button>
|
||||||
<a-button type="danger" icon="delete" @click="batchDel" v-has="'attendance:batchDel'">批量删除</a-button>
|
<a-button type="danger" icon="delete" @click="batchDel" v-has:[authorCode.batchDel]="'attendance:batchDel'">批量删除</a-button>
|
||||||
<!--当会议费用为0不需要合并开票 -->
|
<!--当会议费用为0不需要合并开票 -->
|
||||||
<!-- 变更将此功能添加到到账开票了 暂时注释 2021-09-16 -->
|
<!-- 变更将此功能添加到到账开票了 暂时注释 2021-09-16 -->
|
||||||
<!-- <a-button type="primary" @click="batchInvoice" v-show="currentMeetingInfo.meetingCosts !== 0">合并开票</a-button>-->
|
<!-- <a-button type="primary" @click="batchInvoice" v-show="currentMeetingInfo.meetingCosts !== 0">合并开票</a-button>-->
|
||||||
<!--只有国际研讨会才会有设置对接人-->
|
<!--只有国际研讨会才会有设置对接人-->
|
||||||
<a-button type="primary" @click="batchSetDocker" v-if="currentMeetingInfo.meetingType === '3' "
|
<a-button type="primary" @click="batchSetDocker" v-if="currentMeetingInfo.meetingType === '3' "
|
||||||
v-has="'attendance:batchSetDocker'">设置对接人
|
v-has="'internalMeetingSituation:batchSetDocker'">设置对接人
|
||||||
</a-button>
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -242,14 +242,14 @@
|
|||||||
<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.paymentRecord"
|
<a @click="handleAudit(record)" v-if="record.payMode === 1 && record.paymentRecord"
|
||||||
v-has="'attendance:auditCredentials'">审核凭证</a>
|
v-has:[authorCode.auditRecord]="'attendance:auditCredentials'">审核凭证</a>
|
||||||
<!-- 只有工作组会议与分标委会议才有审核报名信息-->
|
<!-- 只有工作组会议与分标委会议才有审核报名信息-->
|
||||||
<a @click="handleAuditSignUp(record)"
|
<a @click="handleAuditSignUp(record)"
|
||||||
v-show="(currentMeetingInfo.meetingType === '1' || currentMeetingInfo.meetingType === '5') && record.registerCheckResult !== 1 "
|
v-show="(currentMeetingInfo.meetingType === '1' || currentMeetingInfo.meetingType === '5') && record.registerCheckResult !== 1 "
|
||||||
v-has="'attendance:auditSignUp'">审核报名信息</a>
|
v-has:[authorCode.auditSignUpInfo]="'attendance:auditSignUp'">审核报名信息</a>
|
||||||
<a @click="handleEdit(record)" v-has="'attendance:edit'">编辑</a>
|
<a @click="handleEdit(record)" v-has:[authorCode.edit]="'attendance:edit'">编辑</a>
|
||||||
<!--删除参会人需要判断改参会人是否与合同关联-->
|
<!--删除参会人需要判断改参会人是否与合同关联-->
|
||||||
<a @click="handleDelete(record.id)" v-has="'attendance:delete'">删除</a>
|
<a @click="handleDelete(record.id)" v-has:[authorCode.delete]="'attendance:delete'">删除</a>
|
||||||
</span>
|
</span>
|
||||||
</a-table>
|
</a-table>
|
||||||
</div>
|
</div>
|
||||||
@@ -400,14 +400,112 @@ export default {
|
|||||||
scopedSlots: {customRender: 'action'}
|
scopedSlots: {customRender: 'action'}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
// 权限编码
|
||||||
|
authorCode:{
|
||||||
|
|
||||||
|
},
|
||||||
|
// 其他会议的参会情况的权限编码
|
||||||
|
otherMeetingCode:{
|
||||||
|
search:'otherMeetingSituation:search',
|
||||||
|
add:'otherMeetingSituation:add',
|
||||||
|
export:'otherMeetingSituation:export',
|
||||||
|
batchDel:'otherMeetingSituation:batchDel',
|
||||||
|
edit:'otherMeetingSituation:edit',
|
||||||
|
delete:'otherMeetingSituation:delete',
|
||||||
|
auditRecord:'otherMeetingSituation:auditCredentials',
|
||||||
|
auditSignUpInfo:'otherMeetingSituation:auditSignUp'
|
||||||
|
},
|
||||||
|
// 分标委会议的参会情况权限编码
|
||||||
|
committeeMeetingCode:{
|
||||||
|
search:'committeeMeetingSituation:search',
|
||||||
|
add:'committeeMeetingSituation:add',
|
||||||
|
export:'committeeMeetingSituation:export',
|
||||||
|
batchDel:'committeeMeetingSituation:batchDel',
|
||||||
|
edit:'committeeMeetingSituation:edit',
|
||||||
|
delete:'committeeMeetingSituation:delete',
|
||||||
|
auditRecord:'committeeMeetingSituation:auditCredentials',
|
||||||
|
auditSignUpInfo:'committeeMeetingSituation:auditSignUp'
|
||||||
|
},
|
||||||
|
// 工作组会议的参会情况的权限编码
|
||||||
|
workGroupMeetingCode:{
|
||||||
|
search:'workGroupMeetingSituation:search',
|
||||||
|
add:'workGroupMeetingSituation:add',
|
||||||
|
export:'workGroupMeetingSituation:export',
|
||||||
|
batchDel:'workGroupMeetingSituation:batchDel',
|
||||||
|
edit:'workGroupMeetingSituation:edit',
|
||||||
|
delete:'workGroupMeetingSituationS:delete',
|
||||||
|
auditRecord:'workGroupMeetingSituation:auditCredentials',
|
||||||
|
auditSignUpInfo:'workGroupMeetingSituation:auditSignUp'
|
||||||
|
},
|
||||||
|
// 国际研讨会的参会情况的权限编码
|
||||||
|
internalMeetingCode:{
|
||||||
|
search:'internalMeetingSituation:search',
|
||||||
|
add:'internalMeetingSituation:add',
|
||||||
|
export:'internalMeetingSituation:export',
|
||||||
|
batchDel:'internalMeetingSituation:batchDel',
|
||||||
|
edit:'internalMeetingSituation:edit',
|
||||||
|
delete:'internalMeetingSituation:delete',
|
||||||
|
auditRecord:'internalMeetingSituation:auditCredentials',
|
||||||
|
auditSignUpInfo:'internalMeetingSituation:auditSignUp',
|
||||||
|
},
|
||||||
|
// 标协会议的参会情况的权限编码
|
||||||
|
standardsMeetingCode:{
|
||||||
|
search:'standardsMeetingSituation:search',
|
||||||
|
add:'standardsMeetingSituation:add',
|
||||||
|
export:'standardsMeetingSituation:export',
|
||||||
|
batchDel:'standardsMeetingSituation:batchDel',
|
||||||
|
edit:'standardsMeetingSituation:edit',
|
||||||
|
delete:'standardsMeetingSituation:delete',
|
||||||
|
auditRecord:'standardsMeetingSituation:auditCredentials',
|
||||||
|
auditSignUpInfo:'standardsMeetingSituation:auditSignUp'
|
||||||
|
},
|
||||||
disableMixinCreated: true,
|
disableMixinCreated: true,
|
||||||
addPerson:'addPerson12',
|
// url: {
|
||||||
url: {
|
// list: '/meeting/payMeetingSituation/page',
|
||||||
list: '/meeting/payMeetingSituation/page',
|
// delete: '/meeting/payMeetingSituation/delete',
|
||||||
delete: '/meeting/payMeetingSituation/delete',
|
// deleteBatch: '/meeting/payMeetingSituation/deleteBatch',
|
||||||
deleteBatch: '/meeting/payMeetingSituation/deleteBatch',
|
// exportXlsUrl: '/meeting/payMeetingSituation/exportXls',
|
||||||
exportXlsUrl: '/meeting/payMeetingSituation/exportXls',
|
// importExcelUrl: '/meeting/payMeetingSituation/importExcel'
|
||||||
importExcelUrl: '/meeting/payMeetingSituation/importExcel'
|
// },
|
||||||
|
// 其他会议的url
|
||||||
|
otherMeetingUrl:{
|
||||||
|
list: '/meeting/ohterMeetingSituation/page',
|
||||||
|
delete: '/meeting/ohterMeetingSituation/delete',
|
||||||
|
deleteBatch: '/meeting/ohterMeetingSituation/deleteBatch',
|
||||||
|
exportXlsUrl: '/meeting/ohterMeetingSituation/exportXls',
|
||||||
|
importExcelUrl: '/meeting/ohterMeetingSituation/importExcel'
|
||||||
|
},
|
||||||
|
// 分标委会议的url
|
||||||
|
committeeMeetingUrl:{
|
||||||
|
list: '/meeting/committeeMeetingSituation/page',
|
||||||
|
delete: '/meeting/committeeMeetingSituation/delete',
|
||||||
|
deleteBatch: '/meeting/committeeMeetingSituation/deleteBatch',
|
||||||
|
exportXlsUrl: '/meeting/committeeMeetingSituation/exportXls',
|
||||||
|
importExcelUrl: '/meeting/committeeMeetingSituation/importExcel'
|
||||||
|
},
|
||||||
|
// 国际研讨会的url
|
||||||
|
internalMeetingUrl:{
|
||||||
|
list: '/meeting/internalMeetingSituation/page',
|
||||||
|
delete: '/meeting/internalMeetingSituation/delete',
|
||||||
|
deleteBatch: '/meeting/internalMeetingSituation/deleteBatch',
|
||||||
|
exportXlsUrl: '/meeting/internalMeetingSituation/exportXls',
|
||||||
|
importExcelUrl: '/meeting/internalMeetingSituation/importExcel'
|
||||||
|
},
|
||||||
|
// 标协会议的url
|
||||||
|
standardsMeetingUrl:{
|
||||||
|
list: '/meeting/standardsMeetingSituation/page',
|
||||||
|
delete: '/meeting/standardsMeetingSituation/delete',
|
||||||
|
deleteBatch: '/meeting/standardsMeetingSituation/deleteBatch',
|
||||||
|
exportXlsUrl: '/meeting/standardsMeetingSituation/exportXls',
|
||||||
|
importExcelUrl: '/meeting/standardsMeetingSituation/importExcel'
|
||||||
|
},
|
||||||
|
// 工作组会议的url
|
||||||
|
workGroupMeetingUrl:{
|
||||||
|
list: '/meeting/workGroupMeetingSituation/page',
|
||||||
|
delete: '/meeting/workGroupMeetingSituation/delete',
|
||||||
|
deleteBatch: '/meeting/workGroupMeetingSituation/deleteBatch',
|
||||||
|
exportXlsUrl: '/meeting/workGroupMeetingSituation/exportXls',
|
||||||
|
importExcelUrl: '/meeting/workGroupMeetingSituation/importExcel'
|
||||||
},
|
},
|
||||||
// 当前的会议信息详情
|
// 当前的会议信息详情
|
||||||
currentMeetingInfo: {},
|
currentMeetingInfo: {},
|
||||||
@@ -423,6 +521,8 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
// 为不同会议的参会情况去设置不同的权限编码
|
||||||
|
this.setCodeByMeetingType(this.$route.query.meetingType)
|
||||||
// 获取会议详情
|
// 获取会议详情
|
||||||
const param = {
|
const param = {
|
||||||
id: this.$route.query.id
|
id: this.$route.query.id
|
||||||
@@ -488,6 +588,16 @@ export default {
|
|||||||
return ''
|
return ''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
// eslint-disable-next-line
|
||||||
|
url(){
|
||||||
|
switch (this.$route.query.meetingType){
|
||||||
|
case '1': return this.workGroupMeetingUrl
|
||||||
|
case '2': return this.standardsMeetingUrl
|
||||||
|
case '3': return this.internalMeetingUrl
|
||||||
|
case '4': return this.otherMeetingUrl
|
||||||
|
case '5': return this.committeeMeetingUrl
|
||||||
|
}
|
||||||
|
},
|
||||||
// 报名链接
|
// 报名链接
|
||||||
signUpHerfUrl() {
|
signUpHerfUrl() {
|
||||||
return `${window._CONFIG['singUpQRCodeURL']}?id=${this.$route.query.id}`
|
return `${window._CONFIG['singUpQRCodeURL']}?id=${this.$route.query.id}`
|
||||||
@@ -616,6 +726,8 @@ export default {
|
|||||||
return '国际研讨会'
|
return '国际研讨会'
|
||||||
case '4':
|
case '4':
|
||||||
return '其他会议'
|
return '其他会议'
|
||||||
|
case '5':
|
||||||
|
return '分标委会议'
|
||||||
default:
|
default:
|
||||||
return '其他会议'
|
return '其他会议'
|
||||||
}
|
}
|
||||||
@@ -669,6 +781,19 @@ export default {
|
|||||||
newInput.remove()
|
newInput.remove()
|
||||||
this.$message.success('复制成功')
|
this.$message.success('复制成功')
|
||||||
},
|
},
|
||||||
|
/*
|
||||||
|
* 通过会议类型设置权限编码
|
||||||
|
* type 会议类型
|
||||||
|
* */
|
||||||
|
setCodeByMeetingType(type){
|
||||||
|
switch (type){
|
||||||
|
case '1':this.authorCode = Object.assign({},this.workGroupMeetingCode);break
|
||||||
|
case '2':this.authorCode = Object.assign({},this.standardsMeetingCode);break
|
||||||
|
case '3':this.authorCode = Object.assign({},this.internalMeetingCode);break
|
||||||
|
case '4':this.authorCode = Object.assign({},this.otherMeetingCode);break
|
||||||
|
case '5':this.authorCode = Object.assign({},this.committeeMeetingCode);break
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -156,6 +156,41 @@ export default {
|
|||||||
// 审核报名信息
|
// 审核报名信息
|
||||||
checkSignUp:'/meeting/payMeetingSituation/checkRegister'
|
checkSignUp:'/meeting/payMeetingSituation/checkRegister'
|
||||||
},
|
},
|
||||||
|
// 其他会议url
|
||||||
|
otherMeetingUrl: {
|
||||||
|
// 审核凭证
|
||||||
|
check: '/meeting/ohterMeetingSituation/check',
|
||||||
|
// 审核报名信息
|
||||||
|
checkSignUp:'/meeting/ohterMeetingSituation/checkRegister'
|
||||||
|
},
|
||||||
|
// 工作组会议url
|
||||||
|
workGroupMeetingUrl: {
|
||||||
|
// 审核凭证
|
||||||
|
check: '/meeting/workGroupMeetingSituation/check',
|
||||||
|
// 审核报名信息
|
||||||
|
checkSignUp:'/meeting/workGroupMeetingSituation/checkRegister'
|
||||||
|
},
|
||||||
|
// 分标委会议url
|
||||||
|
committeeMeetingUrl: {
|
||||||
|
// 审核凭证
|
||||||
|
check: '/meeting/committeeMeetingSituation/check',
|
||||||
|
// 审核报名信息
|
||||||
|
checkSignUp:'/meeting/committeeMeetingSituation/checkRegister'
|
||||||
|
},
|
||||||
|
// 国际研讨会url
|
||||||
|
internalMeetingUrl: {
|
||||||
|
// 审核凭证
|
||||||
|
check: '/meeting/internalMeetingSituation/check',
|
||||||
|
// 审核报名信息
|
||||||
|
checkSignUp:'/meeting/internalMeetingSituation/checkRegister'
|
||||||
|
},
|
||||||
|
// 标协会议url
|
||||||
|
standardsMeetingUrl: {
|
||||||
|
// 审核凭证
|
||||||
|
check: '/meeting/standardsMeetingSituation/check',
|
||||||
|
// 审核报名信息
|
||||||
|
checkSignUp:'/meeting/standardsMeetingSituation/checkRegister'
|
||||||
|
},
|
||||||
// 审核结果选择
|
// 审核结果选择
|
||||||
checkBool:false,
|
checkBool:false,
|
||||||
// 是否是审核报名信息
|
// 是否是审核报名信息
|
||||||
@@ -172,6 +207,8 @@ export default {
|
|||||||
this.querySingUpUserInfo()
|
this.querySingUpUserInfo()
|
||||||
// 控制行程信息显示 审核凭证不显示
|
// 控制行程信息显示 审核凭证不显示
|
||||||
this.checkSignBool = signUp || false
|
this.checkSignBool = signUp || false
|
||||||
|
// 会议类型不同 url不同
|
||||||
|
this.url = Object.assign({},this.createUrlByMeetingType(this.$route.query.meetingType))
|
||||||
console.log(record)
|
console.log(record)
|
||||||
},
|
},
|
||||||
close() {
|
close() {
|
||||||
@@ -231,6 +268,18 @@ export default {
|
|||||||
}else if(e.target.value === '0'){
|
}else if(e.target.value === '0'){
|
||||||
this.checkBool = true
|
this.checkBool = true
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
/*
|
||||||
|
* 根据会议类型不同的url
|
||||||
|
* */
|
||||||
|
createUrlByMeetingType(meetingType){
|
||||||
|
switch (meetingType){
|
||||||
|
case '1': return this.workGroupMeetingUrl
|
||||||
|
case '2': return this.standardsMeetingUrl
|
||||||
|
case '3': return this.internalMeetingUrl
|
||||||
|
case '4': return this.otherMeetingUrl
|
||||||
|
case '5': return this.committeeMeetingUrl
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import JUpload from '@comp/jero/JUpload'
|
import JUpload from '@comp/jero/JUpload'
|
||||||
import {uploadMeetingFiles} from '@api/incomeMeetingApi'
|
import {httpAction} from '@api/manage'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'UploadMeetFileModal',
|
name: 'UploadMeetFileModal',
|
||||||
@@ -59,6 +59,7 @@ export default {
|
|||||||
meetingFileIds:'',
|
meetingFileIds:'',
|
||||||
validatorRules: {
|
validatorRules: {
|
||||||
},
|
},
|
||||||
|
url:{}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
@@ -68,6 +69,8 @@ export default {
|
|||||||
edit(record) {
|
edit(record) {
|
||||||
this.form.resetFields()
|
this.form.resetFields()
|
||||||
this.model = Object.assign({},record)
|
this.model = Object.assign({},record)
|
||||||
|
// 根据会议类型返回不同的url
|
||||||
|
this.url = Object.assign({},this.createUrlByMeetingType(record.meetingType +''))
|
||||||
this.meetingId = record.id
|
this.meetingId = record.id
|
||||||
this.visible = true
|
this.visible = true
|
||||||
// 拿到已经上传的会议文件进行回显
|
// 拿到已经上传的会议文件进行回显
|
||||||
@@ -82,6 +85,35 @@ export default {
|
|||||||
this.$emit('close')
|
this.$emit('close')
|
||||||
this.visible = false
|
this.visible = false
|
||||||
},
|
},
|
||||||
|
createUrlByMeetingType(meetingType) {
|
||||||
|
switch (String(meetingType)) {
|
||||||
|
// 工作组会议
|
||||||
|
case '1':
|
||||||
|
return {
|
||||||
|
uploadFile: '/meeting/workGroupMeeting/uploadFile',
|
||||||
|
}
|
||||||
|
// 标协会议
|
||||||
|
case '2':
|
||||||
|
return {
|
||||||
|
uploadFile: '/meeting/standardsMeeting/uploadFile',
|
||||||
|
}
|
||||||
|
// 国际研讨会
|
||||||
|
case '3':
|
||||||
|
return {
|
||||||
|
uploadFile: '/meeting/internalMeeting/uploadFile',
|
||||||
|
}
|
||||||
|
// 其他会议
|
||||||
|
case '4':
|
||||||
|
return {
|
||||||
|
uploadFile: '/meeting/otherMeeting/uploadFile',
|
||||||
|
}
|
||||||
|
// 分标委会议
|
||||||
|
case '5':
|
||||||
|
return {
|
||||||
|
uploadFile: '/meeting/committeeMeeting/uploadFile',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
handleOk() {
|
handleOk() {
|
||||||
const that = this
|
const that = this
|
||||||
// 触发表单验证
|
// 触发表单验证
|
||||||
@@ -91,7 +123,7 @@ export default {
|
|||||||
fileIds:values.fileIds,
|
fileIds:values.fileIds,
|
||||||
id:that.meetingId
|
id:that.meetingId
|
||||||
}
|
}
|
||||||
uploadMeetingFiles(params).then(res => {
|
httpAction(this.url.uploadFile,params,'post').then(res => {
|
||||||
if(res.success){
|
if(res.success){
|
||||||
that.$message.success(res.message)
|
that.$message.success(res.message)
|
||||||
that.$emit('ok')
|
that.$emit('ok')
|
||||||
|
|||||||
@@ -92,6 +92,7 @@ import IconImg from '@/assets/imgs/icon/xin.png'
|
|||||||
import MailContractModal from './modules/MailContractModal'
|
import MailContractModal from './modules/MailContractModal'
|
||||||
import { downloadFile } from '@/api/manage'
|
import { downloadFile } from '@/api/manage'
|
||||||
import SelectPrincipal from '@/components/company/SelectPrincipal'
|
import SelectPrincipal from '@/components/company/SelectPrincipal'
|
||||||
|
import { checkCompanyAduit } from '../../api/incomePaymentsApi'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'ContractMail',
|
name: 'ContractMail',
|
||||||
@@ -203,10 +204,24 @@ export default {
|
|||||||
const com = Number(record.sendMethod) === 1 && 'ems' || 'shunfeng'
|
const com = Number(record.sendMethod) === 1 && 'ems' || 'shunfeng'
|
||||||
window.open(`https://www.kuaidi100.com/chaxun?com=${ com }&nu=${ record.postNo }`)
|
window.open(`https://www.kuaidi100.com/chaxun?com=${ com }&nu=${ record.postNo }`)
|
||||||
},
|
},
|
||||||
handleAdd: function (id) {
|
handleAdd (id) {
|
||||||
this.$refs.modalForm.add(id)
|
let param = {
|
||||||
this.$refs.modalForm.title = '邮寄'
|
id: id
|
||||||
this.$refs.modalForm.disableSubmit = false
|
}
|
||||||
|
checkCompanyAduit(param).then(res => {
|
||||||
|
if (res.success) {
|
||||||
|
// 企业审核未成功不可进行邮寄操作
|
||||||
|
if (res.result.indexOf('审核未成功') === -1) {
|
||||||
|
this.$refs.modalForm.add(id)
|
||||||
|
this.$refs.modalForm.title = '邮寄'
|
||||||
|
this.$refs.modalForm.disableSubmit = false
|
||||||
|
} else {
|
||||||
|
this.$message.warn(res.result)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.$message.warn(res.message)
|
||||||
|
}
|
||||||
|
})
|
||||||
},
|
},
|
||||||
handleEdit: function (record) {
|
handleEdit: function (record) {
|
||||||
this.$refs.modalForm.edit(record)
|
this.$refs.modalForm.edit(record)
|
||||||
|
|||||||
@@ -111,6 +111,12 @@ export default {
|
|||||||
width: 280,
|
width: 280,
|
||||||
dataIndex: 'companyTemporaryName',
|
dataIndex: 'companyTemporaryName',
|
||||||
scopedSlots: { customRender: 'projectName' }
|
scopedSlots: { customRender: 'projectName' }
|
||||||
|
}, {
|
||||||
|
title: '打包年份',
|
||||||
|
align: 'center',
|
||||||
|
width: 140,
|
||||||
|
dataIndex: 'packYear',
|
||||||
|
scopedSlots: { customRender: 'text' }
|
||||||
}, {
|
}, {
|
||||||
title: '企业联系人',
|
title: '企业联系人',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
@@ -135,12 +141,6 @@ export default {
|
|||||||
width: 180,
|
width: 180,
|
||||||
dataIndex: 'receiptExpense',
|
dataIndex: 'receiptExpense',
|
||||||
scopedSlots: { customRender: 'text' }
|
scopedSlots: { customRender: 'text' }
|
||||||
}, {
|
|
||||||
title: '打包年份',
|
|
||||||
align: 'center',
|
|
||||||
width: 140,
|
|
||||||
dataIndex: 'packYear',
|
|
||||||
scopedSlots: { customRender: 'text' }
|
|
||||||
}, {
|
}, {
|
||||||
title: '操作',
|
title: '操作',
|
||||||
dataIndex: 'action',
|
dataIndex: 'action',
|
||||||
|
|||||||
@@ -74,7 +74,7 @@
|
|||||||
<!-- 操作按钮区域-->
|
<!-- 操作按钮区域-->
|
||||||
<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>
|
||||||
<a-button type="primary" icon="export" @click="handleExportXls('工作组会议维护')" v-has:[authorCode.search]="'committeeMeeting:export'">导出</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="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>
|
||||||
@@ -293,6 +293,7 @@ export default {
|
|||||||
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
|
||||||
url() {
|
url() {
|
||||||
let meetingType = this.$route.query.meetingType + ''
|
let meetingType = this.$route.query.meetingType + ''
|
||||||
// 标协会议
|
// 标协会议
|
||||||
@@ -357,11 +358,13 @@ export default {
|
|||||||
* 参会情况
|
* 参会情况
|
||||||
* */
|
* */
|
||||||
toAttendance(record) {
|
toAttendance(record) {
|
||||||
|
const that = this
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
path: '/incomePayments/meetManage/Attendance',
|
path: '/incomePayments/meetManage/Attendance',
|
||||||
query: {
|
query: {
|
||||||
id: record.id,
|
id: record.id,
|
||||||
meetingName: record.meetingName
|
meetingName: record.meetingName,
|
||||||
|
meetingType:that.$route.query.meetingType + ''
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -79,7 +79,7 @@
|
|||||||
<!-- 操作按钮区域-->
|
<!-- 操作按钮区域-->
|
||||||
<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>
|
||||||
<a-button type="primary" icon="export" @click="handleExportXls('工作组会议维护')"
|
<a-button type="primary" icon="export" @click="handleExportXls('工作组会议')"
|
||||||
v-has="'workGroupMeeting:export'">导出
|
v-has="'workGroupMeeting:export'">导出
|
||||||
</a-button>
|
</a-button>
|
||||||
<a-button type="danger" icon="delete" @click="batchDel" v-has="'workGroupMeeting:batchDel'" v-if="canOperate">批量删除</a-button>
|
<a-button type="danger" icon="delete" @click="batchDel" v-has="'workGroupMeeting:batchDel'" v-if="canOperate">批量删除</a-button>
|
||||||
@@ -276,7 +276,8 @@ export default {
|
|||||||
this.$router.push({
|
this.$router.push({
|
||||||
path: '/incomePayments/meetManage/AddOrDetailMeet',
|
path: '/incomePayments/meetManage/AddOrDetailMeet',
|
||||||
query: {
|
query: {
|
||||||
workingGroupProjectId: currentId
|
workingGroupProjectId: currentId,
|
||||||
|
meetingType:'1'
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -330,7 +331,8 @@ export default {
|
|||||||
path: '/incomePayments/meetManage/Attendance',
|
path: '/incomePayments/meetManage/Attendance',
|
||||||
query: {
|
query: {
|
||||||
id: record.id,
|
id: record.id,
|
||||||
meetingName: record.meetingName
|
meetingName: record.meetingName,
|
||||||
|
meetingType:'1'
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -273,7 +273,8 @@ export default {
|
|||||||
path: '/incomePayments/meetManage/Attendance',
|
path: '/incomePayments/meetManage/Attendance',
|
||||||
query: {
|
query: {
|
||||||
id: record.id,
|
id: record.id,
|
||||||
meetingName: record.meetingName
|
meetingName: record.meetingName,
|
||||||
|
meetingType:'3'
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -64,7 +64,7 @@
|
|||||||
<!-- 操作按钮区域 -->
|
<!-- 操作按钮区域 -->
|
||||||
<div class="table-operator">
|
<div class="table-operator">
|
||||||
<a-button @click="handleAdd" type="primary" icon="plus" v-has="'otherMeeting:add'">新增</a-button>
|
<a-button @click="handleAdd" type="primary" icon="plus" v-has="'otherMeeting:add'">新增</a-button>
|
||||||
<a-button type="primary" icon="download" @click="handleExportXls('会议管理')" v-has="'otherMeeting:export'">导出</a-button>
|
<a-button type="primary" icon="download" @click="handleExportXls('其他会议')" v-has="'otherMeeting:export'">导出</a-button>
|
||||||
<a-button type="danger" icon="delete" @click="batchDel" v-has="'otherMeeting:batchDel'">批量删除</a-button>
|
<a-button type="danger" icon="delete" @click="batchDel" v-has="'otherMeeting:batchDel'">批量删除</a-button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -204,10 +204,10 @@ name: 'OtherMeeting',
|
|||||||
},
|
},
|
||||||
url: {
|
url: {
|
||||||
list: '/meeting/otherMeeting/page',
|
list: '/meeting/otherMeeting/page',
|
||||||
delete: '/meeting/otherMeeting/page/delete',
|
delete: '/meeting/otherMeeting/delete',
|
||||||
deleteBatch: '/meeting/otherMeeting/page/deleteBatch',
|
deleteBatch: '/meeting/otherMeeting/deleteBatch',
|
||||||
exportXlsUrl: '/meeting/otherMeeting/page/exportXls',
|
exportXlsUrl: '/meeting/otherMeeting/exportXls',
|
||||||
importExcelUrl: '/meeting/otherMeeting/page/importExcel',
|
importExcelUrl: '/meeting/otherMeeting/importExcel',
|
||||||
},
|
},
|
||||||
disableMixinCreated:true
|
disableMixinCreated:true
|
||||||
}
|
}
|
||||||
@@ -278,7 +278,8 @@ name: 'OtherMeeting',
|
|||||||
path: '/incomePayments/meetManage/Attendance',
|
path: '/incomePayments/meetManage/Attendance',
|
||||||
query: {
|
query: {
|
||||||
id: record.id,
|
id: record.id,
|
||||||
meetingName: record.meetingName
|
meetingName: record.meetingName,
|
||||||
|
meetingType:'4'
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -152,9 +152,7 @@
|
|||||||
<a-row>
|
<a-row>
|
||||||
<a-col :xl="12" :sm="24">
|
<a-col :xl="12" :sm="24">
|
||||||
<a-form-item label="资料" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="资料" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<j-upload file-type="pdf"
|
<j-upload :return-id="true"
|
||||||
file-type-error-message="请pdf文件"
|
|
||||||
:return-id="true"
|
|
||||||
bizPath="payment"
|
bizPath="payment"
|
||||||
v-decorator="['files', validatorRules.files]"
|
v-decorator="['files', validatorRules.files]"
|
||||||
:trigger-change="true"></j-upload>
|
:trigger-change="true"></j-upload>
|
||||||
|
|||||||
Reference in New Issue
Block a user