Commit 9d61ea6f authored by “yiyousong”'s avatar “yiyousong”

feat: 添加批量关联帮办代办

parent cd0dcf2a
......@@ -649,7 +649,6 @@ export default {
handleSiteEdit(row) {
this.formVisible = true;
this.$refs.EditSiteMatter.onEdit(row);
console.log(row);
},
},
};
......
......@@ -4,7 +4,11 @@
<div class="header">
<div class="titel">站点事项列表</div>
<div class="header-bottom flex aic jcb pdr6">
<div class="left-btn"></div>
<div class="left-btn">
<a-button type="primary" @click="setBatchAgent"
>批量设置帮办代办</a-button
>
</div>
<div>
<a-space>
<a-select
......@@ -68,6 +72,10 @@
:columns="columns"
:data-source="matterSiteData"
:rowKey="(record) => record.id"
:row-selection="{
selectedRowKeys: selectedRowKeys,
onChange: onSelectChange,
}"
>
<template slot="index" slot-scope="text, record, index">
<span>
......@@ -124,7 +132,7 @@
<SetAgent
ref="SetAgent"
:addVisile.sync="addVisile"
@success="getMatterSiteData"
@success="addSuccess"
></SetAgent>
</div>
</template>
......@@ -190,6 +198,7 @@ export default {
addVisile: false,
source: undefined, // 左边来源
selectedRowKeys: [],
selectedRows: [],
matterSiteData: [], // 站点事项
matterDataList: [], //事项列表数据
current: 1,
......@@ -258,6 +267,7 @@ export default {
this.size = size;
this.getMatterSiteData();
},
// 设置热门、展示
async handleSiteEdit(row, type) {
let hot;
......@@ -288,10 +298,36 @@ export default {
}
},
// 勾选
onSelectChange(keys, rows) {
this.selectedRowKeys = keys;
this.selectedRows = [...this.selectedRows, ...rows];
let res = new Map();
this.selectedRows = this.selectedRows
.filter((v) => {
return !res.has(v.id) && res.set(v.id, 1);
})
.filter((v) => {
return this.selectedRowKeys.includes(v.id);
});
},
setBatchAgent() {
if (!this.selectedRows.length) {
this.$message.warning("请先勾选数据");
return;
}
this.selectedRows.forEach((v) => {
v.agent = 1;
});
this.$refs.SetAgent.onEdit(2, this.selectedRows);
this.addVisile = true;
},
// 设置帮办代办
async changeAgent(val, row) {
if (val == 1) {
this.$refs.SetAgent.onEdit(row);
this.$refs.SetAgent.onEdit(1, row);
this.addVisile = true;
} else {
let obj = { ...row };
......@@ -305,6 +341,11 @@ export default {
this.getMatterSiteData();
}
},
addSuccess() {
this.selectedRows = [];
this.selectedRowKeys = [];
this.getMatterSiteData();
},
},
};
</script>
......
......@@ -41,7 +41,7 @@
</template>
<script>
import { addSitematter } from "@/services/matter.js";
import { addSitematter, batchSaveSitematter } from "@/services/matter.js";
export default {
props: {
addVisile: {
......@@ -53,6 +53,8 @@ export default {
components: {},
data() {
return {
type: "",
matterList: [],
form: {
agentName: "", // 姓名
agentPhone: "", // 电话
......@@ -100,14 +102,20 @@ export default {
this.form.id && this.$delete(this.form, "id");
},
// 编辑
onEdit(data) {
onEdit(type, data) {
setTimeout(() => {
this.type = type;
if (type == 1) {
this.form = { ...data };
} else {
this.matterList = [...data];
}
}, 10);
},
// 关闭弹窗
handleClose() {
this.$emit("success");
this.matterList = [];
this.$refs.form.resetFields();
this.Visible = false;
},
......@@ -115,7 +123,18 @@ export default {
handleOk() {
this.$refs.form.validate(async (valid) => {
if (valid) {
let res = await addSitematter(this.form);
let res;
if (this.type == 1) {
res = await addSitematter(this.form);
} else {
let arr = this.matterList.map((v) => {
return {
...v,
...this.form,
};
});
res = await batchSaveSitematter(arr);
}
let { code } = res.data;
if (code == 1) {
this.$message.success("添加成功");
......
......@@ -50,6 +50,7 @@ module.exports = {
edit: `${BASE_URL}/base/site/matter/edit`,
info: `${BASE_URL}/base/site/matter/info`,
save: `${BASE_URL}/base/site/matter/save`,
batchSave: `${BASE_URL}/base/site/matter/batchSave`,
delete: `${BASE_URL}/base/site/matter/delete`,
},
// 业务
......
......@@ -24,6 +24,10 @@ export async function getSiteMatterList(data) {
export async function addSitematter(data) {
return request(sitematter.save, METHOD.POST, data);
}
// 批量新增事项
export async function batchSaveSitematter(data) {
return request(sitematter.batchSave, METHOD.POST, data);
}
// 从站点删除事项
export async function delSiteMatter(data) {
return request(sitematter.delete, METHOD.GET, data);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment