|
@@ -1,26 +1,22 @@
|
|
<template>
|
|
<template>
|
|
<div class="mainContentBox" style="width:50%; float: left;">
|
|
<div class="mainContentBox" style="width:50%; float: left;">
|
|
<avue-crud
|
|
<avue-crud
|
|
- ref="crudRef"
|
|
|
|
|
|
+ ref="crudRef1"
|
|
v-model="form"
|
|
v-model="form"
|
|
:data="data"
|
|
:data="data"
|
|
:option="option"
|
|
:option="option"
|
|
- @row-save="createRow"
|
|
|
|
- @row-update="updateRow"
|
|
|
|
- @row-del="deleteRow"
|
|
|
|
|
|
+ @row-update="userSave"
|
|
@row-click="rowClick"
|
|
@row-click="rowClick"
|
|
>
|
|
>
|
|
</avue-crud>
|
|
</avue-crud>
|
|
</div>
|
|
</div>
|
|
<div class="mainContentBox" style="width:50%;float: left;">
|
|
<div class="mainContentBox" style="width:50%;float: left;">
|
|
<avue-crud
|
|
<avue-crud
|
|
- ref="crudRef"
|
|
|
|
|
|
+ ref="crudRef2"
|
|
v-model="form"
|
|
v-model="form"
|
|
:data="data1"
|
|
:data="data1"
|
|
:option="option1"
|
|
:option="option1"
|
|
- @row-save="createRow"
|
|
|
|
- @row-update="updateRow"
|
|
|
|
- @row-del="deleteRow"
|
|
|
|
|
|
+ @row-del="delUser"
|
|
>
|
|
>
|
|
</avue-crud>
|
|
</avue-crud>
|
|
</div>
|
|
</div>
|
|
@@ -29,23 +25,43 @@
|
|
import { ref, getCurrentInstance } from "vue";
|
|
import { ref, getCurrentInstance } from "vue";
|
|
import { useCrud } from "@/hooks/userCrud";
|
|
import { useCrud } from "@/hooks/userCrud";
|
|
import {queryDictDataByType } from "@/api/system/dict"
|
|
import {queryDictDataByType } from "@/api/system/dict"
|
|
|
|
+import {queryWarningUser,delWarningUser,addWarningUser} from "@/api/storage"
|
|
|
|
+import {getUserList} from "@/api/system/user"
|
|
import { useCommonStoreHook } from "@/store";
|
|
import { useCommonStoreHook } from "@/store";
|
|
-import dictDataUtil from "@/common/configs/dictDataUtil";
|
|
|
|
const { isShowTable, tableType } = toRefs(useCommonStoreHook());
|
|
const { isShowTable, tableType } = toRefs(useCommonStoreHook());
|
|
|
|
+const crudRef1 = ref(null);
|
|
|
|
+const crudRef2 = ref(null);
|
|
const rowClick = (row) => {
|
|
const rowClick = (row) => {
|
|
-
|
|
|
|
|
|
+ selectRow.value = row
|
|
|
|
+ crudRef1.value.setCurrentRow(row);
|
|
|
|
+ queryUsers(row.dictValue)
|
|
};
|
|
};
|
|
-
|
|
|
|
|
|
+const selectRow = ref()
|
|
|
|
+const userSave =(row,done, loading)=>{
|
|
|
|
+ loading()
|
|
|
|
+ row.roleCode = row.dictValue
|
|
|
|
+ let userObj = []
|
|
|
|
+ row.userName.forEach(item=>{
|
|
|
|
+ const user = userList.value.filter((u)=>u.userName == item)[0]
|
|
|
|
+ userObj.push({"userId": user.id,"userName": item})
|
|
|
|
+ })
|
|
|
|
+ row.users = userObj;
|
|
|
|
+ //createRow(row,done, loading)
|
|
|
|
+ addWarningUser(row).then(()=>{
|
|
|
|
+ rowClick(selectRow.value)
|
|
|
|
+ })
|
|
|
|
+ done()
|
|
|
|
+}
|
|
// 传入一个url,后面不带/
|
|
// 传入一个url,后面不带/
|
|
const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
|
|
const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
|
|
useCrud({
|
|
useCrud({
|
|
- src: "/api/v1/wmsOrder",
|
|
|
|
|
|
+ src: "/api/v1/warningUser",
|
|
});
|
|
});
|
|
const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } = Methords; //增删改查
|
|
const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } = Methords; //增删改查
|
|
const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
|
|
const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
|
|
const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等工具
|
|
const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等工具
|
|
-
|
|
|
|
-const crudRef = ref(null); //crudRef.value 获取avue-crud对象
|
|
|
|
|
|
+const userList = ref([])
|
|
|
|
+//crudRef.value 获取avue-crud对象
|
|
// 设置表格列或者其他自定义的option
|
|
// 设置表格列或者其他自定义的option
|
|
option.value = Object.assign(option.value, {
|
|
option.value = Object.assign(option.value, {
|
|
delBtn: false,
|
|
delBtn: false,
|
|
@@ -55,12 +71,28 @@ option.value = Object.assign(option.value, {
|
|
menu: true,
|
|
menu: true,
|
|
addBtn: false,
|
|
addBtn: false,
|
|
searchBtn: false,
|
|
searchBtn: false,
|
|
|
|
+ toolBtn: false,
|
|
|
|
+ highlightCurrentRow: true,
|
|
column: [
|
|
column: [
|
|
{
|
|
{
|
|
label: "角色名称",
|
|
label: "角色名称",
|
|
prop: "dictLabel",
|
|
prop: "dictLabel",
|
|
overHidden: true,
|
|
overHidden: true,
|
|
type: "select",
|
|
type: "select",
|
|
|
|
+ editDisplay: false,
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ label: "用户名称",
|
|
|
|
+ prop: "userName",
|
|
|
|
+ overHidden: true,
|
|
|
|
+ hide: true,
|
|
|
|
+ type: "select", //下拉框类型
|
|
|
|
+ multiple: true,
|
|
|
|
+ dicData: userList,
|
|
|
|
+ props: {
|
|
|
|
+ label: "userName",
|
|
|
|
+ value: "userName",
|
|
|
|
+ },
|
|
},
|
|
},
|
|
],
|
|
],
|
|
});
|
|
});
|
|
@@ -73,27 +105,57 @@ const option1 = ref({
|
|
menu: true,
|
|
menu: true,
|
|
addBtn: false,
|
|
addBtn: false,
|
|
searchBtn: false,
|
|
searchBtn: false,
|
|
|
|
+ refreshBtn: false,
|
|
column: [
|
|
column: [
|
|
{
|
|
{
|
|
label: "用户名称",
|
|
label: "用户名称",
|
|
- prop: "dictLabel",
|
|
|
|
|
|
+ prop: "userName",
|
|
overHidden: true,
|
|
overHidden: true,
|
|
- type: "select",
|
|
|
|
- dicUrl:
|
|
|
|
- dictDataUtil.request_url + dictDataUtil.TYPE_CODE.warning_role,
|
|
|
|
- props: {
|
|
|
|
- label: "dictLabel",
|
|
|
|
- value: "dictValue",
|
|
|
|
- },
|
|
|
|
},
|
|
},
|
|
],
|
|
],
|
|
});
|
|
});
|
|
const queryRoles = () => {
|
|
const queryRoles = () => {
|
|
queryDictDataByType("warning_role").then((res)=>{
|
|
queryDictDataByType("warning_role").then((res)=>{
|
|
- data.value =res.data
|
|
|
|
|
|
+ data.value = res.data
|
|
|
|
+ rowClick(data.value[0])
|
|
|
|
+ data.value.forEach(item=>{
|
|
|
|
+ let users = []
|
|
|
|
+ queryWarningUser({roleCode: item.dictValue}).then((u)=>{
|
|
|
|
+ u.data.records.forEach((uu)=>{
|
|
|
|
+ users.push(uu.userName)
|
|
|
|
+ })
|
|
|
|
+ item.userName = users
|
|
|
|
+ })
|
|
|
|
+ })
|
|
});
|
|
});
|
|
};
|
|
};
|
|
|
|
+const delUser = (row)=>{
|
|
|
|
+ ElMessageBox.confirm("确定要删除数据吗?", "提示", {
|
|
|
|
+ confirmButtonText: "确定",
|
|
|
|
+ cancelButtonText: "取消",
|
|
|
|
+ type: "warning",
|
|
|
|
+ lockScroll: false,
|
|
|
|
+ }).then(() => {
|
|
|
|
+ delWarningUser(row).then((res)=>{
|
|
|
|
+ queryRoles()
|
|
|
|
+ });
|
|
|
|
+ });
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+const queryUsers = (code)=>{
|
|
|
|
+ data1.value = []
|
|
|
|
+ queryWarningUser({roleCode: code}).then((res)=>{
|
|
|
|
+ data1.value = res.data.records
|
|
|
|
+ })
|
|
|
|
+
|
|
|
|
+}
|
|
|
|
+const queryUserList = ()=>{
|
|
|
|
+ getUserList({}).then((res)=>{
|
|
|
|
+ userList.value = res.data
|
|
|
|
+ })
|
|
|
|
+}
|
|
onMounted(() => {
|
|
onMounted(() => {
|
|
|
|
+ queryUserList()
|
|
// console.log("crudRef", crudRef)
|
|
// console.log("crudRef", crudRef)
|
|
//search.value.type = '2'
|
|
//search.value.type = '2'
|
|
queryRoles();
|
|
queryRoles();
|