Commit 0e7131ae authored by 赵啸非's avatar 赵啸非

Merge remote-tracking branch 'origin/master'

parents 07ec72a9 0caf677b
// 样表设备管理api // 样表设备管理api
import request from '@/utils/request' import request from "@/utils/request";
// 获取设备列表 // 获取设备列表
export const getDeviceList = (data) => { export const getDeviceList = (data) => {
return request({ return request({
url: `/sampleform/device/list`, url: `/sampleform/device/list`,
method: "post", method: "post",
data, data,
}); });
}; };
\ No newline at end of file
// 设备事项列表
export const getDeviceMatterList = (data) => {
return request({
url: `/sampleform/device/matter/datum/list`,
method: "post",
data,
});
};
// 保存设备事项
export const saveDeviceMatter = (data) => {
return request({
url: `/sampleform/device/matter/datum/save`,
method: "post",
data,
});
};
// 删除设备事项
export const delDeviceMatter = (params) => {
return request({
url: `/sampleform/device/matter/datum/delete`,
method: "get",
params,
});
};
...@@ -8,23 +8,32 @@ ...@@ -8,23 +8,32 @@
<div class="left"> <div class="left">
<div class="header mb20"> <div class="header mb20">
已选择事项<span class="header-count primary" 已选择事项<span class="header-count primary"
>(已选择:事项3个 | 材料12个)</span >(已选择:事项{{ devMatterList.length }}个 | 材料12个)</span
> >
</div> </div>
<!-- 列表 --> <!-- 列表 -->
<div class="matter-list"> <div class="matter-list">
<div class="matter-item flex flexc jcc" v-for="v in 20" :key="v"> <div
<div class="matter-item-title"> class="matter-item flex flexc jcc"
机动车登记证、行驶证核发机动车登记证、行驶证核发机动车登记证、行驶证核发机动车登记证、行驶证核发 v-for="v in devMatterList"
:key="v.id"
>
<div class="flex aic jcb">
<p class="matter-item-title">
{{ v.matterName }}
</p>
<i class="el-icon-delete delete" @click="handleDel(v.id)"></i>
</div>
<div class="matter-item-count">
材料数量:{{ v.matterDatumList && v.matterDatumList.length }}
</div> </div>
<div class="matter-item-count">材料数量:6</div>
</div> </div>
</div> </div>
</div> </div>
<div class="right"> <div class="right">
<div class="title mb20">选择事项</div> <div class="title mb20">选择事项</div>
<TableHeader> <TableHeader>
<div slot="left"> <!-- <div slot="left">
<el-button <el-button
size="small" size="small"
plain plain
...@@ -32,7 +41,7 @@ ...@@ -32,7 +41,7 @@
@click="handleJoinAll" @click="handleJoinAll"
>批量加入</el-button >批量加入</el-button
> >
</div> </div> -->
<div slot="right" class="flex"> <div slot="right" class="flex">
<el-select <el-select
v-model="department" v-model="department"
...@@ -82,14 +91,15 @@ ...@@ -82,14 +91,15 @@
max-height="650px" max-height="650px"
border border
:row-key="(row) => row.id" :row-key="(row) => row.id"
@selection-change="handleSelectionChange"
> >
<el-table-column <!-- <el-table-column
type="selection" type="selection"
reserve-selection reserve-selection
width="40" width="40"
align="center" align="center"
> >
</el-table-column> </el-table-column> -->
<el-table-column <el-table-column
type="index" type="index"
label="序号" label="序号"
...@@ -125,8 +135,10 @@ ...@@ -125,8 +135,10 @@
> >
</el-table-column> </el-table-column>
<el-table-column align="center" label="操作" width="80"> <el-table-column align="center" label="操作" width="80">
<template> <template slot-scope="scope">
<span class="primary pointer">选择</span> <span class="primary pointer" @click="handleJoin(scope.row)"
>选择</span
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -162,6 +174,11 @@ ...@@ -162,6 +174,11 @@
import { mapGetters } from "vuex"; import { mapGetters } from "vuex";
import TableHeader from "@/components/TableHeader.vue"; import TableHeader from "@/components/TableHeader.vue";
import { getWriteMatterList } from "@/api/matter"; import { getWriteMatterList } from "@/api/matter";
import {
getDeviceMatterList,
saveDeviceMatter,
delDeviceMatter,
} from "@/api/device";
import local from "@/utils/local"; import local from "@/utils/local";
export default { export default {
components: { components: {
...@@ -186,6 +203,7 @@ export default { ...@@ -186,6 +203,7 @@ export default {
size: 10, size: 10,
total: 0, total: 0,
tableData: [], tableData: [],
devMatterList: [], // 设备事项列表
pageSizes: [10, 20, 30, 40, 50, 100, 200], pageSizes: [10, 20, 30, 40, 50, 100, 200],
selectionKeys: [], selectionKeys: [],
devInfo: {}, devInfo: {},
...@@ -207,6 +225,20 @@ export default { ...@@ -207,6 +225,20 @@ export default {
getDevInfo(row) { getDevInfo(row) {
this.devInfo = row; this.devInfo = row;
this.getWriteMatterList(); this.getWriteMatterList();
this.getDeviceMatterList(row.id);
},
// 获取设备事项列表
async getDeviceMatterList(deviceId) {
let res = await getDeviceMatterList({
page: 1,
size: -1,
siteId: this.siteId,
deviceId,
});
if (res.data.code == 1) {
let { data } = res.data.data;
this.devMatterList = data;
}
}, },
// 获取填单系统事项列表 // 获取填单系统事项列表
async getWriteMatterList() { async getWriteMatterList() {
...@@ -250,15 +282,63 @@ export default { ...@@ -250,15 +282,63 @@ export default {
}, },
// 表格批量选中 // 表格批量选中
handleSelectionChange(select) { handleSelectionChange(select) {
this.selectionKeys = select.map((v) => v.id); this.selectionKeys = select;
console.log(select);
}, },
// 批量加入 // 批量加入
handleJoinAll() { async handleJoinAll() {
if (!this.selectionKeys.length) { if (!this.selectionKeys.length) {
this.$message.warning("请先勾选数据"); this.$message.warning("请先勾选数据");
return; return;
} }
let arr = this.selectionKeys.map((v) => {
return {
siteId: v.siteId,
deviceId: this.devInfo.id,
matterId: v.id,
sort: 0,
};
});
let res = await saveDeviceMatter(arr);
let { code, msg } = res.data;
if (code == 1) {
this.$message.success(msg);
this.getDeviceMatterList();
}
},
// 加入
async handleJoin(row) {
let obj = {
siteId: row.siteId,
deviceId: this.devInfo.id,
matterId: row.id,
sort: 0,
};
let res = await saveDeviceMatter(obj);
let { code, msg } = res.data;
if (code == 1) {
this.$message.success(msg);
this.getDeviceMatterList();
}
},
// 删除设备事项
handleDel(id) {
this.$confirm("此操作将删除该关联事项,是否继续?", "系统提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
cancelButtonClass: "btn-custom-cancel",
type: "warning",
})
.then(async () => {
let res = await delDeviceMatter({ id });
let { code, msg } = res.data;
if (code == 1) {
this.$message.success(msg);
this.getDeviceMatterList();
}
})
.catch(() => {
console.log("取消成功!");
});
}, },
// 关闭弹窗 // 关闭弹窗
handleClose() { handleClose() {
...@@ -288,6 +368,11 @@ export default { ...@@ -288,6 +368,11 @@ export default {
padding: 20px; padding: 20px;
border-right: 1px solid #ececec; border-right: 1px solid #ececec;
overflow-y: auto; overflow-y: auto;
.el-icon-delete {
padding: 6px;
font-size: 16px;
cursor: pointer;
}
.matter-item { .matter-item {
height: 60px; height: 60px;
margin-bottom: 20px; margin-bottom: 20px;
......
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