Commit 22d813a8 authored by 姬鋆屾's avatar 姬鋆屾

feated:修改测试bug及系统优化项

parent 0aace81a
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
@sort-change="handleSortChange" @sort-change="handleSortChange"
@row-click="handleRowClick" @row-click="handleRowClick"
height="520" height="600"
:row-class-name="tableRowClassName" :row-class-name="tableRowClassName"
:empty-text="emptyText" :empty-text="emptyText"
border border
......
...@@ -192,6 +192,11 @@ export default { ...@@ -192,6 +192,11 @@ export default {
type: String, type: String,
default: "", default: "",
}, },
rows: {
type: Number,
default: 5,
},
}, },
methods: { methods: {
emit() { emit() {
......
...@@ -73,7 +73,7 @@ export default { ...@@ -73,7 +73,7 @@ export default {
<style lang="less"> <style lang="less">
.pagination-wapper{ .pagination-wapper{
background: #fff; background: #fff;
margin-top: 10px; margin-top: 20px;
.el-pagination{ .el-pagination{
margin-left: auto; margin-left: auto;
} }
......
...@@ -30,7 +30,9 @@ ...@@ -30,7 +30,9 @@
<el-select <el-select
v-model="form[item.name]" v-model="form[item.name]"
:placeholder=" item.placeholder ? item.placeholder : '请输入' + item.label" :placeholder="
item.placeholder ? item.placeholder : '请选择' + item.label
"
:filterable="item.filterable" :filterable="item.filterable"
:multiple="item.multiple" :multiple="item.multiple"
clearable="true" clearable="true"
...@@ -58,7 +60,7 @@ ...@@ -58,7 +60,7 @@
filterable filterable
remote remote
v-if="item.type === 'remoteSelect'" v-if="item.type === 'remoteSelect'"
placeholder="请输入关键词" placeholder="请输入或选择关键词"
searchType="item.searchType" searchType="item.searchType"
:remote-method=" :remote-method="
(query) => { (query) => {
...@@ -326,13 +328,12 @@ export default { ...@@ -326,13 +328,12 @@ export default {
) { ) {
//支持模糊查询,收尾增加百分号 //支持模糊查询,收尾增加百分号
val = val.trim(); val = val.trim();
if(val.charAt(0)!='%'){ if (val.charAt(0) != "%") {
val = "%" + val val = "%" + val;
} }
if(val.charAt(val.length-1)!='%'){ if (val.charAt(val.length - 1) != "%") {
val =val + "%"; val = val + "%";
} }
} }
}); });
newData[item] = this.decodeVal(val); newData[item] = this.decodeVal(val);
......
import Vue from 'vue' import Vue from "vue";
import Router from 'vue-router' import Router from "vue-router";
import Store from './store' import Store from "./store";
import Layout from './views/Layout.vue' import Layout from "./views/Layout.vue";
import fileNotFound from './views/errors/fileNotFound.vue' import fileNotFound from "./views/errors/fileNotFound.vue";
import NProgress from 'nprogress' import NProgress from "nprogress";
import 'nprogress/nprogress.css' import "nprogress/nprogress.css";
NProgress.configure({ showSpinner: false }) NProgress.configure({ showSpinner: false });
Vue.use(Router); Vue.use(Router);
const originalPush = VueRouter.prototype.push;
const originalPush = VueRouter.prototype.push
VueRouter.prototype.push = function push(location, onResolve, onReject) { VueRouter.prototype.push = function push(location, onResolve, onReject) {
if (onResolve || onReject) return originalPush.call(this, location, onResolve, onReject) if (onResolve || onReject)
return originalPush.call(this, location).catch(err => err) return originalPush.call(this, location, onResolve, onReject);
} return originalPush.call(this, location).catch((err) => err);
};
const router = new Router({ const router = new Router({
routes: [ routes: [
builder('/authentication', 'login/authentication'), builder("/authentication", "login/authentication"),
builder('/login', 'login/login'), builder("/login", "login/login"),
builder('/go', 'codeGen/index'), builder("/go", "codeGen/index"),
builder('/sso', 'SSO'), builder("/sso", "SSO"),
{ {
path: '/', path: "/",
name: 'layout', name: "layout",
component: Layout, component: Layout,
meta: { meta: {
requiresAuth: true requiresAuth: true,
}, },
children: [ children: [
...restBuilder('oper/log', 'system/log'), // 系统管理-操作日志 ...restBuilder("oper/log", "system/log"), // 系统管理-操作日志
...restBuilder('validcode', 'system/validcode'), // 接入管理-接入信息 ...restBuilder("validcode", "system/validcode"), // 接入管理-接入信息
...restBuilder('menu', 'system/menu'), // 系统管理--菜单管理 ...restBuilder("menu", "system/menu"), // 系统管理--菜单管理
...restBuilder('resource', 'system/resource'), // 系统管理--资源管理 ...restBuilder("resource", "system/resource"), // 系统管理--资源管理
...restBuilder('role', 'system/role'), // 系统管理--角色管理 ...restBuilder("role", "system/role"), // 系统管理--角色管理
...restBuilder('user', 'system/user'), // 用户管理 -- 管理用户 ...restBuilder("user", "system/user"), // 用户管理 -- 管理用户
...restBuilder('param', 'system/param'), // 系统管理--参数管理 ...restBuilder("param", "system/param"), // 系统管理--参数管理
...restBuilder('task', 'system/task'), // 系统管理--任务管理 ...restBuilder("task", "system/task"), // 系统管理--任务管理
...restBuilder("product", "product"), //产品
...restBuilder('product', 'product'),//产品 ...restBuilder("product/question", "product/question"), //产品常见问题
...restBuilder('product/question', 'product/question'),//产品常见问题 ...restBuilder("company", "company"), //公司
...restBuilder('company', 'company'),//公司 ...restBuilder("labels", "labels"), //标注
...restBuilder('labels', 'labels'),//标注 ...restBuilder("company/labels", "company/labels"), //公司标注
...restBuilder('company/labels', 'company/labels'),//公司标注 ...restBuilder("category", "category"), //分类
...restBuilder('category', 'category'),//分类 ...restBuilder("product/category", "product/category"), //产品分类
...restBuilder('product/category', 'product/category'),//产品分类
...restBuilder("position", "position"), //职位信息
...restBuilder('position', 'position'),//职位信息 ...restBuilder("news", "news"), //新闻
...restBuilder('news', 'news'),//新闻 ...restBuilder("feedback", "feedback"), //反馈信息
...restBuilder('feedback', 'feedback'),//反馈信息 ...restBuilder("bussinesscard/record", "bussinesscard/record"), //流量管理
...restBuilder('staff', 'staff'),//员工基本信息 ...restBuilder("staff", "staff"), //员工基本信息
...restBuilder('staff/leave', 'staff/leave'),//员工离职信息 ...restBuilder("staff/leave", "staff/leave"), //员工离职信息
...restBuilder('bussinesscard', 'bussinesscard'),//名片基本信息 ...restBuilder("bussinesscard", "bussinesscard"), //名片基本信息
...restBuilder('staff/record', 'staff/record'),//客户访问记录信息 ...restBuilder("staff/record", "staff/record"), //客户访问记录信息
...restBuilder('news/category', 'news/category'),//新闻频道分类 ...restBuilder("news/category", "news/category"), //新闻频道分类
...restBuilder("news/category", "news/category"), //新闻频道分类
...restBuilder('news/category', 'news/category'),//新闻频道分类
...restBuilder("dept", "dept"), //部门 ...restBuilder("dept", "dept"), //部门
...restBuilder("page", "page"), //页面
...restBuilder('page', 'page'),//页面 ...restBuilder("favorites/pages", "favorites/pages"), //收藏页面
...restBuilder('favorites/pages', 'favorites/pages'),//收藏页面 ...restBuilder("favorites/product", "favorites/product"), //收藏产品
...restBuilder('favorites/product', 'favorites/product'),//收藏产品 ...restBuilder("favorites/news", "favorites/news"), //收藏新闻
...restBuilder('favorites/news', 'favorites/news'),//收藏新闻 ...restBuilder("favorites/businesscard", "favorites/businesscard"), //收藏名片
...restBuilder('favorites/businesscard', 'favorites/businesscard'),//收藏名片
//以下为基础路由配置 //以下为基础路由配置
builder('/', 'Home'), builder("/", "Home"),
builder('/home', 'Home'), builder("/home", "Home"),
builder('index', 'Home'), builder("index", "Home"),
builder('login/updatePwd', 'login/updatePwd'), builder("login/updatePwd", "login/updatePwd"),
builder('403', 'errors/403'), builder("403", "errors/403"),
builder('*', 'errors/404'), builder("*", "errors/404"),
] ],
}, },
] ],
}) });
/** /**
* rest路由生成器 * rest路由生成器
...@@ -107,58 +105,64 @@ function restBuilder(path, component = path) { ...@@ -107,58 +105,64 @@ function restBuilder(path, component = path) {
function builder(path, component = path, requiresAuth = false) { function builder(path, component = path, requiresAuth = false) {
return { return {
path: path, path: path,
name: path || 'homepage', name: path || "homepage",
component: getComponent(component), component: getComponent(component),
meta: { meta: {
requiresAuth: requiresAuth requiresAuth: requiresAuth,
} },
} };
} }
function getComponent(fileName) { function getComponent(fileName) {
try { try {
return require('./views/' + fileName).default return require("./views/" + fileName).default;
} catch (error) { } catch (error) {
return fileNotFound; return fileNotFound;
} }
} }
//检查是否跳转到sso地址 //检查是否跳转到sso地址
function ssoCheck(to, from, next) { function ssoCheck(to, from, next) {
let redirect = (to.path === '/login/updatePwd') ? '/#/updatePwd' : '' let redirect = to.path === "/login/updatePwd" ? "/#/updatePwd" : "";
redirect = (redirect === '' && to.path === '/login') ? (location.protocol + '//' + location.host + '/#' + from.fullPath) : redirect redirect =
if (redirect != '') { redirect === "" && to.path === "/login"
next(false) ? location.protocol + "//" + location.host + "/#" + from.fullPath
window.location.href = '//' + location.host + '/m/login/logout?redirect=' + encodeURIComponent(redirect) : redirect;
if (redirect != "") {
next(false);
window.location.href =
"//" +
location.host +
"/m/login/logout?redirect=" +
encodeURIComponent(redirect);
return true; return true;
} }
return false; return false;
} }
router.afterEach(() => { router.afterEach(() => {
document.body.scrollTop = 0 document.body.scrollTop = 0;
document.documentElement.scrollTop = 0 document.documentElement.scrollTop = 0;
}) });
// 路由鉴权 // 路由鉴权
router.beforeEach((to, from, next) => { router.beforeEach((to, from, next) => {
// if (ssoCheck(to, from, next)) { //sso鉴权检查 // if (ssoCheck(to, from, next)) { //sso鉴权检查
// return // return
// } // }
if (to.matched.some(record => record.meta.requiresAuth)) { if (to.matched.some((record) => record.meta.requiresAuth)) {
if (Store.state.isLogin) { if (Store.state.isLogin) {
next(); next();
} else { } else {
next({ next({
path: '/authentication', path: "/authentication",
query: { query: {
redirect: to.fullPath redirect: to.fullPath,
} },
}) });
} }
} else { } else {
next(); next();
} }
}) });
export default router; export default router;
<template> <template>
<div class="page"> <div class="page">
<LayoutTable :data="tableData" :config="tableConfig"> <LayoutTable :data="tableData" :config="tableConfig"> </LayoutTable>
</LayoutTable>
<drawer-show ref="drawerform" @ok="getData" /> <drawer-show ref="drawerform" @ok="getData" />
</div> </div>
</template> </template>
<script> <script>
/** 表单弹出框模式需引入 */ /** 表单弹出框模式需引入 */
import drawerShow from "./drawershow"; import drawerShow from "./drawershow";
import table from "@/assets/mixins/table"; import table from "@/assets/mixins/table";
export default { export default {
name: "BussinesscardList", name: "BussinesscardList",
components: { components: {
drawerShow drawerShow,
},
mixins: [table],
created() {
}, },
mixins: [table],
created() {},
methods: { methods: {
/** 重写新增方法 */ /** 重写新增方法 */
toAdd(row) { toAdd(row) {
...@@ -33,7 +30,6 @@ ...@@ -33,7 +30,6 @@
toView(row) { toView(row) {
this.$refs.drawerform.view(row); this.$refs.drawerform.view(row);
}, },
}, },
data() { data() {
return { return {
...@@ -43,20 +39,23 @@ ...@@ -43,20 +39,23 @@
name: "name", name: "name",
type: "text", type: "text",
label: "名片姓名", label: "名片姓名",
fuzzy: true fuzzy: true,
}, },
], ],
columns: [ columns: [
{type: "selection", width: 60}, { type: "selection", width: 60 },
{type: "index",label: "序号",width: 50}, { type: "index", label: "序号", width: 50 },
{label: "员工姓名", prop: "staffName"}, { label: "员工姓名", prop: "staffName" },
{label: "名片姓名", prop: "name"}, { label: "名片姓名", prop: "name" },
{label: "性别", prop: "gender",formatter: this.formatter}, { label: "性别", prop: "gender", formatter: this.formatter },
{label: "照片", prop: "photoPath",formatter: (row) => { {
label: "照片",
prop: "photoPath",
formatter: (row) => {
return row.photoPath != "" ? ( return row.photoPath != "" ? (
<el-image <el-image
style="width: 70px; height: 70px" style="width: 70px; height: 70px"
...@@ -66,25 +65,32 @@ ...@@ -66,25 +65,32 @@
) : ( ) : (
"--" "--"
); );
},}, },
},
{label: "邮件地址", prop: "email"}, { label: "邮件地址", prop: "email" },
{label: "联系电话", prop: "phoneNumber"}, { label: "联系电话", prop: "phoneNumber" },
{label: "职位名称", prop: "positionName"}, { label: "职位名称", prop: "positionName" },
{ {
label: "操作", label: "操作",
width: 240, width: 240,
formatter: row => { formatter: (row) => {
return ( return (
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} /> <table-buttons
noAdd
row={row}
onEdit={this.toEdit}
onView={this.toView}
onDel={this.toDel}
/>
); );
} },
} },
] ],
} },
};
}
}; };
},
};
</script> </script>
<template>
<!-- 弹出框表单 -->
<el-drawer
:title="title"
:visible.sync="open"
:direction="direction"
:destroy-on-close="true"
size="50%"
>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<Field
:span="20"
label="备注:"
prop="remark"
v-model="form.remark"
type="textarea"
:rows="10"
placeholder="请输入备注"
/>
</el-row>
<form-buttons
@submit="submitForm"
v-if="pageInfo.type != 'view'"
noCancelBtn
/>
</el-form>
</el-drawer>
</template>
<script>
import form from "@/assets/mixins/formdialog";
export default {
name: "StaffDetail",
mixins: [form],
components: {},
created() {
this.changePath("staff");
},
data() {
var checkEmail = (rule, value, callback) => {
let mailReg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/;
if (!value) {
//如果输入为空直接返回
callback();
} else {
//如果字符串 string 中含有与 RegExpObject 匹配的文本,则返回 true,否则返回 false。
if (mailReg.test(value)) {
//匹配成功返回
callback();
} else {
//匹配不成功返回错误显示
callback(
new Error("邮箱格式:xx@xx.xx,只含数字、大小写字母、下划线、横杠")
);
}
}
};
var checkPhone = (rule, value, callback) => {
let phoneReg = /^1[3|4|5|7|8][0-9]{9}$/;
if (!value) {
callback();
} else {
if (phoneReg.test(value)) {
callback();
} else {
callback(new Error("电话格式:13、14、15、17、18开头+9位阿拉伯数字"));
}
}
};
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "备注",
// 是否显示弹出层
open: false,
direction: "rtl",
// 表单校验
rules: {},
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset();
this.query = { id: row.id };
this.urls.currUrl = "bussinesscard/record/edit";
this.getData();
this.pageInfo.type = "edit";
this.title = "备注";
},
/**取消按钮 */
cancel() {
this.open = false;
},
/**获取数据后弹框 */
afterRender(data) {
this.open = true;
},
beforeSubmit(data) {
data.companyIds = data.companyIds.join(",");
return data;
},
afterSubmit(data) {
this.open = false;
this.$emit("ok");
},
// 表单重置
reset() {
this.form = {
id: null,
createUserId: null,
createTime: null,
realName: "",
nickName: "",
mobile: "",
email: "",
companyName: "",
bussinesscardId: null,
viewId: null,
viewName: "",
sumViews: null,
remark: "",
viewTime: null,
photoPath: "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
<template>
<div class="page">
<LayoutTable
ref="layouttable"
:data="tableData"
:config="tableConfig"
notDel
notAdd
>
<div slot="table-search-left" class="daterange">
<el-date-picker
v-model="daterange"
type="daterange"
@change="handleDateChange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
>
</el-date-picker>
</div>
</LayoutTable>
<drawer-show ref="drawerform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
name: "recordList",
components: {
drawerShow,
},
mixins: [table],
created() {},
mounted() {
// 重写搜索清除
this.$refs.layouttable.$refs.searchform.cleanForm = this.cleanForm;
},
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.drawerform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.drawerform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.drawerform.view(row);
},
// 日期范围选择事件
handleDateChange() {
this.daterange && this.daterange.length > 0
? (this.$refs.layouttable.$refs.searchform.form.viewTimeStart =
this.daterange[0])
: (this.$refs.layouttable.$refs.searchform.form.viewTimeStart = "");
this.daterange && this.daterange.length > 0
? (this.$refs.layouttable.$refs.searchform.form.viewTimeEnd =
this.daterange[1])
: (this.$refs.layouttable.$refs.searchform.form.viewTimeEnd = "");
},
// 重写搜索清除
cleanForm() {
this.daterange = "";
this.$refs.layouttable.$refs.searchform.form.viewTimeStart = undefined;
this.$refs.layouttable.$refs.searchform.form.viewTimeEnd = undefined;
this.$forceUpdate();
this.$refs.layouttable.$refs.searchform.clean();
this.$refs.layouttable.$refs.searchform.onSubmit();
},
},
data() {
return {
daterange: "",
isreply: false,
config: {
search: [
{
name: "query",
type: "text",
label: "姓名或手机号",
fuzzy: true,
},
],
columns: [
{ type: "index", label: "序号", width: 50 },
{ label: "昵称", prop: "nickName", formatter: this.formatters },
{
label: "头像",
prop: "photoPath",
formatter: (row) => {
return row.photoPath != "" ? (
<el-image
style="width: 70px; height: 70px"
src={row.photoPath}
preview-src-list={[row.photoPath]}
></el-image>
) : (
"--"
);
},
width: 100,
},
{
label: "第一次打开时间",
prop: "createTime",
formatter: this.formatterDate,
width: 140,
},
{
label: "真实姓名",
prop: "realName",
formatter: this.formatters,
width: 120,
},
{
label: "联系电话",
prop: "mobile",
formatter: this.formatters,
width: 140,
},
{
label: "邮箱地址",
prop: "email",
formatter: this.formatters,
width: 150,
},
{
label: "单位名称",
prop: "companyName",
formatter: this.formatters,
},
{
label: "最近一次打开时间",
prop: "viewTime",
formatter: this.formatterDate,
width: 150,
},
{
label: "备注",
prop: "remark",
formatter: this.formatters,
},
{
label: "操作",
width: 100,
formatter: (row) => {
return (
<div>
<span
onClick={() => {
this.toEdit(row);
}}
style="color:#409EFF;"
>
备注
</span>
</div>
);
},
},
],
},
};
},
};
</script>
<style lang="less" scoped>
.daterange {
height: 32px;
/deep/.el-range-editor.el-input__inner {
height: 100%;
margin-top: 1px;
margin-right: 10px;
}
}
/deep/.el-date-editor .el-range-separator {
width: 10%;
line-height: 25px;
}
</style>
...@@ -31,6 +31,17 @@ export default { ...@@ -31,6 +31,17 @@ export default {
this.$refs.drawerform.view(row); this.$refs.drawerform.view(row);
}, },
}, },
filters: {
//当渲染的文字超出150字后显示省略号
ellipsis(value) {
if (!value) return "";
if (value.length > 200) {
return value.slice(0, 200) + "...";
} else {
return value;
}
},
},
data() { data() {
return { return {
config: { config: {
...@@ -45,31 +56,41 @@ export default { ...@@ -45,31 +56,41 @@ export default {
columns: [ columns: [
{ type: "index", label: "序号", width: 50 }, { type: "index", label: "序号", width: 50 },
{ label: "公司名称", prop: "companyName" }, { label: "公司名称", prop: "companyName", width: 250 },
{ label: "联系电话", prop: "contactPhone" }, { label: "联系电话", prop: "contactPhone", width: 120 },
{ {
label: "经营地址", label: "经营地址",
prop: "businessAdress", prop: "businessAdress",
formatter: this.formatters, formatter: this.formatters,
width: 240,
}, },
{ {
label: "描述", label: "描述",
prop: "companyIntroduction", prop: "companyIntroduction",
formatter: this.formatters, formatter: (val) => {
return (
<div
domPropsInnerHTML={this.$options.filters.ellipsis(
val.companyIntroduction
)}
></div>
);
},
}, },
{ {
label: "更新时间", label: "更新时间",
prop: "updateTime", prop: "updateTime",
width: 150,
formatter: this.formatterDate, formatter: this.formatterDate,
}, },
{ {
label: "操作", label: "操作",
width: 240, width: 140,
formatter: (row) => { formatter: (row) => {
return ( return (
<table-buttons <table-buttons
......
...@@ -376,4 +376,7 @@ export default { ...@@ -376,4 +376,7 @@ export default {
padding: 20px; padding: 20px;
} }
} }
/deep/.el-form-item__error{
font-size: 14px;
}
</style> </style>
\ No newline at end of file
...@@ -122,28 +122,59 @@ export default { ...@@ -122,28 +122,59 @@ export default {
// {type: "selection", width: 60}, // {type: "selection", width: 60},
{ type: "index", label: "序号", width: 50 }, { type: "index", label: "序号", width: 50 },
{ label: "内容", prop: "content", formatter: this.formatter }, {
label: "内容",
prop: "content",
formatter: this.formatter,
},
{ {
label: "真实姓名", label: "真实姓名",
prop: "feedbackName", prop: "feedbackName",
formatter: this.formatter, formatter: this.formatter,
width: 120,
},
{
label: "联系电话",
prop: "contactInfo",
formatter: this.formatter,
width: 120,
}, },
{ label: "联系电话", prop: "contactInfo", formatter: this.formatter },
{ label: "单位名称", prop: "companyName", formatter: this.formatter }, {
label: "单位名称",
prop: "companyName",
formatter: this.formatter,
width: 240,
},
{ label: "邮箱地址", prop: "email", formatter: this.formatter }, {
label: "邮箱地址",
prop: "email",
formatter: this.formatter,
width: 160,
},
{ {
label: "提交时间", label: "提交时间",
prop: "createTime", prop: "createTime",
formatter: this.formatterDate, formatter: this.formatterDate,
width: 140,
}, },
{ label: "是否回复 ", prop: "reply", formatter: this.formatter }, {
label: "是否回复 ",
prop: "reply",
formatter: this.formatter,
width: 100,
},
{ label: "回复人", prop: "replyPerson", formatter: this.formatter }, {
label: "回复人",
prop: "replyPerson",
formatter: this.formatter,
width: 120,
},
// {label: "反馈类型 ", prop: "feedbackType",formatter: this.formatter}, // {label: "反馈类型 ", prop: "feedbackType",formatter: this.formatter},
...@@ -161,12 +192,13 @@ export default { ...@@ -161,12 +192,13 @@ export default {
label: "回复时间", label: "回复时间",
prop: "processTime", prop: "processTime",
formatter: this.formatterDate, formatter: this.formatterDate,
width: 140,
}, },
// {label: "创建用户", prop: "createUserId", formatter: this.formatter}, // {label: "创建用户", prop: "createUserId", formatter: this.formatter},
{ {
label: "操作", label: "操作",
width: 240, width: 140,
formatter: (row) => { formatter: (row) => {
return ( return (
<table-buttons <table-buttons
......
...@@ -177,7 +177,9 @@ export default { ...@@ -177,7 +177,9 @@ export default {
}, },
/**获取数据前弹框 */ /**获取数据前弹框 */
beforeRender(data) { beforeRender(data) {
data.entity.deptId = String(data.entity.deptId); data.entity.deptId && data.entity.deptId != ""
? (data.entity.deptId = String(data.entity.deptId))
: "";
return data; return data;
}, },
/**获取数据后弹框 */ /**获取数据后弹框 */
...@@ -207,6 +209,7 @@ export default { ...@@ -207,6 +209,7 @@ export default {
titleLogoPath: "", titleLogoPath: "",
content: "", content: "",
top: 0, top: 0,
deptId: "",
viewNums: 0, viewNums: 0,
publishTime: null, publishTime: null,
}; };
......
...@@ -134,12 +134,18 @@ export default { ...@@ -134,12 +134,18 @@ export default {
{ label: "新闻标题", prop: "title" }, { label: "新闻标题", prop: "title" },
{ label: "新闻类型", prop: "categoryId", formatter: this.formatter }, {
label: "新闻类型",
prop: "categoryId",
formatter: this.formatter,
width: 140,
},
{ {
label: "创建时间", label: "创建时间",
prop: "createTime", prop: "createTime",
formatter: this.formatterDate, formatter: this.formatterDate,
width: 140,
}, },
{ {
...@@ -171,12 +177,14 @@ export default { ...@@ -171,12 +177,14 @@ export default {
</div> </div>
); );
}, },
width: 140,
}, },
{ {
label: "创建用户", label: "创建用户",
prop: "createUserId", prop: "createUserId",
formatter: this.formatter, formatter: this.formatter,
width: 140,
}, },
{ {
label: "操作", label: "操作",
......
...@@ -135,9 +135,19 @@ export default { ...@@ -135,9 +135,19 @@ export default {
{ label: "产品名称", prop: "productName" }, { label: "产品名称", prop: "productName" },
{ label: "产品分类", prop: "categoryId", formatter: this.formatters }, {
label: "产品分类",
prop: "categoryId",
formatter: this.formatters,
width: 140,
},
{ label: "所属企业", prop: "companyId", formatter: this.formatters }, {
label: "所属企业",
prop: "companyId",
formatter: this.formatters,
width: 300,
},
{ {
label: "产品介绍", label: "产品介绍",
...@@ -150,24 +160,26 @@ export default { ...@@ -150,24 +160,26 @@ export default {
label: "发布时间", label: "发布时间",
prop: "publishTime", prop: "publishTime",
formatter: this.formatterDate, formatter: this.formatterDate,
width: 150,
}, },
{ {
label: "热门", label: "热门",
prop: "hot", prop: "hot",
formatter: this.formatterYES, formatter: this.formatterYES,
width: 50, width: 60,
}, },
{ {
label: "最近更新时间", label: "最近更新时间",
prop: "updateTime", prop: "updateTime",
formatter: this.formatterDate, formatter: this.formatterDate,
width: 150,
}, },
{ {
label: "操作", label: "操作",
width: 240, width: 140,
formatter: (row) => { formatter: (row) => {
return ( return (
<table-buttons <table-buttons
......
...@@ -3,23 +3,21 @@ ...@@ -3,23 +3,21 @@
<LayoutTable notAdd notDel :data="tableData" :config="tableConfig"> <LayoutTable notAdd notDel :data="tableData" :config="tableConfig">
</LayoutTable> </LayoutTable>
<drawer-show ref="drawerform" @ok="getData" /> <drawer-show ref="drawerform" @ok="getData" />
</div> </div>
</template> </template>
<script> <script>
/** 表单弹出框模式需引入 */ /** 表单弹出框模式需引入 */
import drawerShow from "./drawershow"; import drawerShow from "./drawershow";
import table from "@/assets/mixins/table"; import table from "@/assets/mixins/table";
export default { export default {
name: "StaffLeaveList", name: "StaffLeaveList",
components: { components: {
drawerShow drawerShow,
},
mixins: [table],
created() {
}, },
mixins: [table],
created() {},
methods: { methods: {
/** 重写新增方法 */ /** 重写新增方法 */
toAdd(row) { toAdd(row) {
...@@ -33,7 +31,6 @@ ...@@ -33,7 +31,6 @@
toView(row) { toView(row) {
this.$refs.drawerform.view(row); this.$refs.drawerform.view(row);
}, },
}, },
data() { data() {
return { return {
...@@ -43,39 +40,60 @@ ...@@ -43,39 +40,60 @@
name: "companyIds", name: "companyIds",
type: "select", type: "select",
label: "所属公司", label: "所属公司",
fuzzy: true fuzzy: true,
}, },
{ {
name: "name", name: "name",
type: "text", type: "text",
label: "员工姓名", label: "员工姓名",
fuzzy: true fuzzy: true,
}, },
], ],
columns: [ columns: [
{type: "selection", width: 60}, { type: "selection", width: 60 },
{type: "index",label: "序号",width: 50}, { type: "index", label: "序号", width: 50 },
{label: "员工姓名", prop: "name"}, { label: "员工姓名", prop: "name" },
{label: "照片", prop: "photoPath"}, {
label: "照片",
{label: "邮件地址", prop: "email"}, prop: "photoPath",
formatter: (row) => {
return row.photoPath != "" ? (
<el-image
style="width: 70px; height: 70px"
src={row.photoPath}
preview-src-list={[row.photoPath]}
></el-image>
) : (
"--"
);
},
width: 110,
},
{label: "联系电话", prop: "phoneNumber"}, { label: "邮件地址", prop: "email" },
{label: "所属公司", prop: "companyIds",formatter: this.formatters}, { label: "联系电话", prop: "phoneNumber" },
{label: "职位名称", prop: "positionName"}, { label: "所属公司", prop: "companyIds", formatter: this.formatters },
{label: "离职时间", prop: "leaveDate", formatter: this.formatterDate}, { label: "职位名称", prop: "positionName" },
{label: "操作用户", prop: "createUserId", formatter: this.formatter}, {
label: "离职时间",
prop: "leaveDate",
formatter: this.formatterDate,
},
] {
} label: "操作用户",
}; prop: "createUserId",
} formatter: this.formatter,
},
],
},
}; };
},
};
</script> </script>
...@@ -112,7 +112,7 @@ export default { ...@@ -112,7 +112,7 @@ export default {
columns: [ columns: [
{ type: "index", label: "序号", width: 50 }, { type: "index", label: "序号", width: 50 },
{ label: "员工姓名", prop: "name" }, { label: "员工姓名", prop: "name", width: 110 },
{ {
label: "头像", label: "头像",
...@@ -128,32 +128,45 @@ export default { ...@@ -128,32 +128,45 @@ export default {
"--" "--"
); );
}, },
width: 110,
}, },
{ label: "联系电话", prop: "phoneNumber" }, { label: "联系电话", prop: "phoneNumber", width: 110 },
{ label: "邮件地址", prop: "email", formatter: this.formatters }, {
label: "邮件地址",
prop: "email",
formatter: this.formatters,
width: 160,
},
{ label: "所属公司", prop: "companyIds", formatter: this.formatters }, { label: "所属公司", prop: "companyIds", formatter: this.formatters },
{ label: "职位", prop: "positionId", formatter: this.formatter }, {
{ label: "发送名片次数", prop: "sendBusinessCardTimes" }, label: "职位",
{ label: "累计查看次数", prop: "sumViews" }, prop: "positionId",
formatter: this.formatter,
width: 120,
},
{ label: "发送名片次数", prop: "sendBusinessCardTimes", width: 100 },
{ label: "累计查看次数", prop: "sumViews", width: 100 },
{ {
label: "最近更新时间", label: "最近更新时间",
prop: "updateTime", prop: "updateTime",
formatter: this.formatterDate, formatter: this.formatterDate,
width: 140,
}, },
{ {
label: "更新人员", label: "更新人员",
prop: "updateUserId", prop: "updateUserId",
formatter: this.formatter, formatter: this.formatter,
width: 100,
}, },
// {label: "员工状态", prop: "staffStatus",formatter: this.formatter}, // {label: "员工状态", prop: "staffStatus",formatter: this.formatter},
{ {
label: "操作", label: "操作",
width: 240, width: 180,
formatter: (row) => { formatter: (row) => {
return ( return (
<div> <div>
...@@ -169,8 +182,9 @@ export default { ...@@ -169,8 +182,9 @@ export default {
onClick={() => { onClick={() => {
this.toDimission(row); this.toDimission(row);
}} }}
style="color:#409EFF;margin-left:20px" style="color:#409EFF;margin-left:10px;cursor:pointer"
> >
<i class="el-icon-document-delete"></i>
离职 离职
</span> </span>
</div> </div>
......
...@@ -179,12 +179,12 @@ export default { ...@@ -179,12 +179,12 @@ export default {
align: "center", align: "center",
}, },
// { {
// prop: "userType", prop: "userType",
// label: "用户类型", label: "用户类型",
// width: 130, width: 130,
// formatter: this.formatter, formatter: this.formatter,
// }, },
{ {
prop: "status", prop: "status",
label: "状态", label: "状态",
...@@ -219,6 +219,11 @@ export default { ...@@ -219,6 +219,11 @@ export default {
}, },
], ],
search: [ search: [
{
name: "userType",
type: "select",
label: "用户类型",
},
{ {
name: "loginName", name: "loginName",
type: "text", type: "text",
......
<template> <template>
<div class="page"> <div class="page">
<LayoutTable :data="tableData" :config="tableConfig"> <LayoutTable :data="tableData" :config="tableConfig"> </LayoutTable>
</LayoutTable>
<dialog-show ref="dialogform" @ok="getData" /> <dialog-show ref="dialogform" @ok="getData" />
</div> </div>
</template> </template>
<script> <script>
/** 表单弹出框模式需引入 */ /** 表单弹出框模式需引入 */
import dialogShow from "./dialogshow"; import dialogShow from "./dialogshow";
import table from "@/assets/mixins/table"; import table from "@/assets/mixins/table";
export default { export default {
name: "UserList", name: "UserList",
components: { components: {
dialogShow dialogShow,
},
mixins: [table],
created() {
}, },
mixins: [table],
created() {},
methods: { methods: {
/** 重写新增方法 */ /** 重写新增方法 */
toAdd(row) { toAdd(row) {
...@@ -33,40 +30,52 @@ ...@@ -33,40 +30,52 @@
toView(row) { toView(row) {
this.$refs.dialogform.view(row); this.$refs.dialogform.view(row);
}, },
}, },
data() { data() {
return { return {
config: { config: {
search: [ search: [],
],
columns: [ columns: [
{type: "selection", width: 60}, { type: "selection", width: 60 },
{type: "index",label: "序号",width: 50}, { type: "index", label: "序号", width: 50 },
{label: "用户所属部门id", prop: "deptId", formatter: this.formatter}, {
label: "用户所属部门id",
prop: "deptId",
formatter: this.formatter,
},
{label: "所属部门名称", prop: "deptName"}, { label: "所属部门名称", prop: "deptName" },
{label: "所属站点id,多个逗号分隔", prop: "siteIds"}, { label: "所属站点id,多个逗号分隔", prop: "siteIds" },
{label: "所属区域code,多个逗号分隔", prop: "areaCodes"}, { label: "所属区域code,多个逗号分隔", prop: "areaCodes" },
{label: "员工Id,关联用户员工表", prop: "staffId", formatter: this.formatter}, {
label: "员工Id,关联用户员工表",
prop: "staffId",
formatter: this.formatter,
},
{label: "微信openId", prop: "openId"}, { label: "微信openId", prop: "openId" },
{ {
label: "操作", label: "操作",
width: 240, width: 240,
formatter: row => { formatter: (row) => {
return ( return (
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} /> <table-buttons
noAdd
row={row}
onEdit={this.toEdit}
onView={this.toView}
onDel={this.toDel}
/>
); );
} },
} },
] ],
} },
};
}
}; };
},
};
</script> </script>
\ No newline at end of file
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