Commit f24d5daa authored by hsz's avatar hsz
parents 5af2e343 bec5894a
......@@ -6626,6 +6626,11 @@
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
},
"iscroll": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/iscroll/-/iscroll-5.2.0.tgz",
"integrity": "sha1-1RMwcIi1slpPiTr0dIBEaEgYKcg="
},
"isexe": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
......@@ -6766,6 +6771,32 @@
"resolved": "https://registry.npmjs.org/jstoxml/-/jstoxml-0.2.4.tgz",
"integrity": "sha1-/z+2eFaIOgMpU8fOjOdIYhD0hEc="
},
"jwchat": {
"version": "0.2.48",
"resolved": "https://registry.npmjs.org/jwchat/-/jwchat-0.2.48.tgz",
"integrity": "sha512-NZJ2KtFF70+gHbFKdqqufFRcrhQP++euMNxyAD17YJLXhHF3DFcNvUAW3sh1NmXwJpGDN8jDrslgCMXocRd1xg==",
"requires": {
"element-ui": "^2.13.1",
"iscroll": "^5.2.0",
"vue": "^2.6.11",
"wechat-emoji-parser": "^1.1.0"
},
"dependencies": {
"element-ui": {
"version": "2.13.2",
"resolved": "https://registry.npmjs.org/element-ui/-/element-ui-2.13.2.tgz",
"integrity": "sha512-r761DRPssMPKDiJZWFlG+4e4vr0cRG/atKr3Eqr8Xi0tQMNbtmYU1QXvFnKiFPFFGkgJ6zS6ASkG+sellcoHlQ==",
"requires": {
"async-validator": "~1.8.1",
"babel-helper-vue-jsx-merge-props": "^2.0.0",
"deepmerge": "^1.2.0",
"normalize-wheel": "^1.0.1",
"resize-observer-polyfill": "^1.5.0",
"throttle-debounce": "^1.0.1"
}
}
}
},
"killable": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz",
......@@ -11644,6 +11675,11 @@
"integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==",
"dev": true
},
"wechat-emoji-parser": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/wechat-emoji-parser/-/wechat-emoji-parser-1.1.1.tgz",
"integrity": "sha512-FOB3KIhyEYmYledm/gnyHitL+sq1SGvDPpUE1AYxougmcd1/ibGHld/J+GDC+8DtgxsmGpY5f30gTFX0zwtTJQ=="
},
"which": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
......
......@@ -13,6 +13,7 @@
"axios": "^0.18.0",
"babel-polyfill": "^6.26.0",
"element-ui": "^2.11.0",
"jwchat": "^0.2.48",
"mavon-editor": "^2.6.17",
"vue": "^2.6.10",
"vue-chat-scroll": "^1.4.0",
......
......@@ -21,6 +21,10 @@ Vue.use(VueChatScroll)
// 按钮6S后可以点击
import preventClick from '@utils/clickStatefrom' // 根据自己的路径
Vue.use(preventClick)
// 聊天
import Chat from 'jwchat';
// import 'jwchat/lib/JwChat.css';
Vue.use(Chat)
Vue.config.productionTip = false;
Vue.use(VueI18n);
......
<template>
<div>
<div class="content">
<upload @onsuccess="get"></upload>
<JwChat :taleList="list" scrollType="norell" :config="config" @enter="bindEnter" v-model="inputMsg" :toolConfig="tool">
</JwChat>
<div @click="up">上传</div>
<singleUpload :limit="1" tip="支持扩展名:.rar .zip .doc .docx .pdf .jpg..." @input="getfile"></singleUpload>
</div>
</div>
</template>
<script>
import { autodeploy} from '@api/common/list'
import imgupload from '@components/Upload/imgUpload.vue'
import upload from '@components/Upload/newUpload.vue'
import singleUpload from '@components/Upload/Upload.vue'
export default {
import {
autodeploy
} from '@api/common/list'
import imgupload from '@components/Upload/imgUpload.vue'
import upload from '@components/Upload/newUpload.vue'
import singleUpload from '@components/Upload/Upload.vue'
export default {
components: {
upload,
imgupload,
......@@ -21,13 +25,78 @@ export default {
},
data() {
return {
inputMsg: '',
config: {
historyConfig: {
tip: '查看更多'
}
},
list: [{
"date": "2020/04/25 21:19:07",
"text": {
"text": "起床不"
},
"mine": false,
"name": "留恋人间不羡仙",
"img": ""
},
{
"date": "2020/04/25 21:19:07",
"text": {
"text": "11"
},
"mine": false,
"name": "只盼流星不盼雨",
"img": ""
},
{
"date": "2020/04/25 21:19:07",
"text": {
"text": "111"
},
"mine": false,
"name": "只盼流星不盼雨",
"img": ""
},
{
"date": "2020/04/16 21:19:07",
"text": {
"text": "222"
},
"mine": true,
"name": "JwChat",
"img": ""
},
],
tool: {
show: [''],
callback: this.toolEvent,
showEmoji: true,
},
}
},
methods: {
getfile(val){
bindEnter() {
const msg = this.inputMsg
if (!msg) return;
const msgObj = {
"date": "2020/05/20 23:19:07",
"text": {
"text": msg
},
"mine": true,
"name": "JwChat",
"img": ""
}
this.list.push(msgObj)
},
toolEvent(type) {
console.log('tools', type)
},
getfile(val) {
console.log(val)
},
async up() {
try {
const {
......@@ -40,7 +109,7 @@ export default {
}
}
}
}
</script>
<style scoped>
......@@ -48,6 +48,10 @@
</div>
<!-- 在线对话 -->
<div class="dialogue" style="margin-top: 30px;" v-show="dialogue">
<JwChat :taleList="dialogueList" scrollType @enter="bindEnter" v-model="content" :toolConfig="tool" >
</JwChat>
</div>
<!--
<ul class="dialogueList" v-chat-scroll>
<li v-for="(item,index) in dialogueList" :key="index" :class="myId==item.userId?'flex-left':'flex-right'">
<div>
......@@ -62,7 +66,7 @@
</ul>
<el-input placeholder="请输入内容" v-model="content" clearable @keyup.enter.native="send" maxlength="30">
</el-input>
</div>
</div> -->
</div>
<!-- 最下面一栏 -->
<div class="flex-between buttons">
......@@ -217,6 +221,11 @@
},
data() {
return {
tool: {
show: [''],
callback: this.toolEvent,
showEmoji: true,
},
issueTable: false,
openStatus: '',
faildetail: "",
......@@ -325,12 +334,12 @@
}, 5000);
},
methods: {
openInfo(){
this.isopenInfo=true
openInfo() {
this.isopenInfo = true
this.getopenInfo();
},
openInfo1(){
this.isopenInfo1=true
openInfo1() {
this.isopenInfo1 = true
this.getopenInfo();
},
// 下发
......@@ -348,7 +357,7 @@
type: 'success',
duration: 1500
})
this.isopenInfo1=false
this.isopenInfo1 = false
}
} catch (e) {
console.log(e)
......@@ -613,11 +622,21 @@
let data = JSON.parse(event.data);
console.log(data)
if (data.type == 1) {
console.log("自己发的")
if (data.userId == this.myId) {
this.content = ""
if(data.userId==this.myId){
data.mine=true
}else{
data.mine=false
}
this.dialogueList.push(data)
const msgObj = {
"date":data.time ,
"text": {
"text": data.chatContent
},
"mine": data.mine,
"name": data.name,
"img": "@static/images/tou.jpg"
}
this.dialogueList.push(msgObj)
} else {
this.halList.push(data)
}
......@@ -634,14 +653,11 @@
this.websocket.close()
}
},
send() {
let content = this.content;
if (content.split(" ").join("").length == 0) {
this.$message.error("请输入内容")
} else {
bindEnter() {
const content = this.content
if (!content) return;
this.websocket.send(content)
}
}
},
// watch: {
// chatlog() {
......@@ -679,6 +695,8 @@
position: absolute;
top: 10%;
right: 10%;
border:1px solid #CCCCCC;
padding:10px
}
......
......@@ -292,16 +292,16 @@ export default {
},
{
label: '联系人',
prop: 'legalPersonName'
prop: 'userName'
},
{
label: '手机号',
prop: 'legalPersonPhone'
prop: 'phonenumber'
},
{
label: '邮件',
prop: 'legalPersonEmail'
prop: 'email'
},
{
slot: 'operate'
......@@ -552,16 +552,17 @@ export default {
},
// 邀请状态下选择供应商
choice(row) {
let indexof = false
let list=[]
if (this.ruleForm.companyVOList.length > 0) {
for (let item of this.ruleForm.companyVOList) {
if (row.id === item.id) {
indexof = true
list.push(item.companyId)
}
}
if (!indexof) {
let indexof=list.indexOf(row.companyId)
if (indexof==-1) {
this.ruleForm.companyVOList.push(row)
// this.tableData..push(row)
}else{
this.$message.error("请勿选择相同公司")
}
} else {
this.ruleForm.companyVOList.push(row)
......
......@@ -44,6 +44,10 @@
</div>
<!-- 在线对话 -->
<div class="dialogue" style="margin-top: 30px;" v-show="dialogue">
<JwChat :taleList="dialogueList" scrollType @enter="bindEnter" v-model="content" :toolConfig="tool" >
</JwChat>
</div>
<!-- <div class="dialogue" style="margin-top: 30px;" v-show="dialogue">
<ul class="dialogueList" v-chat-scroll>
<li v-for="(item,index) in dialogueList" :key="index" :class="myId==item.userId?'flex-left':'flex-right'">
<div>
......@@ -58,7 +62,7 @@
</ul>
<el-input placeholder="请输入内容" v-model="content" clearable @keyup.enter.native="send" maxlength="30">
</el-input>
</div>
</div> -->
</div>
<div class="flex-center buttons">
<div>
......@@ -121,6 +125,11 @@
},
data() {
return {
tool: {
show: [''],
callback: this.toolEvent,
showEmoji: true,
},
issueTable:"",
openStatus: "",
isSignature: false,
......@@ -284,10 +293,20 @@
console.log(data)
if (data.type == 1) {
if(data.userId==this.myId){
console.log("自己发的")
this.content = ""
data.mine=true
}else{
data.mine=false
}
this.dialogueList.push(data)
const msgObj = {
"date":data.time ,
"text": {
"text": data.chatContent
},
"mine": data.mine,
"name": data.name,
"img": "@static/images/tou.jpg"
}
this.dialogueList.push(msgObj)
} else {
this.halList.push(data)
}
......@@ -304,13 +323,10 @@
this.websocket.close()
})
},
send() {
let content = this.content;
if (content.split(" ").join("").length == 0) {
this.$message.error("请输入内容")
} else {
bindEnter() {
const content = this.content
if (!content) return;
this.websocket.send(content)
}
},
back() {
this.$router.go(-1)
......@@ -462,6 +478,8 @@
position: absolute;
top: 10%;
right: 10%;
border:1px solid #CCCCCC;
padding:10px
}
.dialogue>.dialogueList {
......
......@@ -2,7 +2,8 @@
<div >
<div class="content">
<dataBreadcrumb :breads="breads"></dataBreadcrumb>
<dataTable :table-data="tableData" :columns="columns" :is-pageobj="false" >
<el-button type="primary" @click="add">创建新的角色</el-button>
<dataTable :table-data="tableData" :columns="columns" :is-pageobj="false" :tableTop="30">
<el-table-column slot="operate" label="操作" align="center" fixed="right" >
<template slot-scope="scope">
<el-button type="text" size="small" @click="see(scope.row)">查看</el-button>
......@@ -14,7 +15,8 @@
</template>
<script>
import dataTable from '@components/dataTable.vue'
import {roleList} from '@api/purchaser/organization'
import dataTable from '@components/nopageTable.vue'
import dataBreadcrumb from '@components/dataBreadcrumb.vue'
export default {
components: {
......@@ -24,14 +26,10 @@ export default {
data() {
return {
breads: ['系统管理', '角色权限'],
tableData: [{
name: '部长',
remark: 'XXXXX'
}],
tableData: [],
columns: [{
label: '角色名称',
prop: 'name',
prop: 'roleName',
width: 400
},
{
......@@ -58,8 +56,27 @@ export default {
methods: {
see() {
this.$router.push('/purchaser/organization/jurisdictionSee')
},
add(){
this.$router.push("/purchaser/organization/jurisdictionSee")
},
async getroleList() {
let type=JSON.parse(localStorage.getItem("userInfo")).type
const {
data,
code
} = await roleList(type)
for(let item of data){
if(!item.remark){
item.remark="空"
}
}
this.tableData=data
}
},
created() {
this.getroleList()
}
}
</script>
......
......@@ -7,90 +7,117 @@
</div>
<div class="content">
<div class="message">
<div>角色名称:项目经理</div>
<div>备注:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>
<div class="flex">
<div>权限</div>
<el-tree :data="data" :props="defaultProps" show-checkbox node-key="id">
<el-form :model="form" :rules="rules" ref="form" label-width="100px" class="demo-ruleForm">
<el-form-item label="角色名称" prop="roleName">
<el-input v-model="form.roleName"></el-input>
</el-form-item>
<el-form-item label="权限" prop="menuPOList">
<el-tree :data="data" :props="defaultProps" show-checkbox @check-change="handleCheckChange" node-key="id" ref="tree">
</el-tree>
</el-form-item>
</el-form>
</div>
</div>
<div class="centerButton">
<el-button @click="back">返回</el-button>
<el-button @click="add">添加</el-button>
</div>
</div>
</template>
<script>
import dataBreadcrumb from '@components/dataBreadcrumb.vue'
export default {
import {
roleMenus,roleadd
} from '@api/purchaser/organization'
import dataBreadcrumb from '@components/dataBreadcrumb.vue'
export default {
components: {
dataBreadcrumb
},
data() {
let check = async (rule, value, callback) => {
console.log("1")
console.log(this.form.menuPOList.length)
if (this.form.menuPOList.length == 0) {
console.log("空")
return callback(new Error('请选择权限'));
} else {
callback();
}
};
return {
breads: ['系统管理', '权限管理'],
data: [{
id: 1,
label: '首页',
children: [{
id: 4,
label: '招标管理',
children: [{
id: 9,
label: '招标项目管理'
}]
}]
}, {
id: 2,
label: '平台交货管理',
children: [{
id: 5,
label: '平台交货列表'
}]
}, {
id: 3,
label: '供应商管理',
children: [{
id: 7,
label: '供应商列表'
}, {
id: 8,
label: '我的供应商'
}]
}, {
id: 10,
label: '组织管理',
children: [{
id: 11,
label: '单位信息'
}, {
id: 12,
label: '成员管理'
}, {
id: 13,
label: '权限管理'
}]
}, {
id: 14,
label: '系统管理',
children: [{
id: 15,
label: '绑定CA'
}, {
id: 16,
label: '日志列表'
}]
}],
data: [],
defaultProps: {
children: 'children',
label: 'label'
},
form: {
roleName: "",
menuPOList: []
},
rules: {
roleName: [{
required: true,
message: '请填写',
trigger: 'blur'
}],
menuPOList: [{
required: true,
validator: check,
trigger: 'change'
}],
}
}
},
methods: {
back() {
this.$router.go(-1)
},
async getroleMenus() {
const {
data,
code
} = await roleMenus(1)
this.data = data
},
handleCheckChange(data, checked, indeterminate) {
console.log(data, checked, indeterminate);
},
handleCheckChange() {
this.form.menuPOList = this.$refs.tree.getCheckedKeys()
},
async add() {
try {
const valid = await this.$refs['form'].validate()
if (valid) {
let form = this.form
const {
code,
msg
} = await roleadd(form)
if (code === 200) {
this.$message({
message: msg,
type: 'success',
duration: 1500
})
setTimeout(() => {
this.$router.go(-1)
}, 1500)
}else{
this.$message.error(msg)
}
}
} catch (e) {
console.log(e)
}
}
},
created() {
this.getroleMenus()
}
}
}
</script>
......
<template>
<div>
<div class="content">
<dataTable :table-data="tableData" :columns="columns" :page-obj="pageObj" :breads="breads" :checklist="checklist">
<el-button slot="moreButton" type="primary">添加新用户</el-button>
<dataTable :columns="columns" :page-obj="pageObj" :breads="breads" :checklist="checklist" ref="table" url="sys/user/member/list">
<el-button slot="moreButton" type="primary" @click="add('form')">添加新用户</el-button>
<el-table-column slot="operate" label="操作" align="center" fixed="right" width="100">
<template slot-scope="scope">
<el-button type="text" size="small" @click="edit(scope.row)">编辑</el-button>
<el-button type="text" size="small" @click="delete(scope.row)">删除</el-button>
<el-button type="text" size="small" @click="handdelete(scope.row)">删除</el-button>
</template>
</el-table-column>
</dataTable>
<el-dialog :visible.sync="dialogFormVisible" title="添加">
<el-form ref="form" :model="form" :rules="rules">
<el-form-item label="姓名" label-width="50px" prop="name">
<el-form-item label="姓名" label-width="100px" prop="name">
<el-input v-model.trim="form.name" autocomplete="off" placeholder="请输入" maxlength="30"></el-input>
</el-form-item>
<el-form-item label="手机" label-width="50px" prop="phone">
<el-form-item label="手机" label-width="100px" prop="phone">
<el-input v-model.trim="form.phone" autocomplete="off" placeholder="请输入" maxlength="30"></el-input>
</el-form-item>
<el-form-item label="邮箱" label-width="50px" prop="email">
<el-form-item label="邮箱" label-width="100px" prop="email">
<el-input v-model.trim="form.email" autocomplete="off" placeholder="请输入" maxlength="30"></el-input>
</el-form-item>
<el-form-item label="密码" label-width="50px" prop="password">
<el-form-item label="密码" label-width="100px" prop="password">
<el-input v-model.trim="form.password" autocomplete="off" show-password placeholder="请输入" maxlength="30"></el-input>
</el-form-item>
<el-form-item label="角色" label-width="50px" prop="role">
<el-select v-model="form.role" placeholder="请选择">
<el-option v-for="item in roles" :key="item.value" :label="item.label" :value="item.value" :disabled="item.disabled">
<el-form-item label="角色" label-width="100px" prop="roleId">
<el-select v-model="form.roleId" placeholder="请选择">
<el-option v-for="item in roles" :key="item.roleId" :label="item.roleName" :value="item.roleId">
</el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible = false">取 消</el-button>
<el-button type="primary" @click="dialogFormVisible = false">确 定</el-button>
<el-button type="primary" @click="submitData">确 定</el-button>
</div>
</el-dialog>
<el-dialog :visible.sync="dialogFormVisible1" title="编辑">
<el-form ref="form" :model="form1" :rules="rules">
<el-form-item label="姓名" label-width="100px" prop="name">
<el-input v-model.trim="form1.name" autocomplete="off" placeholder="请输入" maxlength="30"></el-input>
</el-form-item>
<el-form-item label="手机" label-width="100px" prop="phone">
<el-input v-model.trim="form1.phone" autocomplete="off" placeholder="请输入" maxlength="30"></el-input>
</el-form-item>
<el-form-item label="邮箱" label-width="100px" prop="email">
<el-input v-model.trim="form1.email" autocomplete="off" placeholder="请输入" maxlength="30"></el-input>
</el-form-item>
<el-form-item label="角色" label-width="100px" prop="roleId">
<el-select v-model="form1.roleId" placeholder="请选择">
<el-option v-for="item in roles" :key="item.roleId" :label="item.roleName" :value="item.roleId">
</el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible1 = false">取 消</el-button>
<el-button type="primary" @click="submitData1">确 定</el-button>
</div>
</el-dialog>
</div>
......@@ -41,30 +64,43 @@
</template>
<script>
import dataTable from '@components/dataTable.vue'
export default {
name: 'bidingList',
import {
roleList,
checkAccount,
useradd,
userdelete,
useredit
} from '@api/purchaser/organization'
import dataTable from '@components/dataTable.vue'
export default {
components: {
dataTable
},
data() {
let checkPhone = async (rule, value, callback) => {
if (!value) {
return callback(new Error('手机号不能为空'));
} else {
const reg = /^1[3|4|5|7|8][0-9]\d{8}$/
if (reg.test(value)) {
callback();
} else {
return callback(new Error('请输入正确的手机号'));
}
}
};
return {
checklist: [{
title: '姓名',
type: 'input',
model: ' name'
model: 'name'
}, {
title: '手机',
type: 'input',
model: 'phone'
}],
breads: ['组织管理', '成员管理'],
tableData: [{
name: '胡彦斌',
phone: '17877666666',
role: '管理员',
data: '2017-10-01 12:00'
}],
tableData: [],
columns: [{
label: '姓名',
prop: 'name'
......@@ -75,11 +111,11 @@ export default {
},
{
label: '角色',
prop: 'role'
prop: 'roleName'
},
{
label: '创建时间',
prop: 'data',
prop: 'createTime',
sortable: true
},
{
......@@ -89,31 +125,22 @@ export default {
pageObj: {
size: 10,
total: 1,
currentPage: 1,
sizes: [100, 200, 300],
func: (currentPage) => {
this.pageTurning(currentPage)
}
},
dialogFormVisible1:false,
dialogFormVisible: false,
form1:{},
form: {
name: '',
phone: '',
email: '',
password: '',
role: ''
roleId: ''
},
roles: [{
value: '1',
label: '管理员'
}, {
value: '2',
label: '经理'
}, {
value: '3',
label: '专员'
}],
roles: [],
rules: {
name: [{
required: true,
......@@ -122,35 +149,129 @@ export default {
}],
phone: [{
required: true,
message: '请输入',
validator: checkPhone,
trigger: 'blur'
}],
email: [{
required: true,
message: '请输入',
message: '请输入电子邮箱',
trigger: 'blur'
}],
},
{
pattern: /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/,
message: '请输入正确的邮箱地址'
}
],
password: [{
required: true,
message: '请输入',
message: '请输入密码',
trigger: 'blur'
}],
role: [{
},
{
pattern: /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$/,
message: '密码需由8-16位数字字母组合'
}
],
roleId: [{
required: true,
message: '请选择',
trigger: 'change'
}]
}],
uid:""
}
}
},
methods: {
// 删除
async handdelete(row) {
try {
await this.$confirm("确定要删除么?", '提示', {
type: 'warning'
})
const {
msg,
code
} = await userdelete(row.uid)
if (code == 200) {
this.$message.success(msg)
this.$refs.table.getauditList()
} else {
this.$message.error(msg)
}
} catch (e) {
console.log(e)
}
},
// 编辑
edit(row) {
this.form = row
this.form1 = Object.assign({}, row)
this.dialogFormVisible1 = true
this.uid=row.uid
},
// 获取角色列表
async getroleList() {
let type = JSON.parse(localStorage.getItem("userInfo")).type
const {
data,
code
} = await roleList(type)
this.roles = data
},
// 添加新用户
add(form) {
this.form = Object.assign({})
this.dialogFormVisible = true
},
// 提交添加
async submitData() {
try {
const valid = await this.$refs['form'].validate()
if (valid) {
let form = this.form
const {
code,
msg
} = await useradd(form)
if (code === 200) {
this.$message.success(msg)
this.dialogFormVisible = false
this.$refs.table.getauditList()
} else {
this.$message.error(msg)
}
}
} catch (e) {
console.log(e)
}
},
// 提交编辑
async submitData1() {
try {
const valid = await this.$refs['form'].validate()
if (valid) {
let form = this.form1
form.uid=this.uid
const {
code,
msg
} = await useredit(form)
if (code === 200) {
this.$message.success(msg)
this.dialogFormVisible1 = false
this.$refs.table.getauditList()
} else {
this.$message.error(msg)
}
}
} catch (e) {
console.log(e)
}
},
},
created() {
this.getroleList()
}
}
}
</script>
<style scoped>
......
......@@ -55,7 +55,7 @@
</template>
<script>
import dataTable from '@components/nopageTable.vue'
import dataTable from '@components/dataTable.vue'
import dataBreadcrumb from '@components/dataBreadcrumb.vue'
export default {
components: {
......
<template>
<div>
<div class="content">
<dataTable :table-data="tableData" :columns="columns" :page-obj="pageObj" :breads="breads" :checklist="checklist">
<dataTable :table-data="tableData" :columns="columns" :page-obj="pageObj" :breads="breads" :checklist="checklist"
url="log/logList">
<el-table-column slot="name" label="姓名" align="center" width="100">
<template slot-scope="scope">
<div>{{scope.row.name?scope.row.name:"无"}}</div>
</template>
</el-table-column>
<el-table-column slot="args" label="请求参数" align="center" width="100">
<template slot-scope="scope">
<div>{{scope.row.args?scope.row.args:"无"}}</div>
</template>
</el-table-column>
<el-table-column slot="operate" label="操作" align="center" fixed="right" width="100">
<template slot-scope="scope">
<el-button type="text" size="small" @click="examine(scope.row)">审核</el-button>
......@@ -13,8 +25,8 @@
</template>
<script>
import dataTable from '@components/dataTable.vue'
export default {
import dataTable from '@components/dataTable.vue'
export default {
name: 'bidingList',
components: {
dataTable
......@@ -28,33 +40,31 @@ export default {
}, {
title: '用户操作',
type: 'input',
model: 'operate'
model: 'operation'
}],
breads: ['系统管理', '日志列表'],
tableData: [{}],
columns: [{
label: '姓名',
prop: 'name'
slot: "name"
},
{
label: '用户操作',
prop: 'operate'
prop: 'operation'
},
{
label: '请求方式',
prop: 'requestType'
prop: 'method'
},
{
label: '请求参数',
prop: 'requestData'
slot: "args"
},
{
label: '请求时长',
prop: 'requestTime'
prop: 'elapsed'
},
{
label: '状态',
prop: 'state'
prop: 'status'
},
{
label: '操作IP',
......@@ -62,13 +72,12 @@ export default {
},
{
label: '创建时间',
prop: 'data'
}],
prop: 'createTime'
}
],
pageObj: {
size: 10,
total: 1,
currentPage: 1,
sizes: [100, 200, 300],
func: (currentPage) => {
this.pageTurning(currentPage)
}
......@@ -80,7 +89,7 @@ export default {
this.$router.push('/admin/bid/bidingDetail')
}
}
}
}
</script>
<style scoped>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment