|
@@ -32,6 +32,10 @@
|
|
|
<hc-icon name="edit" />
|
|
|
<span>编辑</span>
|
|
|
</el-link>
|
|
|
+ <el-link type="warning" @click="passwordEditClick(row)">
|
|
|
+ <hc-icon name="edit" />
|
|
|
+ <span>修改密码</span>
|
|
|
+ </el-link>
|
|
|
<el-link type="success" @click="rowDelClick(row)">
|
|
|
<hc-icon name="delete-bin-2" />
|
|
|
<span>删除</span>
|
|
@@ -52,7 +56,7 @@
|
|
|
<el-form-item label="登陆账户:" prop="account">
|
|
|
<el-input v-model="baseForm.account" clearable placeholder="请输入" />
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="密码:" prop="passText">
|
|
|
+ <el-form-item v-if="modalTitle === '新增'" label="密码:" prop="passText">
|
|
|
<el-input v-model="baseForm.passText" type="password" autocomplete="new-password" clearable placeholder="请输入" />
|
|
|
</el-form-item>
|
|
|
</div>
|
|
@@ -75,6 +79,27 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</hc-dialog>
|
|
|
+
|
|
|
+ <!-- 编辑密码 -->
|
|
|
+ <hc-dialog v-model="passWordModal" title="修改密码" widths="50rem" @close="passWordsaveClose">
|
|
|
+ <el-form ref="passWordFormRef" :model="passWordForm" :rules="passWordRules" label-width="auto">
|
|
|
+ <el-form-item label="旧密码:" prop="oldPassword">
|
|
|
+ <el-input v-model="passWordForm.oldPassword" clearable placeholder="请输入" type="password" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="新密码:" prop="newPassword">
|
|
|
+ <el-input v-model="passWordForm.newPassword" type="password" autocomplete="new-password" clearable placeholder="请输入" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="确认密码:" prop="newPassword1">
|
|
|
+ <el-input v-model="passWordForm.newPassword1" type="password" autocomplete="new-newPassword1" clearable placeholder="请输入" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <template #footer>
|
|
|
+ <div class="dialog-footer">
|
|
|
+ <el-button @click="passWordsaveClose">取消</el-button>
|
|
|
+ <el-button :loading="passModalCloseading" hc-btn type="primary" @click="passModalSave">提交</el-button>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </hc-dialog>
|
|
|
</hc-card>
|
|
|
</template>
|
|
|
|
|
@@ -82,7 +107,7 @@
|
|
|
import { onMounted, ref } from 'vue'
|
|
|
import { HcDelMsg } from 'hc-vue3-ui'
|
|
|
import { arrToId, downloadBlob, formValidate, getArrValue, getObjValue } from 'js-fast-way'
|
|
|
-import { add, getExportExcel, getList, getUser, remove, resetPassword, update } from '~api/system/user.js'
|
|
|
+import { add, getExportExcel, getList, getUser, remove, resetPassword, update, updatePassword } from '~api/system/user.js'
|
|
|
import { getRoleTree } from '~api/system/role.js'
|
|
|
|
|
|
onMounted(() => {
|
|
@@ -92,7 +117,7 @@ const tableColumn = [
|
|
|
{ key: 'account', name: '登陆账户', align: 'center' },
|
|
|
{ key: 'realName', name: '用户名', align: 'center' },
|
|
|
{ key: 'roleName', name: '角色', align: 'center' },
|
|
|
- { key: 'action', name: '操作', align: 'center', width: '140' },
|
|
|
+ { key: 'action', name: '操作', align: 'center', width: '180' },
|
|
|
]
|
|
|
const tableData = ref([])
|
|
|
const tableLoading = ref(false)
|
|
@@ -294,4 +319,61 @@ const getRoleOptions = async () => {
|
|
|
roleOptions.value = []
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+//修改密码
|
|
|
+const passWordModal = ref(false)
|
|
|
+const passWordsaveClose = () => {
|
|
|
+ passWordModal.value = false
|
|
|
+ passModalCloseading.value = false
|
|
|
+ passWordForm.value = {}
|
|
|
+}
|
|
|
+const passModalCloseading = ref(false)
|
|
|
+const passWordFormRef = ref(null)
|
|
|
+const passWordForm = ref({ oldPassword: '', newPassword: '', newPassword1: '', userId: '' })
|
|
|
+const passWordRules = {
|
|
|
+ oldPassword: {
|
|
|
+ required: true,
|
|
|
+ trigger: 'blur',
|
|
|
+ message: '请输入原密码',
|
|
|
+ },
|
|
|
+ newPassword: {
|
|
|
+ required: true,
|
|
|
+ trigger: 'blur',
|
|
|
+ message: '请输入新密码',
|
|
|
+ },
|
|
|
+ newPassword1: {
|
|
|
+ required: true,
|
|
|
+ trigger: 'blur',
|
|
|
+ message: '请输入确认密码',
|
|
|
+ },
|
|
|
+
|
|
|
+}
|
|
|
+const passModalSave = async () => {
|
|
|
+ const isValidate = await formValidate(passWordFormRef.value)
|
|
|
+ if (!isValidate) return false
|
|
|
+ passModalCloseading.value = true
|
|
|
+ const { error, code, msg } = await updatePassword(
|
|
|
+ passWordForm.value.oldPassword,
|
|
|
+ passWordForm.value.newPassword,
|
|
|
+ passWordForm.value.newPassword1,
|
|
|
+ passWordForm.value.userId,
|
|
|
+ )
|
|
|
+ //判断状态
|
|
|
+ passModalCloseading.value = false
|
|
|
+ if (!error && code === 200) {
|
|
|
+ window?.$message?.success(msg)
|
|
|
+ passWordsaveClose()
|
|
|
+ getTableData()
|
|
|
+ } else {
|
|
|
+ window.$message.error(msg ?? '操作失败')
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+const passwordEditClick = async (row) => {
|
|
|
+ passWordModal.value = true
|
|
|
+ passWordForm.value.userId = row.id
|
|
|
+ passWordForm.value.oldPassword = row.passText
|
|
|
+ passWordForm.value.newPassword = ''
|
|
|
+ passWordForm.value.newPassword1 = ''
|
|
|
+}
|
|
|
</script>
|