|
@@ -132,41 +132,95 @@
|
|
|
/>
|
|
|
|
|
|
<!-- 添加或修改支部活动预告对话框 -->
|
|
|
- <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
|
|
+ <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
|
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="85px">
|
|
|
- <el-form-item label="党支部" prop="deptId">
|
|
|
- <treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" placeholder="请选择党支部" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="联系点领导" prop="contactLeader">
|
|
|
- <el-select v-model="form.contactLeader" multiple placeholder="请选择联系点领导">
|
|
|
- <el-option
|
|
|
- v-for="dict in userList"
|
|
|
- :key="dict.dictValue"
|
|
|
- :label="dict.dictLabel"
|
|
|
- :value="dict.dictValue"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="活动时间" prop="activityTime">
|
|
|
- <el-date-picker clearable size="small" style="width: 200px"
|
|
|
- v-model="form.activityTime"
|
|
|
- type="date"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- placeholder="选择活动时间">
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="活动地点" prop="activityVenue">
|
|
|
- <el-input v-model="form.activityVenue" placeholder="请输入活动地点" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="活动内容" prop="activityContent">
|
|
|
- <el-input v-model="form.activityContent" placeholder="请输入活动内容" type="textarea" :rows="4" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="联系点领导参加情况" prop="leaderAttendance">
|
|
|
- <el-input v-model="form.leaderAttendance" placeholder="请输入联系点领导参加情况" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="备注" prop="remarks">
|
|
|
- <el-input v-model="form.remarks" placeholder="请输入备注" />
|
|
|
- </el-form-item>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="党支部" prop="deptId" style="width: 300px;">
|
|
|
+ <treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" placeholder="请选择党支部" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="联系点领导" prop="contactLeader">
|
|
|
+ <el-select v-model="form.contactLeader" multiple placeholder="请选择联系点领导">
|
|
|
+ <el-option
|
|
|
+ v-for="dict in userList"
|
|
|
+ :key="dict.dictValue"
|
|
|
+ :label="dict.dictLabel"
|
|
|
+ :value="dict.dictValue"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="活动时间" prop="activityTime">
|
|
|
+ <el-date-picker clearable size="small" style="width: 200px"
|
|
|
+ v-model="form.activityTime"
|
|
|
+ type="date"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ placeholder="选择活动时间">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="活动地点" prop="activityVenue">
|
|
|
+ <el-input v-model="form.activityVenue" placeholder="请输入活动地点" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="活动内容" prop="activityContent">
|
|
|
+ <el-input v-model="form.activityContent" placeholder="请输入活动内容" type="textarea" :rows="4" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="联系点领导参加情况" prop="leaderAttendance">
|
|
|
+ <el-input v-model="form.leaderAttendance" placeholder="请输入联系点领导参加情况" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="活动经费">
|
|
|
+ <el-table :data="activitybudgetList" border>
|
|
|
+ <el-table-column label="分项" align="center" prop="budgetItem">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-model="scope.row.budgetItem" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="预算金额" align="center" prop="budgetAmount">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-model="scope.row.budgetAmount" @input="calcBudget"/>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="操作" align="center" fixed="right" width="120" class-name="small-padding fixed-width">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-delete"
|
|
|
+ @click="handleDeleteBudget(scope.row)"
|
|
|
+ >删除分项</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ plain
|
|
|
+ icon="el-icon-plus"
|
|
|
+ size="mini"
|
|
|
+ @click="handleAddBudget"
|
|
|
+ >添加分项</el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="预算总额" >
|
|
|
+ <span v-if="form.budget != null" v-text="form.budget"></span>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="备注" prop="remarks">
|
|
|
+ <el-input v-model="form.remarks" placeholder="请输入备注" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
</el-form>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
|
@@ -207,7 +261,8 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { listActivitynotice, getActivitynotice, delActivitynotice, addActivitynotice, updateActivitynotice, exportActivitynotice, importTemplate} from "@/api/branch/activitynotice";
|
|
|
+import { listActivitybudget, getActivitybudget, delActivitybudget, addActivitybudget, updateActivitybudget, exportActivitybudget} from "@/api/branch/activitybudget";
|
|
|
+import { listActivitynotice, getActivitynotice, delActivitynotice, addActivitynotice, updateActivitynotice, exportActivitynotice} from "@/api/branch/activitynotice";
|
|
|
import { treeselect } from "@/api/system/dept";
|
|
|
import { getToken } from "@/utils/auth";
|
|
|
import Treeselect from "@riophae/vue-treeselect";
|
|
@@ -235,6 +290,8 @@ export default {
|
|
|
total: 0,
|
|
|
// 支部活动预告表格数据
|
|
|
activitynoticeList: [],
|
|
|
+ // 支部活动预算表格数据
|
|
|
+ activitybudgetList: [],
|
|
|
// 弹出层标题
|
|
|
title: "",
|
|
|
// 部门树选项
|
|
@@ -304,6 +361,35 @@ export default {
|
|
|
this.getTreeselect();
|
|
|
},
|
|
|
methods: {
|
|
|
+ calcBudget() {
|
|
|
+ let sum = 0;
|
|
|
+ for (let i = 0; i< this.activitybudgetList.length; i++) {
|
|
|
+ this.activitybudgetList[i].index = i;
|
|
|
+ if (!isNaN(this.activitybudgetList[i].budgetAmount)) {
|
|
|
+ sum += Number(this.activitybudgetList[i].budgetAmount);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ this.form.budget = sum;
|
|
|
+ console.log(this.form.budget)
|
|
|
+ },
|
|
|
+ handleDeleteBudget(row) {
|
|
|
+ let newList = [];
|
|
|
+ for (let i = 0; i < this.activitybudgetList.length; i++) {
|
|
|
+ if (row.index != this.activitybudgetList[i].index) {
|
|
|
+ newList.push(this.activitybudgetList[i]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.activitybudgetList = newList;
|
|
|
+ this.calcBudget();
|
|
|
+ },
|
|
|
+ handleAddBudget() {
|
|
|
+ if (this.activitybudgetList.length == 0) {
|
|
|
+ this.activitybudgetList.push({ "index": 0,"budgetItem": null, "budgetAmount": null });
|
|
|
+ } else {
|
|
|
+ this.activitybudgetList.push({ "index": this.activitybudgetList[this.activitybudgetList.length-1].index+1,"budgetItem": null, "budgetAmount": null });
|
|
|
+ }
|
|
|
+ },
|
|
|
/** 查询部门列表 */
|
|
|
getDeptList() {
|
|
|
listDept().then(response => {
|
|
@@ -405,13 +491,18 @@ export default {
|
|
|
this.reset();
|
|
|
this.open = true;
|
|
|
this.title = "添加支部活动预告";
|
|
|
+ this.activitybudgetList = [];
|
|
|
+ this.activitybudgetList.push({ "index": 0,"budgetItem": null, "budgetAmount": null });
|
|
|
},
|
|
|
/** 修改按钮操作 */
|
|
|
handleUpdate(row) {
|
|
|
+ this.activitybudgetList = [];
|
|
|
this.reset();
|
|
|
const noticeId = row.noticeId || this.ids
|
|
|
getActivitynotice(noticeId).then(response => {
|
|
|
this.form = response.data;
|
|
|
+ this.activitybudgetList = response.data.budgetList;
|
|
|
+ this.calcBudget();
|
|
|
if (this.form.contactLeader != null) {
|
|
|
this.form.contactLeader = this.form.contactLeader.split(",").map(Number);
|
|
|
}
|
|
@@ -424,6 +515,7 @@ export default {
|
|
|
if (this.form.contactLeader != null) {
|
|
|
this.form.contactLeader = this.form.contactLeader.join();
|
|
|
}
|
|
|
+ this.form.budgetList = this.activitybudgetList;
|
|
|
this.$refs["form"].validate(valid => {
|
|
|
if (valid) {
|
|
|
if (this.form.noticeId != null) {
|