提交 8a54810c authored 作者: lidongxu's avatar lidongxu

Merge branch 'ldx' into dev

......@@ -170,8 +170,7 @@ import PickerBelong from '../components/PickerBelong'
const myForm = ref({})
const { proxy } = getCurrentInstance();
const employeeNo = computed(() => userStore().employeeNo)
const employeeName = computed(() => userStore().employeeName)
const employeeInfo = computed(() => userStore().employeeInfo)
const empInfo = userStore().empInfo
const isCityManager = ref(userStore().promotionIdentity)
const form = reactive({})
const router = useRouter();
......@@ -216,9 +215,9 @@ const validatorIncidentals = (value, obj) => {
}
}
const onSubmit = async () => {
for (let key in employeeInfo.value) {
form[key] = employeeInfo.value[key]
}
form.operNo = empInfo.empNo
form.operName = empInfo.empName
form.operId = empInfo.empId
if (planId) {
const res = await updatePlanByWebAPI(form)
......@@ -297,9 +296,9 @@ const selEmployee = () => {
onMounted(() => {
// 如果当前是城市经理,自动填入归属人信息
if (isCityManager.value) {
form.employeeName = employeeName.value
form.employeeNo = employeeNo.value
form.employeeId = userStore().employeeId
form.employeeName = empInfo.empName
form.employeeNo = empInfo.empNo
form.employeeId = empInfo.empId
}
})
......
......@@ -99,7 +99,7 @@ const router = useRouter()
const route = useRoute()
const promotionIdentity = computed(() => userStore().promotionIdentity)
const employeeNo = computed(() => userStore().employeeNo)
const employeeName = computed(() => userStore().employeeName)
const empInfo = userStore().empInfo
// 搜索弹窗
const showSearch = ref(false)
......@@ -183,8 +183,9 @@ const onRefresh = () => {
}
const clickDetail = (row) => {
if (showSelect.value) return // 当前处于长按状态,点击详情不做任何操作
router.push(`/m/promotion_plan_detail/${row.id}`)
// 当前处于长按状态 / 查看已删除列表,点击详情不做任何操作
if (showSelect.value || query.isDeleted) return
router.push(`/m/promotion_plan_detail/${row.id}?isDeleted=${query.isDeleted}`)
}
// 搜索表单
......@@ -277,7 +278,7 @@ const confirmPickerBelong = async (val) => {
// 循环判断计划是否含有以前和执行中的
await batchUpdatePlanAPI({
employeeId: val.selectedOptions[0]?.value, // 选择的归属人 id
operName: employeeName.value,
operName: empInfo.empName,
planIds: planList.value.filter(item => item.checked).map(item => item.id)
})
......
......@@ -111,24 +111,9 @@ export default defineStore(
empName: state.userInfo.nickName, // 员工昵称名字
}
},
// 操作人员工工号,姓名,id
employeeInfo(state) {
return {
operNo: state.userInfo.userName,
operName: state.userInfo.nickName,
operId: state.userInfo.userId
}
},
// 获取员工工号
employeeNo(state) {
return state.userInfo.userName
},
// 获取员工姓名
employeeName(state) {
return state.userInfo.nickName
}
}
})
......
......@@ -3,10 +3,19 @@
<div class="app-container">
<div class="container">
<el-form :model="queryParams" ref="queryRef" v-show="showSearch" :inline="true">
<el-form-item label="用户名称" prop="userName">
<el-form-item label="用户工号" prop="userName">
<el-input
v-model="queryParams.userName"
placeholder="请输入用户名称"
placeholder="请输入用户工号"
clearable
style="width: 240px"
@input="handleQuery"
/>
</el-form-item>
<el-form-item label="用户昵称" prop="nickName">
<el-input
v-model="queryParams.nickName"
placeholder="请输入用户昵称"
clearable
style="width: 240px"
@input="handleQuery"
......@@ -36,7 +45,7 @@
v-hasPermi="['system:role:add']"
>添加用户</el-button>
</el-col>
<el-col :span="1.5">
<!-- <el-col :span="1.5">
<el-button
type="danger"
plain
......@@ -53,13 +62,13 @@
icon="Close"
@click="handleClose"
>关闭</el-button>
</el-col>
</el-col> -->
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="用户名称" prop="userName" :show-overflow-tooltip="true" />
<el-table-column label="用户工号" prop="userName" :show-overflow-tooltip="true" />
<el-table-column label="用户昵称" prop="nickName" :show-overflow-tooltip="true" />
<el-table-column label="邮箱" prop="email" :show-overflow-tooltip="true" />
<el-table-column label="手机" prop="phonenumber" :show-overflow-tooltip="true" />
......@@ -73,11 +82,11 @@
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-button link type="primary" icon="CircleClose" @click="cancelAuthUser(scope.row)" v-hasPermi="['system:role:remove']">取消授权</el-button>
</template>
</el-table-column>
</el-table-column> -->
</el-table>
<pagination
......
<template>
<!-- 授权用户 -->
<el-dialog title="选择用户" v-model="visible" width="800px" top="5vh" append-to-body>
<el-form :model="queryParams" ref="queryRef" :inline="true">
<el-form-item label="用户名称" prop="userName">
<el-input
v-model="queryParams.userName"
placeholder="请输入用户名称"
clearable
style="width: 180px"
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item label="手机号码" prop="phonenumber">
<el-input
v-model="queryParams.phonenumber"
placeholder="请输入手机号码"
clearable
style="width: 180px"
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row>
<el-table @row-click="clickRow" ref="refTable" :data="userList" @selection-change="handleSelectionChange" height="260px">
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column label="用户名称" prop="userName" :show-overflow-tooltip="true" />
<el-table-column label="用户昵称" prop="nickName" :show-overflow-tooltip="true" />
<el-table-column label="邮箱" prop="email" :show-overflow-tooltip="true" />
<el-table-column label="手机" prop="phonenumber" :show-overflow-tooltip="true" />
<el-table-column label="状态" align="center" prop="status">
<template #default="scope">
<dict-tag :options="sys_normal_disable" :value="scope.row.status" />
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template #default="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
</el-row>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="handleSelectUser">确 定</el-button>
<el-button @click="visible = false">取 消</el-button>
</div>
</template>
</el-dialog>
<!-- 授权用户 -->
<el-dialog title="选择用户"
v-model="visible"
top="5vh"
append-to-body>
<el-form :model="queryParams"
ref="queryRef"
:inline="true">
<el-form-item label="用户工号"
prop="userName">
<el-input v-model="queryParams.userName"
placeholder="请输入用户工号"
clearable
style="width: 180px"
@input="handleQuery" />
</el-form-item>
<el-form-item label="用户昵称"
prop="nickName">
<el-input v-model="queryParams.nickName"
placeholder="请输入用户昵称"
clearable
style="width: 180px"
@input="handleQuery" />
</el-form-item>
<el-form-item label="手机号码"
prop="phonenumber">
<el-input v-model="queryParams.phonenumber"
placeholder="请输入手机号码"
clearable
style="width: 180px"
@input="handleQuery" />
</el-form-item>
<el-form-item>
<el-button icon="Refresh"
@click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row>
<el-table @row-click="clickRow"
ref="refTable"
:data="userList"
@selection-change="handleSelectionChange">
<el-table-column type="selection"
width="55"></el-table-column>
<el-table-column label="用户工号"
prop="userName"
:show-overflow-tooltip="true" />
<el-table-column label="用户昵称"
prop="nickName"
:show-overflow-tooltip="true" />
<el-table-column label="邮箱"
prop="email"
:show-overflow-tooltip="true" />
<el-table-column label="手机"
prop="phonenumber"
:show-overflow-tooltip="true" />
<el-table-column label="状态"
align="center"
prop="status">
<template #default="scope">
<dict-tag :options="sys_normal_disable"
:value="scope.row.status" />
</template>
</el-table-column>
<el-table-column label="创建时间"
align="center"
prop="createTime"
width="180">
<template #default="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
</el-table>
<div class="pagination-wrap">
<pagination v-show="total > 0"
:total="total"
v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize"
@pagination="getList" />
</div>
</el-row>
<template #footer>
<div class="dialog-footer">
<el-button type="primary"
@click="handleSelectUser">确 定</el-button>
<el-button @click="visible = false">取 消</el-button>
</div>
</template>
</el-dialog>
</template>
<script setup name="SelectUser">
import { authUserSelectAll, unallocatedUserList } from "@/api";
<script setup
name="SelectUser">
import { authUserSelectAll, unallocatedUserList } from "@/api";
const props = defineProps({
roleId: {
type: [Number, String]
}
});
const props = defineProps({
roleId: {
type: [Number, String]
}
});
const { proxy } = getCurrentInstance();
const { sys_normal_disable } = proxy.useDict("sys_normal_disable");
const { proxy } = getCurrentInstance();
const { sys_normal_disable } = proxy.useDict("sys_normal_disable");
const userList = ref([]);
const visible = ref(false);
const total = ref(0);
const userIds = ref([]);
const userList = ref([]);
const visible = ref(false);
const total = ref(0);
const userIds = ref([]);
const queryParams = reactive({
pageNum: 1,
pageSize: 10,
roleId: undefined,
userName: undefined,
phonenumber: undefined
});
const queryParams = reactive({
pageNum: 1,
pageSize: 10,
roleId: undefined,
userName: undefined,
phonenumber: undefined
});
// 显示弹框
function show() {
queryParams.roleId = props.roleId;
getList();
visible.value = true;
}
// 显示弹框
function show() {
queryParams.roleId = props.roleId;
getList();
visible.value = true;
}
/**选择行 */
function clickRow(row) {
proxy.$refs["refTable"].toggleRowSelection(row);
}
/**选择行 */
function clickRow(row) {
proxy.$refs["refTable"].toggleRowSelection(row);
}
// 多选框选中数据
function handleSelectionChange(selection) {
userIds.value = selection.map(item => item.userId);
}
// 多选框选中数据
function handleSelectionChange(selection) {
userIds.value = selection.map(item => item.userId);
}
// 查询表数据
function getList() {
unallocatedUserList(queryParams).then(res => {
userList.value = res.rows;
total.value = res.total;
});
}
// 查询表数据
function getList() {
unallocatedUserList(queryParams).then(res => {
userList.value = res.data.rows;
total.value = res.data.total;
});
}
/** 搜索按钮操作 */
function handleQuery() {
queryParams.pageNum = 1;
getList();
}
/** 搜索按钮操作 */
function handleQuery() {
queryParams.pageNum = 1;
getList();
}
/** 重置按钮操作 */
function resetQuery() {
proxy.resetForm("queryRef");
handleQuery();
}
/** 重置按钮操作 */
function resetQuery() {
proxy.resetForm("queryRef");
handleQuery();
}
const emit = defineEmits(["ok"]);
/** 选择授权用户操作 */
function handleSelectUser() {
const roleId = queryParams.roleId;
const uIds = userIds.value.join(",");
if (uIds == "") {
proxy.$modal.msgError("请选择要分配的用户");
return;
const emit = defineEmits(["ok"]);
/** 选择授权用户操作 */
function handleSelectUser() {
const roleId = queryParams.roleId;
const uIds = userIds.value.join(",");
if (uIds == "") {
proxy.$modal.msgError("请选择要分配的用户");
return;
}
authUserSelectAll({ roleId: roleId, userIds: uIds }).then(res => {
proxy.$modal.msgSuccess(res.msg);
visible.value = false;
emit("ok");
});
}
authUserSelectAll({ roleId: roleId, userIds: uIds }).then(res => {
proxy.$modal.msgSuccess(res.msg);
visible.value = false;
emit("ok");
});
}
defineExpose({
show,
});
defineExpose({
show,
});
</script>
<style scoped
style="scss">
.pagination-wrap {
width: 100%;
display: flex;
justify-content: flex-end;
}
</style>
\ No newline at end of file
......@@ -28,6 +28,14 @@
style="width: 240px"
@input="handleQuery" />
</el-form-item>
<el-form-item label="用户昵称"
prop="nickName">
<el-input v-model="queryParams.nickName"
placeholder="请输入用户工号"
clearable
style="width: 240px"
@input="handleQuery" />
</el-form-item>
<el-form-item label="手机号码"
prop="phonenumber">
<el-input v-model="queryParams.phonenumber"
......@@ -309,13 +317,13 @@
</el-col>
<el-col :span="12">
<el-form-item label="角色"
prop="roleId">
<!-- multiple
prop="roleIds">
<el-select v-model="form.roleIds"
placeholder="请选择"
multiple
clearable
collapse-tags
collapse-tags-tooltip -->
<el-select v-model="form.roleId"
placeholder="请选择">
collapse-tags-tooltip>
<el-option v-for="item in roleOptions"
:key="item.roleId"
:label="item.roleName"
......@@ -344,9 +352,9 @@
</el-col>
</el-row>
<!-- 促销权限配置 -->
<el-row v-show="form.proStatus">
<el-row v-if="form.proStatus">
<el-col :span="12">
<el-form-item label="促销角色">
<el-form-item label="促销角色" prop="privilegeId">
<el-radio-group v-model="form.privilegeId">
<el-radio :value="1"
label="城市经理"></el-radio>
......@@ -500,7 +508,8 @@
email: [{ type: "email", message: "请输入正确的邮箱地址", trigger: ["blur", "change"] }],
phonenumber: [{ pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "请输入正确的手机号码", trigger: "blur" }],
postId: [{ required: true, message: "请选择岗位", trigger: "change" }],
roleId: [{ required: true, message: "请选择角色", trigger: "change" }],
roleIds: [{ required: true, message: "请选择角色", trigger: "change" }],
privilegeId: [{ required: true, message: "请选择促销角色", trigger: "change" }]
}
});
......@@ -692,7 +701,7 @@
status: "0",
remark: undefined,
postId: null,
roleId: [],
roleIds: [],
proStatus: false, // 促销权限
privilegeId: undefined,
workCityList: [] // 工作城市
......@@ -713,6 +722,7 @@
postOptions.value = response.posts;
roleOptions.value = response.roles;
open.value = true;
title.value = "添加用户";
form.value.password = initPassword.value;
})
......@@ -739,7 +749,7 @@
// 促销权限 0 开 1 关
response.data.proStatus = response.data.proStatus == 1 || response.data.proStatus == undefined ? false : true;
// 后台空角色不知道为啥返回 0 不是 null
response.data.roleId = response.data.roleId == 0 ? [] : response.data.roleId;
// response.data.roleIds = response.data.roleId == 0 ? [] : response.data.roleId;
form.value = response.data;
postOptions.value = response.posts;
roleOptions.value = response.roles;
......@@ -759,27 +769,19 @@
form.value.workCityNum = form.value.workCityList && form.value.workCityList[1]
// 促销开关 true 转 0,false 转 1
form.value.proStatus = form.value.proStatus == true ? 0 : 1;
if (form.value.userId != undefined) {
updateUser(form.value).then(response => {
proxy.$modal.msgSuccess("修改成功");
open.value = false;
getList();
});
} else {
addUser(form.value).then(response => {
proxy.$modal.msgSuccess("新增成功");
open.value = false;
getList();
});
}
await form.value.userId ? updateUser(form.value) : addUser(form.value);
proxy.$modal.msgSuccess(`${form.value.userId ? '修改' : '新增'}修改成功`);
open.value = false;
getList();
// 同步促销角色权限,给另外一个系统
await openPromotionSystemAPI({
if (form.value.privilegeId === null) return
await openPromotionSystemAPI({
loginName: form.value.userName,
privilegeId: form.value.privilegeId,
status: form.value.proStatus
})
reset()
}
});
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论