Commit ce6fb0a2 authored by 王晓旭's avatar 王晓旭
parents 780d7077 140d5d54
package com.mortals.xhx.module.area.model;
import com.mortals.xhx.module.area.model.vo.AreaVo;
/**
* 区域实体对象
*
* @author zxfei
* @date 2022-01-12
*/
public class AreaEntity extends AreaVo {
private static final long serialVersionUID = 1L;
/**
* 祖级列表,逗号分隔
*/
private String ancestors;
/**
* 区域名称
*/
private String name;
/**
* 一体化的ID号
*/
private String iid;
/**
* 一体化的父id
*/
private String pid;
/**
* 是否有下级区域(True.是,False.否)
*/
private String haveSonArea;
/**
* 是否有下级部门(True.是,False.否)
*/
private String haveSonDept;
/**
* 是否获取部门(true.是,false.否)
*/
private String haveGetDept;
/**
* 是否获取事项列表(true.是,false.否)
*/
private String haveGetMatterList;
/**
* 区域编码
*/
private String areaCode;
/**
* 区域等级(1.省,2.地市州,3.区县,4.街道,5.社区)
*/
private Integer areaLevel;
/**
* 名称简称
*/
private String shortName;
/**
* 访问地址
*/
private String domain;
/**
* 区域状态 (0.停用,1.正常)
*/
private Integer status;
public AreaEntity(){}
/**
* 获取 祖级列表,逗号分隔
* @return String
*/
public String getAncestors(){
return ancestors;
}
/**
* 设置 祖级列表,逗号分隔
* @param ancestors
*/
public void setAncestors(String ancestors){
this.ancestors = ancestors;
}
/**
* 获取 区域名称
* @return String
*/
public String getName(){
return name;
}
/**
* 设置 区域名称
* @param name
*/
public void setName(String name){
this.name = name;
}
/**
* 获取 一体化的ID号
* @return String
*/
public String getIid(){
return iid;
}
/**
* 设置 一体化的ID号
* @param iid
*/
public void setIid(String iid){
this.iid = iid;
}
/**
* 获取 一体化的父id
* @return String
*/
public String getPid(){
return pid;
}
/**
* 设置 一体化的父id
* @param pid
*/
public void setPid(String pid){
this.pid = pid;
}
/**
* 获取 是否有下级区域(True.是,False.否)
* @return String
*/
public String getHaveSonArea(){
return haveSonArea;
}
/**
* 设置 是否有下级区域(True.是,False.否)
* @param haveSonArea
*/
public void setHaveSonArea(String haveSonArea){
this.haveSonArea = haveSonArea;
}
/**
* 获取 是否有下级部门(True.是,False.否)
* @return String
*/
public String getHaveSonDept(){
return haveSonDept;
}
/**
* 设置 是否有下级部门(True.是,False.否)
* @param haveSonDept
*/
public void setHaveSonDept(String haveSonDept){
this.haveSonDept = haveSonDept;
}
/**
* 获取 是否获取部门(true.是,false.否)
* @return String
*/
public String getHaveGetDept(){
return haveGetDept;
}
/**
* 设置 是否获取部门(true.是,false.否)
* @param haveGetDept
*/
public void setHaveGetDept(String haveGetDept){
this.haveGetDept = haveGetDept;
}
/**
* 获取 是否获取事项列表(true.是,false.否)
* @return String
*/
public String getHaveGetMatterList(){
return haveGetMatterList;
}
/**
* 设置 是否获取事项列表(true.是,false.否)
* @param haveGetMatterList
*/
public void setHaveGetMatterList(String haveGetMatterList){
this.haveGetMatterList = haveGetMatterList;
}
/**
* 获取 区域编码
* @return String
*/
public String getAreaCode(){
return areaCode;
}
/**
* 设置 区域编码
* @param areaCode
*/
public void setAreaCode(String areaCode){
this.areaCode = areaCode;
}
/**
* 获取 区域等级(1.省,2.地市州,3.区县,4.街道,5.社区)
* @return Integer
*/
public Integer getAreaLevel(){
return areaLevel;
}
/**
* 设置 区域等级(1.省,2.地市州,3.区县,4.街道,5.社区)
* @param areaLevel
*/
public void setAreaLevel(Integer areaLevel){
this.areaLevel = areaLevel;
}
/**
* 获取 名称简称
* @return String
*/
public String getShortName(){
return shortName;
}
/**
* 设置 名称简称
* @param shortName
*/
public void setShortName(String shortName){
this.shortName = shortName;
}
/**
* 获取 访问地址
* @return String
*/
public String getDomain(){
return domain;
}
/**
* 设置 访问地址
* @param domain
*/
public void setDomain(String domain){
this.domain = domain;
}
/**
* 获取 区域状态 (0.停用,1.正常)
* @return Integer
*/
public Integer getStatus(){
return status;
}
/**
* 设置 区域状态 (0.停用,1.正常)
* @param status
*/
public void setStatus(Integer status){
this.status = status;
}
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) return false;
if (obj instanceof AreaEntity) {
AreaEntity tmp = (AreaEntity) obj;
if (this.getId() == tmp.getId()) {
return true;
}
}
return false;
}
public String toString(){
StringBuilder sb = new StringBuilder("");
sb.append(",ancestors:").append(getAncestors());
sb.append(",name:").append(getName());
sb.append(",iid:").append(getIid());
sb.append(",pid:").append(getPid());
sb.append(",haveSonArea:").append(getHaveSonArea());
sb.append(",haveSonDept:").append(getHaveSonDept());
sb.append(",haveGetDept:").append(getHaveGetDept());
sb.append(",haveGetMatterList:").append(getHaveGetMatterList());
sb.append(",areaCode:").append(getAreaCode());
sb.append(",areaLevel:").append(getAreaLevel());
sb.append(",shortName:").append(getShortName());
sb.append(",domain:").append(getDomain());
sb.append(",status:").append(getStatus());
return sb.toString();
}
public void initAttrValue(){
this.ancestors = "";
this.name = null;
this.iid = null;
this.pid = null;
this.haveSonArea = null;
this.haveSonDept = null;
this.haveGetDept = null;
this.haveGetMatterList = null;
this.areaCode = null;
this.areaLevel = 1;
this.shortName = null;
this.domain = null;
this.status = 1;
}
}
\ No newline at end of file
package com.mortals.xhx.module.area.model;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* 区域前端映射树结构实体类
*
* @author zxfei
* @date 2022-01-12
*/
@Data
public class AreaTreeSelect implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 节点ID
*/
private String id;
/**
* 节点名称
*/
private String label;
/**
* 区域编码
*/
private String areaCode;
/**
* 是否叶子节点
*/
private Boolean isLeaf;
/**
* 节点类型
*/
private String type;
/**
* 图标
*/
private String icon;
/**
* 子节点
*/
private List<AreaTreeSelect> children;
public AreaTreeSelect(AreaEntity entity) {
this.id = entity.getIid();
this.label = entity.getName();
if ("False".equalsIgnoreCase(entity.getHaveSonArea())) {
this.isLeaf = true;
this.children = new ArrayList();
} else {
this.isLeaf = false;
}
this.areaCode=entity.getAreaCode();
this.type = "area";
this.icon = "el-icon-folder";
}
}
\ No newline at end of file
package com.mortals.xhx.module.area.model.vo;
import com.mortals.framework.model.BaseEntity;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.area.model.AreaEntity;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author: zxfei
* @date: 2022/6/6 14:58
* @description:
**/
@Data
public class AreaVo extends BaseEntityLong {
private List<AreaEntity> children = new ArrayList<>();
}
-- ----------------------------
-- 用户信息业务菜单 SQL
-- ----------------------------
INSERT INTO `mortals_xhx_menu` VALUES (null, '用户信息业务', '/user/list', 0,'', 1, 1, 0, 0,'',NULL, NULL, NULL, 0, 0, 1, NULL, NULL, NULL);
-- ----------------------------
-- 用户信息业务资源路径 SQL
-- ----------------------------
INSERT INTO `mortals_xhx_resource` VALUES (null, '用户信息业务-菜单管理-查看', '/user/list,/user/view,/user/info,/user/export,/user/exportExcel,/user/downloadTemplate,/user/download', 3, 0, NULL, NULL, NULL, 0);
INSERT INTO `mortals_xhx_resource` VALUES (null, '用户信息业务-菜单管理-维护', '/user/add,/user/edit,/user/delete,/user/logicDelete,/user/save,/user/importData', 3, 0, NULL, NULL, NULL, 0);
-- ----------------------------
-- 用户信息业务参数 SQL
-- ----------------------------
-- ----------------------------
-- 公司菜单 SQL
-- ----------------------------
INSERT INTO `mortals_xhx_menu` VALUES (null, '公司', '/company/list', 0,'', 1, 1, 0, 0,'',NULL, NULL, NULL, 0, 0, 1, NULL, NULL, NULL);
......@@ -41,6 +55,20 @@ INSERT INTO `mortals_xhx_resource` VALUES (null, '公司标注-菜单管理-维
-- 公司标注参数 SQL
-- ----------------------------
-- ----------------------------
-- 公司专利菜单 SQL
-- ----------------------------
INSERT INTO `mortals_xhx_menu` VALUES (null, '公司专利', '/company/patent/list', 0,'', 1, 1, 0, 0,'',NULL, NULL, NULL, 0, 0, 1, NULL, NULL, NULL);
-- ----------------------------
-- 公司专利资源路径 SQL
-- ----------------------------
INSERT INTO `mortals_xhx_resource` VALUES (null, '公司专利-菜单管理-查看', '/company/patent/list,/company/patent/view,/company/patent/info,/company/patent/export,/company/patent/exportExcel,/company/patent/downloadTemplate,/company/patent/download', 3, 0, NULL, NULL, NULL, 0);
INSERT INTO `mortals_xhx_resource` VALUES (null, '公司专利-菜单管理-维护', '/company/patent/add,/company/patent/edit,/company/patent/delete,/company/patent/logicDelete,/company/patent/save,/company/patent/importData', 3, 0, NULL, NULL, NULL, 0);
-- ----------------------------
-- 公司专利参数 SQL
-- ----------------------------
-- ----------------------------
-- 分类菜单 SQL
-- ----------------------------
INSERT INTO `mortals_xhx_menu` VALUES (null, '分类', '/category/list', 0,'', 1, 1, 0, 0,'',NULL, NULL, NULL, 0, 0, 1, NULL, NULL, NULL);
......@@ -82,6 +110,8 @@ INSERT INTO `mortals_xhx_resource` VALUES (null, '产品-菜单管理-维护', '
-- ----------------------------
-- 产品参数 SQL
-- ----------------------------
INSERT INTO `mortals_xhx_param` VALUES (null, '是否热门', 'Product', 'hot', '0', '否', 1, 4, 0, 'hot', NULL, NULL, NULL);
INSERT INTO `mortals_xhx_param` VALUES (null, '是否热门', 'Product', 'hot', '1', '是', 1, 4, 0, 'hot', NULL, NULL, NULL);
-- ----------------------------
-- 产品常见问题菜单 SQL
-- ----------------------------
......@@ -178,6 +208,34 @@ INSERT INTO `mortals_xhx_resource` VALUES (null, '新闻-菜单管理-维护', '
INSERT INTO `mortals_xhx_param` VALUES (null, '置顶 ', 'News', 'top', '0', '否', 1, 4, 0, 'top', NULL, NULL, NULL);
INSERT INTO `mortals_xhx_param` VALUES (null, '置顶 ', 'News', 'top', '1', '是', 1, 4, 0, 'top', NULL, NULL, NULL);
-- ----------------------------
-- 新闻访问记录信息菜单 SQL
-- ----------------------------
INSERT INTO `mortals_xhx_menu` VALUES (null, '新闻访问记录信息', '/news/record/list', 0,'', 1, 1, 0, 0,'',NULL, NULL, NULL, 0, 0, 1, NULL, NULL, NULL);
-- ----------------------------
-- 新闻访问记录信息资源路径 SQL
-- ----------------------------
INSERT INTO `mortals_xhx_resource` VALUES (null, '新闻访问记录信息-菜单管理-查看', '/news/record/list,/news/record/view,/news/record/info,/news/record/export,/news/record/exportExcel,/news/record/downloadTemplate,/news/record/download', 3, 0, NULL, NULL, NULL, 0);
INSERT INTO `mortals_xhx_resource` VALUES (null, '新闻访问记录信息-菜单管理-维护', '/news/record/add,/news/record/edit,/news/record/delete,/news/record/logicDelete,/news/record/save,/news/record/importData', 3, 0, NULL, NULL, NULL, 0);
-- ----------------------------
-- 新闻访问记录信息参数 SQL
-- ----------------------------
-- ----------------------------
-- 新闻分享记录信息菜单 SQL
-- ----------------------------
INSERT INTO `mortals_xhx_menu` VALUES (null, '新闻分享记录信息', '/news/share/list', 0,'', 1, 1, 0, 0,'',NULL, NULL, NULL, 0, 0, 1, NULL, NULL, NULL);
-- ----------------------------
-- 新闻分享记录信息资源路径 SQL
-- ----------------------------
INSERT INTO `mortals_xhx_resource` VALUES (null, '新闻分享记录信息-菜单管理-查看', '/news/share/list,/news/share/view,/news/share/info,/news/share/export,/news/share/exportExcel,/news/share/downloadTemplate,/news/share/download', 3, 0, NULL, NULL, NULL, 0);
INSERT INTO `mortals_xhx_resource` VALUES (null, '新闻分享记录信息-菜单管理-维护', '/news/share/add,/news/share/edit,/news/share/delete,/news/share/logicDelete,/news/share/save,/news/share/importData', 3, 0, NULL, NULL, NULL, 0);
-- ----------------------------
-- 新闻分享记录信息参数 SQL
-- ----------------------------
-- ----------------------------
-- 反馈信息菜单 SQL
-- ----------------------------
INSERT INTO `mortals_xhx_menu` VALUES (null, '反馈信息', '/feedback/list', 0,'', 1, 1, 0, 0,'',NULL, NULL, NULL, 0, 0, 1, NULL, NULL, NULL);
......
This diff is collapsed.
......@@ -103,7 +103,7 @@ export default {
return {
number: 0,
uploadList: [],
uploadFileUrl: "/enterprise/file/commonupload", // 上传的地址
uploadFileUrl: "/office/file/commonupload", // 上传的地址
headers: {},
fileList: [],
};
......@@ -112,7 +112,7 @@ export default {
watch: {
value: {
handler(val) {
if (val) {
if (val&&val!=='') {
this.showFileList();
} else {
this.fileList = [];
......@@ -137,8 +137,8 @@ export default {
// 然后将数组转为对象数组
const fileNamelist =this.fileName.split(',');
for (var i = 0; i < filePathlist.length; i++) {
if(filePathlist[i]==='') continue
let item = {}
console.log(fileNamelist.length === filePathlist.length)
if (fileNamelist.length === filePathlist.length) {
item.name = fileNamelist[i];
} else {
......
......@@ -55,6 +55,9 @@ const router = new Router({
...restBuilder('staff/record', 'staff/record'),//客户访问记录信息
...restBuilder('news/category', 'news/category'),//新闻频道分类
...restBuilder('news/category', 'news/category'),//新闻频道分类
//以下为基础路由配置
builder('/', 'Home'),
builder('/home', 'Home'),
......
<template>
<!-- 弹出框表单 -->
<el-dialog :title="title" :visible.sync="open" width="90%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<Field label="分类名称" prop="name" v-model="form.name" placeholder="请输入分类名称"/>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" v-if="pageInfo.type !== 'view'" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</template>
<script>
import form from "@/assets/mixins/formdialog";
import dialogShow from "./dialogshow";
export default {
mixins: [form],
components: {
dialogShow ,
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "分类",
// 是否显示弹出层
open: false,
toString:[
],
// 表单校验
rules: {
}
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="category/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改分类";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "category/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增分类";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="category/view";
this.getData();
this.pageInfo.type="view"
this.title = "分类详细";
},
/**取消按钮 */
cancel() {
this.open = false;
},
/**获取数据后弹框 */
afterRender(data) {
this.open = true;
},
afterSubmit(data) {
this.open = false;
this.$emit("ok");
},
// 表单重置
reset() {
this.form = {
name : "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
......@@ -4,18 +4,18 @@
</LayoutTable>
<drawer-show ref="drawerform" @ok="getData" />
<dialog-show ref="dialogform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import dialogShow from "./dialogshow";
import table from "@/assets/mixins/table";
export default {
name: "CategoryList",
components: {
drawerShow
dialogShow
},
mixins: [table],
created() {
......@@ -23,15 +23,15 @@
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.drawerform.add(row);
this.$refs.dialogform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.drawerform.edit(row);
this.$refs.dialogform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.drawerform.view(row);
this.$refs.dialogform.view(row);
},
},
......
This diff is collapsed.
......@@ -4,18 +4,18 @@
</LayoutTable>
<drawer-show ref="drawerform" @ok="getData" />
<dialog-show ref="dialogform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import dialogShow from "./dialogshow";
import table from "@/assets/mixins/table";
export default {
name: "CompanyList",
components: {
drawerShow
dialogShow
},
mixins: [table],
created() {
......@@ -41,15 +41,15 @@
},
/** 重写新增方法 */
toAdd(row) {
this.$refs.drawerform.add(row);
this.$refs.dialogform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.drawerform.edit(row);
this.$refs.dialogform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.drawerform.view(row);
this.$refs.dialogform.view(row);
},
},
......@@ -64,18 +64,6 @@
],
config: {
search: [
{
name: "companyName",
type: "text",
label: "公司名称",
fuzzy: true
},
{
name: "companyCode",
type: "text",
label: "公司编码",
fuzzy: true
},
],
columns: [
{type: "selection", width: 60},
......@@ -99,6 +87,10 @@
{label: "所在地", prop: "location"},
{label: "所属区域编码", prop: "areaCode"},
{label: "所属区域名称", prop: "areaName"},
{label: "联系电话", prop: "contactPhone"},
{label: "电子邮件地址", prop: "email"},
......
<template>
<!-- 弹出框表单 -->
<el-dialog :title="title" :visible.sync="open" width="90%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<Field label="公司Id" prop="companyId" v-model="form.companyId" placeholder="请输入公司Id"/>
<Field label="知识产权类型" prop="intellectPropertyType" v-model="form.intellectPropertyType" placeholder="请输入知识产权类型"/>
<Field label="知识产权数量" prop="intellectPropertyNum" v-model="form.intellectPropertyNum" placeholder="请输入知识产权数量"/>
<Field label="备注" prop="remark" v-model="form.remark" placeholder="请输入备注"/>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" v-if="pageInfo.type !== 'view'" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</template>
<script>
import form from "@/assets/mixins/formdialog";
import dialogShow from "./dialogshow";
export default {
mixins: [form],
components: {
dialogShow ,
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "公司专利",
// 是否显示弹出层
open: false,
toString:[
],
// 表单校验
rules: {
createTime: [
{required: true,message: "请选择创建时间" },
],
}
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="company/patent/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改公司专利";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "company/patent/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增公司专利";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="company/patent/view";
this.getData();
this.pageInfo.type="view"
this.title = "公司专利详细";
},
/**取消按钮 */
cancel() {
this.open = false;
},
/**获取数据后弹框 */
afterRender(data) {
this.open = true;
},
afterSubmit(data) {
this.open = false;
this.$emit("ok");
},
// 表单重置
reset() {
this.form = {
companyId : null,
intellectPropertyType : "",
intellectPropertyNum : null,
remark : "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
<template>
<div class="page">
<LayoutTable :data="tableData" :config="tableConfig">
</LayoutTable>
<dialog-show ref="dialogform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import dialogShow from "./dialogshow";
import table from "@/assets/mixins/table";
export default {
name: "CompanyPatentList",
components: {
dialogShow
},
mixins: [table],
created() {
},
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.dialogform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.dialogform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.dialogform.view(row);
},
},
data() {
return {
config: {
search: [
],
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{label: "公司Id", prop: "companyId", formatter: this.formatter},
{label: "知识产权类型", prop: "intellectPropertyType"},
{label: "知识产权数量", prop: "intellectPropertyNum",formatter: this.formatter},
{label: "创建用户", prop: "createUserId", formatter: this.formatter},
{
label: "操作",
width: 240,
formatter: row => {
return (
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} />
);
}
}
]
}
};
}
};
</script>
\ No newline at end of file
<template>
<layout-view>
<el-descriptions :title="title" :column="column" :size="size" :colon="false" border>
<template slot="title">
<i class="el-icon-tickets"></i>
基本详细信息
</template>
<template slot="extra">
<el-button type="primary" @click="$router.go(-1)" size="small">返回</el-button>
</template>
<el-descriptions-item label="公司Id" label-class-name="labelClass" content-class-name="contentClass">
{{form.companyId}}
</el-descriptions-item>
<el-descriptions-item label="知识产权类型" label-class-name="labelClass" content-class-name="contentClass">
{{form.intellectPropertyType}}
</el-descriptions-item>
<el-descriptions-item label="知识产权数量" label-class-name="labelClass" content-class-name="contentClass">
{{form.intellectPropertyNum}}
</el-descriptions-item>
<el-descriptions-item label="备注" label-class-name="labelClass" content-class-name="contentClass">
{{form.remark}}
</el-descriptions-item>
</el-descriptions>
</layout-view>
</template>
<script>
import view from "@/assets/mixins/view";
export default {
mixins: [view],
components: {
},
methods: {
},
data() {
return {
size:"small",
column:2,
toString:[
],
toArrays: [
],
toDate: [
]
}
}
}
</script>
<style lang="less">
.labelClass{
width: 200px;
}
.el-descriptions__body{
margin-left: 5px;
margin-right: 5px;
color: #606266;
background-color: #FFF;
}
.contentClass{
width: 600px;
}
</style>
\ No newline at end of file
......@@ -35,6 +35,12 @@
<el-descriptions-item label="所在地" label-class-name="labelClass" content-class-name="contentClass">
{{form.location}}
</el-descriptions-item>
<el-descriptions-item label="所属区域编码" label-class-name="labelClass" content-class-name="contentClass">
{{form.areaCode}}
</el-descriptions-item>
<el-descriptions-item label="所属区域名称" label-class-name="labelClass" content-class-name="contentClass">
{{form.areaName}}
</el-descriptions-item>
<el-descriptions-item label="联系电话" label-class-name="labelClass" content-class-name="contentClass">
{{form.contactPhone}}
</el-descriptions-item>
......
<template>
<!-- 弹出框表单 -->
<el-dialog :title="title" :visible.sync="open" width="90%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<Field label="标题" prop="title" v-model="form.title" type="textarea" placeholder="请输入标题"/>
<Field label="内容"><editor v-model="form.content" :min-height="256"/></Field>
<Field label="是否公开 " prop="isShow" v-model="form.isShow" type="select" :enumData="dict.isShow" placeholder="请选择是否公开 "/>
<Field label="反馈人姓名" prop="feedbackName" v-model="form.feedbackName" placeholder="请输入反馈人姓名"/>
<Field label="联系方式" prop="contactInfo" v-model="form.contactInfo" placeholder="请输入联系方式"/>
<Field label="身份证号" prop="idCard" v-model="form.idCard" placeholder="请输入身份证号"/>
<Field label="地址" prop="Address" v-model="form.Address" placeholder="请输入地址"/>
<Field label="是否回复 " prop="reply" v-model="form.reply" type="select" :enumData="dict.reply" placeholder="请选择是否回复 "/>
<Field label="回复"><editor v-model="form.replyContent" :min-height="256"/></Field>
<Field label="反馈类型 " prop="feedbackType" v-model="form.feedbackType" type="select" :enumData="dict.feedbackType" placeholder="请选择反馈类型 "/>
<Field label="附件名称,多个逗号分割" prop="fileName" v-model="form.fileName" placeholder="请输入附件名称,多个逗号分割"/>
<Field label="附件地址,多个逗号分割"><fileUpload v-model="form.filePath" prePath="/file/fileupload"/></Field>
<Field label="处理人id" prop="processId" v-model="form.processId" placeholder="请输入处理人id"/>
<Field label="处理人名称" prop="processName" v-model="form.processName" placeholder="请输入处理人名称"/>
<Field label="处理状态" prop="processStatus" v-model="form.processStatus" type="select" :enumData="dict.processStatus" placeholder="请选择处理状态"/>
<Field label="处理意见" prop="processComments" v-model="form.processComments" placeholder="请输入处理意见"/>
<Field label="处理时间" prop="processTime" v-model="form.processTime" type="date" />
<Field label="备注" prop="remark" v-model="form.remark" type="textarea" placeholder="请输入备注"/>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" v-if="pageInfo.type !== 'view'" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</template>
<script>
import form from "@/assets/mixins/formdialog";
import dialogShow from "./dialogshow";
import FileUpload from '@/components/FileUpload';
import Editor from '@/components/Editor';
export default {
mixins: [form],
components: {
dialogShow ,
FileUpload,
Editor,
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "反馈信息",
// 是否显示弹出层
open: false,
toString:[
"isShow",
"reply",
"feedbackType",
"processStatus",
],
// 表单校验
rules: {
title: [
{required: true,message: "请输入标题", trigger: "blur" },
{max: 512,message: "最多只能录入512个字符",trigger: "blur",},
],
isShow: [
{required: true,message: "请输入是否公开 ", trigger: "blur" },
],
feedbackName: [
{required: true,message: "请输入反馈人姓名", trigger: "blur" },
{max: 64,message: "最多只能录入64个字符",trigger: "blur",},
],
contactInfo: [
{required: true,message: "请输入联系方式", trigger: "blur" },
{max: 64,message: "最多只能录入64个字符",trigger: "blur",},
],
idCard: [
{required: true,message: "请输入身份证号", trigger: "blur" },
{max: 64,message: "最多只能录入64个字符",trigger: "blur",},
],
Address: [
{required: true,message: "请输入地址", trigger: "blur" },
{max: 64,message: "最多只能录入64个字符",trigger: "blur",},
],
reply: [
{required: true,message: "请输入是否回复 ", trigger: "blur" },
],
replyContent: [
{required: true,message: "请输入回复", trigger: "blur" },
{max: 64,message: "最多只能录入64个字符",trigger: "blur",},
],
feedbackType: [
{required: true,message: "请输入反馈类型 ", trigger: "blur" },
],
fileName: [
{required: true,message: "请输入附件名称,多个逗号分割", trigger: "blur" },
{max: 64,message: "最多只能录入64个字符",trigger: "blur",},
],
createTime: [
{required: true,message: "请选择创建时间" },
],
}
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="feedback/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改反馈信息";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "feedback/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增反馈信息";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="feedback/view";
this.getData();
this.pageInfo.type="view"
this.title = "反馈信息详细";
},
/**取消按钮 */
cancel() {
this.open = false;
},
/**获取数据后弹框 */
afterRender(data) {
this.open = true;
},
afterSubmit(data) {
this.open = false;
this.$emit("ok");
},
// 表单重置
reset() {
this.form = {
title : "",
content : "",
isShow : 0,
feedbackName : "",
contactInfo : "",
idCard : "",
Address : "",
reply : 0,
replyContent : "",
feedbackType : 1,
fileName : "",
filePath : "",
processId : null,
processName : "",
processStatus : 1,
processComments : "",
processTime : null,
remark : "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
......@@ -4,18 +4,18 @@
</LayoutTable>
<drawer-show ref="drawerform" @ok="getData" />
<dialog-show ref="dialogform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import dialogShow from "./dialogshow";
import table from "@/assets/mixins/table";
export default {
name: "FeedbackList",
components: {
drawerShow
dialogShow
},
mixins: [table],
created() {
......@@ -23,15 +23,15 @@
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.drawerform.add(row);
this.$refs.dialogform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.drawerform.edit(row);
this.$refs.dialogform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.drawerform.view(row);
this.$refs.dialogform.view(row);
},
},
......@@ -68,8 +68,6 @@
{label: "附件地址,多个逗号分割", prop: "filePath"},
{label: "处理人id", prop: "processId", formatter: this.formatter},
{label: "处理人名称", prop: "processName"},
{label: "处理状态", prop: "processStatus",formatter: this.formatter},
......
<template>
<!-- 弹出框表单 -->
<el-dialog :title="title" :visible.sync="open" width="90%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<Field label="标签名称" prop="labelName" v-model="form.labelName" placeholder="请输入标签名称"/>
<Field label="标签描述" prop="labelDesc" v-model="form.labelDesc" placeholder="请输入标签描述"/>
<Field label="标签图标" prop="labelLogoPath" v-model="form.labelLogoPath" placeholder="请输入标签图标"/>
<Field label="排序" prop="sort" v-model="form.sort" placeholder="请输入排序"/>
<Field label="备注" prop="remark" v-model="form.remark" placeholder="请输入备注"/>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" v-if="pageInfo.type !== 'view'" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</template>
<script>
import form from "@/assets/mixins/formdialog";
import dialogShow from "./dialogshow";
export default {
mixins: [form],
components: {
dialogShow ,
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "标注",
// 是否显示弹出层
open: false,
toString:[
],
// 表单校验
rules: {
labelName: [
{required: true,message: "请输入标签名称", trigger: "blur" },
{max: 128,message: "最多只能录入128个字符",trigger: "blur",},
],
createTime: [
{required: true,message: "请选择创建时间" },
],
}
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="labels/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改标注";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "labels/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增标注";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="labels/view";
this.getData();
this.pageInfo.type="view"
this.title = "标注详细";
},
/**取消按钮 */
cancel() {
this.open = false;
},
/**获取数据后弹框 */
afterRender(data) {
this.open = true;
},
afterSubmit(data) {
this.open = false;
this.$emit("ok");
},
// 表单重置
reset() {
this.form = {
labelName : "",
labelDesc : "",
labelLogoPath : "",
sort : 0,
remark : "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
......@@ -4,18 +4,18 @@
</LayoutTable>
<drawer-show ref="drawerform" @ok="getData" />
<dialog-show ref="dialogform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import dialogShow from "./dialogshow";
import table from "@/assets/mixins/table";
export default {
name: "LabelsList",
components: {
drawerShow
dialogShow
},
mixins: [table],
created() {
......@@ -23,15 +23,15 @@
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.drawerform.add(row);
this.$refs.dialogform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.drawerform.edit(row);
this.$refs.dialogform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.drawerform.view(row);
this.$refs.dialogform.view(row);
},
},
......@@ -39,12 +39,6 @@
return {
config: {
search: [
{
name: "labelName",
type: "text",
label: "标签名称",
fuzzy: true
},
],
columns: [
{type: "selection", width: 60},
......
<template>
<!-- 弹出框表单 -->
<el-dialog :title="title" :visible.sync="open" width="90%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<Field label="频道名称" prop="name" v-model="form.name" placeholder="请输入频道名称"/>
<Field label="备注" prop="remark" v-model="form.remark" placeholder="请输入备注"/>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" v-if="pageInfo.type !== 'view'" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</template>
<script>
import form from "@/assets/mixins/formdialog";
import dialogShow from "./dialogshow";
export default {
mixins: [form],
components: {
dialogShow ,
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "新闻频道分类",
// 是否显示弹出层
open: false,
toString:[
],
// 表单校验
rules: {
}
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="news/category/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改新闻频道分类";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "news/category/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增新闻频道分类";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="news/category/view";
this.getData();
this.pageInfo.type="view"
this.title = "新闻频道分类详细";
},
/**取消按钮 */
cancel() {
this.open = false;
},
/**获取数据后弹框 */
afterRender(data) {
this.open = true;
},
afterSubmit(data) {
this.open = false;
this.$emit("ok");
},
// 表单重置
reset() {
this.form = {
name : "",
remark : "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
......@@ -4,18 +4,18 @@
</LayoutTable>
<drawer-show ref="drawerform" @ok="getData" />
<dialog-show ref="dialogform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import dialogShow from "./dialogshow";
import table from "@/assets/mixins/table";
export default {
name: "NewsCategoryList",
components: {
drawerShow
dialogShow
},
mixins: [table],
created() {
......@@ -23,15 +23,15 @@
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.drawerform.add(row);
this.$refs.dialogform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.drawerform.edit(row);
this.$refs.dialogform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.drawerform.view(row);
this.$refs.dialogform.view(row);
},
},
......@@ -44,7 +44,7 @@
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{label: "产品名称", prop: "name"},
{label: "频道名称", prop: "name"},
{label: "创建时间", prop: "createTime", formatter: this.formatterDate},
{
......
......@@ -8,7 +8,7 @@
<template slot="extra">
<el-button type="primary" @click="$router.go(-1)" size="small">返回</el-button>
</template>
<el-descriptions-item label="产品名称" label-class-name="labelClass" content-class-name="contentClass">
<el-descriptions-item label="频道名称" label-class-name="labelClass" content-class-name="contentClass">
{{form.name}}
</el-descriptions-item>
<el-descriptions-item label="备注" label-class-name="labelClass" content-class-name="contentClass">
......
<template>
<!-- 弹出框表单 -->
<el-dialog :title="title" :visible.sync="open" width="90%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<Field label="分类id" prop="categoryId" v-model="form.categoryId" placeholder="请输入分类id"/>
<Field label="分类名称" prop="categoryName" v-model="form.categoryName" placeholder="请输入分类名称"/>
<Field label="标题" prop="title" v-model="form.title" type="textarea" placeholder="请输入标题"/>
<Field label="标题logo" prop="titleLogoPath" v-model="form.titleLogoPath" type="textarea" placeholder="请输入标题logo"/>
<Field label="内容"><editor v-model="form.content" :min-height="256"/></Field>
<Field label="置顶 " prop="top" v-model="form.top" type="select" :enumData="dict.top" placeholder="请选择置顶 "/>
<Field label="浏览次数" prop="viewNums" v-model="form.viewNums" type="select" :enumData="dict.viewNums" placeholder="请选择浏览次数"/>
<Field label="发布时间" prop="publishTime" v-model="form.publishTime" type="date" />
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" v-if="pageInfo.type !== 'view'" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</template>
<script>
import form from "@/assets/mixins/formdialog";
import dialogShow from "./dialogshow";
import Editor from '@/components/Editor';
export default {
mixins: [form],
components: {
dialogShow ,
Editor,
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "新闻",
// 是否显示弹出层
open: false,
toString:[
"top",
"viewNums",
],
// 表单校验
rules: {
title: [
{required: true,message: "请输入标题", trigger: "blur" },
{max: 512,message: "最多只能录入512个字符",trigger: "blur",},
],
titleLogoPath: [
{required: true,message: "请输入标题logo", trigger: "blur" },
{max: 512,message: "最多只能录入512个字符",trigger: "blur",},
],
top: [
{required: true,message: "请输入置顶 ", trigger: "blur" },
],
viewNums: [
{required: true,message: "请输入浏览次数", trigger: "blur" },
],
publishTime: [
{required: true,message: "请选择发布时间" },
],
createTime: [
{required: true,message: "请选择创建时间" },
],
}
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="news/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改新闻";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "news/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增新闻";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="news/view";
this.getData();
this.pageInfo.type="view"
this.title = "新闻详细";
},
/**取消按钮 */
cancel() {
this.open = false;
},
/**获取数据后弹框 */
afterRender(data) {
this.open = true;
},
afterSubmit(data) {
this.open = false;
this.$emit("ok");
},
// 表单重置
reset() {
this.form = {
categoryId : null,
categoryName : "",
title : "",
titleLogoPath : "",
content : "",
top : 0,
viewNums : 0,
publishTime : null,
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
......@@ -4,18 +4,18 @@
</LayoutTable>
<drawer-show ref="drawerform" @ok="getData" />
<dialog-show ref="dialogform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import dialogShow from "./dialogshow";
import table from "@/assets/mixins/table";
export default {
name: "NewsList",
components: {
drawerShow
dialogShow
},
mixins: [table],
created() {
......@@ -23,15 +23,15 @@
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.drawerform.add(row);
this.$refs.dialogform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.drawerform.edit(row);
this.$refs.dialogform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.drawerform.view(row);
this.$refs.dialogform.view(row);
},
},
......
<template>
<!-- 弹出框表单 -->
<el-dialog :title="title" :visible.sync="open" width="90%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<Field label="新闻ID" prop="newsId" v-model="form.newsId" placeholder="请输入新闻ID"/>
<Field label="查看人名称" prop="viewName" v-model="form.viewName" placeholder="请输入查看人名称"/>
<Field label="累计查看次数" prop="sumViews" v-model="form.sumViews" placeholder="请输入累计查看次数"/>
<Field label="备注" prop="remark" v-model="form.remark" type="textarea" placeholder="请输入备注"/>
<Field label="最后浏览时间" prop="viewTime" v-model="form.viewTime" type="date" />
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" v-if="pageInfo.type !== 'view'" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</template>
<script>
import form from "@/assets/mixins/formdialog";
import dialogShow from "./dialogshow";
export default {
mixins: [form],
components: {
dialogShow ,
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "新闻访问记录信息",
// 是否显示弹出层
open: false,
toString:[
],
// 表单校验
rules: {
viewName: [
{required: true,message: "请输入查看人名称", trigger: "blur" },
{max: 64,message: "最多只能录入64个字符",trigger: "blur",},
],
viewTime: [
{required: true,message: "请选择最后浏览时间" },
],
createTime: [
{required: true,message: "请选择创建时间" },
],
}
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="news/record/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改新闻访问记录信息";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "news/record/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增新闻访问记录信息";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="news/record/view";
this.getData();
this.pageInfo.type="view"
this.title = "新闻访问记录信息详细";
},
/**取消按钮 */
cancel() {
this.open = false;
},
/**获取数据后弹框 */
afterRender(data) {
this.open = true;
},
afterSubmit(data) {
this.open = false;
this.$emit("ok");
},
// 表单重置
reset() {
this.form = {
newsId : null,
viewName : "",
sumViews : 0,
remark : "",
viewTime : null,
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
<template>
<div class="page">
<LayoutTable :data="tableData" :config="tableConfig">
</LayoutTable>
<dialog-show ref="dialogform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import dialogShow from "./dialogshow";
import table from "@/assets/mixins/table";
export default {
name: "NewsRecordList",
components: {
dialogShow
},
mixins: [table],
created() {
},
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.dialogform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.dialogform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.dialogform.view(row);
},
},
data() {
return {
config: {
search: [
],
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{label: "查看人名称", prop: "viewName"},
{label: "创建用户", prop: "createUserId", formatter: this.formatter},
{
label: "操作",
width: 240,
formatter: row => {
return (
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} />
);
}
}
]
}
};
}
};
</script>
\ No newline at end of file
<template>
<layout-view>
<el-descriptions :title="title" :column="column" :size="size" :colon="false" border>
<template slot="title">
<i class="el-icon-tickets"></i>
基本详细信息
</template>
<template slot="extra">
<el-button type="primary" @click="$router.go(-1)" size="small">返回</el-button>
</template>
<el-descriptions-item label="新闻ID" label-class-name="labelClass" content-class-name="contentClass">
{{form.newsId}}
</el-descriptions-item>
<el-descriptions-item label="查看人名称" label-class-name="labelClass" content-class-name="contentClass">
{{form.viewName}}
</el-descriptions-item>
<el-descriptions-item label="累计查看次数" label-class-name="labelClass" content-class-name="contentClass">
{{form.sumViews}}
</el-descriptions-item>
<el-descriptions-item label="备注" label-class-name="labelClass" content-class-name="contentClass">
{{form.remark}}
</el-descriptions-item>
<el-descriptions-item label="最后浏览时间" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatterDate(form.viewTime)}}
</el-descriptions-item>
</el-descriptions>
</layout-view>
</template>
<script>
import view from "@/assets/mixins/view";
export default {
mixins: [view],
components: {
},
methods: {
},
data() {
return {
size:"small",
column:2,
toString:[
],
toArrays: [
],
toDate: [
]
}
}
}
</script>
<style lang="less">
.labelClass{
width: 200px;
}
.el-descriptions__body{
margin-left: 5px;
margin-right: 5px;
color: #606266;
background-color: #FFF;
}
.contentClass{
width: 600px;
}
</style>
\ No newline at end of file
<template>
<!-- 弹出框表单 -->
<el-dialog :title="title" :visible.sync="open" width="90%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<Field label="新闻ID" prop="newsId" v-model="form.newsId" placeholder="请输入新闻ID"/>
<Field label="分享人名称" prop="shareName" v-model="form.shareName" placeholder="请输入分享人名称"/>
<Field label="累计分享次数" prop="sumShares" v-model="form.sumShares" placeholder="请输入累计分享次数"/>
<Field label="备注" prop="remark" v-model="form.remark" type="textarea" placeholder="请输入备注"/>
<Field label="最近分享时间" prop="shareTime" v-model="form.shareTime" type="date" />
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" v-if="pageInfo.type !== 'view'" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</template>
<script>
import form from "@/assets/mixins/formdialog";
import dialogShow from "./dialogshow";
export default {
mixins: [form],
components: {
dialogShow ,
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "新闻分享记录信息",
// 是否显示弹出层
open: false,
toString:[
],
// 表单校验
rules: {
shareName: [
{required: true,message: "请输入分享人名称", trigger: "blur" },
{max: 64,message: "最多只能录入64个字符",trigger: "blur",},
],
shareTime: [
{required: true,message: "请选择最近分享时间" },
],
createTime: [
{required: true,message: "请选择创建时间" },
],
}
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="news/share/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改新闻分享记录信息";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "news/share/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增新闻分享记录信息";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="news/share/view";
this.getData();
this.pageInfo.type="view"
this.title = "新闻分享记录信息详细";
},
/**取消按钮 */
cancel() {
this.open = false;
},
/**获取数据后弹框 */
afterRender(data) {
this.open = true;
},
afterSubmit(data) {
this.open = false;
this.$emit("ok");
},
// 表单重置
reset() {
this.form = {
newsId : null,
shareName : "",
sumShares : 0,
remark : "",
shareTime : null,
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
<template>
<div class="page">
<LayoutTable :data="tableData" :config="tableConfig">
</LayoutTable>
<dialog-show ref="dialogform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import dialogShow from "./dialogshow";
import table from "@/assets/mixins/table";
export default {
name: "NewsShareList",
components: {
dialogShow
},
mixins: [table],
created() {
},
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.dialogform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.dialogform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.dialogform.view(row);
},
},
data() {
return {
config: {
search: [
],
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{label: "分享人名称", prop: "shareName"},
{label: "创建用户", prop: "createUserId", formatter: this.formatter},
{
label: "操作",
width: 240,
formatter: row => {
return (
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} />
);
}
}
]
}
};
}
};
</script>
\ No newline at end of file
<template>
<layout-view>
<el-descriptions :title="title" :column="column" :size="size" :colon="false" border>
<template slot="title">
<i class="el-icon-tickets"></i>
基本详细信息
</template>
<template slot="extra">
<el-button type="primary" @click="$router.go(-1)" size="small">返回</el-button>
</template>
<el-descriptions-item label="新闻ID" label-class-name="labelClass" content-class-name="contentClass">
{{form.newsId}}
</el-descriptions-item>
<el-descriptions-item label="分享人名称" label-class-name="labelClass" content-class-name="contentClass">
{{form.shareName}}
</el-descriptions-item>
<el-descriptions-item label="累计分享次数" label-class-name="labelClass" content-class-name="contentClass">
{{form.sumShares}}
</el-descriptions-item>
<el-descriptions-item label="备注" label-class-name="labelClass" content-class-name="contentClass">
{{form.remark}}
</el-descriptions-item>
<el-descriptions-item label="最近分享时间" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatterDate(form.shareTime)}}
</el-descriptions-item>
</el-descriptions>
</layout-view>
</template>
<script>
import view from "@/assets/mixins/view";
export default {
mixins: [view],
components: {
},
methods: {
},
data() {
return {
size:"small",
column:2,
toString:[
],
toArrays: [
],
toDate: [
]
}
}
}
</script>
<style lang="less">
.labelClass{
width: 200px;
}
.el-descriptions__body{
margin-left: 5px;
margin-right: 5px;
color: #606266;
background-color: #FFF;
}
.contentClass{
width: 600px;
}
</style>
\ No newline at end of file
<template>
<!-- 弹出框表单 -->
<el-dialog :title="title" :visible.sync="open" width="90%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<Field label="产品名称" prop="productName" v-model="form.productName" placeholder="请输入产品名称"/>
<Field label="分类名称" prop="categoryName" v-model="form.categoryName" placeholder="请输入分类名称"/>
<Field label="备注" prop="remark" v-model="form.remark" placeholder="请输入备注"/>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" v-if="pageInfo.type !== 'view'" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</template>
<script>
import form from "@/assets/mixins/formdialog";
import dialogShow from "./dialogshow";
export default {
mixins: [form],
components: {
dialogShow ,
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "产品分类",
// 是否显示弹出层
open: false,
toString:[
],
// 表单校验
rules: {
}
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="product/category/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改产品分类";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "product/category/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增产品分类";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="product/category/view";
this.getData();
this.pageInfo.type="view"
this.title = "产品分类详细";
},
/**取消按钮 */
cancel() {
this.open = false;
},
/**获取数据后弹框 */
afterRender(data) {
this.open = true;
},
afterSubmit(data) {
this.open = false;
this.$emit("ok");
},
// 表单重置
reset() {
this.form = {
productId : null,
categoryId : null,
productName : "",
categoryName : "",
remark : "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
......@@ -4,18 +4,18 @@
</LayoutTable>
<drawer-show ref="drawerform" @ok="getData" />
<dialog-show ref="dialogform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import dialogShow from "./dialogshow";
import table from "@/assets/mixins/table";
export default {
name: "ProductCategoryList",
components: {
drawerShow
dialogShow
},
mixins: [table],
created() {
......@@ -23,15 +23,15 @@
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.drawerform.add(row);
this.$refs.dialogform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.drawerform.edit(row);
this.$refs.dialogform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.drawerform.view(row);
this.$refs.dialogform.view(row);
},
},
......
......@@ -5,12 +5,15 @@
<el-row>
<Field label="产品名称,名称唯一" prop="productName" v-model="form.productName" placeholder="请输入产品名称,名称唯一"/>
<Field label="产品编码" prop="productCode" v-model="form.productCode" type="textarea" placeholder="请输入产品编码"/>
<Field label="产品slogan" prop="productSlogan" v-model="form.productSlogan" placeholder="请输入产品slogan"/>
<Field label="产品图标" prop="productLogoPath" v-model="form.productLogoPath" placeholder="请输入产品图标"/>
<Field label="产品封面图片" prop="productFacePath" v-model="form.productFacePath" placeholder="请输入产品封面图片"/>
<Field label="产品视频,多个视频逗号分割" prop="productVideoPath" v-model="form.productVideoPath" type="textarea" placeholder="请输入产品视频,多个视频逗号分割"/>
<Field label="产品宣传图片,多个视频逗号分割" prop="productPicPath" v-model="form.productPicPath" type="textarea" placeholder="请输入产品宣传图片,多个视频逗号分割"/>
<Field label="产品介绍" prop="productIntroduction" v-model="form.productIntroduction" type="textarea" placeholder="请输入产品介绍"/>
<Field label="产品详情" prop="productDetail" v-model="form.productDetail" type="textarea" placeholder="请输入产品详情"/>
<Field label="发布时间" prop="publishTime" v-model="form.publishTime" type="date" />
<Field label="是否热门" prop="hot" v-model="form.hot" type="select" :enumData="dict.hot" placeholder="请选择是否热门"/>
<Field label="备注" prop="productRemark" v-model="form.productRemark" type="textarea" placeholder="请输入备注"/>
</el-row>
......@@ -89,6 +92,7 @@
// 是否显示弹出层
open: false,
toString:[
"hot",
],
// 表单校验
rules: {
......@@ -96,6 +100,18 @@
{required: true,message: "请输入产品名称,名称唯一", trigger: "blur" },
{max: 20,message: "最多只能录入20个字符",trigger: "blur",},
],
productSlogan: [
{required: true,message: "请输入产品slogan", trigger: "blur" },
{max: 64,message: "最多只能录入64个字符",trigger: "blur",},
],
productLogoPath: [
{required: true,message: "请输入产品图标", trigger: "blur" },
{max: 64,message: "最多只能录入64个字符",trigger: "blur",},
],
productFacePath: [
{required: true,message: "请输入产品封面图片", trigger: "blur" },
{max: 64,message: "最多只能录入64个字符",trigger: "blur",},
],
publishTime: [
{required: true,message: "请选择发布时间" },
],
......@@ -191,12 +207,15 @@
this.form = {
productName : "",
productCode : "",
productSlogan : "",
productLogoPath : "",
productFacePath : "",
productVideoPath : "",
productPicPath : "",
productIntroduction : "",
productDetail : "",
publishTime : null,
hot : 0,
productRemark : "",
};
this.resetForm("form");
......
......@@ -64,12 +64,6 @@
],
config: {
search: [
{
name: "productName",
type: "text",
label: "产品名称,名称唯一",
fuzzy: true
},
],
columns: [
{type: "selection", width: 60},
......@@ -79,8 +73,14 @@
{label: "产品编码", prop: "productCode"},
{label: "产品slogan", prop: "productSlogan"},
{label: "产品图标", prop: "productLogoPath"},
{label: "产品封面图片", prop: "productFacePath"},
{label: "是否热门", prop: "hot",formatter: this.formatter},
{label: "创建用户", prop: "createUserId", formatter: this.formatter},
{label: "产品常见问题",
width: 120,
......
<template>
<!-- 弹出框表单 -->
<el-dialog :title="title" :visible.sync="open" width="90%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<Field label="产品id" prop="productId" v-model="form.productId" placeholder="请输入产品id"/>
<Field label="产品名称" prop="productName" v-model="form.productName" type="textarea" placeholder="请输入产品名称"/>
<Field label="问题" prop="question" v-model="form.question" type="textarea" placeholder="请输入问题"/>
<Field label="常见问题回答" prop="answer" v-model="form.answer" type="textarea" placeholder="请输入常见问题回答"/>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" v-if="pageInfo.type !== 'view'" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</template>
<script>
import form from "@/assets/mixins/formdialog";
import dialogShow from "./dialogshow";
export default {
mixins: [form],
components: {
dialogShow ,
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "产品常见问题",
// 是否显示弹出层
open: false,
toString:[
],
// 表单校验
rules: {
}
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="product/question/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改产品常见问题";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "product/question/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增产品常见问题";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="product/question/view";
this.getData();
this.pageInfo.type="view"
this.title = "产品常见问题详细";
},
/**取消按钮 */
cancel() {
this.open = false;
},
/**获取数据后弹框 */
afterRender(data) {
this.open = true;
},
afterSubmit(data) {
this.open = false;
this.$emit("ok");
},
// 表单重置
reset() {
this.form = {
productId : null,
productName : "",
question : "",
answer : "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
......@@ -4,18 +4,18 @@
</LayoutTable>
<drawer-show ref="drawerform" @ok="getData" />
<dialog-show ref="dialogform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import dialogShow from "./dialogshow";
import table from "@/assets/mixins/table";
export default {
name: "ProductQuestionList",
components: {
drawerShow
dialogShow
},
mixins: [table],
created() {
......@@ -23,15 +23,15 @@
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.drawerform.add(row);
this.$refs.dialogform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.drawerform.edit(row);
this.$refs.dialogform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.drawerform.view(row);
this.$refs.dialogform.view(row);
},
},
......
......@@ -14,9 +14,15 @@
<el-descriptions-item label="产品编码" label-class-name="labelClass" content-class-name="contentClass">
{{form.productCode}}
</el-descriptions-item>
<el-descriptions-item label="产品slogan" label-class-name="labelClass" content-class-name="contentClass">
{{form.productSlogan}}
</el-descriptions-item>
<el-descriptions-item label="产品图标" label-class-name="labelClass" content-class-name="contentClass">
{{form.productLogoPath}}
</el-descriptions-item>
<el-descriptions-item label="产品封面图片" label-class-name="labelClass" content-class-name="contentClass">
{{form.productFacePath}}
</el-descriptions-item>
<el-descriptions-item label="产品视频,多个视频逗号分割" label-class-name="labelClass" content-class-name="contentClass">
{{form.productVideoPath}}
</el-descriptions-item>
......@@ -32,6 +38,9 @@
<el-descriptions-item label="发布时间" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatterDate(form.publishTime)}}
</el-descriptions-item>
<el-descriptions-item label="是否热门" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatters("hot", form.hot) }}
</el-descriptions-item>
<el-descriptions-item label="备注" label-class-name="labelClass" content-class-name="contentClass">
{{form.productRemark}}
</el-descriptions-item>
......@@ -54,6 +63,7 @@
size:"small",
column:2,
toString:[
"hot",
],
toArrays: [
......
<template>
<!-- 弹出框表单 -->
<el-dialog :title="title" :visible.sync="open" width="90%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<Field label="员工姓名" prop="name" v-model="form.name" placeholder="请输入员工姓名"/>
<Field label="性别" prop="gender" v-model="form.gender" type="select" :enumData="dict.gender" placeholder="请选择性别"/>
<Field label="出生日期" prop="birthday" v-model="form.birthday" type="date" />
<Field label="照片" prop="photoPath" v-model="form.photoPath" type="textarea" placeholder="请输入照片"/>
<Field label="邮件地址" prop="Email" v-model="form.Email" placeholder="请输入邮件地址"/>
<Field label="联系电话" prop="phoneNumber" v-model="form.phoneNumber" placeholder="请输入联系电话"/>
<Field label="身份证号码" prop="idCard" v-model="form.idCard" placeholder="请输入身份证号码"/>
<Field label="工号" prop="workNum" v-model="form.workNum" placeholder="请输入工号"/>
<Field label="所属公司" prop="companyIds" v-model="form.companyIds" placeholder="请输入所属公司"/>
<Field label="所属公司名称" prop="companyName" v-model="form.companyName" placeholder="请输入所属公司名称"/>
<Field label="职位ID" prop="positionId" v-model="form.positionId" placeholder="请输入职位ID"/>
<Field label="职位名称" prop="positionName" v-model="form.positionName" placeholder="请输入职位名称"/>
<Field label="员工类型" prop="staffType" v-model="form.staffType" type="select" :enumData="dict.staffType" placeholder="请选择员工类型"/>
<Field label="员工状态" prop="staffStatus" v-model="form.staffStatus" type="select" :enumData="dict.staffStatus" placeholder="请选择员工状态"/>
<Field label="员工来源" prop="source" v-model="form.source" type="select" :enumData="dict.source" placeholder="请选择员工来源"/>
<Field label="入职登记表" prop="registerPath" v-model="form.registerPath" type="textarea" placeholder="请输入入职登记表"/>
<Field label="入职时间" prop="entryDate" v-model="form.entryDate" type="date" />
<Field label="转正时间" prop="regularDate" v-model="form.regularDate" type="date" />
<Field label="离职时间" prop="leaveDate" v-model="form.leaveDate" type="date" />
<Field label="备注" prop="remark" v-model="form.remark" type="textarea" placeholder="请输入备注"/>
<Field label="累计查看次数" prop="sumViews" v-model="form.sumViews" placeholder="请输入累计查看次数"/>
<Field label="当日查看次数" prop="viewsByDay" v-model="form.viewsByDay" placeholder="请输入当日查看次数"/>
<Field label="发送名片次数" prop="sendBusinessCardTimes" v-model="form.sendBusinessCardTimes" placeholder="请输入发送名片次数"/>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" v-if="pageInfo.type !== 'view'" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</template>
<script>
import form from "@/assets/mixins/formdialog";
import dialogShow from "./dialogshow";
export default {
mixins: [form],
components: {
dialogShow ,
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "员工基本信息",
// 是否显示弹出层
open: false,
toString:[
"gender",
"staffType",
"staffStatus",
"source",
],
// 表单校验
rules: {
name: [
{required: true,message: "请输入员工姓名", trigger: "blur" },
{max: 64,message: "最多只能录入64个字符",trigger: "blur",},
],
phoneNumber: [
{required: true,message: "请输入联系电话", trigger: "blur" },
{max: 128,message: "最多只能录入128个字符",trigger: "blur",},
],
companyIds: [
{required: true,message: "请输入所属公司", trigger: "blur" },
{max: 128,message: "最多只能录入128个字符",trigger: "blur",},
],
createTime: [
{required: true,message: "请选择创建时间" },
],
}
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="staff/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改员工基本信息";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "staff/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增员工基本信息";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="staff/view";
this.getData();
this.pageInfo.type="view"
this.title = "员工基本信息详细";
},
/**取消按钮 */
cancel() {
this.open = false;
},
/**获取数据后弹框 */
afterRender(data) {
this.open = true;
},
afterSubmit(data) {
this.open = false;
this.$emit("ok");
},
// 表单重置
reset() {
this.form = {
name : "",
gender : 1,
birthday : null,
photoPath : "",
Email : "",
phoneNumber : "",
idCard : "",
workNum : "",
companyIds : "",
companyName : "",
positionId : null,
positionName : "",
staffType : 1,
staffStatus : 1,
source : 1,
registerPath : "",
entryDate : null,
regularDate : null,
leaveDate : null,
remark : "",
sumViews : 0,
viewsByDay : 0,
sendBusinessCardTimes : 0,
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
......@@ -4,18 +4,18 @@
</LayoutTable>
<drawer-show ref="drawerform" @ok="getData" />
<dialog-show ref="dialogform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import dialogShow from "./dialogshow";
import table from "@/assets/mixins/table";
export default {
name: "StaffList",
components: {
drawerShow
dialogShow
},
mixins: [table],
created() {
......@@ -23,15 +23,15 @@
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.drawerform.add(row);
this.$refs.dialogform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.drawerform.edit(row);
this.$refs.dialogform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.drawerform.view(row);
this.$refs.dialogform.view(row);
},
},
......@@ -39,12 +39,6 @@
return {
config: {
search: [
{
name: "name",
type: "text",
label: "员工姓名",
fuzzy: true
},
],
columns: [
{type: "selection", width: 60},
......@@ -54,6 +48,14 @@
{label: "性别", prop: "gender",formatter: this.formatter},
{label: "照片", prop: "photoPath"},
{label: "邮件地址", prop: "Email"},
{label: "联系电话", prop: "phoneNumber"},
{label: "职位名称", prop: "positionName"},
{label: "员工类型", prop: "staffType",formatter: this.formatter},
{label: "员工状态", prop: "staffStatus",formatter: this.formatter},
......
<template>
<!-- 弹出框表单 -->
<el-dialog :title="title" :visible.sync="open" width="90%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<Field label="被查看员工ID" prop="staffId" v-model="form.staffId" placeholder="请输入被查看员工ID"/>
<Field label="被查看员工姓名" prop="staffName" v-model="form.staffName" placeholder="请输入被查看员工姓名"/>
<Field label="查看人名称" prop="viewName" v-model="form.viewName" placeholder="请输入查看人名称"/>
<Field label="累计查看次数" prop="sumViews" v-model="form.sumViews" placeholder="请输入累计查看次数"/>
<Field label="访问内容"><editor v-model="form.viewContent" :min-height="256"/></Field>
<Field label="备注" prop="remark" v-model="form.remark" type="textarea" placeholder="请输入备注"/>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" v-if="pageInfo.type !== 'view'" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</template>
<script>
import form from "@/assets/mixins/formdialog";
import dialogShow from "./dialogshow";
import Editor from '@/components/Editor';
export default {
mixins: [form],
components: {
dialogShow ,
Editor,
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "客户访问记录信息",
// 是否显示弹出层
open: false,
toString:[
],
// 表单校验
rules: {
staffName: [
{required: true,message: "请输入被查看员工姓名", trigger: "blur" },
{max: 64,message: "最多只能录入64个字符",trigger: "blur",},
],
viewName: [
{required: true,message: "请输入查看人名称", trigger: "blur" },
{max: 64,message: "最多只能录入64个字符",trigger: "blur",},
],
createTime: [
{required: true,message: "请选择创建时间" },
],
}
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="staff/record/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改客户访问记录信息";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "staff/record/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增客户访问记录信息";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="staff/record/view";
this.getData();
this.pageInfo.type="view"
this.title = "客户访问记录信息详细";
},
/**取消按钮 */
cancel() {
this.open = false;
},
/**获取数据后弹框 */
afterRender(data) {
this.open = true;
},
afterSubmit(data) {
this.open = false;
this.$emit("ok");
},
// 表单重置
reset() {
this.form = {
staffId : null,
staffName : "",
viewName : "",
sumViews : 0,
viewContent : "",
remark : "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
......@@ -4,18 +4,18 @@
</LayoutTable>
<drawer-show ref="drawerform" @ok="getData" />
<dialog-show ref="dialogform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import dialogShow from "./dialogshow";
import table from "@/assets/mixins/table";
export default {
name: "StaffRecordList",
components: {
drawerShow
dialogShow
},
mixins: [table],
created() {
......@@ -23,15 +23,15 @@
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.drawerform.add(row);
this.$refs.dialogform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.drawerform.edit(row);
this.$refs.dialogform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.drawerform.view(row);
this.$refs.dialogform.view(row);
},
},
......
<template>
<!-- 弹出框表单 -->
<el-dialog :title="title" :visible.sync="open" width="90%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<Field label="登录名" prop="loginName" v-model="form.loginName" placeholder="请输入登录名"/>
<Field label="登录密码,使用md5双次加密" prop="loginPwd" v-model="form.loginPwd" placeholder="请输入登录密码,使用md5双次加密"/>
<Field label="登录限制地址,多个IP地址用逗号分隔,可以使用IP段匹配,如:172.17.*非空:则只能该值内的IP可以登录" prop="loginLimitAddress" v-model="form.loginLimitAddress" placeholder="请输入登录限制地址,多个IP地址用逗号分隔,可以使用IP段匹配,如:172.17.*非空:则只能该值内的IP可以登录"/>
<Field label="用户名" prop="realName" v-model="form.realName" placeholder="请输入用户名"/>
<Field label="用户手机号" prop="mobile" v-model="form.mobile" placeholder="请输入用户手机号"/>
<Field label="用户联系电话" prop="phone" v-model="form.phone" placeholder="请输入用户联系电话"/>
<Field label="用户邮箱" prop="email" v-model="form.email" placeholder="请输入用户邮箱"/>
<Field label="QQ号码" prop="qq" v-model="form.qq" placeholder="请输入QQ号码"/>
<Field label="用户类型,0:系统用户 1:普通用户 2:工作人员,默认2" prop="userType" v-model="form.userType" type="select" :enumData="dict.userType" placeholder="请选择用户类型,0:系统用户 1:普通用户 2:工作人员,默认2"/>
<Field label="用户状态,0:停用,1:正常,2:冻结,3:销户,4:离职,默认1" prop="status" v-model="form.status" type="select" :enumData="dict.status" placeholder="请选择用户状态,0:停用,1:正常,2:冻结,3:销户,4:离职,默认1"/>
<Field label="客户ID" prop="customerId" v-model="form.customerId" placeholder="请输入客户ID"/>
<Field label="创建用户名称" prop="createUserName" v-model="form.createUserName" placeholder="请输入创建用户名称"/>
<Field label="最后一次登录时间" prop="lastLoginTime" v-model="form.lastLoginTime" type="date" />
<Field label="最后一次登录地址" prop="lastLoginAddress" v-model="form.lastLoginAddress" placeholder="请输入最后一次登录地址"/>
<Field label="用户所属部门id" prop="deptId" v-model="form.deptId" placeholder="请输入用户所属部门id"/>
<Field label="所属部门名称" prop="deptName" v-model="form.deptName" type="textarea" placeholder="请输入所属部门名称"/>
<Field label="所属站点id,多个逗号分隔" prop="siteIds" v-model="form.siteIds" type="textarea" placeholder="请输入所属站点id,多个逗号分隔"/>
<Field label="所属区域code,多个逗号分隔" prop="areaCodes" v-model="form.areaCodes" type="textarea" placeholder="请输入所属区域code,多个逗号分隔"/>
<Field label="员工Id,关联用户员工表" prop="staffId" v-model="form.staffId" placeholder="请输入员工Id,关联用户员工表"/>
<Field label="微信openId" prop="openId" v-model="form.openId" placeholder="请输入微信openId"/>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" v-if="pageInfo.type !== 'view'" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</template>
<script>
import form from "@/assets/mixins/formdialog";
import dialogShow from "./dialogshow";
export default {
mixins: [form],
components: {
dialogShow ,
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "用户信息业务",
// 是否显示弹出层
open: false,
toString:[
"userType",
"status",
],
// 表单校验
rules: {
}
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="user/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改用户信息业务";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "user/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增用户信息业务";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="user/view";
this.getData();
this.pageInfo.type="view"
this.title = "用户信息业务详细";
},
/**取消按钮 */
cancel() {
this.open = false;
},
/**获取数据后弹框 */
afterRender(data) {
this.open = true;
},
afterSubmit(data) {
this.open = false;
this.$emit("ok");
},
// 表单重置
reset() {
this.form = {
loginName : "",
loginPwd : "",
loginLimitAddress : "",
realName : "",
mobile : "",
phone : "",
email : "",
qq : "",
userType : null,
status : 1,
customerId : null,
createUserName : "",
lastLoginTime : null,
lastLoginAddress : "",
deptId : null,
deptName : "",
siteIds : "",
areaCodes : "",
staffId : null,
openId : "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
<template>
<div class="page">
<LayoutTable :data="tableData" :config="tableConfig">
</LayoutTable>
<dialog-show ref="dialogform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import dialogShow from "./dialogshow";
import table from "@/assets/mixins/table";
export default {
name: "UserList",
components: {
dialogShow
},
mixins: [table],
created() {
},
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.dialogform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.dialogform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.dialogform.view(row);
},
},
data() {
return {
config: {
search: [
],
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{label: "用户所属部门id", prop: "deptId", formatter: this.formatter},
{label: "所属部门名称", prop: "deptName"},
{label: "所属站点id,多个逗号分隔", prop: "siteIds"},
{label: "所属区域code,多个逗号分隔", prop: "areaCodes"},
{label: "员工Id,关联用户员工表", prop: "staffId", formatter: this.formatter},
{label: "微信openId", prop: "openId"},
{
label: "操作",
width: 240,
formatter: row => {
return (
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} />
);
}
}
]
}
};
}
};
</script>
\ No newline at end of file
<template>
<layout-view>
<el-descriptions :title="title" :column="column" :size="size" :colon="false" border>
<template slot="title">
<i class="el-icon-tickets"></i>
基本详细信息
</template>
<template slot="extra">
<el-button type="primary" @click="$router.go(-1)" size="small">返回</el-button>
</template>
<el-descriptions-item label="登录名" label-class-name="labelClass" content-class-name="contentClass">
{{form.loginName}}
</el-descriptions-item>
<el-descriptions-item label="登录密码,使用md5双次加密" label-class-name="labelClass" content-class-name="contentClass">
{{form.loginPwd}}
</el-descriptions-item>
<el-descriptions-item label="登录限制地址,多个IP地址用逗号分隔,可以使用IP段匹配,如:172.17.*非空:则只能该值内的IP可以登录" label-class-name="labelClass" content-class-name="contentClass">
{{form.loginLimitAddress}}
</el-descriptions-item>
<el-descriptions-item label="用户名" label-class-name="labelClass" content-class-name="contentClass">
{{form.realName}}
</el-descriptions-item>
<el-descriptions-item label="用户手机号" label-class-name="labelClass" content-class-name="contentClass">
{{form.mobile}}
</el-descriptions-item>
<el-descriptions-item label="用户联系电话" label-class-name="labelClass" content-class-name="contentClass">
{{form.phone}}
</el-descriptions-item>
<el-descriptions-item label="用户邮箱" label-class-name="labelClass" content-class-name="contentClass">
{{form.email}}
</el-descriptions-item>
<el-descriptions-item label="QQ号码" label-class-name="labelClass" content-class-name="contentClass">
{{form.qq}}
</el-descriptions-item>
<el-descriptions-item label="用户类型,0:系统用户 1:普通用户 2:工作人员,默认2" label-class-name="labelClass" content-class-name="contentClass">
{{form.userType}}
</el-descriptions-item>
<el-descriptions-item label="用户状态,0:停用,1:正常,2:冻结,3:销户,4:离职,默认1" label-class-name="labelClass" content-class-name="contentClass">
{{form.status}}
</el-descriptions-item>
<el-descriptions-item label="客户ID" label-class-name="labelClass" content-class-name="contentClass">
{{form.customerId}}
</el-descriptions-item>
<el-descriptions-item label="创建用户名称" label-class-name="labelClass" content-class-name="contentClass">
{{form.createUserName}}
</el-descriptions-item>
<el-descriptions-item label="最后一次登录时间" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatterDate(form.lastLoginTime)}}
</el-descriptions-item>
<el-descriptions-item label="最后一次登录地址" label-class-name="labelClass" content-class-name="contentClass">
{{form.lastLoginAddress}}
</el-descriptions-item>
<el-descriptions-item label="用户所属部门id" label-class-name="labelClass" content-class-name="contentClass">
{{form.deptId}}
</el-descriptions-item>
<el-descriptions-item label="所属部门名称" label-class-name="labelClass" content-class-name="contentClass">
{{form.deptName}}
</el-descriptions-item>
<el-descriptions-item label="所属站点id,多个逗号分隔" label-class-name="labelClass" content-class-name="contentClass">
{{form.siteIds}}
</el-descriptions-item>
<el-descriptions-item label="所属区域code,多个逗号分隔" label-class-name="labelClass" content-class-name="contentClass">
{{form.areaCodes}}
</el-descriptions-item>
<el-descriptions-item label="员工Id,关联用户员工表" label-class-name="labelClass" content-class-name="contentClass">
{{form.staffId}}
</el-descriptions-item>
<el-descriptions-item label="微信openId" label-class-name="labelClass" content-class-name="contentClass">
{{form.openId}}
</el-descriptions-item>
</el-descriptions>
</layout-view>
</template>
<script>
import view from "@/assets/mixins/view";
export default {
mixins: [view],
components: {
},
methods: {
},
data() {
return {
size:"small",
column:2,
toString:[
"userType",
"status",
],
toArrays: [
],
toDate: [
]
}
}
}
</script>
<style lang="less">
.labelClass{
width: 200px;
}
.el-descriptions__body{
margin-left: 5px;
margin-right: 5px;
color: #606266;
background-color: #FFF;
}
.contentClass{
width: 600px;
}
</style>
\ No newline at end of file
package com.mortals.xhx.common.code;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* 是否热门(0.否,1.是)枚举类
*
* @author zxfei
*/
public enum HotEnum {
(0, "否"),
(1, "是");
private Integer value;
private String desc;
HotEnum(Integer value, String desc) {
this.value = value;
this.desc = desc;
}
public Integer getValue() {
return this.value;
}
public String getDesc() {
return this.desc;
}
public static HotEnum getByValue(Integer value) {
for (HotEnum hotEnum : HotEnum.values()) {
if (hotEnum.getValue() == value) {
return hotEnum;
}
}
return null;
}
/**
* 获取Map集合
*
* @param eItem 不包含项
* @return
*/
public static Map<String, String> getEnumMap(Integer... eItem) {
Map<String, String> resultMap = new LinkedHashMap<>();
for (HotEnum item : HotEnum.values()) {
try {
boolean hasE = false;
for (Integer e : eItem) {
if (item.getValue() == e) {
hasE = true;
break;
}
}
if (!hasE) {
resultMap.put(item.getValue() + "", item.getDesc());
}
} catch (Exception ex) {
}
}
return resultMap;
}
}
\ No newline at end of file
package com.mortals.xhx.module.area.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.module.area.model.AreaEntity;
import java.util.List;
/**
* 区域Dao
* 区域 DAO接口
*
* @author zxfei
* @date 2022-01-12
*/
public interface AreaDao extends ICRUDDao<AreaEntity,Long>{
/**
* 查询子节点
*
* @param
* @return
*/
List<AreaEntity> selectChildrenAreaById(String areaId);
}
package com.mortals.xhx.module.area.dao.ibatis;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import com.mortals.xhx.module.area.dao.AreaDao;
import com.mortals.xhx.module.area.model.AreaEntity;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* 区域DaoImpl DAO接口
*
* @author zxfei
* @date 2022-01-12
*/
@Repository("areaDao")
public class AreaDaoImpl extends BaseCRUDDaoMybatis<AreaEntity,Long> implements AreaDao {
@Override
public List<AreaEntity> selectChildrenAreaById(String areaId) {
return getSqlSession().selectList(getSqlId("selectChildrenAreaById"), areaId);
}
}
package com.mortals.xhx.module.base.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.module.base.model.BaseAreaEntity;
/**
* 区域Dao
* 区域 DAO接口
*
* @author zxfei
* @date 2022-11-22
*/
public interface BaseAreaDao extends ICRUDDao<BaseAreaEntity,Long>{
}
package com.mortals.xhx.module.base.dao.ibatis;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import com.mortals.xhx.module.base.dao.BaseAreaDao;
import com.mortals.xhx.module.base.model.BaseAreaEntity;
import org.springframework.stereotype.Repository;
/**
* 区域DaoImpl DAO接口
*
* @author zxfei
* @date 2022-11-22
*/
@Repository("baseAreaDao")
public class BaseAreaDaoImpl extends BaseCRUDDaoMybatis<BaseAreaEntity,Long> implements BaseAreaDao {
}
package com.mortals.xhx.module.base.model.vo;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.base.model.BaseAreaEntity;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* 区域视图对象
*
* @author zxfei
* @date 2022-11-22
*/
@Data
public class BaseAreaVo extends BaseEntityLong {
private List<BaseAreaEntity> children = new ArrayList<>();
}
\ No newline at end of file
......@@ -8,7 +8,7 @@ import java.util.List;
* 分类 DAO接口
*
* @author zxfei
* @date 2023-09-11
* @date 2023-09-18
*/
public interface CategoryDao extends ICRUDDao<CategoryEntity,Long>{
......
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