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

Merge remote-tracking branch 'origin/master'

parents 6560ff65 0aace81a
export default { export default {
created() { created() {
// this.getData(); // this.getData();
}, },
beforeDestroy() { beforeDestroy() {
clearTimeout(this.loadingTimer); clearTimeout(this.loadingTimer);
...@@ -8,30 +8,30 @@ export default { ...@@ -8,30 +8,30 @@ export default {
methods: { methods: {
// 渲染前置处理 // 渲染前置处理
beforeRender(data) { beforeRender(data) {
return data console.log(data);
},
// 渲染后置处理
afterRender(data) {
return data;
}, },
// 渲染后置处理
afterRender(data) {},
// 提交表单的前置处理 // 提交表单的前置处理
beforeSubmit(data) { beforeSubmit(data) {
return data return data;
}, },
// 提交表单的后置处理, 会阻断默认的回退行为 // 提交表单的后置处理, 会阻断默认的回退行为
afterSubmit(data) { afterSubmit(data) {
this.$router.go(-1); this.$router.go(-1);
}, },
// 开启、关闭 // 开启、关闭
changePath(path) { changePath(path) {
this.pageInfo.list = path + "/list"; this.pageInfo.list = path + "/list";
this.pageInfo.del = path + "/delete"; this.pageInfo.del = path + "/delete";
this.pageInfo.add = path + "/add"; this.pageInfo.add = path + "/add";
this.pageInfo.edit = path + "/edit"; this.pageInfo.edit = path + "/edit";
this.pageInfo.view = path + "/view"; this.pageInfo.view = path + "/view";
}, },
// 默认拉取数据 // 默认拉取数据
getData() { getData() {
this.loading = true; this.loading = true;
...@@ -46,19 +46,19 @@ export default { ...@@ -46,19 +46,19 @@ export default {
res.entity = this.util_toDateStr(res.entity, this.toDate); res.entity = this.util_toDateStr(res.entity, this.toDate);
this.form = Object.assign({}, this.form, res.entity); this.form = Object.assign({}, this.form, res.entity);
this.dict = Object.assign({}, this.dict, res.dict); this.dict = Object.assign({}, this.dict, res.dict);
this.afterRender(res); this.afterRender(res);
}) })
.catch(error => { .catch((error) => {
this.$message.error(error.message) this.$message.error(error.message);
throw error throw error;
}) })
.then(data => { .then((data) => {
clearTimeout(this.loadingTimer); clearTimeout(this.loadingTimer);
this.loadingTimer = setTimeout(() => { this.loadingTimer = setTimeout(() => {
this.loading = false; this.loading = false;
}, 300); }, 300);
}) });
}, },
// 提交表单 // 提交表单
submitForm(ref) { submitForm(ref) {
...@@ -67,70 +67,83 @@ export default { ...@@ -67,70 +67,83 @@ export default {
el.validate((valid) => { el.validate((valid) => {
if (!valid) return; if (!valid) return;
this.loading = true; this.loading = true;
this.$post(this.urls.saveUrl || this.pageInfo.saveUrl, this.beforeSubmit(this.form)) this.$post(
.then(res => { this.urls.saveUrl || this.pageInfo.saveUrl,
this.beforeSubmit(this.form)
)
.then((res) => {
this.$message.success(res.msg); this.$message.success(res.msg);
this.afterSubmit(res); this.afterSubmit(res);
}) })
.catch(error => { .catch((error) => {
this.$message.error(error.message); this.$message.error(error.message);
}) })
.then(data => { .then((data) => {
clearTimeout(this.loadingTimer); clearTimeout(this.loadingTimer);
this.loadingTimer = setTimeout(() => { this.loadingTimer = setTimeout(() => {
this.loading = false; this.loading = false;
}, 200); }, 200);
}) });
}); });
}, },
// 复制一个数组或对象 // 复制一个数组或对象
util_copy(data) { util_copy(data) {
return JSON.parse(JSON.stringify(data)) return JSON.parse(JSON.stringify(data));
}, },
// 工具方法,把数字转化为字符串 // 工具方法,把数字转化为字符串
util_toString(data, array) { util_toString(data, array) {
//原始数据 //原始数据
const dataCopy = Object.assign({}, data); const dataCopy = Object.assign({}, data);
array.forEach(item => { array.forEach((item) => {
//如果相等做操作 //如果相等做操作
dataCopy[item] = dataCopy[item] === undefined ? '' : dataCopy[item] + ''; dataCopy[item] =
}) dataCopy[item] === undefined ? "" : dataCopy[item] + "";
});
return dataCopy; return dataCopy;
}, },
// 工具方法,把字符串转化为数组 // 工具方法,把字符串转化为数组
util_toArrays(data, array) { util_toArrays(data, array) {
const dataCopy = Object.assign({}, data); const dataCopy = Object.assign({}, data);
array.forEach(item => { array.forEach((item) => {
dataCopy[item] = dataCopy[item] === undefined ? [] : dataCopy[item].split(","); dataCopy[item] =
}) dataCopy[item] === undefined || dataCopy[item] === ""
? []
: dataCopy[item].split(",");
});
return dataCopy; return dataCopy;
}, },
// 工具方法,把字符串转化为格式化日期 // 工具方法,把字符串转化为格式化日期
util_toDateStr(data, array) { util_toDateStr(data, array) {
const dataCopy = Object.assign({}, data); const dataCopy = Object.assign({}, data);
array.forEach(item => { array.forEach((item) => {
dataCopy[item] = dataCopy[item] === undefined ? '' : this.util_formatterDate(dataCopy[item]); dataCopy[item] =
}) dataCopy[item] === undefined
? ""
: this.util_formatterDate(dataCopy[item]);
});
return dataCopy; return dataCopy;
}, },
util_formatterDate(time) { util_formatterDate(time) {
let date = new Date(Number(time)); let date = new Date(Number(time));
let Y = date.getFullYear() + '-'; let Y = date.getFullYear() + "-";
let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; let M =
let D = this.panLeft(date.getDate()) + ' '; (date.getMonth() + 1 < 10
let h = this.panLeft(date.getHours()) + ':'; ? "0" + (date.getMonth() + 1)
let m = this.panLeft(date.getMinutes()) + ':'; : date.getMonth() + 1) + "-";
let D = this.panLeft(date.getDate()) + " ";
let h = this.panLeft(date.getHours()) + ":";
let m = this.panLeft(date.getMinutes()) + ":";
let s = this.panLeft(date.getSeconds()); let s = this.panLeft(date.getSeconds());
return Y + M + D + h + m + s; return Y + M + D + h + m + s;
}, },
panLeft(num) { panLeft(num) {
return num < 10 ? '0' + num : num; return num < 10 ? "0" + num : num;
}, },
// 从dict字段暴力取值,取不到则返回原值 // 从dict字段暴力取值,取不到则返回原值
util_formatter(key, val) { util_formatter(key, val) {
try { try {
return this.dict[key][val] return this.dict[key][val];
} catch (error) { } catch (error) {
return val; return val;
} }
...@@ -143,24 +156,24 @@ export default { ...@@ -143,24 +156,24 @@ export default {
} }
}); });
}, 0); }, 0);
} },
}, },
computed: { computed: {
pageInfo() { pageInfo() {
let currUrl = this.$route.path; let currUrl = this.$route.path;
let urlArray = currUrl.split('/'); let urlArray = currUrl.split("/");
let type = urlArray.pop(); let type = urlArray.pop();
urlArray.push('save'); urlArray.push("save");
let saveUrl = urlArray.join('/'); let saveUrl = urlArray.join("/");
urlArray.pop(); urlArray.pop();
urlArray.push('edit'); urlArray.push("edit");
let editUrl = urlArray.join('/'); let editUrl = urlArray.join("/");
urlArray.pop(); urlArray.pop();
urlArray.push('add'); urlArray.push("add");
let addUrl = urlArray.join('/'); let addUrl = urlArray.join("/");
urlArray.pop(); urlArray.pop();
urlArray.push('view'); urlArray.push("view");
let viewUrl = urlArray.join('/'); let viewUrl = urlArray.join("/");
return { return {
type, type,
currUrl, currUrl,
...@@ -184,9 +197,6 @@ export default { ...@@ -184,9 +197,6 @@ export default {
toString: [], // 需要把number转化为string的表单字段name数组 toString: [], // 需要把number转化为string的表单字段name数组
toArrays: [], // 需要把number转化为arrays的表单字段name数组 toArrays: [], // 需要把number转化为arrays的表单字段name数组
toDate: [], // 需要把number转化为date的表单字段name数组 toDate: [], // 需要把number转化为date的表单字段name数组
} };
} },
} };
...@@ -49,6 +49,7 @@ ...@@ -49,6 +49,7 @@
:file-list="imgList" :file-list="imgList"
accept=".jpeg,.png,.jpg,.bmp,.gif" accept=".jpeg,.png,.jpg,.bmp,.gif"
:headers="headers" :headers="headers"
:limit="limit"
v-else v-else
> >
<i class="el-icon-plus"></i> <i class="el-icon-plus"></i>
...@@ -98,6 +99,10 @@ export default { ...@@ -98,6 +99,10 @@ export default {
type: Boolean, type: Boolean,
default: false, default: false,
}, },
limit: {
type: Number,
default: undefined,
},
}, },
mounted() { mounted() {
// 判断是否为多图上传 // 判断是否为多图上传
......
<template> <template>
<div class="page"> <div class="page">
<LayoutTable :data="tableData" :config="tableConfig" notDel> <LayoutTable :data="tableData" :config="tableConfig" notDel> </LayoutTable>
</LayoutTable>
<drawer-show ref="drawerform" @ok="getData" /> <drawer-show ref="drawerform" @ok="getData" />
</div> </div>
</template> </template>
<script> <script>
/** 表单弹出框模式需引入 */ /** 表单弹出框模式需引入 */
import drawerShow from "./drawershow"; import drawerShow from "./drawershow";
import table from "@/assets/mixins/table"; import table from "@/assets/mixins/table";
export default { export default {
name: "CompanyList", name: "CompanyList",
components: { components: {
drawerShow drawerShow,
}, },
mixins: [table], mixins: [table],
created() { created() {},
}, methods: {
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: "companyName",
type: "text",
label: "公司名称",
fuzzy: true,
},
],
columns: [
{ type: "index", label: "序号", width: 50 },
/** 重写新增方法 */ { label: "公司名称", prop: "companyName" },
toAdd(row) {
this.$refs.drawerform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.drawerform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.drawerform.view(row);
},
},
data() {
return {
config: { { label: "联系电话", prop: "contactPhone" },
search: [
{
name: "companyName",
type: "text",
label: "公司名称",
fuzzy: true,
},
],
columns: [
{type: "index",label: "序号",width: 50},
{label: "公司名称", prop: "companyName"}, {
label: "经营地址",
prop: "businessAdress",
formatter: this.formatters,
},
{label: "联系电话", prop: "contactPhone"}, {
label: "描述",
prop: "companyIntroduction",
formatter: this.formatters,
},
{label: "经营地址", prop: "businessAdress",formatter: this.formatters}, {
label: "更新时间",
prop: "updateTime",
formatter: this.formatterDate,
},
{label: "描述", prop: "companyIntroduction",formatter: this.formatters}, {
label: "操作",
{label: "更新时间", prop: "createTime", formatter: this.formatterDate}, width: 240,
formatter: (row) => {
{ return (
label: "操作", <table-buttons
width: 240, noAdd
formatter: row => { noView
return ( row={row}
<table-buttons noAdd noView row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} /> onEdit={this.toEdit}
); onView={this.toView}
} onDel={this.toDel}
} />
] );
} },
}; },
} ],
},
}; };
},
};
</script> </script>
<template> <template>
<div class="page"> <div class="page">
<LayoutTable :data="tableData" notAdd notDel :config="tableConfig"> <LayoutTable :data="tableData" notAdd notDel :config="tableConfig">
</LayoutTable> </LayoutTable>
<drawer-show ref="drawerform" @ok="getData" />
<drawer-show ref="drawerform" @ok="getData" /> </div>
</div>
</template> </template>
<script> <script>
/** 表单弹出框模式需引入 */ /** 表单弹出框模式需引入 */
import drawerShow from "./drawershow"; import drawerShow from "./drawershow";
import table from "@/assets/mixins/table"; import table from "@/assets/mixins/table";
export default { export default {
name: "FavoritesProductList", name: "FavoritesProductList",
components: { components: {
drawerShow drawerShow,
}, },
mixins: [table], mixins: [table],
created() { created() {},
}, methods: {
methods: { /** 重写新增方法 */
/** 重写新增方法 */ toAdd(row) {
toAdd(row) { this.$refs.drawerform.add(row);
this.$refs.drawerform.add(row); },
}, /** 重写编辑方法 */
/** 重写编辑方法 */ toEdit(row) {
toEdit(row) { this.$refs.drawerform.edit(row);
this.$refs.drawerform.edit(row); },
}, /** 重写查看方法 */
/** 重写查看方法 */ toView(row) {
toView(row) { this.$refs.drawerform.view(row);
this.$refs.drawerform.view(row); },
}, },
data() {
}, return {
data() { config: {
return { search: [],
config: { columns: [
search: [ { type: "selection", width: 60 },
], { type: "index", label: "序号", width: 50 },
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{label: "用户", prop: "userId", formatter: this.formatter}, { label: "用户", prop: "userId", formatter: this.formatter },
{label: "产品", prop: "productId", formatter: this.formatter}, { label: "产品", prop: "productId", formatter: this.formatter },
{label: "创建用户", prop: "createUserId", formatter: this.formatter}, {
{ label: "创建用户",
label: "操作", prop: "createUserId",
width: 240, formatter: this.formatter,
formatter: row => { },
return ( {
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} /> label: "操作",
); width: 240,
} formatter: (row) => {
} return (
] <table-buttons
} noAdd
}; row={row}
} onEdit={this.toEdit}
onView={this.toView}
onDel={this.toDel}
/>
);
},
},
],
},
}; };
},
};
</script> </script>
...@@ -64,6 +64,7 @@ ...@@ -64,6 +64,7 @@
prop="deptId" prop="deptId"
v-model="form.deptId" v-model="form.deptId"
placeholder="请输入所属部门" placeholder="请输入所属部门"
:enum-data="dict.deptId"
/> />
</el-row> </el-row>
<!-- <el-row> <!-- <el-row>
...@@ -271,6 +272,11 @@ export default { ...@@ -271,6 +272,11 @@ export default {
cancel() { cancel() {
this.open = false; this.open = false;
}, },
/**获取数据前弹框 */
beforeRender(data) {
data.entity.deptId = String(data.entity.deptId);
return data;
},
/**获取数据后弹框 */ /**获取数据后弹框 */
afterRender(data) { afterRender(data) {
this.open = true; this.open = true;
......
...@@ -169,17 +169,38 @@ export default { ...@@ -169,17 +169,38 @@ export default {
width: 240, width: 240,
formatter: (row) => { formatter: (row) => {
return ( return (
<el-button <table-buttons
type="text" noAdd
icon="el-icon-edit" noView
size="mini" row={row}
onClick={() => { onEdit={this.toEdit}
this.toEdit(row); onView={this.toView}
}} onDel={this.toDel}
title="详情" />
> // <div>
详情 // <el-button
</el-button> // type="text"
// icon="el-icon-edit"
// size="mini"
// onClick={() => {
// this.toEdit(row);
// }}
// title="详情"
// >
// 详情
// </el-button>
// <el-button
// type="text"
// icon="el-icon-edit"
// size="mini"
// onClick={() => {
// this.toEdit(row);
// }}
// title="详情"
// >
// 删除
// </el-button>
// </div>
); );
}, },
}, },
......
<template> <template>
<div class="page"> <div class="page">
<LayoutTable :data="tableData" :config="tableConfig"> <LayoutTable :data="tableData" :config="tableConfig"> </LayoutTable>
</LayoutTable>
<drawer-show ref="drawerform" @ok="getData" />
<drawer-show ref="drawerform" @ok="getData" /> </div>
</div>
</template> </template>
<script> <script>
/** 表单弹出框模式需引入 */ /** 表单弹出框模式需引入 */
import drawerShow from "./drawershow"; import drawerShow from "./drawershow";
import table from "@/assets/mixins/table"; import table from "@/assets/mixins/table";
export default { export default {
name: "LabelsList", name: "LabelsList",
components: { components: {
drawerShow drawerShow,
}, },
mixins: [table], mixins: [table],
created() { created() {},
}, methods: {
methods: { /** 重写新增方法 */
/** 重写新增方法 */ toAdd(row) {
toAdd(row) { this.$refs.drawerform.add(row);
this.$refs.drawerform.add(row); },
}, /** 重写编辑方法 */
/** 重写编辑方法 */ toEdit(row) {
toEdit(row) { this.$refs.drawerform.edit(row);
this.$refs.drawerform.edit(row); },
}, /** 重写查看方法 */
/** 重写查看方法 */ toView(row) {
toView(row) { this.$refs.drawerform.view(row);
this.$refs.drawerform.view(row); },
}, },
data() {
}, return {
data() { config: {
return { search: [
config: { {
search: [ name: "labelName",
type: "text",
label: "标签名称",
},
],
columns: [
{ type: "selection", width: 60 },
{ type: "index", label: "序号", width: 50 },
{ { label: "标签名称", prop: "labelName" },
name: "labelName",
type: "text",
label: "标签名称"
}
],
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{label: "标签名称", prop: "labelName"}, // { label: "标签描述", prop: "labelDesc", formatter: this.formatters },
{label: "标签描述", prop: "labelDesc",formatter: this.formatters},
{label: "标签图标", prop: "labelLogoPath",formatter: (row) => {
return row.labelLogoPath != "" ? (
<el-image
style="width: 70px; height: 70px"
src={row.labelLogoPath}
preview-src-list={[row.labelLogoPath]}
></el-image>
) : (
"--"
);
},},
{
label: "标签图标",
prop: "labelLogoPath",
formatter: (row) => {
return row.labelLogoPath != "" ? (
<el-image
style="width: 70px; height: 70px"
src={row.labelLogoPath}
preview-src-list={[row.labelLogoPath]}
></el-image>
) : (
"--"
);
},
},
{label: "创建时间", prop: "createTime", formatter: this.formatterDate}, {
{ label: "创建时间",
label: "操作", prop: "createTime",
width: 240, formatter: this.formatterDate,
formatter: row => { },
return ( {
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} /> label: "操作",
); width: 240,
} formatter: (row) => {
} return (
] <table-buttons
} noAdd
}; row={row}
} onEdit={this.toEdit}
onView={this.toView}
onDel={this.toDel}
/>
);
},
},
],
},
}; };
},
};
</script> </script>
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
:visible.sync="open" :visible.sync="open"
:direction="direction" :direction="direction"
:destroy-on-close="true" :destroy-on-close="true"
size="100%" size="70%"
> >
<el-form ref="form" :model="form" :rules="rules" label-width="120px"> <el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div class="form"> <div class="form">
...@@ -37,6 +37,7 @@ ...@@ -37,6 +37,7 @@
v-model="form.titleLogoPath" v-model="form.titleLogoPath"
prePath="/file/preview" prePath="/file/preview"
:isList="true" :isList="true"
:limit="9"
ref="imgList" ref="imgList"
/> />
</Field> </Field>
...@@ -174,13 +175,17 @@ export default { ...@@ -174,13 +175,17 @@ export default {
cancel() { cancel() {
this.open = false; this.open = false;
}, },
/**获取数据前弹框 */
beforeRender(data) {
data.entity.deptId = String(data.entity.deptId);
return data;
},
/**获取数据后弹框 */ /**获取数据后弹框 */
afterRender(data) { afterRender(data) {
this.open = true; this.open = true;
}, },
// 提交前数据处理 // 提交前数据处理
beforeSubmit(data) { beforeSubmit(data) {
console.log(data, "123");
let arr = []; let arr = [];
arr = this.$refs.imgList.imgList.map((v) => { arr = this.$refs.imgList.imgList.map((v) => {
return v.response ? v.response.url : v.url.substr(v.url.indexOf("f")); return v.response ? v.response.url : v.url.substr(v.url.indexOf("f"));
......
...@@ -138,7 +138,7 @@ export default { ...@@ -138,7 +138,7 @@ export default {
{ {
label: "创建时间", label: "创建时间",
prop: "createDateTime", prop: "createTime",
formatter: this.formatterDate, formatter: this.formatterDate,
}, },
......
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