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

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

parent cd0dcf2a
...@@ -649,7 +649,6 @@ export default { ...@@ -649,7 +649,6 @@ export default {
handleSiteEdit(row) { handleSiteEdit(row) {
this.formVisible = true; this.formVisible = true;
this.$refs.EditSiteMatter.onEdit(row); this.$refs.EditSiteMatter.onEdit(row);
console.log(row);
}, },
}, },
}; };
......
...@@ -4,7 +4,11 @@ ...@@ -4,7 +4,11 @@
<div class="header"> <div class="header">
<div class="titel">站点事项列表</div> <div class="titel">站点事项列表</div>
<div class="header-bottom flex aic jcb pdr6"> <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> <div>
<a-space> <a-space>
<a-select <a-select
...@@ -68,6 +72,10 @@ ...@@ -68,6 +72,10 @@
:columns="columns" :columns="columns"
:data-source="matterSiteData" :data-source="matterSiteData"
:rowKey="(record) => record.id" :rowKey="(record) => record.id"
:row-selection="{
selectedRowKeys: selectedRowKeys,
onChange: onSelectChange,
}"
> >
<template slot="index" slot-scope="text, record, index"> <template slot="index" slot-scope="text, record, index">
<span> <span>
...@@ -124,7 +132,7 @@ ...@@ -124,7 +132,7 @@
<SetAgent <SetAgent
ref="SetAgent" ref="SetAgent"
:addVisile.sync="addVisile" :addVisile.sync="addVisile"
@success="getMatterSiteData" @success="addSuccess"
></SetAgent> ></SetAgent>
</div> </div>
</template> </template>
...@@ -190,6 +198,7 @@ export default { ...@@ -190,6 +198,7 @@ export default {
addVisile: false, addVisile: false,
source: undefined, // 左边来源 source: undefined, // 左边来源
selectedRowKeys: [], selectedRowKeys: [],
selectedRows: [],
matterSiteData: [], // 站点事项 matterSiteData: [], // 站点事项
matterDataList: [], //事项列表数据 matterDataList: [], //事项列表数据
current: 1, current: 1,
...@@ -258,6 +267,7 @@ export default { ...@@ -258,6 +267,7 @@ export default {
this.size = size; this.size = size;
this.getMatterSiteData(); this.getMatterSiteData();
}, },
// 设置热门、展示 // 设置热门、展示
async handleSiteEdit(row, type) { async handleSiteEdit(row, type) {
let hot; let hot;
...@@ -288,10 +298,36 @@ export default { ...@@ -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) { async changeAgent(val, row) {
if (val == 1) { if (val == 1) {
this.$refs.SetAgent.onEdit(row); this.$refs.SetAgent.onEdit(1, row);
this.addVisile = true; this.addVisile = true;
} else { } else {
let obj = { ...row }; let obj = { ...row };
...@@ -305,6 +341,11 @@ export default { ...@@ -305,6 +341,11 @@ export default {
this.getMatterSiteData(); this.getMatterSiteData();
} }
}, },
addSuccess() {
this.selectedRows = [];
this.selectedRowKeys = [];
this.getMatterSiteData();
},
}, },
}; };
</script> </script>
......
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
</template> </template>
<script> <script>
import { addSitematter } from "@/services/matter.js"; import { addSitematter, batchSaveSitematter } from "@/services/matter.js";
export default { export default {
props: { props: {
addVisile: { addVisile: {
...@@ -53,6 +53,8 @@ export default { ...@@ -53,6 +53,8 @@ export default {
components: {}, components: {},
data() { data() {
return { return {
type: "",
matterList: [],
form: { form: {
agentName: "", // 姓名 agentName: "", // 姓名
agentPhone: "", // 电话 agentPhone: "", // 电话
...@@ -100,14 +102,20 @@ export default { ...@@ -100,14 +102,20 @@ export default {
this.form.id && this.$delete(this.form, "id"); this.form.id && this.$delete(this.form, "id");
}, },
// 编辑 // 编辑
onEdit(data) { onEdit(type, data) {
setTimeout(() => { setTimeout(() => {
this.type = type;
if (type == 1) {
this.form = { ...data }; this.form = { ...data };
} else {
this.matterList = [...data];
}
}, 10); }, 10);
}, },
// 关闭弹窗 // 关闭弹窗
handleClose() { handleClose() {
this.$emit("success"); this.$emit("success");
this.matterList = [];
this.$refs.form.resetFields(); this.$refs.form.resetFields();
this.Visible = false; this.Visible = false;
}, },
...@@ -115,7 +123,18 @@ export default { ...@@ -115,7 +123,18 @@ export default {
handleOk() { handleOk() {
this.$refs.form.validate(async (valid) => { this.$refs.form.validate(async (valid) => {
if (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; let { code } = res.data;
if (code == 1) { if (code == 1) {
this.$message.success("添加成功"); this.$message.success("添加成功");
......
...@@ -50,6 +50,7 @@ module.exports = { ...@@ -50,6 +50,7 @@ module.exports = {
edit: `${BASE_URL}/base/site/matter/edit`, edit: `${BASE_URL}/base/site/matter/edit`,
info: `${BASE_URL}/base/site/matter/info`, info: `${BASE_URL}/base/site/matter/info`,
save: `${BASE_URL}/base/site/matter/save`, save: `${BASE_URL}/base/site/matter/save`,
batchSave: `${BASE_URL}/base/site/matter/batchSave`,
delete: `${BASE_URL}/base/site/matter/delete`, delete: `${BASE_URL}/base/site/matter/delete`,
}, },
// 业务 // 业务
......
...@@ -24,6 +24,10 @@ export async function getSiteMatterList(data) { ...@@ -24,6 +24,10 @@ export async function getSiteMatterList(data) {
export async function addSitematter(data) { export async function addSitematter(data) {
return request(sitematter.save, METHOD.POST, 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) { export async function delSiteMatter(data) {
return request(sitematter.delete, METHOD.GET, 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