Browse Source

update

master
yuanjunbin 2 years ago
parent
commit
ac6c3d62e7
2 changed files with 130 additions and 354 deletions
  1. +0
    -354
      stock-forcast-web/views/sys/mans/index.vue.bak
  2. +130
    -0
      stock-forcast-web/views/sys/perPwd/index.vue.bak

+ 0
- 354
stock-forcast-web/views/sys/mans/index.vue.bak View File

@@ -1,354 +0,0 @@
/**
* @Author moxianchengbao
*/
<template>
<div class="intemShow">
<!-- 搜索框-->
<div style="padding: 10px 0">
<el-input style="width: 250px" placeholder="请输入名称" :suffix-icon="Search" v-model="searchname"></el-input>
<!-- <el-input style="width: 250px;margin-left: 5px" placeholder="请输入类型" :suffix-icon="Search" v-model="searchtype"></el-input>-->

<el-select
style="margin-left: 5px"
v-model="typeState"
filterable
allow-create
default-first-option
:reserve-keyword="false"
placeholder="请输入或选择类型"
>
<el-option
v-for="item in typeForm"
:key="item.roleId"
:label="item.rolename"
:value="item.roleId"
>
</el-option>
</el-select>


<el-button type="primary" style="margin-left: 5px" @click="network">
<el-icon style="vertical-align: middle;">
<search />
</el-icon>
<span style="vertical-align: middle;"> 搜索 </span>
</el-button>
</div>

<div style="padding: 10px 0">
<el-button type="primary" @click="addItem">新增 <el-icon style="margin-left: 3px"><circle-plus /></el-icon></el-button>
<el-button type="danger" @click="Batchdele">批量删除 <el-icon style="margin-left: 3px"><delete /></el-icon></el-button>
<el-upload action="http://127.0.0.1:8081/user/import" style="display: inline-block;margin-left: 5px" :on-success="successimport" :on-error="errimport" :show-file-list="false">
<el-popconfirm confirm-button-text="下载"
cancel-button-text="不用了"
:icon="InfoFilled"
icon-color="red"
title="是否需要下载导入模板?"
@confirm="confirmEvent">
<template #reference>
<el-button type="success">导入 <el-icon style="margin-left: 3px"><upload-filled /></el-icon></el-button>
</template>
</el-popconfirm>

</el-upload>
<el-button type="success" @click="itemexport" style="margin-left: 5px">导出 <el-icon style="margin-left: 3px"><download /></el-icon></el-button>
</div>

<el-table :data="tableData" border style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column fixed type="selection" width="70" align="center"></el-table-column>

<el-table-column fixed prop="id" label="id" width="100" sortable align="center"></el-table-column>
<el-table-column prop="userid" label="人员编号" width="200" align="center"></el-table-column>
<el-table-column prop="username" label="人员名称" width="300" align="center"></el-table-column>
<el-table-column prop="roleName" label="角色类型" width="300" align="center"></el-table-column>
<el-table-column prop="description" label="人员描述" width="480" align="center"></el-table-column>


<el-table-column fixed="right" label="操作" width="190" align="center">
<template v-slot="scope">
<el-button @click="handleClick(scope.row)" type="warning" size="default">编辑 <el-icon><edit /></el-icon></el-button>
<el-button @click="delOne(scope.row.id)" type="danger" size="default">删除 <el-icon><remove /></el-icon></el-button>
</template>
</el-table-column>
</el-table>

<el-config-provider :locale="locale">
<div style="padding: 10px 0">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
v-model:currentPage="pageNum"
:page-sizes="[5, 15, 50, 100]"
v-model:page-size="pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="total">
</el-pagination>
</div>
</el-config-provider>

<!-- 弹窗信息-->

<el-dialog title="人员信息" v-model="dialogFormVisible" width="50%">
<el-form :model="form" size="medium" :rules="rules" ref="form">
<el-form-item label="ID" :label-width="formLabelWidth">
<el-input v-model="form.id" autocomplete="off" disabled></el-input>
</el-form-item>
<el-form-item label="人员编号" :label-width="formLabelWidth" prop="userid">
<el-input v-model="form.userid" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="人员名称" :label-width="formLabelWidth" prop="username">
<el-input v-model="form.username" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="角色类型" :label-width="formLabelWidth" prop="roleId">
<!-- <el-input v-model="form.typeid" autocomplete="off"></el-input>-->
<el-select
style="margin-left: 5px"
v-model="form.roleId"
filterable
allow-create
default-first-option
:reserve-keyword="false"
placeholder="请输入或选择类型"
>
<el-option
v-for="item in typeForm"
:key="item.roleId"
:label="item.rolename"
:value="item.roleId"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="人员描述" :label-width="formLabelWidth">
<el-input v-model="form.description" autocomplete="off"></el-input>
</el-form-item>
</el-form>

<template #footer>
<span class="dialog-footer">
<el-button @click="dialogFormVisible = false"> 取消</el-button>
<el-button type="primary" @click="saveData('form')"> 确认</el-button>
</span>
</template>


</el-dialog>

</div>
</template>

<script>
import zhCn from 'element-plus/lib/locale/lang/zh-cn'
import {Search} from '@element-plus/icons-vue'
import {ElMessageBox, ElMessage } from 'element-plus'
import fileDownload from 'js-file-download'
export default {
name: "index",
components:{
Search,
},
data() {
return {
Search,
locale:zhCn,
tableData: [],
total: 0, //数据总条数
pageNum: 1, //当前页
pageSize: 5, //页大小
searchname: "", //搜索名称
searchtype: 0, //搜索类型
dialogFormVisible: false, //增加的弹窗
form: {}, //弹窗中的数据
typeForm: [], //类型列表
typeState: 0, //选中的物品类型编号
multipleSelection: [], //存储批量删除的数据id
formLabelWidth: '100px',
rules: {
username: [{ required: true, message: '请输入角色名称', trigger: 'blur' }],
userid:[{required: true, message: '请输入角色编号', trigger: 'blur'}],
roleId:[{required: true, message: '请选择角色类型', trigger: 'blur'}]
}
}
},
methods:{
confirmEvent(){ //下载导入模板
this.$http.get("/user/exportMB", {
responseType: 'arraybuffer'
}).then((res)=>{
ElMessage({
message: '下载成功!',
type: 'success',
})
fileDownload(res,'导入模板_'+ new Date().toLocaleString()+'.xlsx')
}).catch(()=>{
ElMessage.error('下载失败!')
})
},
errimport(){
ElMessage.error('导入失败!')
},
successimport(){ //导入成功
this.network()
ElMessage({
message: '导入成功!',
type: 'success',
})
},
itemexport(){ //导出
this.$http.get("/user/export", {
responseType: 'arraybuffer'
}).then((res)=>{
ElMessage({
message: '导出成功!',
type: 'success',
})
fileDownload(res,'下载信息_'+ new Date().toLocaleString()+'.xlsx')
}).catch(()=>{
ElMessage.error('导出失败!')
})
},
itemTypeGet(){ //获取类型数据
this.$http.get("/userRole/userRoleAll").then(res=>{
if(res.statusCode == '200'){
this.typeForm = res.data
}
}).catch(()=>{
ElMessage.error('角色加载失败!')
})
},
handleSelectionChange(row){ //批量删除选择的数据
this.multipleSelection = row
},
Batchdele(){ //批量删除
let ids = this.multipleSelection.map(v=>v.id)
ElMessageBox.confirm(
'是否批量删除选中数据?',
'提示',
{
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}
).then(() => {
this.$http.post("/user/batch/del",ids).then(res=>{
if(res.statusCode == '200'){
ElMessage({
message: '删除成功!',
type: 'success',
})
this.network()
}
}).catch(()=>{
ElMessage.error('删除失败!')
})
}).catch(() => {
ElMessage({
type: 'info',
message: '已取消!',
})
})
},
delOne(id){ //删除
ElMessageBox.confirm(
'是否删除选中数据?',
'提示',
{
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}
).then(() => {
this.$http.delete("/user/del/"+id).then(res=>{
if(res.statusCode == '200'){
ElMessage({
message: '删除成功!',
type: 'success',
})
this.network()
}
}).catch(()=>{
ElMessage.error('删除失败!')
})
}).catch(() => {
ElMessage({
type: 'info',
message: '已取消!',
})
})
},
handleClick(row){ //编辑
this.itemTypeGet()
this.form = row
this.dialogFormVisible=true
},
saveData(resetForm){ //用于数据的添加和更新
this.itemTypeGet()
this.$refs[resetForm].validate((valid)=>{
if(valid){
this.$http.post("/user/save",this.form).then(res=>{
if(res.statusCode == '200'){
ElMessage({
message: '成功!',
type: 'success',
})
this.dialogFormVisible=false
this.network()
}
}).catch(()=>{
ElMessage.error('失败!')
})
}else{
ElMessage({
message: '已取消!',
type: 'warning',
})
return false;
}
})
},
handleSizeChange(val){ //页大小改变
this.pageSize = val
this.network()
},
handleCurrentChange(val){ //当前页改变
this.pageNum = val
this.network()
},
addItem(){ //添加项目
this.itemTypeGet()
this.dialogFormVisible = true
this.form = {}
},
network(){ //分页查询
this.searchtype = this.typeState
this.$http.get("/user/pageAll",{
params: {
pageNum: this.pageNum,
PageSize: this.pageSize,
itemname: this.searchname,
searchtype: this.searchtype
}
}).then(res=>{
if(res.statusCode == '200'){
this.total = res.data.total
this.tableData = res.data.records
}
}).catch(()=>{
ElMessage.error('数据加载失败,请刷新!')
})
},
},
created() {
this.network()
this.itemTypeGet()
}
}
</script>

<style scoped>
.intemShow{
margin-left: 15px;
}

</style>

+ 130
- 0
stock-forcast-web/views/sys/perPwd/index.vue.bak View File

@@ -0,0 +1,130 @@
/**
* @Author moxianchengbao
*/
<template>
<div id="pwd-main"><br>
<div class="position-updatepwd">
<el-form :model="resetForm" status-icon :rules="resetFormRules" ref="resetForm" label-width="100px" style="width: 300px">
<el-form-item label="个人ID" prop="userid">
<el-input type="text" v-model="resetForm.userid" auto-complete="off" disabled></el-input>
</el-form-item>
<el-form-item label="原密码" prop="oldP">
<el-input type="password" show-password v-model="resetForm.oldP" auto-complete="off"></el-input>
</el-form-item>
<el-form-item label="新密码" prop="newP">
<el-input type="password" show-password v-model="resetForm.newP" auto-complete="off"></el-input>
</el-form-item>
<el-form-item label="确认密码" prop="newPP">
<el-input type="password" show-password v-model="resetForm.newPP" auto-complete="off"></el-input>
</el-form-item>
</el-form>
</div>
<div class="btn-sub">
<el-button type="primary" @click="subup('resetForm')">修改</el-button>
</div>

</div>
</template>

<script>
import {ElMessage} from "element-plus";

export default {
name: "index",
data(){
var validateoldPass = (rule, value, callback) => {
if (!value) {
callback(new Error('请输入原密码'));
}else {
callback();
}
};
var validatePass = (rule, value, callback) => {
if (!value) {
callback(new Error('请输入新密码'));
} else if (value.toString().length < 6 || value.toString().length > 18) {
callback(new Error('密码长度为6 - 18个字符'))
} else {
callback();
}
};
var validatePass2 = (rule, value, callback) => {
if (value === '') {
callback(new Error('请再次输入密码'));
} else if (value !== this.resetForm.newP) {
callback(new Error('两次输入密码不一致!'));
} else {
callback();
}
};
return{
//重置密码
resetForm: {
oldP: '',
newP: '',
newPP: '',
userid: '156854656',
},
resetFormRules: {
oldP: [{ required: true, validator: validateoldPass, trigger: 'blur' }],
newP: [{ required: true, validator: validatePass, trigger: 'blur' }],
newPP: [{ required: true, validator: validatePass2, trigger: 'blur' }]
},

}
},
methods:{
getIDByToken(){
let token = localStorage.getItem("token")
this.$http.post("/user/getUserId",token).then(res=>{
if(res.statusCode == '200'){
this.resetForm.userid = res.data
}
}).catch(()=>{
ElMessage.error('获取失败!')
})
},
subup(resetForm){ //提交修改密码
this.$refs[resetForm].validate((valid)=>{
if(valid){
this.$http.post("/user/updateP",this.resetForm).then(res=>{
if(res.statusCode == '200'){
ElMessage({
message: '修改成功!请重新登录!',
type: 'success',
})
this.$router.push("/login")
}else {
ElMessage.error('修改失败!')
}
}).catch(()=>{
ElMessage.error('修改失败!')
})
}else{
return false;
}
})
}
},
created() {
this.getIDByToken()
}

}
</script>

<style scoped>
#pwd-main{
margin-left: 15px;
}
.position-updatepwd{
position: absolute;
top: 150px;
left: 550px;
}
.btn-sub{
position: absolute;
top: 350px;
left: 710px;
}
</style>

Loading…
Cancel
Save