From 422f525686f9f7d426c106bb50432ec0ecc73d7d Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期一, 01 七月 2024 09:37:58 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes
---
UI-Project/src/views/User/userlist.vue | 175 +++++++++++++++++++++++++++++++--------------------------
1 files changed, 95 insertions(+), 80 deletions(-)
diff --git a/UI-Project/src/views/User/userlist.vue b/UI-Project/src/views/User/userlist.vue
index aa8c386..da399b6 100644
--- a/UI-Project/src/views/User/userlist.vue
+++ b/UI-Project/src/views/User/userlist.vue
@@ -5,11 +5,14 @@
const router = useRouter()
const add = ref(false)
const adda = ref(false)
-
+const editingUser = ref({}); // 鐢ㄤ簬瀛樺偍褰撳墠缂栬緫鐨勭敤鎴锋暟鎹�
import request from "@/utils/request"
import { ref, onMounted } from "vue";
// import { ref } from 'vue'
import { ElMessage, ElMessageBox } from 'element-plus'
+ import { useI18n } from 'vue-i18n'
+ const { t } = useI18n()
+ let language = ref(localStorage.getItem('lang') || 'zh')
// import LanguageMixin from './lang/LanguageMixin'
const selectedProjectNoa = ref(''); // 褰撳墠閫変腑鐨勮鑹�
// const options = ref<any[]>([]); // 涓嬫媺閫夐」鍒楄〃
@@ -31,16 +34,16 @@
});
// 閲嶇疆瀵嗙爜
const open = async(row) => {
- try {
+ try {
const confirmResult = await ElMessageBox.confirm(
- '鏄惁閲嶇疆鐢ㄦ埛瀵嗙爜?',
- '鎻愮ず',
+ t('productStock.repassword'),
+ t('productStock.prompt'),
{
- confirmButtonText: '鏄�',
- cancelButtonText: '鍙栨秷',
+ confirmButtonText: t('productStock.yes'),
+ cancelButtonText: t('productStock.cancel'),
type: 'warning',
- }
- );
+ }
+ );
if (confirmResult === 'confirm') {
// 鐢ㄦ埛鐐瑰嚮浜嗏�滄槸鈥濓紝鐜板湪璋冪敤鍒犻櫎鎺ュ彛
var url="/loadGlass/sys/user/resetPassword?userId="+row.id;
@@ -94,6 +97,11 @@
console.error('Error fetching options:', error);
}
};
+// 澶勭悊缂栬緫鎸夐挳鐐瑰嚮
+function handleEdit(row) {
+ editingUser.value = { ...row }; // 浣跨敤灞曞紑杩愮畻绗﹀鍒跺綋鍓嶈鏁版嵁
+ adda.value = true; // 鏄剧ず瀵硅瘽妗�
+}
// 娣诲姞
const getTableRow = async () => {
try {
@@ -107,6 +115,30 @@
// 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
ElMessage.success(response.message);
add.value = false;
+ // tableData.value = response.data;
+ } else {
+ // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
+ ElMessage.error(response.msg);
+ }
+ } catch (error) {
+ // 澶勭悊閿欒
+ console.error(error);
+ }
+};
+// 缂栬緫
+const getTableRowa = async () => {
+ try {
+ const response = await request.post('/loadGlass/sys/user/updateUser', {
+ userName: userName.value,
+ password: password.value,
+ name: selectedProjectNoa.value,
+ });
+
+ if (response.code == 200) {
+ // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
+ ElMessage.success(response.message);
+ editingUser.value = {};
+ adda.value = false;
tableData.value = response.data;
} else {
// 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
@@ -119,21 +151,20 @@
};
// 鍒犻櫎
const opena = async(row) => {
- try {
+ try {
const confirmResult = await ElMessageBox.confirm(
- '鏄惁鍒犻櫎璇ョ敤鎴�?',
- '鎻愮ず',
+ t('productStock.deusername'),
+ t('productStock.prompt'),
{
- confirmButtonText: '鏄�',
- cancelButtonText: '鍙栨秷',
+ confirmButtonText: t('productStock.yes'),
+ cancelButtonText: t('productStock.cancel'),
type: 'warning',
- }
- );
+ }
+ );
if (confirmResult === 'confirm') {
// 鐢ㄦ埛鐐瑰嚮浜嗏�滄槸鈥濓紝鐜板湪璋冪敤鍒犻櫎鎺ュ彛
- const response = await request.post("/cacheGlass/edgStorageCage/edgReportStatus", {
- glassId: row.GlassId,
- controlsId: 301
+ const response = await request.post("/loadGlass/sys/user/deleteUser", {
+ ids: [row.id],
})
if (response.code === 200) {
ElMessage.success(response.message);
@@ -191,32 +222,32 @@
<template>
<div>
- <el-button type="primary" style="margin-top: 10px;margin-left: 10px;" size="mini" id="searchButton" @click="add = true">娣诲姞鐢ㄦ埛</el-button>
+ <el-button type="primary" style="margin-top: 10px;margin-left: 10px;" size="mini" id="searchButton" @click="add = true">{{ $t('productStock.addusers') }}</el-button>
<el-card style="flex: 1;margin-left: 10px;margin-top: 20px;" v-loading="loading">
<div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
<el-table height="240" ref="table"
@selection-change="handleSelectionChange"
:data="tableData" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
- <el-table-column prop="userName" align="center" label="鐢ㄦ埛鍚�" min-width="180" />
- <el-table-column align="center" label="瑙掕壊" min-width="80">
+ <el-table-column prop="userName" align="center" :label="$t('productStock.username')" min-width="180" />
+ <el-table-column align="center" :label="$t('productStock.role')" min-width="80">
<template #default="scope">
<el-tag v-for="role in scope.row.roleList">
{{role.name}}
</el-tag>
</template>
</el-table-column>
- <el-table-column fixed="right" label="鎿嶄綔" align="center" width="200">
+ <el-table-column fixed="right" :label="$t('productStock.operate')" align="center" width="270">
<template #default="scope">
- <el-button size="mini" type="text" plain @click="open(scope.row)">閲嶇疆瀵嗙爜</el-button>
- <el-button size="mini" type="text" plain @click="adda = true">缂栬緫</el-button>
- <el-button size="mini" type="text" plain @click="opena(scope.row)">鍒犻櫎</el-button>
+ <el-button size="mini" type="text" plain @click="open(scope.row)">{{ $t('productStock.resetpassword') }}</el-button>
+ <el-button size="mini" type="text" plain @click="handleEdit(scope.row)">{{ $t('productStock.exit') }}</el-button>
+ <el-button size="mini" type="text" plain @click="opena(scope.row)">{{ $t('productStock.delete') }}</el-button>
</template>
</el-table-column>
</el-table>
</div>
</el-card>
</div>
- <el-dialog v-model="add" top="23vh" width="37%" title="娣诲姞鐢ㄦ埛" >
+ <el-dialog v-model="add" top="23vh" width="37%" :title="$t('productStock.addusers')">
<div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;">
<el-form size="mini" label-width="150px">
<el-form label-width="100px" label-position="right">
@@ -224,8 +255,8 @@
<el-col :span="6">
<div id="dt" style="font-size: 15px;">
<div>
- <el-form-item label="鐢ㄦ埛鍚嶏細" :required="true" style="width: 25vw">
- <el-input v-model="userName" autocomplete="off" />
+ <el-form-item :label="$t('productStock.usernamea')" :required="true" style="width: 25vw">
+ <el-input v-model="userName" autocomplete="off" :placeholder="$t('productStock.inusername')" />
</el-form-item></div></div>
</el-col>
</el-row>
@@ -233,12 +264,12 @@
<el-col :span="6">
<div id="dt" style="font-size: 15px;">
<div>
- <el-form-item label="瑙掕壊锛�" :required="true" style="width: 25vw;">
+ <el-form-item :label="$t('productStock.rolea')" :required="true" style="width: 25vw;">
<el-select
v-model="selectedProjectNoa"
filterable
clearable
- placeholder="璇烽�夋嫨瑙掕壊"
+ :placeholder="$t('productStock.inrole')"
style="width: 330px"
>
<el-option
@@ -255,9 +286,10 @@
<el-col :span="6">
<div id="dt" style="font-size: 15px;">
<div>
- <el-form-item label="瀵嗙爜锛�" :required="true" style="width: 25vw;">
+ <el-form-item :label="$t('productStock.password')" :required="true" style="width: 25vw;">
<el-input style="width: 340px;"
v-model="password"
+ :placeholder="$t('productStock.inpassword')"
autocomplete="off"
:prefix-icon="Lock"
show-password/>
@@ -270,22 +302,22 @@
<template #footer>
<div id="dialog-footer">
<el-button type="primary" @click="getTableRow">
- 纭
+ {{ $t('productStock.sure') }}
</el-button>
- <el-button @click="add = false">鍙栨秷</el-button>
+ <el-button @click="add = false">{{ $t('productStock.cancel') }}</el-button>
</div>
</template>
</el-dialog>
- <el-dialog v-model="adda" top="23vh" width="37%" title="淇敼鐢ㄦ埛" >
+ <el-dialog v-model="adda" top="23vh" width="37%" :title="$t('productStock.reusername')" >
<div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;">
- <el-form size="mini" label-width="150px">
+ <el-form :model="editingUser" ref="formRef" size="mini" label-width="150px">
<el-form label-width="100px" label-position="right">
<el-row style="margin-top: -15px;margin-bottom: -2px;">
<el-col :span="6">
<div id="dt" style="font-size: 15px;">
<div>
- <el-form-item label="鐢ㄦ埛鍚嶏細" :required="true" style="width: 25vw">
- <el-input autocomplete="off" />
+ <el-form-item :label="$t('productStock.usernamea')" :required="true" style="width: 25vw">
+ <el-input :placeholder="$t('productStock.inusername')" v-model="editingUser.userName" autocomplete="off" />
</el-form-item></div></div>
</el-col>
</el-row>
@@ -293,18 +325,26 @@
<el-col :span="6">
<div id="dt" style="font-size: 15px;">
<div>
- <el-form-item label="瑙掕壊锛�" :required="true" style="width: 25vw;">
+ <!-- <el-table-column align="center" label="瑙掕壊" min-width="80">
+ <template #default="scope">
+ <el-tag v-for="role in scope.row.roleList">
+ {{role.name}}
+ </el-tag>
+ </template>
+ </el-table-column> -->
+ <el-form-item :label="$t('productStock.rolea')" :required="true" style="width: 25vw;">
<el-select
- v-model="value"
+ v-model="selectedProjectNoa"
+ filterable
clearable
- placeholder="璇烽�夋嫨瑙掕壊"
+ :placeholder="$t('productStock.inrole')"
style="width: 330px"
>
<el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value"
+ v-for="item in titleSelectJsona['processTypea']"
+ :key="item.id"
+ :label="item.name"
+ :value="item.name"
/>
</el-select>
</el-form-item></div></div>
@@ -314,38 +354,13 @@
<el-col :span="6">
<div id="dt" style="font-size: 15px;">
<div>
- <el-form-item label="閭锛�" :required="true" style="width: 25vw;">
- <el-input autocomplete="off" />
- </el-form-item></div></div>
- </el-col>
- </el-row>
- <el-row style="margin-top: 10px;">
- <el-col :span="6">
- <div id="dt" style="font-size: 15px;">
- <div>
- <el-form-item label="鏄惁绂佺敤" :required="true" style="width: 25vw;">
- <el-select
- v-model="value"
- clearable
- placeholder="璇烽�夋嫨鏄惁绂佺敤"
- style="width: 330px"
- >
- <el-option
- v-for="item in optionsa"
- :key="item.valuea"
- :label="item.labela"
- :value="item.valuea"
- />
- </el-select>
- </el-form-item></div></div>
- </el-col>
- </el-row>
- <el-row style="margin-top: 10px;">
- <el-col :span="6">
- <div id="dt" style="font-size: 15px;">
- <div>
- <el-form-item label="瀵嗙爜锛�" :required="true" style="width: 25vw;">
- <el-input autocomplete="off" />
+ <el-form-item :label="$t('productStock.password')" :required="true" style="width: 25vw;">
+ <el-input style="width: 340px;"
+ v-model="editingUser.password"
+ :placeholder="$t('productStock.inpassword')"
+ autocomplete="off"
+ :prefix-icon="Lock"
+ show-password/>
</el-form-item></div></div>
</el-col>
</el-row>
@@ -354,13 +369,13 @@
</div>
<template #footer>
<div id="dialog-footer">
- <el-button type="primary" @click="getTableRow('edit')">
- 纭
+ <el-button type="primary" @click="getTableRowa">
+ {{ $t('productStock.sure') }}
</el-button>
- <el-button @click="adda = false">鍙栨秷</el-button>
+ <el-button @click="adda = false">{{ $t('productStock.cancel') }}</el-button>
</div>
</template>
- </el-dialog>
+ </el-dialog>
</template>
<style scoped>
--
Gitblit v1.8.0