Commit 4687c5f7 authored by 王晓旭's avatar 王晓旭
parents 7c3f3634 c2c0c8fd
......@@ -96,8 +96,9 @@ DROP TABLE IF EXISTS `mortals_xhx_company_labels`;
CREATE TABLE mortals_xhx_company_labels(
`id` bigint(20) AUTO_INCREMENT COMMENT '主键ID,主键,自增长',
`labelId` bigint(20) NOT NULL COMMENT '标签Id',
`labelName` varchar(64) COMMENT '公司名称',
`companyId` bigint(20) NOT NULL COMMENT '公司Id',
`labelName` varchar(64) COMMENT '标签名称',
`companyName` varchar(64) COMMENT '公司名称',
`remark` varchar(64) COMMENT '备注',
`createUserId` bigint(20) NOT NULL COMMENT '创建用户',
`createTime` datetime NOT NULL COMMENT '创建时间',
......@@ -105,6 +106,7 @@ CREATE TABLE mortals_xhx_company_labels(
`updateTime` datetime COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='公司标注';
-- ----------------------------
-- 公司专利表
-- ----------------------------
......@@ -119,8 +121,10 @@ CREATE TABLE mortals_xhx_company_patent(
`createTime` datetime NOT NULL COMMENT '创建时间',
`updateUserId` bigint(20) COMMENT '更新用户',
`updateTime` datetime COMMENT '更新时间',
`companyName` varchar(64) COMMENT '公司名称',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='公司专利';
-- ----------------------------
-- 分类表
-- ----------------------------
......@@ -356,3 +360,22 @@ CREATE TABLE mortals_xhx_feedback(
`updateTime` datetime COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='反馈信息';
-- ----------------------------
-- 公司产品表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_xhx_company_product`;
CREATE TABLE mortals_xhx_company_product(
`id` bigint(20) AUTO_INCREMENT COMMENT '主键ID,主键,自增长',
`companyId` bigint(20) NOT NULL COMMENT '公司Id',
`companyName` varchar(64) COMMENT '公司名称',
`productId` bigint(20) NOT NULL COMMENT '产品Id',
`productName` varchar(64) COMMENT '产品名称',
`remark` varchar(64) COMMENT '备注',
`createUserId` bigint(20) NOT NULL COMMENT '创建用户',
`createTime` datetime NOT NULL COMMENT '创建时间',
`updateUserId` bigint(20) COMMENT '更新用户',
`updateTime` datetime COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='公司产品';
......@@ -109,7 +109,6 @@ function getComponent(fileName) {
try {
return require('./views/' + fileName).default
} catch (error) {
console.log("error:",error)
return fileNotFound;
}
}
......
......@@ -4,18 +4,18 @@
</LayoutTable>
<dialog-show ref="dialogform" @ok="getData" />
<drawer-show ref="drawerform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import dialogShow from "./dialogshow";
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
name: "CategoryList",
components: {
dialogShow
drawerShow
},
mixins: [table],
created() {
......@@ -23,15 +23,15 @@
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.dialogform.add(row);
this.$refs.drawerform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.dialogform.edit(row);
this.$refs.drawerform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.dialogform.view(row);
this.$refs.drawerform.view(row);
},
},
......
......@@ -5,7 +5,7 @@
:visible.sync="open"
:direction="direction"
:destroy-on-close="true"
size="50%">
size="70%">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<Field label="公司名称" prop="companyName" v-model="form.companyName" placeholder="请输入公司名称"/>
......@@ -17,6 +17,8 @@
<Field label="经营范围" prop="businessScope" v-model="form.businessScope" placeholder="请输入经营范围"/>
<Field label="经营地址" prop="businessAdress" v-model="form.businessAdress" placeholder="请输入经营地址"/>
<Field label="所在地" prop="location" v-model="form.location" placeholder="请输入所在地"/>
<Field label="所属区域编码" prop="areaCode" v-model="form.areaCode" placeholder="请输入所属区域编码"/>
<Field label="所属区域名称" prop="areaName" v-model="form.areaName" placeholder="请输入所属区域名称"/>
<Field label="联系电话" prop="contactPhone" v-model="form.contactPhone" placeholder="请输入联系电话"/>
<Field label="电子邮件地址" prop="email" v-model="form.email" placeholder="请输入电子邮件地址"/>
<Field label="公司网站" prop="website" v-model="form.website" placeholder="请输入公司网站"/>
......@@ -30,9 +32,9 @@
<Field label="历史发展" prop="hisDevelop" v-model="form.hisDevelop" type="textarea" placeholder="请输入历史发展"/>
<Field label="经度" prop="lon" v-model="form.lon" placeholder="请输入经度"/>
<Field label="纬度" prop="lati" v-model="form.lati" placeholder="请输入纬度"/>
<Field label="企业logo" prop="logoPath" v-model="form.logoPath" placeholder="请输入企业logo"/>
<Field label="企业视频" prop="companyVideoPath" v-model="form.companyVideoPath" type="textarea" placeholder="请输入企业视频"/>
<Field label="企业宣传图片" prop="companyPicPath" v-model="form.companyPicPath" type="textarea" placeholder="请输入企业宣传图片"/>
<Field label="企业logo"><imageUpload v-model="form.logoPath" prePath="/file/preview"/></Field>
<Field label="企业视频"><fileUpload v-model="form.companyVideoPath" :fileType="[ 'mp4', 'avi']" prePath="/file/fileupload"/></Field>
<Field label="企业宣传图片"><fileUpload v-model="form.companyPicPath" :fileType="['png', 'jpg', 'jpeg']" prePath="/file/preview"/></Field>
<Field label="公司介绍" prop="companyIntroduction" v-model="form.companyIntroduction" type="textarea" placeholder="请输入公司介绍"/>
<Field label="公司文化" prop="companyCulture" v-model="form.companyCulture" type="textarea" placeholder="请输入公司文化"/>
<Field label="排序" prop="sort" v-model="form.sort" placeholder="请输入排序"/>
......@@ -59,9 +61,14 @@
<el-input v-model="scope.row.labelId" placeholder="请输入标签Id" />
</template>
</el-table-column>
<el-table-column label="标签名称" prop="labelName">
<el-table-column label="公司名称" prop="labelName">
<template slot-scope="scope">
<el-input v-model="scope.row.labelName" placeholder="请输入标签名称" />
<el-input v-model="scope.row.labelName" placeholder="请输入公司名称" />
</template>
</el-table-column>
<el-table-column label="公司名称" prop="companyName">
<template slot-scope="scope">
<el-input v-model="scope.row.companyName" placeholder="请输入公司名称" />
</template>
</el-table-column>
<el-table-column label="备注" prop="remark">
......@@ -135,6 +142,30 @@
{required: true,message: "请输入公司名称", trigger: "blur" },
{max: 128,message: "最多只能录入128个字符",trigger: "blur",},
],
areaCode: [
{required: true,message: "请输入所属区域编码", trigger: "blur" },
{max: 128,message: "最多只能录入128个字符",trigger: "blur",},
],
areaName: [
{required: true,message: "请输入所属区域名称", trigger: "blur" },
{max: 128,message: "最多只能录入128个字符",trigger: "blur",},
],
contactPhone: [
{required: true,message: "请输入联系电话", trigger: "blur" },
{max: 32,message: "最多只能录入32个字符",trigger: "blur",},
],
lon: [
{required: true,message: "请输入经度", trigger: "blur" },
{max: 32,message: "最多只能录入32个字符",trigger: "blur",},
],
lati: [
{required: true,message: "请输入纬度", trigger: "blur" },
{max: 32,message: "最多只能录入32个字符",trigger: "blur",},
],
logoPath: [
{required: true,message: "请输入企业logo", trigger: "blur" },
{max: 128,message: "最多只能录入128个字符",trigger: "blur",},
],
establishDate: [
{required: true,message: "请选择成立日期" },
],
......@@ -155,6 +186,7 @@
let obj = {};
obj.labelId = "";
obj.labelName = "";
obj.companyName = "";
obj.remark = "";
obj.createUserId = "";
obj.createTime = "";
......@@ -238,6 +270,8 @@
businessScope : "",
businessAdress : "",
location : "",
areaCode : "",
areaName : "",
contactPhone : "",
email : "",
website : "",
......
<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 label="标签Id" prop="labelId" v-model="form.labelId" placeholder="请输入标签Id"/>
<Field label="公司名称" prop="labelName" v-model="form.labelName" placeholder="请输入公司名称"/>
<Field label="公司Id" prop="companyId" v-model="form.companyId" placeholder="请输入公司Id"/>
<Field label="公司名称" prop="companyName" v-model="form.companyName" placeholder="请输入公司名称"/>
<Field label="备注" prop="remark" v-model="form.remark" 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: "CompanyLabelsDetail",
mixins: [form],
components: {
},
created() {
this.changePath("company/labels")
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "公司标注",
// 是否显示弹出层
open: false,
direction:"rtl",
toString:[
],
toDate:[
],
// 表单校验
rules: {
createTime: [
{required: true,message: "请选择创建时间" },
],
}
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="company/labels/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改公司标注";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "company/labels/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增公司标注";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="company/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 = {
labelId : null,
labelName : "",
companyId : null,
companyName : "",
remark : "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
......@@ -4,18 +4,18 @@
</LayoutTable>
<dialog-show ref="dialogform" @ok="getData" />
<drawer-show ref="drawerform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import dialogShow from "./dialogshow";
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
name: "CompanyLabelsList",
components: {
dialogShow
drawerShow
},
mixins: [table],
created() {
......@@ -23,15 +23,15 @@
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.dialogform.add(row);
this.$refs.drawerform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.dialogform.edit(row);
this.$refs.drawerform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.dialogform.view(row);
this.$refs.drawerform.view(row);
},
},
......@@ -46,9 +46,11 @@
{label: "标签Id", prop: "labelId", formatter: this.formatter},
{label: "公司名称", prop: "labelName"},
{label: "公司Id", prop: "companyId", formatter: this.formatter},
{label: "标签名称", prop: "labelName"},
{label: "公司名称", prop: "companyName"},
{label: "创建用户", prop: "createUserId", formatter: this.formatter},
{
......
......@@ -11,11 +11,14 @@
<el-descriptions-item label="标签Id" label-class-name="labelClass" content-class-name="contentClass">
{{form.labelId}}
</el-descriptions-item>
<el-descriptions-item label="公司名称" label-class-name="labelClass" content-class-name="contentClass">
{{form.labelName}}
</el-descriptions-item>
<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.labelName}}
<el-descriptions-item label="公司名称" label-class-name="labelClass" content-class-name="contentClass">
{{form.companyName}}
</el-descriptions-item>
<el-descriptions-item label="备注" label-class-name="labelClass" content-class-name="contentClass">
{{form.remark}}
......
......@@ -4,18 +4,18 @@
</LayoutTable>
<dialog-show ref="dialogform" @ok="getData" />
<drawer-show ref="drawerform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import dialogShow from "./dialogshow";
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
name: "CompanyList",
components: {
dialogShow
drawerShow
},
mixins: [table],
created() {
......@@ -41,15 +41,15 @@
},
/** 重写新增方法 */
toAdd(row) {
this.$refs.dialogform.add(row);
this.$refs.drawerform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.dialogform.edit(row);
this.$refs.drawerform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.dialogform.view(row);
this.$refs.drawerform.view(row);
},
},
......@@ -58,8 +58,9 @@
/** 子表列元素 */
columnSet:[
{label: "标签Id", prop: "labelId", formatter: this.formatter},
{label: "公司名称", prop: "labelName"},
{label: "公司Id", prop: "companyId", formatter: this.formatter},
{label: "标签名称", prop: "labelName"},
{label: "公司名称", prop: "companyName"},
{label: "备注", prop: "remark"},
],
config: {
......
<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 label="公司Id" prop="companyId" v-model="form.companyId" placeholder="请输入公司Id"/>
<Field label="公司名称" prop="companyName" v-model="form.companyName" placeholder="请输入公司名称"/>
<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>
<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: "CompanyPatentDetail",
mixins: [form],
components: {
},
created() {
this.changePath("company/patent")
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "公司专利",
// 是否显示弹出层
open: false,
direction:"rtl",
toString:[
],
toDate:[
],
// 表单校验
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,
companyName : "",
intellectPropertyType : "",
intellectPropertyNum : null,
remark : "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
......@@ -4,18 +4,18 @@
</LayoutTable>
<dialog-show ref="dialogform" @ok="getData" />
<drawer-show ref="drawerform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import dialogShow from "./dialogshow";
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
name: "CompanyPatentList",
components: {
dialogShow
drawerShow
},
mixins: [table],
created() {
......@@ -23,15 +23,15 @@
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.dialogform.add(row);
this.$refs.drawerform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.dialogform.edit(row);
this.$refs.drawerform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.dialogform.view(row);
this.$refs.drawerform.view(row);
},
},
......@@ -46,6 +46,8 @@
{label: "公司Id", prop: "companyId", formatter: this.formatter},
{label: "公司名称", prop: "companyName"},
{label: "知识产权类型", prop: "intellectPropertyType"},
{label: "知识产权数量", prop: "intellectPropertyNum",formatter: this.formatter},
......
......@@ -11,6 +11,9 @@
<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.companyName}}
</el-descriptions-item>
<el-descriptions-item label="知识产权类型" label-class-name="labelClass" content-class-name="contentClass">
{{form.intellectPropertyType}}
</el-descriptions-item>
......
<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 label="公司Id" prop="companyId" v-model="form.companyId" placeholder="请输入公司Id"/>
<Field label="公司名称" prop="companyName" v-model="form.companyName" placeholder="请输入公司名称"/>
<Field label="产品Id" prop="productId" v-model="form.productId" placeholder="请输入产品Id"/>
<Field label="产品名称" prop="productName" v-model="form.productName" placeholder="请输入产品名称"/>
<Field label="备注" prop="remark" v-model="form.remark" 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: "CompanyProductDetail",
mixins: [form],
components: {
},
created() {
this.changePath("company/product")
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "公司产品",
// 是否显示弹出层
open: false,
direction:"rtl",
toString:[
],
toDate:[
],
// 表单校验
rules: {
createTime: [
{required: true,message: "请选择创建时间" },
],
}
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="company/product/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改公司产品";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "company/product/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增公司产品";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="company/product/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,
companyName : "",
productId : null,
productName : "",
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>
<drawer-show ref="drawerform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
name: "CompanyProductList",
components: {
drawerShow
},
mixins: [table],
created() {
},
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.drawerform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.drawerform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.drawerform.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: "companyName"},
{label: "产品Id", prop: "productId", formatter: this.formatter},
{label: "产品名称", prop: "productName"},
{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.companyName}}
</el-descriptions-item>
<el-descriptions-item label="产品Id" label-class-name="labelClass" content-class-name="contentClass">
{{form.productId}}
</el-descriptions-item>
<el-descriptions-item label="产品名称" label-class-name="labelClass" content-class-name="contentClass">
{{form.productName}}
</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
......@@ -81,13 +81,13 @@
{{form.lati}}
</el-descriptions-item>
<el-descriptions-item label="企业logo" label-class-name="labelClass" content-class-name="contentClass">
{{form.logoPath}}
<imageUpload v-model="form.logoPath" prePath="/file/preview"/>
</el-descriptions-item>
<el-descriptions-item label="企业视频" label-class-name="labelClass" content-class-name="contentClass">
{{form.companyVideoPath}}
<fileUpload v-model="form.companyVideoPath" prePath="/file/fileupload"/>
</el-descriptions-item>
<el-descriptions-item label="企业宣传图片" label-class-name="labelClass" content-class-name="contentClass">
{{form.companyPicPath}}
<imageUpload v-model="form.companyPicPath" prePath="/file/preview"/>
</el-descriptions-item>
<el-descriptions-item label="公司介绍" label-class-name="labelClass" content-class-name="contentClass">
{{form.companyIntroduction}}
......@@ -111,9 +111,13 @@
<script>
import view from "@/assets/mixins/view";
import ImageUpload from '@/components/ImageUpload';
import FileUpload from '@/components/FileUpload';
export default {
mixins: [view],
components: {
ImageUpload,
FileUpload,
},
methods: {
......
......@@ -4,18 +4,18 @@
</LayoutTable>
<dialog-show ref="dialogform" @ok="getData" />
<drawer-show ref="drawerform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import dialogShow from "./dialogshow";
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
name: "FeedbackList",
components: {
dialogShow
drawerShow
},
mixins: [table],
created() {
......@@ -23,15 +23,15 @@
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.dialogform.add(row);
this.$refs.drawerform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.dialogform.edit(row);
this.$refs.drawerform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.dialogform.view(row);
this.$refs.drawerform.view(row);
},
},
......
......@@ -10,7 +10,7 @@
<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="标签图标"><imageUpload v-model="form.labelLogoPath" prePath="/file/preview"/></Field>
<Field label="排序" prop="sort" v-model="form.sort" placeholder="请输入排序"/>
<Field label="备注" prop="remark" v-model="form.remark" placeholder="请输入备注"/>
......
......@@ -4,18 +4,18 @@
</LayoutTable>
<dialog-show ref="dialogform" @ok="getData" />
<drawer-show ref="drawerform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import dialogShow from "./dialogshow";
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
name: "LabelsList",
components: {
dialogShow
drawerShow
},
mixins: [table],
created() {
......@@ -23,15 +23,15 @@
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.dialogform.add(row);
this.$refs.drawerform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.dialogform.edit(row);
this.$refs.drawerform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.dialogform.view(row);
this.$refs.drawerform.view(row);
},
},
......
......@@ -15,7 +15,7 @@
{{form.labelDesc}}
</el-descriptions-item>
<el-descriptions-item label="标签图标" label-class-name="labelClass" content-class-name="contentClass">
{{form.labelLogoPath}}
<imageUpload v-model="form.labelLogoPath" prePath="/file/preview"/>
</el-descriptions-item>
<el-descriptions-item label="排序" label-class-name="labelClass" content-class-name="contentClass">
{{form.sort}}
......@@ -30,9 +30,11 @@
<script>
import view from "@/assets/mixins/view";
import ImageUpload from '@/components/ImageUpload';
export default {
mixins: [view],
components: {
ImageUpload,
},
methods: {
......
......@@ -8,7 +8,7 @@
size="50%">
<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="name" v-model="form.name" placeholder="请输入频道名称"/>
<Field label="备注" prop="remark" v-model="form.remark" placeholder="请输入备注"/>
</el-row>
......
......@@ -4,18 +4,18 @@
</LayoutTable>
<dialog-show ref="dialogform" @ok="getData" />
<drawer-show ref="drawerform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import dialogShow from "./dialogshow";
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
name: "NewsCategoryList",
components: {
dialogShow
drawerShow
},
mixins: [table],
created() {
......@@ -23,15 +23,15 @@
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.dialogform.add(row);
this.$refs.drawerform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.dialogform.edit(row);
this.$refs.drawerform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.dialogform.view(row);
this.$refs.drawerform.view(row);
},
},
......
......@@ -11,7 +11,7 @@
<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="标题logo"><imageUpload v-model="form.titleLogoPath" prePath="/file/preview"/></Field>
<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="请选择浏览次数"/>
......
......@@ -4,18 +4,18 @@
</LayoutTable>
<dialog-show ref="dialogform" @ok="getData" />
<drawer-show ref="drawerform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import dialogShow from "./dialogshow";
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
name: "NewsList",
components: {
dialogShow
drawerShow
},
mixins: [table],
created() {
......@@ -23,15 +23,15 @@
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.dialogform.add(row);
this.$refs.drawerform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.dialogform.edit(row);
this.$refs.drawerform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.dialogform.view(row);
this.$refs.drawerform.view(row);
},
},
......
<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 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>
<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: "NewsRecordDetail",
mixins: [form],
components: {
},
created() {
this.changePath("news/record")
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "新闻访问记录信息",
// 是否显示弹出层
open: false,
direction:"rtl",
toString:[
],
toDate:[
"viewTime",
],
// 表单校验
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>
......@@ -4,18 +4,18 @@
</LayoutTable>
<dialog-show ref="dialogform" @ok="getData" />
<drawer-show ref="drawerform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import dialogShow from "./dialogshow";
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
name: "NewsRecordList",
components: {
dialogShow
drawerShow
},
mixins: [table],
created() {
......@@ -23,15 +23,15 @@
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.dialogform.add(row);
this.$refs.drawerform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.dialogform.edit(row);
this.$refs.drawerform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.dialogform.view(row);
this.$refs.drawerform.view(row);
},
},
......
<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 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>
<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: "NewsShareDetail",
mixins: [form],
components: {
},
created() {
this.changePath("news/share")
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "新闻分享记录信息",
// 是否显示弹出层
open: false,
direction:"rtl",
toString:[
],
toDate:[
"shareTime",
],
// 表单校验
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>
......@@ -4,18 +4,18 @@
</LayoutTable>
<dialog-show ref="dialogform" @ok="getData" />
<drawer-show ref="drawerform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import dialogShow from "./dialogshow";
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
name: "NewsShareList",
components: {
dialogShow
drawerShow
},
mixins: [table],
created() {
......@@ -23,15 +23,15 @@
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.dialogform.add(row);
this.$refs.drawerform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.dialogform.edit(row);
this.$refs.drawerform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.dialogform.view(row);
this.$refs.drawerform.view(row);
},
},
......
......@@ -18,7 +18,7 @@
{{form.title}}
</el-descriptions-item>
<el-descriptions-item label="标题logo" label-class-name="labelClass" content-class-name="contentClass">
{{form.titleLogoPath}}
<imageUpload v-model="form.titleLogoPath" prePath="/file/preview"/>
</el-descriptions-item>
<el-descriptions-item label="内容" label-class-name="labelClass" content-class-name="contentClass">
<editor v-model="form.content" :min-height="256"/>
......@@ -39,10 +39,12 @@
<script>
import view from "@/assets/mixins/view";
import ImageUpload from '@/components/ImageUpload';
import Editor from '@/components/Editor';
export default {
mixins: [view],
components: {
ImageUpload,
Editor,
},
methods: {
......
<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 label="分组id" prop="groupId" v-model="form.groupId" placeholder="请输入分组id"/>
<Field label="分组名称" prop="groupName" v-model="form.groupName" placeholder="请输入分组名称"/>
<Field label="职位编码" prop="positionCode" v-model="form.positionCode" placeholder="请输入职位编码"/>
<Field label="职位名称" prop="positionName" v-model="form.positionName" placeholder="请输入职位名称"/>
<Field label="节点类型" prop="type" v-model="form.type" type="select" :enumData="dict.type" placeholder="请选择节点类型"/>
<Field label="备注" prop="remark" v-model="form.remark" type="textarea" 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: "PositionDetail",
mixins: [form],
components: {
},
created() {
this.changePath("position")
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "职位信息",
// 是否显示弹出层
open: false,
direction:"rtl",
toString:[
"type",
],
toDate:[
],
// 表单校验
rules: {
}
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="position/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改职位信息";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "position/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增职位信息";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="position/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 = {
groupId : null,
groupName : "",
positionCode : "",
positionName : "",
type : 1,
remark : "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
......@@ -4,18 +4,18 @@
</LayoutTable>
<dialog-show ref="dialogform" @ok="getData" />
<drawer-show ref="drawerform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import dialogShow from "./dialogshow";
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
name: "PositionList",
components: {
dialogShow
drawerShow
},
mixins: [table],
created() {
......@@ -23,15 +23,15 @@
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.dialogform.add(row);
this.$refs.drawerform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.dialogform.edit(row);
this.$refs.drawerform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.dialogform.view(row);
this.$refs.drawerform.view(row);
},
},
......
......@@ -4,18 +4,18 @@
</LayoutTable>
<dialog-show ref="dialogform" @ok="getData" />
<drawer-show ref="drawerform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import dialogShow from "./dialogshow";
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
name: "ProductCategoryList",
components: {
dialogShow
drawerShow
},
mixins: [table],
created() {
......@@ -23,15 +23,15 @@
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.dialogform.add(row);
this.$refs.drawerform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.dialogform.edit(row);
this.$refs.drawerform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.dialogform.view(row);
this.$refs.drawerform.view(row);
},
},
......
This diff is collapsed.
......@@ -4,18 +4,18 @@
</LayoutTable>
<dialog-show ref="dialogform" @ok="getData" />
<drawer-show ref="drawerform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import dialogShow from "./dialogshow";
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
name: "ProductList",
components: {
dialogShow
drawerShow
},
mixins: [table],
created() {
......@@ -41,15 +41,15 @@
},
/** 重写新增方法 */
toAdd(row) {
this.$refs.dialogform.add(row);
this.$refs.drawerform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.dialogform.edit(row);
this.$refs.drawerform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.dialogform.view(row);
this.$refs.drawerform.view(row);
},
},
......
......@@ -4,18 +4,18 @@
</LayoutTable>
<dialog-show ref="dialogform" @ok="getData" />
<drawer-show ref="drawerform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import dialogShow from "./dialogshow";
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
name: "ProductQuestionList",
components: {
dialogShow
drawerShow
},
mixins: [table],
created() {
......@@ -23,15 +23,15 @@
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.dialogform.add(row);
this.$refs.drawerform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.dialogform.edit(row);
this.$refs.drawerform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.dialogform.view(row);
this.$refs.drawerform.view(row);
},
},
......
......@@ -18,16 +18,16 @@
{{form.productSlogan}}
</el-descriptions-item>
<el-descriptions-item label="产品图标" label-class-name="labelClass" content-class-name="contentClass">
{{form.productLogoPath}}
<imageUpload v-model="form.productLogoPath" prePath="/file/preview"/>
</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}}
<fileUpload v-model="form.productVideoPath" prePath="/file/fileupload"/>
</el-descriptions-item>
<el-descriptions-item label="产品宣传图片,多个视频逗号分割" label-class-name="labelClass" content-class-name="contentClass">
{{form.productPicPath}}
<imageUpload v-model="form.productPicPath" prePath="/file/preview"/>
</el-descriptions-item>
<el-descriptions-item label="产品介绍" label-class-name="labelClass" content-class-name="contentClass">
{{form.productIntroduction}}
......@@ -51,9 +51,13 @@
<script>
import view from "@/assets/mixins/view";
import ImageUpload from '@/components/ImageUpload';
import FileUpload from '@/components/FileUpload';
export default {
mixins: [view],
components: {
ImageUpload,
FileUpload,
},
methods: {
......
......@@ -78,6 +78,14 @@
{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: "请选择创建时间" },
],
......
......@@ -4,18 +4,18 @@
</LayoutTable>
<dialog-show ref="dialogform" @ok="getData" />
<drawer-show ref="drawerform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import dialogShow from "./dialogshow";
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
name: "StaffList",
components: {
dialogShow
drawerShow
},
mixins: [table],
created() {
......@@ -23,15 +23,15 @@
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.dialogform.add(row);
this.$refs.drawerform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.dialogform.edit(row);
this.$refs.drawerform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.dialogform.view(row);
this.$refs.drawerform.view(row);
},
},
......
......@@ -4,18 +4,18 @@
</LayoutTable>
<dialog-show ref="dialogform" @ok="getData" />
<drawer-show ref="drawerform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import dialogShow from "./dialogshow";
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
name: "StaffRecordList",
components: {
dialogShow
drawerShow
},
mixins: [table],
created() {
......@@ -23,15 +23,15 @@
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.dialogform.add(row);
this.$refs.drawerform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.dialogform.edit(row);
this.$refs.drawerform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.dialogform.view(row);
this.$refs.drawerform.view(row);
},
},
......
This diff is collapsed.
/**
* 文件:AreaDao.java<br/>
* 版本:1.0.0<br/>
* 日期:2019-03-14<br/>
* Copyright &reg; www.sccoopskj.com<br/>
* All right reserved.
*/
package com.mortals.xhx.base.system.area.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.base.system.area.model.AreaEntity;
/**
* Title: 区域信息 <br/>
* Description: AreaDao DAO接口 <br/>
* Copyright: Copyright &reg; www.sccoopskj.com <br/>
* Company: www.sccoopskj.com
*
* @author
* @version 1.0.0
*/
public interface AreaDao extends ICRUDDao<AreaEntity,Long>{
}
\ No newline at end of file
/**
* 文件:AreaDaoImpl.java<br/>
* 版本:1.0.0<br/>
* 日期:2019-03-14<br/>
* Copyright &reg; www.sccoopskj.com<br/>
* All right reserved.
*/
package com.mortals.xhx.base.system.area.dao.ibatis;
import org.springframework.stereotype.Repository;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import com.mortals.xhx.base.system.area.dao.AreaDao;
import com.mortals.xhx.base.system.area.model.AreaEntity;
/**
* Title: 区域信息 <br/>
* Description: AreaDaoImpl DAO接口 <br/>
* Copyright: Copyright &reg; www.sccoopskj.com <br/>
* Company: www.sccoopskj.com
*
* @author
* @version 1.0.0
*/
@Repository("areaDao")
public class AreaDaoImpl extends BaseCRUDDaoMybatis<AreaEntity,Long> implements AreaDao {
}
\ No newline at end of file
/**
* 文件:AreaEntity.java
* 版本:1.0.0
* 日期:
* Copyright &reg;
* All right reserved.
*/
package com.mortals.xhx.base.system.area.model;
import java.util.Date;
import com.mortals.framework.model.BaseEntityLong;
/**
* <p>Title: 区域信息</p>
* <p>Description: AreaEntity </p>
* <p>Copyright: Copyright &reg; </p>
* <p>Company: </p>
* @author
* @version 1.0.0
*/
public class AreaEntity extends BaseEntityLong{
private static final long serialVersionUID = 1556594630661L;
/** 上级区域ID */
private Long parentId;
/** 区域名称 */
private String name;
/** 区域级别,按所处树的节点层次 */
private Integer level;
/** 区域编码,按全国省市编码 */
private String code;
/** 区域负责人 */
private String contactsPeople;
/** 区域负责人电话 */
private String contactsMobile;
/** 子区域数量,默认0 */
private Integer childSize;
/** 子区域的最大ID,默认0 */
private Integer maxChildId;
/** 状态,0停用,1启用,默认1 */
private Integer status;
/** 描述 */
private String remark;
/** 创建时间 */
private Date createTime;
/** 更新时间 */
private Date updateTime;
/** 创建用户ID */
private Long createUserId;
/** 创建用户名称 */
private String createUserName;
public AreaEntity(){
}
/**
* 获取 上级区域ID
* @return parentId
*/
public Long getParentId(){
return this.parentId;
}
/**
* 设置 上级区域ID
* @param parentId
*/
public void setParentId(Long parentId){
this.parentId = parentId;
}
/**
* 获取 区域名称
* @return name
*/
public String getName(){
return this.name;
}
/**
* 设置 区域名称
* @param name
*/
public void setName(String name){
this.name = name;
}
/**
* 获取 区域级别,按所处树的节点层次
* @return level
*/
public Integer getLevel(){
return this.level;
}
/**
* 设置 区域级别,按所处树的节点层次
* @param level
*/
public void setLevel(Integer level){
this.level = level;
}
/**
* 获取 区域编码,按全国省市编码
* @return code
*/
public String getCode(){
return this.code;
}
/**
* 设置 区域编码,按全国省市编码
* @param code
*/
public void setCode(String code){
this.code = code;
}
/**
* 获取 区域负责人
* @return contactsPeople
*/
public String getContactsPeople(){
return this.contactsPeople;
}
/**
* 设置 区域负责人
* @param contactsPeople
*/
public void setContactsPeople(String contactsPeople){
this.contactsPeople = contactsPeople;
}
/**
* 获取 区域负责人电话
* @return contactsMobile
*/
public String getContactsMobile(){
return this.contactsMobile;
}
/**
* 设置 区域负责人电话
* @param contactsMobile
*/
public void setContactsMobile(String contactsMobile){
this.contactsMobile = contactsMobile;
}
/**
* 获取 子区域数量,默认0
* @return childSize
*/
public Integer getChildSize(){
return this.childSize;
}
/**
* 设置 子区域数量,默认0
* @param childSize
*/
public void setChildSize(Integer childSize){
this.childSize = childSize;
}
/**
* 获取 子区域的最大ID,默认0
* @return maxChildId
*/
public Integer getMaxChildId(){
return this.maxChildId;
}
/**
* 设置 子区域的最大ID,默认0
* @param maxChildId
*/
public void setMaxChildId(Integer maxChildId){
this.maxChildId = maxChildId;
}
/**
* 获取 状态,0停用,1启用,默认1
* @return status
*/
public Integer getStatus(){
return this.status;
}
/**
* 设置 状态,0停用,1启用,默认1
* @param status
*/
public void setStatus(Integer status){
this.status = status;
}
/**
* 获取 描述
* @return remark
*/
public String getRemark(){
return this.remark;
}
/**
* 设置 描述
* @param remark
*/
public void setRemark(String remark){
this.remark = remark;
}
/**
* 获取 创建时间
* @return createTime
*/
public Date getCreateTime(){
return this.createTime;
}
/**
* 设置 创建时间
* @param createTime
*/
public void setCreateTime(Date createTime){
this.createTime = createTime;
}
/**
* 获取 更新时间
* @return updateTime
*/
public Date getUpdateTime(){
return this.updateTime;
}
/**
* 设置 更新时间
* @param updateTime
*/
public void setUpdateTime(Date updateTime){
this.updateTime = updateTime;
}
/**
* 获取 创建用户ID
* @return createUserId
*/
public Long getCreateUserId(){
return this.createUserId;
}
/**
* 设置 创建用户ID
* @param createUserId
*/
public void setCreateUserId(Long createUserId){
this.createUserId = createUserId;
}
/**
* 获取 创建用户名称
* @return createUserName
*/
public String getCreateUserName(){
return this.createUserName;
}
/**
* 设置 创建用户名称
* @param createUserName
*/
public void setCreateUserName(String createUserName){
this.createUserName = createUserName;
}
@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().longValue() == tmp.getId().longValue()) {
return true;
}
}
return false;
}
public String toString(){
StringBuilder sb = new StringBuilder("");
sb.append("id:").append(getId())
.append(",parentId:").append(getParentId())
.append(",name:").append(getName())
.append(",level:").append(getLevel())
.append(",code:").append(getCode())
.append(",contactsPeople:").append(getContactsPeople())
.append(",contactsMobile:").append(getContactsMobile())
.append(",childSize:").append(getChildSize())
.append(",maxChildId:").append(getMaxChildId())
.append(",status:").append(getStatus())
.append(",remark:").append(getRemark())
.append(",createTime:").append(getCreateTime())
.append(",updateTime:").append(getUpdateTime())
.append(",createUserId:").append(getCreateUserId())
.append(",createUserName:").append(getCreateUserName());
return sb.toString();
}
public void initAttrValue(){
this.parentId = null;
this.name = null;
this.level = null;
this.code = null;
this.contactsPeople = null;
this.contactsMobile = null;
this.childSize = 0;
this.maxChildId = 0;
this.status = 1;
this.remark = null;
this.createTime = null;
this.updateTime = null;
this.createUserId = null;
this.createUserName = null;
}
}
\ No newline at end of file
/**
* 文件:AreaService.java
* 版本:1.0.0
* 日期:
* Copyright &reg;
* All right reserved.
*/
package com.mortals.xhx.base.system.area.service;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.base.system.area.model.AreaEntity;
/**
* <p>Title: 区域信息</p>
* <p>Description: AreaService service接口 </p>
* <p>Copyright: Copyright &reg; </p>
* <p>Company: </p>
* @author
* @version 1.0.0
*/
public interface AreaService extends ICRUDService<AreaEntity,Long>{
/**
* 格式化areaId
* @param areaId
* @return
*/
Long formatAreaId(Long areaId);
}
\ No newline at end of file
/**
* 文件:AreaServiceImpl.java
* 版本:1.0.0
* 日期:
* Copyright &reg;
* All right reserved.
*/
package com.mortals.xhx.base.system.area.service.impl;
import com.mortals.framework.service.impl.AbstractCRUDCacheServiceImpl;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.xhx.base.system.area.dao.AreaDao;
import com.mortals.xhx.base.system.area.model.AreaEntity;
import com.mortals.xhx.base.system.area.service.AreaService;
/**
* <p>Title: 区域信息</p>
* <p>Description: AreaServiceImpl service接口 </p>
* <p>Copyright: Copyright &reg; </p>
* <p>Company: </p>
* @author
* @version 1.0.0
*/
@Service("areaService")
public class AreaServiceImpl extends AbstractCRUDCacheServiceImpl<AreaDao,AreaEntity,Long> implements AreaService {
/**
* 格式化区域ID
* @param areaId
* @return
*/
@Override
public Long formatAreaId(Long areaId) {
Long id = areaId;
if(id != null){
String area = String.valueOf(id);
if(area.endsWith("00")){
area = area.substring(0, 4);
}
if(area.endsWith("00")){
area = area.substring(0, 2);
}
id = (Long.valueOf(area));
}
return id;
}
}
\ No newline at end of file
/**
* 文件:AreaController.java 版本:1.0.0 日期: Copyright &reg; All right reserved.
*/
package com.mortals.xhx.base.system.area.web;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.util.StringUtils;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.alibaba.fastjson.JSONObject;
import com.mortals.framework.ap.SysConstains;
import com.mortals.framework.common.IBaseEnum;
import com.mortals.framework.common.code.YesNo;
import com.mortals.framework.model.Context;
import com.mortals.framework.model.PageInfo;
import com.mortals.framework.model.Result;
import com.mortals.framework.web.BaseCRUDJsonMappingController;
import com.mortals.xhx.base.system.area.model.AreaEntity;
import com.mortals.xhx.base.system.area.service.AreaService;
import com.mortals.xhx.common.code.AreaLevelEnum;
/**
* <p>
* Title: 区域信息
* </p>
* <p>
* Description: AreaController
* </p>
* <p>
* Copyright: Copyright &reg;
* </p>
* <p>
* Company:
* </p>
* @author
* @version 1.0.0
*/
@RestController
@RequestMapping("area")
public class AreaController extends BaseCRUDJsonMappingController<AreaService, AreaForm, AreaEntity, Long> {
public AreaController() {
super.setFormClass(AreaForm.class);
super.setModuleDesc("区域信息");
}
@Override
protected void init(HttpServletRequest request, HttpServletResponse response, AreaForm form,
Map<String, Object> model, Context context) {
this.addDict(model, "level", IBaseEnum.getEnumMap(AreaLevelEnum.class));
this.addDict(model, "status", IBaseEnum.getEnumMap(YesNo.class));
super.init(request, response, form, model, context);
}
@Override
protected void doListBefore(HttpServletRequest request, HttpServletResponse response, AreaForm form, Map<String, Object> model, Context context) throws AppException {
if (form.getQuery().getStatus() == null) {
form.getQuery().setStatus(YesNo.YES.getValue());
}
if(StringUtils.isEmpty(form.getQuery().getName())){
form.getQuery().setLevel(AreaLevelEnum.PROVINCE.getValue());
}
}
/**
* 根据parentId查询区域信息
*/
@PostMapping(value="getAreaByParentId")
public String getAreaByParentId(HttpServletRequest request, HttpServletResponse response, AreaForm form) {
JSONObject ret = new JSONObject();
Context context = getContext();
try{
List<JSONObject> list = new ArrayList<>();
PageInfo pageInfo = form.getPageInfo();
Result<AreaEntity> result = service.find(form.getQuery(), form.getPageInfo(), context);
pageInfo = result.getPageInfo();
List<AreaEntity> areaList = result.getList();
for(AreaEntity area : areaList){
JSONObject json = new JSONObject();
json.put("id", area.getId());
json.put("parentId", area.getParentId());
json.put("name", area.getName());
json.put("level", area.getLevel());
json.put("code", area.getCode());
json.put("contactsPeople", area.getContactsPeople());
json.put("contactsMobile", area.getContactsMobile());
json.put("remark", area.getRemark());
list.add(json);
}
JSONObject data = new JSONObject();
data.put(SysConstains.RESULT_KEY, list);
data.put(SysConstains.PAGEINFO_KEY, pageInfo);
init(request, response, form, data, context);
ret.put(KEY_RESULT_CODE, VALUE_RESULT_SUCCESS);
ret.put(KEY_RESULT_DATA, data);
}catch(Exception e){
log.error("根据parentId查询区域信息错误", e);
ret.put(KEY_RESULT_CODE, VALUE_RESULT_FAILURE);
ret.put(KEY_RESULT_MSG, e.getMessage());
}
return ret.toJSONString();
}
@PostMapping(value = "getAllAreaList")
public String getAllAreaList(HttpServletRequest request, HttpServletResponse response, AreaForm form) {
try{
return super.list(form);
}catch(Exception e){
log.error("查询所有区域信息列表错误",e);
JSONObject ret = new JSONObject();
ret.put(KEY_RESULT_CODE, VALUE_RESULT_FAILURE);
ret.put(KEY_RESULT_MSG, super.convertException(e));
return ret.toJSONString();
}
}
}
\ No newline at end of file
/**
* 文件:AreaForm.java
* 版本:1.0.0
* 日期:
* Copyright &reg;
* All right reserved.
*/
package com.mortals.xhx.base.system.area.web;
import com.mortals.framework.web.BaseCRUDFormLong;
import com.mortals.xhx.base.system.area.model.AreaEntity;
import com.mortals.xhx.base.system.area.model.AreaQuery;
/**
* <p>Title: 区域信息</p>
* <p>Description: AreaForm </p>
* <p>Copyright: Copyright &reg; </p>
* <p>Company: </p>
* @author
* @version 1.0.0
*/
public class AreaForm extends BaseCRUDFormLong<AreaEntity> {
private AreaEntity entity = new AreaEntity();
private AreaQuery query = new AreaQuery();
public AreaForm(){
}
@Override
public AreaEntity getEntity() {
return entity;
}
public void setEntity(AreaEntity entity) {
this.entity = entity;
}
@Override
public AreaQuery getQuery() {
return query;
}
public void setQuery(AreaQuery query) {
this.query = query;
}
}
\ No newline at end of file
......@@ -4,7 +4,6 @@ import com.mortals.framework.common.Rest;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.impl.AbstractCRUDCacheServiceImpl;
import com.mortals.xhx.base.system.site.service.SiteService;
import com.mortals.xhx.common.code.SatusEnum;
import com.mortals.xhx.module.area.dao.AreaDao;
import com.mortals.xhx.module.area.model.AreaEntity;
......
package com.mortals.xhx.module.company.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.module.company.model.CompanyProductEntity;
import java.util.List;
/**
* 公司产品Dao
* 公司产品 DAO接口
*
* @author zxfei
* @date 2023-09-19
*/
public interface CompanyProductDao extends ICRUDDao<CompanyProductEntity,Long>{
}
package com.mortals.xhx.module.user.dao.ibatis;
package com.mortals.xhx.module.company.dao.ibatis;
import org.springframework.stereotype.Repository;
import com.mortals.xhx.module.user.dao.UserDao;
import com.mortals.xhx.module.user.model.UserEntity;
import com.mortals.xhx.module.company.dao.CompanyProductDao;
import com.mortals.xhx.module.company.model.CompanyProductEntity;
import java.util.Date;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import java.util.List;
/**
* 用户信息业务DaoImpl DAO接口
* 公司产品DaoImpl DAO接口
*
* @author zxfei
* @date 2023-09-18
* @date 2023-09-19
*/
@Repository("userDao")
public class UserDaoImpl extends BaseCRUDDaoMybatis<UserEntity,Long> implements UserDao {
@Repository("companyProductDao")
public class CompanyProductDaoImpl extends BaseCRUDDaoMybatis<CompanyProductEntity,Long> implements CompanyProductDao {
......
......@@ -10,11 +10,11 @@ import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.company.model.vo.CompanyLabelsVo;
import lombok.Data;
/**
* 公司标注实体对象
*
* @author zxfei
* @date 2023-09-18
*/
* 公司标注实体对象
*
* @author zxfei
* @date 2023-09-19
*/
@Data
public class CompanyLabelsEntity extends CompanyLabelsVo {
private static final long serialVersionUID = 1L;
......@@ -24,15 +24,19 @@ public class CompanyLabelsEntity extends CompanyLabelsVo {
*/
@Excel(name = "标签Id")
private Long labelId;
/**
* 公司名称
*/
private String labelName;
/**
* 公司Id
*/
@Excel(name = "公司Id")
private Long companyId;
/**
* 标签名称
* 公司名称
*/
private String labelName;
private String companyName;
/**
* 备注
*/
......@@ -55,8 +59,9 @@ public class CompanyLabelsEntity extends CompanyLabelsVo {
public void initAttrValue(){
this.labelId = 0L;
this.companyId = 0L;
this.labelName = "";
this.companyId = 0L;
this.companyName = "";
this.remark = "";
}
}
\ No newline at end of file
......@@ -3,11 +3,11 @@ package com.mortals.xhx.module.company.model;
import java.util.List;
import com.mortals.xhx.module.company.model.CompanyLabelsEntity;
/**
* 公司标注查询对象
*
* @author zxfei
* @date 2023-09-18
*/
* 公司标注查询对象
*
* @author zxfei
* @date 2023-09-19
*/
public class CompanyLabelsQuery extends CompanyLabelsEntity {
/** 开始 主键ID,主键,自增长 */
private Long idStart;
......@@ -39,6 +39,11 @@ public class CompanyLabelsQuery extends CompanyLabelsEntity {
/** 标签Id排除列表 */
private List <Long> labelIdNotList;
/** 公司名称 */
private List<String> labelNameList;
/** 公司名称排除列表 */
private List <String> labelNameNotList;
/** 开始 公司Id */
private Long companyIdStart;
......@@ -54,11 +59,11 @@ public class CompanyLabelsQuery extends CompanyLabelsEntity {
/** 公司Id排除列表 */
private List <Long> companyIdNotList;
/** 标签名称 */
private List<String> labelNameList;
/** 公司名称 */
private List<String> companyNameList;
/** 标签名称排除列表 */
private List <String> labelNameNotList;
/** 公司名称排除列表 */
private List <String> companyNameNotList;
/** 备注 */
private List<String> remarkList;
......@@ -276,6 +281,38 @@ public class CompanyLabelsQuery extends CompanyLabelsEntity {
}
/**
* 获取 公司名称
* @return labelNameList
*/
public List<String> getLabelNameList(){
return this.labelNameList;
}
/**
* 设置 公司名称
* @param labelNameList
*/
public void setLabelNameList(List<String> labelNameList){
this.labelNameList = labelNameList;
}
/**
* 获取 公司名称
* @return labelNameNotList
*/
public List<String> getLabelNameNotList(){
return this.labelNameNotList;
}
/**
* 设置 公司名称
* @param labelNameNotList
*/
public void setLabelNameNotList(List<String> labelNameNotList){
this.labelNameNotList = labelNameNotList;
}
/**
* 获取 开始 公司Id
* @return companyIdStart
......@@ -358,35 +395,35 @@ public class CompanyLabelsQuery extends CompanyLabelsEntity {
/**
* 获取 标签名称
* @return labelNameList
* 获取 公司名称
* @return companyNameList
*/
public List<String> getLabelNameList(){
return this.labelNameList;
public List<String> getCompanyNameList(){
return this.companyNameList;
}
/**
* 设置 标签名称
* @param labelNameList
* 设置 公司名称
* @param companyNameList
*/
public void setLabelNameList(List<String> labelNameList){
this.labelNameList = labelNameList;
public void setCompanyNameList(List<String> companyNameList){
this.companyNameList = companyNameList;
}
/**
* 获取 标签名称
* @return labelNameNotList
* 获取 公司名称
* @return companyNameNotList
*/
public List<String> getLabelNameNotList(){
return this.labelNameNotList;
public List<String> getCompanyNameNotList(){
return this.companyNameNotList;
}
/**
* 设置 标签名称
* @param labelNameNotList
* 设置 公司名称
* @param companyNameNotList
*/
public void setLabelNameNotList(List<String> labelNameNotList){
this.labelNameNotList = labelNameNotList;
public void setCompanyNameNotList(List<String> companyNameNotList){
this.companyNameNotList = companyNameNotList;
}
/**
......@@ -755,6 +792,25 @@ public class CompanyLabelsQuery extends CompanyLabelsEntity {
return this;
}
/**
* 设置 公司名称
* @param labelName
*/
public CompanyLabelsQuery labelName(String labelName){
setLabelName(labelName);
return this;
}
/**
* 设置 公司名称
* @param labelNameList
*/
public CompanyLabelsQuery labelNameList(List<String> labelNameList){
this.labelNameList = labelNameList;
return this;
}
/**
* 设置 公司Id
* @param companyId
......@@ -811,20 +867,20 @@ public class CompanyLabelsQuery extends CompanyLabelsEntity {
/**
* 设置 标签名称
* @param labelName
* 设置 公司名称
* @param companyName
*/
public CompanyLabelsQuery labelName(String labelName){
setLabelName(labelName);
public CompanyLabelsQuery companyName(String companyName){
setCompanyName(companyName);
return this;
}
/**
* 设置 标签名称
* @param labelNameList
* 设置 公司名称
* @param companyNameList
*/
public CompanyLabelsQuery labelNameList(List<String> labelNameList){
this.labelNameList = labelNameList;
public CompanyLabelsQuery companyNameList(List<String> companyNameList){
this.companyNameList = companyNameList;
return this;
}
......
......@@ -10,11 +10,11 @@ import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.company.model.vo.CompanyPatentVo;
import lombok.Data;
/**
* 公司专利实体对象
*
* @author zxfei
* @date 2023-09-18
*/
* 公司专利实体对象
*
* @author zxfei
* @date 2023-09-19
*/
@Data
public class CompanyPatentEntity extends CompanyPatentVo {
private static final long serialVersionUID = 1L;
......@@ -36,6 +36,10 @@ public class CompanyPatentEntity extends CompanyPatentVo {
* 备注
*/
private String remark;
/**
* 公司名称
*/
private String companyName;
@Override
public int hashCode() {
return this.getId().hashCode();
......@@ -57,5 +61,6 @@ public class CompanyPatentEntity extends CompanyPatentVo {
this.intellectPropertyType = "";
this.intellectPropertyNum = 0;
this.remark = "";
this.companyName = "";
}
}
\ No newline at end of file
......@@ -3,11 +3,11 @@ package com.mortals.xhx.module.company.model;
import java.util.List;
import com.mortals.xhx.module.company.model.CompanyPatentEntity;
/**
* 公司专利查询对象
*
* @author zxfei
* @date 2023-09-18
*/
* 公司专利查询对象
*
* @author zxfei
* @date 2023-09-19
*/
public class CompanyPatentQuery extends CompanyPatentEntity {
/** 开始 主键ID,主键,自增长 */
private Long idStart;
......@@ -106,6 +106,11 @@ public class CompanyPatentQuery extends CompanyPatentEntity {
/** 结束 更新时间 */
private String updateTimeEnd;
/** 公司名称 */
private List<String> companyNameList;
/** 公司名称排除列表 */
private List <String> companyNameNotList;
/** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
private List<CompanyPatentQuery> orConditionList;
......@@ -647,6 +652,38 @@ public class CompanyPatentQuery extends CompanyPatentEntity {
this.updateTimeEnd = updateTimeEnd;
}
/**
* 获取 公司名称
* @return companyNameList
*/
public List<String> getCompanyNameList(){
return this.companyNameList;
}
/**
* 设置 公司名称
* @param companyNameList
*/
public void setCompanyNameList(List<String> companyNameList){
this.companyNameList = companyNameList;
}
/**
* 获取 公司名称
* @return companyNameNotList
*/
public List<String> getCompanyNameNotList(){
return this.companyNameNotList;
}
/**
* 设置 公司名称
* @param companyNameNotList
*/
public void setCompanyNameNotList(List<String> companyNameNotList){
this.companyNameNotList = companyNameNotList;
}
/**
* 设置 主键ID,主键,自增长
* @param id
......@@ -957,6 +994,25 @@ public class CompanyPatentQuery extends CompanyPatentEntity {
}
/**
* 设置 公司名称
* @param companyName
*/
public CompanyPatentQuery companyName(String companyName){
setCompanyName(companyName);
return this;
}
/**
* 设置 公司名称
* @param companyNameList
*/
public CompanyPatentQuery companyNameList(List<String> companyNameList){
this.companyNameList = companyNameList;
return this;
}
/**
* 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @return orConditionList
......
package com.mortals.xhx.module.company.model;
import java.util.List;
import java.util.ArrayList;
import java.math.BigDecimal;
import cn.hutool.core.date.DateUtil;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.company.model.vo.CompanyProductVo;
import lombok.Data;
/**
* 公司产品实体对象
*
* @author zxfei
* @date 2023-09-19
*/
@Data
public class CompanyProductEntity extends CompanyProductVo {
private static final long serialVersionUID = 1L;
/**
* 公司Id
*/
@Excel(name = "公司Id")
private Long companyId;
/**
* 公司名称
*/
private String companyName;
/**
* 产品Id
*/
@Excel(name = "产品Id")
private Long productId;
/**
* 产品名称
*/
private String productName;
/**
* 备注
*/
private String remark;
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) return false;
if (obj instanceof CompanyProductEntity) {
CompanyProductEntity tmp = (CompanyProductEntity) obj;
if (this.getId() == tmp.getId()) {
return true;
}
}
return false;
}
public void initAttrValue(){
this.companyId = 0L;
this.companyName = "";
this.productId = 0L;
this.productName = "";
this.remark = "";
}
}
\ No newline at end of file
package com.mortals.xhx.module.user.model.vo;
package com.mortals.xhx.module.company.model.vo;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.user.model.UserEntity;
import com.mortals.xhx.module.company.model.CompanyProductEntity;
import java.util.ArrayList;
import java.util.List;
import lombok.Data;
......@@ -8,15 +8,15 @@ import com.mortals.framework.annotation.Excel;
import java.math.BigDecimal;
import java.util.Date;
/**
* 用户信息业务视图对象
* 公司产品视图对象
*
* @author zxfei
* @date 2023-09-18
* @date 2023-09-19
*/
@Data
public class UserVo extends BaseEntityLong {
public class CompanyProductVo extends BaseEntityLong {
/** 用户ID,主键,自增长列表 */
/** 主键ID,主键,自增长列表 */
private List <Long> idList;
......
package com.mortals.xhx.module.company.model.vo;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.company.model.CompanyEntity;
import java.util.ArrayList;
import java.util.List;
......@@ -8,22 +10,32 @@ import com.mortals.xhx.module.company.model.CompanyLabelsEntity;
import com.mortals.xhx.module.company.model.CompanyPatentEntity;
import lombok.Data;
import com.mortals.framework.annotation.Excel;
import java.math.BigDecimal;
import java.util.Date;
/**
* 公司视图对象
*
* @author zxfei
* @date 2023-09-18
*/
* 公司视图对象
*
* @author zxfei
* @date 2023-09-18
*/
@Data
public class CompanyVo extends BaseEntityLong {
/** 主键ID,主键,自增长列表 */
private List <Long> idList;
/**
* 主键ID,主键,自增长列表
*/
private List<Long> idList;
//公司专利
private List<CompanyPatentEntity> companyPatentList=new ArrayList<>();;
private List<CompanyPatentEntity> companyPatentList = new ArrayList<>();
//产品数量
private Integer productNums = 0;
//名片数量
private Integer businessCardNums = 0;
}
\ No newline at end of file
package com.mortals.xhx.module.company.model.vo;
import com.mortals.xhx.module.company.model.CompanyEntity;
import com.mortals.xhx.module.news.model.NewsCategoryEntity;
import com.mortals.xhx.module.product.model.ProductEntity;
import com.mortals.xhx.module.staff.model.StaffEntity;
import lombok.Data;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 统计信息
*
* @author: zxfei
* @date: 2023/9/19 14:49
*/
@Data
public class HomeStatInfo {
/**
* 企业总量
*/
private Integer enterpriseNums;
/**
* 产品数量
*/
private Integer productNums;
/**
* 员工数量
*/
private Integer staffNums;
/**
* 新闻数量
*/
private Integer newsNums;
/**
* 反馈数量
*/
private Integer feedbackNums;
/**
* 用户数量
*/
private Integer customerNums;
/**
* 公司产品分布列表
*/
private List<CompanyEntity> productDistributionList;
/**
* 名片分布列表
*/
private List<CompanyEntity> businessCardDistributionList;
/**
* 新闻分布列表
*/
private List<NewsCategoryEntity> newsDistributionList;
/**
* 小程序近30日访问统计报表
*/
private List<Map<String, Object>> accessStatList;
/**
* 发送卡片总量
*/
private List<StaffEntity> sendCardStaffList;
}
package com.mortals.xhx.module.company.service;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.company.model.CompanyProductEntity;
import com.mortals.xhx.module.company.dao.CompanyProductDao;
/**
* CompanyProductService
*
* 公司产品 service接口
*
* @author zxfei
* @date 2023-09-19
*/
public interface CompanyProductService extends ICRUDService<CompanyProductEntity,Long>{
CompanyProductDao getDao();
}
\ No newline at end of file
package com.mortals.xhx.module.company.service;
import com.mortals.framework.common.Rest;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.company.model.CompanyEntity;
import com.mortals.xhx.module.company.dao.CompanyDao;
import com.mortals.xhx.module.company.model.vo.HomeStatInfo;
/**
* CompanyService
*
* 公司 service接口
*
* @author zxfei
* @date 2023-09-18
*/
public interface CompanyService extends ICRUDService<CompanyEntity,Long>{
* CompanyService
* <p>
* 公司 service接口
*
* @author zxfei
* @date 2023-09-18
*/
public interface CompanyService extends ICRUDService<CompanyEntity, Long> {
CompanyDao getDao();
/**
* 首页统计
* @param context
* @return
*/
Rest<HomeStatInfo> indexStat(Context context);
}
\ No newline at end of file
package com.mortals.xhx.module.user.service.impl;
package com.mortals.xhx.module.company.service.impl;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.xhx.module.user.dao.UserDao;
import com.mortals.xhx.module.user.model.UserEntity;
import com.mortals.xhx.module.user.service.UserService;
import com.mortals.xhx.module.company.dao.CompanyProductDao;
import com.mortals.xhx.module.company.model.CompanyProductEntity;
import com.mortals.xhx.module.company.service.CompanyProductService;
import lombok.extern.slf4j.Slf4j;
/**
* UserService
* 用户信息业务 service实现
* CompanyProductService
* 公司产品 service实现
*
* @author zxfei
* @date 2023-09-18
* @date 2023-09-19
*/
@Service("userService")
@Service("companyProductService")
@Slf4j
public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity, Long> implements UserService {
public class CompanyProductServiceImpl extends AbstractCRUDServiceImpl<CompanyProductDao, CompanyProductEntity, Long> implements CompanyProductService {
}
\ No newline at end of file
package com.mortals.xhx.module.company.service.impl;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.mortals.framework.common.Rest;
import com.mortals.framework.model.PageInfo;
import com.mortals.xhx.base.system.user.model.UserQuery;
import com.mortals.xhx.base.system.user.service.UserService;
import com.mortals.xhx.common.code.SourceEnum;
import com.mortals.xhx.module.company.model.*;
import com.mortals.xhx.module.company.model.vo.HomeStatInfo;
import com.mortals.xhx.module.company.service.CompanyPatentService;
import com.mortals.xhx.module.company.service.CompanyProductService;
import com.mortals.xhx.module.feedback.model.FeedbackQuery;
import com.mortals.xhx.module.feedback.service.FeedbackService;
import com.mortals.xhx.module.news.model.NewsCategoryEntity;
import com.mortals.xhx.module.news.model.NewsCategoryQuery;
import com.mortals.xhx.module.news.model.NewsQuery;
import com.mortals.xhx.module.news.service.NewsCategoryService;
import com.mortals.xhx.module.news.service.NewsService;
import com.mortals.xhx.module.product.model.ProductQuery;
import com.mortals.xhx.module.product.service.ProductService;
import com.mortals.xhx.module.staff.model.StaffEntity;
import com.mortals.xhx.module.staff.model.StaffQuery;
import com.mortals.xhx.module.staff.model.StaffRecordEntity;
import com.mortals.xhx.module.staff.model.StaffRecordQuery;
import com.mortals.xhx.module.staff.service.StaffRecordService;
import com.mortals.xhx.module.staff.service.StaffService;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
......@@ -13,9 +37,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import com.mortals.xhx.module.company.service.CompanyLabelsService;
import org.springframework.util.ObjectUtils;
import java.util.Date;
import java.util.Arrays;
import java.util.List;
import java.sql.Array;
import java.util.*;
import java.util.stream.Collectors;
import lombok.extern.slf4j.Slf4j;
......@@ -33,6 +57,25 @@ public class CompanyServiceImpl extends AbstractCRUDServiceImpl<CompanyDao, Comp
private CompanyLabelsService companyLabelsService;
@Autowired
private CompanyPatentService companyPatentService;
@Autowired
private CompanyService companyService;
@Autowired
private ProductService productService;
@Autowired
private StaffService staffService;
@Autowired
private NewsService newsService;
@Autowired
private FeedbackService feedbackService;
@Autowired
private UserService userService;
@Autowired
private CompanyProductService companyProductService;
@Autowired
private NewsCategoryService newsCategoryService;
@Autowired
private StaffRecordService staffRecordService;
@Override
protected void findAfter(CompanyEntity params, PageInfo pageInfo, Context context, List<CompanyEntity> list) throws AppException {
......@@ -107,4 +150,86 @@ public class CompanyServiceImpl extends AbstractCRUDServiceImpl<CompanyDao, Comp
super.removeAfter(ids, context, result);
}
@Override
public Rest<HomeStatInfo> indexStat(Context context) {
HomeStatInfo homeStatInfo = new HomeStatInfo();
//统计公司数量
List<CompanyEntity> companyList = companyService.find(new CompanyQuery(), context);
homeStatInfo.setEnterpriseNums(companyList.size());
//
int productNums = productService.count(new ProductQuery(), context);
homeStatInfo.setProductNums(productNums);
List<StaffEntity> staffList = staffService.find(new StaffQuery(), context);
homeStatInfo.setStaffNums(staffList.size());
int newsNums = newsService.count(new NewsQuery(), context);
homeStatInfo.setNewsNums(newsNums);
int feedbackNums = feedbackService.count(new FeedbackQuery(), context);
homeStatInfo.setFeedbackNums(feedbackNums);
//客户数据待定
Long userCount = staffList.stream().filter(f -> f.getSource() == SourceEnum.外部人员.getValue()).count();
// int userCount = userService.count(new UserQuery(), context);
homeStatInfo.setCustomerNums(userCount.intValue());
//产品分布
companyList.forEach(company -> {
int count = companyProductService.count(new CompanyProductQuery().companyId(company.getId()), context);
company.setProductNums(count);
});
homeStatInfo.setProductDistributionList(companyList);
//发送名片分布
Map<String, Integer> collect = staffList.stream().collect(Collectors.groupingBy(x -> x.getCompanyIds(), Collectors.summingInt(StaffEntity::getSendBusinessCardTimes)));
companyList.forEach(company -> {
//归集公司发送卡片数量
Long companyId = company.getId();
collect.entrySet().stream().forEach(item -> {
String key = item.getKey();
Integer nums = item.getValue();
List<String> split = StrUtil.split(key, ",");
if (split.contains(companyId.toString())) {
company.setBusinessCardNums(company.getBusinessCardNums() + nums);
}
});
});
homeStatInfo.setBusinessCardDistributionList(companyList);
List<NewsCategoryEntity> newsCategoryList = newsCategoryService.find(new NewsCategoryQuery(), context);
newsCategoryList.forEach(category -> {
int count = newsService.count(new NewsQuery().categoryId(category.getId()), context);
category.setNewsNums(count);
});
homeStatInfo.setNewsDistributionList(newsCategoryList);
//近三十天访问记录
List<Map<String, Object>> dayAccessList = new ArrayList<>();
DateTime beforeDay = DateUtil.offsetDay(new Date(), -30);
for (int i = 0; i < 30; i++) {
DateTime curDate = DateUtil.offsetDay(beforeDay, i);
Map<String, Object> map = new HashMap<>();
map.put("dateStr",curDate.toDateStr());
map.put("nums", 0);
StaffRecordQuery staffRecordQuery = new StaffRecordQuery();
staffRecordQuery.setCreateTimeStart(curDate.toDateStr());
staffRecordQuery.setCreateTimeEnd(curDate.toDateStr());
List<StaffRecordEntity> staffRecordEntities = staffRecordService.find(staffRecordQuery, context);
if (!ObjectUtils.isEmpty(staffRecordEntities)) {
int sum = staffRecordEntities.stream().mapToInt(item -> item.getSumViews()).sum();
map.put("nums", sum);
}
dayAccessList.add(map);
}
homeStatInfo.setAccessStatList(dayAccessList);
homeStatInfo.setSendCardStaffList(staffList);
return Rest.ok(homeStatInfo);
}
}
\ No newline at end of file
package com.mortals.xhx.module.company.web;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.mortals.framework.common.Rest;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.common.code.YesNoEnum;
import com.mortals.xhx.module.company.model.vo.HomeStatInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.converter.json.JsonbHttpMessageConverter;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.mortals.framework.model.Context;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.module.company.model.CompanyEntity;
import com.mortals.xhx.module.company.service.CompanyService;
import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject;
import java.util.Arrays;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*;
/**
*
* 公司
*
* @author zxfei
* @date 2023-09-18
*/
* 公司
*
* @author zxfei
* @date 2023-09-18
*/
@RestController
@RequestMapping("company")
public class CompanyController extends BaseCRUDJsonBodyMappingController<CompanyService,CompanyEntity,Long> {
public class CompanyController extends BaseCRUDJsonBodyMappingController<CompanyService, CompanyEntity, Long> {
@Autowired
private ParamService paramService;
public CompanyController(){
super.setModuleDesc( "公司");
public CompanyController() {
super.setModuleDesc("公司");
}
@Override
protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "totalEmployees", paramService.getParamBySecondOrganize("Company","totalEmployees"));
this.addDict(model, "softNum", paramService.getParamBySecondOrganize("Company","softNum"));
this.addDict(model, "patentNum", paramService.getParamBySecondOrganize("Company","patentNum"));
this.addDict(model, "totalEmployees", paramService.getParamBySecondOrganize("Company", "totalEmployees"));
this.addDict(model, "softNum", paramService.getParamBySecondOrganize("Company", "softNum"));
this.addDict(model, "patentNum", paramService.getParamBySecondOrganize("Company", "patentNum"));
super.init(model, context);
}
/**
* 首页统计
*/
@PostMapping(value = "stat")
public String indexStat() {
JSONObject jsonObject = new JSONObject();
jsonObject.put(KEY_RESULT_CODE, VALUE_RESULT_SUCCESS);
jsonObject.put(KEY_RESULT_MSG, "");
try {
Rest<HomeStatInfo> rest = this.service.indexStat(getContext());
if (YesNoEnum.YES.getValue() == rest.getCode()) {
jsonObject.put(KEY_RESULT_DATA, rest.getData());
}
recordSysLog(request, "首页统计 【成功】");
} catch (Exception e) {
log.error("异常", e);
jsonObject.put(KEY_RESULT_CODE, VALUE_RESULT_FAILURE);
jsonObject.put(KEY_RESULT_MSG, super.convertException(e));
}
return JSON.toJSONString(jsonObject, SerializerFeature.DisableCircularReferenceDetect);
}
}
\ No newline at end of file
package com.mortals.xhx.module.user.web;
package com.mortals.xhx.module.company.web;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -9,8 +9,8 @@ import com.mortals.framework.model.Context;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.module.user.model.UserEntity;
import com.mortals.xhx.module.user.service.UserService;
import com.mortals.xhx.module.company.model.CompanyProductEntity;
import com.mortals.xhx.module.company.service.CompanyProductService;
import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils;
import java.util.HashMap;
......@@ -24,26 +24,24 @@ import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*;
/**
*
* 用户信息业务
* 公司产品
*
* @author zxfei
* @date 2023-09-18
* @date 2023-09-19
*/
@RestController
@RequestMapping("user")
public class UserController extends BaseCRUDJsonBodyMappingController<UserService,UserEntity,Long> {
@RequestMapping("company/product")
public class CompanyProductController extends BaseCRUDJsonBodyMappingController<CompanyProductService,CompanyProductEntity,Long> {
@Autowired
private ParamService paramService;
public UserController(){
super.setModuleDesc( "用户信息业务");
public CompanyProductController(){
super.setModuleDesc( "公司产品");
}
@Override
protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "userType", paramService.getParamBySecondOrganize("User","userType"));
this.addDict(model, "status", paramService.getParamBySecondOrganize("User","status"));
super.init(model, context);
}
......
package com.mortals.xhx.module.news.model.vo;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.news.model.NewsCategoryEntity;
import java.util.ArrayList;
import java.util.List;
import lombok.Data;
import com.mortals.framework.annotation.Excel;
import java.math.BigDecimal;
import java.util.Date;
/**
* 新闻频道分类视图对象
*
* @author zxfei
* @date 2023-09-18
*/
* 新闻频道分类视图对象
*
* @author zxfei
* @date 2023-09-18
*/
@Data
public class NewsCategoryVo extends BaseEntityLong {
/** 序号,主键,自增长列表 */
private List <Long> idList;
/**
* 序号,主键,自增长列表
*/
private List<Long> idList;
/**
* 新闻数量
*/
private Integer newsNums;
}
\ No newline at end of file
......@@ -19,5 +19,10 @@ public class StaffVo extends BaseEntityLong {
/** 序号,主键,自增长列表 */
private List <Long> idList;
/**
* 累计发卡片数量
*/
private Integer sendCardTotalNums;
}
\ No newline at end of file
package com.mortals.xhx.module.user.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.module.user.model.UserEntity;
import java.util.List;
/**
* 用户信息业务Dao
* 用户信息业务 DAO接口
*
* @author zxfei
* @date 2023-09-18
*/
public interface UserDao extends ICRUDDao<UserEntity,Long>{
}
package com.mortals.xhx.module.user.model;
import java.util.Date;
import java.util.List;
import java.util.ArrayList;
import java.math.BigDecimal;
import cn.hutool.core.date.DateUtil;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.user.model.vo.UserVo;
import lombok.Data;
/**
* 用户信息业务实体对象
*
* @author zxfei
* @date 2023-09-18
*/
@Data
public class UserEntity extends UserVo {
private static final long serialVersionUID = 1L;
/**
* 登录名
*/
private String loginName;
/**
* 登录密码,使用md5双次加密
*/
private String loginPwd;
/**
* 登录限制地址,多个IP地址用逗号分隔,可以使用IP段匹配,如:172.17.*非空:则只能该值内的IP可以登录
*/
private String loginLimitAddress;
/**
* 用户名
*/
private String realName;
/**
* 用户手机号
*/
private String mobile;
/**
* 用户联系电话
*/
private String phone;
/**
* 用户邮箱
*/
private String email;
/**
* QQ号码
*/
private String qq;
/**
* 用户类型,0:系统用户 1:普通用户 2:工作人员,默认2
*/
private Integer userType;
/**
* 用户状态,0:停用,1:正常,2:冻结,3:销户,4:离职,默认1
*/
private Integer status;
/**
* 客户ID
*/
private Long customerId;
/**
* 创建用户名称
*/
private String createUserName;
/**
* 最后一次登录时间
*/
private Date lastLoginTime;
/**
* 最后一次登录地址
*/
private String lastLoginAddress;
/**
* 用户所属部门id
*/
private Long deptId;
/**
* 所属部门名称
*/
private String deptName;
/**
* 所属站点id,多个逗号分隔
*/
private String siteIds;
/**
* 所属区域code,多个逗号分隔
*/
private String areaCodes;
/**
* 员工Id,关联用户员工表
*/
private Long staffId;
/**
* 微信openId
*/
private String openId;
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) return false;
if (obj instanceof UserEntity) {
UserEntity tmp = (UserEntity) obj;
if (this.getId() == tmp.getId()) {
return true;
}
}
return false;
}
public void initAttrValue(){
this.loginName = "";
this.loginPwd = "";
this.loginLimitAddress = "";
this.realName = "";
this.mobile = "";
this.phone = "";
this.email = "";
this.qq = "";
this.userType = 0;
this.status = 1;
this.customerId = 0L;
this.createUserName = "";
this.lastLoginTime = new Date();
this.lastLoginAddress = "";
this.deptId = 0L;
this.deptName = "";
this.siteIds = "";
this.areaCodes = "";
this.staffId = 0L;
this.openId = "";
}
}
\ No newline at end of file
package com.mortals.xhx.module.user.service;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.user.model.UserEntity;
import com.mortals.xhx.module.user.dao.UserDao;
/**
* UserService
*
* 用户信息业务 service接口
*
* @author zxfei
* @date 2023-09-18
*/
public interface UserService extends ICRUDService<UserEntity,Long>{
UserDao getDao();
}
\ No newline at end of file
......@@ -22,6 +22,13 @@ Content-Type: application/json
"size":10
}
###公司统计
POST {{baseUrl}}/company/stat
Content-Type: application/json
Authorization: {{authToken}}
{}
###公司更新与保存
POST {{baseUrl}}/company/save
......
###登录
POST {{baseUrl}}/login/login
Content-Type: application/json
{
"loginName":"admin",
"password":"admin",
"securityCode":"8888"
}
> {%
client.global.set("SmsSet_id", JSON.parse(response.body).data.id);
client.global.set("authToken", JSON.parse(response.body).data.token);
%}
###公司产品列表
POST {{baseUrl}}/company/product/list
Content-Type: application/json
{
"page":1,
"size":10
}
###公司产品更新与保存
POST {{baseUrl}}/company/product/save
Authorization: {{authToken}}
Content-Type: application/json
{
"companyId":430,
"companyName":"mv9hur",
"productId":39,
"productName":"3x315j",
"remark":"e2sjue",
}
> {%
client.global.set("CompanyProduct_id", JSON.parse(response.body).data.id);
%}
###公司产品查看
GET {{baseUrl}}/company/product/info?id={{CompanyProduct_id}}
Accept: application/json
###公司产品编辑
GET {{baseUrl}}/company/product/edit?id={{CompanyProduct_id}}
Accept: application/json
###公司产品删除
GET {{baseUrl}}/company/product/delete?id={{CompanyProduct_id}}
Authorization: {{authToken}}
Accept: application/json
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