权限、统计接口、默认密码登录

This commit is contained in:
zhaoxiao
2021-09-23 18:32:01 +08:00
parent de97364b92
commit e13418046b
49 changed files with 989 additions and 530 deletions
+4 -1
View File
@@ -62,6 +62,8 @@ const distributeMemberList = (param) => getAction('/project/payWorkingGroupDistr
const dunningReminder = (param) => postAction('/project/payWorkingGroupSubitem/reminders', param)
// 复制工作组
const copyWorkingGroup = (param) => postAction('/project/payWorkingGroup/copy', param)
// 校验登陆人是否可以操作工作组
const checkoutWorkingGroupPrincipal = (param) => getAction('/project/payWorkingGroup/checkoutOperation', param)
export {
getWorkingGroupById,
@@ -94,5 +96,6 @@ export {
batchDistribute,
distributeMemberList,
dunningReminder,
copyWorkingGroup
copyWorkingGroup,
checkoutWorkingGroupPrincipal
}
+11 -4
View File
@@ -4,7 +4,7 @@
<a-col :span="20">
<a-input @click="chooseBusiness" :value="value[valueKey]" v-bind="$attrs" :readOnly="true"></a-input>
</a-col>
<a-col :span="4" class="form-btn">
<a-col :span="4" class="form-btn" v-if="canAdd">
<a-button icon="plus" @click="addCompany"></a-button>
</a-col>
</a-row>
@@ -38,6 +38,12 @@ export default {
valueKey: {
type: String,
default: 'companyName'
},
// 是否可以新增:true--可以;false--不可以(组件作为查询条件时不可新增)
canAdd: {
type: Boolean,
required: false,
default: true
}
},
methods: {
@@ -75,9 +81,9 @@ export default {
* @param value
*/
addCompanyOk(value) {
let {id, companyName} = value
console.log({id, companyName})
this.$emit('change', {id, companyName})
let { id, companyName } = value
console.log({ id, companyName })
this.$emit('change', { id, companyName })
}
},
//2.2新增 在组件内定义 指定父组件调用时候的传值属性和事件类型
@@ -89,6 +95,7 @@ export default {
</script>
<style scoped>
a-input:hover {
cursor: pointer;
}
+1
View File
@@ -69,6 +69,7 @@ const user = {
Login({ commit }, userInfo) {
return new Promise((resolve, reject) => {
login(userInfo).then(response => {
console.log(response, '================')
if(response.code =='200'){
const result = response.result
const userInfo = result.userInfo
@@ -18,7 +18,7 @@
</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">查询</a-button>
<a-button type="primary" icon="search" @click="searchQuery" v-has="'company:search'">查询</a-button>
<a-button icon="reload" @click="searchReset" class="reset-button">重置</a-button>
</span>
</a-col>
@@ -29,14 +29,14 @@
<!-- 操作按钮区域-->
<div class="table-operator">
<a-button type="primary" icon="plus" @click="handleAdd">新增</a-button>
<a-button type="primary" icon="plus" @click="handleAdd" v-has="'company:add'">新增</a-button>
<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl"
@change="handleImportExcel">
@change="handleImportExcel" v-has="'company:import'">
<a-button type="primary" icon="import">导入</a-button>
</a-upload>
<a-button type="primary" icon="export" @click="handleExportXls('企业管理')">导出</a-button>
<a-button type="primary" icon="download" @click="downTemplate('企业管理导入模板')">下载模板</a-button>
<a-button type="danger" icon="delete" @click="batchDel">批量删除</a-button>
<a-button type="primary" icon="export" @click="handleExportXls('企业管理')" v-has="'company:export'">导出</a-button>
<a-button type="primary" icon="download" @click="downTemplate('企业管理导入模板')" v-has="'company:downTemplate'">下载模板</a-button>
<a-button type="danger" icon="delete" @click="batchDel" v-has="'company:batchDel'">批量删除</a-button>
</div>
<!-- 操作按钮区域-end-->
@@ -61,9 +61,9 @@
</template>
<span slot="action" class="action-span-cell" slot-scope="text, record">
<a @click="handleAudit(record.id)" v-if="record.dataSource===2 && record.status===2">确认</a>
<a @click="handleEdit(record)">编辑</a>
<a @click="handleDelete(record.id)">删除</a>
<a @click="handleAudit(record.id)" v-if="record.dataSource===2 && record.status===2" v-has="'company:confirm'">确认</a>
<a @click="handleEdit(record)" v-has="'company:edit'">编辑</a>
<a @click="handleDelete(record.id)" v-has="'company:delete'">删除</a>
</span>
</a-table>
</div>
@@ -23,7 +23,7 @@
</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">查询</a-button>
<a-button type="primary" icon="search" @click="searchQuery" v-has="'contact:search'">查询</a-button>
<a-button icon="reload" @click="searchReset" class="reset-button">重置</a-button>
</span>
</a-col>
@@ -34,14 +34,14 @@
<!-- 操作按钮区域-->
<div class="table-operator">
<a-button type="primary" icon="plus" @click="handleAdd">新增</a-button>
<a-button type="primary" icon="plus" @click="handleAdd" v-has="'contact:add'">新增</a-button>
<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl"
@change="handleImportExcel">
@change="handleImportExcel" v-has="'contact:import'">
<a-button type="primary" icon="import">导入</a-button>
</a-upload>
<a-button type="primary" icon="export" @click="handleExportXls('联系人管理')">导出</a-button>
<a-button type="primary" icon="download" @click="downTemplate('联系人管理导入模板')">下载模板</a-button>
<a-button type="danger" icon="delete" @click="batchDel">批量删除</a-button>
<a-button type="primary" icon="export" @click="handleExportXls('联系人管理')" v-has="'contact:export'">导出</a-button>
<a-button type="primary" icon="download" @click="downTemplate('联系人管理导入模板')" v-has="'contact:downTemplate'">下载模板</a-button>
<a-button type="danger" icon="delete" @click="batchDel" v-has="'contact:batchDel'">批量删除</a-button>
</div>
<!-- 操作按钮区域-end-->
@@ -66,8 +66,8 @@
</template>
<span slot="action" class="action-span-cell" slot-scope="text, record">
<a @click="handleEdit(record)">编辑</a>
<a @click="handleDelete(record.id)">删除</a>
<a @click="handleEdit(record)" v-has="'contact:edit'">编辑</a>
<a @click="handleDelete(record.id)" v-has="'contact:delete'">删除</a>
</span>
</a-table>
</div>
@@ -37,7 +37,7 @@
</a-col>
<a-col :xl="4" :lg="7" :md="8" :sm="24">
<span class="table-page-search-submitButtons">
<a-button type="primary" icon="search" @click="searchQuery">查询</a-button>
<a-button type="primary" icon="search" @click="searchQuery" v-has="'expenditureContract:search'">查询</a-button>
<a-button icon="reload" @click="searchReset" class="reset-button">重置</a-button>
</span>
</a-col>
@@ -48,14 +48,14 @@
<!-- 操作按钮区域-->
<div class="table-operator">
<a-button type="primary" icon="plus" @click="handleAdd">新增</a-button>
<a-button type="primary" icon="plus" @click="handleAdd" v-has="'expenditureContract:add'">新增</a-button>
<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl"
@change="handleImportExcel">
@change="handleImportExcel" v-has="'expenditureContract:import'">
<a-button type="primary" icon="import">导入</a-button>
</a-upload>
<a-button type="primary" icon="export" @click="handleExportXls('支出合同')">导出</a-button>
<a-button type="primary" icon="download" @click="downTemplate('支出合同导入模板')">下载模板</a-button>
<a-button type="danger" icon="delete" @click="batchDel">批量删除</a-button>
<a-button type="primary" icon="export" @click="handleExportXls('支出合同')" v-has="'expenditureContract:export'">导出</a-button>
<a-button type="primary" icon="download" @click="downTemplate('支出合同导入模板')" v-has="'expenditureContract:downTemplate'">下载模板</a-button>
<a-button type="danger" icon="delete" @click="batchDel" v-has="'expenditureContract:batchDel'">批量删除</a-button>
</div>
<!-- 操作按钮区域-end-->
@@ -80,8 +80,8 @@
</template>
<span slot="action" class="action-span-cell" slot-scope="text, record">
<a @click="handleEdit(record.id)">编辑</a>
<a @click="handleDelete(record.id)">删除</a>
<a @click="handleEdit(record.id)" v-has="'expenditureContract:edit'">编辑</a>
<a @click="handleDelete(record.id)" v-has="'expenditureContract:delete'">删除</a>
</span>
</a-table>
</div>
@@ -322,6 +322,10 @@ export default {
pack: {
rules: [{ required: true, message: '请选择是否打包' }],
validateTrigger: 'change'
},
packYear: {
rules: [{ required: true, message: '请选择打包年份' }],
validateTrigger: 'change'
}
},
url: {
@@ -53,7 +53,7 @@
</a-col>
<a-col :xl="4" :lg="7" :md="8" :sm="24">
<span class="table-page-search-submitButtons">
<a-button type="primary" icon="search" @click="searchQuery">查询</a-button>
<a-button type="primary" icon="search" @click="searchQuery" v-has="'revenueContract:search'">查询</a-button>
<a-button icon="reload" @click="searchReset" class="reset-button">重置</a-button>
</span>
</a-col>
@@ -64,9 +64,9 @@
<!-- 操作按钮区域-->
<div class="table-operator">
<a-button type="primary" icon="plus" @click="handleAdd">新增</a-button>
<a-button type="primary" icon="export" @click="handleExportXls('收入合同')">导出</a-button>
<a-button type="danger" icon="delete" @click="batchDel">批量删除</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="danger" icon="delete" @click="batchDel" v-has="'revenueContract:batchDel'">批量删除</a-button>
</div>
<!-- 操作按钮区域-end-->
@@ -107,12 +107,13 @@
</template>
<span slot="action" class="action-span-cell" slot-scope="text, record">
<a @click="handleAudit(record.id)" v-if="record.status === 2">审核</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)"
v-if="record.status === 1 || record.status === 4">编辑</a>
<a @click="handleArchive(record.id)" v-if="record.status === 3">存档</a>
<a @click="handleArchive(record.id)" v-if="record.status === 3" v-has="'revenueContract:archive'">存档</a>
<a @click="handleDelete(record.id)"
v-if="record.status === 1 || record.status === 2 || record.status === 4">删除</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>
</span>
</a-table>
@@ -230,14 +231,6 @@ export default {
width: 200,
scopedSlots: { customRender: 'action' }
}
],
dataSource: [
{
id: 1,
status: 1,
contractNum: '1346',
createTime: '2020-09-02 11:11:11'
}
]
}
},
@@ -17,8 +17,8 @@
</template>
<span slot="action" class="action-span-cell" slot-scope="text, record" v-if="canOperate">
<a @click="unlinkProject(record)">取消关联</a>
</span>
<a @click="unlinkProject(record)" v-has="'revenueContractModule:unlinkProject'">取消关联</a>
</span>
</a-table>
<a-button type="primary" @click="submitAduit" :loading="associatedProjectLoading" v-if="canOperate" v-preventclick>提交审核</a-button>
@@ -245,7 +245,7 @@
<a-card :bordered="false" v-if="isSaved" class="associated-project">
<div class="part-title">
<div class="part-title-text">关联项目</div>
<a-button type="link" @click="chooseProject">选择项目
<a-button type="link" @click="chooseProject" v-has="'revenueContractModule:chooseProject'">选择项目
<a-icon type="right"></a-icon>
</a-button>
</div>
@@ -414,7 +414,7 @@ export default {
departId: null, // 部门id普通项目列表查询
projectType: null, //项目类型
signedContactId: null, //签订联系人正式id,用于新增工作组项目回显
newFormData:{} // 传入的数据
newFormData: {} // 传入的数据
}
},
mounted() {
@@ -434,7 +434,7 @@ export default {
this.$refs.installmentForm.initInstallmentList([])
// 税率默认为6
this.$nextTick(() => {
this.form.setFieldsValue({rate: 6})
this.form.setFieldsValue({ rate: 6 })
})
this.rateNum = 6 / 100
},
@@ -447,7 +447,7 @@ export default {
// 通过id获取合同信息
getRevenueContractById(param).then(res => {
// 这是会员跟会议要传的参数
this.newFormData = Object.assign({},res.result)
this.newFormData = Object.assign({}, res.result)
let record
record = res.result
this.isSaved = true
@@ -473,6 +473,8 @@ export default {
// 获取应收金额和已收金额
this.accountsReceivableNum = record.accountsReceivableAmount
this.amountReceivedNum = record.amountReceived
// 将pack值改为数字,解决控制台报错
record.pack = Number(record.pack)
this.model = Object.assign({}, record)
this.temporaryModel = Object.assign({}, record)
this.$nextTick(() => {
@@ -609,7 +611,7 @@ export default {
* @param e
*/
noTaxChange(e) {
e.target.value = (e.target.value.replace(/[^0-9.]/g,'')).trim()
e.target.value = (e.target.value.replace(/[^0-9.]/g, '')).trim()
this.inputNoTaxAmount = Number(e.target.value)
this.calculateContractAmount()
},
@@ -635,7 +637,7 @@ export default {
}
let contractNum = this.inputNoTaxAmount * (1 + this.rateNum)
contractNum = contractNum.toFixed(2)
this.form.setFieldsValue({contractAmount: contractNum})
this.form.setFieldsValue({ contractAmount: contractNum })
},
/**
* 应收金额输入
@@ -797,9 +799,9 @@ export default {
// 会议项目
case 3:
// 打包为是不能选择关联会议项目
if(this.newFormData.pack === 1){
if (this.newFormData.pack === 1) {
this.$message.warn('打包不可选择会议项目')
}else {
} else {
// 传入合同信息
this.$refs.selectMeetingProjectModule.open(this.newFormData)
}
@@ -34,7 +34,7 @@
</a-form>
<!-- 操作按钮区域-->
<div class="table-operator">
<a-button type="primary" icon="plus" @click="handleAdd">新增</a-button>
<a-button type="primary" icon="plus" @click="handleAdd" v-has="'memberProject:add'">新增</a-button>
</div>
<!-- 操作按钮区域-end-->
@@ -54,7 +54,7 @@
<!-- 操作按钮区域-->
<div class="table-operator">
<a-button type="primary" icon="plus" @click="handleAdd">新增</a-button>
<a-button type="primary" icon="plus" @click="handleAdd" v-has="'generalProject:add'">新增</a-button>
</div>
<!-- 操作按钮区域-end-->
@@ -35,7 +35,7 @@
<!-- 操作按钮区域-->
<div class="table-operator">
<a-button type="primary" icon="plus" @click="handleAdd">新增</a-button>
<a-button type="primary" icon="plus" @click="handleAdd" v-has="'workingGroupMember:add'">新增</a-button>
</div>
<!-- 操作按钮区域-end-->
@@ -23,7 +23,7 @@
</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">查询</a-button>
<a-button type="primary" icon="search" @click="searchQuery" v-has="'committee:search'">查询</a-button>
<a-button icon="reload" @click="searchReset" class="reset-button">重置</a-button>
</span>
</a-col>
@@ -34,9 +34,9 @@
<!-- 操作按钮区域-->
<div class="table-operator">
<a-button type="primary" icon="plus" @click="handleAdd">新增分标委</a-button>
<a-button type="primary" icon="export" @click="handleExportXls('分标委维护')">导出</a-button>
<a-button type="danger" icon="delete" @click="batchDel">批量删除</a-button>
<a-button type="primary" icon="plus" @click="handleAdd" v-has="'committee:add'">新增分标委</a-button>
<a-button type="primary" icon="export" @click="handleExportXls('分标委维护')" v-has="'committee:export'">导出</a-button>
<a-button type="danger" icon="delete" @click="batchDel" v-has="'committee:batchDel'">批量删除</a-button>
</div>
<!-- 操作按钮区域-end-->
@@ -56,11 +56,11 @@
</template>
<span slot="operation" class="action-span-cell" slot-scope="text, record">
<a @click="handleMaintainData(record)">资料维护</a>
<a @click="handleMaintainMeeting(record)">会议维护</a>
<a @click="handleAddCommitteeMember(record)">新增成员</a>
<a @click="handleEdit(record)">编辑</a>
<a @click="handleDelete(record.id)">删除</a>
<a @click="handleMaintainData(record)" v-has="'committee:fileMaintenance'">资料维护</a>
<a @click="handleMaintainMeeting(record)" v-has="'committee:meetingMaintenance'">会议维护</a>
<a @click="handleAddCommitteeMember(record)" v-has="'committee:addMember'">新增成员</a>
<a @click="handleEdit(record)" v-has="'committee:edit'">编辑</a>
<a @click="handleDelete(record.id)" v-has="'committee:delete'">删除</a>
</span>
<a-table
@@ -77,7 +77,7 @@
</template>
<span slot="action" class="action-span-cell" slot-scope="text, itemRecord">
<a @click="handleDeleteMember(itemRecord.childrenId)">删除</a>
<a @click="handleDeleteMember(itemRecord.childrenId)" v-has="'committee:member:delete'">删除</a>
</span>
</a-table>
</a-table>
@@ -208,6 +208,7 @@ export default {
* @param value
*/
handleContactChange(value) {
console.log(value)
const param = {
id: value.key
}
@@ -35,7 +35,7 @@
</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">查询</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 +46,8 @@
<!-- 操作按钮区域-->
<div class="table-operator">
<a-button type="primary" icon="export" @click="handleExportXls('到账开票')">导出</a-button>
<a-button type="primary" icon="file-text" @click="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-->
@@ -87,8 +87,8 @@
</template>
<span slot="action" class="action-span-cell" slot-scope="text, record">
<a @click="incomePayment(record)">来款</a>
<a @click="invoicing(record)" :disabled="record.needInvoice === 0">开票</a>
<a @click="incomePayment(record)" v-has="'incomePaymentAndInvoiving:incomePayment'">来款</a>
<a @click="invoicing(record)" :disabled="record.needInvoice === 0" v-has="'incomePaymentAndInvoiving:invoicing'">开票</a>
</span>
</a-table>
</div>
@@ -123,10 +123,11 @@
dictCode="signup_status"/>
</a-form-item>
</a-col>
<!-- 只有工作组会议与分标委会议才有审核信息-->
<a-col :xl="6" :lg="7" :md="8" :sm="24" v-show="currentMeetingInfo.meetingType === '1' || currentMeetingInfo.meetingType === '5' ">
<!-- 只有工作组会议与分标委会议才有审核信息-->
<a-col :xl="6" :lg="7" :md="8" :sm="24"
v-show="currentMeetingInfo.meetingType === '1' || currentMeetingInfo.meetingType === '5' ">
<a-form-item label="审核报名信息">
<j-dict-select-tag v-model="queryParam.checkSingInResult" placeholder="请选择"
<j-dict-select-tag v-model="queryParam.checkSingInResult" placeholder="请选择"
dictCode="signup_status"/>
</a-form-item>
</a-col>
@@ -158,7 +159,7 @@
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
<a-button type="primary" @click="searchQuery" icon="search" v-has="'attendance:search'">查询</a-button>
<a-button @click="searchReset" icon="reload" class="reset-button" style="margin-left: 8px">重置</a-button>
</span>
</a-col>
@@ -171,14 +172,17 @@
<div class="table-operator">
<!-- 变更去掉了此功能 暂时注释 2021-09-16 -->
<!-- <a-button type="primary" icon="import" @click="importParticipant">导入参会人</a-button>-->
<a-button type="primary" icon="plus" @click="addParticipant">添加参会人</a-button>
<a-button type="primary" icon="download" @click="handleExportXls('会员项目')">导出</a-button>
<a-button type="danger" icon="delete" @click="batchDel">批量删除</a-button>
<a-button type="primary" icon="plus" @click="addParticipant" v-has="'attendance:add'">添加参会人</a-button>
<a-button type="primary" icon="download" @click="handleExportXls('会员项目')" v-has="'attendance:export'">导出
</a-button>
<a-button type="danger" icon="delete" @click="batchDel" v-has="'attendance:batchDel'">批量删除</a-button>
<!--当会议费用为0不需要合并开票 -->
<!-- 变更将此功能添加到到账开票了 暂时注释 2021-09-16 -->
<!-- <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>
<a-button type="primary" @click="batchSetDocker" v-if="currentMeetingInfo.meetingType === '3' "
v-has="'attendance:batchSetDocker'">设置对接人
</a-button>
</div>
<!-- table区域-begin -->
@@ -221,12 +225,15 @@
<span slot="action" slot-scope="text, record" class="action-span-cell">
<!-- 只有缴费方式为汇款并且上传了汇款凭证的的才会有审核按钮-->
<a @click="handleAudit(record)" v-if="record.payMode === 1 && record.paymentRecord">审核凭证</a>
<a @click="handleAudit(record)" v-if="record.payMode === 1 && record.paymentRecord"
v-has="'attendance:auditCredentials'">审核凭证</a>
<!-- 只有工作组会议与分标委会议才有审核报名信息-->
<a @click="handleAuditSignUp(record)" v-show="(currentMeetingInfo.meetingType === '1' || currentMeetingInfo.meetingType === '5') && record.registerCheckResult !== 1 ">审核报名信息</a>
<a @click="handleEdit(record)">编辑</a>
<a @click="handleAuditSignUp(record)"
v-show="(currentMeetingInfo.meetingType === '1' || currentMeetingInfo.meetingType === '5') && record.registerCheckResult !== 1 "
v-has="'attendance:auditSignUp'">审核报名信息</a>
<a @click="handleEdit(record)" v-has="'attendance:edit'">编辑</a>
<!--删除参会人需要判断改参会人是否与合同关联-->
<a @click="handleDelete(record.id)">删除</a>
<a @click="handleDelete(record.id)" v-has="'attendance:delete'">删除</a>
</span>
</a-table>
</div>
@@ -245,9 +252,9 @@
</template>
<script>
import {JeroListMixin} from '@/mixins/JeroListMixin'
import {mixinDevice} from '@/utils/mixin'
import {getMeetInfoById, createQcCode} from '@api/incomeMeetingApi'
import { JeroListMixin } from '@/mixins/JeroListMixin'
import { mixinDevice } from '@/utils/mixin'
import { getMeetInfoById, createQcCode } from '@api/incomeMeetingApi'
import JYearDate from '@comp/jero/JYearDate'
import JDictSelectTag from '@comp/dict/JDictSelectTag'
import ImportParticipantModal from '@views/incomePayments/meetManage/modules/ImportParticipantModal'
@@ -295,8 +302,8 @@ export default {
title: '参会单位',
align: 'center',
dataIndex: 'companyName',
scopedSlots: {customRender: 'htmlSlot'},
width: 180,
scopedSlots: { customRender: 'htmlSlot' },
width: 180
},
{
title: '参会人员',
@@ -309,60 +316,60 @@ export default {
title: '应收金额',
align: 'center',
dataIndex: 'amountReceivable',
width: 100,
width: 100
},
{
title: '实收金额',
align: 'center',
dataIndex: 'paidAmount',
width: 120,
width: 120
},
{
title: '缴费方式',
align: 'center',
dataIndex: 'payMode_dictText',
width: 120,
width: 120
},
{
title: '是否签到',
align: 'center',
dataIndex: 'checkIn_dictText',
width: 100,
width: 100
},
{
title: '打包',
align: 'center',
dataIndex: 'pack',
width: 100,
scopedSlots: {customRender: 'status-pack'}
scopedSlots: { customRender: 'status-pack' }
},
{
title: '需要发票',
align: 'center',
dataIndex: 'needInvoice',
width: 100,
scopedSlots: {customRender: 'status-pack'}
scopedSlots: { customRender: 'status-pack' }
},
{
title: '到账',
align: 'center',
width: 100,
dataIndex: 'inAccount',
scopedSlots: {customRender: 'status'}
scopedSlots: { customRender: 'status' }
},
{
title: '开票',
align: 'center',
width: 100,
dataIndex: 'makeInvoice',
scopedSlots: {customRender: 'status'}
scopedSlots: { customRender: 'status' }
},
{
title: '邮寄',
align: 'center',
width: 100,
dataIndex: 'mail',
scopedSlots: {customRender: 'status'}
scopedSlots: { customRender: 'status' }
},
{
title: '对接人',
@@ -374,8 +381,8 @@ export default {
align: 'center',
fixed: 'right',
width: 300,
scopedSlots: {customRender: 'action'}
},
scopedSlots: { customRender: 'action' }
}
],
disableMixinCreated: true,
url: {
@@ -383,7 +390,7 @@ export default {
delete: '/meeting/payMeetingSituation/delete',
deleteBatch: '/meeting/payMeetingSituation/deleteBatch',
exportXlsUrl: '/meeting/payMeetingSituation/exportXls',
importExcelUrl: '/meeting/payMeetingSituation/importExcel',
importExcelUrl: '/meeting/payMeetingSituation/importExcel'
},
// 当前的会议信息详情
currentMeetingInfo: {},
@@ -395,7 +402,7 @@ export default {
// 收款二维码
payMentQRCode: '',
// 会议费用
meetingCostBool:false
meetingCostBool: false
}
},
created() {
@@ -415,7 +422,7 @@ export default {
this.columns.splice(index,1)
}
// 计算会议费用 会议费用为0 添加参会人不显示邮寄信息与缴费信息 标协会议
if(this.currentMeetingInfo.meetingType === '2' && this.currentMeetingInfo.meetingCostsVip){
if (this.currentMeetingInfo.meetingType === '2' && this.currentMeetingInfo.meetingCostsVip) {
// 标协会员的费用
let vipCost = this.currentMeetingInfo.meetingCostsVip
// 判断标协会员的费用是否是0
@@ -423,21 +430,21 @@ export default {
let cost = this.currentMeetingInfo.meetingCosts
// 判断普通会员的费用是否是0
let flag = cost === 0 || cost === '0.00'
if(flag && flagVip){
if (flag && flagVip) {
// 说明会议费用为0
this.meetingCostBool = true
}else {
} else {
this.meetingCostBool = false
}
// 其他会议值判断一个费用
}else if(this.currentMeetingInfo.meetingCosts){
} else if (this.currentMeetingInfo.meetingCosts) {
// 判断其他会议
let cost = this.currentMeetingInfo.meetingCosts
// 判断普通会员的费用是否是0
let flag = cost === 0 || cost === '0.00'
if(flag){
if (flag) {
this.meetingCostBool = true
}else {
} else {
this.meetingCostBool = false
}
}
@@ -19,7 +19,7 @@
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
<a-button type="primary" @click="searchQuery" icon="search" v-has="'memberProject:search'">查询</a-button>
<a-button @click="searchReset" icon="reload" class="reset-button" style="margin-left: 8px">重置</a-button>
</span>
</a-col>
@@ -30,9 +30,9 @@
<!-- 操作按钮区域 -->
<div class="table-operator">
<a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
<a-button type="primary" icon="download" @click="handleExportXls('会员项目')">导出</a-button>
<a-button type="danger" icon="delete" @click="batchDel">批量删除</a-button>
<a-button @click="handleAdd" type="primary" icon="plus" v-has="'memberProject:add'">新增</a-button>
<a-button type="primary" icon="download" @click="handleExportXls('会员项目')" v-has="'memberProject:export'">导出</a-button>
<a-button type="danger" icon="delete" @click="batchDel" v-has="'memberProject:batchDel'">批量删除</a-button>
<!-- <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl"-->
<!-- @change="handleImportExcel">-->
<!-- <a-button type="primary" icon="import">导入</a-button>-->
@@ -66,8 +66,8 @@
<span v-else></span>
</template>
<span slot="action" slot-scope="text, record" class="action-span-cell">
<a @click="handleEdit(record)">编辑</a>
<a @click="handleDelete(record.id)">删除</a>
<a @click="handleEdit(record)" v-has="'memberProject:edit'">编辑</a>
<a @click="handleDelete(record.id)" v-has="'memberProject:delete'">删除</a>
</span>
</a-table>
@@ -49,7 +49,7 @@
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
<a-button type="primary" @click="searchQuery" icon="search" v-has="'safeguardMember:search'">查询</a-button>
<a-button @click="searchReset" icon="reload" class="reset-button" style="margin-left: 8px">重置</a-button>
</span>
</a-col>
@@ -60,14 +60,14 @@
<!-- 操作按钮区域 -->
<div class="table-operator">
<a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
<a-button @click="handleAdd" type="primary" icon="plus" v-has="'safeguardMember:add'">新增</a-button>
<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl"
@change="handleImportExcel">
@change="handleImportExcel" v-has="'safeguardMember:import'">
<a-button type="primary" icon="import">导入</a-button>
</a-upload>
<a-button type="primary" icon="download" @click="downTemplate('会员项目成员导入模板文件')">下载模板</a-button>
<a-button type="primary" icon="download" @click="handleExportXls('会员项目成员')">导出</a-button>
<a-button type="danger" icon="delete" @click="batchDel">批量删除</a-button>
<a-button type="primary" icon="download" @click="downTemplate('会员项目成员导入模板文件')" v-has="'safeguardMember:downTemplate'">下载模板</a-button>
<a-button type="primary" icon="download" @click="handleExportXls('会员项目成员')" v-has="'safeguardMember:export'">导出</a-button>
<a-button type="danger" icon="delete" @click="batchDel" v-has="'safeguardMember:batchDel'">批量删除</a-button>
</div>
@@ -104,8 +104,8 @@
</template>
<span slot="action" slot-scope="text, record" class="action-span-cell">
<a @click="handleEdit(record)">编辑</a>
<a @click="handleDelete(record.id)">删除</a>
<a @click="handleEdit(record)" v-has="'safeguardMember:edit'">编辑</a>
<a @click="handleDelete(record.id)" v-has="'safeguardMember:delete'">删除</a>
</span>
</a-table>
@@ -19,7 +19,7 @@
style="float: left; overflow: hidden"
class="table-page-search-submitButtons"
>
<a-button type="primary" @click="searchQuery" icon="search"
<a-button type="primary" @click="searchQuery" icon="search" v-has="'safeguardStardsMember:search'"
>查询</a-button
>
<a-button
@@ -43,6 +43,7 @@
type="primary"
icon="download"
@click="handleExportXls('标协会员')"
v-has="'safeguardStardsMember:export'"
>导出</a-button
>
<!-- <a-button type="danger" icon="delete" @click="batchDel">批量删除</a-button>-->
@@ -13,7 +13,7 @@
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
<a-button type="primary" @click="searchQuery" icon="search" v-has="'stardsMember:search'">查询</a-button>
<a-button @click="searchReset" icon="reload" class="reset-button" style="margin-left: 8px">重置</a-button>
</span>
</a-col>
@@ -55,7 +55,7 @@
</template>
<span slot="action" slot-scope="text, record" class="action-span-cell">
<a @click="handleStandardMeeting(record)">会议维护</a>
<a @click="handleStandardMeeting(record)" v-has="'stardsMember:meetingMaintenance'">会议维护</a>
</span>
</a-table>
+5 -5
View File
@@ -45,7 +45,7 @@
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
<a-button type="primary" @click="searchQuery" icon="search" v-has="'billMail:search'">查询</a-button>
<a-button @click="searchReset" icon="reload" class="reset-button" style="margin-left: 8px">重置</a-button>
</span>
</a-col>
@@ -56,7 +56,7 @@
<!-- 操作按钮区域 -->
<div class="table-operator">
<a-button type="primary" icon="download" @click="handleExportXls">导出</a-button>
<a-button type="primary" icon="download" @click="handleExportXls" v-has="'billMail:export'">导出</a-button>
</div>
<!-- table区域-begin -->
@@ -89,9 +89,9 @@
<a-button type="primary" :disabled="record.sendMethod === 1 ? false : true">打印</a-button>
</span>
<span slot="action" slot-scope="text, record" class="action-span-cell">
<a @click="handleAdd(record)" v-if="record.postStatus === 0">邮寄</a>
<a @click="handleEdit(record)" v-if="record.postStatus === 1">修改</a>
<a @click="goLogistics(record)" v-if="record.postStatus === 1">查看物流</a>
<a @click="handleAdd(record)" v-if="record.postStatus === 0" v-has="'billMail:mail'">邮寄</a>
<a @click="handleEdit(record)" v-if="record.postStatus === 1" v-has="'billMail:edit'">修改</a>
<a @click="goLogistics(record)" v-if="record.postStatus === 1" v-has="'billMail:checkLogistics'">查看物流</a>
</span>
</a-table>
</div>
+5 -5
View File
@@ -29,7 +29,7 @@
</a-col>
<a-col :xl="4" :lg="7" :md="8" :sm="24">
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
<a-button type="primary" @click="searchQuery" icon="search" v-has="'contractMail:search'">查询</a-button>
<a-button @click="searchReset" icon="reload" class="reset-button" style="margin-left: 8px">重置</a-button>
</span>
</a-col>
@@ -40,7 +40,7 @@
<!-- 操作按钮区域 -->
<div class="table-operator">
<a-button type="primary" icon="download" @click="handleExportXls">导出</a-button>
<a-button type="primary" icon="download" @click="handleExportXls" v-has="'contractMail:export'">导出</a-button>
</div>
<!-- table区域-begin -->
@@ -68,9 +68,9 @@
<a-button type="primary" :disabled="record.sendMethod === '1' ? false : true">打印</a-button>
</span>
<span slot="action" slot-scope="text, record" class="action-span-cell">
<a @click="handleAdd(record.id)" v-if="record.postStatus === '0'">邮寄</a>
<a @click="handleEdit(record)" v-if="record.postStatus === '1'">修改</a>
<a @click="goLogistics(record)" v-if="record.postStatus === '1'">查看物流</a>
<a @click="handleAdd(record.id)" v-if="record.postStatus === '0'" v-has="'contractMail:mail'">邮寄</a>
<a @click="handleEdit(record)" v-if="record.postStatus === '1'" v-has="'contractMail:edit'">修改</a>
<a @click="goLogistics(record)" v-if="record.postStatus === '1'" v-has="'contractMail:checkLogistics'">查看物流</a>
</span>
</a-table>
</div>
+6 -6
View File
@@ -19,7 +19,7 @@
</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">查询</a-button>
<a-button type="primary" icon="search" @click="searchQuery" v-has="'packCompany:search'">查询</a-button>
<a-button icon="reload" @click="searchReset" class="reset-button">重置</a-button>
</span>
</a-col>
@@ -30,9 +30,9 @@
<!-- 操作按钮区域-->
<div class="table-operator">
<a-button type="primary" icon="plus" @click="handleAdd">新增</a-button>
<a-button type="primary" icon="export" @click="handleExportXls('打包企业列表')">导出</a-button>
<a-button type="danger" icon="delete" @click="batchDel">批量删除</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="danger" icon="delete" @click="batchDel" v-has="'packCompany:batchDel'">批量删除</a-button>
</div>
<!-- 操作按钮区域-end-->
@@ -63,8 +63,8 @@
</template>
<span slot="action" class="action-span-cell" slot-scope="text, record">
<a @click="handleEdit(record)">编辑</a>
<a @click="handleDelete(record.id)">删除</a>
<a @click="handleEdit(record)" v-has="'packCompany:edit'">编辑</a>
<a @click="handleDelete(record.id)" v-has="'packCompany:delete'">删除</a>
</span>
</a-table>
</div>
@@ -54,7 +54,7 @@
</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">查询</a-button>
<a-button type="primary" icon="search" @click="searchQuery" v-has="'packProject:search'">查询</a-button>
<a-button icon="reload" @click="searchReset" class="reset-button">重置</a-button>
</span>
</a-col>
@@ -64,11 +64,11 @@
<!-- /查询区域-->
<!-- 操作按钮区域-->
<div class="table-operator">
<a-button type="primary" icon="plus" @click="handlePack">打包</a-button>
<a-button type="danger" icon="close-circle" @click="batchCancelPack">批量取消打包</a-button>
<a-button type="primary" icon="pay-circle" @click="batchIncomePayment">批量来款</a-button>
<a-button type="primary" icon="file-text" @click="batchInvoicing">批量开票</a-button>
<a-button type="primary" icon="export" @click="handleExportXls('打包项目列表')">导出</a-button>
<a-button type="primary" icon="plus" @click="handlePack" v-has="'packProject:pack'">打包</a-button>
<a-button type="danger" icon="close-circle" @click="batchCancelPack" v-has="'packProject:batchCancelPack'">批量取消打包</a-button>
<a-button type="primary" icon="pay-circle" @click="batchIncomePayment" v-has="'packProject:batchIncomePayment'">批量来款</a-button>
<a-button type="primary" icon="file-text" @click="batchInvoicing" v-has="'packProject:batchInvoicing'">批量开票</a-button>
<a-button type="primary" icon="export" @click="handleExportXls('打包项目列表')" v-has="'packProject:export'">导出</a-button>
</div>
<!-- 操作按钮区域-end-->
@@ -108,9 +108,9 @@
</template>
<span slot="action" class="action-span-cell" slot-scope="text, record">
<a @click="incomePayment(record)" :disabled="Number(record.receivableAmount) === 0">来款</a>
<a @click="cancelPack(record.id)">取消打包</a>
<a @click="invoicing(record)" :disabled="record.needInvoice === 0 || Number(record.receivableAmount) === 0">开票</a>
<a @click="incomePayment(record)" :disabled="Number(record.receivableAmount) === 0" v-has="'packProject:incomePayment'">来款</a>
<a @click="cancelPack(record.id)" v-has="'packProject:cancelPack'">取消打包</a>
<a @click="invoicing(record)" :disabled="record.needInvoice === 0 || Number(record.receivableAmount) === 0" v-has="'packProject:invoicing'">开票</a>
</span>
</a-table>
</div>
@@ -62,7 +62,7 @@
</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">查询</a-button>
<a-button type="primary" icon="search" @click="searchQuery" v-has="'committeeMeeting:search'">查询</a-button>
<a-button icon="reload" @click="searchReset" class="reset-button">重置</a-button>
</span>
</a-col>
@@ -73,11 +73,11 @@
<!-- 操作按钮区域-->
<div class="table-operator">
<a-button type="primary" icon="plus" @click="handleAdd">新增</a-button>
<a-button type="primary" icon="export" @click="handleExportXls('工作组会议维护')">导出</a-button>
<a-button type="danger" icon="delete" @click="batchDel">批量删除</a-button>
<a-button type="primary" icon="plus" @click="handleAdd" v-has="'committeeMeeting:add'">新增</a-button>
<a-button type="primary" icon="export" @click="handleExportXls('工作组会议维护')" v-has="'committeeMeeting:export'">导出</a-button>
<a-button type="danger" icon="delete" @click="batchDel" v-has="'committeeMeeting:batchDel'">批量删除</a-button>
<!--只有工作会议与分标委会议才有-->
<a-button type="primary" @click="publishRemind" v-if="meetingType === '5' ">发布</a-button>
<a-button type="primary" @click="publishRemind" v-if="meetingType === '5' " v-has="'committeeMeeting:publish'">发布</a-button>
</div>
<!-- /操作按钮区域-end-->
@@ -108,10 +108,10 @@
</template>
<span slot="action" class="action-span-cell" slot-scope="text, record">
<a @click="uploadFile(record)">上传文件</a>
<a @click="uploadFile(record)" v-has="'committeeMeeting:upload'">上传文件</a>
<!-- <a @click="applyMsg">报名信息</a>-->
<a @click="handleEdit(record)">编辑</a>
<a @click="handleDelete(record.id)">删除</a>
<a @click="handleEdit(record)" v-has="'committeeMeeting:edit'">编辑</a>
<a @click="handleDelete(record.id)" v-has="'committeeMeeting:delete'">删除</a>
</span>
</a-table>
</div>
@@ -66,7 +66,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">查询</a-button>
<a-button type="primary" icon="search" @click="searchQuery"
v-has="'workingGroupConference:search'">查询</a-button>
<a-button icon="reload" @click="searchReset" class="reset-button">重置</a-button>
</span>
</a-col>
@@ -77,10 +78,12 @@
<!-- 操作按钮区域-->
<div class="table-operator">
<a-button type="primary" icon="plus" @click="handleAdd">新增</a-button>
<a-button type="primary" icon="export" @click="handleExportXls('工作组会议维护')">导出</a-button>
<a-button type="danger" icon="delete" @click="batchDel">批量删除</a-button>
<a-button type="primary" @click="publishRemind">发布</a-button>
<a-button type="primary" icon="plus" @click="handleAdd" v-has="'workingGroupConference:add'" v-if="canOperate">新增</a-button>
<a-button type="primary" icon="export" @click="handleExportXls('工作组会议维护')"
v-has="'workingGroupConference:export'">导出
</a-button>
<a-button type="danger" icon="delete" @click="batchDel" v-has="'workingGroupConference:batchDel'" v-if="canOperate">批量删除</a-button>
<a-button type="primary" @click="publishRemind" v-has="'workingGroupConference:publish'" v-if="canOperate">发布</a-button>
</div>
<!-- /操作按钮区域-end-->
@@ -102,18 +105,19 @@
<!-- 会议名称 点击去参会情况-->
<template slot="htmlSlot" slot-scope="text, record">
<j-ellipsis v-if="!!text" class="primary-color" :value="text" :length="20" @click="toAttendance(record)"></j-ellipsis>
<j-ellipsis v-if="!!text" class="primary-color" :value="text" :length="20"
@click="toAttendance(record)"></j-ellipsis>
</template>
<template slot="text" slot-scope="text">
<j-ellipsis :value="text" :length="20"></j-ellipsis>
</template>
<span slot="action" class="action-span-cell" slot-scope="text, record">
<a @click="uploadFile(record)">上传文件</a>
<!-- <a @click="applyMsg">报名信息</a>-->
<a @click="handleEdit(record)">编辑</a>
<a @click="handleDelete(record.id)">删除</a>
<span slot="action" class="action-span-cell" slot-scope="text, record" v-if="canOperate">
<a @click="uploadFile(record)" v-has="'workingGroupConference:upload'">上传文件</a>
<!-- <a @click="applyMsg">报名信息</a>-->
<a @click="handleEdit(record)" v-has="'workingGroupConference:edit'">编辑</a>
<a @click="handleDelete(record.id)" v-has="'workingGroupConference:delete'">删除</a>
</span>
</a-table>
</div>
@@ -123,8 +127,8 @@
</template>
<script>
import {JeroListMixin} from '@/mixins/JeroListMixin'
import {RangeDateMixin} from '@/mixins/RangeDateMixin'
import { JeroListMixin } from '@/mixins/JeroListMixin'
import { RangeDateMixin } from '@/mixins/RangeDateMixin'
import JYearDate from '@comp/jero/JYearDate'
import JDate from '@comp/tools/JDate'
import moment from 'moment'
@@ -150,12 +154,12 @@ export default {
disableMixinCreated: true,
list: [],
labelCol: {
xs: {span: 24},
sm: {span: 5}
xs: { span: 24 },
sm: { span: 5 }
},
wrapperCol: {
xs: {span: 24},
sm: {span: 10}
xs: { span: 24 },
sm: { span: 10 }
},
dateKeyObj: {
beginKey: 'meetingStartTime',
@@ -176,7 +180,7 @@ export default {
title: '会议名称',
align: 'center',
dataIndex: 'meetingName',
scopedSlots: {customRender: 'htmlSlot'},
scopedSlots: { customRender: 'htmlSlot' },
width: 160,
},
@@ -185,55 +189,57 @@ export default {
align: 'center',
dataIndex: 'meetingType_dictText',
width: 100,
scopedSlots: {customRender: 'text'}
scopedSlots: { customRender: 'text' }
},
{
title: '负责人',
align: 'center',
dataIndex: 'directorName',
width: 160,
scopedSlots: {customRender: 'text'}
scopedSlots: { customRender: 'text' }
},
{
title: '召开时间',
align: 'center',
dataIndex: 'startTime',
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: '召开地点',
align: 'center',
dataIndex: 'venue',
width: 160,
customRender: (text, record) => (<j-ellipsis value={text + '/' + record.address} length={20}></j-ellipsis>)
customRender: (text, record) => (
<j-ellipsis value={ text + '/' + record.address } length={ 20 }></j-ellipsis>)
},
{
title: '年份',
align: 'center',
dataIndex: 'particularYear',
width: 100,
scopedSlots: {customRender: 'text'}
scopedSlots: { customRender: 'text' }
},
{
title: '已提醒',
align: 'center',
dataIndex: 'remind_dictText',
width: 100,
scopedSlots: {customRender: 'text'}
scopedSlots: { customRender: 'text' }
},
{
title: '创建时间',
align: 'center',
dataIndex: 'createTime',
scopedSlots: {customRender: 'text'}
scopedSlots: { customRender: 'text' }
},
{
title: '操作',
align: 'center',
fixed: 'right',
width: 160,
scopedSlots: {customRender: 'action'}
scopedSlots: { customRender: 'action' }
},
],
url: {
@@ -241,12 +247,14 @@ export default {
delete: '/meeting/payMeeting/delete',
deleteBatch: '/meeting/payMeeting/deleteBatch',
exportXlsUrl: '/meeting/payMeeting/exportXls',
}
},
canOperate: true, // 是否可操作(负责人B不可操作)
}
},
created() {
this.workingGroupProject = this.$route.query.workingGroupProject
this.workingGroupProjectId = this.$route.query.workingGroupProjectId
this.canOperate = this.$route.query.canOperate === 'true' ? true : false
this.filters.workingGroupId = this.workingGroupProjectId
this.loadData(1)
},
@@ -322,7 +330,7 @@ export default {
path: '/incomePayments/meetManage/Attendance',
query: {
id: record.id,
meetingName:record.meetingName
meetingName: record.meetingName
}
})
},
@@ -354,7 +362,7 @@ export default {
this.queryParam.meetingEndTime = this.queryParam.meetingEndTime ? this.queryParam.meetingEndTime + ' ' + '23:59:59' : undefined
this.queryParam.createTime_begin = this.queryParam.createTime_begin ? this.queryParam.createTime_begin + ' ' + '00:00:00' : 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)
},
}
@@ -43,7 +43,7 @@
</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">查询</a-button>
<a-button type="primary" icon="search" @click="searchQuery" v-has="'generalProject:search'">查询</a-button>
<a-button icon="reload" @click="searchReset" class="reset-button">重置</a-button>
</span>
</a-col>
@@ -54,8 +54,8 @@
<!-- 操作按钮区域-->
<div class="table-operator">
<a-button type="primary" icon="plus" @click="handleAdd">新增</a-button>
<a-button type="danger" icon="delete" @click="batchDel">批量删除</a-button>
<a-button type="primary" icon="plus" @click="handleAdd" v-has="'generalProject:add'">新增</a-button>
<a-button type="danger" icon="delete" @click="batchDel" v-has="'generalProject:batchDel'">批量删除</a-button>
</div>
<!-- 操作按钮区域-end-->
@@ -95,8 +95,8 @@
</template>
<span slot="action" class="action-span-cell" slot-scope="text, record">
<a @click="handleEdit(record)">编辑</a>
<a @click="handleDelete(record.id)">删除</a>
<a @click="handleEdit(record)" v-has="'generalProject:edit'">编辑</a>
<a @click="handleDelete(record.id)" v-has="'generalProject:delete'">删除</a>
</span>
</a-table>
</div>
@@ -52,7 +52,7 @@
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
<a-button type="primary" @click="searchQuery" icon="search" v-has="'internationalSeminar:search'">查询</a-button>
<a-button @click="searchReset" icon="reload" class="reset-button" style="margin-left: 8px">重置</a-button>
</span>
</a-col>
@@ -63,9 +63,9 @@
<!-- 操作按钮区域 -->
<div class="table-operator">
<a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
<a-button type="primary" icon="download" @click="handleExportXls('会议管理')">导出</a-button>
<a-button type="danger" icon="delete" @click="batchDel">批量删除</a-button>
<a-button @click="handleAdd" type="primary" icon="plus" v-has="'internationalSeminar:add'">新增</a-button>
<a-button type="primary" icon="download" @click="handleExportXls('会议管理')" v-has="'internationalSeminar:export'">导出</a-button>
<a-button type="danger" icon="delete" @click="batchDel" v-has="'internationalSeminar:batchDel'">批量删除</a-button>
</div>
<!-- table区域-begin -->
@@ -96,10 +96,10 @@
</template>
<span slot="action" slot-scope="text, record" class="action-span-cell">
<a @click="handleUploadFile(record)">上传文件</a>
<a @click="handleUploadFile(record)" v-has="'internationalSeminar:upload'">上传文件</a>
<!-- <a @click="handleSignup(record)">报名信息</a>-->
<a @click="handleEdit(record)">编辑</a>
<a @click="handleDelete(record.id)">删除</a>
<a @click="handleEdit(record)" v-has="'internationalSeminar:edit'">编辑</a>
<a @click="handleDelete(record.id)" v-has="'internationalSeminar:delete'">删除</a>
</span>
</a-table>
</div>
+7 -7
View File
@@ -52,7 +52,7 @@
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
<a-button type="primary" @click="searchQuery" icon="search" v-has="'otherMeeting:search'">查询</a-button>
<a-button @click="searchReset" icon="reload" class="reset-button" style="margin-left: 8px">重置</a-button>
</span>
</a-col>
@@ -63,9 +63,9 @@
<!-- 操作按钮区域 -->
<div class="table-operator">
<a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
<a-button type="primary" icon="download" @click="handleExportXls('会议管理')">导出</a-button>
<a-button type="danger" icon="delete" @click="batchDel">批量删除</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="danger" icon="delete" @click="batchDel" v-has="'otherMeeting:batchDel'">批量删除</a-button>
</div>
<!-- table区域-begin -->
@@ -94,10 +94,10 @@
<span v-else></span>
</template>
<span slot="action" slot-scope="text, record" class="action-span-cell">
<a @click="handleUploadFile(record)">上传文件</a>
<a @click="handleUploadFile(record)" v-has="'otherMeeting:upload'">上传文件</a>
<!-- <a @click="handleSignup(record)">报名信息</a>-->
<a @click="handleEdit(record)">编辑</a>
<a @click="handleDelete(record.id)">删除</a>
<a @click="handleEdit(record)" v-has="'otherMeeting:edit'">编辑</a>
<a @click="handleDelete(record.id)" v-has="'otherMeeting:delete'">删除</a>
</span>
</a-table>
</div>
@@ -46,7 +46,8 @@
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="来款状态" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-dict-select-tag v-model="queryParam.chargeStatus " placeholder="请选择来款状态" dictCode="work_group_charge_status"/>
<j-dict-select-tag v-model="queryParam.chargeStatus " placeholder="请选择来款状态"
dictCode="work_group_charge_status"/>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
@@ -56,7 +57,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">查询</a-button>
<a-button type="primary" icon="search" @click="searchQuery"
v-has="'workingGroupMember:search'">查询</a-button>
<a-button icon="reload" @click="searchReset" class="reset-button">重置</a-button>
</span>
</a-col>
@@ -67,16 +69,21 @@
<!-- 操作按钮区域-->
<div class="table-operator">
<a-button type="primary" icon="plus" @click="handleAdd">添加成员</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"
:action="importExcelUrl" @change="handleImportExcel">
:action="importExcelUrl" @change="handleImportExcel" v-has="'workingGroupMember:import'" v-if="canOperate">
<a-button type="primary" icon="import">导入</a-button>
</a-upload>
<a-button type="primary" icon="export" @click="handleExportXls('工作组成员')">导出</a-button>
<a-button type="primary" icon="download" @click="downTemplate('工作组成员导入模板')">下载模板</a-button>
<a-button type="danger" icon="delete" @click="batchDel">批量删除</a-button>
<a-button type="primary" @click="setChargeNotic">设置收费通知</a-button>
<a-button type="primary" @click="setDunningReminder">催款提醒</a-button>
<a-button type="primary" icon="export" @click="handleExportXls('工作组成员')" v-has="'workingGroupMember:export'">
导出
</a-button>
<a-button type="primary" icon="download" @click="downTemplate('工作组成员导入模板')"
v-has="'workingGroupMember:downTemplate'" v-if="canOperate">下载模板
</a-button>
<a-button type="danger" icon="delete" @click="batchDel" v-has="'workingGroupMember:batchDel'" 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>
</div>
<!-- /操作按钮区域-end-->
@@ -117,9 +124,9 @@
<j-ellipsis :value="text" :length="18"></j-ellipsis>
</template>
<span slot="action" class="action-span-cell" slot-scope="text, record">
<a @click="handleEdit(record)">编辑</a>
<a @click="handleDelete(record.id)">删除</a>
<span slot="action" class="action-span-cell" slot-scope="text, record" v-if="canOperate">
<a @click="handleEdit(record)" v-has="'workingGroupMember:edit'">编辑</a>
<a @click="handleDelete(record.id)" v-has="'workingGroupMember:delete'">删除</a>
</span>
</a-table>
</div>
@@ -141,10 +148,10 @@ import StatusSlot from '../../components/tools/StatusSlot'
import ProjectDetailModal from '../../components/ProjectDetailModal'
import WorkingGroupMemberUnitModule from './modules/WorkingGroupMemberUnitModule'
import WorkingGroupMemberSetChargeNotice from './modules/WorkingGroupMemberSetChargeNotice'
import { getFileInfo } from '../../api/api'
import Vue from 'vue'
import { ACCESS_TOKEN } from '../../store/mutation-types'
import PreviewFile from '../../components/jero/PreviewFile'
const Base64 = require('js-base64').Base64
export default {
@@ -297,7 +304,8 @@ export default {
],
workingGroupDetail: {},
chargeNoticeList: [], // 收费通知号选项
importParam: {}
importParam: {},
canOperate: true, // 是否可操作(负责人B不可操作)
}
},
created() {
@@ -312,6 +320,7 @@ export default {
this.spinning = true
this.workingGroupProject = this.$route.query.workingGroupProject
this.workingGroupProjectId = this.$route.query.workingGroupProjectId
this.canOperate = this.$route.query.canOperate === 'true' ? true : false
this.filters.workingGroupId = this.workingGroupProjectId
this.importParam.workGroupId = this.workingGroupProjectId
this.loadData()
@@ -436,8 +445,8 @@ export default {
previewFile(file) {
console.log(file)
if (file && file.url) {
const fileFullUrl = `${window._CONFIG['domianWebSocketURL']}/sys/common/download/${file.id}?token=${Vue.ls.get(ACCESS_TOKEN)}&fullfilename=${file.fileName}`
let url = `${window._CONFIG['onlinePreviewDomainURL']}?url=${encodeURIComponent(Base64.encode(fileFullUrl))}`
const fileFullUrl = `${ window._CONFIG['domianWebSocketURL'] }/sys/common/download/${ file.id }?token=${ Vue.ls.get(ACCESS_TOKEN) }&fullfilename=${ file.fileName }`
let url = `${ window._CONFIG['onlinePreviewDomainURL'] }?url=${ encodeURIComponent(Base64.encode(fileFullUrl)) }`
// let url = `${window._CONFIG['onlinePreviewDomainURL']}?url=${encodeURIComponent(fileFullUrl)}`
window.open(url)
}
@@ -12,21 +12,21 @@
</a-form-item>
</a-col>
<span class="table-page-search-submitButtons">
<a-button type="primary" icon="search" @click="searchQuery">查询</a-button>
<a-button type="primary" icon="search" @click="searchQuery" v-has="'fileMaintenance:search'">查询</a-button>
<a-button icon="reload" @click="searchReset" class="reset-button">重置</a-button>
</span>
</a-col>
</a-row>
</a-form>
</div>
<!-- /查询区域-end-->
<!-- 操作按钮区域-->
<div class="table-operator">
<a-button type="primary" icon="plus" @click="handleAdd">上传</a-button>
<a-button type="danger" icon="delete" @click="batchDel">批量删除</a-button>
<a-button type="primary" @click="batchDistribute">批量分发</a-button>
<a-button type="primary" icon="export" @click="handleExportXls('资料维护列表')">导出</a-button>
<div class="table-operator" v-if="canOperate">
<a-button type="primary" icon="plus" @click="handleAdd" v-has="'fileMaintenance:add'">上传</a-button>
<a-button type="danger" icon="delete" @click="batchDel" v-has="'fileMaintenance:batchDel'">批量删除</a-button>
<a-button type="primary" @click="batchDistribute" v-has="'fileMaintenance:batchDistribute'">批量分发</a-button>
<a-button type="primary" icon="export" @click="handleExportXls('资料维护列表')" v-has="'fileMaintenance:export'">导出
</a-button>
</div>
<!-- 操作按钮区域-end-->
@@ -56,9 +56,9 @@
<j-ellipsis :value="text" :length="20"></j-ellipsis>
</template>
<span slot="action" class="action-span-cell" slot-scope="text, record">
<a @click="handleDistribute(record.id)">分发</a>
<a @click="handleDelete(record.id)">删除</a>
<span slot="action" class="action-span-cell" slot-scope="text, record" v-if="canOperate">
<a @click="handleDistribute(record.id)" v-has="'fileMaintenance:distribute'">分发</a>
<a @click="handleDelete(record.id)" v-has="'fileMaintenance:delete'">删除</a>
</span>
</a-table>
</div>
@@ -155,13 +155,15 @@ export default {
projectType: null, // 1--工作组;2--分标委
distributeModalVisible: false,
isBatchDistribute: false,
dataId: '' // 资料id,传给分发
dataId: '', // 资料id,传给分发
canOperate: true // 是否可操作(负责人B不可操作)
}
},
created() {
// 工作组
if (this.$route.query.hasOwnProperty.call(this.$route.query, 'workingGroupId')) {
this.filters.projectId = this.$route.query.workingGroupId
this.canOperate = this.$route.query.canOperate === 'true' ? true : false
this.projectType = 1
this.filters.projectType = 1
} else if (this.$route.query.hasOwnProperty.call(this.$route.query, 'id')) {
@@ -23,7 +23,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">查询</a-button>
<a-button type="primary" icon="search" @click="searchQuery"
v-has="'workingGroupProject:search'">查询</a-button>
<a-button icon="reload" @click="searchReset" class="reset-button">重置</a-button>
</span>
</a-col>
@@ -34,8 +35,8 @@
<!-- 操作按钮区域-->
<div class="table-operator">
<a-button type="primary" icon="plus" @click="handleAdd">新增</a-button>
<a-button type="danger" icon="delete" @click="batchDel">批量删除</a-button>
<a-button type="primary" icon="plus" @click="handleAdd" v-has="'workingGroupProject:add'">新增</a-button>
<a-button type="danger" icon="delete" @click="batchDel" v-has="'workingGroupProject:batchDel'">批量删除</a-button>
<!-- 进度条tooltip-->
<div class="tooltip">
@@ -59,18 +60,18 @@
<!-- table表格区域-->
<div>
<a-table
ref="table"
size="middle"
bordered
rowKey="id"
:columns="columns"
:scroll="{x: 1300}"
:dataSource="dataSource"
:pagination="ipagination"
:loading="loading"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
@change="handleTableChange"
class="j-table-force-nowrap">
ref="table"
size="middle"
bordered
rowKey="id"
:columns="columns"
:scroll="{x: 1300}"
:dataSource="dataSource"
:pagination="ipagination"
:loading="loading"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
@change="handleTableChange"
class="j-table-force-nowrap">
<!-- 工作组名称-->
<template slot="projectName" slot-scope="text, record">
@@ -91,11 +92,11 @@
</template>
<span slot="action" class="action-span-cell" slot-scope="text, record">
<a @click="goFilesMaintenance(record)">文件维护</a>
<a @click="goConferenceMaintenance(record)">会议维护</a>
<a @click="copyWorkGroup(record.id)">复制</a>
<a @click="handleEdit(record)">编辑</a>
<a @click="handleDelete(record.id)">删除</a>
<a @click="goFilesMaintenance(record)" v-has="'workingGroupProject:fileMaintenance'">文件维护</a>
<a @click="goConferenceMaintenance(record)" v-has="'workingGroupProject:meetingMaintenance'">会议维护</a>
<a @click="copyWorkGroup(record.id)" v-has="'workingGroupProject:copy'" v-if="record.canOperate">复制</a>
<a @click="handleEdit(record)" v-has="'workingGroupProject:edit'" v-if="record.canOperate">编辑</a>
<a @click="handleDelete(record.id)" v-has="'workingGroupProject:delete'" v-if="record.canOperate">删除</a>
</span>
</a-table>
</div>
@@ -113,7 +114,7 @@ import SelectPrincipal from '@comp/company/SelectPrincipal'
import ProgressBar from '@comp/ProgressBar'
import PageHeaderTitle from '@comp/layouts/PageHeaderTitle'
import IconWorkingGruop from '@/assets/imgs/icon/icon_working_group.png'
import { copyWorkingGroup } from '../../api/incomePaymentsApi'
import { copyWorkingGroup, checkoutWorkingGroupPrincipal } from '../../api/incomePaymentsApi'
export default {
name: 'WorkingGroupProjectManagement',
@@ -171,6 +172,27 @@ export default {
]
}
},
watch: {
// 监听dataSource校验登录人信息
dataSource: {
handler(val) {
let arr = val
arr.forEach((item, index) => {
// (负责人B不可操作)
checkoutWorkingGroupPrincipal({ id: item.id }).then(res => {
// 不可操作则置否
if (res.success) {
item.canOperate = true
} else {
item.canOperate = false
}
this.$set(this.dataSource, index, item)
})
})
},
deep: true
}
},
methods: {
/**
* 文件维护
@@ -182,6 +204,7 @@ export default {
path: '/projectManagement/WorkingGroupProjectDataMaintenance',
query: {
workingGroupId: record.id,
canOperate: record.canOperate
}
})
},
@@ -194,7 +217,8 @@ export default {
path: '/projectManagement/ConferenceMaintenance',
query: {
workingGroupProject: record.workingGroupProject,
workingGroupProjectId: record.id
workingGroupProjectId: record.id,
canOperate: record.canOperate
}
})
},
@@ -203,7 +227,7 @@ export default {
* @param id
*/
copyWorkGroup(id) {
copyWorkingGroup({id: id}).then(res => {
copyWorkingGroup({ id: id }).then(res => {
if (res.success) {
this.$message.success(res.message)
} else {
@@ -222,7 +246,8 @@ export default {
path: '/projectManagement/WorkingGroupMemberUnitMaintenance',
query: {
workingGroupProject: record.workingGroupProject,
workingGroupProjectId: record.id
workingGroupProjectId: record.id,
canOperate: record.canOperate
}
})
}
@@ -259,7 +284,7 @@ export default {
}
&-partial-payment {
background: linear-gradient(0deg,#0075a9 0%, #0096d8 100%);
background: linear-gradient(0deg, #0075a9 0%, #0096d8 100%);
}
&-non-payment {
@@ -29,7 +29,8 @@
style="width:100%"
:dropdownStyle="{ maxHeight: '200px',maxWidth:'100px','overflow-x':'hidden',' overflow-y': 'auto' }"
:treeData="treeDepartData"
v-model="queryParam.departId"
:replaceFields="replaceFields"
v-model="queryParam.departCode"
placeholder="请选择科室">
</a-tree-select>
</a-form-item>
@@ -67,7 +68,7 @@
</a-col>
<a-col :xl="4" :lg="7" :md="8" :sm="24">
<span class="table-page-search-submitButtons">
<a-button type="primary" icon="search" @click="searchQuery">查询</a-button>
<a-button type="primary" icon="search" @click="searchQuery" v-has="'wholeInstituteStatistics:search'">查询</a-button>
<a-button icon="reload" @click="searchReset" class="reset-button">重置</a-button>
</span>
</a-col>
@@ -78,7 +79,7 @@
<!-- 操作按钮区域-->
<div class="table-operator">
<a-button type="primary" icon="export" @click="handleExportXls('全所统计')">导出</a-button>
<a-button type="primary" icon="export" @click="handleExportXls('全所统计')" v-has="'wholeInstituteStatistics:export'">导出</a-button>
</div>
<!-- 操作按钮区域-end-->
@@ -90,7 +91,7 @@
bordered
rowKey="id"
:columns="columns"
:scroll="{x: 1200}"
:scroll="{x: 1300}"
:dataSource="dataSource"
:pagination="ipagination"
:loading="loading"
@@ -116,7 +117,7 @@
ref="footTable"
rowKey="id"
:columns="columnsFooter"
:scroll="{x: 1200}"
:scroll="{x: 1300}"
:dataSource="footerDataSource"
:showHeader="false"
:pagination="false"
@@ -166,6 +167,9 @@ export default {
sm: { span: 10 }
},
treeDepartData: [],
replaceFields: {
value: 'orgCode'
},
columns: [
{
title: '序号',
@@ -197,13 +201,15 @@ export default {
}, {
title: '应收金额',
align: 'center',
width: 140,
dataIndex: 'allMoney'
width: 200,
dataIndex: 'allMoney',
scopedSlots: { customRender: 'text' }
}, {
title: '实收金额',
align: 'center',
width: 140,
dataIndex: 'comeAllMoney'
width: 200,
dataIndex: 'comeAllMoney',
scopedSlots: { customRender: 'text' }
}, {
title: '来款用途',
align: 'center',
@@ -239,13 +245,15 @@ export default {
}, {
title: '应收金额',
align: 'center',
width: 140,
dataIndex: 'allMoney'
width: 200,
dataIndex: 'allMoney',
scopedSlots: { customRender: 'text' }
}, {
title: '实收金额',
align: 'center',
width: 140,
dataIndex: 'comeAllMoney'
width: 200,
dataIndex: 'comeAllMoney',
scopedSlots: { customRender: 'text' }
}, {
title: '来款用途',
align: 'center',
@@ -254,6 +262,7 @@ export default {
}
],
footerDataSource: [],
// 给定当年作为来款年份默认查询条件
queryParam: {
year: new Date().getFullYear().toString()
},
@@ -323,7 +332,7 @@ export default {
this.loading = true
getAction(this.url.list, params).then((res) => {
if (res.success) {
this.dataSource = res.result.records
this.dataSource = res.result.pageList.records
// this.dataSource = res.result.pageList.records
let obj = {
id: '1',
@@ -332,8 +341,8 @@ export default {
comeAllMoney: res.result.sumOfReallyMoney.toString()
}
this.footerDataSource = [obj]
if (res.result.total) {
this.ipagination.total = res.result.total
if (res.result.pageList.total) {
this.ipagination.total = res.result.pageList.total
//清空列表选中
this.onClearSelected()
} else {
@@ -395,6 +404,7 @@ export default {
.footer-table {
/deep/ .ant-table-tbody > tr > td {
border: none;
background-color: #F5F5F5;
}
/deep/ .ant-table-fixed-right table {
@@ -9,7 +9,7 @@
<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.contractName"></a-input>
<a-input placeholder="请输入来款项目" v-model="queryParam.projectName"></a-input>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
@@ -19,21 +19,21 @@
</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.paymentDate"></j-year-date>
<j-year-date style="width:100%" placeholder="请选择来款年份" v-model="queryParam.year"></j-year-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 v-model="queryParam.pack"
<j-dict-select-tag v-model="queryParam.inAccountStatue"
placeholder="请选择付款状态"
dictCode="yn"/>
dictCode="pay_statistics_status"/>
</a-form-item>
</a-col>
<a-col :xl="10" :lg="11" :md="12" :sm="24">
<a-form-item label="应收款项" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入应收款项" v-model="queryParam.contractName" class="query-group-cust"></a-input>
<a-input placeholder="请输入应收款项" v-model="queryParam.allMoney" class="query-group-cust"></a-input>
<span class="query-group-split-cust"></span>
<a-input placeholder="请输入应收款项" v-model="queryParam.contractName" class="query-group-cust"></a-input>
<a-input placeholder="请输入应收款项" v-model="queryParam.allMoneyTwo" class="query-group-cust"></a-input>
</a-form-item>
</a-col>
<a-col :xl="4" :lg="7" :md="8" :sm="24">
@@ -49,7 +49,7 @@
<!-- 操作按钮区域-->
<div class="table-operator">
<a-button type="primary" icon="export" @click="handleExportXls('全所统计')">导出</a-button>
<a-button type="primary" icon="export" @click="handleExportXls('个人来款详情')">导出</a-button>
</div>
<!-- 操作按钮区域-end-->
@@ -117,6 +117,7 @@
import PageHeaderTitle from '../../../components/layouts/PageHeaderTitle'
import { JeroListMixin } from '../../../mixins/JeroListMixin'
import JYearDate from '../../../components/jero/JYearDate'
import { getAction } from '@api/manage'
export default {
name: 'IndividualPaymentStatisticsDetail',
@@ -133,7 +134,15 @@ export default {
sm: { span: 10 }
},
url: {
list: ''
list: '/statistics/principalPeople/listForDetail',
exportXlsUrl: '/statistics/principalPeople/excelDetail'
},
// 给定当年作为来款年份默认查询条件
queryParam: {
year: new Date().getFullYear().toString()
},
lastQueryParam: {
year: new Date().getFullYear().toString()
},
columns: [
{
@@ -149,7 +158,7 @@ export default {
title: '来款项目',
align: 'center',
width: 160,
dataIndex: 'workGroup',
dataIndex: 'projectName',
scopedSlots: { customRender: 'text' }
}, {
title: '应收金额',
@@ -167,7 +176,7 @@ export default {
title: '来款用途',
align: 'center',
width: 160,
dataIndex: 'chargeUse_dictText',
dataIndex: 'chargeUse_text',
scopedSlots: { customRender: 'text' }
}
],
@@ -228,7 +237,61 @@ export default {
},
true
)
}
},
loadData(arg) {
if (!this.url.list) {
this.$message.error('请设置url.list属性!')
return
}
//加载数据 若传入参数1则加载第一页的内容
if (arg === 1) {
this.ipagination.current = 1
}
let params = this.getQueryParams()//查询条件
// 负责人id
params.principalNameId = this.$route.query.principalId
this.loading = true
getAction(this.url.list, params).then((res) => {
if (res.success) {
this.dataSource = res.result.pageList.records
// this.dataSource = res.result.pageList.records
let obj = {
id: '1',
title: '总计',
allMoney: res.result.sumOfMoney.toString(),
comeAllMoney: res.result.sumOfReallyMoney.toString()
}
this.footerDataSource = [obj]
if (res.result.pageList.total) {
this.ipagination.total = res.result.pageList.total
//清空列表选中
this.onClearSelected()
} else {
this.ipagination.total = 0
}
}
if (this.dataSource.length > 0) {
this.$nextTick(() => {
this.setScroll()
})
}
if (res.code === 510) {
this.$message.warning(res.message)
}
this.loading = false
}).finally(() => {
this.loading = false
})
},
searchReset() {
this.lastQueryParam = {
year: new Date().getFullYear().toString()
}
this.queryParam = {
year: new Date().getFullYear().toString()
}
this.loadData(1)
},
}
}
</script>
@@ -7,66 +7,38 @@
<div class="table-page-search-wrapper">
<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.contractNum"></a-input>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="来款项目" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入来款项目" v-model="queryParam.contractName"></a-input>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="项目负责人" :labelCol="labelCol" :wrapperCol="wrapperCol">
<select-principal placeholder="请选择项目负责人" v-model="queryParam.principalId"></select-principal>
</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.year"></j-year-date>
</a-form-item>
</a-col>
<a-col :xl="10" :lg="11" :md="12" :sm="24">
<a-form-item label="应收款项" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入应收款项" v-model="queryParam.allMoney" class="query-group-cust"></a-input>
<span class="query-group-split-cust"></span>
<a-input placeholder="请输入应收款项" v-model="queryParam.allMoneyTwo" class="query-group-cust"></a-input>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="所属科室" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-tree-select
style="width:100%"
:dropdownStyle="{ maxHeight: '200px',maxWidth:'100px','overflow-x':'hidden',' overflow-y': 'auto' }"
:treeData="treeDepartData"
v-model="queryParam.departId"
:replaceFields="replaceFields"
v-model="queryParam.departCode"
placeholder="请选择科室">
</a-tree-select>
</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 v-model="queryParam.chargeUse" placeholder="请选择来款用途" dictCode="payment_charge_use"/>
</a-form-item>
</a-col>
<a-col :xl="10" :lg="11" :md="12" :sm="24">
<a-form-item label="应收款项" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入应收款项" v-model="queryParam.contractName" class="query-group-cust"></a-input>
<span class="query-group-split-cust"></span>
<a-input placeholder="请输入应收款项" v-model="queryParam.contractName" class="query-group-cust"></a-input>
</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.paymentDate"></j-year-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 v-model="queryParam.pack"
placeholder="请选择是否打包"
dictCode="yn"/>
</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 v-model="queryParam.pack"
placeholder="请选择付款状态"
dictCode="yn"/>
</a-form-item>
</a-col>
<a-col :xl="4" :lg="7" :md="8" :sm="24">
<span class="table-page-search-submitButtons">
<a-button type="primary" icon="search" @click="searchQuery">查询</a-button>
<a-button type="primary" icon="search" @click="searchQuery" v-has="'individualPaymentStatistics:search'">查询</a-button>
<a-button icon="reload" @click="searchReset" class="reset-button">重置</a-button>
</span>
</a-col>
@@ -77,7 +49,9 @@
<!-- 操作按钮区域-->
<div class="table-operator">
<a-button type="primary" icon="export" @click="handleExportXls('全所统计')">导出</a-button>
<a-button type="primary" icon="export" @click="handleExportXls('个人来款统计')"
v-has="'individualPaymentStatistics:export'">导出
</a-button>
</div>
<!-- 操作按钮区域-end-->
@@ -140,6 +114,7 @@ import { JeroListMixin } from '../../../mixins/JeroListMixin'
import JYearDate from '../../../components/jero/JYearDate'
import SelectPrincipal from '../../../components/company/SelectPrincipal'
import { queryDepartTreeList } from '../../../api/api'
import { getAction } from '@api/manage'
export default {
name: 'IndividualPaymentStatisticsList',
@@ -157,6 +132,9 @@ export default {
sm: { span: 10 }
},
treeDepartData: [],
replaceFields: {
value: 'orgCode'
},
columns: [
{
title: '序号',
@@ -168,37 +146,25 @@ export default {
return parseInt(index) + 1
}
}, {
title: '项目名称',
align: 'center',
// width: 200,
dataIndex: 'chargeProject',
scopedSlots: { customRender: 'projectName' }
}, {
title: '负责人',
title: '项目负责人',
align: 'center',
width: 140,
dataIndex: 'principalName',
scopedSlots: { customRender: 'text' }
}, {
title: '所属科室',
align: 'center',
width: 140,
dataIndex: 'departId',
scopedSlots: { customRender: 'text' }
scopedSlots: { customRender: 'projectName' }
}, {
title: '应收金额',
align: 'center',
width: 140,
dataIndex: 'receivableAmount'
dataIndex: 'allMoney'
}, {
title: '实收金额',
align: 'center',
width: 140,
dataIndex: 'paidAmount'
dataIndex: 'comeAllMoney'
}, {
title: '来款用途',
title: '个人完成率',
align: 'center',
dataIndex: 'chargeUse_dictText',
dataIndex: 'finishRate',
width: 140
}
],
@@ -207,46 +173,42 @@ export default {
title: '序号',
dataIndex: 'title',
key: 'rowIndex',
width: 120,
width: 60,
align: 'center'
}, {
title: '项目名称',
align: 'center',
// width: 200,
dataIndex: 'chargeProject',
scopedSlots: { customRender: 'text' }
}, {
title: '负责人',
title: '项目负责人',
align: 'center',
width: 140,
dataIndex: 'principalName',
scopedSlots: { customRender: 'text' }
}, {
title: '所属科室',
align: 'center',
width: 140,
dataIndex: 'departId',
scopedSlots: { customRender: 'text' }
}, {
title: '应收金额',
align: 'center',
width: 140,
dataIndex: 'receivableAmount'
dataIndex: 'allMoney'
}, {
title: '实收金额',
align: 'center',
width: 140,
dataIndex: 'paidAmount'
dataIndex: 'comeAllMoney'
}, {
title: '来款用途',
title: '个人完成率',
align: 'center',
dataIndex: 'chargeUse_dictText',
width: 140
}
],
footerDataSource: [],
// 给定当年作为来款年份默认查询条件
queryParam: {
year: new Date().getFullYear().toString()
},
lastQueryParam: {
year: new Date().getFullYear().toString()
},
url: {
list: ''
list: '/statistics/principalPeople/list',
exportXlsUrl: '/statistics/principalPeople/excel'
}
}
},
@@ -274,9 +236,12 @@ export default {
true
)
},
goDetail(id) {
goDetail(record) {
this.$router.push({
path: '/statisticalReport/departmentStatistics/IndividualPaymentStatisticsDetail'
path: '/statisticalReport/departmentStatistics/IndividualPaymentStatisticsDetail',
query: {
principalId: record.principalId
}
})
},
/**
@@ -296,6 +261,58 @@ export default {
console.log(res.message)
}
})
},
loadData(arg) {
if (!this.url.list) {
this.$message.error('请设置url.list属性!')
return
}
//加载数据 若传入参数1则加载第一页的内容
if (arg === 1) {
this.ipagination.current = 1
}
let params = this.getQueryParams()//查询条件
this.loading = true
getAction(this.url.list, params).then((res) => {
if (res.success) {
this.dataSource = res.result.pageList.records
// this.dataSource = res.result.pageList.records
let obj = {
id: '1',
title: '总计',
allMoney: res.result.sumOfMoney.toString(),
comeAllMoney: res.result.sumOfReallyMoney.toString()
}
this.footerDataSource = [obj]
if (res.result.pageList.total) {
this.ipagination.total = res.result.pageList.total
//清空列表选中
this.onClearSelected()
} else {
this.ipagination.total = 0
}
}
if (this.dataSource.length > 0) {
this.$nextTick(() => {
this.setScroll()
})
}
if (res.code === 510) {
this.$message.warning(res.message)
}
this.loading = false
}).finally(() => {
this.loading = false
})
},
searchReset() {
this.lastQueryParam = {
year: new Date().getFullYear().toString()
}
this.queryParam = {
year: new Date().getFullYear().toString()
}
this.loadData(1)
}
}
}
@@ -330,6 +347,7 @@ export default {
.footer-table {
/deep/ .ant-table-tbody > tr > td {
border: none;
background-color: #F5F5F5;
}
/deep/ .ant-table-fixed-right table {
@@ -7,9 +7,14 @@
<div class="table-page-search-wrapper">
<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.chargeCompanyTemporaryName"></a-input>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="来款项目" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入来款项目" v-model="queryParam.contractName"></a-input>
<a-input placeholder="请输入来款项目" v-model="queryParam.projectName"></a-input>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
@@ -19,26 +24,37 @@
</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.paymentDate"></j-year-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 v-model="queryParam.pack"
placeholder="请选择付款状态"
dictCode="yn"/>
<j-year-date style="width:100%" placeholder="请选择来款年份" v-model="queryParam.year"></j-year-date>
</a-form-item>
</a-col>
<a-col :xl="10" :lg="11" :md="12" :sm="24">
<a-form-item label="应收款项" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入应收款项" v-model="queryParam.contractName" class="query-group-cust"></a-input>
<a-input placeholder="请输入应收款项" v-model="queryParam.allMoney" class="query-group-cust"></a-input>
<span class="query-group-split-cust"></span>
<a-input placeholder="请输入应收款项" v-model="queryParam.contractName" class="query-group-cust"></a-input>
<a-input placeholder="请输入应收款项" v-model="queryParam.allMoneyTwo" class="query-group-cust"></a-input>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="项目负责人" :labelCol="labelCol" :wrapperCol="wrapperCol">
<select-principal placeholder="请选择项目负责人" v-model="queryParam.principalNameId"></select-principal>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="所属科室" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-tree-select
style="width:100%"
:dropdownStyle="{ maxHeight: '200px',maxWidth:'100px','overflow-x':'hidden',' overflow-y': 'auto' }"
:treeData="treeDepartData"
:replaceFields="replaceFields"
v-model="queryParam.departCode"
placeholder="请选择科室">
</a-tree-select>
</a-form-item>
</a-col>
<a-col :xl="4" :lg="7" :md="8" :sm="24">
<span class="table-page-search-submitButtons">
<a-button type="primary" icon="search" @click="searchQuery">查询</a-button>
<a-button type="primary" icon="search" @click="searchQuery"
v-has="'projectPaymentStatistics:search'">查询</a-button>
<a-button icon="reload" @click="searchReset" class="reset-button">重置</a-button>
</span>
</a-col>
@@ -49,7 +65,9 @@
<!-- 操作按钮区域-->
<div class="table-operator">
<a-button type="primary" icon="export" @click="handleExportXls('全所统计')">导出</a-button>
<a-button type="primary" icon="export" @click="handleExportXls('全所统计')"
v-has="'projectPaymentStatistics:export'">导出
</a-button>
</div>
<!-- 操作按钮区域-end-->
@@ -79,12 +97,7 @@
<j-ellipsis :value="text" :length="18"></j-ellipsis>
</template>
<span slot="action" class="action-span-cell" slot-scope="text, record">
<a @click="goDetail(record.id)">详情</a>
</span>
<template slot="footer" v-if="dataSource.length > 0">
<a-table
size="middle"
ref="footTable"
@@ -96,12 +109,6 @@
:scroll="{x: 1100}"
class="j-table-force-nowrap footer-table">
<!-- 项目名称-->
<template slot="projectName" slot-scope="text, record">
<j-ellipsis :value="text" :length="18" class="primary-color"
@click="openDetailModal(record)"></j-ellipsis>
</template>
<template slot="text" slot-scope="text">
<j-ellipsis :value="text" :length="18"></j-ellipsis>
</template>
@@ -118,10 +125,13 @@ import IconImg from '@/assets/imgs/icon/icon_statistical_report.png'
import PageHeaderTitle from '../../../components/layouts/PageHeaderTitle'
import { JeroListMixin } from '../../../mixins/JeroListMixin'
import JYearDate from '../../../components/jero/JYearDate'
import { getAction } from '@api/manage'
import SelectPrincipal from '@comp/company/SelectPrincipal'
import { queryDepartTreeList } from '@api/api'
export default {
name: 'ProjectPaymentStatisticsList',
components: { PageHeaderTitle, JYearDate },
components: { PageHeaderTitle, JYearDate, SelectPrincipal },
mixins: [JeroListMixin],
data() {
return {
@@ -135,7 +145,8 @@ export default {
sm: { span: 10 }
},
url: {
list: ''
list: '/statistics/allProjectStatistics/list',
exportXlsUrl: '/statistics/allProjectStatistics/statistics/excel'
},
columns: [
{
@@ -147,11 +158,23 @@ export default {
customRender: function (t, r, index) {
return parseInt(index) + 1
}
}, {
title: '项目负责人',
align: 'center',
width: 160,
dataIndex: 'principalName',
scopedSlots: { customRender: 'text' }
}, {
title: '来款项目',
align: 'center',
width: 160,
dataIndex: 'workGroup',
dataIndex: 'projectName',
scopedSlots: { customRender: 'text' }
}, {
title: '来款单位',
align: 'center',
width: 160,
dataIndex: 'chargeCompanyTemporaryName',
scopedSlots: { customRender: 'text' }
}, {
title: '应收金额',
@@ -169,7 +192,7 @@ export default {
title: '来款用途',
align: 'center',
width: 160,
dataIndex: 'chargeUse_dictText',
dataIndex: 'chargeUse_text',
scopedSlots: { customRender: 'text' }
}
],
@@ -180,11 +203,23 @@ export default {
dataIndex: 'title',
width: 100,
align: 'center'
}, {
title: '项目负责人',
align: 'center',
width: 160,
dataIndex: 'principalName',
scopedSlots: { customRender: 'text' }
}, {
title: '来款项目',
align: 'center',
width: 160,
dataIndex: 'workGroup',
dataIndex: 'projectName',
scopedSlots: { customRender: 'text' }
}, {
title: '来款单位',
align: 'center',
width: 160,
dataIndex: 'chargeCompanyTemporaryName',
scopedSlots: { customRender: 'text' }
}, {
title: '应收金额',
@@ -202,18 +237,50 @@ export default {
title: '来款用途',
align: 'center',
width: 160,
dataIndex: 'chargeUse_dictText',
dataIndex: 'chargeUse_text',
scopedSlots: { customRender: 'text' }
}
],
// 总计数据
footerDataSource: []
footerDataSource: [],
// 给定当年作为来款年份默认查询条件
queryParam: {
year: new Date().getFullYear().toString()
},
lastQueryParam: {
year: new Date().getFullYear().toString()
},
treeDepartData: [], // 部门数据
replaceFields: {
value: 'orgCode'
},
}
},
created() {
this.loadDepartTreeData()
},
mounted() {
this.setScroll()
},
methods: {
/**
* 获取科室(部门)数据
*/
loadDepartTreeData() {
queryDepartTreeList().then((res) => {
if (res.success) {
this.treeDepartData = []
let treeList = res.result
for (let a = 0; a < treeList.length; a++) {
let temp = treeList[a]
temp.isLeaf = temp.leaf
this.treeDepartData.push(temp)
}
} else {
console.log(res.message)
}
})
},
// 同步表与footer滚动,保留底部滚动条
setScroll() {
if (this.dataSource.length === 0) {
@@ -230,6 +297,58 @@ export default {
},
true
)
},
loadData(arg) {
if (!this.url.list) {
this.$message.error('请设置url.list属性!')
return
}
//加载数据 若传入参数1则加载第一页的内容
if (arg === 1) {
this.ipagination.current = 1
}
let params = this.getQueryParams()//查询条件
this.loading = true
getAction(this.url.list, params).then((res) => {
if (res.success) {
this.dataSource = res.result.pageList.records
// this.dataSource = res.result.pageList.records
let obj = {
id: '1',
title: '总计',
allMoney: res.result.sumOfMoney.toString(),
comeAllMoney: res.result.sumOfReallyMoney.toString()
}
this.footerDataSource = [obj]
if (res.result.pageList.total) {
this.ipagination.total = res.result.pageList.total
//清空列表选中
this.onClearSelected()
} else {
this.ipagination.total = 0
}
}
if (this.dataSource.length > 0) {
this.$nextTick(() => {
this.setScroll()
})
}
if (res.code === 510) {
this.$message.warning(res.message)
}
this.loading = false
}).finally(() => {
this.loading = false
})
},
searchReset() {
this.lastQueryParam = {
year: new Date().getFullYear().toString()
}
this.queryParam = {
year: new Date().getFullYear().toString()
}
this.loadData(1)
}
}
}
@@ -9,7 +9,7 @@
<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.contractName"></a-input>
<a-input placeholder="请输入来款项目" v-model="queryParam.projectName"></a-input>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
@@ -19,21 +19,21 @@
</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.paymentDate"></j-year-date>
<j-year-date style="width:100%" placeholder="请选择来款年份" v-model="queryParam.year"></j-year-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 v-model="queryParam.pack"
<j-dict-select-tag v-model="queryParam.inAccountStatue"
placeholder="请选择付款状态"
dictCode="yn"/>
</a-form-item>
</a-col>
<a-col :xl="10" :lg="11" :md="12" :sm="24">
<a-form-item label="应收款项" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入应收款项" v-model="queryParam.contractName" class="query-group-cust"></a-input>
<a-input placeholder="请输入应收款项" v-model="queryParam.allMoney" class="query-group-cust"></a-input>
<span class="query-group-split-cust"></span>
<a-input placeholder="请输入应收款项" v-model="queryParam.contractName" class="query-group-cust"></a-input>
<a-input placeholder="请输入应收款项" v-model="queryParam.allMoneyTwo" class="query-group-cust"></a-input>
</a-form-item>
</a-col>
<a-col :xl="4" :lg="7" :md="8" :sm="24">
@@ -118,6 +118,7 @@
import PageHeaderTitle from '../../../components/layouts/PageHeaderTitle'
import { JeroListMixin } from '../../../mixins/JeroListMixin'
import JYearDate from '../../../components/jero/JYearDate'
import { getAction } from '@api/manage'
export default {
name: 'EnterprisePaymentStatisticsDetail',
@@ -134,7 +135,8 @@ export default {
sm: { span: 10 }
},
url: {
list: ''
list: '/statistics/companyComeMoney/listForDetail',
exportXlsUrl: '/statistics/companyComeMoney/excelDetail'
},
columns: [
{
@@ -149,31 +151,31 @@ export default {
}, {
title: '项目负责人',
align: 'center',
dataIndex: 'workGroup',
dataIndex: 'principalName',
scopedSlots: { customRender: 'text' }
}, {
title: '来款单位',
align: 'center',
width: 160,
dataIndex: 'allMoney',
dataIndex: 'chargeCompanyName',
scopedSlots: { customRender: 'text' }
}, {
title: '应收金额',
align: 'center',
width: 160,
dataIndex: 'comeAllMoney',
dataIndex: 'allMoney',
scopedSlots: { customRender: 'text' }
}, {
title: '实收金额',
align: 'center',
width: 160,
dataIndex: 'moneyRate',
dataIndex: 'comeAllMoney',
scopedSlots: { customRender: 'text' }
}, {
title: '来款用途',
align: 'center',
width: 160,
dataIndex: 'chargeUse_dictText',
dataIndex: 'chargeUse_text',
scopedSlots: { customRender: 'text' }
}
],
@@ -187,36 +189,43 @@ export default {
}, {
title: '项目负责人',
align: 'center',
dataIndex: 'workGroup',
dataIndex: 'principalName',
scopedSlots: { customRender: 'text' }
}, {
title: '来款单位',
align: 'center',
width: 160,
dataIndex: 'allMoney',
dataIndex: 'chargeCompanyName',
scopedSlots: { customRender: 'text' }
}, {
title: '应收金额',
align: 'center',
width: 160,
dataIndex: 'comeAllMoney',
dataIndex: 'allMoney',
scopedSlots: { customRender: 'text' }
}, {
title: '实收金额',
align: 'center',
width: 160,
dataIndex: 'moneyRate',
dataIndex: 'comeAllMoney',
scopedSlots: { customRender: 'text' }
}, {
title: '来款用途',
align: 'center',
width: 160,
dataIndex: 'chargeUse_dictText',
dataIndex: 'chargeUse_text',
scopedSlots: { customRender: 'text' }
}
],
// 总计数据
footerDataSource: []
footerDataSource: [],
// 给定当年作为来款年份默认查询条件
queryParam: {
year: new Date().getFullYear().toString()
},
lastQueryParam: {
year: new Date().getFullYear().toString()
},
}
},
mounted() {
@@ -239,7 +248,61 @@ export default {
},
true
)
}
},
loadData(arg) {
if (!this.url.list) {
this.$message.error('请设置url.list属性!')
return
}
//加载数据 若传入参数1则加载第一页的内容
if (arg === 1) {
this.ipagination.current = 1
}
let params = this.getQueryParams()//查询条件
// 企业id
params.chargeCompanyTemporaryId = this.$route.query.chargeCompanyId
this.loading = true
getAction(this.url.list, params).then((res) => {
if (res.success) {
this.dataSource = res.result.pageList.records
// this.dataSource = res.result.pageList.records
let obj = {
id: '1',
title: '总计',
allMoney: res.result.sumOfMoney.toString(),
comeAllMoney: res.result.sumOfReallyMoney.toString()
}
this.footerDataSource = [obj]
if (res.result.pageList.total) {
this.ipagination.total = res.result.pageList.total
//清空列表选中
this.onClearSelected()
} else {
this.ipagination.total = 0
}
}
if (this.dataSource.length > 0) {
this.$nextTick(() => {
this.setScroll()
})
}
if (res.code === 510) {
this.$message.warning(res.message)
}
this.loading = false
}).finally(() => {
this.loading = false
})
},
searchReset() {
this.lastQueryParam = {
year: new Date().getFullYear().toString()
}
this.queryParam = {
year: new Date().getFullYear().toString()
}
this.loadData(1)
},
}
}
</script>
@@ -273,6 +336,7 @@ export default {
.footer-table {
/deep/ .ant-table-tbody > tr > td {
border: none;
background-color: #F5F5F5;
}
/deep/ .ant-table-fixed-right table {
@@ -8,8 +8,8 @@
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row>
<a-col :xxl="4" :xl="10" :lg="12" :md="12" :sm="24">
<a-form-item label="来款企业" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入来款企业" v-model="queryParam.workGroup"></a-input>
<a-form-item label="来款企业" :labelCol="labelCol" :wrapperCol="wrapperCol" style="margin-bottom: -1px">
<company-select :can-add="false" placeholder="请选择来款企业" v-model="queryParam.chargeCompany"></company-select>
</a-form-item>
</a-col>
<a-col :xxl="4" :xl="10" :lg="12" :md="12" :sm="24">
@@ -19,14 +19,14 @@
</a-col>
<a-col :xl="10" :lg="11" :md="12" :sm="24">
<a-form-item label="应收款项" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入应收款项" v-model="queryParam.contractName" class="query-group-cust"></a-input>
<a-input placeholder="请输入应收款项" v-model="queryParam.allMoney" class="query-group-cust"></a-input>
<span class="query-group-split-cust"></span>
<a-input placeholder="请输入应收款项" v-model="queryParam.contractName" class="query-group-cust"></a-input>
<a-input placeholder="请输入应收款项" v-model="queryParam.allMoneyTwo" class="query-group-cust"></a-input>
</a-form-item>
</a-col>
<a-col :xl="4" :lg="7" :md="8" :sm="24">
<span class="table-page-search-submitButtons">
<a-button type="primary" icon="search" @click="searchQuery">查询</a-button>
<a-button type="primary" icon="search" @click="searchQuery" v-has="'companyPaymentStatistics:search'">查询</a-button>
<a-button icon="reload" @click="searchReset" class="reset-button">重置</a-button>
</span>
</a-col>
@@ -37,7 +37,7 @@
<!-- 操作按钮区域-->
<div class="table-operator">
<a-button type="primary" icon="export" @click="handleExportXls('全所统计')">导出</a-button>
<a-button type="primary" icon="export" @click="handleExportXls('企业来款统计')" v-has="'companyPaymentStatistics:export'">导出</a-button>
</div>
<!-- 操作按钮区域-end-->
@@ -68,7 +68,7 @@
</template>
<span slot="action" class="action-span-cell" slot-scope="text, record">
<a @click="goDetail(record.id)">详情</a>
<a @click="goDetail(record)" v-has="'companyPaymentStatistics:detail'">详情</a>
</span>
<template slot="footer" v-if="dataSource.length > 0">
@@ -93,6 +93,7 @@
<template slot="text" slot-scope="text">
<j-ellipsis :value="text" :length="18"></j-ellipsis>
</template>
</a-table>
</template>
@@ -107,10 +108,12 @@ import IconImg from '@/assets/imgs/icon/icon_statistical_report.png'
import PageHeaderTitle from '../../../components/layouts/PageHeaderTitle'
import { JeroListMixin } from '../../../mixins/JeroListMixin'
import JYearDate from '../../../components/jero/JYearDate'
import { getAction } from '@api/manage'
import CompanySelect from '@comp/company/CompanySelect'
export default {
name: 'EnterprisePaymentStatisticsList',
components: { PageHeaderTitle, JYearDate },
components: { PageHeaderTitle, JYearDate, CompanySelect },
mixins: [JeroListMixin],
data() {
return {
@@ -124,7 +127,8 @@ export default {
sm: { span: 10 }
},
url: {
list: ''
list: '/statistics/companyComeMoney/list',
exportXlsUrl: ''
},
columns: [
{
@@ -139,7 +143,7 @@ export default {
}, {
title: '来款企业',
align: 'center',
dataIndex: 'workGroup',
dataIndex: 'chargeCompanyTemporaryName',
scopedSlots: { customRender: 'text' }
}, {
title: '应收总金额',
@@ -172,7 +176,7 @@ export default {
}, {
title: '来款企业',
align: 'center',
dataIndex: 'workGroup',
dataIndex: 'chargeCompanyTemporaryName',
scopedSlots: { customRender: 'text' }
}, {
title: '应收总金额',
@@ -195,17 +199,26 @@ export default {
}
],
// 总计数据
footerDataSource: []
footerDataSource: [],
// 给定当年作为来款年份默认查询条件
queryParam: {
year: new Date().getFullYear().toString()
},
lastQueryParam: {
year: new Date().getFullYear().toString()
},
}
},
mounted() {
this.setScroll()
},
methods: {
goDetail(id) {
console.log(id)
goDetail(record) {
this.$router.push({
path: '/statisticalReport/enterprisePaymentStatistics/EnterprisePaymentStatisticsDetail'
path: '/statisticalReport/enterprisePaymentStatistics/EnterprisePaymentStatisticsDetail',
query: {
chargeCompanyId: record.chargeCompanyTemporaryId
}
})
},
// 同步表与footer滚动,保留底部滚动条
@@ -224,6 +237,64 @@ export default {
},
true
)
},
loadData(arg) {
if (!this.url.list) {
this.$message.error('请设置url.list属性!')
return
}
//加载数据 若传入参数1则加载第一页的内容
if (arg === 1) {
this.ipagination.current = 1
}
let params = this.getQueryParams()//查询条件
if (params.chargeCompany) {
params.chargeCompanyId = params.chargeCompany.id
}
// 将企业信息对象从查询参数中去掉
delete params.chargeCompany
console.log(params)
this.loading = true
getAction(this.url.list, params).then((res) => {
if (res.success) {
this.dataSource = res.result.pageList.records
// this.dataSource = res.result.pageList.records
let obj = {
id: '1',
title: '总计',
allMoney: res.result.sumOfMoney.toString(),
comeAllMoney: res.result.sumOfReallyMoney.toString()
}
this.footerDataSource = [obj]
if (res.result.pageList.total) {
this.ipagination.total = res.result.pageList.total
//清空列表选中
this.onClearSelected()
} else {
this.ipagination.total = 0
}
}
if (this.dataSource.length > 0) {
this.$nextTick(() => {
this.setScroll()
})
}
if (res.code === 510) {
this.$message.warning(res.message)
}
this.loading = false
}).finally(() => {
this.loading = false
})
},
searchReset() {
this.lastQueryParam = {
year: new Date().getFullYear().toString()
}
this.queryParam = {
year: new Date().getFullYear().toString()
}
this.loadData(1)
}
}
}
@@ -258,6 +329,7 @@ export default {
.footer-table {
/deep/ .ant-table-tbody > tr > td {
border: none;
background-color: #F5F5F5;
}
/deep/ .ant-table-fixed-right table {
@@ -343,6 +343,7 @@ export default {
.footer-table {
/deep/ .ant-table-tbody > tr > td {
border: none;
background-color: #F5F5F5;
}
/deep/ .ant-table-fixed-right table {
@@ -26,7 +26,7 @@
</a-col>
<a-col :xl="4" :lg="7" :md="8" :sm="24">
<span class="table-page-search-submitButtons">
<a-button type="primary" icon="search" @click="searchQuery">查询</a-button>
<a-button type="primary" icon="search" @click="searchQuery" v-has="'workingGroupPaymentStatistics:search'">查询</a-button>
<a-button icon="reload" @click="searchReset" class="reset-button">重置</a-button>
</span>
</a-col>
@@ -37,7 +37,7 @@
<!-- 操作按钮区域-->
<div class="table-operator">
<a-button type="primary" icon="export" @click="handleExportXls('工作组来款统计')">导出</a-button>
<a-button type="primary" icon="export" @click="handleExportXls('工作组来款统计')" v-has="'workingGroupPaymentStatistics:export'">导出</a-button>
</div>
<!-- 操作按钮区域-end-->
@@ -69,7 +69,7 @@
</template>
<span slot="action" class="action-span-cell" slot-scope="text, record">
<a @click="goDetail(record.id)">详情</a>
<a @click="goDetail(record.id)" v-has="'workingGroupPaymentStatistics:detail'">详情</a>
</span>
<template slot="footer" v-if="dataSource.length > 0">
@@ -210,6 +210,7 @@ export default {
width: 160
}
],
// 给定当年作为来款年份默认查询条件
queryParam: {
year: new Date().getFullYear().toString()
},
@@ -332,6 +333,7 @@ export default {
.footer-table {
/deep/ .ant-table-tbody > tr > td {
border: none;
background-color: #F5F5F5;
}
/deep/ .ant-table-fixed-right table {
+7 -7
View File
@@ -6,14 +6,14 @@
<a-card :bordered="false" style="padding: 12px 0;">
<!-- 按钮操作区域 -->
<a-row style="margin-left: 14px" class="table-operator">
<a-button @click="handleAdd(1)" type="primary">新增</a-button>
<a-button @click="handleAdd(2)" type="primary">添加下级</a-button>
<a-button type="primary" icon="download" @click="handleExportXls('部门信息')">导出</a-button>
<a-button @click="handleAdd(1)" type="primary" v-has="'sys:depart:add'">新增</a-button>
<a-button @click="handleAdd(2)" type="primary" v-has="'sys:depart:addLowerLevel'">添加下级</a-button>
<a-button type="primary" icon="download" @click="handleExportXls('部门信息')" v-has="'sys:depart:export'">导出</a-button>
<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader"
:action="importExcelUrl" @change="handleImportExcel">
:action="importExcelUrl" @change="handleImportExcel" v-has="'sys:depart:import'">
<a-button type="primary" icon="import">导入</a-button>
</a-upload>
<a-button @click="batchDel" type="danger" icon="delete">批量删除</a-button>
<a-button @click="batchDel" type="danger" icon="delete" v-has="'sys:depart:batchDel'">批量删除</a-button>
<!--<a-button @click="refresh" type="default" icon="reload" :loading="loading">刷新</a-button>-->
</a-row>
<div style="background: #fff;padding-left:16px;height: 100%; margin-top: 5px">
@@ -45,8 +45,8 @@
</span>
<!--新增右键点击事件,和增加添加和删除功能-->
<a-menu slot="overlay">
<a-menu-item @click="handleAdd(3)" key="1">添加</a-menu-item>
<a-menu-item @click="handleDelete" key="2">删除</a-menu-item>
<a-menu-item @click="handleAdd(3)" key="1" v-has="'sys:depart:add'">添加</a-menu-item>
<a-menu-item @click="handleDelete" key="2" v-has="'sys:depart:del'">删除</a-menu-item>
<a-menu-item @click="closeDrop" key="3">取消</a-menu-item>
</a-menu>
</a-dropdown>
+3 -3
View File
@@ -43,7 +43,7 @@
</a-row>
<a-row>
<a-col :md="2" :sm="24">
<a-button style="margin-bottom: 10px" type="primary" @click="handleAdd">新增</a-button>
<a-button style="margin-bottom: 10px" type="primary" @click="handleAdd" v-has="'dic:item:add'">新增</a-button>
</a-col>
</a-row>
</a-form>
@@ -63,11 +63,11 @@
>
<span slot="action" slot-scope="text, record" class="action-span-cell">
<a @click="handleEdit(record)">编辑</a>
<a @click="handleEdit(record)" v-has="'dic:item:edit'">编辑</a>
<!-- <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">-->
<!-- -->
<!-- </a-popconfirm>-->
<a @click="handleDelete(record.id)">删除</a>
<a @click="handleDelete(record.id)" v-has="'dic:item:delete'">删除</a>
</span>
<template slot="text" slot-scope="text">
<span v-if="!text"></span>
+4 -4
View File
@@ -19,7 +19,7 @@
</a-col>
<a-col :md="7" :sm="8">
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
<a-button type="primary" @click="searchQuery" icon="search" v-has="'sys:dict:search'">查询</a-button>
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
</span>
</a-col>
@@ -35,9 +35,9 @@
v-has="'sys:dict:import'" @change="handleImportExcel">
<a-button type="primary" icon="import">导入</a-button>
</a-upload>
<a-button type="primary" icon="sync" @click="refleshCache()">刷新缓存</a-button>
<a-button type="primary" icon="sync" @click="refleshCache()" v-has="'sys:dict:refleshCache'">刷新缓存</a-button>
<a-button type="primary" icon="hdd" @click="openDeleteList">回收站</a-button>
<a-button type="primary" icon="hdd" @click="openDeleteList" v-has="'sys:dict:deleteList'">回收站</a-button>
</div>
<a-table
@@ -55,7 +55,7 @@
<a-icon type="edit"/>
编辑
</a>
<a @click="editDictItem(record)"><a-icon type="setting"/> 字典配置</a>
<a @click="editDictItem(record)" v-has="'sys:dict:editDictItem'"><a-icon type="setting"/> 字典配置</a>
<!-- <a-popconfirm title="确定删除吗?" @confirm="() =>handleDelete(record.id)">-->
<!-- </a-popconfirm>\-->
+1 -1
View File
@@ -40,7 +40,7 @@
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-col :md="6" :sm="24">
<a-button type="primary" style="left: 10px" @click="searchQuery" icon="search">查询</a-button>
<a-button type="primary" style="left: 10px" @click="searchQuery" icon="search" v-has="'sys:log:search'">查询</a-button>
<a-button type="primary" @click="searchReset" icon="reload"
style="margin-left: 8px;left: 10px">重置</a-button>
</a-col>
+4 -4
View File
@@ -14,7 +14,7 @@
</a-col>
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-col :md="12" :sm="24">
<a-button type="primary" @click="searchQuery" icon="search" style="margin-left: 21px">查询</a-button>
<a-button type="primary" @click="searchQuery" icon="search" style="margin-left: 21px" v-has="'sys:role:search'">查询</a-button>
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
</a-col>
</span>
@@ -24,8 +24,8 @@
<!-- 操作按钮区域 -->
<div class="table-operator" style="margin: 5px 0 10px 2px">
<a-button @click="handleAdd" type="primary" icon="plus" v-has="'sys:role:add'">新增</a-button>
<a-button @click="handleAddLowerLevel" type="primary" icon="plus">添加下级</a-button>
<a-button @click="batchDel" type="danger" icon="delete">批量删除</a-button>
<a-button @click="handleAddLowerLevel" type="primary" icon="plus" v-has="'sys:role:addLowerLevel'">添加下级</a-button>
<a-button @click="batchDel" type="danger" icon="delete" v-has="'sys:role:batchDel'">批量删除</a-button>
</div>
<div style="margin-top: 15px">
<a-table
@@ -43,7 +43,7 @@
@expandedRowsChange="handleExpandedRowsChange"
@change="handleTableChange">
<span slot="action" class="action-span-cell" slot-scope="text, record">
<a @click="handlePerssion(record.id)">授权</a>
<a @click="handlePerssion(record.id)" v-has="'sys:role:perssion'">授权</a>
<a @click="handleEdit(record)" v-has="'sys:role:edit'">编辑</a>
<a @click="handleDelete(record.id)" v-has="'sys:role:del'">删除</a>
</span>
+8 -7
View File
@@ -46,7 +46,7 @@
<a-col :md="6" :sm="8">
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
<a-button type="primary" @click="searchQuery" icon="search" v-has="'user:search'">查询</a-button>
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
</span>
</a-col>
@@ -57,13 +57,13 @@
<!-- 操作按钮区域 -->
<div class="table-operator" style="border-top: 5px">
<a-button @click="handleAdd" type="primary" icon="plus" v-has="'user:add'">新增</a-button>
<a-button @click="downTemplate('用户导入模板')" type="primary" icon="download">下载模板</a-button>
<a-button @click="downTemplate('用户导入模板')" type="primary" icon="download" v-has="'user:downTemplate'">下载模板</a-button>
<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl"
@change="handleImportExcel">
@change="handleImportExcel" v-has="'sys:user:import'">
<a-button type="primary" icon="import">导入</a-button>
</a-upload>
<a-button @click="handleExportXls('用户列表')" type="primary" icon="export">导出</a-button>
<a-button @click="batchDel" type="danger" icon="delete">批量删除</a-button>
<a-button @click="handleExportXls('用户列表')" type="primary" icon="export" v-has="'sys:user:export'">导出</a-button>
<a-button @click="batchDel" type="danger" icon="delete" v-has="'user:batchDel'">批量删除</a-button>
</div>
<!-- table区域-begin -->
@@ -86,9 +86,10 @@
<span slot="action" class="action-span-cell" slot-scope="text, record">
<!-- 1是启用 2是禁用 按钮需要反着来-->
<a @click="handleEnable(record)"
:class="{'color-red':record.status === 1}">{{ record.status === 1 ? '禁用' : '启用' }}</a>
:class="{'color-red':record.status === 1}"
v-has="'user:enable'">{{ record.status === 1 ? '禁用' : '启用' }}</a>
<a @click="handleEdit(record)" v-has="'user:edit'">编辑</a>
<a @click="resetPassword(record)">重置密码</a>
<a @click="resetPassword(record)" v-has="'user:resetPassword'">重置密码</a>
<a @click="handleDelete(record.id)" v-has="'sys:user:del'">删除</a>
</span>
<template slot="text" slot-scope="text">
+10 -1
View File
@@ -154,7 +154,6 @@ export default {
that.loginBtn = true
that.form.validateFields([ 'username', 'password','inputCode', 'rememberMe' ], { force: true }, (err, values) => {
if (!err) {
loginParams.remember_me = values.rememberMe
loginParams.captcha = that.inputCodeContent
loginParams.checkKey = that.currdatetime
@@ -169,6 +168,16 @@ export default {
that.Login(loginParams).then(() => {
this.loginSuccess()
}).catch((err) => {
if (err.message === 'updatePassword') {
this.$notification.error({
message: '登录失败',
description: '不能使用默认密码登录,请修改密码后登录!'
})
that.$router.push({
path: '/user/alteration'
})
return
}
if (err.code === 500) {
// 刷新验证码
this.handleChangeCheckCode()
+105 -68
View File
@@ -10,6 +10,22 @@
<div class='alteration-content'>
<a-form :form="form">
<span class='setPassword'>设置密码</span>
<a-row>
<a-col :span='22'>
<a-form-item
label="用户名"
:labelCol="{span: 5}"
:wrapperCol="{span: 19}"
>
<a-input
type="text"
v-decorator="['username',{ rules: validatorRules.username.rules}]"
placeholder="请输入用户名">
</a-input>
</a-form-item>
</a-col>
<a-col :span='6'></a-col>
</a-row>
<a-row>
<a-col :span='22'>
<a-form-item
@@ -36,7 +52,7 @@
<a-input
v-decorator="['captcha', { rules: validatorRules.captcha.rules}]"
type="text"
placeholder="验证码">
placeholder="请输入验证码">
</a-input>
<a-button
tabindex="-1"
@@ -55,7 +71,7 @@
:labelCol="{span: 5}"
:wrapperCol="{span: 19}">
<a-input
placeholder="新密码"
placeholder="请输入新密码"
v-decorator="['password', { rules: validatorRules.password.rules}]"
type="password">
</a-input>
@@ -70,7 +86,7 @@
:labelCol="{span: 5}"
:wrapperCol="{span: 19}">
<a-input
placeholder="确认密码"
placeholder="请输入确认密码"
v-decorator="['confirmPassword', { rules: validatorRules.confirmPassword.rules}]"
type="password"
autocomplete="false">
@@ -99,20 +115,25 @@
import { getAction, postAction } from '@/api/manage'
export default {
name: "Alteration",
name: 'Alteration',
components: {},
data() {
return {
form: this.$form.createForm(this),
loading: false,
validatorRules: {
username: {
rules: [
{ required: true, message: '请输入用户名!' }],
validateTrigger: 'blur'
},
phone: {
rules: [
{required: true, message: '请输入手机号码!'},{validator: this.validatePhone}],
{ required: true, message: '请输入手机号码!' }, { validator: this.validatePhone }],
validateTrigger: 'blur'
},
captcha: {
rules: [{required: true, message: '请输入短信验证码!'}],
rules: [{ required: true, message: '请输入短信验证码!' }],
validateTrigger: 'blur'
},
password: {
@@ -127,15 +148,15 @@ export default {
},
confirmPassword: {
rules: [
{required: true, message: '密码不能为空!'},
{validator: this.handlePasswordCheck}
{ required: true, message: '密码不能为空!' },
{ validator: this.handlePasswordCheck }
],
validateTrigger: 'blur'
},
}
},
state: {
time: 60,
smsSendBtn: false,
smsSendBtn: false
},
userList: {}
}
@@ -148,16 +169,16 @@ export default {
if (!err) {
let params = {}
console.log(values, '======values')
params.phone = values.phone;
params.password = values.password;
params.captcha = values.captcha;
params.confirmPassword = values.confirmPassword;
getAction("/sys/user/passwordChange", params).then((res) => {
params.phone = values.phone
params.password = values.password
params.captcha = values.captcha
params.confirmPassword = values.confirmPassword
getAction('/sys/user/passwordChange', params).then((res) => {
if (res.success) {
that.loading = false
that.$router.go(-1)
} else {
this.passwordFailed(res.message);
this.passwordFailed(res.message)
that.loading = false
}
})
@@ -170,25 +191,25 @@ export default {
this.$router.go(-1)
},
passwordFailed(err) {
this.$notification[ 'error' ]({
message: "更改密码失败",
description:err,
duration: 4,
});
this.$notification['error']({
message: '更改密码失败',
description: err,
duration: 4
})
},
validatePhone(rule,value,callback){
if(value){
var myreg=/^[1][3,4,5,7,8][0-9]{9}$/;
if(!myreg.test(value)){
callback("请输入正确的手机号")
}else{
callback();
validatePhone(rule, value, callback) {
if (value) {
var myreg = /^[1][3,4,5,7,8][0-9]{9}$/
if (!myreg.test(value)) {
callback('请输入正确的手机号')
} else {
callback()
}
}else{
} else {
callback()
}
},
handlePasswordCheck (rule, value, callback) {
handlePasswordCheck(rule, value, callback) {
let password = this.form.getFieldValue('password')
if (value && password && value.trim() !== password.trim()) {
callback(new Error('两次密码不一致'))
@@ -196,70 +217,74 @@ export default {
callback()
},
getCaptcha(e) {
e.preventDefault();
let that = this;
let phone=that.form.getFieldValue("phone")
if(!phone){
this.cmsFailed("手机号不能为空!");
return;
e.preventDefault()
let that = this
let phone = that.form.getFieldValue('phone')
if (!phone) {
this.cmsFailed('手机号不能为空!')
return
}
this.state.smsSendBtn = true;
this.state.smsSendBtn = true
let interval = window.setInterval(() => {
if (that.state.time-- <= 0) {
that.state.time = 60;
that.state.smsSendBtn = false;
window.clearInterval(interval);
that.state.time = 60
that.state.smsSendBtn = false
window.clearInterval(interval)
}
}, 1000);
}, 1000)
const hide = this.$message.loading('验证码发送中..', 0);
const hide = this.$message.loading('验证码发送中..', 0)
let smsParams = {
mobile: phone,
smsmode: "2"
};
postAction("/sys/sms", smsParams).then(res => {
smsmode: '2'
}
postAction('/sys/sms', smsParams).then(res => {
if (!res.success) {
setTimeout(hide, 1);
this.cmsFailed(res.message);
setTimeout(hide, 1)
this.cmsFailed(res.message)
}
setTimeout(hide, 500);
setTimeout(hide, 500)
})
},
cmsFailed(err) {
this.$notification['error']({
message: "验证错误",
message: '验证错误',
description: err,
duration: 4,
});
duration: 4
})
}
}
}
</script>
<style lang="less" scoped>
/deep/.ant-card{
/deep/ .ant-card {
width: 100%;
}
/deep/.ant-card-body{
/deep/ .ant-card-body {
padding: 0 !important;
height: 100%;
background: #F0F2F5;
}
.alteration-center{
.alteration-center {
height: 100%;
display: flex;
justify-content: center;
align-items: center;
background: #F0F2F5;
}
.alteration-content{
.alteration-content {
margin: auto;
width: 1000px;
display: flex;
justify-content: center;
align-items: center;
background: #fff;
.setPassword{
.setPassword {
font-size: 26px;
display: block;
background: #fff;
@@ -268,28 +293,33 @@ export default {
margin-top: 30px;
}
}
/deep/.ant-form{
/deep/ .ant-form {
width: 500px;
height: 500px;
}
.alteration-head{
.alteration-head {
position: absolute;
top: 0;
width: 100%;
background: #069F99;
height: 60px;
}
.logo {
box-shadow: none !important;
transition: background 300ms;
height: 60px;
line-height: 60px;
padding-left: 12px;
a {
color: white;
&:hover {
color: rgba(255, 255, 255, 0.8);
}
h1 {
margin-left: 12px;
color: #fff;
@@ -299,35 +329,42 @@ export default {
}
}
.alteration-content{
.alteration-content {
}
/deep/.ant-row{
/deep/ .ant-row {
margin-bottom: 20px !important;
height: 60px;
}
/deep/.ant-form-item-label{
/deep/ .ant-form-item-label {
height: 50px;
line-height: 50px;
}
/deep/.ant-input{
/deep/ .ant-input {
border-radius: 30px;
height: 50px;
border: 1px solid #E6E3E3;
}
.btn{
/deep/button{
.btn {
/deep/ button {
border-radius: 30px;
margin: 0 20px;
}
.ant-btn-primary{
.ant-btn-primary {
background: #069F99;
border: none;
}
}
.captcha{
.captcha {
position: relative;
/deep/button{
/deep/ button {
border: none;
color: #069F99;
position: absolute;