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

Merge remote-tracking branch 'origin/master'

parents 07ec72a9 0caf677b
// 样表设备管理api
import request from '@/utils/request'
import request from "@/utils/request";
// 获取设备列表
export const getDeviceList = (data) => {
return request({
url: `/sampleform/device/list`,
method: "post",
data,
});
};
\ No newline at end of file
return request({
url: `/sampleform/device/list`,
method: "post",
data,
});
};
// 设备事项列表
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 @@
<div class="left">
<div class="header mb20">
已选择事项<span class="header-count primary"
>(已选择:事项3个 | 材料12个)</span
>(已选择:事项{{ devMatterList.length }}个 | 材料12个)</span
>
</div>
<!-- 列表 -->
<div class="matter-list">
<div class="matter-item flex flexc jcc" v-for="v in 20" :key="v">
<div class="matter-item-title">
机动车登记证、行驶证核发机动车登记证、行驶证核发机动车登记证、行驶证核发机动车登记证、行驶证核发
<div
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 class="matter-item-count">材料数量:6</div>
</div>
</div>
</div>
<div class="right">
<div class="title mb20">选择事项</div>
<TableHeader>
<div slot="left">
<!-- <div slot="left">
<el-button
size="small"
plain
......@@ -32,7 +41,7 @@
@click="handleJoinAll"
>批量加入</el-button
>
</div>
</div> -->
<div slot="right" class="flex">
<el-select
v-model="department"
......@@ -82,14 +91,15 @@
max-height="650px"
border
:row-key="(row) => row.id"
@selection-change="handleSelectionChange"
>
<el-table-column
<!-- <el-table-column
type="selection"
reserve-selection
width="40"
align="center"
>
</el-table-column>
</el-table-column> -->
<el-table-column
type="index"
label="序号"
......@@ -125,8 +135,10 @@
>
</el-table-column>
<el-table-column align="center" label="操作" width="80">
<template>
<span class="primary pointer">选择</span>
<template slot-scope="scope">
<span class="primary pointer" @click="handleJoin(scope.row)"
>选择</span
>
</template>
</el-table-column>
</el-table>
......@@ -162,6 +174,11 @@
import { mapGetters } from "vuex";
import TableHeader from "@/components/TableHeader.vue";
import { getWriteMatterList } from "@/api/matter";
import {
getDeviceMatterList,
saveDeviceMatter,
delDeviceMatter,
} from "@/api/device";
import local from "@/utils/local";
export default {
components: {
......@@ -186,6 +203,7 @@ export default {
size: 10,
total: 0,
tableData: [],
devMatterList: [], // 设备事项列表
pageSizes: [10, 20, 30, 40, 50, 100, 200],
selectionKeys: [],
devInfo: {},
......@@ -207,6 +225,20 @@ export default {
getDevInfo(row) {
this.devInfo = row;
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() {
......@@ -250,15 +282,63 @@ export default {
},
// 表格批量选中
handleSelectionChange(select) {
this.selectionKeys = select.map((v) => v.id);
console.log(select);
this.selectionKeys = select;
},
// 批量加入
handleJoinAll() {
async handleJoinAll() {
if (!this.selectionKeys.length) {
this.$message.warning("请先勾选数据");
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() {
......@@ -288,6 +368,11 @@ export default {
padding: 20px;
border-right: 1px solid #ececec;
overflow-y: auto;
.el-icon-delete {
padding: 6px;
font-size: 16px;
cursor: pointer;
}
.matter-item {
height: 60px;
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