Commit d5fe213f authored by 廖旭伟's avatar 廖旭伟

Merge remote-tracking branch 'origin/master'

parents a6dedc49 f13a3003
...@@ -51,6 +51,7 @@ const router = new Router({ ...@@ -51,6 +51,7 @@ const router = new Router({
...restBuilder("feedback", "feedback"), //反馈信息 ...restBuilder("feedback", "feedback"), //反馈信息
...restBuilder("bussinesscard/record", "bussinesscard/record"), //流量管理 ...restBuilder("bussinesscard/record", "bussinesscard/record"), //流量管理
...restBuilder("resourceImage", "resourceImage"), //名片管理
...restBuilder("staff", "staff"), //员工基本信息 ...restBuilder("staff", "staff"), //员工基本信息
...restBuilder("staff/leave", "staff/leave"), //员工离职信息 ...restBuilder("staff/leave", "staff/leave"), //员工离职信息
...restBuilder("bussinesscard", "bussinesscard"), //名片基本信息 ...restBuilder("bussinesscard", "bussinesscard"), //名片基本信息
......
<template> <template>
<!-- 弹出框表单 --> <!-- 弹出框表单 -->
<el-drawer <el-drawer
:title="title" :title="title"
:visible.sync="open" :visible.sync="open"
:direction="direction" :direction="direction"
:destroy-on-close="true" :destroy-on-close="true"
size="50%"> size="50%"
<el-form ref="form" :model="form" :rules="rules" label-width="120px"> >
<el-row> <el-form ref="form" :model="form" :rules="rules" label-width="120px">
<Field :span="20" label="所属关联员工" prop="staffId" v-model="form.staffId" type="select" :enumData="dict.staffId" placeholder="请输入名片所属关联员工ID"/> <el-row>
<Field
<Field :span="20" label="名片姓名" prop="name" v-model="form.name" placeholder="请输入名片姓名"/> :span="20"
<Field :span="20" label="性别" prop="gender" v-model="form.gender" type="select" :enumData="dict.gender" placeholder="请选择性别"/> label="所属关联员工"
<Field :span="20" label="出生日期" prop="birthday" v-model="form.birthday" type="date" /> prop="staffId"
<Field :span="20" label="照片" prop="photoPath" placeholder="请输入照片"><imageUpload v-model="form.photoPath" prePath="/file/preview"/> </Field> v-model="form.staffId"
type="select"
:enumData="dict.staffId"
<Field :span="20" label="邮件地址" prop="email" v-model="form.email" placeholder="请输入邮件地址"/> placeholder="请输入名片所属关联员工ID"
<Field :span="20" label="联系电话" prop="phoneNumber" v-model="form.phoneNumber" placeholder="请输入联系电话"/> />
<Field :span="20" label="身份证号码" prop="idCard" v-model="form.idCard" placeholder="请输入身份证号码"/>
<Field :span="20" label="所在公司" prop="companyId" v-model="form.companyId" type="select" :enumData="dict.companyId" placeholder="请输入记录名片持有者所在公司或组织的名称ID"/> <Field
<Field :span="20" label="职位" prop="positionId" v-model="form.positionId" type="select" :enumData="dict.positionId" placeholder="请输入职位ID"/> :span="20"
label="名片姓名"
<Field :span="20" label="简介" prop="bio" v-model="form.bio" type="textarea" placeholder="请输入简介"/> prop="name"
<Field :span="20" label="社交媒体链接" prop="socialMedia" v-model="form.socialMedia" type="textarea" placeholder="请输入社交媒体链接, 可以是一个包含社交媒体账号的JSON对象或单独的字段"/> v-model="form.name"
placeholder="请输入名片姓名"
<Field :span="20" label="二维码图片" prop="qRCode" placeholder="请输入二维码图片"><imageUpload v-model="form.qRCode" prePath="/file/preview"/> </Field> />
<Field
:span="20"
<Field :span="20" label="备注" prop="remark" v-model="form.remark" type="textarea" placeholder="请输入备注"/> label="性别"
prop="gender"
</el-row> v-model="form.gender"
type="select"
<form-buttons @submit='submitForm' v-if="pageInfo.type!='view'" noCancelBtn /> :enumData="dict.gender"
</el-form> placeholder="请选择性别"
/>
</el-drawer> <Field
:span="20"
label="出生日期"
prop="birthday"
v-model="form.birthday"
type="date"
/>
<Field
:span="20"
label="照片"
prop="photoPath"
placeholder="请输入照片"
>
<imageUpload
v-model="form.photoPath"
prePath="/file/preview"
:slotP="'请上传 62*62px 的2MB以内的图片'"
/>
</Field>
<Field
:span="20"
label="邮件地址"
prop="email"
v-model="form.email"
placeholder="请输入邮件地址"
/>
<Field
:span="20"
label="联系电话"
prop="phoneNumber"
v-model="form.phoneNumber"
placeholder="请输入联系电话"
/>
<Field
:span="20"
label="身份证号码"
prop="idCard"
v-model="form.idCard"
placeholder="请输入身份证号码"
/>
<Field
:span="20"
label="所在公司"
prop="companyId"
v-model="form.companyId"
type="select"
:enumData="dict.companyId"
placeholder="请输入记录名片持有者所在公司或组织的名称ID"
/>
<Field
:span="20"
label="职位"
prop="positionId"
v-model="form.positionId"
type="select"
:enumData="dict.positionId"
placeholder="请输入职位ID"
/>
<Field
:span="20"
label="简介"
prop="bio"
v-model="form.bio"
type="textarea"
placeholder="请输入简介"
/>
<Field
:span="20"
label="社交媒体链接"
prop="socialMedia"
v-model="form.socialMedia"
type="textarea"
placeholder="请输入社交媒体链接, 可以是一个包含社交媒体账号的JSON对象或单独的字段"
/>
<Field
:span="20"
label="二维码图片"
prop="qRCode"
placeholder="请输入二维码图片"
><imageUpload v-model="form.qRCode" prePath="/file/preview" />
</Field>
<Field
:span="20"
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> </template>
<script> <script>
import form from "@/assets/mixins/formdialog"; import form from "@/assets/mixins/formdialog";
export default { export default {
name: "BussinesscardDetail", name: "BussinesscardDetail",
mixins: [form], mixins: [form],
components: { components: {},
created() {
}, this.changePath("bussinesscard");
created() { },
this.changePath("bussinesscard") data() {
}, return {
data() { // 遮罩层
return { loading: true,
// 遮罩层 // 弹出层标题
loading: true, title: "名片基本信息",
// 弹出层标题 // 是否显示弹出层
title: "名片基本信息", open: false,
// 是否显示弹出层 direction: "rtl",
open: false, toString: ["gender", "staffId", "companyId", "positionId"],
direction:"rtl", toDate: ["birthday"],
toString:[ // 表单校验
"gender", rules: {
"staffId", staffId: [{ required: true, message: "请选择员工", trigger: "blur" }],
"companyId", name: [
"positionId", { required: true, message: "请输入名片姓名", trigger: "blur" },
], { max: 64, message: "最多只能录入64个字符", trigger: "blur" },
toDate:[ ],
"birthday", companyId: [
], { required: true, message: "请选择所在公司", trigger: "blur" },
// 表单校验 ],
rules: {
staffId: [ positionId: [
{required: true,message: "请选择员工", trigger: "blur" }, { required: true, message: "请选择职位", trigger: "blur" },
], ],
name: [ },
{required: true,message: "请输入名片姓名", trigger: "blur" },
{max: 64,message: "最多只能录入64个字符",trigger: "blur",},
],
companyId: [
{required: true,message: "请选择所在公司", trigger: "blur" },
],
positionId: [
{required: true,message: "请选择职位", trigger: "blur" },
],
}
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="bussinesscard/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改名片基本信息";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "bussinesscard/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增名片基本信息";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="bussinesscard/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 : "",
name : "",
gender : 1,
birthday : null,
photoPath : "",
email : "",
phoneNumber : "",
idCard : "",
companyId : "",
companyName : "",
positionId : null,
positionName : "",
bio : "",
socialMedia : "",
qRCode : "",
remark : "",
sumViews : 0,
viewsByDay : 0,
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
}; };
},
methods: {
/** 编辑 */
edit(row) {
this.reset();
this.query = { id: row.id };
this.urls.currUrl = "bussinesscard/edit";
this.getData();
this.pageInfo.type = "edit";
this.title = "修改名片基本信息";
},
/** 新增 */
add(row) {
this.reset();
this.urls.currUrl = "bussinesscard/add";
this.getData();
this.pageInfo.type = "add";
this.title = "新增名片基本信息";
},
/** 查看*/
view(row) {
this.reset();
this.query = { id: row.id };
this.urls.currUrl = "bussinesscard/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: "",
name: "",
gender: 1,
birthday: null,
photoPath: "",
email: "",
phoneNumber: "",
idCard: "",
companyId: "",
companyName: "",
positionId: null,
positionName: "",
bio: "",
socialMedia: "",
qRCode: "",
remark: "",
sumViews: 0,
viewsByDay: 0,
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script> </script>
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
<p>当前选中的行政区划编码为: {{regionCodeList}}</p> <p>当前选中的行政区划编码为: {{regionCodeList}}</p>
<el-cascader v-model="regionCodeList" :props="areaprops"></el-cascader> <el-cascader v-model="regionCodeList" :props="areaprops"></el-cascader>
</Field>--> </Field>-->
<el-row> <!-- <el-row>
<Field <Field
:span="24" :span="24"
label="经营地址" label="经营地址"
...@@ -53,13 +53,14 @@ ...@@ -53,13 +53,14 @@
@addressSelect="addressSelect" @addressSelect="addressSelect"
></area-select> ></area-select>
</Field> </Field>
</el-row> </el-row> -->
<el-row> <el-row>
<!-- <Field label="所在地" prop="location" v-model="form.location" placeholder="请输入所在地"/> --> <!-- <Field label="所在地" prop="location" v-model="form.location" placeholder="请输入所在地"/> -->
<Field <Field
prop="location" prop="location"
v-model="form.location" v-model="form.location"
placeholder="请输入详细地址" label="经营地址"
placeholder="请输入详细经营地址"
/> />
</el-row> </el-row>
<el-row> <el-row>
...@@ -344,6 +345,9 @@ export default { ...@@ -344,6 +345,9 @@ export default {
{ validator: checkPhone, trigger: "blur" }, { validator: checkPhone, trigger: "blur" },
{ max: 32, message: "最多只能录入32个字符", trigger: "blur" }, { max: 32, message: "最多只能录入32个字符", trigger: "blur" },
], ],
location: [
{ required: true, message: "请输入经营地址", trigger: "blur" },
],
lon: [ lon: [
{ required: true, message: "请输入经度", trigger: "blur" }, { required: true, message: "请输入经度", trigger: "blur" },
{ max: 32, message: "最多只能录入32个字符", trigger: "blur" }, { max: 32, message: "最多只能录入32个字符", trigger: "blur" },
...@@ -363,13 +367,14 @@ export default { ...@@ -363,13 +367,14 @@ export default {
methods: { methods: {
hanndleSubmit() { hanndleSubmit() {
this.form.businessAdress = this.form.businessAdress = this.form.location;
this.$refs.areaselect.provinceName + // this.form.businessAdress =
this.$refs.areaselect.cityName + // this.$refs.areaselect.provinceName +
this.$refs.areaselect.areaName + // this.$refs.areaselect.cityName +
this.$refs.areaselect.streetName + // this.$refs.areaselect.areaName +
this.$refs.areaselect.communityName + // this.$refs.areaselect.streetName +
this.form.location; // this.$refs.areaselect.communityName +
// this.form.location;
// 检查知识产权list中类型不能为空 // 检查知识产权list中类型不能为空
if (this.companyPatentsList && this.companyPatentsList.length > 0) { if (this.companyPatentsList && this.companyPatentsList.length > 0) {
let isNull = false; let isNull = false;
......
<template>
<!-- 弹出框表单 -->
<el-drawer
:title="title"
:visible.sync="open"
:direction="direction"
:destroy-on-close="true"
size="50%"
>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<Field
:span="20"
label="图片名称"
prop="imageName"
v-model="form.imageName"
placeholder="请输入图片名称"
/>
<Field
:span="20"
label="图片类型"
prop="imageType"
v-model="form.imageType"
type="select"
:enum-data="dict.imageType"
placeholder="请选择图片类型"
/>
<Field :span="20" label="图片" prop="url" placeholder="请传入图片"
><imageUpload
v-model="form.url"
prePath="/file/preview"
:slotP="'请上传2MB以内的图片'"
/>
</Field>
</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: "FavoritesProductDetail",
mixins: [form],
components: {},
created() {
this.changePath("favorites/product");
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "收藏产品",
// 是否显示弹出层
open: false,
direction: "rtl",
toString: ["imageType"],
toDate: ["favoriteTime"],
// 表单校验
rules: {
imageName: [{ required: true, message: "请输入图片名称" }],
url: [{ required: true, message: "请上传图片" }],
},
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset();
this.query = { id: row.id };
this.urls.currUrl = "resourceImage/edit";
this.getData();
this.pageInfo.type = "edit";
this.title = "修改名片背景";
},
/** 新增 */
add(row) {
this.reset();
this.urls.currUrl = "resourceImage/add";
this.getData();
this.pageInfo.type = "add";
this.title = "新增名片背景";
},
/** 查看*/
view(row) {
this.reset();
this.query = { id: row.id };
this.urls.currUrl = "resourceImage/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 = {
imageName: null,
imageType: null,
url: "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
<template>
<div class="page">
<LayoutTable :data="tableData" notDel :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: "FavoritesProductList",
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: [
{
name: "imageType",
type: "select",
placeholder: "请选择图片类型",
label: "图片类型",
},
{
name: "imageName",
type: "text",
label: "图片名称",
fuzzy: true,
},
],
columns: [
{ type: "selection", width: 60 },
{ type: "index", label: "序号", width: 50 },
{ label: "图片名称", prop: "imageName", formatter: this.formatter },
{ label: "图片类型", prop: "imageType", formatter: this.formatter },
{
label: "图片",
prop: "url",
formatter: (row) => {
return row.url != "" ? (
<el-image
style="width: 70px; height: 70px"
src={row.url}
preview-src-list={[row.url]}
>
<div
slot="error"
class="image-slot"
style="width: 70px; height: 70px;display:flex;justify-content: center;align-items: center;"
>
<i
class="el-icon-picture-outline"
style="font-size:26px"
></i>
</div>
</el-image>
) : (
"--"
);
},
},
{
label: "操作",
width: 240,
formatter: (row) => {
return (
<table-buttons
noAdd
row={row}
onEdit={this.toEdit}
onView={this.toView}
onDel={this.toDel}
/>
);
},
},
],
},
};
},
};
</script>
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