This commit is contained in:
Paidax
2025-09-04 09:14:02 +08:00
parent 43fd3c07fd
commit 558885d624
24 changed files with 408 additions and 118 deletions
@@ -93,7 +93,7 @@ layout("/layouts/platform.html"){
</el-button>
<el-button v-if="row.taskKey === 'startTask' || !row.instanceId" @click="onDelete(row.id)" size="mini" type="danger">删除</el-button>
<el-button v-if="row.instanceState === 20" @click="doExport(row)" size="mini" type="primary">导出</el-button>
<el-button v-if="row.instanceState === 20" @click="doExportDeclare(row)" size="mini" type="primary">申请表导出</el-button>
</template>
</el-table-column>
</el-table>
@@ -143,8 +143,8 @@ layout("/layouts/platform.html"){
'info': INFO
},
methods: {
doExport(row){
this.$downLoad('/platform/activityDeclare/mine/doExport?id=' + row.id)
doExportDeclare(row){
this.$downLoad('/platform/activityDeclare/mine/doExportDeclare?id=' + row.id)
},
onApply() {
window.location.href = '/platform/activityDeclare/apply'
@@ -13,8 +13,8 @@ layout("/layouts/platform.html"){
<el-form :model="formData" ref="formRef" :rules="formRules" label-width="0" label-suffix="" class="flow-task-form">
<el-descriptions :column="2" border>
<el-descriptions-item label="活动名称">
<el-form-item prop="id">
<el-select v-model="formData.id"
<el-form-item prop="declareId">
<el-select v-model="formData.declareId"
style="width: 100%;"
@change="activityChange"
filterable placeholder="请选择活动">
@@ -28,7 +28,7 @@ layout("/layouts/platform.html"){
</el-form-item>
</el-descriptions-item>
<template v-if="formData.id">
<template v-if="formData.declareId">
<el-descriptions-item label="相关数据">
<el-button size="small" type="primary" @click="viewDeclare">查看申报信息</el-button>
</el-descriptions-item>
@@ -37,7 +37,7 @@ layout("/layouts/platform.html"){
<el-descriptions-item></el-descriptions-item>
</template>
<el-descriptions-item label="实际活动时间" :span="2">
<el-descriptions-item label="实际活动时间">
<el-form-item prop="activityTime">
<el-date-picker
start-placeholder="开始日期"
@@ -51,6 +51,23 @@ layout("/layouts/platform.html"){
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="活动计划时间">
<el-form-item prop="planDate">
<el-date-picker
readonly
start-placeholder="开始日期"
range-separator="-"
end-placeholder="结束日期"
style="width: 100%"
type="daterange"
v-model="formData.planDate"
value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="活动预算费用" :span="2">
<el-form-item prop="budgets">
<el-table :data="formData.budgets" border max-height="500" size="mini" style="width: 100%">
@@ -211,7 +228,9 @@ layout("/layouts/platform.html"){
formData: {
id: GetQueryString("businessId"),
activityTime: []
activityTime: [],
budgets: [],
planDate: [],
},
formRules: {
id: [{required: true, message: "必填", trigger: ['change', 'blur']}]
@@ -294,7 +313,7 @@ layout("/layouts/platform.html"){
viewDeclare() {
this.declareDialogVisible = true
this.$nextTick(() => {
this.$refs.infoRef.onOpen({id: this.formData.id})
this.$refs.infoRef.onOpen({id: this.formData.declareId})
})
},
@@ -315,24 +334,40 @@ layout("/layouts/platform.html"){
...data
}
if (data.planStartTime && data.planEndTime) {
this.formData.activityTime = [
new Date(data.planStartTime),
new Date(data.planEndTime)
]
}
this.formData.id = this.bizId ? this.bizId : null
if (data.planStartTime && data.planEndTime) {
this.formData.planDate = [data.planStartTime, data.planEndTime]
}
}
},
async getActivityReimbursementByUser() {
const {code, data} = await this.$axios.post('/platform/activityReimbursement/apply/getActivityReimbursementByUser');
async getActivityReimbursementByUser(id) {
const {code, data} = await this.$axios.post('/platform/activityReimbursement/apply/getActivityReimbursementByUser',{id});
if (code === 0) {
this.activityOptions = data
}
},
findOne(){
this.$axios.post('/platform/activityReimbursement/mine/findOne', {id: this.bizId})
.then(res => {
if (res.code === 0) {
this.formData = res.data
if (res.data.planStartTime && res.data.planEndTime) {
this.formData.planDate = [res.data.planStartTime, res.data.planEndTime]
}
if (res.data.startTime && res.data.endTime) {
this.formData.activityTime = [res.data.startTime, res.data.endTime]
}
// this.activityChange(res.data.activityId)
}
})
},
},
async created() {
await this.getActivityReimbursementByUser()
await this.getActivityReimbursementByUser(this.bizId)
if (this.bizId) {
this.findOne()
}
}
})
</script>
@@ -83,7 +83,7 @@ layout("/layouts/platform.html"){
size="small"></enum-tag>
</template>
</el-table-column>
<el-table-column label="操作" fixed="right" width="300px">
<el-table-column label="操作" fixed="right" width="350px" fixed="right">
<template slot-scope="{row}">
<el-button @click="openView(row)" size="mini" type="primary">查看</el-button>
<el-button v-if="row.taskKey === 'startTask' || !row.instanceId" @click="onEdit(row)" size="mini" type="primary">
@@ -93,8 +93,8 @@ layout("/layouts/platform.html"){
</el-button>
<el-button v-if="row.taskKey === 'startTask' || !row.instanceId" @click="onDelete(row.id)" size="mini" type="danger">删除</el-button>
<el-button @click="doExport(row)" size="mini">申请</el-button>
<el-button @click="doExportReimbursement(row)" size="mini">报销</el-button>
<el-button @click="doExportDeclare(row)" size="mini" type="primary">申请表导出</el-button>
<el-button v-if="row.instanceState === 20" @click="doExportReimbursement(row)" size="mini" type="primary">报销凭证导出</el-button>
</template>
</el-table-column>
</el-table>
@@ -144,8 +144,8 @@ layout("/layouts/platform.html"){
},
methods: {
// 导出示例
doExport(row){
this.$downLoad('/platform/activityDeclare/mine/doExport?id=' + row.declareId)
doExportDeclare(row){
this.$downLoad('/platform/activityDeclare/mine/doExportDeclare?id=' + row.declareId)
},
// 导出报销凭证
doExportReimbursement(row){
@@ -2,8 +2,8 @@ const MEMBER_CHANGE = {
template: /*language=HTML*/ `
<el-card shadow="never">
<div class="process-title">会员变更</div>
<el-form :model="formData" ref="formRef" label-width="0" :rules="formRules" size="small">
<el-descriptions :column="3" border class="descriptions-form">
<el-form :model="formData" ref="formRef" label-width="0" :rules="formRules" size="small" class="flow-task-form">
<el-descriptions :column="3" border>
<el-descriptions-item label="工号">
<el-form-item prop="loginname">
<el-input v-model="formData.loginname" readonly size="small"></el-input>
@@ -17,8 +17,8 @@ const MEMBER_CHANGE = {
<el-descriptions-item label="性别">
<el-form-item prop="sex">
<el-radio-group :disabled="allowFields('sex')" v-model="formData.sex" size="small">
<el-radio border label="男"></el-radio>
<el-radio border label="女"></el-radio>
<el-radio border label="男"></el-radio>
<el-radio border label="女"></el-radio>
</el-radio-group>
</el-form-item>
</el-descriptions-item>
@@ -515,5 +515,10 @@ const MEMBER_CHANGE = {
},
created(){
this.init()
}
},
style: /*language=CSS*/ `
.el-descriptions-item__label {
width: 15% !important;
}
`
}
@@ -170,7 +170,6 @@ layout("/layouts/platform.html"){
el: "#app",
store,
mixins: [initTableMixins],
dicts: ['USER_SEX', 'USER_STATE', 'PERSON_TYPE', 'MEMBER_CHANGE_TYPE'],
data: {
pickerOptions: {
shortcuts: [{
@@ -1,59 +1,6 @@
<!--#
layout("/layouts/platform.html"){
#-->
<style>
.el-tabs__content {
padding-top: 20px;
}
.el-dialog__body div div {
/*color: #ff0000;*/
margin-bottom: 10px;
}
.query-row {
height: 60px;
display: flex;
justify-content: center;
align-items: center;
box-sizing: border-box;
}
.query-row:not(:last-child) {
border-bottom: 1px dashed rgb(230, 230, 230);
}
.query-row-title {
width: 120px;
}
.query-row > .query-title {
width: 100px;
max-width: 100px;
min-width: 100px;
overflow: hidden;
}
.query-row > .query-content {
min-width: 200px;
overflow: hidden;
}
.query-row > .query-content > .el-tag {
margin-bottom: 5px;
margin-top: 5px;
}
@media screen and (max-width: 992px) {
.query-row:nth-child(4) .query-content .el-col:not(:last-child) {
margin-bottom: 5px;
}
.query-title {
display: none;
}
}
</style>
<div id="app" v-cloak>
<guava ref="guava">
<template>
@@ -48,7 +48,7 @@ layout("/layouts/platform.html"){
<el-option label="无工会" value="false"></el-option>
</el-select>
<el-button icon="el-icon-printer" class="m10" type="primary" style="float: right" size="small" @click="doExport">导出</el-button>
<el-button icon="el-icon-printer" type="primary" style="float: right" size="small" @click="doExport">导出</el-button>
</table-tool>
<el-table
:data="tableData"
@@ -44,7 +44,7 @@ layout("/layouts/platform.html"){
<div class="p10">
<el-card shadow="never">
<div class="top_block" v-loading="top_block_loading">
<el-row gutter="60">
<el-row :gutter="60">
<div style="position: absolute; top: -35px; right: -8px">
<el-date-picker
class="year"
@@ -54,7 +54,7 @@ layout("/layouts/platform.html"){
type="year"
:clearable="false"
value-format="yyyy"
@change="if(numForm.endYear){getNumData();}"
@change="getNumData()"
placeholder="选择年"
></el-date-picker>
-
@@ -66,7 +66,7 @@ layout("/layouts/platform.html"){
type="year"
:clearable="false"
value-format="yyyy"
@change="if(numForm.startYear){getNumData();}"
@change="getNumData()"
placeholder="选择年"
></el-date-picker>
</div>
@@ -101,7 +101,7 @@ layout("/layouts/platform.html"){
type="year"
:clearable="false"
value-format="yyyy"
@change="if(oneForm.endYear){getPayProjectChart();getPayMoneyChart();}"
@change="getPayProjectChart();getPayMoneyChart()"
placeholder="选择年"
></el-date-picker>
-
@@ -113,7 +113,7 @@ layout("/layouts/platform.html"){
type="year"
:clearable="false"
value-format="yyyy"
@change="if(oneForm.startYear){getPayProjectChart();getPayMoneyChart();}"
@change="getPayProjectChart();getPayMoneyChart()"
placeholder="选择年"
></el-date-picker>
</div>
@@ -151,7 +151,7 @@ layout("/layouts/platform.html"){
:clearable="false"
@change="doSearch"
@clear="doSearch"
filterable="true"
filterable
>
<el-option v-for="item in paymentProjectList"
:label="item.projectName" :value="item.id"></el-option>
@@ -83,7 +83,7 @@ layout("/layouts/platform.html"){
<search-item label="在职状态">
<dict-select v-model="pageForm.userState" style="width: 100%" clearable
placeholder="在职状态" code="UserState"></dict-select>
placeholder="在职状态" code="USER_STATE"></dict-select>
</search-item>
<search-item label="入职时间">
@@ -416,9 +416,12 @@ layout("/layouts/platform.html"){
}
},
openImport() {
this.$refs.guava.edit(() => {
this.$refs.viewImport.resetImportData()
})
this.$refs.guava.edit()
this.$nextTick(() => {
setTimeout(() => {
this.$refs.viewImport.resetImportData()
}, 500)
})
},
successImport() {
this.$refs.guava.index()
@@ -0,0 +1,26 @@
<!--#
layout("/layouts/platform_h5.html"){
#-->
<div id="app">
<van-nav-bar title="信息填报" left-text="返回" left-arrow @click-left="historyBack" placeholder fixed></van-nav-bar>
</div>
<script>
new Vue({
el: '#app',
data() {
return {
}
},
methods: {
historyBack,
},
created() {
}
});
</script>
<!--#
}
#-->