
286 changed files with 34283 additions and 34004 deletions
@ -1,655 +0,0 @@ |
|||||
<template> |
|
||||
<div style="height: 100%;"> |
|
||||
<div class="header"> |
|
||||
<p class="title"><img src="../../assets/loginImg/logo.png"/>安瑞集团信息化平台</p> |
|
||||
<div class="head_info" style="display: flex;flex-direction: row;justify-content:space-between;align-items: center"> |
|
||||
<div>欢迎您</div> |
|
||||
<div> |
|
||||
<el-select v-model="defaultOrgPathName" class="selectStyle" size="small" placeholder="" @change="changeOrg" filterable> |
|
||||
<el-option v-for="item in orgDept_list" :key="item.orgPath" :label="item.orgName" :value="item.orgName"/> |
|
||||
</el-select> |
|
||||
</div> |
|
||||
<div style="padding-right: 5px"> |
|
||||
<el-tooltip placement="top"> |
|
||||
<div slot="content">{{ roleName }}</div> |
|
||||
<el-button style="color: #FFFFFF;font-size: 17px" type="text">{{ postName }}</el-button> |
|
||||
</el-tooltip> |
|
||||
</div> |
|
||||
<div>{{ name }}</div> |
|
||||
<div @click="logout()" style="display: flex;flex-direction: row;justify-content:center;align-items: center;padding-left: 20px;padding-right: 10px"><img src="@/assets/images/dy.png"/></div> |
|
||||
</div> |
|
||||
</div> |
|
||||
<div class="container1"> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="14"> |
|
||||
<ul class="grid-content bg-ltop"> |
|
||||
<li @click="todowork"> |
|
||||
<div style="position: relative"> |
|
||||
<el-badge v-if="shuliang.workCount !== 0" :value="shuliang.workCount" size="mini" class="mark"/> |
|
||||
<img src="@/assets/home/ltIcon1.png"> |
|
||||
</div> |
|
||||
<p>待办工作</p> |
|
||||
</li> |
|
||||
<li @click="donework"> |
|
||||
<img src="@/assets/home/ltIcon2.png"> |
|
||||
<p>已办工作</p> |
|
||||
</li> |
|
||||
<li @click="tobereadwork"> |
|
||||
<div style="position: relative"> |
|
||||
<el-badge v-if="shuliang.toBeReadCount !== 0" :value="shuliang.toBeReadCount" size="mini" class="mark"/> |
|
||||
<img src="@/assets/home/ltIcon4.png"> |
|
||||
</div> |
|
||||
<p>待阅工作</p> |
|
||||
</li> |
|
||||
<li @click="havereadwork"> |
|
||||
<img src="@/assets/home/ltIcon3.png"> |
|
||||
<p>已阅工作</p> |
|
||||
</li> |
|
||||
</ul> |
|
||||
</el-col> |
|
||||
<el-col :span="10"> |
|
||||
<div class="grid-content bg-rtop"> |
|
||||
<img class="anrui" src="@/assets/home/anrui.png"/> |
|
||||
<p class="rt_title">通知公告</p> |
|
||||
<ul> |
|
||||
<li> |
|
||||
<img class="rtImg" src="../../assets/home/notice.png"/> |
|
||||
<span class="notice">关于召开2021年公司全体员工大会的通知工大会的通知工大会的通知...</span> |
|
||||
<span class="anrui_time">2021-09-01</span> |
|
||||
</li> |
|
||||
<li> |
|
||||
<img src="../../assets/home/notice.png"/> |
|
||||
<span class="notice">关于召开2021年公司全体员工大会的通知工大会的通知工大会的通知</span> |
|
||||
<span class="anrui_time">2021-09-01</span> |
|
||||
</li> |
|
||||
<li> |
|
||||
<img src="../../assets/home/notice.png"/> |
|
||||
<span class="notice">关于召开2021年公司全体员工大会的通知</span> |
|
||||
<span class="anrui_time">2021-09-01</span> |
|
||||
</li> |
|
||||
<li> |
|
||||
<img src="../../assets/home/notice.png"/> |
|
||||
<span class="notice">关于召开2021年公司全体员工大会的通知</span> |
|
||||
<span class="anrui_time">2021-09-01</span> |
|
||||
</li> |
|
||||
<li> |
|
||||
<img src="../../assets/home/notice.png"/> |
|
||||
<span class="notice">关于召开2021年公司全体员工大会的通知</span> |
|
||||
<span class="anrui_time">2021-09-01</span> |
|
||||
</li> |
|
||||
</ul> |
|
||||
</div> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<ul class="bg-bottom"> |
|
||||
<li @click="toNav(index)" v-for="(item,index) in menus" :key='index'> |
|
||||
<img :src="item.imgUrl"> |
|
||||
<p>{{ item.title }}</p> |
|
||||
</li> |
|
||||
</ul> |
|
||||
<p class="copy">Copyright © {{ year }} 安瑞集团 All Rights Reserved</p> |
|
||||
</div> |
|
||||
<!--<ul class="nav-box">--> |
|
||||
<!--<li style="background-color: #e87861;" @click="toNavbar('http://39.104.100.138:8081/')"> |
|
||||
<img src="@/assets/images/jcxx.png"> |
|
||||
<p>基础信息</p> |
|
||||
</li>--> |
|
||||
|
|
||||
<!--<template v-for="(item, i) in menus"> |
|
||||
<li v-if="item.sourceName == '系统管理'" :key="i" @click="toNav('index','系统管理')" :style="{backgroundColor: item.iconBgColor}"> |
|
||||
<img :src="item.iconUrl"> |
|
||||
<p>{{ item.sourceName }}</p> |
|
||||
</li> |
|
||||
<li v-else :key="i" @click="toNavbar(item.pageUrl)" :style="{backgroundColor: item.iconBgColor}"> |
|
||||
<img :src="item.iconUrl"> |
|
||||
<p>{{ item.sourceName }}</p> |
|
||||
</li> |
|
||||
</template>--> |
|
||||
<!-- <li style="background-color: #e87861;" @click="toNavbar('http://39.104.100.138:8081/')"> |
|
||||
<img src="@/assets/images/jcxx.png"> |
|
||||
<p>基础信息</p> |
|
||||
</li> |
|
||||
<li style="background-color: #e87861;" @click="toNavbar('http://localhost:9529/')"> |
|
||||
<img src="@/assets/images/jcxx.png"> |
|
||||
<p>基础信息</p> |
|
||||
</li> --> |
|
||||
<!-- <li @click="xxzx"> |
|
||||
<img src="@/assets/images/xxzx.png"> |
|
||||
<p>消息中心</p> |
|
||||
</li> |
|
||||
<li @click="xxzx"> |
|
||||
<img src="@/assets/images/xxzx.png"> |
|
||||
<p>消息中心</p> |
|
||||
</li> |
|
||||
<li @click="xxzx"> |
|
||||
<img src="@/assets/images/xxzx.png"> |
|
||||
<p>消息中心</p> |
|
||||
</li> |
|
||||
<li @click="xxzx"> |
|
||||
<img src="@/assets/images/xxzx.png"> |
|
||||
<p>消息中心</p> |
|
||||
</li> |
|
||||
<li style="background-color: #ffb751;" @click="xxzx"> |
|
||||
<img src="@/assets/images/cxjl.png"> |
|
||||
<p>诚信计量</p> |
|
||||
</li> |
|
||||
<li style="background-color: #6fb3e0;" @click="xxzx"> |
|
||||
<img src="@/assets/images/zwsm.png"> |
|
||||
<p>C标志自我声明</p> |
|
||||
</li> |
|
||||
<li style="background-color: #87b880;" @click="xxzx"> |
|
||||
<img src="@/assets/images/sjcc.png"> |
|
||||
<p>双随机抽查</p> |
|
||||
</li> |
|
||||
<li style="background-color: #448fb9;" @click="xxzx"> |
|
||||
<img src="@/assets/images/jlsc.png"> |
|
||||
<p>能量计量审查</p> |
|
||||
</li> |
|
||||
<li style="background-color: #24ca95;" @click="xxzx"> |
|
||||
<img src="@/assets/images/qjsh.png"> |
|
||||
<p>强检计量器具审核</p> |
|
||||
</li> |
|
||||
<li style="background-color: #b4429d;" @click="xxzx"> |
|
||||
<img src="@/assets/images/jsxd.png"> |
|
||||
<p>技术规范制修订</p> |
|
||||
</li> |
|
||||
<li style="background-color: #b3b442;" @click="toNavbar('http://39.104.100.138:8083/')"> |
|
||||
<img src="@/assets/images/xtbg.png"> |
|
||||
<p>协同办公</p> |
|
||||
</li> |
|
||||
<li style="background-color: #eab054;" @click="xxzx"> |
|
||||
<img src="@/assets/images/tjfx.png"> |
|
||||
<p>统计分析</p> |
|
||||
</li> |
|
||||
<li style="background-color: #e87861;" @click="toNavbar('http://39.104.100.138:8081/')"> |
|
||||
<img src="@/assets/images/jcxx.png"> |
|
||||
<p>基础信息</p> |
|
||||
</li> |
|
||||
<li style="background-color: #e87861;" @click="toNavbar('http://localhost:9529/')"> |
|
||||
<img src="@/assets/images/jcxx.png"> |
|
||||
<p>基础信息</p> |
|
||||
</li> |
|
||||
<li style="background-color: #617be8;" @click="toNav('index','系统管理')"> |
|
||||
<img src="@/assets/images/xtgl.png"> |
|
||||
<p>系统管理</p> |
|
||||
</li> --> |
|
||||
<!--</ul>--> |
|
||||
<el-dialog center :visible.sync="dialogVisible" width="40%" :show-close="false" :close-on-click-modal="false"> |
|
||||
<el-form :model="form" class="formadd"> |
|
||||
<el-row style="border-top: 1px solid #e0e3eb"> |
|
||||
<el-col :span="4" class="tleftb"> |
|
||||
<span>原密码</span> |
|
||||
</el-col> |
|
||||
<el-col :span="20"> |
|
||||
<el-form-item><el-input v-model="form.original" type="password" show-password/></el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row> |
|
||||
<el-col :span="4" class="tleftb"> |
|
||||
<span>新密码</span> |
|
||||
</el-col> |
|
||||
<el-col :span="20"> |
|
||||
<el-form-item><el-input v-model="form.password" type="password" show-password/></el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row> |
|
||||
<el-col :span="4" class="tleftb"> |
|
||||
<span>确认密码</span> |
|
||||
</el-col> |
|
||||
<el-col :span="20"> |
|
||||
<el-form-item><el-input v-model="form.confirmPassword" type="password" show-password/></el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</el-form> |
|
||||
<div slot="footer" class="dialog-footer"> |
|
||||
<el-button type="primary" size="small" @click="handleConirm">确 定</el-button> |
|
||||
<el-button size="small" @click="handleQuXiao">取 消</el-button> |
|
||||
</div> |
|
||||
</el-dialog> |
|
||||
</div> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
import { getToken, removeToken, getStorage, removeStorage } from '@/utils/auth' |
|
||||
import {sourcesofrole} from '@/api/system/Role/role.js' |
|
||||
import User from '@/api/User/login.js' |
|
||||
import { getTodoNum } from '@/api/system/home/home' |
|
||||
import { getToBeReadNum } from '@/api/flow/read' |
|
||||
|
|
||||
export default { |
|
||||
data() { |
|
||||
return { |
|
||||
menus: [{ |
|
||||
imgUrl: require('@/assets/home/bIcon1.png'), |
|
||||
title: '业务管理' |
|
||||
}, { |
|
||||
imgUrl: require('@/assets/home/scm.png'), |
|
||||
title: '供应链管理' |
|
||||
}, { |
|
||||
imgUrl: require('@/assets/home/bIcon2.png'), |
|
||||
title: '风控管理' |
|
||||
}, { |
|
||||
imgUrl: require('@/assets/home/bIcon3.png'), |
|
||||
title: '审计管理' |
|
||||
}, { |
|
||||
imgUrl: require('@/assets/home/bIcon4.png'), |
|
||||
title: '财务管理' |
|
||||
}, { |
|
||||
imgUrl: require('@/assets/home/bIcon5.png'), |
|
||||
title: '行政管理' |
|
||||
}, { |
|
||||
imgUrl: require('@/assets/home/bIcon6.png'), |
|
||||
title: '报表中心' |
|
||||
}, { |
|
||||
imgUrl: require('@/assets/home/bIcon7.png'), |
|
||||
title: '基础信息' |
|
||||
}, { |
|
||||
imgUrl: require('@/assets/home/notice.png'), |
|
||||
title: '消息中心' |
|
||||
}, { |
|
||||
imgUrl: require('@/assets/home/bIcon8.png'), |
|
||||
title: '系统管理' |
|
||||
}], |
|
||||
userInfo: {}, |
|
||||
orgDept_list: [], |
|
||||
shuliang: { |
|
||||
workCount: '', |
|
||||
toBeReadCount: '' |
|
||||
}, |
|
||||
dialogVisible: false, |
|
||||
form: { |
|
||||
original: '', |
|
||||
password: '', |
|
||||
confirmPassword: '', |
|
||||
userSid: '' |
|
||||
}, |
|
||||
timer: '', |
|
||||
Orgname: '', |
|
||||
departmentName: '', |
|
||||
name: '', |
|
||||
pNameAndDepartmentNameAndPostName: '', |
|
||||
defaultOrgPathName: '', |
|
||||
defaultOrgPath: '', |
|
||||
roleName: '', |
|
||||
postName: '', |
|
||||
year: '' |
|
||||
} |
|
||||
}, |
|
||||
beforeCreate() { |
|
||||
|
|
||||
}, |
|
||||
created() { |
|
||||
this.getsPasswordByUserSid() |
|
||||
}, |
|
||||
mounted() { |
|
||||
this.Orgname = window.sessionStorage.getItem('Orgname') |
|
||||
this.departmentName = window.sessionStorage.getItem('departmentName') |
|
||||
this.pNameAndDepartmentNameAndPostName = window.sessionStorage.getItem('pNameAndDepartmentNameAndPostName') |
|
||||
this.defaultOrgPathName = window.sessionStorage.getItem('defaultOrgPathName') |
|
||||
this.defaultOrgPath = window.sessionStorage.getItem('defaultOrgPath') |
|
||||
this.roleName = window.sessionStorage.getItem('roleName') |
|
||||
this.postName = window.sessionStorage.getItem('postName') |
|
||||
this.name = window.sessionStorage.getItem('name') |
|
||||
var nowDate = new Date() |
|
||||
this.year = nowDate.getFullYear() |
|
||||
// sourcesofrole({ psid: '0', roleSid: this.$store.getters.userInfo.roleSid }).then(res => { |
|
||||
// this.menus = res.data |
|
||||
// }) |
|
||||
}, |
|
||||
methods: { |
|
||||
getsPasswordByUserSid() { |
|
||||
User.selectPasswordByUserSid(window.sessionStorage.getItem('userSid')).then((resp) => { |
|
||||
if (resp.success && resp.data) { |
|
||||
this.dialogVisible = true |
|
||||
} else { |
|
||||
this.getNum() |
|
||||
this.timer = setInterval(this.getNum, 20000) |
|
||||
} |
|
||||
}) |
|
||||
User.getOrgListByUserSid({ userSid: window.sessionStorage.getItem('userSid') }).then((res) => { |
|
||||
if (res.success) { |
|
||||
this.orgDept_list = res.data |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
getNum() { |
|
||||
getTodoNum(window.sessionStorage.getItem('userSid')).then((resp) => { |
|
||||
if (resp.success) { |
|
||||
this.shuliang.workCount = resp.data |
|
||||
} |
|
||||
}) |
|
||||
getToBeReadNum(window.sessionStorage.getItem('userSid')).then((resp) => { |
|
||||
if (resp.success) { |
|
||||
this.shuliang.toBeReadCount = resp.data |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
handleConirm() { |
|
||||
if (this.form.original === '') { |
|
||||
this.$message({ showClose: true, type: 'error', message: '原密码不能为空' }) |
|
||||
return |
|
||||
} |
|
||||
if (this.form.password !== this.form.confirmPassword) { |
|
||||
this.$message({ showClose: true, type: 'error', message: '两次输入密码不一致' }) |
|
||||
return |
|
||||
} |
|
||||
this.form.userSid = window.sessionStorage.getItem('userSid') |
|
||||
User.updatePassword(this.form).then((resp) => { |
|
||||
if (resp.success) { |
|
||||
this.$alert('密码修改成功!请重新登录点击确定后退出。', '修改成功', { |
|
||||
confirmButtonText: '确定', |
|
||||
callback: action => { |
|
||||
this.handleQuXiao() |
|
||||
} |
|
||||
}) |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
handleQuXiao() { |
|
||||
this.dialogVisible = false |
|
||||
this.form = { |
|
||||
original: '', |
|
||||
password: '', |
|
||||
confirmPassword: '' |
|
||||
} |
|
||||
User.logout({ token: getStorage() }).then((res) => { |
|
||||
if (res.success) { |
|
||||
removeStorage() |
|
||||
this.$store.commit('user/SET_UESRINFO', '') |
|
||||
this.$router.push({ path: '/login' }) |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
todowork() { |
|
||||
window.open('/#/todo' + '?token=' + getStorage(), '_blank') |
|
||||
// this.$router.push({ path: '/todo' + '?token=' + getStorage() }) |
|
||||
// window.open('http://127.0.0.1/message'+'?token='+getStorage(),'_blank') |
|
||||
}, |
|
||||
donework() { |
|
||||
window.open('/#/done' + '?token=' + getStorage(), '_blank') |
|
||||
// this.$router.push({ path: '/done' + '?token=' + getStorage() }) |
|
||||
// window.open('http://127.0.0.1/message'+'?token='+getStorage(),'_blank') |
|
||||
}, |
|
||||
tobereadwork() { |
|
||||
window.open('/#/toberead' + '?token=' + getStorage(), '_blank') |
|
||||
}, |
|
||||
havereadwork() { |
|
||||
window.open('/#/haveread' + '?token=' + getStorage(), '_blank') |
|
||||
}, |
|
||||
logout() { |
|
||||
this.$confirm('确定要退出吗, 是否继续?', '提示', { |
|
||||
confirmButtonText: '确定', |
|
||||
cancelButtonText: '取消', |
|
||||
type: 'warning' |
|
||||
}).then(() => { |
|
||||
User.logout({token: getStorage()}).then(res => { |
|
||||
removeStorage() |
|
||||
this.$store.commit('user/SET_UESRINFO', '') |
|
||||
this.$router.push({ path: '/login' }) |
|
||||
}) |
|
||||
}) |
|
||||
}, |
|
||||
xxzx() { |
|
||||
this.$alert('项目正在开发中', '提示', { |
|
||||
dangerouslyUseHTMLString: true |
|
||||
}) |
|
||||
}, |
|
||||
toNavbar(name) { |
|
||||
let myPopup = window.open(name + '?token=' + getStorage(), '_blank') |
|
||||
}, |
|
||||
changeOrg(value) { |
|
||||
const choose = this.orgDept_list.filter((item) => item.orgName === value) |
|
||||
this.defaultOrgPathName = choose[0].orgName |
|
||||
this.defaultOrgPath = choose[0].orgPath |
|
||||
}, |
|
||||
toNav(index, name, titleName) { |
|
||||
const organizationData = { |
|
||||
defaultOrgPathName: this.defaultOrgPathName, |
|
||||
defaultOrgPath: this.defaultOrgPath |
|
||||
} |
|
||||
if (index == '9') { |
|
||||
// this.$router.push({path: '/index'}) |
|
||||
let myPopup = window.open('/#/index', '_blank') |
|
||||
} else if (index == '7') { |
|
||||
// let myPopup = window.open('http://127.0.0.1:9531/base/#/' + '?token=' + getStorage() + '&organizationData=' + encodeURI((JSON.stringify(organizationData))), '_blank') |
|
||||
let myPopup = window.open('http://anrui.yyundong.com/base/#/' + '?token=' + getStorage() + '&organizationData=' + encodeURI((JSON.stringify(organizationData))), '_blank') |
|
||||
// let myPopup = window.open('http://120.46.172.184/base/#/' + '?token=' + getStorage() + '&organizationData=' + encodeURI((JSON.stringify(organizationData))), '_blank') |
|
||||
} else if (index == '8') { |
|
||||
// let myPopup = window.open('http://127.0.0.1:9531/message/#/' + '?token=' + getStorage() + '&organizationData=' + encodeURI((JSON.stringify(organizationData))), '_blank') |
|
||||
let myPopup = window.open('http://anrui.yyundong.com/message/#/' + '?token=' + getStorage() + '&organizationData=' + encodeURI((JSON.stringify(organizationData))), '_blank') |
|
||||
// let myPopup = window.open('http://120.46.172.184/message/#/' + '?token=' + getStorage() + '&organizationData=' + encodeURI((JSON.stringify(organizationData))), '_blank') |
|
||||
} else if (index == '1') { |
|
||||
// let myPopup = window.open('http://127.0.0.1:9531/scm/#/' + '?token=' + getStorage() + '&organizationData=' + encodeURI((JSON.stringify(organizationData))), '_blank') |
|
||||
let myPopup = window.open('http://anrui.yyundong.com/scm/#/' + '?token=' + getStorage() + '&organizationData=' + encodeURI((JSON.stringify(organizationData))), '_blank') |
|
||||
// let myPopup = window.open('http://120.46.172.184/scm/#/' + '?token=' + getStorage() + '&organizationData=' + encodeURI((JSON.stringify(organizationData))), '_blank') |
|
||||
} else if (index == '4') { |
|
||||
// let myPopup = window.open('http://127.0.0.1:9531/fin/#/' + '?token=' + getStorage() + '&organizationData=' + encodeURI((JSON.stringify(organizationData))), '_blank') |
|
||||
let myPopup = window.open('http://anrui.yyundong.com/fin/#/' + '?token=' + getStorage() + '&organizationData=' + encodeURI((JSON.stringify(organizationData))), '_blank') |
|
||||
// let myPopup = window.open('http://120.46.172.184/fin/#/' + '?token=' + getStorage() + '&organizationData=' + encodeURI((JSON.stringify(organizationData))), '_blank') |
|
||||
} else if (index == '5') { |
|
||||
// let myPopup = window.open('http://127.0.0.1:9531/manage/#/' + '?token=' + getStorage() + '&organizationData=' + encodeURI((JSON.stringify(organizationData))), '_blank') |
|
||||
let myPopup = window.open('http://anrui.yyundong.com/manage/#/' + '?token=' + getStorage() + '&organizationData=' + encodeURI((JSON.stringify(organizationData))), '_blank') |
|
||||
// let myPopup = window.open('http://120.46.172.184/manage/#/' + '?token=' + getStorage() + '&organizationData=' + encodeURI((JSON.stringify(organizationData))), '_blank') |
|
||||
} else if (index == '0') { |
|
||||
// let myPopup = window.open('http://127.0.0.1:9531/buscenter/#/' + '?token=' + getStorage() + '&organizationData=' + encodeURI((JSON.stringify(organizationData))), '_blank') |
|
||||
let myPopup = window.open('http://anrui.yyundong.com/buscenter/#/' + '?token=' + getStorage() + '&organizationData=' + encodeURI((JSON.stringify(organizationData))), '_blank') |
|
||||
// let myPopup = window.open('http://120.46.172.184/buscenter/#/' + '?token=' + getStorage() + '&organizationData=' + encodeURI((JSON.stringify(organizationData))), '_blank') |
|
||||
} |
|
||||
// const page = this.$router.resolve({name: name}) |
|
||||
// window.open(page.href,'_blank') |
|
||||
} |
|
||||
}, |
|
||||
beforeDestroy() { |
|
||||
clearInterval(this.timer) |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
<style scoped="scoped"> |
|
||||
li:hover, |
|
||||
p:hover { |
|
||||
cursor: pointer |
|
||||
} |
|
||||
</style> |
|
||||
<style lang="scss" scoped> |
|
||||
p { |
|
||||
margin: 0; |
|
||||
padding: 0; |
|
||||
} |
|
||||
|
|
||||
.header { |
|
||||
background-color: #0294d7; |
|
||||
color: #fff; |
|
||||
overflow: hidden; |
|
||||
height: 60px; |
|
||||
line-height: 60px; |
|
||||
|
|
||||
.title { |
|
||||
img { |
|
||||
width: 70px; |
|
||||
vertical-align: middle; |
|
||||
font-family: Adobe Heiti Std; |
|
||||
} |
|
||||
|
|
||||
float: left; |
|
||||
font-size: 34px; |
|
||||
margin-left: 35px; |
|
||||
height: 60px; |
|
||||
line-height: 60px; |
|
||||
} |
|
||||
|
|
||||
.head_info { |
|
||||
float: right; |
|
||||
margin-top: 0; |
|
||||
font-size: 17px; |
|
||||
} |
|
||||
|
|
||||
p { |
|
||||
float: left; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
//.head_info img { |
|
||||
// width: 25px; |
|
||||
// margin-top: 20px; |
|
||||
// margin-left: 30px; |
|
||||
// margin-right: 10px; |
|
||||
// float: left; |
|
||||
//} |
|
||||
// |
|
||||
//.head_info .dy { |
|
||||
// margin-left: 10px; |
|
||||
// margin-right: 20px; |
|
||||
//} |
|
||||
|
|
||||
.container1 { |
|
||||
background: #E9F1F7; |
|
||||
padding: 20px; |
|
||||
width: 100%; |
|
||||
height: calc(100% - 60px); |
|
||||
margin: 0; |
|
||||
|
|
||||
.bg-ltop { |
|
||||
margin: 0; |
|
||||
padding: 0 20px; |
|
||||
background-image: url(../../assets/home/ltBg.png); |
|
||||
border-radius: 10px; |
|
||||
overflow: hidden; |
|
||||
height: 190px; |
|
||||
|
|
||||
li { |
|
||||
float: left; |
|
||||
list-style: none; |
|
||||
width: 25%; |
|
||||
text-align: center; |
|
||||
|
|
||||
img { |
|
||||
width: 70px; |
|
||||
margin: 45px auto 10px auto; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.bg-rtop { |
|
||||
background-image: url(../../assets/home/rtBg.png); |
|
||||
border-radius: 10px; |
|
||||
height: 190px; |
|
||||
overflow: hidden; |
|
||||
position: relative; |
|
||||
|
|
||||
.anrui { |
|
||||
width: 100%; |
|
||||
height: 40px; |
|
||||
} |
|
||||
|
|
||||
.rt_title { |
|
||||
position: absolute; |
|
||||
top: 10px; |
|
||||
left: 15px; |
|
||||
font-size: 18px; |
|
||||
font-family: SourceHanSerifCN; |
|
||||
font-weight: 600; |
|
||||
color: #191919; |
|
||||
} |
|
||||
|
|
||||
ul { |
|
||||
margin: 0px auto; |
|
||||
padding: 0; |
|
||||
height: 148px; |
|
||||
width: 100%; |
|
||||
|
|
||||
li { |
|
||||
font-size: 14px; |
|
||||
height: 33px; |
|
||||
line-height: 28px; |
|
||||
list-style: none; |
|
||||
text-decoration: underline; |
|
||||
border-bottom: 1px solid #666; |
|
||||
width: calc(100% - 70px); |
|
||||
margin-left: 40px; |
|
||||
position: relative; |
|
||||
padding-top: 10px; |
|
||||
font-family: SimSun; |
|
||||
|
|
||||
img { |
|
||||
width: 16px; |
|
||||
margin: 5px 10px; |
|
||||
position: absolute; |
|
||||
left: -30px; |
|
||||
} |
|
||||
|
|
||||
.notice { |
|
||||
display: inline-block; |
|
||||
width: 65%; |
|
||||
text-overflow: ellipsis; |
|
||||
overflow: hidden; |
|
||||
white-space: nowrap; |
|
||||
} |
|
||||
|
|
||||
.anrui_time { |
|
||||
float: right; |
|
||||
display: inline-block; |
|
||||
margin-right: 5px; |
|
||||
line-height: 30px; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.bg-bottom { |
|
||||
background-image: url(../../assets/home/bottomBg.png); |
|
||||
border-radius: 10px; |
|
||||
overflow: hidden; |
|
||||
margin: 20px 0 0 0; |
|
||||
padding: 10px 20px; |
|
||||
|
|
||||
li { |
|
||||
float: left; |
|
||||
list-style: none; |
|
||||
width: 11.6%; |
|
||||
margin: 10px 2.5%; |
|
||||
background: #fff; |
|
||||
border-radius: 40px; |
|
||||
text-align: center; |
|
||||
padding: 10px 25px 15px; |
|
||||
|
|
||||
img { |
|
||||
width: 80%; |
|
||||
margin: 10px auto; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.copy { |
|
||||
position: fixed; |
|
||||
bottom: 0; |
|
||||
width: calc(100% - 40px); |
|
||||
margin: auto; |
|
||||
text-align: center; |
|
||||
line-height: 40px; |
|
||||
border-top: 2px solid #4E74A6; |
|
||||
background: #E9F1F7; |
|
||||
font-size: 14px; |
|
||||
color: #666; |
|
||||
} |
|
||||
|
|
||||
.mark { |
|
||||
position: absolute; |
|
||||
top: 38%; |
|
||||
margin-left: 58px; |
|
||||
} |
|
||||
|
|
||||
.mark { |
|
||||
::v-deep .el-badge__content { |
|
||||
font-size: 14px !important; |
|
||||
} |
|
||||
} |
|
||||
.selectStyle { |
|
||||
::v-deep .el-input__inner { |
|
||||
border: 0px !important; |
|
||||
background-color: #0294d7 !important; |
|
||||
font-size: 17px; |
|
||||
color: #FFFFFF; |
|
||||
} |
|
||||
} |
|
||||
</style> |
|
@ -1,293 +1,256 @@ |
|||||
<template> |
<template> |
||||
<div class="content"> |
<div class="content"> |
||||
<el-header> |
<el-header> |
||||
<h3 class="title">河北省计量业务应用平台</h3> |
<h3 class="title">河北省计量业务应用平台</h3> |
||||
</el-header> |
</el-header> |
||||
<div class="user-from"> |
<div class="stude">学生注册</div> |
||||
<el-form :model="userForm" :rules="rules" ref="userForm" label-width="120px" class="demo-userForm"> |
<div class="user-from"> |
||||
<el-form-item label="身份证号" prop="idNo"> |
<el-form |
||||
<el-input v-model="userForm.idNo" @blur="onInputBlur" placeholder="请输入身份证号" :maxlength="18"></el-input> |
:model="userForm" |
||||
</el-form-item> |
:rules="rules" |
||||
<el-form-item label="真实姓名" prop="name"> |
ref="userForm" |
||||
<el-input v-model="userForm.name" placeholder="请输入真实姓名"></el-input> |
label-width="120px" |
||||
</el-form-item> |
class="demo-userForm" |
||||
<el-form-item label="个人手机号" prop="mobile"> |
> |
||||
<el-input v-model="userForm.mobile" placeholder="请输入手机号" ></el-input> |
<el-form-item label="学生学号" prop="userName"> |
||||
<el-button class="Tips" type="text" :disabled='isDisabled' @click.stop.prevent="getcode()">点击获取验证码 {{downTime ? downTime+'s':''}}</el-button> |
<el-input |
||||
</el-form-item> |
v-model="userForm.userName" |
||||
<el-form-item label="手机验证码" prop="verificationCode"> |
placeholder="请输入学号" |
||||
<el-input v-model="userForm.verificationCode" placeholder="请输入验证码"></el-input> |
></el-input> |
||||
</el-form-item> |
</el-form-item> |
||||
<el-form-item label="用户名" prop="userName"> |
<el-form-item label="姓名" prop="name"> |
||||
<el-input v-model="userForm.userName" :disabled="true"></el-input> |
<el-input v-model="userForm.name" placeholder="请输入姓名"></el-input> |
||||
</el-form-item> |
</el-form-item> |
||||
<el-form-item label="密码" prop="password"> |
<el-form-item label="密码" prop="password"> |
||||
<paddwordinput v-model="userForm.password" placeholder="请输入密码" :pastips='true' :maxlength="10"></paddwordinput> |
<paddwordinput |
||||
<el-button class="Tips" type="text">密码必须为8至10位大小写字母和数字组合</el-button> |
v-model="userForm.password" |
||||
</el-form-item> |
placeholder="请输入密码" |
||||
<el-form-item label="确认密码" prop="rePassword"> |
:pastips="true" |
||||
<paddwordinput v-model="userForm.rePassword" placeholder="请再次输入密码" :maxlength="10"></paddwordinput> |
:maxlength="10" |
||||
</el-form-item> |
></paddwordinput> |
||||
<el-row :gutter="20"> |
<el-button class="Tips" type="text" |
||||
<el-col :span="12"> |
>密码必须为8至10位大小写字母和数字组合</el-button |
||||
<el-form-item label="身份证正面照" prop="idFrontPhoto"> |
> |
||||
<UploadImg @imgUrl="FrontPhotoUrl"></UploadImg> |
</el-form-item> |
||||
<el-input v-model="userForm.idFrontPhoto" v-show="false"></el-input> |
<el-form-item label="确认密码" prop="confirmPassword"> |
||||
</el-form-item> |
<paddwordinput |
||||
</el-col> |
v-model="userForm.confirmPassword" |
||||
<el-col :span="12"> |
placeholder="请再次输入密码" |
||||
<el-form-item label="身份证背面照" prop="idBackPhoto"> |
:maxlength="10" |
||||
<UploadImg @imgUrl="BackPhotoUrl"></UploadImg> |
></paddwordinput> |
||||
<el-input v-model="userForm.idBackPhoto" v-show="false"></el-input> |
</el-form-item> |
||||
</el-form-item> |
<el-form-item label="昵称" prop="nickName"> |
||||
</el-col> |
<el-input v-model="userForm.nickName" placeholder="请输入昵称"></el-input> |
||||
</el-row> |
</el-form-item> |
||||
<el-form-item style="text-align: center;"> |
<el-form-item style="text-align: center"> |
||||
<el-button type="primary" @click="submitForm('userForm')" :disabled="btnDisabled">注册</el-button> |
<el-button |
||||
<el-button @click="resetForm('userForm')">关闭</el-button> |
type="primary" |
||||
</el-form-item> |
@click="submitForm('userForm')" |
||||
</el-form> |
:disabled="btnDisabled" |
||||
</div> |
>注册</el-button |
||||
</div> |
> |
||||
|
<el-button @click="resetForm()">关闭</el-button> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
</div> |
||||
|
</div> |
||||
</template> |
</template> |
||||
|
|
||||
<script> |
<script> |
||||
import { |
import {registUser} from '@/api/user.js' |
||||
registUser, |
import qs from "qs"; |
||||
getVerificationCode |
import paddwordinput from "@/components/passwordSafe/index.vue"; |
||||
} from '@/api/user1.js' |
export default { |
||||
import qs from 'qs' |
components: { paddwordinput }, |
||||
import UploadImg from '@/components/uploadFile/index.vue' |
data() { |
||||
import paddwordinput from '@/components/passwordSafe/index.vue' |
var validatorPhone = function (rule, value, callback) { |
||||
export default { |
if (value === "") { |
||||
components:{ UploadImg, paddwordinput }, |
callback(new Error("学号不能为空")); |
||||
data() { |
} else { |
||||
var validatorPhone = function (rule, value, callback) { |
callback(); |
||||
if (value === '') { |
|
||||
callback(new Error('手机号不能为空')) |
|
||||
} else if (!/^1\d{10}$/.test(value)) { |
|
||||
callback(new Error('手机号格式错误')) |
|
||||
} else { |
|
||||
callback() |
|
||||
} |
|
||||
} |
} |
||||
var validatePass2 = (rule, value, callback) => { |
}; |
||||
if (value === '') { |
var validatePass2 = (rule, value, callback) => { |
||||
callback(new Error('请再次输入密码')) |
if (value === "") { |
||||
// password 是表单上绑定的字段 |
callback(new Error("请再次输入密码")); |
||||
} else if (value !== this.userForm.password) { |
// password 是表单上绑定的字段 |
||||
callback(new Error('两次输入密码不一致!')) |
} else if (value !== this.userForm.password) { |
||||
} else { |
callback(new Error("两次输入密码不一致!")); |
||||
callback() |
} else { |
||||
} |
callback(); |
||||
} |
} |
||||
return { |
}; |
||||
downTime: '', |
return { |
||||
isDisabled: false, |
downTime: "", |
||||
userForm: { |
isDisabled: false, |
||||
name: '', |
userForm: { |
||||
userName: '', //用户名 |
name: "",//姓名 |
||||
password: '', |
userName: "", //学号 |
||||
rePassword: '', |
password: "", |
||||
mobile: '', // 手机号 |
confirmPassword: "", |
||||
verificationCode: '', |
nickName: "", //昵称 |
||||
idNo: '', |
}, |
||||
idBackPhoto: '', // 反面 |
btnDisabled: false, |
||||
idFrontPhoto: '' |
rule: [{ required: true, message: "不能为空", trigger: "blur" }], |
||||
}, |
rules: { |
||||
btnDisabled: false, |
userName: [ |
||||
rule: [{required: true, message: '不能为空', trigger: 'blur'}], |
{ required: true, validator: validatorPhone, trigger: "blur" }, |
||||
rules: { |
], |
||||
idNo: [ |
password: [ |
||||
{ required: true, message: '请输入身份证号', trigger: 'blur' }, |
{ required: true, message: "请输入密码", trigger: "blur" }, |
||||
{ pattern: /(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$)/, |
{ |
||||
message: '身份证号格式错误', trigger: 'blur' , |
min: 8, |
||||
} |
max: 10, |
||||
], |
message: "长度在 8 到 10 个字符大小写字母和数字组合", |
||||
name: [ |
trigger: "blur", |
||||
{ required: true, message: '请输入真实姓名', trigger: 'blur' } |
}, |
||||
], |
], |
||||
mobile: [ |
confirmPassword: [ |
||||
{ required: true, validator: validatorPhone, trigger: 'blur' } |
|
||||
], |
|
||||
verificationCode: [ |
|
||||
{ required: true, message: '请输入手机验证码', trigger: 'blur' } |
|
||||
], |
|
||||
userName: [ |
|
||||
{ required: true, message: '请输入身份证号', trigger: 'blur' } |
|
||||
], |
|
||||
password: [ |
|
||||
{ required: true, message: '请输入密码', trigger: 'blur' }, |
|
||||
{ min: 8, max: 10, message: '长度在 8 到 10 个字符大小写字母和数字组合', trigger: 'blur' } |
|
||||
], |
|
||||
rePassword: [ |
|
||||
{ required: true, validator: validatePass2, trigger: 'blur' } |
{ required: true, validator: validatePass2, trigger: 'blur' } |
||||
], |
], |
||||
idFrontPhoto: [ |
}, |
||||
{ required: true, message: '请输入上传身份证', trigger: 'blur' } |
}; |
||||
], |
}, |
||||
idBackPhoto: [ |
methods: { |
||||
{ required: true, message: '请输入上传身份证', trigger: 'blur' } |
FrontPhotoUrl(url) { |
||||
], |
this.userForm.idFrontPhoto = url.filePath; |
||||
} |
}, |
||||
}; |
BackPhotoUrl(url) { |
||||
}, |
this.userForm.idBackPhoto = url.filePath; |
||||
methods: { |
}, |
||||
// 手机验证码 |
submitForm(formName) { |
||||
getcode() { |
this.btnDisabled = true; |
||||
let _this = this |
this.$refs[formName].validate((valid) => { |
||||
if (!/^1\d{10}$/.test(_this.userForm.mobile)) { |
if (valid) { |
||||
this.$message({ |
registUser(this.userForm) |
||||
type: 'error', |
.then((res) => { |
||||
message: '手机号格式错误!' |
console.log(res); |
||||
}); |
this.btnDisabled = false; |
||||
}else { |
this.$confirm("注册成功, 是否关闭页面?", "提示", { |
||||
_this.downTime = 60 |
confirmButtonText: "确定", |
||||
let timeInterval = null |
cancelButtonText: "取消", |
||||
_this.isDisabled = true |
type: "success", |
||||
timeInterval = setInterval(()=>{ |
}).then(() => { |
||||
--_this.downTime |
this.$router.push('/login'); |
||||
if(_this.downTime == 0){ |
}); |
||||
clearInterval(timeInterval) |
}) |
||||
_this.downTime = ''; |
.catch(() => { |
||||
_this.isDisabled = false |
this.btnDisabled = false; |
||||
} |
}); |
||||
},1000) |
} else { |
||||
getVerificationCode({ |
return false; |
||||
mobile: _this.userForm.mobile |
|
||||
}).then(res =>{ |
|
||||
// this.isDisabled = false |
|
||||
}) |
|
||||
} |
} |
||||
}, |
}); |
||||
FrontPhotoUrl(url){ |
}, |
||||
this.userForm.idFrontPhoto = url.filePath |
resetForm() { |
||||
}, |
this.$router.push('/login'); |
||||
BackPhotoUrl(url){ |
}, |
||||
this.userForm.idBackPhoto = url.filePath |
onInputBlur() { |
||||
}, |
// 用户名密码 |
||||
submitForm(formName) { |
this.userForm.userName = this.userForm.idNo; |
||||
this.btnDisabled = true |
}, |
||||
this.$refs[formName].validate((valid) => { |
}, |
||||
if (valid) { |
}; |
||||
registUser(qs.stringify(this.userForm)).then((res) => { |
|
||||
this.btnDisabled = false |
|
||||
this.$confirm('注册成功, 是否关闭页面?', '提示', { |
|
||||
confirmButtonText: '确定', |
|
||||
cancelButtonText: '取消', |
|
||||
type: 'success' |
|
||||
}).then(() => { |
|
||||
window.close(); |
|
||||
}) |
|
||||
}).catch(() => { |
|
||||
this.btnDisabled = false |
|
||||
}) |
|
||||
} else { |
|
||||
return false; |
|
||||
} |
|
||||
}); |
|
||||
}, |
|
||||
resetForm(formName) { |
|
||||
window.close(); |
|
||||
this.$refs[formName].resetFields(); |
|
||||
}, |
|
||||
onInputBlur() { // 用户名密码 |
|
||||
this.userForm.userName = this.userForm.idNo |
|
||||
}, |
|
||||
} |
|
||||
} |
|
||||
</script> |
</script> |
||||
|
|
||||
<style lang="scss" scoped> |
<style lang="scss" scoped> |
||||
@import "~@/styles/variables.scss"; |
@import "~@/styles/variables.scss"; |
||||
h3{margin: 0;padding: 0;} |
h3 { |
||||
.el-header{ |
margin: 0; |
||||
width: 100%; |
padding: 0; |
||||
background-color: #0294d7; |
} |
||||
color: #fff; |
.el-header { |
||||
line-height: 60px; |
width: 100%; |
||||
overflow: hidden; |
background-color: #0294d7; |
||||
position: fixed; |
color: #fff; |
||||
z-index: 99; |
line-height: 60px; |
||||
top: 0; |
overflow: hidden; |
||||
.title{ |
position: fixed; |
||||
float: left; |
z-index: 99; |
||||
font-size: 26px; |
top: 0; |
||||
margin-left: 35px; |
.title { |
||||
} |
float: left; |
||||
} |
font-size: 26px; |
||||
.content{ |
margin-left: 35px; |
||||
padding: 50px 0; |
|
||||
background-color: #f7f9fc; |
|
||||
} |
} |
||||
|
} |
||||
|
.content { |
||||
|
padding: 50px 0; |
||||
|
background-color: #f7f9fc; |
||||
|
} |
||||
</style> |
</style> |
||||
|
|
||||
<style lang="scss"> |
<style lang="scss"> |
||||
@import "~@/styles/variables.scss"; |
@import "~@/styles/variables.scss"; |
||||
.opcity{ |
.opcity { |
||||
opacity: 1 !important; |
opacity: 1 !important; |
||||
} |
} |
||||
.user-from { |
.stude{ |
||||
width: 860px; |
margin-left: 735px; |
||||
padding-top: 20px; |
margin-top: 20px; |
||||
margin: 0 auto; |
font-size: 26px; |
||||
.el-input__inner:focus { |
} |
||||
border: 1px solid $border-color; |
.user-from { |
||||
} |
width: 860px; |
||||
.Tips { |
padding-top: 20px; |
||||
padding-left: 10px; |
margin: 0 auto; |
||||
position: absolute; |
.el-input__inner:focus { |
||||
left: 100%; |
border: 1px solid $border-color; |
||||
top: 0; |
} |
||||
} |
.Tips { |
||||
|
padding-left: 10px; |
||||
|
position: absolute; |
||||
|
left: 100%; |
||||
|
top: 0; |
||||
|
} |
||||
|
|
||||
.pasTips { |
.pasTips { |
||||
display: flex; |
display: flex; |
||||
justify-content: center; |
justify-content: center; |
||||
|
|
||||
span { |
span { |
||||
display: inline-block; |
display: inline-block; |
||||
margin: 15px 10px 0 10px; |
margin: 15px 10px 0 10px; |
||||
padding: 0 30px; |
padding: 0 30px; |
||||
line-height: 30px; |
line-height: 30px; |
||||
border-top: 3px solid red; |
border-top: 3px solid red; |
||||
opacity: 0.3; |
opacity: 0.3; |
||||
} |
} |
||||
|
|
||||
span:nth-child(2) { |
span:nth-child(2) { |
||||
border-color: blue; |
border-color: blue; |
||||
} |
} |
||||
|
|
||||
span:nth-child(3) { |
span:nth-child(3) { |
||||
border-color: green; |
border-color: green; |
||||
} |
} |
||||
} |
} |
||||
|
|
||||
.avatar-uploader .el-upload { |
.avatar-uploader .el-upload { |
||||
border: 1px dashed #d9d9d9; |
border: 1px dashed #d9d9d9; |
||||
border-radius: 6px; |
border-radius: 6px; |
||||
cursor: pointer; |
cursor: pointer; |
||||
position: relative; |
position: relative; |
||||
overflow: hidden; |
overflow: hidden; |
||||
} |
} |
||||
|
|
||||
.avatar-uploader .el-upload:hover { |
.avatar-uploader .el-upload:hover { |
||||
border-color: #409EFF; |
border-color: #409eff; |
||||
} |
} |
||||
|
|
||||
.avatar-uploader-icon { |
.avatar-uploader-icon { |
||||
font-size: 28px; |
font-size: 28px; |
||||
color: #8c939d; |
color: #8c939d; |
||||
width: 200px; |
width: 200px; |
||||
height: 178px; |
height: 178px; |
||||
line-height: 178px; |
line-height: 178px; |
||||
text-align: center; |
text-align: center; |
||||
} |
} |
||||
|
|
||||
.avatar { |
.avatar { |
||||
width: 178px; |
width: 178px; |
||||
height: 178px; |
height: 178px; |
||||
display: block; |
display: block; |
||||
} |
} |
||||
} |
} |
||||
</style> |
</style> |
||||
|
@ -0,0 +1,249 @@ |
|||||
|
<template> |
||||
|
<el-tabs |
||||
|
class="my-tabs" |
||||
|
v-model="activeName" |
||||
|
type="card" |
||||
|
@tab-click="handleClick" |
||||
|
> |
||||
|
<el-tab-pane label="教师信息" name="roleList"> |
||||
|
<div class="container"> |
||||
|
<el-table :data="tableData" border style="width: 100%"> |
||||
|
<el-table-column prop="name" label="教师姓名" align="center"> |
||||
|
</el-table-column> |
||||
|
<el-table-column prop="infoId" label="教师工号" align="center"> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="查看" align="center" width="100px"> |
||||
|
<template slot-scope="scope"> |
||||
|
<el-button type="text" @click="lookstuder(scope.row)" |
||||
|
>查看学生</el-button |
||||
|
> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="操作" align="center"> |
||||
|
<template slot-scope="scope"> |
||||
|
<el-button type="primary" size="mini" @click="editRow(scope.row)"> |
||||
|
添加 |
||||
|
</el-button> |
||||
|
<el-button |
||||
|
type="danger" |
||||
|
size="mini" |
||||
|
@click.native.prevent="deleteRow(scope.row)" |
||||
|
> |
||||
|
删除 |
||||
|
</el-button> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
|
||||
|
<pagination |
||||
|
:total="page.total" |
||||
|
:page.sync="page.current" |
||||
|
:limit.sync="page.size" |
||||
|
@pagination="pagination" |
||||
|
/> |
||||
|
<el-dialog title="收货地址" :visible.sync="lookstuders"> |
||||
|
<el-table :data="gridData"> |
||||
|
<el-table-column |
||||
|
property="infoId" |
||||
|
label="日期" |
||||
|
width="150" |
||||
|
></el-table-column> |
||||
|
<el-table-column |
||||
|
property="name" |
||||
|
label="姓名" |
||||
|
width="200" |
||||
|
></el-table-column> |
||||
|
<el-table-column property="address" label="地址"></el-table-column> |
||||
|
</el-table> |
||||
|
</el-dialog> |
||||
|
<!-- 编辑角色信息 --> |
||||
|
<el-dialog |
||||
|
:title="dialogTitle + '学生'" |
||||
|
:visible.sync="editDialog" |
||||
|
width="40%" |
||||
|
> |
||||
|
<table class="e-table" cellspacing="0"> |
||||
|
<tr> |
||||
|
<td>教师姓名</td> |
||||
|
<td> |
||||
|
<el-input |
||||
|
v-model="teacher.teacherName" |
||||
|
style="width: 300px" |
||||
|
></el-input> |
||||
|
</td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td>教师工号</td> |
||||
|
<td> |
||||
|
<el-input |
||||
|
v-model="teacher.teacherNo" |
||||
|
style="width: 300px" |
||||
|
></el-input> |
||||
|
</td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td>学生姓名</td> |
||||
|
<td> |
||||
|
<el-select v-model="teacher.studentName" placeholder="请选择"> |
||||
|
<el-option |
||||
|
v-for="item in options" |
||||
|
:key="item.value" |
||||
|
:label="item.name" |
||||
|
:value="item.id" |
||||
|
> |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
</td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td>学生学号</td> |
||||
|
<td> |
||||
|
<el-select v-model="teacher.studentNo" placeholder="请选择"> |
||||
|
<el-option |
||||
|
v-for="item in options" |
||||
|
:key="item.value" |
||||
|
:label="item.infoId" |
||||
|
:value="item.id" |
||||
|
> |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
</td> |
||||
|
</tr> |
||||
|
</table> |
||||
|
<div style="margin-top: 20px; text-align: center"> |
||||
|
<el-button type="primary" @click="save()">保存</el-button> |
||||
|
<!--<el-button @click="editDialog = false">关闭</el-button>--> |
||||
|
</div> |
||||
|
</el-dialog> |
||||
|
</div> |
||||
|
</el-tab-pane> |
||||
|
</el-tabs> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { |
||||
|
pageList, |
||||
|
saveSysInfoShip, |
||||
|
selectTeacherDownStudent, |
||||
|
} from "@/api/system/sources/index.js"; |
||||
|
|
||||
|
export default { |
||||
|
data() { |
||||
|
return { |
||||
|
activeName: "roleList", |
||||
|
dialogTitle: "", |
||||
|
editDialog: false, |
||||
|
lookstuders: false, |
||||
|
form: {}, |
||||
|
gridData: {}, |
||||
|
teacher: {}, |
||||
|
type: "js", |
||||
|
formBackup: Object.assign({}, this.form), |
||||
|
page: { |
||||
|
total: 0, // 默认数据总数 |
||||
|
current: 1, // 默认开始页面 |
||||
|
size: 10, // 每页的数据条数 |
||||
|
params: { |
||||
|
psid: "", |
||||
|
sourceId: "", |
||||
|
sourceName: "", |
||||
|
}, |
||||
|
}, |
||||
|
tableData: [], |
||||
|
zylb: [], |
||||
|
sourceList: [], |
||||
|
options: {}, |
||||
|
value: "", |
||||
|
}; |
||||
|
}, |
||||
|
mounted() { |
||||
|
this.getPageList(this.page); |
||||
|
pageList("xs").then((res) => { |
||||
|
this.options = res.data; |
||||
|
console.log(res); |
||||
|
}); |
||||
|
}, |
||||
|
methods: { |
||||
|
lookstuder(row) { |
||||
|
this.lookstuders = true; |
||||
|
console.log(row.infoId); |
||||
|
selectTeacherDownStudent({ infoId: row.infoId }).then((res) => { |
||||
|
this.gridData=res.data |
||||
|
}); |
||||
|
}, |
||||
|
pagination(val) { |
||||
|
// 分页 |
||||
|
this.page.current = val.pageNum; |
||||
|
this.page.size = val.pageSize; |
||||
|
this.getPageList(this.page); |
||||
|
}, |
||||
|
resetSearch() { |
||||
|
// 重置 |
||||
|
this.page = { |
||||
|
total: 0, // 默认数据总数 |
||||
|
current: 1, // 默认开始页面 |
||||
|
size: 10, // 每页的数据条数 |
||||
|
params: { |
||||
|
name: "", |
||||
|
psid: "", |
||||
|
sourceId: "", |
||||
|
sourceName: "", |
||||
|
}, |
||||
|
}; |
||||
|
this.getPageList(); |
||||
|
}, |
||||
|
getPageList() { |
||||
|
// 获取列表 |
||||
|
pageList(this.type).then((res) => { |
||||
|
this.tableData = res.data; |
||||
|
this.page.total = res.data.total; |
||||
|
}); |
||||
|
}, |
||||
|
handleClick(tab, event) { |
||||
|
if (tab.name == "addrole") { |
||||
|
this.dialogTitle = "新增"; |
||||
|
this.roleForm = Object.assign({}, this.formBackup); |
||||
|
} else { |
||||
|
this.getPageList(); |
||||
|
} |
||||
|
}, |
||||
|
reset() { |
||||
|
this.form = {}; |
||||
|
}, |
||||
|
editRow(row) { |
||||
|
this.dialogTitle = "添加"; |
||||
|
this.editDialog = true; |
||||
|
this.form = Object.assign({}, row); |
||||
|
}, |
||||
|
save() { |
||||
|
console.log(this.teacher); |
||||
|
saveSysInfoShip(this.teacher).then((res) => { |
||||
|
console.log(res); |
||||
|
}); |
||||
|
this.editDialog = false; |
||||
|
}, |
||||
|
deleteRow(row) { |
||||
|
this.$confirm("确定要删除该资源吗, 是否继续?", "提示", { |
||||
|
confirmButtonText: "确定", |
||||
|
cancelButtonText: "取消", |
||||
|
type: "warning", |
||||
|
}).then(() => { |
||||
|
delSources({ sid: row.sid }).then((res) => { |
||||
|
this.getPageList(); |
||||
|
this.$message({ |
||||
|
type: "success", |
||||
|
message: "删除成功!", |
||||
|
}); |
||||
|
}); |
||||
|
}); |
||||
|
}, |
||||
|
}, |
||||
|
}; |
||||
|
</script> |
||||
|
|
||||
|
<style scoped="scoped" lang="scss"> |
||||
|
.my-tabs { |
||||
|
margin-top: 10px; |
||||
|
} |
||||
|
</style> |
||||
|
|
File diff suppressed because it is too large
@ -1,331 +1,281 @@ |
|||||
<template> |
<template> |
||||
<div class="app-container"> |
<el-tabs class="my-tabs" v-model="activeName" type="card" @tab-click="handleClick"> |
||||
<!--Start 列表页面--> |
<el-tab-pane label="教师信息" name="roleList"> |
||||
<div v-show=" viewState == 1 "> |
|
||||
<el-menu :default-active="activeIndex" style="" class="el-menu-demo" mode="horizontal"> |
|
||||
<el-menu-item |
|
||||
index="1" |
|
||||
style="margin-left: 0;text-align: center; background-color: #028ac8!important;color: #fff;"> |
|
||||
流程定义 |
|
||||
</el-menu-item> |
|
||||
<div class="new_" @click="handleAdd">新增</div> |
|
||||
<div class="new_out" @click="handleExport"></div> |
|
||||
</el-menu> |
|
||||
|
|
||||
<div class="container"> |
<div class="container"> |
||||
<div class="tab-header"> |
<el-table :data="tableData" border style="width: 100%;"> |
||||
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> |
<el-table-column label="序号" width="70px" type="index" align="center"> |
||||
<el-form-item label="表单名称" prop="formName"> |
</el-table-column> |
||||
<el-input |
<el-table-column label="操作" width="150px" align="center"> |
||||
v-model="queryParams.formName" |
<template slot-scope="scope"> |
||||
placeholder="请输入表单名称" |
<el-button type="primary" size="mini" @click="editRow(scope.row)"> |
||||
clearable |
修改 |
||||
size="small" |
</el-button> |
||||
@keyup.enter.native="handleQuery" |
<el-button type="danger" size="mini" @click.native.prevent="deleteRow(scope.row)"> |
||||
/> |
删除 |
||||
</el-form-item> |
</el-button> |
||||
<el-form-item> |
</template> |
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> |
</el-table-column> |
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> |
<el-table-column prop="name" label="教师姓名" width="100px" align="center"> |
||||
</el-form-item> |
</el-table-column> |
||||
</el-form> |
<el-table-column prop="infoId" label="教师工号" align="center" width="150px"> |
||||
</div> |
</el-table-column> |
||||
</div> |
<el-table-column prop="sex" label="性别" align="center" width="70px"> |
||||
<!-- <el-row :gutter="10" class="mb8">--> |
</el-table-column> |
||||
<!-- <el-col :span="1.5">--> |
<el-table-column prop="calss" label="所属班级" align="center" width="100px"> |
||||
<!-- <el-button--> |
</el-table-column> |
||||
<!-- type="primary"--> |
<el-table-column prop="department" label="系别" align="center" width="100px"> |
||||
<!-- plain--> |
</el-table-column> |
||||
<!-- icon="el-icon-plus"--> |
<el-table-column prop="speciality" label="专业" align="center" width="150px"> |
||||
<!-- size="mini"--> |
</el-table-column> |
||||
<!-- @click="handleAdd"--> |
<el-table-column prop="studyYear" label="入职年份" align="center" width="150px"> |
||||
<!-- >新增--> |
</el-table-column> |
||||
<!-- </el-button>--> |
<el-table-column prop="remarks" label="成绩录入" align="center"> |
||||
<!-- </el-col>--> |
</el-table-column> |
||||
<!-- <el-col :span="1.5">--> |
</el-table> |
||||
<!-- <el-button--> |
|
||||
<!-- type="success"--> |
|
||||
<!-- plain--> |
|
||||
<!-- icon="el-icon-edit"--> |
|
||||
<!-- size="mini"--> |
|
||||
<!-- :disabled="single"--> |
|
||||
<!-- @click="handleUpdate"--> |
|
||||
<!-- >修改--> |
|
||||
<!-- </el-button>--> |
|
||||
<!-- </el-col>--> |
|
||||
<!-- <el-col :span="1.5">--> |
|
||||
<!-- <el-button--> |
|
||||
<!-- type="danger"--> |
|
||||
<!-- plain--> |
|
||||
<!-- icon="el-icon-delete"--> |
|
||||
<!-- size="mini"--> |
|
||||
<!-- :disabled="multiple"--> |
|
||||
<!-- @click="handleDelete"--> |
|
||||
<!-- >删除--> |
|
||||
<!-- </el-button>--> |
|
||||
<!-- </el-col>--> |
|
||||
<!-- <el-col :span="1.5">--> |
|
||||
<!-- <el-button--> |
|
||||
<!-- type="warning"--> |
|
||||
<!-- plain--> |
|
||||
<!-- icon="el-icon-download"--> |
|
||||
<!-- size="mini"--> |
|
||||
<!-- @click="handleExport"--> |
|
||||
<!-- >导出--> |
|
||||
<!-- </el-button>--> |
|
||||
<!-- <!– </el-col>–></el-row>--> |
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
|
||||
|
|
||||
|
|
||||
<el-table v-loading="loading" :data="formList" @selection-change="handleSelectionChange"> |
|
||||
<el-table-column type="selection" width="55" align="center"/> |
|
||||
<el-table-column label="表单主键" align="center" prop="formId"/> |
|
||||
<el-table-column label="表单名称" align="center" prop="formName"/> |
|
||||
<el-table-column label="备注" align="center" prop="remark"/> |
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-button |
|
||||
size="mini" |
|
||||
type="text" |
|
||||
icon="el-icon-view" |
|
||||
@click="handleDetail(scope.row)" |
|
||||
>详情 |
|
||||
</el-button> |
|
||||
<el-button |
|
||||
size="mini" |
|
||||
type="text" |
|
||||
icon="el-icon-edit" |
|
||||
@click="handleUpdate(scope.row)" |
|
||||
>修改 |
|
||||
</el-button> |
|
||||
<el-button |
|
||||
size="mini" |
|
||||
type="text" |
|
||||
icon="el-icon-delete" |
|
||||
@click="handleDelete(scope.row)" |
|
||||
>删除 |
|
||||
</el-button> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
</el-table> |
|
||||
|
|
||||
<pagination |
<pagination :total="page.total" :page.sync="page.current" :limit.sync="page.size" @pagination="pagination"/> |
||||
v-show="total>0" |
<!-- 编辑角色信息 --> |
||||
:total="total" |
<el-dialog :title="dialogTitle + '教师信息'" :visible.sync="editDialog" width="40%"> |
||||
:page.sync="queryParams.pageNum" |
<table class="e-table" cellspacing="0"> |
||||
:limit.sync="queryParams.pageSize" |
<tr> |
||||
@pagination="getList" |
<td>教师姓名</td> |
||||
/> |
<td> |
||||
|
<el-input v-model="form.name" style="width:300px"></el-input> |
||||
|
</td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td>教师工号</td> |
||||
|
<td> |
||||
|
<el-input v-model="form.infoId" style="width:300px"></el-input> |
||||
|
</td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td>性别</td> |
||||
|
<td> |
||||
|
<el-input v-model="form.sex" style="width:300px"></el-input> |
||||
|
</td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td>所属班级</td> |
||||
|
<td> |
||||
|
<el-input v-model="form.calss" style="width:300px"></el-input> |
||||
|
</td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td>系别</td> |
||||
|
<td> |
||||
|
<el-input v-model="form.department" style="width:300px"></el-input> |
||||
|
</td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td>专业</td> |
||||
|
<td> |
||||
|
<el-input v-model="form.speciality" style="width:300px"></el-input> |
||||
|
</td> |
||||
|
</tr> |
||||
|
|
||||
<!-- 添加或修改流程表单对话框 --> |
<tr> |
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> |
<td>入职年份</td> |
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> |
<td> |
||||
<el-form-item label="表单名称" prop="formName"> |
<el-input v-model="form.studyYear" style="width:300px"></el-input> |
||||
<el-input v-model="form.formName" placeholder="请输入表单名称"/> |
</td> |
||||
</el-form-item> |
</tr> |
||||
<el-form-item label="表单内容"> |
<tr> |
||||
<editor v-model="form.formContent" :min-height="192"/> |
<td>资源描述</td> |
||||
</el-form-item> |
<td> |
||||
<el-form-item label="备注" prop="remark"> |
<el-input type="textarea" v-model="form.remarks"></el-input> |
||||
<el-input v-model="form.remark" placeholder="请输入备注"/> |
</td> |
||||
</el-form-item> |
</tr> |
||||
</el-form> |
</table> |
||||
<div slot="footer" class="dialog-footer"> |
<div style="margin-top: 20px; text-align: center;"> |
||||
<el-button type="primary" @click="submitForm">确 定</el-button> |
<el-button type="primary" @click="save()">保存</el-button> |
||||
<el-button @click="cancel">取 消</el-button> |
<!--<el-button @click="editDialog = false">关闭</el-button>--> |
||||
</div> |
</div> |
||||
</el-dialog> |
</el-dialog> |
||||
|
</div> |
||||
<!--表单配置详情--> |
</el-tab-pane> |
||||
<el-dialog :title="formTitle" :visible.sync="formConfOpen" width="60%" append-to-body> |
<el-tab-pane label="新增教师" name="addrole"> |
||||
<div class="test-form"> |
<table class="e-table" cellspacing="0"> |
||||
<parser :key="new Date().getTime()" :form-conf="formConf"/> |
<tr> |
||||
</div> |
<td>教师姓名</td> |
||||
</el-dialog> |
<td> |
||||
</div> |
<el-input v-model="form.name" style="width:300px"></el-input> |
||||
|
</td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td>教师工号</td> |
||||
|
<td> |
||||
|
<el-input v-model="form.infoId" style="width:300px"></el-input> |
||||
|
</td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td>性别</td> |
||||
|
<td> |
||||
|
<el-input v-model="form.sex" style="width:300px"></el-input> |
||||
|
</td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td>所属班级</td> |
||||
|
<td> |
||||
|
<el-input v-model="form.calss" style="width:300px"></el-input> |
||||
|
</td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td>系别</td> |
||||
|
<td> |
||||
|
<el-input v-model="form.department" style="width:300px"></el-input> |
||||
|
</td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td>专业</td> |
||||
|
<td> |
||||
|
<el-input v-model="form.speciality" style="width:300px"></el-input> |
||||
|
</td> |
||||
|
</tr> |
||||
|
|
||||
<!--Start 新增页面--> |
<tr> |
||||
<form-add v-show=" viewState == 2"></form-add> |
<td>入职年份</td> |
||||
</div> |
<td> |
||||
|
<el-input v-model="form.studyYear" style="width:300px"></el-input> |
||||
|
</td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td>资源描述</td> |
||||
|
<td> |
||||
|
<el-input type="textarea" v-model="form.remarks"></el-input> |
||||
|
</td> |
||||
|
</tr> |
||||
|
</table> |
||||
|
<div style="margin-top: 20px; text-align: center;"> |
||||
|
<el-button type="primary" @click="save()">保存</el-button> |
||||
|
<!--<el-button @click="editDialog = false">关闭</el-button>--> |
||||
|
</div> |
||||
|
<!--</el-dialog>--> |
||||
|
<!--</div>--> |
||||
|
</el-tab-pane> |
||||
|
</el-tabs> |
||||
</template> |
</template> |
||||
|
|
||||
<script> |
<script> |
||||
import {listForm, getForm, delForm, addForm, updateForm, exportForm} from "@/api/workflow/form"; |
import { |
||||
// import Editor from '@/components/Editor'; |
pageList, |
||||
// import Parser from '@/components/parser/Parser' |
saveSourcesInfo, |
||||
import formAdd from "./formAdd"; |
putSourcesInfo, |
||||
|
delSources, |
||||
|
} from '@/api/system/sources/index.js' |
||||
|
|
||||
export default { |
export default { |
||||
name: "form", |
|
||||
components: { |
|
||||
Editor, |
|
||||
// Parser, |
|
||||
formAdd |
|
||||
}, |
|
||||
data() { |
data() { |
||||
return { |
return { |
||||
activeIndex: '1', |
activeName: 'roleList', |
||||
viewState: 1, |
dialogTitle: '', |
||||
// 遮罩层 |
editDialog: false, |
||||
loading: true, |
form: {}, |
||||
// 选中数组 |
type:'js', |
||||
ids: [], |
formBackup: Object.assign({}, this.form), |
||||
// 非单个禁用 |
page: { |
||||
single: true, |
|
||||
// 非多个禁用 |
|
||||
multiple: true, |
|
||||
// 显示搜索条件 |
|
||||
showSearch: true, |
|
||||
// 总条数 |
|
||||
total: 0, |
|
||||
// 流程表单表格数据 |
|
||||
formList: [], |
|
||||
// 弹出层标题 |
|
||||
title: "", |
|
||||
formConf: {}, // 默认表单数据 |
|
||||
formConfOpen: false, |
|
||||
formTitle: "", |
|
||||
// 是否显示弹出层 |
|
||||
open: false, |
|
||||
// 查询参数 |
|
||||
queryParams: { |
|
||||
size: 10, // 每页的数据条数 |
|
||||
total: 0, // 默认数据总数 |
total: 0, // 默认数据总数 |
||||
current: 1, // 默认开始页面 |
current: 1, // 默认开始页面 |
||||
|
size: 10, // 每页的数据条数 |
||||
params: { |
params: { |
||||
formName: null, |
psid: '', |
||||
formContent: null, |
sourceId: '', |
||||
} |
sourceName: '' |
||||
|
}, |
||||
}, |
}, |
||||
// 表单参数 |
tableData: [], |
||||
form: {}, |
zylb: [], |
||||
// 表单校验 |
sourceList: [] |
||||
rules: {} |
} |
||||
}; |
|
||||
}, |
}, |
||||
created() { |
mounted() { |
||||
this.getList(); |
this.getPageList(this.page) |
||||
}, |
}, |
||||
methods: { |
methods: { |
||||
/** 查询流程表单列表 */ |
pagination(val) { // 分页 |
||||
getList() { |
this.page.current = val.pageNum |
||||
this.loading = true; |
this.page.size = val.pageSize |
||||
listForm(this.queryParams).then(response => { |
this.getPageList(this.page) |
||||
this.formList = response.data.records; |
|
||||
this.total = response.data.total; |
|
||||
this.loading = false; |
|
||||
}); |
|
||||
}, |
|
||||
// 取消按钮 |
|
||||
cancel() { |
|
||||
this.open = false; |
|
||||
this.reset(); |
|
||||
}, |
}, |
||||
// 表单重置 |
resetSearch() { // 重置 |
||||
reset() { |
this.page = { |
||||
this.form = { |
total: 0, // 默认数据总数 |
||||
formId: null, |
current: 1, // 默认开始页面 |
||||
formName: null, |
size: 10, // 每页的数据条数 |
||||
formContent: null, |
params: { |
||||
createTime: null, |
name:'', |
||||
updateTime: null, |
psid: '', |
||||
createBy: null, |
sourceId: '', |
||||
updateBy: null, |
sourceName: '' |
||||
remark: null |
}, |
||||
}; |
} |
||||
this.resetForm("form"); |
this.getPageList() |
||||
}, |
|
||||
/** 搜索按钮操作 */ |
|
||||
handleQuery() { |
|
||||
this.queryParams.pageNum = 1; |
|
||||
this.getList(); |
|
||||
}, |
|
||||
/** 重置按钮操作 */ |
|
||||
resetQuery() { |
|
||||
this.resetForm("queryForm"); |
|
||||
this.handleQuery(); |
|
||||
}, |
}, |
||||
// 多选框选中数据 |
getPageList() { // 获取列表 |
||||
handleSelectionChange(selection) { |
pageList(this.type).then((res) => { |
||||
this.ids = selection.map(item => item.formId) |
this.tableData = res.data |
||||
this.single = selection.length !== 1 |
this.page.total = res.data.total |
||||
this.multiple = !selection.length |
}) |
||||
}, |
}, |
||||
/** 表单配置信息 */ |
handleClick(tab, event) { |
||||
handleDetail(row) { |
if (tab.name == 'addrole') { |
||||
this.formConfOpen = true; |
this.dialogTitle = '新增' |
||||
this.formTitle = "流程表单配置详细"; |
this.roleForm = Object.assign({}, this.formBackup) |
||||
this.formConf = JSON.parse(row.formContent) |
} else { |
||||
|
this.getPageList() |
||||
|
} |
||||
}, |
}, |
||||
/** 新增按钮操作 */ |
save() { |
||||
handleAdd() { |
if (this.form.sid) { |
||||
// this.reset(); |
putSourcesInfo(this.form).then(res => { |
||||
// this.open = true; |
this.editDialog = false |
||||
// this.title = "添加流程表单"; |
this.getPageList(this.page) |
||||
this.$router.push({path: '/tool/build/index', query: {formId: null}}) |
this.$message({ |
||||
|
message: res.msg, |
||||
|
type: 'success' |
||||
|
}) |
||||
|
}) |
||||
|
} else { |
||||
|
saveSourcesInfo(this.form).then(res => { |
||||
|
this.getPageList() |
||||
|
this.activeName = "roleList" |
||||
|
this.$message({ |
||||
|
message: res.msg, |
||||
|
type: 'success' |
||||
|
}) |
||||
|
}) |
||||
|
} |
||||
|
this.reset() |
||||
}, |
}, |
||||
/** 修改按钮操作 */ |
reset() { |
||||
handleUpdate(row) { |
this.form = {} |
||||
// this.reset(); |
|
||||
// const formId = row.formId || this.ids |
|
||||
// getForm(formId).then(response => { |
|
||||
// this.form = response.data; |
|
||||
// this.open = true; |
|
||||
// this.title = "修改流程表单"; |
|
||||
// }); |
|
||||
this.$router.push({path: '/tool/build/index', query: {formId: row.formId}}) |
|
||||
}, |
}, |
||||
/** 提交按钮 */ |
editRow(row) { |
||||
submitForm() { |
this.dialogTitle = '编辑' |
||||
this.$refs["form"].validate(valid => { |
this.editDialog = true |
||||
if (valid) { |
this.form = Object.assign({}, row) |
||||
if (this.form.formId != null) { |
|
||||
updateForm(this.form).then(response => { |
|
||||
this.msgSuccess("修改成功"); |
|
||||
this.open = false; |
|
||||
this.getList(); |
|
||||
}); |
|
||||
} else { |
|
||||
addForm(this.form).then(response => { |
|
||||
this.msgSuccess("新增成功"); |
|
||||
this.open = false; |
|
||||
this.getList(); |
|
||||
}); |
|
||||
} |
|
||||
} |
|
||||
}); |
|
||||
}, |
}, |
||||
/** 删除按钮操作 */ |
deleteRow(row) { |
||||
handleDelete(row) { |
this.$confirm('确定要删除该资源吗, 是否继续?', '提示', { |
||||
const formIds = row.formId || this.ids; |
confirmButtonText: '确定', |
||||
this.$confirm('是否确认删除流程表单编号为"' + formIds + '"的数据项?', "警告", { |
cancelButtonText: '取消', |
||||
confirmButtonText: "确定", |
type: 'warning' |
||||
cancelButtonText: "取消", |
|
||||
type: "warning" |
|
||||
}).then(function () { |
|
||||
return delForm(formIds); |
|
||||
}).then(() => { |
}).then(() => { |
||||
this.getList(); |
delSources({sid: row.sid}).then(res => { |
||||
this.msgSuccess("删除成功"); |
this.getPageList() |
||||
}) |
this.$message({ |
||||
}, |
type: 'success', |
||||
/** 导出按钮操作 */ |
message: '删除成功!' |
||||
handleExport() { |
}); |
||||
const queryParams = this.queryParams; |
}) |
||||
this.$confirm('是否确认导出所有流程表单数据项?', "警告", { |
|
||||
confirmButtonText: "确定", |
|
||||
cancelButtonText: "取消", |
|
||||
type: "warning" |
|
||||
}).then(function () { |
|
||||
return exportForm(queryParams); |
|
||||
}).then(response => { |
|
||||
this.download(response.msg); |
|
||||
}) |
}) |
||||
} |
} |
||||
} |
}, |
||||
} |
} |
||||
</script> |
</script> |
||||
|
|
||||
<style scoped> |
<style scoped="scoped" lang="scss"> |
||||
|
.my-tabs { |
||||
|
margin-top: 10px; |
||||
|
} |
||||
</style> |
</style> |
||||
|
@ -0,0 +1,65 @@ |
|||||
|
<template> |
||||
|
<div> |
||||
|
<el-tabs class="my-tabs" v-model="activeName" type="card" @tab-click="handleClick"> |
||||
|
<el-tab-pane label="用户列表" name="roleList"> |
||||
|
<user-manage-list :dataObj='dataObj' @status='isShow' @item='listObj'></user-manage-list> |
||||
|
</el-tab-pane> |
||||
|
<!-- <el-tab-pane label="新增用户" name="addrole"> |
||||
|
<user-manage-add @status='isShow' :dataObj='childObj'></user-manage-add> |
||||
|
</el-tab-pane>--> |
||||
|
</el-tabs> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import userManageList from './userManageList.vue' |
||||
|
import userManageAdd from './userManageAdd.vue' |
||||
|
|
||||
|
export default { |
||||
|
components: { |
||||
|
userManageList: userManageList, |
||||
|
userManageAdd: userManageAdd, |
||||
|
}, |
||||
|
data() { |
||||
|
return { |
||||
|
activeName: 'roleList', |
||||
|
editDialog: false, |
||||
|
dataObj: { |
||||
|
isShow: '' |
||||
|
}, |
||||
|
childObj: {} |
||||
|
}; |
||||
|
}, |
||||
|
mounted() { |
||||
|
|
||||
|
}, |
||||
|
methods: { |
||||
|
handleClick(tab, event) { |
||||
|
if (tab.name == 'addrole') { |
||||
|
this.dialogTitle = '新增' |
||||
|
// this.roleForm = Object.assign({}, this.formBackup) |
||||
|
} else { |
||||
|
// this.getroleOrgList() |
||||
|
} |
||||
|
}, |
||||
|
isShow(val) { |
||||
|
if (!val) { |
||||
|
this.activeName = 'roleList' |
||||
|
this.dataObj.isShow = false |
||||
|
this.dataObj.isShow = true |
||||
|
} else { |
||||
|
this.activeName = 'addrole' |
||||
|
} |
||||
|
}, |
||||
|
listObj(val) { |
||||
|
this.childObj = val |
||||
|
} |
||||
|
} |
||||
|
}; |
||||
|
</script> |
||||
|
|
||||
|
<style scoped="scoped"> |
||||
|
.my-tabs { |
||||
|
margin-top: 10px; |
||||
|
} |
||||
|
</style> |
@ -0,0 +1,267 @@ |
|||||
|
<template> |
||||
|
<div> |
||||
|
<el-card class="box-card"> |
||||
|
<table class="e-table" cellspacing="0"> |
||||
|
<tr> |
||||
|
<td>姓名</td> |
||||
|
<td> |
||||
|
<el-input v-model="form.name" style="width:300px"></el-input> |
||||
|
</td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td>用户类型</td> |
||||
|
<td> |
||||
|
<el-select v-model="form.userType" @change="$forceUpdate()" style="width:300px"> |
||||
|
<el-option |
||||
|
v-for="(item, i) in userTypeData" |
||||
|
:key="i" |
||||
|
:label="item.name" |
||||
|
:value="item.value"> |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
</td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td>部门</td> |
||||
|
<td> |
||||
|
<el-select v-model="form.deptSid" placeholder="请选择" style="width:300px"> |
||||
|
<el-option hidden :key="form.deptSid" :label="orgName" :value="form.deptSid"></el-option> |
||||
|
<el-tree :data="treedata" ref="Tree" show-checkbox accordion node-key="sid" |
||||
|
:default-checked-keys="checkedId" |
||||
|
:default-expand-all='true' :check-strictly='true' :props="defaultProps" |
||||
|
@check-change="checkchange" |
||||
|
> |
||||
|
</el-tree> |
||||
|
</el-select> |
||||
|
<!--<el-select v-model="form.deptSid" @change="$forceUpdate()"> |
||||
|
<el-option |
||||
|
v-for="(item, i) in treedata" |
||||
|
:key="i" |
||||
|
:label="item.name" |
||||
|
:value="item.sid"> |
||||
|
</el-option> |
||||
|
</el-select>--> |
||||
|
</td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td>岗位</td> |
||||
|
<td> |
||||
|
<el-select v-model="form.postSid" @change="$forceUpdate()" style="width:300px"> |
||||
|
<el-option |
||||
|
v-for="(item, i) in postSidData" |
||||
|
:key="i" |
||||
|
:label="item.name" |
||||
|
:value="item.sid"> |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
<!--<el-input v-model="form.postSid"></el-input>--> |
||||
|
</td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td>手机号码</td> |
||||
|
<td> |
||||
|
<el-input v-model="form.mobile" style="width:300px"></el-input> |
||||
|
</td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td>手机验证码</td> |
||||
|
<td> |
||||
|
<el-input v-model="form.verificationCode" placeholder="请输入验证码" style="width:300px"> |
||||
|
<el-button v-show="showCode" slot="append" @click.native="getIdentifying">获取验证码</el-button> |
||||
|
<el-button v-show="!showCode" slot="append">{{phoneCodeCount}} s</el-button> |
||||
|
</el-input> |
||||
|
<!--<el-input v-model="form.verificationCode"></el-input>--> |
||||
|
</td> |
||||
|
</tr> |
||||
|
</table> |
||||
|
<div style="margin-top: 20px; text-align: center;"> |
||||
|
<el-button type="primary" @click="save()">保 存</el-button> |
||||
|
<!--<el-button type="warning" @click="cancel()">取 消</el-button>--> |
||||
|
</div> |
||||
|
</el-card> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import {userAdd, userUpdata, userSingle, orgList, postList, getCode} from '@/api/system/userManage/index.js' |
||||
|
|
||||
|
export default { |
||||
|
data() { |
||||
|
return { |
||||
|
form: { |
||||
|
sid: '', |
||||
|
name: '', |
||||
|
userType: '', |
||||
|
deptSid: '', |
||||
|
postSid: '', |
||||
|
mobile: '', |
||||
|
verificationCode: '' |
||||
|
}, |
||||
|
form1: { |
||||
|
sid: '', |
||||
|
}, |
||||
|
userTypeData: [{ |
||||
|
value: '1', |
||||
|
name: '员工' |
||||
|
}, { |
||||
|
value: '2', |
||||
|
name: '客户' |
||||
|
}, { |
||||
|
value: '3', |
||||
|
name: '供应商' |
||||
|
}], |
||||
|
treedata: [], |
||||
|
checkedId: [], |
||||
|
orgName: '', |
||||
|
defaultProps: { |
||||
|
children: 'children', |
||||
|
label: 'name' |
||||
|
}, |
||||
|
postSidData: [], |
||||
|
showCode: true, |
||||
|
phoneCodeCount: '', |
||||
|
timer: null, |
||||
|
}; |
||||
|
}, |
||||
|
props: ['dataObj'], |
||||
|
watch: { |
||||
|
dataObj: { |
||||
|
handler(val) { |
||||
|
this.form1.sid = val.sid |
||||
|
this.getUserSingle() |
||||
|
this.getOrgList() |
||||
|
}, |
||||
|
deep: true, |
||||
|
}, |
||||
|
}, |
||||
|
mounted() { |
||||
|
this.getOrgList() |
||||
|
}, |
||||
|
methods: { |
||||
|
getUserSingle() { |
||||
|
userSingle(this.form1).then(res => { |
||||
|
if (res.code == '200') { |
||||
|
this.form.sid = res.data.sid |
||||
|
this.form.name = res.data.name |
||||
|
this.form.userType = res.data.userType |
||||
|
this.form.deptSid = res.data.deptSid |
||||
|
this.orgName = res.data.departmentName |
||||
|
this.form.postSid = res.data.postSid |
||||
|
this.form.mobile = res.data.mobile |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
// 获取部门树形 |
||||
|
getOrgList(row) { |
||||
|
// this.roleDialog = true |
||||
|
this.checkedId = [] |
||||
|
this.Thisrow = row |
||||
|
this.loading = true |
||||
|
let params = {} |
||||
|
orgList(params).then(res => { |
||||
|
this.treedata = res.data |
||||
|
}) |
||||
|
|
||||
|
}, |
||||
|
checkchange(data, checked, indeterminate) { |
||||
|
if (checked) { |
||||
|
|
||||
|
this.form.deptSid = data.sid |
||||
|
this.orgName = data.name |
||||
|
let arr = [] |
||||
|
arr = [data.sid]; |
||||
|
this.$refs.Tree.setCheckedKeys(arr); |
||||
|
this.form.postSid = '' |
||||
|
this.getPost(data.sid) |
||||
|
return; |
||||
|
} |
||||
|
}, |
||||
|
getPost(orgSid) { |
||||
|
let params = { |
||||
|
sid: orgSid |
||||
|
} |
||||
|
postList(params).then(res => { |
||||
|
this.postSidData = res.data |
||||
|
}) |
||||
|
}, |
||||
|
save() { |
||||
|
if (this.form.sid) { |
||||
|
userUpdata(this.form).then(res => { |
||||
|
if (res.code == '200') { |
||||
|
this.$message({ |
||||
|
message: res.msg, |
||||
|
type: 'success' |
||||
|
}) |
||||
|
this.$emit('status', false) |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
let orgSid = this.$refs.Tree.getCheckedKeys() |
||||
|
this.form.deptSid = orgSid.toString() |
||||
|
userAdd(this.form).then(res => { |
||||
|
if (res.code == '200') { |
||||
|
this.$message({ |
||||
|
message: res.msg, |
||||
|
type: 'success' |
||||
|
}) |
||||
|
this.$emit('status', false) |
||||
|
} |
||||
|
}) |
||||
|
let arr = [] |
||||
|
this.$refs.Tree.setCheckedKeys(arr); |
||||
|
} |
||||
|
this.reset() |
||||
|
}, |
||||
|
reset() { |
||||
|
this.form = { |
||||
|
sid: '', |
||||
|
name: '', |
||||
|
userType: '', |
||||
|
deptSid: '', |
||||
|
postSid: '', |
||||
|
mobile: '', |
||||
|
verificationCode: '' |
||||
|
} |
||||
|
}, |
||||
|
//获取验证码 |
||||
|
getIdentifying() { |
||||
|
if (this.form.mobile == "") { |
||||
|
this.$alert('请填写手机号码', '', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
return; |
||||
|
} |
||||
|
//验证码倒计时 |
||||
|
const TIME_COUNT = 60; |
||||
|
if (!this.timer) { |
||||
|
this.phoneCodeCount = TIME_COUNT; |
||||
|
this.showCode = false; |
||||
|
this.timer = setInterval(() => { |
||||
|
if (this.phoneCodeCount > 0 && this.phoneCodeCount <= TIME_COUNT) { |
||||
|
this.phoneCodeCount--; |
||||
|
} else { |
||||
|
this.showCode = true; |
||||
|
clearInterval(this.timer); |
||||
|
this.timer = null; |
||||
|
} |
||||
|
}, 1000) |
||||
|
} |
||||
|
|
||||
|
let obj = { |
||||
|
phone: this.form.mobile, |
||||
|
} |
||||
|
getCode(obj).then(res => { |
||||
|
if (res.code == '200') { |
||||
|
this.orginTranceNo = res.data.tranceNo; |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
cancel() { |
||||
|
this.$emit('status', false) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style> |
||||
|
</style> |
@ -0,0 +1,483 @@ |
|||||
|
<template> |
||||
|
<div> |
||||
|
<div class="tab-header"> |
||||
|
<el-form ref="form" :inline="true" :model="search" label-width="80px"> |
||||
|
<el-row :gutter="20"> |
||||
|
<el-col :span="24"> |
||||
|
<el-form-item label="用户名"> |
||||
|
<el-input v-model="search.userName" clearable></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="姓名"> |
||||
|
<el-input v-model="search.name" clearable></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="角色"> |
||||
|
<el-select v-model="search.roleSid" filterable clearable placeholder="请选择"> |
||||
|
<el-option v-for="item in roleListAll" :key="item.sid" :label="item.name" :value="item.sid"></el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="部门"> |
||||
|
<el-input v-model="search.orgName" clearable></el-input> |
||||
|
<!-- <el-select v-model="search.roleSid" clearable placeholder="请选择">--> |
||||
|
<!-- <el-option v-for="(item,i) in roleListAll" :key="i" :label="item.name" :value="item.sid"></el-option>--> |
||||
|
<!-- </el-select>--> |
||||
|
</el-form-item> |
||||
|
<el-button @click="getOrgUserList(1)">查询</el-button> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
</el-form> |
||||
|
</div> |
||||
|
<!-- table --> |
||||
|
<el-table :data="userTable" border style="width: 100%;"> |
||||
|
<el-table-column label="序号" width="50px" type="index" align="center"> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="操作" width="300px" align="center"> |
||||
|
<template slot-scope="scope"> |
||||
|
<el-button @click="setRole(scope.row)" type="primary" size="mini"> |
||||
|
设置角色 |
||||
|
</el-button> |
||||
|
<el-button @click="initPwd(scope.row)" type="danger" size="mini"> |
||||
|
初始化密码 |
||||
|
</el-button> |
||||
|
<!-- <el-button @click="del(scope.row)" type="danger" size="mini"> |
||||
|
删除 |
||||
|
</el-button>--> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column prop="userName" label="用户名" align="center"> |
||||
|
<template slot-scope="scope"> |
||||
|
<!-- <span class="tablerow-click" @click="userinfoChange(scope.row)">-->{{ scope.row.userName }}<!--</span>--> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column prop="userType" label="用户类型" align="center"></el-table-column> |
||||
|
<el-table-column prop="name" label="姓名" width="120px" align="center"></el-table-column> |
||||
|
<el-table-column prop="departmentName" label="部门" align="center"></el-table-column> |
||||
|
<el-table-column prop="postName" label="岗位" align="center"></el-table-column> |
||||
|
<el-table-column prop="isEnable" label="是否可用" align="center"> |
||||
|
<template slot-scope="scope"> |
||||
|
<el-switch |
||||
|
v-model="scope.row.isEnable" |
||||
|
active-value='1' |
||||
|
inactive-value='0' |
||||
|
active-color="#13ce66" |
||||
|
inactive-color="#ff4949" |
||||
|
@change="enabledChange($event,scope.row)"> |
||||
|
</el-switch> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
<pagination :total="page.total" :page.sync="page.current" :limit.sync="page.size" @pagination="pagination"/> |
||||
|
<!-- 角色设置 --> |
||||
|
<el-dialog title="设置角色" :visible.sync="roleDialog" width="30%"> |
||||
|
<el-form :model="roleForm" :rules="rules" ref="roleForm"> |
||||
|
<el-form-item label="角色名称" :label-width="formLabelWidth" prop="roleSid"> |
||||
|
<el-select v-model="roleForm.roleSid" placeholder="请选择" filterable multiple> |
||||
|
<el-option v-for="(item,i) in roleList" :key="i" :label="item.name" :value="item.sid"></el-option> |
||||
|
</el-select> |
||||
|
<!--<el-button type="primary" size='mini' @click="toNav('RoleAdminister')" style="margin-left: 10px;" circle icon="el-icon-plus"></el-button>--> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<div slot="footer" class="dialog-footer"> |
||||
|
<el-button type="primary" @click="saveRole('roleForm')">保 存</el-button> |
||||
|
<el-button @click="roleDialog = false">关 闭</el-button> |
||||
|
</div> |
||||
|
</el-dialog> |
||||
|
<!-- 部门设置 --> |
||||
|
<el-dialog title="部门设置" :visible.sync="bm_Dialog" width="30%"> |
||||
|
<el-form :model="bm_Form" :rules="rules" ref="bm_Form"> |
||||
|
<el-form-item label="部门名称" :label-width="formLabelWidth" prop="departmentSid"> |
||||
|
<!-- <el-select v-model="bm_Form.departmentSid" placeholder="请选择"> |
||||
|
<el-option v-for="item in bm_List" |
||||
|
:key="item.departmentSid" |
||||
|
:label="item.departmentName" |
||||
|
:value="item.departmentSid" |
||||
|
></el-option> |
||||
|
</el-select> --> |
||||
|
<el-cascader |
||||
|
v-model="bm_Form.departmentSid" |
||||
|
:options="treedata" |
||||
|
:props="props"></el-cascader> |
||||
|
<el-button type="primary" size='mini' @click="toNav('deptManage')" style="margin-left: 10px;" circle |
||||
|
icon="el-icon-plus"></el-button> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<div slot="footer" class="dialog-footer"> |
||||
|
<el-button type="primary" @click="saveOrg('bm_Form')">保 存</el-button> |
||||
|
<el-button @click="bm_Dialog = false">关 闭</el-button> |
||||
|
</div> |
||||
|
</el-dialog> |
||||
|
<!-- 编辑信息 --> |
||||
|
<el-dialog title="编辑用户信息" :visible.sync="editDialog" width="40%"> |
||||
|
<table class="e-table" cellspacing="0"> |
||||
|
<tr> |
||||
|
<td>姓名</td> |
||||
|
<td> |
||||
|
<el-input v-model="form.name" style="width:300px"></el-input> |
||||
|
</td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td>用户类型</td> |
||||
|
<td> |
||||
|
<el-select v-model="form.userTypeKey" @change="$forceUpdate()" style="width:300px"> |
||||
|
<el-option v-for="(item, i) in userTypeData" :key="i" :label="item.name" :value="item.value"> |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
</td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td>部门</td> |
||||
|
<td> |
||||
|
<el-select v-model="form.deptSid" placeholder="请选择" @change="$forceUpdate()" style="width:300px"> |
||||
|
<el-option hidden :key="form.deptSid" :label="orgName" :value="form.deptSid"></el-option> |
||||
|
<el-tree :data="treedata" ref="Tree" show-checkbox accordion node-key="sid" :default-checked-keys="checkedId" :default-expand-all='true' :check-strictly='true' :props="defaultProps" @check-change="checkchange"> |
||||
|
</el-tree> |
||||
|
</el-select> |
||||
|
</td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td>岗位</td> |
||||
|
<td> |
||||
|
<el-select v-model="form.postSid" @change="$forceUpdate()" style="width:300px"> |
||||
|
<el-option v-for="(item, i) in postSidData" :key="i" :label="item.name" :value="item.sid"></el-option> |
||||
|
</el-select> |
||||
|
<!--<el-input v-model="form.postSid"></el-input>--> |
||||
|
</td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td>手机号码</td> |
||||
|
<td> |
||||
|
<el-input v-model="form.userName" style="width:300px"></el-input> |
||||
|
</td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td>手机验证码</td> |
||||
|
<td> |
||||
|
<el-input v-model="form.verificationCode" placeholder="请输入验证码" style="width:300px"> |
||||
|
<el-button v-show="showCode" slot="append" @click.native="getIdentifying">获取验证码</el-button> |
||||
|
<el-button v-show="!showCode" slot="append">{{ phoneCodeCount }} s</el-button> |
||||
|
</el-input> |
||||
|
</td> |
||||
|
</tr> |
||||
|
</table> |
||||
|
<div style="margin-top: 20px; text-align: center;"> |
||||
|
<el-button type="primary" @click="save()">保 存</el-button> |
||||
|
<el-button @click="editDialog = false">关 闭</el-button> |
||||
|
</div> |
||||
|
</el-dialog> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { |
||||
|
userList, |
||||
|
delUser, |
||||
|
initPwd, |
||||
|
setRole, |
||||
|
orgList, |
||||
|
postList, |
||||
|
saveOrgRole, |
||||
|
roleList, |
||||
|
setRoleEnable, |
||||
|
userUpdata |
||||
|
} from '@/api/system/userManage/index.js' |
||||
|
|
||||
|
export default { |
||||
|
data() { |
||||
|
return { |
||||
|
editDialog: false, |
||||
|
form: {}, |
||||
|
userTypeData: [{ |
||||
|
value: '1', |
||||
|
name: '员工' |
||||
|
}, { |
||||
|
value: '2', |
||||
|
name: '客户' |
||||
|
}, { |
||||
|
value: '3', |
||||
|
name: '供应商' |
||||
|
}], |
||||
|
checkedId: [], |
||||
|
orgName: '', |
||||
|
defaultProps: { |
||||
|
children: 'children', |
||||
|
label: 'name' |
||||
|
}, |
||||
|
showCode: true, |
||||
|
postSidData: [], |
||||
|
phoneCodeCount: '', |
||||
|
timer: null, |
||||
|
roleListAll: [], |
||||
|
search: { |
||||
|
name: '', |
||||
|
userName: '', |
||||
|
roleSid: '' |
||||
|
}, |
||||
|
props: { |
||||
|
value: 'sid', |
||||
|
label: 'name', |
||||
|
children: 'orgDepartmentVoList' |
||||
|
}, |
||||
|
treedata: null, |
||||
|
page: { |
||||
|
total: 0, // 默认数据总数 |
||||
|
current: 1, // 默认开始页面 |
||||
|
size: 10 // 每页的数据条数 |
||||
|
}, |
||||
|
userTable: [], |
||||
|
clientTable: [], |
||||
|
// 设置角色 |
||||
|
formLabelWidth: '100', |
||||
|
roleDialog: false, |
||||
|
roleList: [], |
||||
|
roleForm: { |
||||
|
roleSid: '', |
||||
|
userSid: '' |
||||
|
}, |
||||
|
// 部门 |
||||
|
bm_Dialog: false, |
||||
|
postSid: '', |
||||
|
bm_Form: { departmentSid: '' }, |
||||
|
bm_List: [], |
||||
|
rules: { |
||||
|
roleSid: [{ required: true, message: '请选择角色名称', trigger: 'blur' }], |
||||
|
departmentSid: [{ required: true, message: '请选择部门名称', trigger: 'blur' }] |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
props: ['dataObj'], |
||||
|
watch: { |
||||
|
dataObj: { |
||||
|
handler(val) { |
||||
|
this.getOrgUserList() |
||||
|
}, |
||||
|
deep: true |
||||
|
} |
||||
|
}, |
||||
|
mounted() { |
||||
|
this.getOrgUserList() |
||||
|
this.getRoleList() |
||||
|
this.getOrgTree() |
||||
|
this.getOrgList() |
||||
|
}, |
||||
|
methods: { |
||||
|
// 列表 + 初始化 |
||||
|
getOrgUserList(flag) { |
||||
|
if (flag === '1') { |
||||
|
this.page.current = 1 |
||||
|
} |
||||
|
let params = this.page |
||||
|
params.params = this.search |
||||
|
userList(params).then(res => { |
||||
|
this.page.total = res.data.total |
||||
|
this.userTable = res.data.records |
||||
|
}) |
||||
|
}, |
||||
|
getRoleList() { |
||||
|
var param = {} |
||||
|
roleList(param).then(res => { |
||||
|
if (res.code === '200') { |
||||
|
this.roleListAll = res.data |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
// 分页 |
||||
|
pagination(val) { |
||||
|
this.page.current = val.pageNum |
||||
|
this.page.size = val.pageSize |
||||
|
this.getOrgUserList() |
||||
|
}, |
||||
|
getOrgTree() { // 获取部门树形列表 |
||||
|
function treeArr(data) { |
||||
|
if (data.length > 0) { |
||||
|
for (var i = 0; i < data.length; i++) { |
||||
|
if (data[i].orgDepartmentVoList.length > 0) { |
||||
|
treeArr(data[i].orgDepartmentVoList) |
||||
|
} else { |
||||
|
delete data[i].orgDepartmentVoList |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
// getOrgTree({organizationSid: this.$store.getters.userInfo.orgSid}).then(res => { |
||||
|
// let tree = res.data[0].orgDepartmentVoList |
||||
|
// treeArr(tree) |
||||
|
// this.treedata = tree |
||||
|
// }) |
||||
|
}, |
||||
|
// 设置角色 设置 用户ID |
||||
|
setRole(row) { |
||||
|
this.roleForm.roleSid = [] |
||||
|
this.roleDialog = true |
||||
|
this.roleForm.sid = row.sid |
||||
|
this.roleForm.userSid = row.sid |
||||
|
setRole(this.roleForm).then(res => { |
||||
|
this.roleList = res.data |
||||
|
for (let i = 0; i < res.data.length; i++) { |
||||
|
if (res.data[i].checked === '0') { |
||||
|
this.roleForm.roleSid.push(res.data[i].sid) |
||||
|
} |
||||
|
} |
||||
|
// this.roleForm.roleSid = res.data.filter(item=> item.checked =='0') |
||||
|
}) |
||||
|
}, |
||||
|
// 设置角色 提交 |
||||
|
saveRole(formName) { |
||||
|
this.$refs[formName].validate((valid) => { |
||||
|
if (valid) { |
||||
|
this.roleForm.roleSid = this.roleForm.roleSid.toString() |
||||
|
saveOrgRole(this.roleForm).then(res => { |
||||
|
if (res.code === '200') { |
||||
|
this.roleDialog = false |
||||
|
this.getOrgUserList() |
||||
|
this.$message({ |
||||
|
message: res.msg, |
||||
|
type: 'success' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
return false |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
// 设置部门 提交 |
||||
|
saveOrg(formName) { |
||||
|
this.$refs[formName].validate((valid) => { |
||||
|
if (valid) { |
||||
|
let params = { // 请求的参数 |
||||
|
departmentSid: this.bm_Form.departmentSid[this.bm_Form.departmentSid.length - 1], |
||||
|
staffSid: this.bm_Form.staffSid |
||||
|
} |
||||
|
saveDepartment(params).then(res => { |
||||
|
if (res.code === '200') { |
||||
|
this.getOrgUserList() |
||||
|
this.bm_Dialog = false |
||||
|
this.$message({ |
||||
|
message: res.msg, |
||||
|
type: 'success' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
return false |
||||
|
} |
||||
|
}); |
||||
|
}, |
||||
|
// 设置部门 提交 |
||||
|
save(formName) { |
||||
|
this.form.userType = this.form.userTypeKey; |
||||
|
userUpdata(this.form).then(res => { |
||||
|
if (res.code === '200') { |
||||
|
this.getOrgUserList() |
||||
|
this.bm_Dialog = false |
||||
|
this.$message({ |
||||
|
message: res.msg, |
||||
|
type: 'success' |
||||
|
}) |
||||
|
this.editDialog = false |
||||
|
} |
||||
|
this.reset() |
||||
|
}) |
||||
|
}, |
||||
|
initPwd(row) { |
||||
|
this.$confirm('此操作将初始化该用户密码, 是否继续?', '提示', { |
||||
|
confirmButtonText: '确定', |
||||
|
cancelButtonText: '取消', |
||||
|
type: 'warning' |
||||
|
}).then(() => { |
||||
|
initPwd({sid: row.sid}).then(res => { |
||||
|
this.$message({ |
||||
|
type: 'success', |
||||
|
message: res.msg |
||||
|
}) |
||||
|
}) |
||||
|
}) |
||||
|
}, |
||||
|
// 修改用户信息 |
||||
|
userinfoChange(row) { |
||||
|
var postSid = row.postSid |
||||
|
this.editDialog = true |
||||
|
this.form = Object.assign({}, row) |
||||
|
this.postSid = postSid |
||||
|
this.$nextTick(() => { |
||||
|
this.$refs.Tree.setChecked(this.form.departmentSid, true, true) |
||||
|
}) |
||||
|
// this.$emit('status',true) |
||||
|
// this.$emit('item',row) |
||||
|
}, |
||||
|
// 删除 |
||||
|
del(row) { |
||||
|
this.$confirm('此操作将删除该用户, 是否继续?', '提示', { |
||||
|
confirmButtonText: '确定', |
||||
|
cancelButtonText: '取消', |
||||
|
type: 'warning' |
||||
|
}).then(() => { |
||||
|
delUser({ sid: row.sid }).then(res => { |
||||
|
this.$message({ |
||||
|
type: 'success', |
||||
|
message: res.msg |
||||
|
}); |
||||
|
this.getOrgUserList() |
||||
|
}) |
||||
|
}) |
||||
|
}, |
||||
|
toNav(src) { |
||||
|
this.$router.push('/' + src) |
||||
|
}, |
||||
|
// 获取部门树形 |
||||
|
getOrgList(row) { |
||||
|
// this.roleDialog = true |
||||
|
this.checkedId = [] |
||||
|
this.Thisrow = row |
||||
|
this.loading = true |
||||
|
let params = {} |
||||
|
orgList(params).then(res => { |
||||
|
this.treedata = res.data |
||||
|
}) |
||||
|
|
||||
|
}, |
||||
|
checkchange(data, checked, indeterminate) { |
||||
|
if (checked) { |
||||
|
this.form.deptSid = data.sid |
||||
|
this.orgName = data.name |
||||
|
let arr = [] |
||||
|
arr = [data.sid] |
||||
|
this.$refs.Tree.setCheckedKeys(arr) |
||||
|
this.form.postSid = '' |
||||
|
this.getPost(data.sid) |
||||
|
return |
||||
|
} |
||||
|
}, |
||||
|
getPost(orgSid) { |
||||
|
let params = { |
||||
|
sid: orgSid |
||||
|
} |
||||
|
postList(params).then(res => { |
||||
|
this.postSidData = res.data |
||||
|
}) |
||||
|
this.form.postSid = this.postSid |
||||
|
}, |
||||
|
reset() { |
||||
|
this.form = {} |
||||
|
}, |
||||
|
enabledChange(value, row) { |
||||
|
setRoleEnable({ |
||||
|
sid: row.sid, |
||||
|
isEnable: value |
||||
|
}).then(res => { |
||||
|
this.$message({ |
||||
|
type: 'success', |
||||
|
message: res.msg |
||||
|
}); |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style scoped="scoped"> |
||||
|
.el-select > .el-input { |
||||
|
display: block; |
||||
|
width: 300px; |
||||
|
} |
||||
|
</style> |
||||
|
|
Loading…
Reference in new issue