From 2cec09706b01d65def3f945bdcde13e620a71c2e Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Mon, 29 Jan 2024 17:28:19 +0800
Subject: [PATCH] Merge branch 'master' of http://s16s652780.51mypc.cn:49896/r/jczz_web
---
src/views/article/discussionManage.vue | 1414 +-
src/option/system/dictbiz.js | 397
src/views/resource/oss.vue | 2
src/views/article/components/deitDiscussion.vue | 781 +-
src/views/gzll/owners.vue | 2
src/views/cGovernance/punchCard.vue | 3
src/option/system/dict.js | 396
src/views/propertySupervision/ownersCommittee.vue | 1184 +-
src/views/work/claim.vue | 2
src/views/property/propertyCapitalApply.vue | 1
src/option/system/dictCategory.js | 395
src/views/grid/index.vue | 1
src/views/resource/attach.vue | 1
src/views/task/reportForRepairs.vue | 2
src/views/authority/apiscope.vue | 1199 +-
src/views/propertySupervision/residentSupervision.vue | 2
src/views/article/publicSignUp.vue | 1328 +-
src/views/system/topmenu.vue | 592
src/views/authority/datascope.vue | 1366 +-
src/views/monitor/log/error.vue | 3
src/views/property/oiae.vue | 3
src/views/property/propertyCharge.vue | 1
src/views/flow/follow.vue | 1
src/views/propertySupervision/houseHoldSupervision.vue | 1
src/views/system/menu.vue | 842 +-
src/views/property/propertyChargeRecord.vue | 3
src/views/work/send.vue | 1
src/views/authority/role.vue | 2
src/views/community/index.vue | 675
src/views/article/rotation.vue | 3
src/views/grid/gridman.vue | 1
src/views/userHouse/houseHoldList.vue | 2
src/views/propertySupervision/propertyEvaluation.vue | 1099 +-
src/views/system/client.vue | 619
src/views/article/articleWords.vue | 923 +-
src/views/district/index.vue | 1
src/views/cGovernance/gridPatrolRecord.vue | 3
src/views/userHouse/houseList.vue | 2
src/views/system/user.vue | 1787 ++--
src/views/property/propertyCompany.vue | 1097 +-
src/views/system/tenant.vue | 1041 +-
src/views/report/reportlist.vue | 1
src/views/cGovernance/taskECall.vue | 1
src/views/article/components/publicSignUpChild.vue | 689
src/views/flow/manager.vue | 1
src/views/userHouse/hireInfoList.vue | 2
src/views/publicSecurity/bailReporting.vue | 908 +-
src/views/monitor/log/usual.vue | 3
src/views/task/index.vue | 1
src/const/tool/model.js | 641
src/views/place/index.vue | 5
src/views/property/convenienceHotline.vue | 1
src/views/flow/model.vue | 1
src/views/article/articleComment.vue | 1
src/views/propertySupervision/propertyCompanyDistrict.vue | 726
src/option/convenienceHotline/convenienceHotline.js | 62
src/views/article/article.vue | 3
src/views/system/dept.vue | 2
src/views/property/inviteTenders.vue | 3
src/views/property/partyOrganization.vue | 1
src/views/cGovernance/reportForRepairs.vue | 3
src/views/cGovernance/gridWorkLog.vue | 47
src/views/tool/code.vue | 2
src/views/property/propertyCompanyDistrict.vue | 1
src/views/resource/sms.vue | 2
src/views/publicSecurity/keynotePlaceManage.vue | 1061 +-
src/views/system/post.vue | 515
src/views/work/start.vue | 1
src/views/monitor/log/api.vue | 3
src/views/property/ownersCommittee.vue | 3
70 files changed, 10,868 insertions(+), 11,000 deletions(-)
diff --git a/src/const/tool/model.js b/src/const/tool/model.js
index 21be0e2..5e391fc 100644
--- a/src/const/tool/model.js
+++ b/src/const/tool/model.js
@@ -1,343 +1,344 @@
export const switchDic = [
- {
- label: "",
- value: 0,
- },
- {
- label: "",
- value: 1,
- },
-];
+ {
+ label: "",
+ value: 0,
+ },
+ {
+ label: "",
+ value: 1,
+ },
+]
export const entityDic = [
- {
- label: "String",
- value: "java.lang.String",
- },
- {
- label: "Integer",
- value: "java.lang.Integer",
- },
- {
- label: "Long",
- value: "java.lang.Long",
- },
- {
- label: "Double",
- value: "java.lang.Double",
- },
- {
- label: "BigDecimal",
- value: "java.math.BigDecimal",
- },
- {
- label: "Boolean",
- value: "java.lang.Boolean",
- },
- {
- label: "Date",
- value: "java.util.Date",
- },
-];
+ {
+ label: "String",
+ value: "java.lang.String",
+ },
+ {
+ label: "Integer",
+ value: "java.lang.Integer",
+ },
+ {
+ label: "Long",
+ value: "java.lang.Long",
+ },
+ {
+ label: "Double",
+ value: "java.lang.Double",
+ },
+ {
+ label: "BigDecimal",
+ value: "java.math.BigDecimal",
+ },
+ {
+ label: "Boolean",
+ value: "java.lang.Boolean",
+ },
+ {
+ label: "Date",
+ value: "java.util.Date",
+ },
+]
export const componentDic = [
- {
- label: "单行文本",
- value: "input",
- },
- {
- label: "多行文本",
- value: "textarea",
- },
- {
- label: "富文本",
- value: "editor",
- },
- {
- label: "下拉选项",
- value: "select",
- },
- {
- label: "树形下拉选项",
- value: "tree",
- },
- {
- label: "单选框",
- value: "radio",
- },
- {
- label: "多选框",
- value: "checkbox",
- },
- {
- label: "开关框",
- value: "switch",
- },
- {
- label: "日期框",
- value: "date",
- },
-];
+ {
+ label: "单行文本",
+ value: "input",
+ },
+ {
+ label: "多行文本",
+ value: "textarea",
+ },
+ {
+ label: "富文本",
+ value: "editor",
+ },
+ {
+ label: "下拉选项",
+ value: "select",
+ },
+ {
+ label: "树形下拉选项",
+ value: "tree",
+ },
+ {
+ label: "单选框",
+ value: "radio",
+ },
+ {
+ label: "多选框",
+ value: "checkbox",
+ },
+ {
+ label: "开关框",
+ value: "switch",
+ },
+ {
+ label: "日期框",
+ value: "date",
+ },
+]
export const queryDic = [
- {
- label: "等于",
- value: "equal",
- },
- {
- label: "不等于",
- value: "notequal",
- },
- {
- label: "大于",
- value: "gt",
- },
- {
- label: "大于等于",
- value: "ge",
- },
- {
- label: "小于",
- value: "lt",
- },
- {
- label: "小于等于",
- value: "le",
- },
- {
- label: "区间",
- value: "between",
- },
- {
- label: "模糊",
- value: "like",
- },
- {
- label: "左模糊",
- value: "likeleft",
- },
- {
- label: "右模糊",
- value: "likeright",
- },
-];
+ {
+ label: "等于",
+ value: "equal",
+ },
+ {
+ label: "不等于",
+ value: "notequal",
+ },
+ {
+ label: "大于",
+ value: "gt",
+ },
+ {
+ label: "大于等于",
+ value: "ge",
+ },
+ {
+ label: "小于",
+ value: "lt",
+ },
+ {
+ label: "小于等于",
+ value: "le",
+ },
+ {
+ label: "区间",
+ value: "between",
+ },
+ {
+ label: "模糊",
+ value: "like",
+ },
+ {
+ label: "左模糊",
+ value: "likeleft",
+ },
+ {
+ label: "右模糊",
+ value: "likeright",
+ },
+]
export const templateDic = [
- {
- label: "单表",
- value: "crud",
- },
- {
- label: "主子表",
- value: "sub",
- },
- {
- label: "树表",
- value: "tree",
- },
-];
+ {
+ label: "单表",
+ value: "crud",
+ },
+ {
+ label: "主子表",
+ value: "sub",
+ },
+ {
+ label: "树表",
+ value: "tree",
+ },
+]
export const option = {
- height: "auto",
- searchShow: true,
- searchMenuSpan: 6,
- tip: false,
- border: true,
- index: true,
- viewBtn: true,
- selection: true,
- menuWidth: 250,
- column: [
- {
- label: "数据源",
- prop: "datasourceId",
- searchSpan: 4,
- search: true,
- span: 24,
- type: "select",
- dicUrl: "/api/blade-develop/datasource/select",
- props: {
- label: "name",
- value: "id",
- },
- rules: [
+ height: "auto",
+ searchShow: true,
+ searchMenuSpan: 6,
+ tip: false,
+ border: true,
+ index: true,
+ viewBtn: true,
+ selection: true,
+ menuWidth: 250,
+ column: [
{
- required: true,
- message: "请选择数据源",
- trigger: "blur",
+ label: "数据源",
+ prop: "datasourceId",
+ searchSpan: 4,
+ search: true,
+ searchLabelWidth: 60,
+ span: 24,
+ type: "select",
+ dicUrl: "/api/blade-develop/datasource/select",
+ props: {
+ label: "name",
+ value: "id",
+ },
+ rules: [
+ {
+ required: true,
+ message: "请选择数据源",
+ trigger: "blur",
+ },
+ ],
},
- ],
- },
- {
- label: "物理表名",
- prop: "modelTable",
- type: "tree",
- slot: true,
- dicData: [],
- props: {
- label: "comment",
- value: "name",
- },
- rules: [
{
- required: true,
- message: "请输入数据库表名",
- trigger: "blur",
+ label: "物理表名",
+ prop: "modelTable",
+ type: "tree",
+ slot: true,
+ dicData: [],
+ props: {
+ label: "comment",
+ value: "name",
+ },
+ rules: [
+ {
+ required: true,
+ message: "请输入数据库表名",
+ trigger: "blur",
+ },
+ ],
},
- ],
- },
- {
- label: "模型类名",
- prop: "modelClass",
- rules: [
{
- required: true,
- message: "请输入模型类名",
- trigger: "blur",
+ label: "模型类名",
+ prop: "modelClass",
+ rules: [
+ {
+ required: true,
+ message: "请输入模型类名",
+ trigger: "blur",
+ },
+ ],
},
- ],
- },
- {
- label: "模型名称",
- prop: "modelName",
- searchSpan: 4,
- search: true,
- rules: [
{
- required: true,
- message: "请输入模型名称",
- trigger: "blur",
+ label: "模型名称",
+ prop: "modelName",
+ searchSpan: 4,
+ search: true,
+ rules: [
+ {
+ required: true,
+ message: "请输入模型名称",
+ trigger: "blur",
+ },
+ ],
},
- ],
- },
- {
- label: "模型编号",
- prop: "modelCode",
- searchSpan: 4,
- search: true,
- rules: [
{
- required: true,
- message: "请输入模型编号",
- trigger: "blur",
+ label: "模型编号",
+ prop: "modelCode",
+ searchSpan: 4,
+ search: true,
+ rules: [
+ {
+ required: true,
+ message: "请输入模型编号",
+ trigger: "blur",
+ },
+ ],
},
- ],
- },
- {
- label: "模型备注",
- prop: "modelRemark",
- hide: true,
- span: 24,
- },
- ],
-};
+ {
+ label: "模型备注",
+ prop: "modelRemark",
+ hide: true,
+ span: 24,
+ },
+ ],
+}
export const optionModel = {
- border: true,
- index: true,
- addBtn: false,
- editBtn: false,
- addRowBtn: false,
- cellBtn: false,
- cancelBtn: false,
- tip: false,
- menu: false,
- selection: true,
- column: [
- {
- label: "物理列名",
- prop: "jdbcName",
- },
- {
- label: "物理类型",
- prop: "jdbcType",
- },
- {
- label: "实体列名",
- prop: "propertyName",
- cell: true,
- },
- {
- label: "实体类型",
- prop: "propertyEntity",
- type: "select",
- dicData: entityDic,
- cell: true,
- },
- {
- label: "字段说明",
- prop: "jdbcComment",
- cell: true,
- },
- {
- label: "列表显示",
- prop: "isList",
- type: "switch",
- dicData: switchDic,
- align: "center",
- width: 80,
- cell: true,
- },
- {
- label: "表单显示",
- prop: "isForm",
- type: "switch",
- dicData: switchDic,
- align: "center",
- width: 80,
- cell: true,
- },
- {
- label: "独占一行",
- prop: "isRow",
- type: "switch",
- dicData: switchDic,
- align: "center",
- width: 80,
- cell: true,
- },
- {
- label: "必填",
- prop: "isRequired",
- type: "switch",
- dicData: switchDic,
- align: "center",
- width: 80,
- cell: true,
- },
- {
- label: "组件类型",
- prop: "componentType",
- type: "select",
- dicData: componentDic,
- cell: true,
- },
- {
- label: "字典编码",
- prop: "dictCode",
- type: "select",
- dicUrl: "/api/blade-system/dict/select",
- props: {
- label: "dictValue",
- value: "code",
- },
- cell: true,
- },
- {
- label: "查询配置",
- prop: "isQuery",
- type: "switch",
- dicData: switchDic,
- align: "center",
- width: 80,
- cell: true,
- },
- {
- label: "查询类型",
- prop: "queryType",
- type: "select",
- dicData: queryDic,
- cell: true,
- },
- ],
-};
+ border: true,
+ index: true,
+ addBtn: false,
+ editBtn: false,
+ addRowBtn: false,
+ cellBtn: false,
+ cancelBtn: false,
+ tip: false,
+ menu: false,
+ selection: true,
+ column: [
+ {
+ label: "物理列名",
+ prop: "jdbcName",
+ },
+ {
+ label: "物理类型",
+ prop: "jdbcType",
+ },
+ {
+ label: "实体列名",
+ prop: "propertyName",
+ cell: true,
+ },
+ {
+ label: "实体类型",
+ prop: "propertyEntity",
+ type: "select",
+ dicData: entityDic,
+ cell: true,
+ },
+ {
+ label: "字段说明",
+ prop: "jdbcComment",
+ cell: true,
+ },
+ {
+ label: "列表显示",
+ prop: "isList",
+ type: "switch",
+ dicData: switchDic,
+ align: "center",
+ width: 80,
+ cell: true,
+ },
+ {
+ label: "表单显示",
+ prop: "isForm",
+ type: "switch",
+ dicData: switchDic,
+ align: "center",
+ width: 80,
+ cell: true,
+ },
+ {
+ label: "独占一行",
+ prop: "isRow",
+ type: "switch",
+ dicData: switchDic,
+ align: "center",
+ width: 80,
+ cell: true,
+ },
+ {
+ label: "必填",
+ prop: "isRequired",
+ type: "switch",
+ dicData: switchDic,
+ align: "center",
+ width: 80,
+ cell: true,
+ },
+ {
+ label: "组件类型",
+ prop: "componentType",
+ type: "select",
+ dicData: componentDic,
+ cell: true,
+ },
+ {
+ label: "字典编码",
+ prop: "dictCode",
+ type: "select",
+ dicUrl: "/api/blade-system/dict/select",
+ props: {
+ label: "dictValue",
+ value: "code",
+ },
+ cell: true,
+ },
+ {
+ label: "查询配置",
+ prop: "isQuery",
+ type: "switch",
+ dicData: switchDic,
+ align: "center",
+ width: 80,
+ cell: true,
+ },
+ {
+ label: "查询类型",
+ prop: "queryType",
+ type: "select",
+ dicData: queryDic,
+ cell: true,
+ },
+ ],
+}
diff --git a/src/option/convenienceHotline/convenienceHotline.js b/src/option/convenienceHotline/convenienceHotline.js
index 9e16bb7..3e2e5be 100644
--- a/src/option/convenienceHotline/convenienceHotline.js
+++ b/src/option/convenienceHotline/convenienceHotline.js
@@ -1,40 +1,40 @@
export default {
- height: "auto",
- calcHeight: 54,
- dialogWidth: 950,
- tip: false,
- searchShow: true,
- searchMenuSpan: 3,
- menuWidth: 450,
- border: false,
- viewBtn: true,
- selection: true,
- excelBtn: true,
- dialogClickModal: false,
- column: [{
- label: 'ID',
- prop: 'id',
- searchSpan: 4,
- // search: true,
- display: false,
+ height: "auto",
+ calcHeight: 54,
+ dialogWidth: 950,
+ tip: false,
+ searchShow: true,
+ searchMenuSpan: 3,
+ menuWidth: 450,
+ border: true,
+ viewBtn: true,
+ selection: true,
+ excelBtn: true,
+ dialogClickModal: false,
+ column: [{
+ label: 'ID',
+ prop: 'id',
+ searchSpan: 4,
+ // search: true,
+ display: false,
},
{
- label: '名称',
- prop: 'name',
- searchSpan: 4,
- search: true,
+ label: '名称',
+ prop: 'name',
+ searchSpan: 4,
+ search: true,
},
{
- label: '电话',
- prop: 'telephone',
- searchSpan: 4,
- search: true,
+ label: '电话',
+ prop: 'telephone',
+ searchSpan: 4,
+ search: true,
},
{
- label: '描述',
- prop: 'remark',
- searchSpan: 4,
- // search: true,
+ label: '描述',
+ prop: 'remark',
+ searchSpan: 4,
+ // search: true,
},
- ]
+ ]
}
diff --git a/src/option/system/dict.js b/src/option/system/dict.js
index f90d3c3..5bd3ce0 100644
--- a/src/option/system/dict.js
+++ b/src/option/system/dict.js
@@ -1,210 +1,212 @@
export const optionParent = {
- height: 'auto',
- calcHeight: 30,
- tip: false,
- searchShow: true,
- searchMenuSpan: 10,
- border: true,
- index: true,
- selection: true,
- viewBtn: true,
- menuWidth: 250,
- dialogWidth: 880,
- dialogClickModal: false,
- column: [
- {
- label: "字典编号",
- prop: "code",
- search: true,
- slot: true,
- span: 24,
- rules: [
+ height: 'auto',
+ calcHeight: 30,
+ tip: false,
+ searchShow: true,
+ searchMenuSpan: 10,
+ border: true,
+ index: true,
+ selection: true,
+ viewBtn: true,
+ menuWidth: 250,
+ dialogWidth: 880,
+ dialogClickModal: false,
+ column: [
{
- required: true,
- message: "请输入字典编号",
- trigger: "blur"
- }
- ]
- },
- {
- label: "字典名称",
- prop: "dictValue",
- search: true,
- align: "center",
- rules: [
- {
- required: true,
- message: "请输入字典名称",
- trigger: "blur"
- }
- ]
- },
- {
- label: "字典排序",
- prop: "sort",
- type: "number",
- align: "right",
- width: 100,
- rules: [
- {
- required: true,
- message: "请输入字典排序",
- trigger: "blur"
- }
- ]
- },
- {
- label: "封存",
- prop: "isSealed",
- type: "switch",
- align: "center",
- width: 100,
- dicData: [
- {
- label: "否",
- value: 0
+ label: "字典编号",
+ prop: "code",
+ search: true,
+ searchLabelWidth: 76,
+ slot: true,
+ span: 24,
+ rules: [
+ {
+ required: true,
+ message: "请输入字典编号",
+ trigger: "blur"
+ }
+ ]
},
{
- label: "是",
- value: 1
- }
- ],
- value: 0,
- slot: true,
- rules: [
+ label: "字典名称",
+ prop: "dictValue",
+ search: true,
+ searchLabelWidth: 100,
+ align: "center",
+ rules: [
+ {
+ required: true,
+ message: "请输入字典名称",
+ trigger: "blur"
+ }
+ ]
+ },
{
- required: true,
- message: "请选择封存",
- trigger: "blur"
+ label: "字典排序",
+ prop: "sort",
+ type: "number",
+ align: "right",
+ width: 100,
+ rules: [
+ {
+ required: true,
+ message: "请输入字典排序",
+ trigger: "blur"
+ }
+ ]
+ },
+ {
+ label: "封存",
+ prop: "isSealed",
+ type: "switch",
+ align: "center",
+ width: 100,
+ dicData: [
+ {
+ label: "否",
+ value: 0
+ },
+ {
+ label: "是",
+ value: 1
+ }
+ ],
+ value: 0,
+ slot: true,
+ rules: [
+ {
+ required: true,
+ message: "请选择封存",
+ trigger: "blur"
+ }
+ ]
+ },
+ {
+ label: "字典备注",
+ prop: "remark",
+ hide: true
}
- ]
- },
- {
- label: "字典备注",
- prop: "remark",
- hide: true
- }
- ]
-};
+ ]
+}
export const optionChild = {
- height: 'auto',
- calcHeight: 95,
- tip: false,
- searchShow: true,
- searchMenuSpan: 10,
- tree: true,
- border: true,
- index: true,
- selection: true,
- viewBtn: true,
- menuWidth: 300,
- dialogWidth: 880,
- dialogClickModal: false,
- column: [
- {
- label: "字典编号",
- prop: "code",
- addDisabled: true,
- editDisabled: true,
- search: true,
- span: 24,
- rules: [
+ height: 'auto',
+ calcHeight: 95,
+ tip: false,
+ searchShow: true,
+ searchMenuSpan: 10,
+ tree: true,
+ border: true,
+ index: true,
+ selection: true,
+ viewBtn: true,
+ menuWidth: 300,
+ dialogWidth: 880,
+ dialogClickModal: false,
+ column: [
{
- required: true,
- message: "请输入字典编号",
- trigger: "blur"
- }
- ]
- },
- {
- label: "字典名称",
- prop: "dictValue",
- search: true,
- align: "center",
- rules: [
- {
- required: true,
- message: "请输入字典名称",
- trigger: "blur"
- }
- ]
- },
- {
- label: "上级字典",
- prop: "parentId",
- type: "tree",
- dicData: [],
- hide: true,
- props: {
- label: "title"
- },
- addDisabled: true,
- editDisabled: true,
- rules: [
- {
- required: false,
- message: "请选择上级字典",
- trigger: "click"
- }
- ]
- },
- {
- label: "字典键值",
- prop: "dictKey",
- width: 80,
- rules: [
- {
- required: true,
- message: "请输入字典键值",
- trigger: "blur"
- }
- ]
- },
- {
- label: "字典排序",
- prop: "sort",
- type: "number",
- align: "right",
- hide: true,
- rules: [
- {
- required: true,
- message: "请输入字典排序",
- trigger: "blur"
- }
- ]
- },
- {
- label: "封存",
- prop: "isSealed",
- type: "switch",
- align: "center",
- width: 80,
- dicData: [
- {
- label: "否",
- value: 0
+ label: "字典编号",
+ prop: "code",
+ addDisabled: true,
+ editDisabled: true,
+ search: true,
+ span: 24,
+ rules: [
+ {
+ required: true,
+ message: "请输入字典编号",
+ trigger: "blur"
+ }
+ ]
},
{
- label: "是",
- value: 1
- }
- ],
- value: 0,
- slot: true,
- rules: [
+ label: "字典名称",
+ prop: "dictValue",
+ search: true,
+ align: "center",
+ rules: [
+ {
+ required: true,
+ message: "请输入字典名称",
+ trigger: "blur"
+ }
+ ]
+ },
{
- required: true,
- message: "请选择封存",
- trigger: "blur"
+ label: "上级字典",
+ prop: "parentId",
+ type: "tree",
+ dicData: [],
+ hide: true,
+ props: {
+ label: "title"
+ },
+ addDisabled: true,
+ editDisabled: true,
+ rules: [
+ {
+ required: false,
+ message: "请选择上级字典",
+ trigger: "click"
+ }
+ ]
+ },
+ {
+ label: "字典键值",
+ prop: "dictKey",
+ width: 80,
+ rules: [
+ {
+ required: true,
+ message: "请输入字典键值",
+ trigger: "blur"
+ }
+ ]
+ },
+ {
+ label: "字典排序",
+ prop: "sort",
+ type: "number",
+ align: "right",
+ hide: true,
+ rules: [
+ {
+ required: true,
+ message: "请输入字典排序",
+ trigger: "blur"
+ }
+ ]
+ },
+ {
+ label: "封存",
+ prop: "isSealed",
+ type: "switch",
+ align: "center",
+ width: 80,
+ dicData: [
+ {
+ label: "否",
+ value: 0
+ },
+ {
+ label: "是",
+ value: 1
+ }
+ ],
+ value: 0,
+ slot: true,
+ rules: [
+ {
+ required: true,
+ message: "请选择封存",
+ trigger: "blur"
+ }
+ ]
+ },
+ {
+ label: "字典备注",
+ prop: "remark",
+ hide: true
}
- ]
- },
- {
- label: "字典备注",
- prop: "remark",
- hide: true
- }
- ]
-};
+ ]
+}
diff --git a/src/option/system/dictCategory.js b/src/option/system/dictCategory.js
index f27cfab..07c2420 100644
--- a/src/option/system/dictCategory.js
+++ b/src/option/system/dictCategory.js
@@ -1,212 +1,213 @@
export const optionParent = {
- height: "auto",
- calcHeight: 30,
- tip: false,
- searchShow: true,
- searchMenuSpan: 10,
- border: true,
- index: true,
- selection: true,
- viewBtn: true,
- menuWidth: 250,
- dialogWidth: 880,
- dialogClickModal: false,
- column: [
- {
- label: "分类编号",
- prop: "code",
- search: true,
- slot: true,
- span: 24,
- rules: [
+ height: "auto",
+ calcHeight: 30,
+ tip: false,
+ searchShow: true,
+ searchMenuSpan: 10,
+ border: true,
+ index: true,
+ selection: true,
+ viewBtn: true,
+ menuWidth: 250,
+ dialogWidth: 880,
+ dialogClickModal: false,
+ column: [
{
- required: true,
- message: "请输入分类编号",
- trigger: "blur",
- },
- ],
- },
- {
- label: "分类名称",
- prop: "dictValue",
- search: true,
- align: "center",
- rules: [
- {
- required: true,
- message: "请输入分类名称",
- trigger: "blur",
- },
- ],
- },
- {
- label: "分类排序",
- prop: "sort",
- type: "number",
- align: "right",
- width: 100,
- hide: true,
- rules: [
- {
- required: true,
- message: "请输入分类排序",
- trigger: "blur",
- },
- ],
- },
- {
- label: "封存",
- prop: "isSealed",
- type: "switch",
- align: "center",
- width: 100,
- dicData: [
- {
- label: "否",
- value: 0,
+ label: "分类编号",
+ prop: "code",
+ search: true,
+ slot: true,
+ span: 24,
+ rules: [
+ {
+ required: true,
+ message: "请输入分类编号",
+ trigger: "blur",
+ },
+ ],
},
{
- label: "是",
- value: 1,
+ label: "分类名称",
+ prop: "dictValue",
+ search: true,
+ align: "center",
+ rules: [
+ {
+ required: true,
+ message: "请输入分类名称",
+ trigger: "blur",
+ },
+ ],
},
- ],
- value: 0,
- slot: true,
- rules: [
{
- required: true,
- message: "请选择封存",
- trigger: "blur",
+ label: "分类排序",
+ prop: "sort",
+ type: "number",
+ align: "right",
+ width: 100,
+ hide: true,
+ rules: [
+ {
+ required: true,
+ message: "请输入分类排序",
+ trigger: "blur",
+ },
+ ],
},
- ],
- },
- {
- label: "分类备注",
- prop: "remark",
- hide: true,
- },
- ],
-};
+ {
+ label: "封存",
+ prop: "isSealed",
+ type: "switch",
+ align: "center",
+ width: 100,
+ dicData: [
+ {
+ label: "否",
+ value: 0,
+ },
+ {
+ label: "是",
+ value: 1,
+ },
+ ],
+ value: 0,
+ slot: true,
+ rules: [
+ {
+ required: true,
+ message: "请选择封存",
+ trigger: "blur",
+ },
+ ],
+ },
+ {
+ label: "分类备注",
+ prop: "remark",
+ hide: true,
+ },
+ ],
+}
export const optionChild = {
- height: "auto",
- calcHeight: 95,
- tip: false,
- tree: true,
- border: true,
- index: true,
- selection: true,
- viewBtn: true,
- dialogWidth: 880,
- dialogClickModal: false,
- column: [
- // {
- // label: "排序",
- // prop: "sort",
- // // addDisabled: true,
- // // editDisabled: true,
- // // search: true,
- // span: 24,
- // // display:false,
- // rules: [
- // {
- // required: true,
- // message: "请输入分类编号",
- // trigger: "blur"
- // }
- // ]
- // },
- {
- label: "分类名称",
- prop: "dictValue",
- searchSpan: 4,
- search: true,
- align: "center",
- rules: [
+ height: "auto",
+ calcHeight: 95,
+ tip: false,
+ tree: true,
+ border: true,
+ index: true,
+ selection: true,
+ viewBtn: true,
+ dialogWidth: 880,
+ dialogClickModal: false,
+ column: [
+ // {
+ // label: "排序",
+ // prop: "sort",
+ // // addDisabled: true,
+ // // editDisabled: true,
+ // // search: true,
+ // span: 24,
+ // // display:false,
+ // rules: [
+ // {
+ // required: true,
+ // message: "请输入分类编号",
+ // trigger: "blur"
+ // }
+ // ]
+ // },
{
- required: true,
- message: "请输入分类名称",
- trigger: "blur",
+ label: "分类名称",
+ prop: "dictValue",
+ searchSpan: 4,
+ search: true,
+ searchLabelWidth: 76,
+ align: "center",
+ rules: [
+ {
+ required: true,
+ message: "请输入分类名称",
+ trigger: "blur",
+ },
+ ],
},
- ],
- },
- // {
- // label: "上级分类",
- // prop: "parentId",
- // type: "tree",
- // dicData: [],
- // hide: true,
- // props: {
- // label: "title"
- // },
- // addDisabled: true,
- // editDisabled: true,
- // rules: [
- // {
- // required: false,
- // message: "请选择上级分类",
- // trigger: "click"
- // }
- // ]
- // },
- {
- label: "分类键值",
- prop: "dictKey",
- align: "center",
- // width: 80,
- rules: [
+ // {
+ // label: "上级分类",
+ // prop: "parentId",
+ // type: "tree",
+ // dicData: [],
+ // hide: true,
+ // props: {
+ // label: "title"
+ // },
+ // addDisabled: true,
+ // editDisabled: true,
+ // rules: [
+ // {
+ // required: false,
+ // message: "请选择上级分类",
+ // trigger: "click"
+ // }
+ // ]
+ // },
{
- required: true,
- message: "请输入分类键值",
- trigger: "blur",
+ label: "分类键值",
+ prop: "dictKey",
+ align: "center",
+ // width: 80,
+ rules: [
+ {
+ required: true,
+ message: "请输入分类键值",
+ trigger: "blur",
+ },
+ ],
},
- ],
- },
- {
- label: "分类排序",
- prop: "sort",
- type: "number",
- align: "center",
- // hide: true,
- rules: [
{
- required: true,
- message: "请输入分类排序",
- trigger: "blur",
+ label: "分类排序",
+ prop: "sort",
+ type: "number",
+ align: "center",
+ // hide: true,
+ rules: [
+ {
+ required: true,
+ message: "请输入分类排序",
+ trigger: "blur",
+ },
+ ],
},
- ],
- },
- // {
- // label: "封存",
- // prop: "isSealed",
- // type: "switch",
- // align: "center",
- // width: 80,
- // dicData: [
- // {
- // label: "否",
- // value: 0
- // },
- // {
- // label: "是",
- // value: 1
- // }
- // ],
- // value: 0,
- // slot: true,
- // rules: [
- // {
- // required: true,
- // message: "请选择封存",
- // trigger: "blur"
- // }
- // ]
- // },
- {
- label: "分类备注",
- prop: "remark",
- align: "center",
- // hide: true
- },
- ],
-};
+ // {
+ // label: "封存",
+ // prop: "isSealed",
+ // type: "switch",
+ // align: "center",
+ // width: 80,
+ // dicData: [
+ // {
+ // label: "否",
+ // value: 0
+ // },
+ // {
+ // label: "是",
+ // value: 1
+ // }
+ // ],
+ // value: 0,
+ // slot: true,
+ // rules: [
+ // {
+ // required: true,
+ // message: "请选择封存",
+ // trigger: "blur"
+ // }
+ // ]
+ // },
+ {
+ label: "分类备注",
+ prop: "remark",
+ align: "center",
+ // hide: true
+ },
+ ],
+}
diff --git a/src/option/system/dictbiz.js b/src/option/system/dictbiz.js
index 277f520..d254339 100644
--- a/src/option/system/dictbiz.js
+++ b/src/option/system/dictbiz.js
@@ -1,211 +1,212 @@
export const optionParent = {
- height: 'auto',
- calcHeight: 30,
- tip: false,
- searchShow: true,
- searchMenuSpan: 10,
- border: true,
- index: true,
- selection: true,
- viewBtn: true,
- menuWidth: 250,
- dialogWidth: 880,
- dialogClickModal: false,
- column: [
- {
- label: "字典编号",
- prop: "code",
- search: true,
- slot: true,
- span: 24,
- rules: [
+ height: 'auto',
+ calcHeight: 30,
+ tip: false,
+ searchShow: true,
+ searchMenuSpan: 10,
+ border: true,
+ index: true,
+ selection: true,
+ viewBtn: true,
+ menuWidth: 250,
+ dialogWidth: 880,
+ dialogClickModal: false,
+ column: [
{
- required: true,
- message: "请输入字典编号",
- trigger: "blur"
- }
- ]
- },
- {
- label: "字典名称",
- prop: "dictValue",
- search: true,
- align: "center",
- rules: [
- {
- required: true,
- message: "请输入字典名称",
- trigger: "blur"
- }
- ]
- },
- {
- label: "字典排序",
- prop: "sort",
- type: "number",
- align: "right",
- width: 100,
- hide: true,
- rules: [
- {
- required: true,
- message: "请输入字典排序",
- trigger: "blur"
- }
- ]
- },
- {
- label: "封存",
- prop: "isSealed",
- type: "switch",
- align: "center",
- width: 100,
- dicData: [
- {
- label: "否",
- value: 0
+ label: "字典编号",
+ prop: "code",
+ search: true,
+ searchLabelWidth: 76,
+ slot: true,
+ span: 24,
+ rules: [
+ {
+ required: true,
+ message: "请输入字典编号",
+ trigger: "blur"
+ }
+ ]
},
{
- label: "是",
- value: 1
- }
- ],
- value: 0,
- slot: true,
- rules: [
+ label: "字典名称",
+ prop: "dictValue",
+ search: true,
+ align: "center",
+ rules: [
+ {
+ required: true,
+ message: "请输入字典名称",
+ trigger: "blur"
+ }
+ ]
+ },
{
- required: true,
- message: "请选择封存",
- trigger: "blur"
+ label: "字典排序",
+ prop: "sort",
+ type: "number",
+ align: "right",
+ width: 100,
+ hide: true,
+ rules: [
+ {
+ required: true,
+ message: "请输入字典排序",
+ trigger: "blur"
+ }
+ ]
+ },
+ {
+ label: "封存",
+ prop: "isSealed",
+ type: "switch",
+ align: "center",
+ width: 100,
+ dicData: [
+ {
+ label: "否",
+ value: 0
+ },
+ {
+ label: "是",
+ value: 1
+ }
+ ],
+ value: 0,
+ slot: true,
+ rules: [
+ {
+ required: true,
+ message: "请选择封存",
+ trigger: "blur"
+ }
+ ]
+ },
+ {
+ label: "字典备注",
+ prop: "remark",
+ hide: true
}
- ]
- },
- {
- label: "字典备注",
- prop: "remark",
- hide: true
- }
- ]
-};
+ ]
+}
export const optionChild = {
- height: 'auto',
- calcHeight: 95,
- tip: false,
- searchShow: true,
- searchMenuSpan: 10,
- tree: true,
- border: true,
- index: true,
- selection: true,
- viewBtn: true,
- menuWidth: 300,
- dialogWidth: 880,
- dialogClickModal: false,
- column: [
- {
- label: "字典编号",
- prop: "code",
- addDisabled: true,
- editDisabled: true,
- search: true,
- span: 24,
- rules: [
+ height: 'auto',
+ calcHeight: 95,
+ tip: false,
+ searchShow: true,
+ searchMenuSpan: 10,
+ tree: true,
+ border: true,
+ index: true,
+ selection: true,
+ viewBtn: true,
+ menuWidth: 300,
+ dialogWidth: 880,
+ dialogClickModal: false,
+ column: [
{
- required: true,
- message: "请输入字典编号",
- trigger: "blur"
- }
- ]
- },
- {
- label: "字典名称",
- prop: "dictValue",
- search: true,
- align: "center",
- rules: [
- {
- required: true,
- message: "请输入字典名称",
- trigger: "blur"
- }
- ]
- },
- {
- label: "上级字典",
- prop: "parentId",
- type: "tree",
- dicData: [],
- hide: true,
- props: {
- label: "title"
- },
- addDisabled: true,
- editDisabled: true,
- rules: [
- {
- required: false,
- message: "请选择上级字典",
- trigger: "click"
- }
- ]
- },
- {
- label: "字典键值",
- prop: "dictKey",
- width: 80,
- rules: [
- {
- required: true,
- message: "请输入字典键值",
- trigger: "blur"
- }
- ]
- },
- {
- label: "字典排序",
- prop: "sort",
- type: "number",
- align: "right",
- hide: true,
- rules: [
- {
- required: true,
- message: "请输入字典排序",
- trigger: "blur"
- }
- ]
- },
- {
- label: "封存",
- prop: "isSealed",
- type: "switch",
- align: "center",
- width: 80,
- dicData: [
- {
- label: "否",
- value: 0
+ label: "字典编号",
+ prop: "code",
+ addDisabled: true,
+ editDisabled: true,
+ search: true,
+ span: 24,
+ rules: [
+ {
+ required: true,
+ message: "请输入字典编号",
+ trigger: "blur"
+ }
+ ]
},
{
- label: "是",
- value: 1
- }
- ],
- value: 0,
- slot: true,
- rules: [
+ label: "字典名称",
+ prop: "dictValue",
+ search: true,
+ align: "center",
+ rules: [
+ {
+ required: true,
+ message: "请输入字典名称",
+ trigger: "blur"
+ }
+ ]
+ },
{
- required: true,
- message: "请选择封存",
- trigger: "blur"
+ label: "上级字典",
+ prop: "parentId",
+ type: "tree",
+ dicData: [],
+ hide: true,
+ props: {
+ label: "title"
+ },
+ addDisabled: true,
+ editDisabled: true,
+ rules: [
+ {
+ required: false,
+ message: "请选择上级字典",
+ trigger: "click"
+ }
+ ]
+ },
+ {
+ label: "字典键值",
+ prop: "dictKey",
+ width: 80,
+ rules: [
+ {
+ required: true,
+ message: "请输入字典键值",
+ trigger: "blur"
+ }
+ ]
+ },
+ {
+ label: "字典排序",
+ prop: "sort",
+ type: "number",
+ align: "right",
+ hide: true,
+ rules: [
+ {
+ required: true,
+ message: "请输入字典排序",
+ trigger: "blur"
+ }
+ ]
+ },
+ {
+ label: "封存",
+ prop: "isSealed",
+ type: "switch",
+ align: "center",
+ width: 80,
+ dicData: [
+ {
+ label: "否",
+ value: 0
+ },
+ {
+ label: "是",
+ value: 1
+ }
+ ],
+ value: 0,
+ slot: true,
+ rules: [
+ {
+ required: true,
+ message: "请选择封存",
+ trigger: "blur"
+ }
+ ]
+ },
+ {
+ label: "字典备注",
+ prop: "remark",
+ hide: true
}
- ]
- },
- {
- label: "字典备注",
- prop: "remark",
- hide: true
- }
- ]
-};
+ ]
+}
diff --git a/src/views/article/article.vue b/src/views/article/article.vue
index 5e62a52..eb6d09b 100644
--- a/src/views/article/article.vue
+++ b/src/views/article/article.vue
@@ -133,7 +133,7 @@
calcHeight: 54,
dialogWidth: 950,
tip: false,
- border: false,
+ border: true,
//stripe:true,
index: true,
viewBtn: true,
@@ -149,6 +149,7 @@
row: true,
searchSpan: 4,
search: true,
+ searchLabelWidth: 76,
rules: [{
required: true,
message: "请输入文章标题",
diff --git a/src/views/article/articleComment.vue b/src/views/article/articleComment.vue
index 6adb9db..6c857fc 100644
--- a/src/views/article/articleComment.vue
+++ b/src/views/article/articleComment.vue
@@ -70,6 +70,7 @@
prop: 'phone',
searchSpan: 4,
search: true,
+ searchLabelWidth: 46,
},
{
width: 110,
diff --git a/src/views/article/articleWords.vue b/src/views/article/articleWords.vue
index 8fca665..53db34c 100644
--- a/src/views/article/articleWords.vue
+++ b/src/views/article/articleWords.vue
@@ -1,497 +1,474 @@
<template>
- <basic-container>
- <avue-crud
- :option="option"
- :table-loading="loading"
- :data="data"
- :page.sync="page"
- ref="crud"
- @row-del="rowDel"
- v-model="form"
- :permission="permissionList"
- @row-update="rowUpdate"
- @row-save="rowSave"
- :before-open="beforeOpen"
- @search-change="searchChange"
- @search-reset="searchReset"
- @selection-change="selectionChange"
- @current-change="currentChange"
- @size-change="sizeChange"
- @refresh-change="refreshChange"
- @on-load="onLoad"
- >
- <template slot="menuLeft">
- <el-button
+ <basic-container>
+ <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" ref="crud" @row-del="rowDel"
+ v-model="form" :permission="permissionList" @row-update="rowUpdate" @row-save="rowSave"
+ :before-open="beforeOpen" @search-change="searchChange" @search-reset="searchReset"
+ @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
+ @refresh-change="refreshChange" @on-load="onLoad">
+ <template slot="menuLeft">
+ <el-button size="small" icon="el-icon-delete" plain v-if="permission.article_delete" @click="handleDelete">删
+ 除
+ </el-button>
- size="small"
- icon="el-icon-delete"
- plain
- v-if="permission.article_delete"
- @click="handleDelete"
- >删 除
- </el-button>
+ </template>
- </template>
+ <template slot-scope="{ row }" slot="iswords">
+ <el-tag>{{
+ row.iswords == "1" ? "是" : row.iswords == "0" ? "否" : "是"
+ }}
+ </el-tag>
+ </template>
- <template slot-scope="{ row }" slot="iswords">
- <el-tag
- >{{
- row.iswords == "1" ? "是" : row.iswords == "0" ? "否" : "是"
- }}
- </el-tag>
- </template>
+ <template slot-scope="{ row }" slot="iscomment">
+ <el-tag>{{
+ row.iscomment == "1" ? "开启" : row.iscomment == "0" ? "关闭" : "关闭"
+ }}
+ </el-tag>
+ </template>
- <template slot-scope="{ row }" slot="iscomment">
- <el-tag
- >{{
- row.iscomment == "1" ? "开启" : row.iscomment == "0" ? "关闭" : "关闭"
- }}
- </el-tag>
- </template>
-
- </avue-crud>
- </basic-container>
+ </avue-crud>
+ </basic-container>
</template>
<script>
- import {getListWords, remove, update, add, getNotice, upcomment} from "@/api/article/article";
- import {mapGetters} from "vuex";
+import { getListWords, remove, update, add, getNotice, upcomment } from "@/api/article/article"
+import { mapGetters } from "vuex"
- export default {
- data() {
- return {
- form: {},
- query: {},
- loading: true,
- page: {
- pageSize: 10,
- currentPage: 1,
- total: 0,
- },
- datetime: "",
- selectionList: [],
- option: {
- height: "auto",
- calcHeight: 54,
- dialogWidth: 950,
- tip: false,
- searchShow: true,
- searchMenuSpan: 3,
- menuWidth: 350,
- border: false,
- //stripe:true,
- index: true,
- viewBtn: true,
- selection: true,
- excelBtn: true,
- dialogClickModal: false,
- column: [
- {
- label: "资讯标题",
- prop: "title",
- span: 24,
- row: true,
- searchSpan: 4,
- search: true,
- rules: [
- {
- required: true,
- message: "请输入资讯标题",
- trigger: "blur",
- },
- ],
+export default {
+ data () {
+ return {
+ form: {},
+ query: {},
+ loading: true,
+ page: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0,
},
- {
- label: "资讯封面",
- prop: "url",
- // align:'center',
- width: 80,
- type: "upload",
- listType: "picture-img",
- action: "/api/blade-resource/oss/endpoint/put-file",
- propsHttp: {
- res: "data",
- url: "link",
- },
- // hide: true,
- span: 24,
+ datetime: "",
+ selectionList: [],
+ option: {
+ height: "auto",
+ calcHeight: 54,
+ dialogWidth: 950,
+ tip: false,
+ searchShow: true,
+ searchMenuSpan: 3,
+ menuWidth: 350,
+ border: true,
+ //stripe:true,
+ index: true,
+ viewBtn: true,
+ selection: true,
+ excelBtn: true,
+ dialogClickModal: false,
+ column: [
+ {
+ label: "资讯标题",
+ prop: "title",
+ span: 24,
+ row: true,
+ searchSpan: 4,
+ search: true,
+ rules: [
+ {
+ required: true,
+ message: "请输入资讯标题",
+ trigger: "blur",
+ },
+ ],
+ },
+ {
+ label: "资讯封面",
+ prop: "url",
+ // align:'center',
+ width: 80,
+ type: "upload",
+ listType: "picture-img",
+ action: "/api/blade-resource/oss/endpoint/put-file",
+ propsHttp: {
+ res: "data",
+ url: "link",
+ },
+ // hide: true,
+ span: 24,
+ },
+ {
+ label: "资讯来源",
+ prop: "sourceName",
+ search: true,
+ searchSpan: 4,
+ span: 24,
+ rules: [
+ {
+ required: true,
+ message: "请输入资讯类型",
+ trigger: "blur",
+ },
+ ],
+ },
+ {
+ label: "资讯类型",
+ prop: "articleType",
+ addDisplay: true,
+ editDisplay: true,
+ viewDisplay: true,
+ searchSpan: 3,
+ checkStrictly: true,
+ dicUrl: "/api/blade-system/dict-biz/child-list?parentId=1411214799056932865",
+ props: {
+ label: "dictValue",
+ value: "dictKey",
+ },
+ search: true,
+ type: "tree",
+ rules: [
+ {
+ required: true,
+ message: "请选择资讯类型",
+ trigger: "blur",
+ },
+ ],
+ },
+ {
+ label: "发布时间",
+ prop: "dateTime",
+ type: "datetime",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ searchSpan: 5,
+ searchRange: true,
+ hide: true,
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: false,
+ search: true,
+ rules: [
+ {
+ required: true,
+ message: "请选择发布时间",
+ trigger: "blur",
+ },
+ ],
+ },
+ {
+ label: "发布时间",
+ prop: "createTime",
+ type: "date",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd HH:mm:ss",
+ },
+ {
+ label: "敏感词预警",
+ prop: "iswords",
+ searchSpan: 3,
+ width: 80,
+ value: "0",
+ slot: true,
+ type: "select",
+ dicData: [
+ {
+ label: "否",
+ value: "0",
+ },
+ {
+ label: "是",
+ value: "1",
+ }
+ ],
+ },
+ {
+ label: "敏感词提取",
+ prop: "wordsContent",
+ },
+ {
+ label: "预警次数",
+ prop: "iscomment",
+ width: 80,
+ },
+ {
+ label: "视频",
+ prop: "videoUrl",
+ type: "upload",
+ accept: "video/mp4",
+ display: false,
+ hide: true,
+ span: 24,
+ listType: "picture-img",
+ action: "/api/depl/put-depl",
+ propsHttp: {
+ url: "data",
+ },
+ },
+ {
+ label: "资讯内容",
+ prop: "content",
+ component: "AvueUeditor",
+ options: {
+ action: "/api/blade-resource/oss/endpoint/put-file",
+ // customConfig: {
+ // lineHeights: ['1', '1.15', '1.6', '2', '2.5', '3']
+ // },//wangEditor编辑的配置
+ props: {
+ res: "data",
+ url: "link",
+ },
+ },
+ hide: true,
+ minRows: 6,
+ span: 24,
+ },
+ ],
},
- {
- label: "资讯来源",
- prop: "sourceName",
- search: true,
- searchSpan: 4,
- span: 24,
- rules: [
- {
- required: true,
- message: "请输入资讯类型",
- trigger: "blur",
- },
- ],
- },
- {
- label: "资讯类型",
- prop: "articleType",
- addDisplay: true,
- editDisplay: true,
- viewDisplay: true,
- searchSpan: 3,
- checkStrictly: true,
- dicUrl: "/api/blade-system/dict-biz/child-list?parentId=1411214799056932865",
- props: {
- label: "dictValue",
- value: "dictKey",
- },
- search: true,
- type: "tree",
- rules: [
- {
- required: true,
- message: "请选择资讯类型",
- trigger: "blur",
- },
- ],
- },
- {
- label: "发布时间",
- prop: "dateTime",
- type: "datetime",
- format: "yyyy-MM-dd",
- valueFormat: "yyyy-MM-dd",
- searchSpan: 5,
- searchRange: true,
- hide: true,
- addDisplay: false,
- editDisplay: false,
- viewDisplay: false,
- search: true,
- rules: [
- {
- required: true,
- message: "请选择发布时间",
- trigger: "blur",
- },
- ],
- },
- {
- label: "发布时间",
- prop: "createTime",
- type: "date",
- format: "yyyy-MM-dd",
- valueFormat: "yyyy-MM-dd HH:mm:ss",
- },
- {
- label: "敏感词预警",
- prop: "iswords",
- searchSpan: 3,
- width: 80,
- value: "0",
- slot: true,
- type: "select",
- dicData: [
- {
- label: "否",
- value: "0",
- },
- {
- label: "是",
- value: "1",
- }
- ],
- },
- {
- label: "敏感词提取",
- prop: "wordsContent",
- },
- {
- label: "预警次数",
- prop: "iscomment",
- width: 80,
- },
- {
- label: "视频",
- prop: "videoUrl",
- type: "upload",
- accept: "video/mp4",
- display: false,
- hide: true,
- span: 24,
- listType: "picture-img",
- action: "/api/depl/put-depl",
- propsHttp: {
- url: "data",
- },
- },
- {
- label: "资讯内容",
- prop: "content",
- component: "AvueUeditor",
- options: {
- action: "/api/blade-resource/oss/endpoint/put-file",
- // customConfig: {
- // lineHeights: ['1', '1.15', '1.6', '2', '2.5', '3']
- // },//wangEditor编辑的配置
- props: {
- res: "data",
- url: "link",
- },
- },
- hide: true,
- minRows: 6,
- span: 24,
- },
- ],
- },
- data: [],
- };
+ data: [],
+ }
},
watch: {
- "form.articleType": {
- handler(val) {
- if (val) {
- var videoUrl = this.findObject(this.option.column, "videoUrl");
- var content = this.findObject(this.option.column, "content");
- if (val.indexOf('ksp') != -1) {
- videoUrl.display = true;
- content.display = false;
- videoUrl.rules = [
- {
- required: false,
- message: "请选择视频",
- trigger: "blur",
- },
- ];
- } else {
- videoUrl.display = false;
- content.display = true;
- videoUrl.rules = "";
- }
- }
- },
- immediate: true,
- }
+ "form.articleType": {
+ handler (val) {
+ if (val) {
+ var videoUrl = this.findObject(this.option.column, "videoUrl")
+ var content = this.findObject(this.option.column, "content")
+ if (val.indexOf('ksp') != -1) {
+ videoUrl.display = true
+ content.display = false
+ videoUrl.rules = [
+ {
+ required: false,
+ message: "请选择视频",
+ trigger: "blur",
+ },
+ ]
+ } else {
+ videoUrl.display = false
+ content.display = true
+ videoUrl.rules = ""
+ }
+ }
+ },
+ immediate: true,
+ }
},
computed: {
- ...mapGetters(["permission"]),
- permissionList() {
- return {
- addBtn: this.vaildData(this.permission.article_add, true),
- viewBtn: this.vaildData(this.permission.article_view, true),
- delBtn: this.vaildData(this.permission.article_delete, true),
- editBtn: this.vaildData(this.permission.article_edit, true),
- };
- },
- ids() {
- let ids = [];
- this.selectionList.forEach((ele) => {
- ids.push(ele.id);
- });
- return ids.join(",");
- },
+ ...mapGetters(["permission"]),
+ permissionList () {
+ return {
+ addBtn: this.vaildData(this.permission.article_add, true),
+ viewBtn: this.vaildData(this.permission.article_view, true),
+ delBtn: this.vaildData(this.permission.article_delete, true),
+ editBtn: this.vaildData(this.permission.article_edit, true),
+ }
+ },
+ ids () {
+ let ids = []
+ this.selectionList.forEach((ele) => {
+ ids.push(ele.id)
+ })
+ return ids.join(",")
+ },
},
methods: {
- rowSave(row, done, loading) {
- if (row.videoUrl.length == 0) {
- row.videoUrl = "";
+ rowSave (row, done, loading) {
+ if (row.videoUrl.length == 0) {
+ row.videoUrl = ""
+ }
+ add(row).then(
+ () => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ done()
+ },
+ (error) => {
+ window.console.log(error)
+ loading()
+ }
+ )
+ },
+ rowUpdate (row, index, done, loading) {
+ update(row).then(
+ () => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ done()
+ },
+ (error) => {
+ window.console.log(error)
+ loading()
+ }
+ )
+ },
+ rowDel (row) {
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ })
+ .then(() => {
+ return remove(row.id)
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ })
+ },
+ searchReset () {
+ this.query = {}
+ this.onLoad(this.page)
+ },
+ searchChange (params, done) {
+ this.query = params
+ this.page.currentPage = 1
+ this.onLoad(this.page, params)
+ done()
+ },
+ selectionChange (list) {
+ this.selectionList = list
+ },
+ selectionClear () {
+ this.selectionList = []
+ this.$refs.crud.toggleSelection()
+ },
+ handleDelete () {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据")
+ return
+ }
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ })
+ .then(() => {
+ return remove(this.ids)
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ this.$refs.crud.toggleSelection()
+ })
+ },
+ beforeOpen (done, type) {
+ if (["edit", "view"].includes(type)) {
+ getNotice(this.form.id).then((res) => {
+ this.form = res.data.data
+ })
+ }
+ // con
+ done()
+ },
+ currentChange (currentPage) {
+ this.page.currentPage = currentPage
+ },
+ sizeChange (pageSize) {
+ this.page.pageSize = pageSize
+ },
+ refreshChange () {
+ this.onLoad(this.page, this.query)
+ },
+ onLoad (page, params = {}) {
+ const { dateTime } = this.query
+ let values = {
+ ...params,
+ }
+ if (dateTime) {
+ values = {
+ ...params,
+ startTime: dateTime[0],
+ endTime: dateTime[1],
+ ...this.query,
+ }
+ values.dateTime = null
+ }
+ this.loading = true
+ getListWords(page.currentPage, page.pageSize, values).then((res) => {
+ const data = res.data.data
+ this.page.total = data.total
+ this.data = data.records
+ this.loading = false
+ this.selectionClear()
+ })
+ },
+ updateFb (row) {
+ if (row.publish == "0") {
+ row.publish = "1"
+ } else {
+ row.publish = "0"
+ }
+ update(row).then(
+ () => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ done()
+ },
+ (error) => {
+ window.console.log(error)
+ loading()
+ }
+ )
+ },
+ kqcomment () {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据")
+ return
+ }
+ this.$confirm("确定将选择数据开启评论?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ }).then(() => {
+ return upcomment(this.ids, "1")
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ this.$refs.crud.toggleSelection()
+ })
+ },
+ gbcomment () {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据")
+ return
+ }
+ this.$confirm("确定将选择数据开启评论?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ }).then(() => {
+ return upcomment(this.ids, "0")
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ this.$refs.crud.toggleSelection()
+ })
}
- add(row).then(
- () => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!",
- });
- done();
- },
- (error) => {
- window.console.log(error);
- loading();
- }
- );
- },
- rowUpdate(row, index, done, loading) {
- update(row).then(
- () => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!",
- });
- done();
- },
- (error) => {
- window.console.log(error);
- loading();
- }
- );
- },
- rowDel(row) {
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- })
- .then(() => {
- return remove(row.id);
- })
- .then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!",
- });
- });
- },
- searchReset() {
- this.query = {};
- this.onLoad(this.page);
- },
- searchChange(params, done) {
- this.query = params;
- this.page.currentPage = 1;
- this.onLoad(this.page, params);
- done();
- },
- selectionChange(list) {
- this.selectionList = list;
- },
- selectionClear() {
- this.selectionList = [];
- this.$refs.crud.toggleSelection();
- },
- handleDelete() {
- if (this.selectionList.length === 0) {
- this.$message.warning("请选择至少一条数据");
- return;
- }
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- })
- .then(() => {
- return remove(this.ids);
- })
- .then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!",
- });
- this.$refs.crud.toggleSelection();
- });
- },
- beforeOpen(done, type) {
- if (["edit", "view"].includes(type)) {
- getNotice(this.form.id).then((res) => {
- this.form = res.data.data;
- });
- }
- // con
- done();
- },
- currentChange(currentPage) {
- this.page.currentPage = currentPage;
- },
- sizeChange(pageSize) {
- this.page.pageSize = pageSize;
- },
- refreshChange() {
- this.onLoad(this.page, this.query);
- },
- onLoad(page, params = {}) {
- const {dateTime} = this.query;
- let values = {
- ...params,
- };
- if (dateTime) {
- values = {
- ...params,
- startTime: dateTime[0],
- endTime: dateTime[1],
- ...this.query,
- };
- values.dateTime = null;
- }
- this.loading = true;
- getListWords(page.currentPage, page.pageSize, values).then((res) => {
- const data = res.data.data;
- this.page.total = data.total;
- this.data = data.records;
- this.loading = false;
- this.selectionClear();
- });
- },
- updateFb(row) {
- if (row.publish == "0") {
- row.publish = "1";
- } else {
- row.publish = "0";
- }
- update(row).then(
- () => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!",
- });
- done();
- },
- (error) => {
- window.console.log(error);
- loading();
- }
- );
- },
- kqcomment() {
- if (this.selectionList.length === 0) {
- this.$message.warning("请选择至少一条数据");
- return;
- }
- this.$confirm("确定将选择数据开启评论?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- }).then(() => {
- return upcomment(this.ids, "1");
- })
- .then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!",
- });
- this.$refs.crud.toggleSelection();
- });
- },
- gbcomment() {
- if (this.selectionList.length === 0) {
- this.$message.warning("请选择至少一条数据");
- return;
- }
- this.$confirm("确定将选择数据开启评论?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- }).then(() => {
- return upcomment(this.ids, "0");
- })
- .then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!",
- });
- this.$refs.crud.toggleSelection();
- });
- }
},
- };
+}
</script>
<style>
- .avue-upload__icon {
+.avue-upload__icon {
line-height: 6;
- }
+}
</style>
diff --git a/src/views/article/components/deitDiscussion.vue b/src/views/article/components/deitDiscussion.vue
index 3f399a0..28e478c 100644
--- a/src/views/article/components/deitDiscussion.vue
+++ b/src/views/article/components/deitDiscussion.vue
@@ -9,447 +9,448 @@
* Copyright (c) 2024 by shuishen, All Rights Reserved.
-->
<template>
- <div>
- <el-dialog title="" append-to-body :visible.sync="popupTableShow" width="80%" :before-close="handleClose">
- <span slot="title" class="dialog-footer">
- {{ ontitle }}
- </span>
+ <div>
+ <el-dialog title="" append-to-body :visible.sync="popupTableShow" width="80%" :before-close="handleClose">
+ <span slot="title" class="dialog-footer">
+ {{ ontitle }}
+ </span>
- <div id="" v-if="editFlag">
- <avue-form @submit="handleSubmit" :option="optionDiscuss" @reset-change="handleReset" v-model="disCussFrom">
- </avue-form>
- </div>
+ <div id="" v-if="editFlag">
+ <avue-form @submit="handleSubmit" :option="optionDiscuss" @reset-change="handleReset" v-model="disCussFrom">
+ </avue-form>
+ </div>
- <div id="" v-if="!editFlag">
- <avue-crud :table-loading="loading" :option="optionList" :data="data" v-model="form" ref="crud"
- @row-update="rowUpdate" @row-del="rowDel">
- <template slot="menuLeft" v-if="!editFlag">
- <el-button type="primary" size="small" plain icon="el-icon-circle-plus-outline" @click="add()">添加
- </el-button>
- </template>
- <template #icon="scope">
- <i :class="scope.row.icon" style="font-size:14px"></i>
- </template>
- <template #menu="{ row, size }">
- <el-button v-if="row.level === 1" :size="size" text type="primary" @click="edit(row)">编辑</el-button>
- <el-button v-if="row.level === 1" :size="size" text type="danger" @click="deletes(row)">删除</el-button>
- <el-button v-if="row.level === 2" :size="size" text type="primary" @click="openUser(row, 1)">
- 选择此项人数:{{ row.number }} 详情</el-button>
- </template>
- </avue-crud>
- </div>
- </el-dialog>
+ <div id="" v-if="!editFlag">
+ <avue-crud :table-loading="loading" :option="optionList" :data="data" v-model="form" ref="crud"
+ @row-update="rowUpdate" @row-del="rowDel">
+ <template slot="menuLeft" v-if="!editFlag">
+ <el-button type="primary" size="small" plain icon="el-icon-circle-plus-outline" @click="add()">添加
+ </el-button>
+ </template>
+ <template #icon="scope">
+ <i :class="scope.row.icon" style="font-size:14px"></i>
+ </template>
+ <template #menu="{ row, size }">
+ <el-button v-if="row.level === 1" :size="size" text type="primary" @click="edit(row)">编辑</el-button>
+ <el-button v-if="row.level === 1" :size="size" text type="danger"
+ @click="deletes(row)">删除</el-button>
+ <el-button v-if="row.level === 2" :size="size" text type="primary" @click="openUser(row, 1)">
+ 选择此项人数:{{ row.number }} 详情</el-button>
+ </template>
+ </avue-crud>
+ </div>
+ </el-dialog>
- <el-dialog title="" append-to-body :visible.sync="popupTableUserShow" width="80%" :before-close="userHandleClose">
- <avue-crud :data="userData" :page="userPage" :option="userOption" @search-change="searchChange"
- @search-reset="searchReset"></avue-crud>
- </el-dialog>
- </div>
+ <el-dialog title="" append-to-body :visible.sync="popupTableUserShow" width="80%" :before-close="userHandleClose">
+ <avue-crud :data="userData" :page="userPage" :option="userOption" @search-change="searchChange"
+ @search-reset="searchReset"></avue-crud>
+ </el-dialog>
+ </div>
</template>
<script>
- import {
+import {
getListPd,
getDetailPd,
addPd,
updatePd,
removePd
- } from "@/api/discuss/publicDiscuss"
+} from "@/api/discuss/publicDiscuss"
- import {
+import {
getPage
- } from "@/api/discuss/userTopics"
+} from "@/api/discuss/userTopics"
- import website from '@/config/website'
+import website from '@/config/website'
- import {
+import {
getLists,
getList,
getDetail,
add,
update,
remove
- } from "@/api/discuss/topics"
+} from "@/api/discuss/topics"
- export default {
- data() {
- return {
- popupTableShow: false,
- popupTableUserShow: false,
+export default {
+ data () {
+ return {
+ popupTableShow: false,
+ popupTableUserShow: false,
- loading: true,
+ loading: true,
- ontitle: '编辑议题',
- editFlag: false,
+ ontitle: '编辑议题',
+ editFlag: false,
- disCussFrom: {
- discussContent: '',
- optionRange: 0,
- sort: 1,
- optionContent: '',
- optionDetail: '',
- number: '',
- createTime: '',
- updateTime: '',
- deleteFlag: '',
- articleId: '',
- parentId: '',
- level: '',
- children: [{
- optionContent: '',
- optionDetail: '',
- number: '',
- createTime: '',
- updateTime: '',
- deleteFlag: '',
- articleId: '',
- parentId: '',
- level: '',
- }]
- },
- optionDiscuss: {
- emptyText: '取消',
- column: [{
- label: '议题',
- prop: 'discussContent',
- type: 'input',
- row: true,
- rules: [{
- required: true,
- message: '请输入议题',
- trigger: 'blur'
- }],
- },
- {
- label: '选项范围',
- prop: 'optionRange',
- type: 'radio',
- value: 0,
- button: true,
- row: true,
- dicData: [{
- label: '多选',
- value: 1
- }, {
- label: '单选',
- value: 0
- }],
- rules: [{
- required: true,
- message: '请选项范围',
- trigger: 'blur'
- }],
- },
- // {
- // label: '排序',
- // prop: 'sort',
- // controlsPosition: '',
- // type: 'number'
- // },
- {
- label: '选项内容',
- prop: 'children',
- type: 'dynamic',
- span: 24,
- children: {
- column: [{
- label: '选项标题',
- prop: 'optionContent',
- type: 'input',
- rules: [{
- required: true,
- message: '请输入选项标题',
- trigger: 'blur'
- }]
- }, {
- label: '选项说明',
- prop: 'optionDetail',
- type: 'input',
+ disCussFrom: {
+ discussContent: '',
+ optionRange: 0,
+ sort: 1,
+ optionContent: '',
+ optionDetail: '',
+ number: '',
+ createTime: '',
+ updateTime: '',
+ deleteFlag: '',
+ articleId: '',
+ parentId: '',
+ level: '',
+ children: [{
+ optionContent: '',
+ optionDetail: '',
+ number: '',
+ createTime: '',
+ updateTime: '',
+ deleteFlag: '',
+ articleId: '',
+ parentId: '',
+ level: '',
}]
- }
},
- ]
- },
-
- // 表单数据
- form: {},
- data: [],
- optionList: {
- headerAlign: 'center',
- align: 'center',
- border: true,
- addBtn: false,
- editBtn: false,
- delBtn: false,
- defaultExpandAll: true,
- rowKey: 'id',
- rowParentKey: 'parentId',
- column: [{
- label: '标题',
- prop: 'discussContent',
+ optionDiscuss: {
+ emptyText: '取消',
+ column: [{
+ label: '议题',
+ prop: 'discussContent',
+ type: 'input',
+ row: true,
+ rules: [{
+ required: true,
+ message: '请输入议题',
+ trigger: 'blur'
+ }],
+ },
+ {
+ label: '选项范围',
+ prop: 'optionRange',
+ type: 'radio',
+ value: 0,
+ button: true,
+ row: true,
+ dicData: [{
+ label: '多选',
+ value: 1
+ }, {
+ label: '单选',
+ value: 0
+ }],
+ rules: [{
+ required: true,
+ message: '请选项范围',
+ trigger: 'blur'
+ }],
+ },
+ // {
+ // label: '排序',
+ // prop: 'sort',
+ // controlsPosition: '',
+ // type: 'number'
+ // },
+ {
+ label: '选项内容',
+ prop: 'children',
+ type: 'dynamic',
+ span: 24,
+ children: {
+ column: [{
+ label: '选项标题',
+ prop: 'optionContent',
+ type: 'input',
+ rules: [{
+ required: true,
+ message: '请输入选项标题',
+ trigger: 'blur'
+ }]
+ }, {
+ label: '选项说明',
+ prop: 'optionDetail',
+ type: 'input',
+ }]
+ }
+ },
+ ]
},
- {
- label: '选项内容',
- prop: 'optionContent',
- }
- ]
- },
- articleId: '',
+ // 表单数据
+ form: {},
+ data: [],
+ optionList: {
+ headerAlign: 'center',
+ align: 'center',
+ border: true,
+ addBtn: false,
+ editBtn: false,
+ delBtn: false,
+ defaultExpandAll: true,
+ rowKey: 'id',
+ rowParentKey: 'parentId',
+ column: [{
+ label: '标题',
+ prop: 'discussContent',
+ },
+ {
+ label: '选项内容',
+ prop: 'optionContent',
+ }
+ ]
+ },
- userData: [],
- userOption: {
- labelWidth: 96,
- searchLabelWidth: 96,
- searchShow: true,
- searchMenuSpan: 3,
- // menuWidth: 500,
- menu: false,
+ articleId: '',
- height: "auto",
- calcHeight: 54,
- dialogWidth: 950,
- tip: false,
- border: false,
- //stripe:true,
- index: true,
- editBtn: false,
- addBtn: false,
- viewBtn: false,
- selection: true,
- delBtn: false,
- excelBtn: true,
- dialogClickModal: false,
- column: [{
- label: '姓名',
- prop: 'name',
- searchSpan: 4,
- search: true,
- }, {
- label: '头像',
- type: 'upload',
- listType: "picture-img",
- prop: 'avatar'
- }, {
- label: '手机',
- prop: 'phone',
- searchSpan: 4,
- search: true,
- }, {
- label: '小区',
- prop: 'aoiName'
- }, {
- label: '地址',
- prop: 'addressName'
- }, {
- label: '签名',
- type: 'upload',
- listType: "picture-img",
- prop: 'signaturePath'
- }, {
- label: '时间',
- prop: 'createTime'
- }]
- },
- // 分页信息
- userPage: {
- pageSize: 10,
- pageSizes: [10, 20, 30, 50, 100],
- currentPage: 1,
- total: 0
- },
- query: {},
- }
+ userData: [],
+ userOption: {
+ labelWidth: 96,
+ searchLabelWidth: 96,
+ searchShow: true,
+ searchMenuSpan: 3,
+ // menuWidth: 500,
+ menu: false,
+
+ height: "auto",
+ calcHeight: 54,
+ dialogWidth: 950,
+ tip: false,
+ border: true,
+ //stripe:true,
+ index: true,
+ editBtn: false,
+ addBtn: false,
+ viewBtn: false,
+ selection: true,
+ delBtn: false,
+ excelBtn: true,
+ dialogClickModal: false,
+ column: [{
+ label: '姓名',
+ prop: 'name',
+ searchSpan: 4,
+ search: true,
+ }, {
+ label: '头像',
+ type: 'upload',
+ listType: "picture-img",
+ prop: 'avatar'
+ }, {
+ label: '手机',
+ prop: 'phone',
+ searchSpan: 4,
+ search: true,
+ }, {
+ label: '小区',
+ prop: 'aoiName'
+ }, {
+ label: '地址',
+ prop: 'addressName'
+ }, {
+ label: '签名',
+ type: 'upload',
+ listType: "picture-img",
+ prop: 'signaturePath'
+ }, {
+ label: '时间',
+ prop: 'createTime'
+ }]
+ },
+ // 分页信息
+ userPage: {
+ pageSize: 10,
+ pageSizes: [10, 20, 30, 50, 100],
+ currentPage: 1,
+ total: 0
+ },
+ query: {},
+ }
},
watch: {},
methods: {
- userHandleClose() {
+ userHandleClose () {
- this.popupTableUserShow = false
- },
+ this.popupTableUserShow = false
+ },
- searchReset() {
- this.query = {}
- this.getUserPage(this.userPage)
- },
-
- searchChange(params, done) {
- this.query = params
- this.userPage.currentPage = 1
- this.getUserPage(this.userPage, params)
- done()
- },
- initData(newData) {
- this.editFlag = false
- this.popupTableShow = true
- this.articleId = newData.id
- this.query.level = 1
- this.query.articleId = this.articleId
- this.onLoad(this.userPage, this.query)
- },
- // initData(newData) {
- // this.editFlag = false
- // this.popupTableShow = true
- // this.articleId = newData.id
-
- // this.onLoad()
- // },
-
- handleClose() {
- this.popupTableShow = false
- this.disCussFrom = {}
- },
-
- handleSubmit(form, done) {
- done()
- form.articleId = this.articleId
-
- add(form).then(
- () => {
- this.$message({
- type: "success",
- message: "操作成功!",
- })
- form = {}
- this.editFlag = false
-
- let params = {
- level: 1,
- articleId: this.articleId
- }
-
- getLists(1, 100, Object.assign(params, this.query)).then(res => {
- const data = res.data.data
- this.data = data
- })
- },
- (error) => {
- window.console.log(error)
- }
- )
- },
-
- handleReset() {
- this.editFlag = false
- },
-
- // 提交修改
- rowUpdate(row, index, done, loading) {
- done()
- if (!row.id) {
- addPd(row).then(() => {
- this.onLoad()
-
- this.$message({
- type: "success",
- message: "操作成功!"
- })
- })
- } else {
- updatePd(row).then(() => {
- this.onLoad()
-
- this.$message({
- type: "success",
- message: "操作成功!"
- })
- })
- }
- },
-
- rowDel(row) {
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- })
- .then(() => {
- return remove(row.id)
- })
- .then(() => {
+ searchReset () {
+ this.query = {}
this.getUserPage(this.userPage)
+ },
- this.$message({
- type: "success",
- message: "操作成功!"
+ searchChange (params, done) {
+ this.query = params
+ this.userPage.currentPage = 1
+ this.getUserPage(this.userPage, params)
+ done()
+ },
+ initData (newData) {
+ this.editFlag = false
+ this.popupTableShow = true
+ this.articleId = newData.id
+ this.query.level = 1
+ this.query.articleId = this.articleId
+ this.onLoad(this.userPage, this.query)
+ },
+ // initData(newData) {
+ // this.editFlag = false
+ // this.popupTableShow = true
+ // this.articleId = newData.id
+
+ // this.onLoad()
+ // },
+
+ handleClose () {
+ this.popupTableShow = false
+ this.disCussFrom = {}
+ },
+
+ handleSubmit (form, done) {
+ done()
+ form.articleId = this.articleId
+
+ add(form).then(
+ () => {
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ form = {}
+ this.editFlag = false
+
+ let params = {
+ level: 1,
+ articleId: this.articleId
+ }
+
+ getLists(1, 100, Object.assign(params, this.query)).then(res => {
+ const data = res.data.data
+ this.data = data
+ })
+ },
+ (error) => {
+ window.console.log(error)
+ }
+ )
+ },
+
+ handleReset () {
+ this.editFlag = false
+ },
+
+ // 提交修改
+ rowUpdate (row, index, done, loading) {
+ done()
+ if (!row.id) {
+ addPd(row).then(() => {
+ this.onLoad()
+
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ })
+ } else {
+ updatePd(row).then(() => {
+ this.onLoad()
+
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ })
+ }
+ },
+
+ rowDel (row) {
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
})
- })
- },
+ .then(() => {
+ return remove(row.id)
+ })
+ .then(() => {
+ this.getUserPage(this.userPage)
- add() {
- this.editFlag = true
- },
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ })
+ },
- edit(row) {
- this.disCussFrom = row
- this.editFlag = true
- },
+ add () {
+ this.editFlag = true
+ },
- deletes(row) {
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- })
- .then(() => {
- return remove(row.id)
- })
- .then(() => {
- this.onLoad()
+ edit (row) {
+ this.disCussFrom = row
+ this.editFlag = true
+ },
- this.$message({
- type: "success",
- message: "操作成功!"
+ deletes (row) {
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
})
- })
- },
+ .then(() => {
+ return remove(row.id)
+ })
+ .then(() => {
+ this.onLoad()
- openUser(row, type = 0) {
- this.popupTableUserShow = true
- this.query = {}
- if (type == 0) {
- this.userParams = {
- articleId: row.id
- }
- } else {
- this.userParams = {
- topicsId: row.id
- }
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ })
+ },
+
+ openUser (row, type = 0) {
+ this.popupTableUserShow = true
+ this.query = {}
+ if (type == 0) {
+ this.userParams = {
+ articleId: row.id
+ }
+ } else {
+ this.userParams = {
+ topicsId: row.id
+ }
+ }
+ this.getUserPage(this.userPage, this.userParams)
+ },
+
+ getUserPage (page, params = {}) {
+ getPage(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
+ const data = res.data.data
+ this.userPage.total = data.total
+ this.userData = data.records
+ this.userData.forEach(item => {
+ if (item.avatar.length > 0) {
+ item.avatar = website.minioUrl + item.avatar
+ }
+ if (item.signaturePath && item.signaturePath.length > 0) {
+ item.signaturePath = website.minioUrl + item.signaturePath
+ // console.log("=====>", item.signaturePath)
+ }
+ })
+ })
+ },
+
+ onLoad (page, params = {}) {
+ this.loading = true
+ getLists(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
+ const data = res.data.data
+ this.data = data
+ this.loading = false
+ })
}
- this.getUserPage(this.userPage, this.userParams)
- },
-
- getUserPage(page, params = {}) {
- getPage(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
- const data = res.data.data
- this.userPage.total = data.total
- this.userData = data.records
- this.userData.forEach(item => {
- if (item.avatar.length > 0) {
- item.avatar = website.minioUrl + item.avatar
- }
- if (item.signaturePath && item.signaturePath.length > 0) {
- item.signaturePath = website.minioUrl + item.signaturePath
- // console.log("=====>", item.signaturePath)
- }
- })
- })
- },
-
- onLoad(page, params = {}) {
- this.loading = true
- getLists(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
- const data = res.data.data
- this.data = data
- this.loading = false
- })
- }
},
- }
+}
</script>
<style lang="scss" scoped></style>
\ No newline at end of file
diff --git a/src/views/article/components/publicSignUpChild.vue b/src/views/article/components/publicSignUpChild.vue
index e54a0de..b133a6f 100644
--- a/src/views/article/components/publicSignUpChild.vue
+++ b/src/views/article/components/publicSignUpChild.vue
@@ -1,382 +1,381 @@
<template>
-
- <div>
- <el-dialog title="" append-to-body :visible.sync="dialogVisiblesUser" width="80%" :before-close="userHandleClose">
- <avue-crud ref="DataUser" :option="userOption" :data="dataUser" v-model="dataUser" :page="pageUser"
- @search-change="searchChange" @search-reset="searchReset"></avue-crud>
- </el-dialog>
- </div>
+ <div>
+ <el-dialog title="" append-to-body :visible.sync="dialogVisiblesUser" width="80%" :before-close="userHandleClose">
+ <avue-crud ref="DataUser" :option="userOption" :data="dataUser" v-model="dataUser" :page="pageUser"
+ @search-change="searchChange" @search-reset="searchReset"></avue-crud>
+ </el-dialog>
+ </div>
- <!-- </basicContainer> -->
+ <!-- </basicContainer> -->
</template>
<script>
- import {
+import {
getListPd,
getDetailPd,
addPd,
updatePd,
removePd,
- } from "@/api/discuss/publicDiscuss"
- import {
+} from "@/api/discuss/publicDiscuss"
+import {
getPageUser,
- } from "@/api/discuss/userPublicEnroll"
- import option from "@/option/discuss/publicDiscuss"
- import {
+} from "@/api/discuss/userPublicEnroll"
+import option from "@/option/discuss/publicDiscuss"
+import {
mapGetters
- } from "vuex"
- import {
+} from "vuex"
+import {
getDictionary
- } from '@/api/system/dict'
+} from '@/api/system/dict'
- import website from '@/config/website'
+import website from '@/config/website'
- export default {
- data() {
- return {
- option1: {
- menu: false,
- addBtn: false,
- column: [{
- label: '姓名',
- prop: 'name'
- }, {
- label: '头像',
- prop: 'avatar'
- }, {
- label: '手机',
- prop: 'phone'
- }, {
- width: 220,
- overHidden: true,
- label: '小区名称',
- prop: 'aoiName'
- }, {
- label: '地址',
- prop: 'addressName'
- }, {
- label: '时间',
- prop: 'createTime'
- }]
- },
- discussForm: {
- ontitle: '',
- title: '',
- openFlag: 0,
- numberRestrictions: 0,
- voteRestrictions: 0,
- userRestrictions: 0,
- endTime: '',
- articleId: '',
- createTime: '',
- updateTime: '',
- deleteFlag: '',
- repeatVote: 0,
- voteNumberPublic: 0,
- appointUser: '',
- userIds: '',
- eventType: 1,
- },
-
- dialogVisibles: false,
- dialogVisiblesUser: false,
- // 弹框标题
- title: '',
- // 是否展示弹框
- box: false,
- // 是否显示查询
- search: true,
- // 加载中
- loading: true,
- // 是否为查看模式
- view: false,
- // 查询信息
- query: {},
- // 分页信息
- page: {
- pageSize: 10,
- pageSizes: [10, 20, 30, 50, 100],
- currentPage: 1,
- total: 0
- },
-
- // 分页信息
- pageUser: {
- pageSize: 10,
- pageSizes: [10, 20, 30, 50, 100],
- currentPage: 1,
- total: 0
- },
- // 表单数据
- form: {},
- // 选择行
- selectionList: [],
- userOption: {
- labelWidth: 96,
- searchLabelWidth: 96,
- searchShow: true,
- searchMenuSpan: 3,
- // menuWidth: 500,
- menu: false,
-
- height: "auto",
- calcHeight: 54,
- dialogWidth: 950,
- tip: false,
- border: false,
- //stripe:true,
- index: true,
- editBtn: false,
- addBtn: false,
- viewBtn: false,
- selection: true,
- delBtn: false,
- excelBtn: true,
- dialogClickModal: false,
- column: [{
- label: '姓名',
- prop: 'name',
- search: true,
- }, {
- label: '头像',
- type: 'upload',
- listType: "picture-img",
- prop: 'avatar'
+export default {
+ data () {
+ return {
+ option1: {
+ menu: false,
+ addBtn: false,
+ column: [{
+ label: '姓名',
+ prop: 'name'
+ }, {
+ label: '头像',
+ prop: 'avatar'
+ }, {
+ label: '手机',
+ prop: 'phone'
+ }, {
+ width: 220,
+ overHidden: true,
+ label: '小区名称',
+ prop: 'aoiName'
+ }, {
+ label: '地址',
+ prop: 'addressName'
+ }, {
+ label: '时间',
+ prop: 'createTime'
+ }]
},
- {
- label: '签名',
- type: 'upload',
- listType: "picture-img",
- prop: 'signaturePath'
+ discussForm: {
+ ontitle: '',
+ title: '',
+ openFlag: 0,
+ numberRestrictions: 0,
+ voteRestrictions: 0,
+ userRestrictions: 0,
+ endTime: '',
+ articleId: '',
+ createTime: '',
+ updateTime: '',
+ deleteFlag: '',
+ repeatVote: 0,
+ voteNumberPublic: 0,
+ appointUser: '',
+ userIds: '',
+ eventType: 1,
},
- {
- label: '手机',
- prop: 'phone',
- search: true,
- }, {
- label: '小区',
- prop: 'aoiName'
- }, {
- label: '地址',
- prop: 'addressName'
- }, {
- label: '时间',
- prop: 'createTime'
- }
- ]
- },
- // 表单列表
- data: [],
- dataUser: [],
- }
+
+ dialogVisibles: false,
+ dialogVisiblesUser: false,
+ // 弹框标题
+ title: '',
+ // 是否展示弹框
+ box: false,
+ // 是否显示查询
+ search: true,
+ // 加载中
+ loading: true,
+ // 是否为查看模式
+ view: false,
+ // 查询信息
+ query: {},
+ // 分页信息
+ page: {
+ pageSize: 10,
+ pageSizes: [10, 20, 30, 50, 100],
+ currentPage: 1,
+ total: 0
+ },
+
+ // 分页信息
+ pageUser: {
+ pageSize: 10,
+ pageSizes: [10, 20, 30, 50, 100],
+ currentPage: 1,
+ total: 0
+ },
+ // 表单数据
+ form: {},
+ // 选择行
+ selectionList: [],
+ userOption: {
+ labelWidth: 96,
+ searchLabelWidth: 96,
+ searchShow: true,
+ searchMenuSpan: 3,
+ // menuWidth: 500,
+ menu: false,
+
+ height: "auto",
+ calcHeight: 54,
+ dialogWidth: 950,
+ tip: false,
+ border: true,
+ //stripe:true,
+ index: true,
+ editBtn: false,
+ addBtn: false,
+ viewBtn: false,
+ selection: true,
+ delBtn: false,
+ excelBtn: true,
+ dialogClickModal: false,
+ column: [{
+ label: '姓名',
+ prop: 'name',
+ search: true,
+ }, {
+ label: '头像',
+ type: 'upload',
+ listType: "picture-img",
+ prop: 'avatar'
+ },
+ {
+ label: '签名',
+ type: 'upload',
+ listType: "picture-img",
+ prop: 'signaturePath'
+ },
+ {
+ label: '手机',
+ prop: 'phone',
+ search: true,
+ }, {
+ label: '小区',
+ prop: 'aoiName'
+ }, {
+ label: '地址',
+ prop: 'addressName'
+ }, {
+ label: '时间',
+ prop: 'createTime'
+ }
+ ]
+ },
+ // 表单列表
+ data: [],
+ dataUser: [],
+ }
},
- mounted() {
- // this.init();
- // this.onLoad(this.page);
+ mounted () {
+ // this.init();
+ // this.onLoad(this.page);
},
computed: {
- ...mapGetters(["permission"]),
- ids() {
- let ids = []
- this.selectionList.forEach(ele => {
- ids.push(ele.id)
- })
- return ids.join(",")
- }
+ ...mapGetters(["permission"]),
+ ids () {
+ let ids = []
+ this.selectionList.forEach(ele => {
+ ids.push(ele.id)
+ })
+ return ids.join(",")
+ }
},
methods: {
- searchReset() {
- this.query = {}
- this.getUser(this.userPage)
- },
+ searchReset () {
+ this.query = {}
+ this.getUser(this.userPage)
+ },
- searchChange(params, done) {
- this.query = params
- this.userPage.currentPage = 1
- this.getUser(this.userPage, params)
- done()
- },
- init(data) {
- this.houseCode = data.houseCode
- this.onLoad(this.page)
- },
- getUser(page, params) {
- getPageUser(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
- const data = res.data.data
- this.pageUser.total = data.total
- this.dataUser = data.records
- this.dataUser.forEach(item => {
- if (item.avatar.length > 0) {
- item.avatar = website.minioUrl + item.avatar
+ searchChange (params, done) {
+ this.query = params
+ this.userPage.currentPage = 1
+ this.getUser(this.userPage, params)
+ done()
+ },
+ init (data) {
+ this.houseCode = data.houseCode
+ this.onLoad(this.page)
+ },
+ getUser (page, params) {
+ getPageUser(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
+ const data = res.data.data
+ this.pageUser.total = data.total
+ this.dataUser = data.records
+ this.dataUser.forEach(item => {
+ if (item.avatar.length > 0) {
+ item.avatar = website.minioUrl + item.avatar
+ }
+ if (item.signaturePath && item.signaturePath.length > 0) {
+ item.signaturePath = website.minioUrl + item.signaturePath
+ console.log("=====>", item.signaturePath)
+ }
+ })
+ this.loading = false
+ // this.selectionClear()
+ })
+ },
+ userHandleClose () {
+ this.dialogVisiblesUser = false
+ this.dataUser = []
+ // this.$refs.DataUser && this.$refs.DataUser.resetForm()
+ // console.log(this.$refs, 90999)
+ },
+
+ openUser (row) {
+ this.dialogVisiblesUser = true
+ let params = {
+ articleId: row.id
}
- if (item.signaturePath && item.signaturePath.length > 0) {
- item.signaturePath = website.minioUrl + item.signaturePath
- console.log("=====>", item.signaturePath)
+ this.getUser(this.pageUser, params)
+ },
+
+ openDilog (row, type) {
+ this.dialogVisibles = true
+ this.discussForm = row
+ let times = new Date(row.endTime).getTime()
+ this.discussForm.endTime = times
+ console.table(this.discussForm)
+ if (type == 0) {
+ this.discussForm.ontitle = '公益报名'
+ } else {
+ this.discussForm.ontitle = '创建议题'
}
- })
- this.loading = false
- // this.selectionClear()
- })
- },
- userHandleClose() {
- this.dialogVisiblesUser = false
- this.dataUser = []
- // this.$refs.DataUser && this.$refs.DataUser.resetForm()
- // console.log(this.$refs, 90999)
- },
+ },
- openUser(row) {
- this.dialogVisiblesUser = true
- let params = {
- articleId: row.id
- }
- this.getUser(this.pageUser, params)
- },
-
- openDilog(row, type) {
- this.dialogVisibles = true
- this.discussForm = row
- let times = new Date(row.endTime).getTime()
- this.discussForm.endTime = times
- console.table(this.discussForm)
- if (type == 0) {
- this.discussForm.ontitle = '公益报名'
- } else {
- this.discussForm.ontitle = '创建议题'
- }
- },
-
- searchHide() {
- this.search = !this.search
- },
- searchChange() {
- this.onLoad(this.page)
- },
- searchReset() {
- this.query = {}
- this.page.currentPage = 1
- this.onLoad(this.page)
- },
- handleSubmit(form, done) {
- done()
- if (!this.discussForm.id) {
- addPd(this.discussForm).then(() => {
- this.dialogVisibles = false
+ searchHide () {
+ this.search = !this.search
+ },
+ searchChange () {
this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!"
- })
- })
- } else {
- updatePd(this.discussForm).then(() => {
- this.dialogVisibles = false
+ },
+ searchReset () {
+ this.query = {}
+ this.page.currentPage = 1
this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!"
+ },
+ handleSubmit (form, done) {
+ done()
+ if (!this.discussForm.id) {
+ addPd(this.discussForm).then(() => {
+ this.dialogVisibles = false
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ })
+ } else {
+ updatePd(this.discussForm).then(() => {
+ this.dialogVisibles = false
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ })
+ }
+ },
+ handleAdd () {
+ this.title = '新增'
+ this.form = {}
+ this.box = true
+ },
+ handleEdit (row) {
+ this.title = '编辑'
+ this.box = true
+ getDetailPd(row.id).then(res => {
+ this.form = res.data.data
})
- })
+ },
+ handleView (row) {
+ this.title = '查看'
+ this.view = true
+ this.box = true
+ getDetailPd(row.id).then(res => {
+ this.form = res.data.data
+ })
+ },
+ handleDelete () {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据")
+ return
+ }
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ })
+ .then(() => {
+ return removePd(this.ids)
+ })
+ .then(() => {
+ this.selectionClear()
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ })
+ },
+ rowDel (row) {
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ })
+ .then(() => {
+ return remove(row.id)
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ })
+ },
+ beforeClose (done) {
+ done()
+ this.form = {}
+ this.view = false
+ },
+ selectionChange (list) {
+ this.selectionList = list
+ },
+ selectionClear () {
+ this.selectionList = []
+ // this.$refs.table.clearSelection();
+ },
+ currentChange (currentPage) {
+ this.page.currentPage = currentPage
+ this.onLoad(this.page)
+ },
+ sizeChange (pageSize) {
+ this.page.pageSize = pageSize
+ this.onLoad(this.page)
+ },
+ onLoad (page, params = {
+ eventType: 0
+ }) {
+ this.loading = true
+ getListPd(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
+ const data = res.data.data
+ this.page.total = data.total
+ this.data = data.records
+ this.loading = false
+ this.selectionClear()
+ })
}
- },
- handleAdd() {
- this.title = '新增'
- this.form = {}
- this.box = true
- },
- handleEdit(row) {
- this.title = '编辑'
- this.box = true
- getDetailPd(row.id).then(res => {
- this.form = res.data.data
- })
- },
- handleView(row) {
- this.title = '查看'
- this.view = true
- this.box = true
- getDetailPd(row.id).then(res => {
- this.form = res.data.data
- })
- },
- handleDelete() {
- if (this.selectionList.length === 0) {
- this.$message.warning("请选择至少一条数据")
- return
- }
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- })
- .then(() => {
- return removePd(this.ids)
- })
- .then(() => {
- this.selectionClear()
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!"
- })
- })
- },
- rowDel(row) {
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- })
- .then(() => {
- return remove(row.id)
- })
- .then(() => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!"
- })
- })
- },
- beforeClose(done) {
- done()
- this.form = {}
- this.view = false
- },
- selectionChange(list) {
- this.selectionList = list
- },
- selectionClear() {
- this.selectionList = []
- // this.$refs.table.clearSelection();
- },
- currentChange(currentPage) {
- this.page.currentPage = currentPage
- this.onLoad(this.page)
- },
- sizeChange(pageSize) {
- this.page.pageSize = pageSize
- this.onLoad(this.page)
- },
- onLoad(page, params = {
- eventType: 0
- }) {
- this.loading = true
- getListPd(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
- const data = res.data.data
- this.page.total = data.total
- this.data = data.records
- this.loading = false
- this.selectionClear()
- })
- }
}
- }
+}
</script>
<style lang="scss" scoped>
- .el-pagination {
+.el-pagination {
margin-top: 20px;
- }
+}
</style>
\ No newline at end of file
diff --git a/src/views/article/discussionManage.vue b/src/views/article/discussionManage.vue
index 597f5a4..232171e 100644
--- a/src/views/article/discussionManage.vue
+++ b/src/views/article/discussionManage.vue
@@ -1,773 +1,777 @@
<template>
- <basic-container>
- <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" ref="crud" @row-del="rowDel"
- v-model="form" :permission="permissionList" @row-update="rowUpdate" @row-save="rowSave" :before-open="beforeOpen"
- @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
- @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
- <template slot="menuLeft">
- <el-button size="small" icon="el-icon-delete" plain v-if="permission.article_delete" @click="handleDelete">删
- 除
- </el-button>
- </template>
+ <basic-container>
+ <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" ref="crud" @row-del="rowDel"
+ v-model="form" :permission="permissionList" @row-update="rowUpdate" @row-save="rowSave"
+ :before-open="beforeOpen" @search-change="searchChange" @search-reset="searchReset"
+ @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
+ @refresh-change="refreshChange" @on-load="onLoad">
+ <template slot="menuLeft">
+ <el-button size="small" icon="el-icon-delete" plain v-if="permission.article_delete" @click="handleDelete">删
+ 除
+ </el-button>
+ </template>
- <template slot-scope="{type,size,row }" slot="menu">
- <el-button icon="el-icon-s-tools" :size="size" :type="type" @click.stop="openDilog(row, 1)">
- 设置
- </el-button>
+ <template slot-scope="{type,size,row }" slot="menu">
+ <el-button icon="el-icon-s-tools" :size="size" :type="type" @click.stop="openDilog(row, 1)">
+ 设置
+ </el-button>
- <el-button icon="el-icon-edit" :size="size" :type="type" @click.stop="openEditPopup(row, 1)">
- 编辑议题
- </el-button>
+ <el-button icon="el-icon-edit" :size="size" :type="type" @click.stop="openEditPopup(row, 1)">
+ 编辑议题
+ </el-button>
- <el-button icon="el-icon-user" :size="size" :type="type" @click.stop="openUserPopup(row, 1)">
- 参与用户
- </el-button>
+ <el-button icon="el-icon-user" :size="size" :type="type" @click.stop="openUserPopup(row, 1)">
+ 参与用户
+ </el-button>
- <el-button v-if="row.publish == '1'" icon="el-icon-close" :size="size" :type="type" @click.stop="updateFb(row)">
- 撤销
- </el-button>
+ <el-button v-if="row.publish == '1'" icon="el-icon-close" :size="size" :type="type"
+ @click.stop="updateFb(row)">
+ 撤销
+ </el-button>
- <el-button v-if="row.publish == '0'" icon="el-icon-check" :size="size" :type="type" @click.stop="updateFb(row)">
- 发布
- </el-button>
- </template>
+ <el-button v-if="row.publish == '0'" icon="el-icon-check" :size="size" :type="type"
+ @click.stop="updateFb(row)">
+ 发布
+ </el-button>
+ </template>
- <template slot-scope="{ row, size }" slot="publish">
- <el-tag :size="size" :type="showStatus(row.publish, 1).type" v-text="showStatus(row.publish, 1).text">
- </el-tag>
- </template>
+ <template slot-scope="{ row, size }" slot="publish">
+ <el-tag :size="size" :type="showStatus(row.publish, 1).type" v-text="showStatus(row.publish, 1).text">
+ </el-tag>
+ </template>
- <template slot-scope="{ row, size }" slot="iscomment">
- <el-tag :size="size" :type="showStatus(row.iscomment, 2).type" v-text="showStatus(row.iscomment, 2).text">
- </el-tag>
- </template>
- </avue-crud>
+ <template slot-scope="{ row, size }" slot="iscomment">
+ <el-tag :size="size" :type="showStatus(row.iscomment, 2).type" v-text="showStatus(row.iscomment, 2).text">
+ </el-tag>
+ </template>
+ </avue-crud>
- <deitDiscussion ref="DeitDiscussion">
- </deitDiscussion>
+ <deitDiscussion ref="DeitDiscussion">
+ </deitDiscussion>
- <discussionManageChild ref="discussionManageChild" />
+ <discussionManageChild ref="discussionManageChild" />
- </basic-container>
+ </basic-container>
</template>
<script>
- import {
+import {
getList,
remove,
update,
add,
getNotice,
upcomment
- } from "@/api/article/article"
+} from "@/api/article/article"
- import {
+import {
getListPd,
removePd,
updatePd,
addPd,
getNoticePd,
upcommentPd
- } from "@/api/discuss/publicDiscuss"
- import website from '@/config/website'
- import {
+} from "@/api/discuss/publicDiscuss"
+import website from '@/config/website'
+import {
getDistrictTree
- } from "@/api/district/index"
- import {
+} from "@/api/district/index"
+import {
mapGetters
- } from "vuex"
- import deitDiscussion from "./components/deitDiscussion"
- import discussionManageChild from "./components/discussionManageChild"
+} from "vuex"
+import deitDiscussion from "./components/deitDiscussion"
+import discussionManageChild from "./components/discussionManageChild"
- export default {
+export default {
components: {
- deitDiscussion,
- discussionManageChild,
+ deitDiscussion,
+ discussionManageChild,
},
- data() {
- return {
- discussForm: {
- ontitle: '',
- title: '',
- openFlag: 0,
- numberRestrictions: 0,
- voteRestrictions: 0,
- userRestrictions: 0,
- signatureFlag: 0,
- endTime: '',
- articleId: '',
- createTime: '',
- updateTime: '',
- deleteFlag: '',
- repeatVote: 0,
- voteNumberPublic: 0,
- appointUser: 0,
- userIds: '',
- eventType: 1,
- },
- form: {},
- query: {},
- loading: true,
- page: {
- pageSize: 10,
- currentPage: 1,
- total: 0,
- },
- datetime: "",
- selectionList: [],
- option: {
- labelWidth: 96,
- searchLabelWidth: 96,
- searchShow: true,
- searchMenuSpan: 3,
- menuWidth: 500,
+ data () {
+ return {
+ discussForm: {
+ ontitle: '',
+ title: '',
+ openFlag: 0,
+ numberRestrictions: 0,
+ voteRestrictions: 0,
+ userRestrictions: 0,
+ signatureFlag: 0,
+ endTime: '',
+ articleId: '',
+ createTime: '',
+ updateTime: '',
+ deleteFlag: '',
+ repeatVote: 0,
+ voteNumberPublic: 0,
+ appointUser: 0,
+ userIds: '',
+ eventType: 1,
+ },
+ form: {},
+ query: {},
+ loading: true,
+ page: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0,
+ },
+ datetime: "",
+ selectionList: [],
+ option: {
+ labelWidth: 96,
+ searchLabelWidth: 96,
+ searchShow: true,
+ searchMenuSpan: 3,
+ menuWidth: 500,
- height: "auto",
- calcHeight: 54,
- dialogWidth: 950,
- tip: false,
- border: false,
- //stripe:true,
- index: true,
- viewBtn: false,
- selection: true,
- excelBtn: true,
- dialogClickModal: false,
- column: [{
- overHidden: true,
- label: "议事标题",
- prop: "title",
- span: 24,
- row: true,
- searchSpan: 4,
- search: true,
- rules: [{
- required: true,
- message: "请输入议事标题",
- trigger: "blur",
- }, ],
- },
- {
- label: "范围",
- prop: "articleList",
- span: 24,
- minRows: 2,
- tags: true,
- type: "cascader",
- multiple: true,
- dicData: [],
- rules: [{
- required: true,
- message: "请选择范围",
- trigger: "blur",
- }, ],
- props: {
- label: "name",
- value: 'id'
- },
- hide: true,
- },
- {
- width: 110,
- label: "封面",
- prop: "url",
- // align:'center',
- type: "upload",
- listType: "picture-img",
- action: "/api/blade-resource/oss/endpoint/put-file",
- propsHttp: {
- res: "data",
- url: "link",
- },
- // hide: true,
- span: 24,
- },
- {
- width: 110,
- label: "文章类型",
- prop: "articleType",
- addDisplay: true,
- editDisplay: true,
- viewDisplay: true,
- searchSpan: 4,
- checkStrictly: true,
- dicUrl: "/api/blade-system/dict-biz/dictionary?code=investigateType",
- props: {
- label: "dictValue",
- value: "dictKey",
- },
- search: true,
- type: "tree",
- rules: [{
- required: true,
- message: "请选择文章类型",
- trigger: "blur",
- }, ],
- },
- {
- label: "发布时间",
- prop: "dateTime",
- type: "daterange",
- format: "yyyy-MM-dd",
- valueFormat: "yyyy-MM-dd",
- searchSpan: 6,
- searchRange: true,
- hide: true,
- addDisplay: false,
- editDisplay: false,
- viewDisplay: false,
- search: true,
- rules: [{
- required: true,
- message: "请选择发布时间",
- trigger: "blur",
- }, ],
- },
- {
- width: 100,
- label: "发布时间",
- prop: "createTime",
- type: "date",
- format: "yyyy-MM-dd",
- valueFormat: "yyyy-MM-dd HH:mm:ss",
- },
- {
- width: 100,
- label: "发布状态",
- prop: "publish",
- searchSpan: 4,
- value: "0",
- slot: true,
- search: true,
- type: "select",
- rules: [{
- required: true,
- message: "请选择发布状态",
- trigger: "blur",
- }, ],
- dicData: [{
- label: "未发布",
- value: "0",
+ height: "auto",
+ calcHeight: 54,
+ dialogWidth: 950,
+ tip: false,
+ border: true,
+ //stripe:true,
+ index: true,
+ viewBtn: false,
+ selection: true,
+ excelBtn: true,
+ dialogClickModal: false,
+ column: [{
+ overHidden: true,
+ label: "议事标题",
+ prop: "title",
+ span: 24,
+ row: true,
+ searchSpan: 4,
+ search: true,
+ searchLabelWidth: 76,
+ rules: [{
+ required: true,
+ message: "请输入议事标题",
+ trigger: "blur",
+ },],
},
{
- label: "已发布",
- value: "1",
- }
- ],
- },
- {
- span: 24,
- label: "评论区",
- prop: "iscomment",
- width: 80,
- slot: true,
- type: "switch",
- activeColor: "#13ce66",
- inactiveColor: "#ccc",
- value: '1',
- dicData: [{
- label: "关闭",
- value: "0",
+ label: "范围",
+ prop: "articleList",
+ span: 24,
+ minRows: 2,
+ tags: true,
+ type: "cascader",
+ multiple: true,
+ dicData: [],
+ rules: [{
+ required: true,
+ message: "请选择范围",
+ trigger: "blur",
+ },],
+ props: {
+ label: "name",
+ value: 'id'
+ },
+ hide: true,
},
{
- label: "开启",
- value: "1",
- }
- ],
- },
- {
- label: "视频",
- prop: "videoUrl",
- type: "upload",
- accept: "video/mp4",
- display: false,
- hide: true,
- span: 24,
- listType: "picture-img",
- action: "/api/depl/put-depl",
- propsHttp: {
- url: "data",
- },
- },
- {
- label: "议事内容",
- prop: "content",
- component: "AvueUeditor",
- options: {
- action: "/api/blade-resource/oss/endpoint/put-file",
- // customConfig: {
- // lineHeights: ['1', '1.15', '1.6', '2', '2.5', '3']
- // },//wangEditor编辑的配置
- props: {
- res: "data",
- url: "link",
+ width: 110,
+ label: "封面",
+ prop: "url",
+ // align:'center',
+ type: "upload",
+ listType: "picture-img",
+ action: "/api/blade-resource/oss/endpoint/put-file",
+ propsHttp: {
+ res: "data",
+ url: "link",
+ },
+ // hide: true,
+ span: 24,
},
- },
- hide: true,
- minRows: 6,
- span: 24,
+ {
+ width: 110,
+ label: "文章类型",
+ prop: "articleType",
+ addDisplay: true,
+ editDisplay: true,
+ viewDisplay: true,
+ searchSpan: 4,
+ checkStrictly: true,
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=investigateType",
+ props: {
+ label: "dictValue",
+ value: "dictKey",
+ },
+ search: true,
+ type: "tree",
+ rules: [{
+ required: true,
+ message: "请选择文章类型",
+ trigger: "blur",
+ },],
+ },
+ {
+ label: "发布时间",
+ prop: "dateTime",
+ type: "daterange",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ searchSpan: 6,
+ searchRange: true,
+ hide: true,
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: false,
+ search: true,
+ rules: [{
+ required: true,
+ message: "请选择发布时间",
+ trigger: "blur",
+ },],
+ },
+ {
+ width: 100,
+ label: "发布时间",
+ prop: "createTime",
+ type: "date",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd HH:mm:ss",
+ },
+ {
+ width: 100,
+ label: "发布状态",
+ prop: "publish",
+ searchSpan: 4,
+ value: "0",
+ slot: true,
+ search: true,
+ type: "select",
+ rules: [{
+ required: true,
+ message: "请选择发布状态",
+ trigger: "blur",
+ },],
+ dicData: [{
+ label: "未发布",
+ value: "0",
+ },
+ {
+ label: "已发布",
+ value: "1",
+ }
+ ],
+ },
+ {
+ span: 24,
+ label: "评论区",
+ prop: "iscomment",
+ width: 80,
+ slot: true,
+ type: "switch",
+ activeColor: "#13ce66",
+ inactiveColor: "#ccc",
+ value: '1',
+ dicData: [{
+ label: "关闭",
+ value: "0",
+ },
+ {
+ label: "开启",
+ value: "1",
+ }
+ ],
+ },
+ {
+ label: "视频",
+ prop: "videoUrl",
+ type: "upload",
+ accept: "video/mp4",
+ display: false,
+ hide: true,
+ span: 24,
+ listType: "picture-img",
+ action: "/api/depl/put-depl",
+ propsHttp: {
+ url: "data",
+ },
+ },
+ {
+ label: "议事内容",
+ prop: "content",
+ component: "AvueUeditor",
+ options: {
+ action: "/api/blade-resource/oss/endpoint/put-file",
+ // customConfig: {
+ // lineHeights: ['1', '1.15', '1.6', '2', '2.5', '3']
+ // },//wangEditor编辑的配置
+ props: {
+ res: "data",
+ url: "link",
+ },
+ },
+ hide: true,
+ minRows: 6,
+ span: 24,
+ },
+ ],
},
- ],
- },
- data: [],
- optionDiscuss: {
- column: [{
- label: "",
- type: 'title',
- prop: "title",
- span: 24,
- row: true,
- offset: 2,
- styles: {
- fontSize: '24px'
- }
- }, {
- labelWidth: 100,
- label: '开启投票',
- prop: 'openFlag',
- type: 'radio',
- button: true,
- row: true,
- offset: 6,
- dicData: [{
- label: '开启',
- value: 0
- }, {
- label: '不开启',
- value: 1
- }],
- rules: [{
- required: true,
- message: "请选择开启状态",
- trigger: "blur",
- }, ],
- }, {
- labelWidth: 100,
- label: '投票限制',
- prop: 'voteRestrictions',
- type: 'radio',
- button: true,
- row: true,
- offset: 6,
- dicData: [{
- label: '一人一票',
- value: 0
- }, {
- label: '一户一票',
- value: 1
- }],
- rules: [{
- required: true,
- message: "请选择投票限制",
- trigger: "blur",
- }, ],
- }, {
- labelWidth: 100,
- label: '签名',
- prop: 'signatureFlag',
- type: 'radio',
- button: true,
- row: true,
- offset: 6,
- dicData: [{
- label: '不需要',
- value: 0
- }, {
- label: '需要',
- value: 1
- }],
- rules: [{
- required: true,
- message: "请选择是否签名",
- trigger: "blur",
- }, ],
- }, {
- labelWidth: 100,
- label: '指定用户',
- prop: 'appointUser',
- type: 'radio',
- button: true,
- row: true,
- offset: 6,
- dicData: [{
- label: '不限制',
- value: 0
- }, {
- label: '指定用户',
- value: 1
- }],
- rules: [{
- required: true,
- message: "请选择是否指定用户",
- trigger: "blur",
- }, ],
+ data: [],
+ optionDiscuss: {
+ column: [{
+ label: "",
+ type: 'title',
+ prop: "title",
+ span: 24,
+ row: true,
+ offset: 2,
+ styles: {
+ fontSize: '24px'
+ }
+ }, {
+ labelWidth: 100,
+ label: '开启投票',
+ prop: 'openFlag',
+ type: 'radio',
+ button: true,
+ row: true,
+ offset: 6,
+ dicData: [{
+ label: '开启',
+ value: 0
+ }, {
+ label: '不开启',
+ value: 1
+ }],
+ rules: [{
+ required: true,
+ message: "请选择开启状态",
+ trigger: "blur",
+ },],
+ }, {
+ labelWidth: 100,
+ label: '投票限制',
+ prop: 'voteRestrictions',
+ type: 'radio',
+ button: true,
+ row: true,
+ offset: 6,
+ dicData: [{
+ label: '一人一票',
+ value: 0
+ }, {
+ label: '一户一票',
+ value: 1
+ }],
+ rules: [{
+ required: true,
+ message: "请选择投票限制",
+ trigger: "blur",
+ },],
+ }, {
+ labelWidth: 100,
+ label: '签名',
+ prop: 'signatureFlag',
+ type: 'radio',
+ button: true,
+ row: true,
+ offset: 6,
+ dicData: [{
+ label: '不需要',
+ value: 0
+ }, {
+ label: '需要',
+ value: 1
+ }],
+ rules: [{
+ required: true,
+ message: "请选择是否签名",
+ trigger: "blur",
+ },],
+ }, {
+ labelWidth: 100,
+ label: '指定用户',
+ prop: 'appointUser',
+ type: 'radio',
+ button: true,
+ row: true,
+ offset: 6,
+ dicData: [{
+ label: '不限制',
+ value: 0
+ }, {
+ label: '指定用户',
+ value: 1
+ }],
+ rules: [{
+ required: true,
+ message: "请选择是否指定用户",
+ trigger: "blur",
+ },],
+ },
+ {
+ label: "截止时间",
+ row: true,
+ offset: 6,
+ prop: "endTime",
+ type: "datetime",
+ format: "yyyy-MM-dd hh:mm:ss",
+ valueFormat: "timestamp",
+ rules: [{
+ required: true,
+ message: "请选择截止时间",
+ trigger: "blur",
+ },],
+ },
+ ]
},
- {
- label: "截止时间",
- row: true,
- offset: 6,
- prop: "endTime",
- type: "datetime",
- format: "yyyy-MM-dd hh:mm:ss",
- valueFormat: "timestamp",
- rules: [{
- required: true,
- message: "请选择截止时间",
- trigger: "blur",
- }, ],
- },
- ]
- },
- districtTree: [],
- }
+ districtTree: [],
+ }
},
watch: {
- "form.articleType": {
- handler(val) {
- if (val) {
- var videoUrl = this.findObject(this.option.column, "videoUrl")
- var content = this.findObject(this.option.column, "content")
- if (val.indexOf('ksp') != -1) {
- videoUrl.display = true
- content.display = false
- videoUrl.rules = [{
- required: false,
- message: "请选择视频",
- trigger: "blur",
- }, ]
- } else {
- videoUrl.display = false
- content.display = true
- videoUrl.rules = ""
- }
- }
- },
- immediate: true,
- }
+ "form.articleType": {
+ handler (val) {
+ if (val) {
+ var videoUrl = this.findObject(this.option.column, "videoUrl")
+ var content = this.findObject(this.option.column, "content")
+ if (val.indexOf('ksp') != -1) {
+ videoUrl.display = true
+ content.display = false
+ videoUrl.rules = [{
+ required: false,
+ message: "请选择视频",
+ trigger: "blur",
+ },]
+ } else {
+ videoUrl.display = false
+ content.display = true
+ videoUrl.rules = ""
+ }
+ }
+ },
+ immediate: true,
+ }
},
computed: {
- ...mapGetters(["permission", "userInfo"]),
- permissionList() {
- return {
- addBtn: this.vaildData(this.permission.article_add, true),
- viewBtn: this.vaildData(this.permission.article_view, true),
- delBtn: this.vaildData(this.permission.article_delete, true),
- editBtn: this.vaildData(this.permission.article_edit, true),
- }
- },
-
- ids() {
- let ids = []
- this.selectionList.forEach((ele) => {
- ids.push(ele.id)
- })
- return ids.join(",")
- },
-
- showStatus() {
- return (data, type) => {
- if (data == 0) {
+ ...mapGetters(["permission", "userInfo"]),
+ permissionList () {
return {
- text: type == 1 ? '未发布' : '关闭',
- type: 'info'
+ addBtn: this.vaildData(this.permission.article_add, true),
+ viewBtn: this.vaildData(this.permission.article_view, true),
+ delBtn: this.vaildData(this.permission.article_delete, true),
+ editBtn: this.vaildData(this.permission.article_edit, true),
}
- } else if (data == 1) {
- return {
- text: type == 1 ? '已发布' : '开启',
- type: 'success'
+ },
+
+ ids () {
+ let ids = []
+ this.selectionList.forEach((ele) => {
+ ids.push(ele.id)
+ })
+ return ids.join(",")
+ },
+
+ showStatus () {
+ return (data, type) => {
+ if (data == 0) {
+ return {
+ text: type == 1 ? '未发布' : '关闭',
+ type: 'info'
+ }
+ } else if (data == 1) {
+ return {
+ text: type == 1 ? '已发布' : '开启',
+ type: 'success'
+ }
+ }
}
- }
}
- }
},
methods: {
- openEditPopup(row) {
- this.$refs.DeitDiscussion.initData(row)
- },
+ openEditPopup (row) {
+ this.$refs.DeitDiscussion.initData(row)
+ },
- openUserPopup(row) {
- this.$refs.DeitDiscussion.openUser(row)
- },
+ openUserPopup (row) {
+ this.$refs.DeitDiscussion.openUser(row)
+ },
- openDilog(row, type) {
- var that = this
- this.$nextTick(() => {
- that.$refs.discussionManageChild.init(row)
- })
- },
-
- rowSave(row, done, loading) {
- if (row.videoUrl.length == 0) {
- row.videoUrl = ""
- }
- row.userid = this.userInfo.user_id
- row.articleRange = JSON.stringify(row.articleList)
- if (row.url.length > 0) {
- var urls = []
- var split = row.url.split(",")
- split.forEach(url => {
- var names = url.split("jczz/")
- urls.push(names[1])
- })
- row.url = urls.join(",")
- }
- // 类型 0:文章 1经营性收支,2:物业招标 3:公益报名 4:选举调查
- row.type = 4
- row.publish = 1
-
- add(row).then(
- () => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
+ openDilog (row, type) {
+ var that = this
+ this.$nextTick(() => {
+ that.$refs.discussionManageChild.init(row)
})
- done()
- },
- (error) => {
- window.console.log(error)
- loading()
- }
- )
- },
- rowUpdate(row, index, done, loading) {
- row.articleRange = JSON.stringify(row.articleList)
- if (row.url.length > 0) {
- var urls = []
- var split = row.url.split(",")
- split.forEach(url => {
- var names = url.split("jczz/")
- urls.push(names[1])
- })
- row.url = urls.join(",")
- }
+ },
- update(row).then(
- () => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
- })
- done()
- },
- (error) => {
- window.console.log(error)
- loading()
- }
- )
- },
- rowDel(row) {
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- })
- .then(() => {
- return remove(row.id)
- })
- .then(() => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
- })
- })
- },
- searchReset() {
- this.query = {}
- this.onLoad(this.page)
- },
- searchChange(params, done) {
- this.query = params
- this.page.currentPage = 1
- this.onLoad(this.page, params)
- done()
- },
- selectionChange(list) {
- this.selectionList = list
- },
- selectionClear() {
- this.selectionList = []
- this.$refs.crud.toggleSelection()
- },
- handleDelete() {
- if (this.selectionList.length === 0) {
- this.$message.warning("请选择至少一条数据")
- return
- }
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- })
- .then(() => {
- return remove(this.ids)
- })
- .then(() => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
- })
- this.$refs.crud.toggleSelection()
- })
- },
- beforeOpen(done, type) {
- if (["edit", "view"].includes(type)) {
- getNotice(this.form.id).then((res) => {
- let data = res.data.data
- // data.forEach(item=>{
- if (data.url.length > 0) {
- var urls = []
- var names = data.url.split(",")
- names.forEach(name => {
- urls.push(website.minioUrl + name)
- })
- data.url = urls.join(",")
+ rowSave (row, done, loading) {
+ if (row.videoUrl.length == 0) {
+ row.videoUrl = ""
}
- // })
- this.form = {
- ...data,
- articleList: JSON.parse(data.articleRange)
+ row.userid = this.userInfo.user_id
+ row.articleRange = JSON.stringify(row.articleList)
+ if (row.url.length > 0) {
+ var urls = []
+ var split = row.url.split(",")
+ split.forEach(url => {
+ var names = url.split("jczz/")
+ urls.push(names[1])
+ })
+ row.url = urls.join(",")
}
- })
- }
- // con
- done()
- },
- currentChange(currentPage) {
- this.page.currentPage = currentPage
- },
- sizeChange(pageSize) {
- this.page.pageSize = pageSize
- },
- refreshChange() {
- this.onLoad(this.page, this.query)
- },
- onLoad(page, params = {}) {
- const {
- dateTime
- } = this.query
- let values = {
- ...params,
- }
- if (dateTime) {
- values = {
- ...params,
- startTime: dateTime[0],
- endTime: dateTime[1],
- ...this.query,
- }
- values.dateTime = null
- }
- values.type = 4
- this.loading = true
- console.log(values)
- getList(page.currentPage, page.pageSize, values).then((res) => {
- const data = res.data.data
- this.page.total = data.total
- this.data = data.records
- this.data.forEach(item => {
- if (item.url.length > 0) {
- var urls = []
- var names = item.url.split(",")
- names.forEach(name => {
- urls.push(website.minioUrl + name)
- })
- item.url = urls.join(",")
+ // 类型 0:文章 1经营性收支,2:物业招标 3:公益报名 4:选举调查
+ row.type = 4
+ row.publish = 1
+
+ add(row).then(
+ () => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ done()
+ },
+ (error) => {
+ window.console.log(error)
+ loading()
+ }
+ )
+ },
+ rowUpdate (row, index, done, loading) {
+ row.articleRange = JSON.stringify(row.articleList)
+ if (row.url.length > 0) {
+ var urls = []
+ var split = row.url.split(",")
+ split.forEach(url => {
+ var names = url.split("jczz/")
+ urls.push(names[1])
+ })
+ row.url = urls.join(",")
}
- })
- this.loading = false
- this.selectionClear()
- })
- getDistrictTree(params = {}).then((res) => {
- const data = res.data.data
- this.districtTree = data
- const column = this.findObject(this.option.column, "articleList")
- column.dicData = res.data.data
- this.loading = false
- })
- },
- updateFb(row) {
- if (row.publish == "0") {
- row.publish = "1"
- } else {
- row.publish = "0"
- }
- if (row.url.length > 0) {
- var urls = []
- var split = row.url.split(",")
- split.forEach(url => {
- var names = url.split("jczz/")
- urls.push(names[1])
- })
- row.url = urls.join(",")
- }
- update(row).then(
- () => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
+
+ update(row).then(
+ () => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ done()
+ },
+ (error) => {
+ window.console.log(error)
+ loading()
+ }
+ )
+ },
+ rowDel (row) {
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
})
+ .then(() => {
+ return remove(row.id)
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ })
+ },
+ searchReset () {
+ this.query = {}
+ this.onLoad(this.page)
+ },
+ searchChange (params, done) {
+ this.query = params
+ this.page.currentPage = 1
+ this.onLoad(this.page, params)
done()
- },
- (error) => {
- window.console.log(error)
- loading()
- }
- )
- },
- kqcomment() {
- if (this.selectionList.length === 0) {
- this.$message.warning("请选择至少一条数据")
- return
- }
- this.$confirm("确定将选择数据开启评论?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- }).then(() => {
- return upcomment(this.ids, "1")
- })
- .then(() => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
- })
+ },
+ selectionChange (list) {
+ this.selectionList = list
+ },
+ selectionClear () {
+ this.selectionList = []
this.$refs.crud.toggleSelection()
- })
- },
- gbcomment() {
- if (this.selectionList.length === 0) {
- this.$message.warning("请选择至少一条数据")
- return
- }
- this.$confirm("确定将选择数据开启评论?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- }).then(() => {
- return upcomment(this.ids, "0")
- })
- .then(() => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
+ },
+ handleDelete () {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据")
+ return
+ }
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
})
- this.$refs.crud.toggleSelection()
- })
- }
+ .then(() => {
+ return remove(this.ids)
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ this.$refs.crud.toggleSelection()
+ })
+ },
+ beforeOpen (done, type) {
+ if (["edit", "view"].includes(type)) {
+ getNotice(this.form.id).then((res) => {
+ let data = res.data.data
+ // data.forEach(item=>{
+ if (data.url.length > 0) {
+ var urls = []
+ var names = data.url.split(",")
+ names.forEach(name => {
+ urls.push(website.minioUrl + name)
+ })
+ data.url = urls.join(",")
+ }
+ // })
+ this.form = {
+ ...data,
+ articleList: JSON.parse(data.articleRange)
+ }
+ })
+ }
+ // con
+ done()
+ },
+ currentChange (currentPage) {
+ this.page.currentPage = currentPage
+ },
+ sizeChange (pageSize) {
+ this.page.pageSize = pageSize
+ },
+ refreshChange () {
+ this.onLoad(this.page, this.query)
+ },
+ onLoad (page, params = {}) {
+ const {
+ dateTime
+ } = this.query
+ let values = {
+ ...params,
+ }
+ if (dateTime) {
+ values = {
+ ...params,
+ startTime: dateTime[0],
+ endTime: dateTime[1],
+ ...this.query,
+ }
+ values.dateTime = null
+ }
+ values.type = 4
+ this.loading = true
+ console.log(values)
+ getList(page.currentPage, page.pageSize, values).then((res) => {
+ const data = res.data.data
+ this.page.total = data.total
+ this.data = data.records
+ this.data.forEach(item => {
+ if (item.url.length > 0) {
+ var urls = []
+ var names = item.url.split(",")
+ names.forEach(name => {
+ urls.push(website.minioUrl + name)
+ })
+ item.url = urls.join(",")
+ }
+ })
+ this.loading = false
+ this.selectionClear()
+ })
+ getDistrictTree(params = {}).then((res) => {
+ const data = res.data.data
+ this.districtTree = data
+ const column = this.findObject(this.option.column, "articleList")
+ column.dicData = res.data.data
+ this.loading = false
+ })
+ },
+ updateFb (row) {
+ if (row.publish == "0") {
+ row.publish = "1"
+ } else {
+ row.publish = "0"
+ }
+ if (row.url.length > 0) {
+ var urls = []
+ var split = row.url.split(",")
+ split.forEach(url => {
+ var names = url.split("jczz/")
+ urls.push(names[1])
+ })
+ row.url = urls.join(",")
+ }
+ update(row).then(
+ () => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ done()
+ },
+ (error) => {
+ window.console.log(error)
+ loading()
+ }
+ )
+ },
+ kqcomment () {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据")
+ return
+ }
+ this.$confirm("确定将选择数据开启评论?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ }).then(() => {
+ return upcomment(this.ids, "1")
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ this.$refs.crud.toggleSelection()
+ })
+ },
+ gbcomment () {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据")
+ return
+ }
+ this.$confirm("确定将选择数据开启评论?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ }).then(() => {
+ return upcomment(this.ids, "0")
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ this.$refs.crud.toggleSelection()
+ })
+ }
},
- }
+}
</script>
<style>
- .avue-upload__icon {
+.avue-upload__icon {
line-height: 6;
- }
+}
</style>
\ No newline at end of file
diff --git a/src/views/article/publicSignUp.vue b/src/views/article/publicSignUp.vue
index c79812e..4a3ae08 100644
--- a/src/views/article/publicSignUp.vue
+++ b/src/views/article/publicSignUp.vue
@@ -1,734 +1,736 @@
<template>
- <basic-container>
- <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" ref="crud" @row-del="rowDel"
- v-model="form" :permission="permissionList" @row-update="rowUpdate" @row-save="rowSave" :before-open="beforeOpen"
- @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
- @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
- <template slot="menuLeft">
- <el-button size="small" icon="el-icon-delete" plain v-if="permission.article_delete" @click="handleDelete">删
- 除
- </el-button>
- </template>
+ <basic-container>
+ <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" ref="crud" @row-del="rowDel"
+ v-model="form" :permission="permissionList" @row-update="rowUpdate" @row-save="rowSave"
+ :before-open="beforeOpen" @search-change="searchChange" @search-reset="searchReset"
+ @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
+ @refresh-change="refreshChange" @on-load="onLoad">
+ <template slot="menuLeft">
+ <el-button size="small" icon="el-icon-delete" plain v-if="permission.article_delete" @click="handleDelete">删
+ 除
+ </el-button>
+ </template>
- <template slot-scope="{ type, size, row }" slot="menu">
- <el-button icon="el-icon-circle-plus-outline" :size="size" :type="type" @click.stop="openDilog(row)">
- 公益报名
- </el-button>
- <el-button icon="el-icon-user" :size="size" :type="type" @click.stop="openUserPopup(row)">
- 参与用户
- </el-button>
- <!-- <el-button v-if="row.publish == '1'" icon="el-icon-close" :size="size" :type="type" @click.stop="updateFb(row)">
+ <template slot-scope="{ type, size, row }" slot="menu">
+ <el-button icon="el-icon-circle-plus-outline" :size="size" :type="type" @click.stop="openDilog(row)">
+ 公益报名
+ </el-button>
+ <el-button icon="el-icon-user" :size="size" :type="type" @click.stop="openUserPopup(row)">
+ 参与用户
+ </el-button>
+ <!-- <el-button v-if="row.publish == '1'" icon="el-icon-close" :size="size" :type="type" @click.stop="updateFb(row)">
撤销
</el-button> -->
- <!-- <el-button v-if="row.publish == '0'" icon="el-icon-check" :size="size" :type="type" @click.stop="updateFb(row)">
+ <!-- <el-button v-if="row.publish == '0'" icon="el-icon-check" :size="size" :type="type" @click.stop="updateFb(row)">
发布
</el-button> -->
- </template>
+ </template>
- <template slot-scope="{ row, size }" slot="publish">
- <el-tag :size="size" :type="showStatus(row.publish, 1).type" v-text="showStatus(row.publish, 1).text">
- </el-tag>
- </template>
+ <template slot-scope="{ row, size }" slot="publish">
+ <el-tag :size="size" :type="showStatus(row.publish, 1).type" v-text="showStatus(row.publish, 1).text">
+ </el-tag>
+ </template>
- <template slot-scope="{ row, size }" slot="iscomment">
- <el-tag :size="size" :type="showStatus(row.iscomment, 2).type" v-text="showStatus(row.iscomment, 2).text">
- </el-tag>
- </template>
- </avue-crud>
+ <template slot-scope="{ row, size }" slot="iscomment">
+ <el-tag :size="size" :type="showStatus(row.iscomment, 2).type" v-text="showStatus(row.iscomment, 2).text">
+ </el-tag>
+ </template>
+ </avue-crud>
- <publicSignUpChild ref="publicSignUpChild"></publicSignUpChild>
+ <publicSignUpChild ref="publicSignUpChild"></publicSignUpChild>
- <el-dialog title="" append-to-body :visible.sync="dialogVisibles" width="50%" :before-close="handleClose">
- <span slot="title" class="dialog-footer">
- {{ discussForm.ontitle }}
- </span>
- <avue-form @submit="handleSubmit" :option="optionEnroll" v-model="discussForm"></avue-form>
- </el-dialog>
- </basic-container>
+ <el-dialog title="" append-to-body :visible.sync="dialogVisibles" width="50%" :before-close="handleClose">
+ <span slot="title" class="dialog-footer">
+ {{ discussForm.ontitle }}
+ </span>
+ <avue-form @submit="handleSubmit" :option="optionEnroll" v-model="discussForm"></avue-form>
+ </el-dialog>
+ </basic-container>
</template>
<script>
- import {
+import {
getList,
remove,
update,
add,
getNotice,
upcomment
- } from "@/api/article/article"
+} from "@/api/article/article"
- import {
+import {
getListPd,
removePd,
updatePd,
addPd,
getDetailPd,
upcommentPd
- } from "@/api/discuss/publicDiscuss"
+} from "@/api/discuss/publicDiscuss"
- import website from '@/config/website'
+import website from '@/config/website'
- import {
+import {
getDistrictTree
- } from "@/api/district/index"
+} from "@/api/district/index"
- import {
+import {
mapGetters
- } from "vuex"
- import publicSignUpChild from "./components/publicSignUpChild"
+} from "vuex"
+import publicSignUpChild from "./components/publicSignUpChild"
- export default {
+export default {
components: {
- publicSignUpChild
+ publicSignUpChild
},
- data() {
- return {
- discussForm: {
- ontitle: '',
- title: '',
- openFlag: 0,
- numberRestrictions: 0,
- voteRestrictions: 0,
- userRestrictions: 0,
- endTime: '',
- articleId: '',
- createTime: '',
- updateTime: '',
- deleteFlag: '',
- repeatVote: 0,
- voteNumberPublic: 0,
- appointUser: '',
- userIds: '',
- eventType: 0,
- },
- dialogVisibles: false,
- form: {},
- query: {},
- loading: true,
- page: {
- pageSize: 10,
- currentPage: 1,
- total: 0,
- },
- datetime: "",
- selectionList: [],
- option: {
- labelWidth: 96,
- searchLabelWidth: 96,
- searchShow: true,
- searchMenuSpan: 3,
- menuWidth: 500,
+ data () {
+ return {
+ discussForm: {
+ ontitle: '',
+ title: '',
+ openFlag: 0,
+ numberRestrictions: 0,
+ voteRestrictions: 0,
+ userRestrictions: 0,
+ endTime: '',
+ articleId: '',
+ createTime: '',
+ updateTime: '',
+ deleteFlag: '',
+ repeatVote: 0,
+ voteNumberPublic: 0,
+ appointUser: '',
+ userIds: '',
+ eventType: 0,
+ },
+ dialogVisibles: false,
+ form: {},
+ query: {},
+ loading: true,
+ page: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0,
+ },
+ datetime: "",
+ selectionList: [],
+ option: {
+ labelWidth: 96,
+ searchLabelWidth: 96,
+ searchShow: true,
+ searchMenuSpan: 3,
+ menuWidth: 500,
- height: "auto",
- calcHeight: 54,
- dialogWidth: 950,
- tip: false,
- border: false,
- //stripe:true,
- index: true,
- viewBtn: false,
- selection: true,
- excelBtn: true,
- dialogClickModal: false,
- column: [{
- label: "文章标题",
- prop: "title",
- span: 24,
- row: true,
- searchSpan: 4,
- search: true,
- rules: [{
- required: true,
- message: "请输入文章标题",
- trigger: "blur",
- }, ],
- },
- {
- width: 110,
- label: "文章封面",
- prop: "url",
- // align:'center',
- type: "upload",
- listType: "picture-img",
- action: "/api/blade-resource/oss/endpoint/put-file",
- propsHttp: {
- res: "data",
- url: "link",
- },
- // hide: true,
- span: 24,
- },
- {
- label: "文章范围",
- prop: "articleList",
- span: 12,
- minRows: 2,
- type: "cascader",
- multiple: true,
- tags: true,
- dicData: [],
- rules: [{
- required: true,
- message: "请选择文章范围",
- trigger: "blur",
- }, ],
- props: {
- label: "name",
- value: 'id'
- },
- hide: true,
- },
- {
- width: 110,
- label: "文章类型",
- prop: "type",
- searchSpan: 4,
- value: 3,
- slot: true,
- // search: true,
- type: "select",
- rules: [{
- required: true,
- message: "请选择文章类型",
- trigger: "blur",
- }, ],
- dicData: [{
- label: "公益报名",
- value: 3, // // 类型 0:文章 1经营性收支,2:物业招标 3:公益报名 4:选举调查
- }],
- },
- {
- label: "发布时间",
- prop: "dateTime",
- type: "daterange",
- format: "yyyy-MM-dd",
- valueFormat: "yyyy-MM-dd",
- searchSpan: 6,
- searchRange: true,
- hide: true,
- addDisplay: false,
- editDisplay: false,
- viewDisplay: false,
- search: true,
- rules: [{
- required: true,
- message: "请选择发布时间",
- trigger: "blur",
- }, ],
- },
- {
- width: 100,
- label: "发布时间",
- prop: "createTime",
- type: "date",
- format: "yyyy-MM-dd",
- valueFormat: "yyyy-MM-dd HH:mm:ss",
- },
- {
- width: 100,
- label: "发布状态",
- prop: "publish",
- searchSpan: 4,
- value: "1",
- slot: true,
- hide: true,
- // search: true,
- type: "select",
- rules: [{
- required: true,
- message: "请选择发布状态",
- trigger: "blur",
- }, ],
- dicData: [{
- label: "未发布",
- value: "0",
+ height: "auto",
+ calcHeight: 54,
+ dialogWidth: 950,
+ tip: false,
+ border: true,
+ //stripe:true,
+ index: true,
+ viewBtn: false,
+ selection: true,
+ excelBtn: true,
+ dialogClickModal: false,
+ column: [{
+ label: "文章标题",
+ prop: "title",
+ span: 24,
+ row: true,
+ searchSpan: 4,
+ search: true,
+ searchLabelWidth: 76,
+ rules: [{
+ required: true,
+ message: "请输入文章标题",
+ trigger: "blur",
+ },],
},
{
- label: "已发布",
- value: "1",
- }
- ],
- },
- {
- width: 80,
- label: "评论区",
- prop: "iscomment",
- slot: true,
- type: "select",
- dicData: [{
- label: "关闭",
- value: "0",
+ width: 110,
+ label: "文章封面",
+ prop: "url",
+ // align:'center',
+ type: "upload",
+ listType: "picture-img",
+ action: "/api/blade-resource/oss/endpoint/put-file",
+ propsHttp: {
+ res: "data",
+ url: "link",
+ },
+ // hide: true,
+ span: 24,
},
{
- label: "开启",
- value: "1",
- }
- ],
- },
- {
- label: "文章内容",
- prop: "content",
- component: "AvueUeditor",
- options: {
- action: "/api/blade-resource/oss/endpoint/put-file",
- props: {
- res: "data",
- url: "link",
+ label: "文章范围",
+ prop: "articleList",
+ span: 12,
+ minRows: 2,
+ type: "cascader",
+ multiple: true,
+ tags: true,
+ dicData: [],
+ rules: [{
+ required: true,
+ message: "请选择文章范围",
+ trigger: "blur",
+ },],
+ props: {
+ label: "name",
+ value: 'id'
+ },
+ hide: true,
},
- },
- hide: true,
- minRows: 6,
- span: 24,
+ {
+ width: 110,
+ label: "文章类型",
+ prop: "type",
+ searchSpan: 4,
+ value: 3,
+ slot: true,
+ // search: true,
+ type: "select",
+ rules: [{
+ required: true,
+ message: "请选择文章类型",
+ trigger: "blur",
+ },],
+ dicData: [{
+ label: "公益报名",
+ value: 3, // // 类型 0:文章 1经营性收支,2:物业招标 3:公益报名 4:选举调查
+ }],
+ },
+ {
+ label: "发布时间",
+ prop: "dateTime",
+ type: "daterange",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ searchSpan: 6,
+ searchRange: true,
+ hide: true,
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: false,
+ search: true,
+ rules: [{
+ required: true,
+ message: "请选择发布时间",
+ trigger: "blur",
+ },],
+ },
+ {
+ width: 100,
+ label: "发布时间",
+ prop: "createTime",
+ type: "date",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd HH:mm:ss",
+ },
+ {
+ width: 100,
+ label: "发布状态",
+ prop: "publish",
+ searchSpan: 4,
+ value: "1",
+ slot: true,
+ hide: true,
+ // search: true,
+ type: "select",
+ rules: [{
+ required: true,
+ message: "请选择发布状态",
+ trigger: "blur",
+ },],
+ dicData: [{
+ label: "未发布",
+ value: "0",
+ },
+ {
+ label: "已发布",
+ value: "1",
+ }
+ ],
+ },
+ {
+ width: 80,
+ label: "评论区",
+ prop: "iscomment",
+ slot: true,
+ type: "select",
+ dicData: [{
+ label: "关闭",
+ value: "0",
+ },
+ {
+ label: "开启",
+ value: "1",
+ }
+ ],
+ },
+ {
+ label: "文章内容",
+ prop: "content",
+ component: "AvueUeditor",
+ options: {
+ action: "/api/blade-resource/oss/endpoint/put-file",
+ props: {
+ res: "data",
+ url: "link",
+ },
+ },
+ hide: true,
+ minRows: 6,
+ span: 24,
+ },
+ ],
},
- ],
- },
- data: [],
- optionEnroll: {
- column: [
- // {
- // label: "",
- // type: 'title',
- // prop: "title",
- // span: 24,
- // row: true,
- // offset: 2,
- // styles: {
- // fontSize: '24px'
- // }
- // },
- {
- labelWidth: 100,
- label: '开启',
- prop: 'openFlag',
- type: 'radio',
- button: true,
- row: true,
- offset: 6,
- dicData: [{
- label: '开启',
- value: 0
- }, {
- label: '不开启',
- value: 1
- }],
- rules: [{
- required: true,
- message: "请选开启状态",
- trigger: "blur",
- }, ],
- }, {
- labelWidth: 100,
- label: '投票限制',
- prop: 'voteRestrictions',
- type: 'radio',
- button: true,
- row: true,
- offset: 6,
- dicData: [{
- label: '一人一票',
- value: 0
- }, {
- label: '一户一票',
- value: 1
- }],
- rules: [{
- required: true,
- message: "请选投票限制",
- trigger: "blur",
- }, ],
+ data: [],
+ optionEnroll: {
+ column: [
+ // {
+ // label: "",
+ // type: 'title',
+ // prop: "title",
+ // span: 24,
+ // row: true,
+ // offset: 2,
+ // styles: {
+ // fontSize: '24px'
+ // }
+ // },
+ {
+ labelWidth: 100,
+ label: '开启',
+ prop: 'openFlag',
+ type: 'radio',
+ button: true,
+ row: true,
+ offset: 6,
+ dicData: [{
+ label: '开启',
+ value: 0
+ }, {
+ label: '不开启',
+ value: 1
+ }],
+ rules: [{
+ required: true,
+ message: "请选开启状态",
+ trigger: "blur",
+ },],
+ }, {
+ labelWidth: 100,
+ label: '投票限制',
+ prop: 'voteRestrictions',
+ type: 'radio',
+ button: true,
+ row: true,
+ offset: 6,
+ dicData: [{
+ label: '一人一票',
+ value: 0
+ }, {
+ label: '一户一票',
+ value: 1
+ }],
+ rules: [{
+ required: true,
+ message: "请选投票限制",
+ trigger: "blur",
+ },],
+ },
+ {
+ label: "截止时间",
+ row: true,
+ offset: 6,
+ prop: "endTime",
+ type: "datetime",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd HH:mm:ss",
+ rules: [{
+ required: true,
+ message: "请选截止时间",
+ trigger: "blur",
+ },],
+ },
+ ]
},
- {
- label: "截止时间",
- row: true,
- offset: 6,
- prop: "endTime",
- type: "datetime",
- format: "yyyy-MM-dd",
- valueFormat: "yyyy-MM-dd HH:mm:ss",
- rules: [{
- required: true,
- message: "请选截止时间",
- trigger: "blur",
- }, ],
- },
- ]
- },
- districtTree: [],
- }
+ districtTree: [],
+ }
},
watch: {
- "form.articleType": {
- handler(val) {
- if (val) {
- var videoUrl = this.findObject(this.option.column, "videoUrl")
- var content = this.findObject(this.option.column, "content")
- if (val.indexOf('ksp') != -1) {
- videoUrl.display = true
- content.display = false
- videoUrl.rules = [{
- required: false,
- message: "请选择视频",
- trigger: "blur",
- }, ]
- } else {
- videoUrl.display = false
- content.display = true
- videoUrl.rules = ""
- }
- }
- },
- immediate: true,
- }
+ "form.articleType": {
+ handler (val) {
+ if (val) {
+ var videoUrl = this.findObject(this.option.column, "videoUrl")
+ var content = this.findObject(this.option.column, "content")
+ if (val.indexOf('ksp') != -1) {
+ videoUrl.display = true
+ content.display = false
+ videoUrl.rules = [{
+ required: false,
+ message: "请选择视频",
+ trigger: "blur",
+ },]
+ } else {
+ videoUrl.display = false
+ content.display = true
+ videoUrl.rules = ""
+ }
+ }
+ },
+ immediate: true,
+ }
},
computed: {
- ...mapGetters(["permission", "userInfo"]),
- permissionList() {
- return {
- addBtn: this.vaildData(this.permission.article_add, true),
- viewBtn: this.vaildData(this.permission.article_view, true),
- delBtn: this.vaildData(this.permission.article_delete, true),
- editBtn: this.vaildData(this.permission.article_edit, true),
- }
- },
- ids() {
- let ids = []
- this.selectionList.forEach((ele) => {
- ids.push(ele.id)
- })
- return ids.join(",")
- },
+ ...mapGetters(["permission", "userInfo"]),
+ permissionList () {
+ return {
+ addBtn: this.vaildData(this.permission.article_add, true),
+ viewBtn: this.vaildData(this.permission.article_view, true),
+ delBtn: this.vaildData(this.permission.article_delete, true),
+ editBtn: this.vaildData(this.permission.article_edit, true),
+ }
+ },
+ ids () {
+ let ids = []
+ this.selectionList.forEach((ele) => {
+ ids.push(ele.id)
+ })
+ return ids.join(",")
+ },
- showStatus() {
- return (data, type) => {
- if (data == 0) {
- return {
- text: type == 1 ? '未发布' : '关闭',
- type: 'info'
+ showStatus () {
+ return (data, type) => {
+ if (data == 0) {
+ return {
+ text: type == 1 ? '未发布' : '关闭',
+ type: 'info'
+ }
+ } else if (data == 1) {
+ return {
+ text: type == 1 ? '已发布' : '开启',
+ type: 'success'
+ }
+ }
}
- } else if (data == 1) {
- return {
- text: type == 1 ? '已发布' : '开启',
- type: 'success'
- }
- }
}
- }
},
methods: {
- openUserPopup(row) {
- this.$refs.publicSignUpChild.openUser(row)
- },
+ openUserPopup (row) {
+ this.$refs.publicSignUpChild.openUser(row)
+ },
- openDilog(row, type) {
- this.dialogVisibles = true
- this.discussForm.eventType = type
- this.discussForm.articleId = row.id
- this.discussForm.title = row.title
- this.discussForm.ontitle = '公益报名'
- this.getpunlicDiscussDetail(row)
- },
+ openDilog (row, type) {
+ this.dialogVisibles = true
+ this.discussForm.eventType = type
+ this.discussForm.articleId = row.id
+ this.discussForm.title = row.title
+ this.discussForm.ontitle = '公益报名'
+ this.getpunlicDiscussDetail(row)
+ },
- getpunlicDiscussDetail(row) {
- getDetailPd({
- articleId: row.id
- }).then((res) => {
- if (res.data.data) {
- let data = res.data.data
- this.discussForm = data
- }
- })
- },
-
- handleSubmit(form, done) {
- done()
- addPd(form).then(
- () => {
- this.$message({
- type: "success",
- message: "操作成功!",
+ getpunlicDiscussDetail (row) {
+ getDetailPd({
+ articleId: row.id
+ }).then((res) => {
+ if (res.data.data) {
+ let data = res.data.data
+ this.discussForm = data
+ }
})
- this.dialogVisibles = false
+ },
+
+ handleSubmit (form, done) {
done()
- },
- (error) => {
- window.console.log(error)
- // loading();
- }
- )
- },
+ addPd(form).then(
+ () => {
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ this.dialogVisibles = false
+ done()
+ },
+ (error) => {
+ window.console.log(error)
+ // loading();
+ }
+ )
+ },
- handleClose(done) {
- done()
- // this.$confirm('确认关闭?')
- // .then(_ => {
- // done();
- // })
- // .catch(_ => {});
- },
- rowSave(row, done, loading) {
- // if (row.videoUrl.length == 0) {
- // row.videoUrl = "";
- // }
- row.userid = this.userInfo.user_id
- row.articleRange = JSON.stringify(row.articleList)
- if (row.url.length > 0) {
- var urls = []
- var split = row.url.split(",")
- split.forEach(url => {
- var names = url.split("jczz/")
- urls.push(names[1])
- })
- row.url = urls.join(",")
- }
- add(row).then(
- () => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
- })
+ handleClose (done) {
done()
- },
- (error) => {
- window.console.log(error)
- loading()
- }
- )
- },
- rowUpdate(row, index, done, loading) {
- row.articleRange = JSON.stringify(row.articleList)
- if (row.url.length > 0) {
- var urls = []
- var split = row.url.split(",")
- split.forEach(url => {
- var names = url.split("jczz/")
- urls.push(names[1])
- })
- row.url = urls.join(",")
- }
-
- update(row).then(
- () => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
- })
- done()
- },
- (error) => {
- window.console.log(error)
- loading()
- }
- )
- },
- rowDel(row) {
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- })
- .then(() => {
- return remove(row.id)
- })
- .then(() => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
- })
- })
- },
- searchReset() {
- this.query = {}
- this.onLoad(this.page)
- },
- searchChange(params, done) {
- this.query = params
- this.page.currentPage = 1
- this.onLoad(this.page, params)
- done()
- },
- selectionChange(list) {
- this.selectionList = list
- },
- selectionClear() {
- this.selectionList = []
- this.$refs.crud.toggleSelection()
- },
- handleDelete() {
- if (this.selectionList.length === 0) {
- this.$message.warning("请选择至少一条数据")
- return
- }
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- })
- .then(() => {
- return remove(this.ids)
- })
- .then(() => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
- })
- this.$refs.crud.toggleSelection()
- })
- },
- beforeOpen(done, type) {
- if (["edit", "view"].includes(type)) {
- getNotice(this.form.id).then((res) => {
- let data = res.data.data
- if (data.url.length > 0) {
- var urls = []
- var names = data.url.split(",")
- names.forEach(name => {
- urls.push(website.minioUrl + name)
- })
- data.url = urls.join(",")
+ // this.$confirm('确认关闭?')
+ // .then(_ => {
+ // done();
+ // })
+ // .catch(_ => {});
+ },
+ rowSave (row, done, loading) {
+ // if (row.videoUrl.length == 0) {
+ // row.videoUrl = "";
+ // }
+ row.userid = this.userInfo.user_id
+ row.articleRange = JSON.stringify(row.articleList)
+ if (row.url.length > 0) {
+ var urls = []
+ var split = row.url.split(",")
+ split.forEach(url => {
+ var names = url.split("jczz/")
+ urls.push(names[1])
+ })
+ row.url = urls.join(",")
}
- data.articleList = JSON.parse(data.articleRange)
- this.form = data
- })
- }
- done()
- },
- currentChange(currentPage) {
- this.page.currentPage = currentPage
- },
- sizeChange(pageSize) {
- this.page.pageSize = pageSize
- },
- refreshChange() {
- this.onLoad(this.page, this.query)
- },
- onLoad(page, params = {}) {
- const {
- dateTime
- } = this.query
- let values = {
- ...params,
- }
- if (dateTime) {
- values = {
- ...params,
- startTime: dateTime[0],
- endTime: dateTime[1],
- ...this.query,
- }
- values.dateTime = null
- }
- values.type = 3
- this.loading = true
- console.log(values)
- getList(page.currentPage, page.pageSize, values).then((res) => {
- const data = res.data.data
- this.page.total = data.total
- this.data = data.records
- this.data.forEach(item => {
- if (item.url.length > 0) {
- var urls = []
- var names = item.url.split(",")
- names.forEach(name => {
- urls.push(website.minioUrl + name)
- })
- item.url = urls.join(",")
+ add(row).then(
+ () => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ done()
+ },
+ (error) => {
+ window.console.log(error)
+ loading()
+ }
+ )
+ },
+ rowUpdate (row, index, done, loading) {
+ row.articleRange = JSON.stringify(row.articleList)
+ if (row.url.length > 0) {
+ var urls = []
+ var split = row.url.split(",")
+ split.forEach(url => {
+ var names = url.split("jczz/")
+ urls.push(names[1])
+ })
+ row.url = urls.join(",")
}
- })
- this.loading = false
- this.selectionClear()
- })
- getDistrictTree(params = {}).then((res) => {
- const data = res.data.data
- this.districtTree = data
- const column = this.findObject(this.option.column, "articleList")
- column.dicData = res.data.data
- this.loading = false
- })
- },
- updateFb(row) {
- if (row.publish == "0") {
- row.publish = "1"
- } else {
- row.publish = "0"
- }
- if (row.url.length > 0) {
- var urls = []
- var split = row.url.split(",")
- split.forEach(url => {
- var names = url.split("jczz/")
- urls.push(names[1])
- })
- row.url = urls.join(",")
- }
- update(row).then(
- () => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
+
+ update(row).then(
+ () => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ done()
+ },
+ (error) => {
+ window.console.log(error)
+ loading()
+ }
+ )
+ },
+ rowDel (row) {
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
})
+ .then(() => {
+ return remove(row.id)
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ })
+ },
+ searchReset () {
+ this.query = {}
+ this.onLoad(this.page)
+ },
+ searchChange (params, done) {
+ this.query = params
+ this.page.currentPage = 1
+ this.onLoad(this.page, params)
done()
- },
- (error) => {
- window.console.log(error)
- loading()
- }
- )
- },
- kqcomment() {
- if (this.selectionList.length === 0) {
- this.$message.warning("请选择至少一条数据")
- return
- }
- this.$confirm("确定将选择数据开启评论?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- }).then(() => {
- return upcomment(this.ids, "1")
- })
- .then(() => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
- })
+ },
+ selectionChange (list) {
+ this.selectionList = list
+ },
+ selectionClear () {
+ this.selectionList = []
this.$refs.crud.toggleSelection()
- })
- },
- gbcomment() {
- if (this.selectionList.length === 0) {
- this.$message.warning("请选择至少一条数据")
- return
- }
- this.$confirm("确定将选择数据开启评论?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- }).then(() => {
- return upcomment(this.ids, "0")
- })
- .then(() => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
+ },
+ handleDelete () {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据")
+ return
+ }
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
})
- this.$refs.crud.toggleSelection()
- })
- }
+ .then(() => {
+ return remove(this.ids)
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ this.$refs.crud.toggleSelection()
+ })
+ },
+ beforeOpen (done, type) {
+ if (["edit", "view"].includes(type)) {
+ getNotice(this.form.id).then((res) => {
+ let data = res.data.data
+ if (data.url.length > 0) {
+ var urls = []
+ var names = data.url.split(",")
+ names.forEach(name => {
+ urls.push(website.minioUrl + name)
+ })
+ data.url = urls.join(",")
+ }
+ data.articleList = JSON.parse(data.articleRange)
+ this.form = data
+ })
+ }
+ done()
+ },
+ currentChange (currentPage) {
+ this.page.currentPage = currentPage
+ },
+ sizeChange (pageSize) {
+ this.page.pageSize = pageSize
+ },
+ refreshChange () {
+ this.onLoad(this.page, this.query)
+ },
+ onLoad (page, params = {}) {
+ const {
+ dateTime
+ } = this.query
+ let values = {
+ ...params,
+ }
+ if (dateTime) {
+ values = {
+ ...params,
+ startTime: dateTime[0],
+ endTime: dateTime[1],
+ ...this.query,
+ }
+ values.dateTime = null
+ }
+ values.type = 3
+ this.loading = true
+ console.log(values)
+ getList(page.currentPage, page.pageSize, values).then((res) => {
+ const data = res.data.data
+ this.page.total = data.total
+ this.data = data.records
+ this.data.forEach(item => {
+ if (item.url.length > 0) {
+ var urls = []
+ var names = item.url.split(",")
+ names.forEach(name => {
+ urls.push(website.minioUrl + name)
+ })
+ item.url = urls.join(",")
+ }
+ })
+ this.loading = false
+ this.selectionClear()
+ })
+ getDistrictTree(params = {}).then((res) => {
+ const data = res.data.data
+ this.districtTree = data
+ const column = this.findObject(this.option.column, "articleList")
+ column.dicData = res.data.data
+ this.loading = false
+ })
+ },
+ updateFb (row) {
+ if (row.publish == "0") {
+ row.publish = "1"
+ } else {
+ row.publish = "0"
+ }
+ if (row.url.length > 0) {
+ var urls = []
+ var split = row.url.split(",")
+ split.forEach(url => {
+ var names = url.split("jczz/")
+ urls.push(names[1])
+ })
+ row.url = urls.join(",")
+ }
+ update(row).then(
+ () => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ done()
+ },
+ (error) => {
+ window.console.log(error)
+ loading()
+ }
+ )
+ },
+ kqcomment () {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据")
+ return
+ }
+ this.$confirm("确定将选择数据开启评论?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ }).then(() => {
+ return upcomment(this.ids, "1")
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ this.$refs.crud.toggleSelection()
+ })
+ },
+ gbcomment () {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据")
+ return
+ }
+ this.$confirm("确定将选择数据开启评论?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ }).then(() => {
+ return upcomment(this.ids, "0")
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ this.$refs.crud.toggleSelection()
+ })
+ }
},
- }
+}
</script>
<style>
- .avue-upload__icon {
+.avue-upload__icon {
line-height: 6;
- }
+}
</style>
\ No newline at end of file
diff --git a/src/views/article/rotation.vue b/src/views/article/rotation.vue
index 40b0be7..b38f2bc 100644
--- a/src/views/article/rotation.vue
+++ b/src/views/article/rotation.vue
@@ -44,7 +44,7 @@
calcHeight: 54,
dialogWidth: 950,
tip: false,
- border: false,
+ border: true,
//stripe:true,
index: true,
viewBtn: true,
@@ -58,6 +58,7 @@
span: 12,
searchSpan: 4,
search: true,
+ searchLabelWidth: 46,
},
{
width: 110,
diff --git a/src/views/authority/apiscope.vue b/src/views/authority/apiscope.vue
index 0163862..451d4c2 100644
--- a/src/views/authority/apiscope.vue
+++ b/src/views/authority/apiscope.vue
@@ -1,643 +1,610 @@
<template>
- <basic-container>
- <avue-crud :option="option"
- :table-loading="loading"
- :data="data"
- ref="crud"
- v-model="form"
- :permission="permissionList"
- :before-open="beforeOpen"
- @row-del="rowDel"
- @row-update="rowUpdate"
- @row-save="rowSave"
- @search-change="searchChange"
- @search-reset="searchReset"
- @selection-change="selectionChange"
- @current-change="currentChange"
- @size-change="sizeChange"
- @refresh-change="refreshChange"
- @on-load="onLoad"
- @tree-load="treeLoad">
- <template slot-scope="{row}" slot="menu">
- <el-button type="text"
- icon="el-icon-setting"
- size="small"
- v-if="permission.api_scope_setting"
- plain
- style="border: 0;background-color: transparent !important;"
- @click.stop="handleDataScope(row)">权限配置
- </el-button>
- </template>
- <template slot-scope="{row}" slot="source">
- <div style="text-align:center">
- <i :class="row.source"/>
- </div>
- </template>
- </avue-crud>
- <el-drawer :title="`[${scopeMenuName}] 接口权限配置`" :visible.sync="drawerVisible" :direction="direction"
- append-to-body
- :before-close="handleDrawerClose" size="1000px">
- <basic-container>
- <avue-crud :option="optionScope"
- :data="dataScope"
- :page="pageScope"
- v-model="formScope"
- :table-loading="scopeLoading"
- ref="crudScope"
- @row-del="rowDelScope"
- @row-update="rowUpdateScope"
- @row-save="rowSaveScope"
- :before-open="beforeOpenScope"
- @search-change="searchChangeScope"
- @search-reset="searchResetScope"
- @selection-change="selectionChangeScope"
- @current-change="currentChangeScope"
- @size-change="sizeChangeScope"
- @on-load="onLoadScope">
- <template slot="menuLeft">
- <el-button type="danger"
- size="small"
- icon="el-icon-delete"
- plain
- @click="handleDeleteScope">删 除
- </el-button>
- </template>
- <template slot-scope="{row}"
- slot="scopeType">
- <el-tag>{{row.scopeTypeName}}</el-tag>
- </template>
+ <basic-container>
+ <avue-crud :option="option" :table-loading="loading" :data="data" ref="crud" v-model="form"
+ :permission="permissionList" :before-open="beforeOpen" @row-del="rowDel" @row-update="rowUpdate"
+ @row-save="rowSave" @search-change="searchChange" @search-reset="searchReset"
+ @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
+ @refresh-change="refreshChange" @on-load="onLoad" @tree-load="treeLoad">
+ <template slot-scope="{row}" slot="menu">
+ <el-button type="text" icon="el-icon-setting" size="small" v-if="permission.api_scope_setting" plain
+ style="border: 0;background-color: transparent !important;" @click.stop="handleDataScope(row)">权限配置
+ </el-button>
+ </template>
+ <template slot-scope="{row}" slot="source">
+ <div style="text-align:center">
+ <i :class="row.source" />
+ </div>
+ </template>
</avue-crud>
- </basic-container>
- </el-drawer>
- </basic-container>
+ <el-drawer :title="`[${scopeMenuName}] 接口权限配置`" :visible.sync="drawerVisible" :direction="direction" append-to-body
+ :before-close="handleDrawerClose" size="1000px">
+ <basic-container>
+ <avue-crud :option="optionScope" :data="dataScope" :page="pageScope" v-model="formScope"
+ :table-loading="scopeLoading" ref="crudScope" @row-del="rowDelScope" @row-update="rowUpdateScope"
+ @row-save="rowSaveScope" :before-open="beforeOpenScope" @search-change="searchChangeScope"
+ @search-reset="searchResetScope" @selection-change="selectionChangeScope"
+ @current-change="currentChangeScope" @size-change="sizeChangeScope" @on-load="onLoadScope">
+ <template slot="menuLeft">
+ <el-button type="danger" size="small" icon="el-icon-delete" plain @click="handleDeleteScope">删 除
+ </el-button>
+ </template>
+ <template slot-scope="{row}" slot="scopeType">
+ <el-tag>{{ row.scopeTypeName }}</el-tag>
+ </template>
+ </avue-crud>
+ </basic-container>
+ </el-drawer>
+ </basic-container>
</template>
<script>
- import {
+import {
add,
remove,
update,
getLazyMenuList,
getMenu
- } from "@/api/system/menu";
- import {
+} from "@/api/system/menu"
+import {
addApiScope,
removeApiScope,
updateApiScope,
getListApiScope,
getMenuApiScope
- } from "@/api/system/scope";
- import {mapGetters} from "vuex";
- import iconList from "@/config/iconList";
+} from "@/api/system/scope"
+import { mapGetters } from "vuex"
+import iconList from "@/config/iconList"
- export default {
- data() {
- return {
- form: {},
- selectionList: [],
- query: {},
- loading: true,
- parentId: 0,
- page: {
- pageSize: 10,
- currentPage: 1,
- total: 0
- },
- drawerVisible: false,
- direction: 'rtl',
- scopeLoading: false,
- scopeMenuId: 0,
- scopeMenuName: "菜单",
- menu: true,
- option: {
- lazy: true,
- tip: false,
- simplePage: true,
- searchShow: true,
- searchMenuSpan: 6,
- dialogWidth: "60%",
- tree: true,
- border: true,
- index: true,
- selection: true,
- viewBtn: false,
- editBtn: false,
- addBtn: false,
- delBtn: false,
- menuWidth: 150,
- dialogClickModal: false,
- column: [
- {
- label: "菜单名称",
- prop: "name",
- search: true,
- rules: [
- {
- required: true,
- message: "请输入菜单名称",
- trigger: "blur"
- }
- ]
+export default {
+ data () {
+ return {
+ form: {},
+ selectionList: [],
+ query: {},
+ loading: true,
+ parentId: 0,
+ page: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0
},
- {
- label: "路由地址",
- prop: "path",
- rules: [
- {
- required: true,
- message: "请输入路由地址",
- trigger: "blur"
- }
- ]
+ drawerVisible: false,
+ direction: 'rtl',
+ scopeLoading: false,
+ scopeMenuId: 0,
+ scopeMenuName: "菜单",
+ menu: true,
+ option: {
+ lazy: true,
+ tip: false,
+ simplePage: true,
+ searchShow: true,
+ searchMenuSpan: 6,
+ dialogWidth: "60%",
+ tree: true,
+ border: true,
+ index: true,
+ selection: true,
+ viewBtn: false,
+ editBtn: false,
+ addBtn: false,
+ delBtn: false,
+ menuWidth: 150,
+ dialogClickModal: false,
+ column: [
+ {
+ label: "菜单名称",
+ prop: "name",
+ search: true,
+ searchLabelWidth: 76,
+ rules: [
+ {
+ required: true,
+ message: "请输入菜单名称",
+ trigger: "blur"
+ }
+ ]
+ },
+ {
+ label: "路由地址",
+ prop: "path",
+ rules: [
+ {
+ required: true,
+ message: "请输入路由地址",
+ trigger: "blur"
+ }
+ ]
+ },
+ {
+ label: "上级菜单",
+ prop: "parentId",
+ type: "tree",
+ dicUrl: "/api/blade-system/menu/tree",
+ hide: true,
+ props: {
+ label: "title"
+ },
+ rules: [
+ {
+ required: false,
+ message: "请选择上级菜单",
+ trigger: "click"
+ }
+ ]
+ },
+ {
+ label: "菜单图标",
+ prop: "source",
+ type: "icon",
+ slot: true,
+ width: 80,
+ iconList: iconList,
+ rules: [
+ {
+ required: true,
+ message: "请输入菜单图标",
+ trigger: "click"
+ }
+ ]
+ },
+ {
+ label: "菜单编号",
+ prop: "code",
+ search: true,
+ searchLabelWidth: 100,
+ rules: [
+ {
+ required: true,
+ message: "请输入菜单编号",
+ trigger: "blur"
+ }
+ ]
+ },
+ {
+ label: "菜单类型",
+ prop: "category",
+ type: "radio",
+ dicData: [
+ {
+ label: "菜单",
+ value: 1
+ },
+ {
+ label: "按钮",
+ value: 2
+ }
+ ],
+ hide: true,
+ rules: [
+ {
+ required: true,
+ message: "请选择菜单类型",
+ trigger: "blur"
+ }
+ ]
+ },
+ {
+ label: "菜单别名",
+ prop: "alias",
+ rules: [
+ {
+ required: true,
+ message: "请输入菜单别名",
+ trigger: "blur"
+ }
+ ]
+ },
+ {
+ label: "按钮功能",
+ prop: "action",
+ type: "radio",
+ dicData: [
+ {
+ label: "工具栏",
+ value: 0
+ },
+ {
+ label: "操作栏",
+ value: 1
+ },
+ {
+ label: "工具操作栏",
+ value: 2
+ }
+ ],
+ hide: true,
+ rules: [
+ {
+ required: true,
+ message: "请选择按钮功能",
+ trigger: "blur"
+ }
+ ]
+ },
+ {
+ label: "菜单排序",
+ prop: "sort",
+ type: "number",
+ width: 80,
+ rules: [
+ {
+ required: true,
+ message: "请输入菜单排序",
+ trigger: "blur"
+ }
+ ]
+ },
+ {
+ label: "新窗口",
+ prop: "isOpen",
+ type: "radio",
+ dicData: [
+ {
+ label: "否",
+ value: 0
+ },
+ {
+ label: "是",
+ value: 1
+ },
+ ],
+ hide: true
+ },
+ {
+ label: "菜单备注",
+ prop: "remark",
+ type: "textarea",
+ span: 24,
+ minRows: 6,
+ hide: true
+ }
+ ]
},
- {
- label: "上级菜单",
- prop: "parentId",
- type: "tree",
- dicUrl: "/api/blade-system/menu/tree",
- hide: true,
- props: {
- label: "title"
- },
- rules: [
- {
- required: false,
- message: "请选择上级菜单",
- trigger: "click"
- }
- ]
+ data: [],
+ formScope: {},
+ selectionListScope: [],
+ pageScope: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0
},
- {
- label: "菜单图标",
- prop: "source",
- type: "icon",
- slot: true,
- width: 80,
- iconList: iconList,
- rules: [
- {
- required: true,
- message: "请输入菜单图标",
- trigger: "click"
- }
- ]
+ optionScope: {
+ tip: false,
+ searchShow: true,
+ searchMenuSpan: 6,
+ border: true,
+ index: true,
+ viewBtn: true,
+ selection: true,
+ menuWidth: 200,
+ dialogWidth: 900,
+ dialogClickModal: false,
+ column: [
+ {
+ label: "权限名称",
+ prop: "scopeName",
+ search: true,
+ rules: [{
+ required: true,
+ message: "请输入权限名称",
+ trigger: "blur"
+ }]
+ },
+ {
+ label: "权限编号",
+ prop: "resourceCode",
+ search: true,
+ width: 180,
+ rules: [{
+ required: true,
+ message: "请输入权限编号",
+ trigger: "blur"
+ }]
+ },
+ {
+ label: "权限路径",
+ prop: "scopePath",
+ width: 180,
+ rules: [{
+ required: true,
+ message: "请输入权限编号",
+ trigger: "blur"
+ }]
+ },
+ {
+ label: "接口类型",
+ type: "select",
+ dicUrl: "/api/blade-system/dict/dictionary?code=api_scope_type",
+ props: {
+ label: "dictValue",
+ value: "dictKey"
+ },
+ dataType: "number",
+ slot: true,
+ width: 100,
+ prop: "scopeType",
+ rules: [{
+ required: true,
+ message: "请输入通知类型",
+ trigger: "blur"
+ }]
+ },
+ {
+ label: "备注",
+ prop: "remark",
+ span: 24,
+ hide: true,
+ },
+ ]
},
- {
- label: "菜单编号",
- prop: "code",
- search: true,
- rules: [
- {
- required: true,
- message: "请输入菜单编号",
- trigger: "blur"
- }
- ]
- },
- {
- label: "菜单类型",
- prop: "category",
- type: "radio",
- dicData: [
- {
- label: "菜单",
- value: 1
- },
- {
- label: "按钮",
- value: 2
- }
- ],
- hide: true,
- rules: [
- {
- required: true,
- message: "请选择菜单类型",
- trigger: "blur"
- }
- ]
- },
- {
- label: "菜单别名",
- prop: "alias",
- rules: [
- {
- required: true,
- message: "请输入菜单别名",
- trigger: "blur"
- }
- ]
- },
- {
- label: "按钮功能",
- prop: "action",
- type: "radio",
- dicData: [
- {
- label: "工具栏",
- value: 0
- },
- {
- label: "操作栏",
- value: 1
- },
- {
- label: "工具操作栏",
- value: 2
- }
- ],
- hide: true,
- rules: [
- {
- required: true,
- message: "请选择按钮功能",
- trigger: "blur"
- }
- ]
- },
- {
- label: "菜单排序",
- prop: "sort",
- type: "number",
- width: 80,
- rules: [
- {
- required: true,
- message: "请输入菜单排序",
- trigger: "blur"
- }
- ]
- },
- {
- label: "新窗口",
- prop: "isOpen",
- type: "radio",
- dicData: [
- {
- label: "否",
- value: 0
- },
- {
- label: "是",
- value: 1
- },
- ],
- hide: true
- },
- {
- label: "菜单备注",
- prop: "remark",
- type: "textarea",
- span: 24,
- minRows: 6,
- hide: true
- }
- ]
- },
- data: [],
- formScope: {},
- selectionListScope: [],
- pageScope: {
- pageSize: 10,
- currentPage: 1,
- total: 0
- },
- optionScope: {
- tip: false,
- searchShow: true,
- searchMenuSpan: 6,
- border: true,
- index: true,
- viewBtn: true,
- selection: true,
- menuWidth: 200,
- dialogWidth: 900,
- dialogClickModal: false,
- column: [
- {
- label: "权限名称",
- prop: "scopeName",
- search: true,
- rules: [{
- required: true,
- message: "请输入权限名称",
- trigger: "blur"
- }]
- },
- {
- label: "权限编号",
- prop: "resourceCode",
- search: true,
- width: 180,
- rules: [{
- required: true,
- message: "请输入权限编号",
- trigger: "blur"
- }]
- },
- {
- label: "权限路径",
- prop: "scopePath",
- width: 180,
- rules: [{
- required: true,
- message: "请输入权限编号",
- trigger: "blur"
- }]
- },
- {
- label: "接口类型",
- type: "select",
- dicUrl: "/api/blade-system/dict/dictionary?code=api_scope_type",
- props: {
- label: "dictValue",
- value: "dictKey"
- },
- dataType: "number",
- slot: true,
- width: 100,
- prop: "scopeType",
- rules: [{
- required: true,
- message: "请输入通知类型",
- trigger: "blur"
- }]
- },
- {
- label: "备注",
- prop: "remark",
- span: 24,
- hide: true,
- },
- ]
- },
- dataScope: []
- };
+ dataScope: []
+ }
},
computed: {
- ...mapGetters(["permission"]),
- permissionList() {
- return {
- addBtn: this.vaildData(this.permission.menu_add, false),
- viewBtn: this.vaildData(this.permission.menu_view, false),
- delBtn: this.vaildData(this.permission.menu_delete, false),
- editBtn: this.vaildData(this.permission.menu_edit, false)
- };
- },
- ids() {
- let ids = [];
- this.selectionList.forEach(ele => {
- ids.push(ele.id);
- });
- return ids.join(",");
- },
- scopeIds() {
- let ids = [];
- this.selectionListScope.forEach(ele => {
- ids.push(ele.id);
- });
- return ids.join(",");
- }
+ ...mapGetters(["permission"]),
+ permissionList () {
+ return {
+ addBtn: this.vaildData(this.permission.menu_add, false),
+ viewBtn: this.vaildData(this.permission.menu_view, false),
+ delBtn: this.vaildData(this.permission.menu_delete, false),
+ editBtn: this.vaildData(this.permission.menu_edit, false)
+ }
+ },
+ ids () {
+ let ids = []
+ this.selectionList.forEach(ele => {
+ ids.push(ele.id)
+ })
+ return ids.join(",")
+ },
+ scopeIds () {
+ let ids = []
+ this.selectionListScope.forEach(ele => {
+ ids.push(ele.id)
+ })
+ return ids.join(",")
+ }
},
methods: {
- // 菜单管理模块
- rowSave(row, done, loading) {
- add(row).then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- done();
- }, error => {
- window.console.log(error);
- loading();
- });
- },
- rowUpdate(row, index, done, loading) {
- update(row).then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- done();
- }, error => {
- window.console.log(error);
- loading();
- });
- },
- rowDel(row) {
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- })
- .then(() => {
- return remove(row.id);
- })
- .then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- });
- },
- searchReset() {
- this.query = {};
- this.parentId = 0;
- this.onLoad(this.page);
- },
- searchChange(params, done) {
- this.query = params;
- this.parentId = '';
- this.page.currentPage = 1;
- this.onLoad(this.page, params);
- done();
- },
- selectionChange(list) {
- this.selectionList = list;
- },
- selectionClear() {
- this.selectionList = [];
- this.$refs.crud.toggleSelection();
- },
- handleDelete() {
- if (this.selectionList.length === 0) {
- this.$message.warning("请选择至少一条数据");
- return;
- }
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- })
- .then(() => {
- return remove(this.ids);
- })
- .then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- this.$refs.crud.toggleSelection();
- });
- },
- beforeOpen(done, type) {
- if (["edit", "view"].includes(type)) {
- getMenu(this.form.id).then(res => {
- this.form = res.data.data;
- });
- }
- done();
- },
- currentChange(currentPage) {
- this.page.currentPage = currentPage;
- },
- sizeChange(pageSize) {
- this.page.pageSize = pageSize;
- },
- refreshChange() {
- this.onLoad(this.page, this.query);
- },
- onLoad(page, params = {}) {
- this.loading = true;
- getLazyMenuList(this.parentId, Object.assign(params, this.query)).then(res => {
- this.data = res.data.data;
- this.loading = false;
- this.selectionClear();
- });
- },
- treeLoad(tree, treeNode, resolve) {
- const parentId = tree.id;
- getLazyMenuList(parentId).then(res => {
- resolve(res.data.data);
- });
- },
- // 数据权限模块
- handleDataScope(row) {
- this.drawerVisible = true;
- this.scopeMenuId = row.id;
- this.scopeMenuName = row.name;
- this.onLoadScope(this.pageScope)
- },
- handleDrawerClose(hide) {
- hide();
- },
- rowSaveScope(row, done, loading) {
- row = {
- ...row,
- menuId: this.scopeMenuId,
- };
- addApiScope(row).then(() => {
- this.onLoadScope(this.pageScope);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- done();
- }, error => {
- window.console.log(error);
- loading();
- });
- },
- rowUpdateScope(row, index, done, loading) {
- row = {
- ...row,
- menuId: this.scopeMenuId,
- };
- updateApiScope(row).then(() => {
- this.onLoadScope(this.pageScope);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- done();
- }, error => {
- window.console.log(error);
- loading();
- });
- },
- rowDelScope(row) {
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- })
- .then(() => {
- return removeApiScope(row.id);
- })
- .then(() => {
- this.onLoadScope(this.pageScope);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- });
- },
- handleDeleteScope() {
- if (this.selectionListScope.length === 0) {
- this.$message.warning("请选择至少一条数据");
- return;
- }
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- })
- .then(() => {
- return removeApiScope(this.scopeIds);
- })
- .then(() => {
- this.onLoadScope(this.pageScope);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- this.$refs.crudScope.toggleSelection();
- });
- },
- beforeOpenScope(done, type) {
- if (["edit", "view"].includes(type)) {
- getMenuApiScope(this.formScope.id).then(res => {
- this.formScope = res.data.data;
- });
- }
- done();
- },
- searchResetScope() {
- this.onLoadScope(this.pageScope);
- },
- searchChangeScope(params, done) {
- this.onLoadScope(this.pageScope, params);
- done();
- },
- selectionChangeScope(list) {
- this.selectionListScope = list;
- },
- currentChangeScope(currentPage) {
- this.pageScope.currentPage = currentPage;
- },
- sizeChangeScope(pageSize) {
- this.pageScope.pageSize = pageSize;
- },
- onLoadScope(page, params = {}) {
- this.scopeLoading = true;
- const values = {
- ...params,
- menuId: this.scopeMenuId,
- }
- getListApiScope(page.currentPage, page.pageSize, Object.assign(values, this.query)).then(res => {
- const data = res.data.data;
- this.pageScope.total = data.total;
- this.dataScope = data.records;
- this.selectionListScope = [];
- this.scopeLoading = false;
- });
- },
+ // 菜单管理模块
+ rowSave (row, done, loading) {
+ add(row).then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ done()
+ }, error => {
+ window.console.log(error)
+ loading()
+ })
+ },
+ rowUpdate (row, index, done, loading) {
+ update(row).then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ done()
+ }, error => {
+ window.console.log(error)
+ loading()
+ })
+ },
+ rowDel (row) {
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ })
+ .then(() => {
+ return remove(row.id)
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ })
+ },
+ searchReset () {
+ this.query = {}
+ this.parentId = 0
+ this.onLoad(this.page)
+ },
+ searchChange (params, done) {
+ this.query = params
+ this.parentId = ''
+ this.page.currentPage = 1
+ this.onLoad(this.page, params)
+ done()
+ },
+ selectionChange (list) {
+ this.selectionList = list
+ },
+ selectionClear () {
+ this.selectionList = []
+ this.$refs.crud.toggleSelection()
+ },
+ handleDelete () {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据")
+ return
+ }
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ })
+ .then(() => {
+ return remove(this.ids)
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ this.$refs.crud.toggleSelection()
+ })
+ },
+ beforeOpen (done, type) {
+ if (["edit", "view"].includes(type)) {
+ getMenu(this.form.id).then(res => {
+ this.form = res.data.data
+ })
+ }
+ done()
+ },
+ currentChange (currentPage) {
+ this.page.currentPage = currentPage
+ },
+ sizeChange (pageSize) {
+ this.page.pageSize = pageSize
+ },
+ refreshChange () {
+ this.onLoad(this.page, this.query)
+ },
+ onLoad (page, params = {}) {
+ this.loading = true
+ getLazyMenuList(this.parentId, Object.assign(params, this.query)).then(res => {
+ this.data = res.data.data
+ this.loading = false
+ this.selectionClear()
+ })
+ },
+ treeLoad (tree, treeNode, resolve) {
+ const parentId = tree.id
+ getLazyMenuList(parentId).then(res => {
+ resolve(res.data.data)
+ })
+ },
+ // 数据权限模块
+ handleDataScope (row) {
+ this.drawerVisible = true
+ this.scopeMenuId = row.id
+ this.scopeMenuName = row.name
+ this.onLoadScope(this.pageScope)
+ },
+ handleDrawerClose (hide) {
+ hide()
+ },
+ rowSaveScope (row, done, loading) {
+ row = {
+ ...row,
+ menuId: this.scopeMenuId,
+ }
+ addApiScope(row).then(() => {
+ this.onLoadScope(this.pageScope)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ done()
+ }, error => {
+ window.console.log(error)
+ loading()
+ })
+ },
+ rowUpdateScope (row, index, done, loading) {
+ row = {
+ ...row,
+ menuId: this.scopeMenuId,
+ }
+ updateApiScope(row).then(() => {
+ this.onLoadScope(this.pageScope)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ done()
+ }, error => {
+ window.console.log(error)
+ loading()
+ })
+ },
+ rowDelScope (row) {
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ })
+ .then(() => {
+ return removeApiScope(row.id)
+ })
+ .then(() => {
+ this.onLoadScope(this.pageScope)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ })
+ },
+ handleDeleteScope () {
+ if (this.selectionListScope.length === 0) {
+ this.$message.warning("请选择至少一条数据")
+ return
+ }
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ })
+ .then(() => {
+ return removeApiScope(this.scopeIds)
+ })
+ .then(() => {
+ this.onLoadScope(this.pageScope)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ this.$refs.crudScope.toggleSelection()
+ })
+ },
+ beforeOpenScope (done, type) {
+ if (["edit", "view"].includes(type)) {
+ getMenuApiScope(this.formScope.id).then(res => {
+ this.formScope = res.data.data
+ })
+ }
+ done()
+ },
+ searchResetScope () {
+ this.onLoadScope(this.pageScope)
+ },
+ searchChangeScope (params, done) {
+ this.onLoadScope(this.pageScope, params)
+ done()
+ },
+ selectionChangeScope (list) {
+ this.selectionListScope = list
+ },
+ currentChangeScope (currentPage) {
+ this.pageScope.currentPage = currentPage
+ },
+ sizeChangeScope (pageSize) {
+ this.pageScope.pageSize = pageSize
+ },
+ onLoadScope (page, params = {}) {
+ this.scopeLoading = true
+ const values = {
+ ...params,
+ menuId: this.scopeMenuId,
+ }
+ getListApiScope(page.currentPage, page.pageSize, Object.assign(values, this.query)).then(res => {
+ const data = res.data.data
+ this.pageScope.total = data.total
+ this.dataScope = data.records
+ this.selectionListScope = []
+ this.scopeLoading = false
+ })
+ },
}
- };
+}
</script>
diff --git a/src/views/authority/datascope.vue b/src/views/authority/datascope.vue
index d0e0160..53049d8 100644
--- a/src/views/authority/datascope.vue
+++ b/src/views/authority/datascope.vue
@@ -1,732 +1,698 @@
<template>
- <basic-container>
- <avue-crud :option="option"
- :table-loading="loading"
- :data="data"
- ref="crud"
- v-model="form"
- :permission="permissionList"
- :before-open="beforeOpen"
- :before-close="beforeClose"
- @row-del="rowDel"
- @row-update="rowUpdate"
- @row-save="rowSave"
- @search-change="searchChange"
- @search-reset="searchReset"
- @selection-change="selectionChange"
- @current-change="currentChange"
- @size-change="sizeChange"
- @refresh-change="refreshChange"
- @on-load="onLoad"
- @tree-load="treeLoad">
- <template slot-scope="{row}" slot="menu">
- <el-button type="text"
- icon="el-icon-setting"
- size="small"
- v-if="permission.data_scope_setting"
- plain
- style="border: 0;background-color: transparent !important;"
- @click.stop="handleDataScope(row)">权限配置
- </el-button>
- </template>
- <template slot-scope="{row}" slot="source">
- <div style="text-align:center">
- <i :class="row.source"/>
- </div>
- </template>
- </avue-crud>
- <el-drawer :title="`[${scopeMenuName}] 数据权限配置`" :visible.sync="drawerVisible" :direction="direction"
- append-to-body
- :before-close="handleDrawerClose" size="1000px">
- <basic-container>
- <avue-crud :option="optionScope"
- :data="dataScope"
- :page="pageScope"
- v-model="formScope"
- :table-loading="scopeLoading"
- ref="crudScope"
- @row-del="rowDelScope"
- @row-update="rowUpdateScope"
- @row-save="rowSaveScope"
- :before-open="beforeOpenScope"
- @search-change="searchChangeScope"
- @search-reset="searchResetScope"
- @selection-change="selectionChangeScope"
- @current-change="currentChangeScope"
- @size-change="sizeChangeScope"
- @on-load="onLoadScope">
- <template slot="menuLeft">
- <el-button type="danger"
- size="small"
- icon="el-icon-delete"
- plain
- @click="handleDeleteScope">删 除
- </el-button>
- </template>
- <template slot-scope="{row}"
- slot="scopeType">
- <el-tag>{{row.scopeTypeName}}</el-tag>
- </template>
+ <basic-container>
+ <avue-crud :option="option" :table-loading="loading" :data="data" ref="crud" v-model="form"
+ :permission="permissionList" :before-open="beforeOpen" :before-close="beforeClose" @row-del="rowDel"
+ @row-update="rowUpdate" @row-save="rowSave" @search-change="searchChange" @search-reset="searchReset"
+ @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
+ @refresh-change="refreshChange" @on-load="onLoad" @tree-load="treeLoad">
+ <template slot-scope="{row}" slot="menu">
+ <el-button type="text" icon="el-icon-setting" size="small" v-if="permission.data_scope_setting" plain
+ style="border: 0;background-color: transparent !important;" @click.stop="handleDataScope(row)">权限配置
+ </el-button>
+ </template>
+ <template slot-scope="{row}" slot="source">
+ <div style="text-align:center">
+ <i :class="row.source" />
+ </div>
+ </template>
</avue-crud>
- </basic-container>
- </el-drawer>
- </basic-container>
+ <el-drawer :title="`[${scopeMenuName}] 数据权限配置`" :visible.sync="drawerVisible" :direction="direction" append-to-body
+ :before-close="handleDrawerClose" size="1000px">
+ <basic-container>
+ <avue-crud :option="optionScope" :data="dataScope" :page="pageScope" v-model="formScope"
+ :table-loading="scopeLoading" ref="crudScope" @row-del="rowDelScope" @row-update="rowUpdateScope"
+ @row-save="rowSaveScope" :before-open="beforeOpenScope" @search-change="searchChangeScope"
+ @search-reset="searchResetScope" @selection-change="selectionChangeScope"
+ @current-change="currentChangeScope" @size-change="sizeChangeScope" @on-load="onLoadScope">
+ <template slot="menuLeft">
+ <el-button type="danger" size="small" icon="el-icon-delete" plain @click="handleDeleteScope">删 除
+ </el-button>
+ </template>
+ <template slot-scope="{row}" slot="scopeType">
+ <el-tag>{{ row.scopeTypeName }}</el-tag>
+ </template>
+ </avue-crud>
+ </basic-container>
+ </el-drawer>
+ </basic-container>
</template>
<script>
- import {
+import {
add,
remove,
update,
getLazyMenuList,
getMenu
- } from "@/api/system/menu";
- import {
+} from "@/api/system/menu"
+import {
addDataScope,
removeDataScope,
updateDataScope,
getListDataScope,
getMenuDataScope
- } from "@/api/system/scope";
- import {mapGetters} from "vuex";
- import iconList from "@/config/iconList";
- import func from "@/util/func";
+} from "@/api/system/scope"
+import { mapGetters } from "vuex"
+import iconList from "@/config/iconList"
+import func from "@/util/func"
- export default {
- data() {
- return {
- form: {},
- selectionList: [],
- query: {},
- loading: true,
- parentId: 0,
- page: {
- pageSize: 10,
- currentPage: 1,
- total: 0
- },
- drawerVisible: false,
- direction: 'rtl',
- scopeMenuId: 0,
- scopeMenuCode: '',
- scopeMenuName: "菜单",
- scopeLoading: false,
- menu: true,
- watchMode: true,
- option: {
- lazy: true,
- tip: false,
- simplePage: true,
- searchShow: true,
- searchMenuSpan: 6,
- dialogWidth: "60%",
- tree: true,
- border: true,
- index: true,
- selection: true,
- viewBtn: false,
- editBtn: false,
- addBtn: false,
- delBtn: false,
- menuWidth: 150,
- dialogClickModal: false,
- column: [
- {
- label: "菜单名称",
- prop: "name",
- search: true,
- rules: [
- {
- required: true,
- message: "请输入菜单名称",
- trigger: "blur"
- }
- ]
+export default {
+ data () {
+ return {
+ form: {},
+ selectionList: [],
+ query: {},
+ loading: true,
+ parentId: 0,
+ page: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0
},
- {
- label: "路由地址",
- prop: "path",
- rules: [
- {
- required: true,
- message: "请输入路由地址",
- trigger: "blur"
- }
- ]
+ drawerVisible: false,
+ direction: 'rtl',
+ scopeMenuId: 0,
+ scopeMenuCode: '',
+ scopeMenuName: "菜单",
+ scopeLoading: false,
+ menu: true,
+ watchMode: true,
+ option: {
+ lazy: true,
+ tip: false,
+ simplePage: true,
+ searchShow: true,
+ searchMenuSpan: 6,
+ dialogWidth: "60%",
+ tree: true,
+ border: true,
+ index: true,
+ selection: true,
+ viewBtn: false,
+ editBtn: false,
+ addBtn: false,
+ delBtn: false,
+ menuWidth: 150,
+ dialogClickModal: false,
+ column: [
+ {
+ label: "菜单名称",
+ prop: "name",
+ search: true,
+ searchLabelWidth: 76,
+ rules: [
+ {
+ required: true,
+ message: "请输入菜单名称",
+ trigger: "blur"
+ }
+ ]
+ },
+ {
+ label: "路由地址",
+ prop: "path",
+ rules: [
+ {
+ required: true,
+ message: "请输入路由地址",
+ trigger: "blur"
+ }
+ ]
+ },
+ {
+ label: "上级菜单",
+ prop: "parentId",
+ type: "tree",
+ dicUrl: "/api/blade-system/menu/tree",
+ hide: true,
+ props: {
+ label: "title"
+ },
+ rules: [
+ {
+ required: false,
+ message: "请选择上级菜单",
+ trigger: "click"
+ }
+ ]
+ },
+ {
+ label: "菜单图标",
+ prop: "source",
+ type: "icon",
+ slot: true,
+ width: 80,
+ iconList: iconList,
+ rules: [
+ {
+ required: true,
+ message: "请输入菜单图标",
+ trigger: "click"
+ }
+ ]
+ },
+ {
+ label: "菜单编号",
+ prop: "code",
+ search: true,
+ searchLabelWidth: 100,
+ rules: [
+ {
+ required: true,
+ message: "请输入菜单编号",
+ trigger: "blur"
+ }
+ ]
+ },
+ {
+ label: "菜单类型",
+ prop: "category",
+ type: "radio",
+ dicData: [
+ {
+ label: "菜单",
+ value: 1
+ },
+ {
+ label: "按钮",
+ value: 2
+ }
+ ],
+ hide: true,
+ rules: [
+ {
+ required: true,
+ message: "请选择菜单类型",
+ trigger: "blur"
+ }
+ ]
+ },
+ {
+ label: "菜单别名",
+ prop: "alias",
+ rules: [
+ {
+ required: true,
+ message: "请输入菜单别名",
+ trigger: "blur"
+ }
+ ]
+ },
+ {
+ label: "按钮功能",
+ prop: "action",
+ type: "radio",
+ dicData: [
+ {
+ label: "工具栏",
+ value: 0
+ },
+ {
+ label: "操作栏",
+ value: 1
+ },
+ {
+ label: "工具操作栏",
+ value: 2
+ }
+ ],
+ hide: true,
+ rules: [
+ {
+ required: true,
+ message: "请选择按钮功能",
+ trigger: "blur"
+ }
+ ]
+ },
+ {
+ label: "菜单排序",
+ prop: "sort",
+ type: "number",
+ width: 80,
+ rules: [
+ {
+ required: true,
+ message: "请输入菜单排序",
+ trigger: "blur"
+ }
+ ]
+ },
+ {
+ label: "新窗口",
+ prop: "isOpen",
+ type: "radio",
+ dicData: [
+ {
+ label: "否",
+ value: 0
+ },
+ {
+ label: "是",
+ value: 1
+ },
+ ],
+ hide: true
+ },
+ {
+ label: "菜单备注",
+ prop: "remark",
+ type: "textarea",
+ span: 24,
+ minRows: 6,
+ hide: true
+ }
+ ]
},
- {
- label: "上级菜单",
- prop: "parentId",
- type: "tree",
- dicUrl: "/api/blade-system/menu/tree",
- hide: true,
- props: {
- label: "title"
- },
- rules: [
- {
- required: false,
- message: "请选择上级菜单",
- trigger: "click"
- }
- ]
+ data: [],
+ formScope: {},
+ selectionListScope: [],
+ pageScope: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0
},
- {
- label: "菜单图标",
- prop: "source",
- type: "icon",
- slot: true,
- width: 80,
- iconList: iconList,
- rules: [
- {
- required: true,
- message: "请输入菜单图标",
- trigger: "click"
- }
- ]
+ optionScope: {
+ tip: false,
+ searchShow: true,
+ searchMenuSpan: 6,
+ border: true,
+ index: true,
+ viewBtn: true,
+ selection: true,
+ menuWidth: 200,
+ dialogWidth: 900,
+ dialogClickModal: false,
+ column: [
+ {
+ label: "权限名称",
+ prop: "scopeName",
+ search: true,
+ value: "",
+ rules: [{
+ required: true,
+ message: "请输入数据权限名称",
+ trigger: "blur"
+ }]
+ },
+ {
+ label: "权限编号",
+ prop: "resourceCode",
+ search: true,
+ width: 100,
+ rules: [{
+ required: true,
+ message: "请输入数据权限编号",
+ trigger: "blur"
+ }]
+ },
+ {
+ label: "权限字段",
+ prop: "scopeColumn",
+ width: 130,
+ rules: [{
+ required: true,
+ message: "请输入数据权限编号",
+ trigger: "blur"
+ }]
+ },
+ {
+ label: "规则类型",
+ type: "select",
+ dicUrl: "/api/blade-system/dict/dictionary?code=data_scope_type",
+ props: {
+ label: "dictValue",
+ value: "dictKey"
+ },
+ dataType: "number",
+ slot: true,
+ width: 140,
+ prop: "scopeType",
+ rules: [{
+ required: true,
+ message: "请输入通知类型",
+ trigger: "blur"
+ }]
+ },
+ {
+ label: "可见字段",
+ prop: "scopeField",
+ span: 24,
+ hide: true,
+ value: "*",
+ rules: [{
+ required: true,
+ message: "请输入数据权限可见的字段",
+ trigger: "blur"
+ }],
+ },
+ {
+ label: "权限类名",
+ prop: "scopeClass",
+ span: 24,
+ hide: true,
+ rules: [{
+ required: true,
+ message: "请输入MybatisMapper对应方法的完整类名路径",
+ trigger: "blur"
+ }],
+ },
+ {
+ label: "规则值",
+ prop: "scopeValue",
+ span: 24,
+ minRows: 5,
+ type: "textarea",
+ display: true,
+ hide: true,
+ },
+ {
+ label: "备注",
+ prop: "remark",
+ span: 24,
+ hide: true,
+ },
+ ]
},
- {
- label: "菜单编号",
- prop: "code",
- search: true,
- rules: [
- {
- required: true,
- message: "请输入菜单编号",
- trigger: "blur"
- }
- ]
- },
- {
- label: "菜单类型",
- prop: "category",
- type: "radio",
- dicData: [
- {
- label: "菜单",
- value: 1
- },
- {
- label: "按钮",
- value: 2
- }
- ],
- hide: true,
- rules: [
- {
- required: true,
- message: "请选择菜单类型",
- trigger: "blur"
- }
- ]
- },
- {
- label: "菜单别名",
- prop: "alias",
- rules: [
- {
- required: true,
- message: "请输入菜单别名",
- trigger: "blur"
- }
- ]
- },
- {
- label: "按钮功能",
- prop: "action",
- type: "radio",
- dicData: [
- {
- label: "工具栏",
- value: 0
- },
- {
- label: "操作栏",
- value: 1
- },
- {
- label: "工具操作栏",
- value: 2
- }
- ],
- hide: true,
- rules: [
- {
- required: true,
- message: "请选择按钮功能",
- trigger: "blur"
- }
- ]
- },
- {
- label: "菜单排序",
- prop: "sort",
- type: "number",
- width: 80,
- rules: [
- {
- required: true,
- message: "请输入菜单排序",
- trigger: "blur"
- }
- ]
- },
- {
- label: "新窗口",
- prop: "isOpen",
- type: "radio",
- dicData: [
- {
- label: "否",
- value: 0
- },
- {
- label: "是",
- value: 1
- },
- ],
- hide: true
- },
- {
- label: "菜单备注",
- prop: "remark",
- type: "textarea",
- span: 24,
- minRows: 6,
- hide: true
- }
- ]
- },
- data: [],
- formScope: {},
- selectionListScope: [],
- pageScope: {
- pageSize: 10,
- currentPage: 1,
- total: 0
- },
- optionScope: {
- tip: false,
- searchShow: true,
- searchMenuSpan: 6,
- border: true,
- index: true,
- viewBtn: true,
- selection: true,
- menuWidth: 200,
- dialogWidth: 900,
- dialogClickModal: false,
- column: [
- {
- label: "权限名称",
- prop: "scopeName",
- search: true,
- value: "",
- rules: [{
- required: true,
- message: "请输入数据权限名称",
- trigger: "blur"
- }]
- },
- {
- label: "权限编号",
- prop: "resourceCode",
- search: true,
- width: 100,
- rules: [{
- required: true,
- message: "请输入数据权限编号",
- trigger: "blur"
- }]
- },
- {
- label: "权限字段",
- prop: "scopeColumn",
- width: 130,
- rules: [{
- required: true,
- message: "请输入数据权限编号",
- trigger: "blur"
- }]
- },
- {
- label: "规则类型",
- type: "select",
- dicUrl: "/api/blade-system/dict/dictionary?code=data_scope_type",
- props: {
- label: "dictValue",
- value: "dictKey"
- },
- dataType: "number",
- slot: true,
- width: 140,
- prop: "scopeType",
- rules: [{
- required: true,
- message: "请输入通知类型",
- trigger: "blur"
- }]
- },
- {
- label: "可见字段",
- prop: "scopeField",
- span: 24,
- hide: true,
- value: "*",
- rules: [{
- required: true,
- message: "请输入数据权限可见的字段",
- trigger: "blur"
- }],
- },
- {
- label: "权限类名",
- prop: "scopeClass",
- span: 24,
- hide: true,
- rules: [{
- required: true,
- message: "请输入MybatisMapper对应方法的完整类名路径",
- trigger: "blur"
- }],
- },
- {
- label: "规则值",
- prop: "scopeValue",
- span: 24,
- minRows: 5,
- type: "textarea",
- display: true,
- hide: true,
- },
- {
- label: "备注",
- prop: "remark",
- span: 24,
- hide: true,
- },
- ]
- },
- dataScope: []
- };
+ dataScope: []
+ }
},
watch: {
- 'formScope.scopeType'() {
- this.initScope();
- }
+ 'formScope.scopeType' () {
+ this.initScope()
+ }
},
computed: {
- ...mapGetters(["permission"]),
- permissionList() {
- return {
- addBtn: this.vaildData(this.permission.menu_add, false),
- viewBtn: this.vaildData(this.permission.menu_view, false),
- delBtn: this.vaildData(this.permission.menu_delete, false),
- editBtn: this.vaildData(this.permission.menu_edit, false)
- };
- },
- ids() {
- let ids = [];
- this.selectionList.forEach(ele => {
- ids.push(ele.id);
- });
- return ids.join(",");
- },
- scopeIds() {
- let ids = [];
- this.selectionListScope.forEach(ele => {
- ids.push(ele.id);
- });
- return ids.join(",");
- }
+ ...mapGetters(["permission"]),
+ permissionList () {
+ return {
+ addBtn: this.vaildData(this.permission.menu_add, false),
+ viewBtn: this.vaildData(this.permission.menu_view, false),
+ delBtn: this.vaildData(this.permission.menu_delete, false),
+ editBtn: this.vaildData(this.permission.menu_edit, false)
+ }
+ },
+ ids () {
+ let ids = []
+ this.selectionList.forEach(ele => {
+ ids.push(ele.id)
+ })
+ return ids.join(",")
+ },
+ scopeIds () {
+ let ids = []
+ this.selectionListScope.forEach(ele => {
+ ids.push(ele.id)
+ })
+ return ids.join(",")
+ }
},
methods: {
- initScope() {
- const scopeType = func.toInt(this.formScope.scopeType);
- const watchMode = this.watchMode;
- let column = "-", name = "暂无";
- if (scopeType === 1) {
- column = "-";
- name = "全部可见";
- } else if (scopeType === 2) {
- column = "create_user";
- name = "本人可见";
- } else if (scopeType === 3) {
- column = "create_dept";
- name = "所在机构可见";
- } else if (scopeType === 4) {
- column = "create_dept";
- name = "所在机构可见及子级可见";
- } else if (scopeType === 5) {
- column = "";
- name = "自定义";
- }
- this.$refs.crudScope.option.column.filter(item => {
- if (watchMode) {
- if (item.prop === "scopeName") {
- this.formScope.scopeName = `${this.scopeMenuName} [${name}]`;
+ initScope () {
+ const scopeType = func.toInt(this.formScope.scopeType)
+ const watchMode = this.watchMode
+ let column = "-", name = "暂无"
+ if (scopeType === 1) {
+ column = "-"
+ name = "全部可见"
+ } else if (scopeType === 2) {
+ column = "create_user"
+ name = "本人可见"
+ } else if (scopeType === 3) {
+ column = "create_dept"
+ name = "所在机构可见"
+ } else if (scopeType === 4) {
+ column = "create_dept"
+ name = "所在机构可见及子级可见"
+ } else if (scopeType === 5) {
+ column = ""
+ name = "自定义"
}
- if (item.prop === "resourceCode") {
- this.formScope.resourceCode = this.scopeMenuCode;
+ this.$refs.crudScope.option.column.filter(item => {
+ if (watchMode) {
+ if (item.prop === "scopeName") {
+ this.formScope.scopeName = `${this.scopeMenuName} [${name}]`
+ }
+ if (item.prop === "resourceCode") {
+ this.formScope.resourceCode = this.scopeMenuCode
+ }
+ if (item.prop === "scopeColumn") {
+ this.formScope.scopeColumn = column
+ }
+ }
+ if (item.prop === "scopeValue") {
+ item.display = scopeType === 5
+ }
+ })
+ },
+ // 菜单管理模块
+ rowSave (row, done, loading) {
+ add(row).then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ done()
+ }, error => {
+ window.console.log(error)
+ loading()
+ })
+ },
+ rowUpdate (row, index, done, loading) {
+ update(row).then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ done()
+ }, error => {
+ window.console.log(error)
+ loading()
+ })
+ },
+ rowDel (row) {
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ })
+ .then(() => {
+ return remove(row.id)
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ })
+ },
+ searchReset () {
+ this.query = {}
+ this.parentId = 0
+ this.onLoad(this.page)
+ },
+ searchChange (params, done) {
+ this.query = params
+ this.parentId = ''
+ this.page.currentPage = 1
+ this.onLoad(this.page, params)
+ done()
+ },
+ selectionChange (list) {
+ this.selectionList = list
+ },
+ selectionClear () {
+ this.selectionList = []
+ this.$refs.crud.toggleSelection()
+ },
+ handleDelete () {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据")
+ return
}
- if (item.prop === "scopeColumn") {
- this.formScope.scopeColumn = column;
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ })
+ .then(() => {
+ return remove(this.ids)
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ this.$refs.crud.toggleSelection()
+ })
+ },
+ beforeOpen (done, type) {
+ if (["edit", "view"].includes(type)) {
+ getMenu(this.form.id).then(res => {
+ this.form = res.data.data
+ })
}
- }
- if (item.prop === "scopeValue") {
- item.display = scopeType === 5;
- }
- });
- },
- // 菜单管理模块
- rowSave(row, done, loading) {
- add(row).then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- done();
- }, error => {
- window.console.log(error);
- loading();
- });
- },
- rowUpdate(row, index, done, loading) {
- update(row).then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- done();
- }, error => {
- window.console.log(error);
- loading();
- });
- },
- rowDel(row) {
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- })
- .then(() => {
- return remove(row.id);
- })
- .then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- });
- },
- searchReset() {
- this.query = {};
- this.parentId = 0;
- this.onLoad(this.page);
- },
- searchChange(params, done) {
- this.query = params;
- this.parentId = '';
- this.page.currentPage = 1;
- this.onLoad(this.page, params);
- done();
- },
- selectionChange(list) {
- this.selectionList = list;
- },
- selectionClear() {
- this.selectionList = [];
- this.$refs.crud.toggleSelection();
- },
- handleDelete() {
- if (this.selectionList.length === 0) {
- this.$message.warning("请选择至少一条数据");
- return;
- }
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- })
- .then(() => {
- return remove(this.ids);
- })
- .then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- this.$refs.crud.toggleSelection();
- });
- },
- beforeOpen(done, type) {
- if (["edit", "view"].includes(type)) {
- getMenu(this.form.id).then(res => {
- this.form = res.data.data;
- });
- }
- done();
- },
- beforeClose(done) {
- this.formScope = {};
- done();
- },
- currentChange(currentPage) {
- this.page.currentPage = currentPage;
- },
- sizeChange(pageSize) {
- this.page.pageSize = pageSize;
- },
- refreshChange() {
- this.onLoad(this.page, this.query);
- },
- onLoad(page, params = {}) {
- this.loading = true;
- getLazyMenuList(this.parentId, Object.assign(params, this.query)).then(res => {
- this.data = res.data.data;
- this.loading = false;
- this.selectionClear();
- });
- },
- treeLoad(tree, treeNode, resolve) {
- const parentId = tree.id;
- getLazyMenuList(parentId).then(res => {
- resolve(res.data.data);
- });
- },
- // 数据权限模块
- handleDataScope(row) {
- this.drawerVisible = true;
- this.scopeMenuId = row.id;
- this.scopeMenuCode = row.code;
- this.scopeMenuName = row.name;
- this.onLoadScope(this.pageScope)
- },
- handleDrawerClose(hide) {
- hide();
- },
- rowSaveScope(row, done, loading) {
- row = {
- ...row,
- menuId: this.scopeMenuId,
- };
- addDataScope(row).then(() => {
- this.onLoadScope(this.pageScope);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- done();
- }, error => {
- window.console.log(error);
- loading();
- });
- },
- rowUpdateScope(row, index, done, loading) {
- row = {
- ...row,
- menuId: this.scopeMenuId,
- };
- updateDataScope(row).then(() => {
- this.onLoadScope(this.pageScope);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- done();
- }, error => {
- window.console.log(error);
- loading();
- });
- },
- rowDelScope(row) {
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- })
- .then(() => {
- return removeDataScope(row.id);
- })
- .then(() => {
- this.onLoadScope(this.pageScope);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- });
- },
- handleDeleteScope() {
- if (this.selectionListScope.length === 0) {
- this.$message.warning("请选择至少一条数据");
- return;
- }
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- })
- .then(() => {
- return removeDataScope(this.scopeIds);
- })
- .then(() => {
- this.onLoadScope(this.pageScope);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- this.$refs.crudScope.toggleSelection();
- });
- },
- beforeOpenScope(done, type) {
- if (["add"].includes(type)) {
- this.watchMode = true;
- this.initScope();
- }
- if (["edit", "view"].includes(type)) {
- this.watchMode = false;
- getMenuDataScope(this.formScope.id).then(res => {
- this.formScope = res.data.data;
- });
- }
- done();
- },
- searchResetScope() {
- this.onLoadScope(this.pageScope);
- },
- searchChangeScope(params, done) {
- this.onLoadScope(this.pageScope, params);
- done();
- },
- selectionChangeScope(list) {
- this.selectionListScope = list;
- },
- currentChangeScope(currentPage) {
- this.pageScope.currentPage = currentPage;
- },
- sizeChangeScope(pageSize) {
- this.pageScope.pageSize = pageSize;
- },
- onLoadScope(page, params = {}) {
- this.scopeLoading = true;
- const values = {
- ...params,
- menuId: this.scopeMenuId,
- }
- getListDataScope(page.currentPage, page.pageSize, Object.assign(values, this.query)).then(res => {
- const data = res.data.data;
- this.pageScope.total = data.total;
- this.dataScope = data.records;
- this.selectionListScope = [];
- this.scopeLoading = false;
- });
- },
+ done()
+ },
+ beforeClose (done) {
+ this.formScope = {}
+ done()
+ },
+ currentChange (currentPage) {
+ this.page.currentPage = currentPage
+ },
+ sizeChange (pageSize) {
+ this.page.pageSize = pageSize
+ },
+ refreshChange () {
+ this.onLoad(this.page, this.query)
+ },
+ onLoad (page, params = {}) {
+ this.loading = true
+ getLazyMenuList(this.parentId, Object.assign(params, this.query)).then(res => {
+ this.data = res.data.data
+ this.loading = false
+ this.selectionClear()
+ })
+ },
+ treeLoad (tree, treeNode, resolve) {
+ const parentId = tree.id
+ getLazyMenuList(parentId).then(res => {
+ resolve(res.data.data)
+ })
+ },
+ // 数据权限模块
+ handleDataScope (row) {
+ this.drawerVisible = true
+ this.scopeMenuId = row.id
+ this.scopeMenuCode = row.code
+ this.scopeMenuName = row.name
+ this.onLoadScope(this.pageScope)
+ },
+ handleDrawerClose (hide) {
+ hide()
+ },
+ rowSaveScope (row, done, loading) {
+ row = {
+ ...row,
+ menuId: this.scopeMenuId,
+ }
+ addDataScope(row).then(() => {
+ this.onLoadScope(this.pageScope)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ done()
+ }, error => {
+ window.console.log(error)
+ loading()
+ })
+ },
+ rowUpdateScope (row, index, done, loading) {
+ row = {
+ ...row,
+ menuId: this.scopeMenuId,
+ }
+ updateDataScope(row).then(() => {
+ this.onLoadScope(this.pageScope)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ done()
+ }, error => {
+ window.console.log(error)
+ loading()
+ })
+ },
+ rowDelScope (row) {
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ })
+ .then(() => {
+ return removeDataScope(row.id)
+ })
+ .then(() => {
+ this.onLoadScope(this.pageScope)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ })
+ },
+ handleDeleteScope () {
+ if (this.selectionListScope.length === 0) {
+ this.$message.warning("请选择至少一条数据")
+ return
+ }
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ })
+ .then(() => {
+ return removeDataScope(this.scopeIds)
+ })
+ .then(() => {
+ this.onLoadScope(this.pageScope)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ this.$refs.crudScope.toggleSelection()
+ })
+ },
+ beforeOpenScope (done, type) {
+ if (["add"].includes(type)) {
+ this.watchMode = true
+ this.initScope()
+ }
+ if (["edit", "view"].includes(type)) {
+ this.watchMode = false
+ getMenuDataScope(this.formScope.id).then(res => {
+ this.formScope = res.data.data
+ })
+ }
+ done()
+ },
+ searchResetScope () {
+ this.onLoadScope(this.pageScope)
+ },
+ searchChangeScope (params, done) {
+ this.onLoadScope(this.pageScope, params)
+ done()
+ },
+ selectionChangeScope (list) {
+ this.selectionListScope = list
+ },
+ currentChangeScope (currentPage) {
+ this.pageScope.currentPage = currentPage
+ },
+ sizeChangeScope (pageSize) {
+ this.pageScope.pageSize = pageSize
+ },
+ onLoadScope (page, params = {}) {
+ this.scopeLoading = true
+ const values = {
+ ...params,
+ menuId: this.scopeMenuId,
+ }
+ getListDataScope(page.currentPage, page.pageSize, Object.assign(values, this.query)).then(res => {
+ const data = res.data.data
+ this.pageScope.total = data.total
+ this.dataScope = data.records
+ this.selectionListScope = []
+ this.scopeLoading = false
+ })
+ },
}
- };
+}
</script>
diff --git a/src/views/authority/role.vue b/src/views/authority/role.vue
index 3d06d33..9254eee 100644
--- a/src/views/authority/role.vue
+++ b/src/views/authority/role.vue
@@ -97,6 +97,7 @@
prop: "roleName",
search: true,
span: 24,
+ searchLabelWidth: 76,
rules: [
{
required: true,
@@ -130,6 +131,7 @@
label: "角色别名",
prop: "roleAlias",
search: true,
+ searchLabelWidth: 100,
span: 24,
rules: [
{
diff --git a/src/views/cGovernance/gridPatrolRecord.vue b/src/views/cGovernance/gridPatrolRecord.vue
index e8bed72..35b52dc 100644
--- a/src/views/cGovernance/gridPatrolRecord.vue
+++ b/src/views/cGovernance/gridPatrolRecord.vue
@@ -56,7 +56,7 @@
calcHeight: 54,
dialogWidth: 950,
tip: false,
- border: false,
+ border: true,
//stripe:true,
index: true,
viewBtn: true,
@@ -71,6 +71,7 @@
row: true,
searchSpan: 4,
search: true,
+ searchLabelWidth: 76,
rules: [
{
required: true,
diff --git a/src/views/cGovernance/gridWorkLog.vue b/src/views/cGovernance/gridWorkLog.vue
index 2cb7bee..6b805b8 100644
--- a/src/views/cGovernance/gridWorkLog.vue
+++ b/src/views/cGovernance/gridWorkLog.vue
@@ -28,7 +28,7 @@
import website from '@/config/website'
export default {
- data() {
+ data () {
return {
form: {},
query: {},
@@ -51,7 +51,7 @@
calcHeight: 54,
dialogWidth: 950,
tip: false,
- border: false,
+ border: true,
//stripe:true,
index: true,
viewBtn: true,
@@ -66,6 +66,7 @@
span: 12,
searchSpan: 4,
search: true,
+ searchLabelWidth: 76,
type: "select",
dicUrl: "/api/blade-system/dict-biz/dictionary?code=haveType",
dataType: "number",
@@ -266,7 +267,7 @@
watch: {
"form.householdId": {
- handler(val) {
+ handler (val) {
if (val) {
householdDetail(val).then(res => {
@@ -281,7 +282,7 @@
},
'form.personType': {
- handler(newData) {
+ handler (newData) {
let householdIdColumn = this.findObject(
this.option.column,
'householdId'
@@ -296,7 +297,7 @@
},
'form.type': {
- handler(newData) {
+ handler (newData) {
let householdIdColumn = this.findObject(
this.option.column,
'householdId'
@@ -320,7 +321,7 @@
computed: {
...mapGetters(["permission", "userInfo"]),
- permissionList() {
+ permissionList () {
return {
addBtn: this.vaildData(this.permission.gridWorkLog_add, true),
viewBtn: this.vaildData(this.permission.gridWorkLog_view, true),
@@ -328,7 +329,7 @@
editBtn: this.vaildData(this.permission.gridWorkLog_edit, true),
}
},
- ids() {
+ ids () {
let ids = []
this.selectionList.forEach((ele) => {
ids.push(ele.id)
@@ -336,7 +337,7 @@
return ids.join(",")
},
- showNamePhone() {
+ showNamePhone () {
return (data) => {
if (data.phoneNumber && data.phoneNumber.trim() != '') {
return `${data.name}(${data.phoneNumber})`
@@ -347,18 +348,18 @@
}
},
- created() {
+ created () {
this.getUserList()
},
methods: {
- getUserList(param = '') {
+ getUserList (param = '') {
let dicUrl = `/api/blade-household/household/selectHouseholdList?labelId=${param}&searchKey={{key}}&limit=20`
const column = this.findObject(this.option.column, "householdId")
column.dicUrl = dicUrl
},
- rowSave(row, done, loading) {
+ rowSave (row, done, loading) {
if (row.url.length > 0) {
var urls = []
var split = row.url.split(",")
@@ -383,7 +384,7 @@
}
)
},
- rowUpdate(row, index, done, loading) {
+ rowUpdate (row, index, done, loading) {
if (row.url.length > 0) {
var urls = []
var split = row.url.split(",")
@@ -408,7 +409,7 @@
}
)
},
- rowDel(row) {
+ rowDel (row) {
this.$confirm("确定将选择数据删除?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
@@ -425,24 +426,24 @@
})
})
},
- searchReset() {
+ searchReset () {
this.query = {}
this.onLoad(this.page)
},
- searchChange(params, done) {
+ searchChange (params, done) {
this.query = params
this.page.currentPage = 1
this.onLoad(this.page, params)
done()
},
- selectionChange(list) {
+ selectionChange (list) {
this.selectionList = list
},
- selectionClear() {
+ selectionClear () {
this.selectionList = []
this.$refs.crud.toggleSelection()
},
- handleDelete() {
+ handleDelete () {
if (this.selectionList.length === 0) {
this.$message.warning("请选择至少一条数据")
return
@@ -464,7 +465,7 @@
this.$refs.crud.toggleSelection()
})
},
- beforeOpen(done, type) {
+ beforeOpen (done, type) {
if (["edit", "view"].includes(type)) {
getGridWorkLog(this.form.id).then((res) => {
this.form = res.data.data
@@ -489,16 +490,16 @@
// con
done()
},
- currentChange(currentPage) {
+ currentChange (currentPage) {
this.page.currentPage = currentPage
},
- sizeChange(pageSize) {
+ sizeChange (pageSize) {
this.page.pageSize = pageSize
},
- refreshChange() {
+ refreshChange () {
this.onLoad(this.page, this.query)
},
- onLoad(page, params = {}) {
+ onLoad (page, params = {}) {
const { dateTime } = this.query
let values = {
...params,
diff --git a/src/views/cGovernance/punchCard.vue b/src/views/cGovernance/punchCard.vue
index 5531740..25c86b6 100644
--- a/src/views/cGovernance/punchCard.vue
+++ b/src/views/cGovernance/punchCard.vue
@@ -53,7 +53,8 @@
label: "打卡人员",
prop: "name",
search: true,
- searchSpan: 4
+ searchSpan: 4,
+ searchLabelWidth: 76,
},
{
label: "打卡时间",
diff --git a/src/views/cGovernance/reportForRepairs.vue b/src/views/cGovernance/reportForRepairs.vue
index 12ee707..0a02bfb 100644
--- a/src/views/cGovernance/reportForRepairs.vue
+++ b/src/views/cGovernance/reportForRepairs.vue
@@ -67,7 +67,7 @@
</el-timeline>
</template>
- <template slot="menu" slot-scope="{row, size, index}" >
+ <template slot="menu" slot-scope="{row, size, index}">
<el-button :size="size" v-if="permission.report_for_repairs_details" type="text"
icon="el-icon-document-remove" @click="rowExpansion(row)">
详情
@@ -198,6 +198,7 @@
searchLabelWidth: 66,
searchSpan: 4,
search: true,
+ searchLabelWidth: 46,
dataType: "number",
type: "select",
dicUrl: "/api/blade-system/dict-biz/dictionary?code=reportForRepairsType",
diff --git a/src/views/cGovernance/taskECall.vue b/src/views/cGovernance/taskECall.vue
index 91e3d1e..7fde9dc 100644
--- a/src/views/cGovernance/taskECall.vue
+++ b/src/views/cGovernance/taskECall.vue
@@ -83,6 +83,7 @@
searchSpan: 4,
width: 100,
search: true,
+ searchLabelWidth: 76,
rules: [{
required: true,
message: "请输入事件名称",
diff --git a/src/views/community/index.vue b/src/views/community/index.vue
index 489f9ef..0335d83 100644
--- a/src/views/community/index.vue
+++ b/src/views/community/index.vue
@@ -1,363 +1,366 @@
<template>
- <basic-container>
- <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" ref="crud" @row-del="rowDel"
- v-model="form" :permission="permissionList" @row-update="rowUpdate" @row-save="rowSave" :before-open="beforeOpen"
- @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
- @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
- <template slot="menuLeft">
- <el-button size="small" icon="el-icon-delete" plain v-if="permission.community_delete" @click="handleDelete">删 除
- </el-button>
- </template>
- </avue-crud>
- </basic-container>
+ <basic-container>
+ <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" ref="crud" @row-del="rowDel"
+ v-model="form" :permission="permissionList" @row-update="rowUpdate" @row-save="rowSave"
+ :before-open="beforeOpen" @search-change="searchChange" @search-reset="searchReset"
+ @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
+ @refresh-change="refreshChange" @on-load="onLoad">
+ <template slot="menuLeft">
+ <el-button size="small" icon="el-icon-delete" plain v-if="permission.community_delete"
+ @click="handleDelete">删 除
+ </el-button>
+ </template>
+ </avue-crud>
+ </basic-container>
</template>
<script>
- import {
+import {
getList,
remove,
update,
add,
getCommunity
- } from "@/api/community/index"
- import {
+} from "@/api/community/index"
+import {
mapGetters
- } from "vuex"
- import website from '@/config/website'
- export default {
- data() {
- return {
- form: {},
- query: {},
- loading: true,
- page: {
- pageSize: 10,
- currentPage: 1,
- total: 0,
- },
- datetime: "",
- selectionList: [],
- option: {
- labelWidth: 96,
- searchLabelWidth: 96,
- searchShow: true,
- searchMenuSpan: 3,
- menuWidth: 210,
+} from "vuex"
+import website from '@/config/website'
+export default {
+ data () {
+ return {
+ form: {},
+ query: {},
+ loading: true,
+ page: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0,
+ },
+ datetime: "",
+ selectionList: [],
+ option: {
+ labelWidth: 96,
+ searchLabelWidth: 96,
+ searchShow: true,
+ searchMenuSpan: 3,
+ menuWidth: 210,
- height: "auto",
- calcHeight: 54,
- dialogWidth: 950,
- tip: false,
- border: true,
- //stripe:true,
- index: true,
- viewBtn: true,
- selection: true,
- dialogClickModal: false,
- column: [{
- width: 156,
- overHidden: true,
- label: "社区名称",
- prop: "name",
- searchSpan: 4,
- search: true,
- span: 12,
- rules: [{
- required: true,
- message: "请输入社区名称",
- trigger: "blur",
- }, ],
- },
- {
- width: 110,
- overHidden: true,
- label: "社区编号",
- prop: "code",
- searchSpan: 4,
- search: true,
- span: 12,
- rules: [{
- required: true,
- message: "请输入社区编号",
- trigger: "blur",
- }, ],
- },
-
- {
- width: 110,
- label: "所属街道",
- parent: false,
- addDisplay: false,
- editDisplay: false,
- viewDisplay: false,
- prop: "townName",
- search: true,
- searchSpan: 4
- },
-
- {
- label: "所属街道",
- hide: true,
- parent: false,
- prop: "streetCode",
- type: "tree",
- dicUrl: "/api/blade-system/region/getTownTree",
- props: {
- label: "name",
- value: "id"
- },
- rules: [{
- required: true,
- message: "请选择所属街道",
- trigger: "blur",
- }, ],
- },
-
- {
- width: 110,
- label: "社区民警",
- prop: "resPoliceUserId",
- type: "tree",
- multiple: true,
- dicUrl: "/api/blade-system/user/getUserListByParam?roleName=民警",
- props: {
- label: "name",
- value: "id"
- },
- rules: [{
- required: true,
- message: "请选择社区民警",
- trigger: "blur",
- }, ],
- },
- {
- width: 110,
- label: "社区图片",
- prop: "picUrl",
- type: "upload",
- listType: "picture-img",
- action: "/api/blade-resource/oss/endpoint/put-file",
- propsHttp: {
- res: "data",
- url: "link",
- },
- span: 24,
- },
-
- {
- overHidden: true,
- label: "地址",
- prop: "address",
- span: 24,
- rules: [{
- required: false,
- message: "请输入地址",
- trigger: "blur",
- }, ],
- },
- {
- label: "社区简介",
- prop: "remark",
- component: "AvueUeditor",
- options: {
- action: "/api/blade-resource/oss/endpoint/put-file",
- props: {
- res: "data",
- url: "link",
+ height: "auto",
+ calcHeight: 54,
+ dialogWidth: 950,
+ tip: false,
+ border: true,
+ //stripe:true,
+ index: true,
+ viewBtn: true,
+ selection: true,
+ dialogClickModal: false,
+ column: [{
+ width: 156,
+ overHidden: true,
+ label: "社区名称",
+ prop: "name",
+ searchSpan: 4,
+ search: true,
+ searchLabelWidth: 76,
+ span: 12,
+ rules: [{
+ required: true,
+ message: "请输入社区名称",
+ trigger: "blur",
+ },],
},
- },
- hide: true,
- minRows: 6,
- span: 24,
- },
+ {
+ width: 110,
+ overHidden: true,
+ label: "社区编号",
+ prop: "code",
+ searchSpan: 4,
+ search: true,
+ span: 12,
+ rules: [{
+ required: true,
+ message: "请输入社区编号",
+ trigger: "blur",
+ },],
+ },
- ],
- },
- data: [],
- }
+ {
+ width: 110,
+ label: "所属街道",
+ parent: false,
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: false,
+ prop: "townName",
+ search: true,
+ searchSpan: 4
+ },
+
+ {
+ label: "所属街道",
+ hide: true,
+ parent: false,
+ prop: "streetCode",
+ type: "tree",
+ dicUrl: "/api/blade-system/region/getTownTree",
+ props: {
+ label: "name",
+ value: "id"
+ },
+ rules: [{
+ required: true,
+ message: "请选择所属街道",
+ trigger: "blur",
+ },],
+ },
+
+ {
+ width: 110,
+ label: "社区民警",
+ prop: "resPoliceUserId",
+ type: "tree",
+ multiple: true,
+ dicUrl: "/api/blade-system/user/getUserListByParam?roleName=民警",
+ props: {
+ label: "name",
+ value: "id"
+ },
+ rules: [{
+ required: true,
+ message: "请选择社区民警",
+ trigger: "blur",
+ },],
+ },
+ {
+ width: 110,
+ label: "社区图片",
+ prop: "picUrl",
+ type: "upload",
+ listType: "picture-img",
+ action: "/api/blade-resource/oss/endpoint/put-file",
+ propsHttp: {
+ res: "data",
+ url: "link",
+ },
+ span: 24,
+ },
+
+ {
+ overHidden: true,
+ label: "地址",
+ prop: "address",
+ span: 24,
+ rules: [{
+ required: false,
+ message: "请输入地址",
+ trigger: "blur",
+ },],
+ },
+ {
+ label: "社区简介",
+ prop: "remark",
+ component: "AvueUeditor",
+ options: {
+ action: "/api/blade-resource/oss/endpoint/put-file",
+ props: {
+ res: "data",
+ url: "link",
+ },
+ },
+ hide: true,
+ minRows: 6,
+ span: 24,
+ },
+
+ ],
+ },
+ data: [],
+ }
},
watch: {},
computed: {
- ...mapGetters(["permission", "userInfo"]),
- permissionList() {
- return {
- addBtn: this.vaildData(this.permission.community_add, true),
- viewBtn: this.vaildData(this.permission.community_view, true),
- delBtn: this.vaildData(this.permission.community_delete, true),
- editBtn: this.vaildData(this.permission.community_edit, true),
- }
- },
- ids() {
- let ids = []
- this.selectionList.forEach((ele) => {
- ids.push(ele.id)
- })
- return ids.join(",")
- },
+ ...mapGetters(["permission", "userInfo"]),
+ permissionList () {
+ return {
+ addBtn: this.vaildData(this.permission.community_add, true),
+ viewBtn: this.vaildData(this.permission.community_view, true),
+ delBtn: this.vaildData(this.permission.community_delete, true),
+ editBtn: this.vaildData(this.permission.community_edit, true),
+ }
+ },
+ ids () {
+ let ids = []
+ this.selectionList.forEach((ele) => {
+ ids.push(ele.id)
+ })
+ return ids.join(",")
+ },
},
methods: {
- rowSave(row, done, loading) {
- if (row.picUrl.length > 0) {
- var urls = []
- var split = row.picUrl.split(",")
- split.forEach(url => {
- var names = url.split("jczz/")
- urls.push(names[1])
- })
- row.picUrl = urls.join(",")
- }
- row.userid = this.userInfo.user_id
- add(row).then(
- () => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
- })
- done()
- },
- (error) => {
- window.console.log(error)
- loading()
- }
- )
- },
- rowUpdate(row, index, done, loading) {
- if (row.picUrl.length > 0) {
- var urls = []
- var split = row.picUrl.split(",")
- split.forEach(url => {
- var names = url.split("jczz/")
- urls.push(names[1])
- })
- row.picUrl = urls.join(",")
- }
- update(row).then(
- () => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
- })
- done()
- },
- (error) => {
- window.console.log(error)
- loading()
- }
- )
- },
- rowDel(row) {
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- })
- .then(() => {
- return remove(row.id)
- })
- .then(() => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
- })
- })
- },
- searchReset() {
- this.query = {}
- this.onLoad(this.page)
- },
- searchChange(params, done) {
- this.query = params
- this.page.currentPage = 1
- this.onLoad(this.page, params)
- done()
- },
- selectionChange(list) {
- this.selectionList = list
- },
- selectionClear() {
- this.selectionList = []
- this.$refs.crud.toggleSelection()
- },
- handleDelete() {
- if (this.selectionList.length === 0) {
- this.$message.warning("请选择至少一条数据")
- return
- }
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- })
- .then(() => {
- return remove(this.ids)
- })
- .then(() => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
- })
- this.$refs.crud.toggleSelection()
- })
- },
- beforeOpen(done, type) {
- if (["edit", "view"].includes(type)) {
- getCommunity(this.form.id).then((res) => {
- this.form = res.data.data
- if (this.form.picUrl.length > 0) {
- var urls = []
- var names = this.form.picUrl.split(",")
- names.forEach(name => {
- urls.push(website.minioUrl + name)
- })
- this.form.picUrl = urls.join(",")
- }
- })
- }
- // con
- done()
- },
- currentChange(currentPage) {
- this.page.currentPage = currentPage
- },
- sizeChange(pageSize) {
- this.page.pageSize = pageSize
- },
- refreshChange() {
- this.onLoad(this.page, this.query)
- },
- onLoad(page, params = {}) {
- this.loading = true
-
- getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then((res) => {
- const data = res.data.data
- this.page.total = data.total
- this.data = data.records
- this.data.forEach(item => {
- if (item.picUrl) {
- if (item.picUrl.length > 0) {
+ rowSave (row, done, loading) {
+ if (row.picUrl.length > 0) {
var urls = []
- var names = item.picUrl.split(",")
- names.forEach(name => {
- urls.push(website.minioUrl + name)
+ var split = row.picUrl.split(",")
+ split.forEach(url => {
+ var names = url.split("jczz/")
+ urls.push(names[1])
})
- item.picUrl = urls.join(",")
- }
+ row.picUrl = urls.join(",")
}
- })
- this.loading = false
- this.selectionClear()
- })
- }
+ row.userid = this.userInfo.user_id
+ add(row).then(
+ () => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ done()
+ },
+ (error) => {
+ window.console.log(error)
+ loading()
+ }
+ )
+ },
+ rowUpdate (row, index, done, loading) {
+ if (row.picUrl.length > 0) {
+ var urls = []
+ var split = row.picUrl.split(",")
+ split.forEach(url => {
+ var names = url.split("jczz/")
+ urls.push(names[1])
+ })
+ row.picUrl = urls.join(",")
+ }
+ update(row).then(
+ () => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ done()
+ },
+ (error) => {
+ window.console.log(error)
+ loading()
+ }
+ )
+ },
+ rowDel (row) {
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ })
+ .then(() => {
+ return remove(row.id)
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ })
+ },
+ searchReset () {
+ this.query = {}
+ this.onLoad(this.page)
+ },
+ searchChange (params, done) {
+ this.query = params
+ this.page.currentPage = 1
+ this.onLoad(this.page, params)
+ done()
+ },
+ selectionChange (list) {
+ this.selectionList = list
+ },
+ selectionClear () {
+ this.selectionList = []
+ this.$refs.crud.toggleSelection()
+ },
+ handleDelete () {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据")
+ return
+ }
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ })
+ .then(() => {
+ return remove(this.ids)
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ this.$refs.crud.toggleSelection()
+ })
+ },
+ beforeOpen (done, type) {
+ if (["edit", "view"].includes(type)) {
+ getCommunity(this.form.id).then((res) => {
+ this.form = res.data.data
+ if (this.form.picUrl.length > 0) {
+ var urls = []
+ var names = this.form.picUrl.split(",")
+ names.forEach(name => {
+ urls.push(website.minioUrl + name)
+ })
+ this.form.picUrl = urls.join(",")
+ }
+ })
+ }
+ // con
+ done()
+ },
+ currentChange (currentPage) {
+ this.page.currentPage = currentPage
+ },
+ sizeChange (pageSize) {
+ this.page.pageSize = pageSize
+ },
+ refreshChange () {
+ this.onLoad(this.page, this.query)
+ },
+ onLoad (page, params = {}) {
+ this.loading = true
+
+ getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then((res) => {
+ const data = res.data.data
+ this.page.total = data.total
+ this.data = data.records
+ this.data.forEach(item => {
+ if (item.picUrl) {
+ if (item.picUrl.length > 0) {
+ var urls = []
+ var names = item.picUrl.split(",")
+ names.forEach(name => {
+ urls.push(website.minioUrl + name)
+ })
+ item.picUrl = urls.join(",")
+ }
+ }
+ })
+ this.loading = false
+ this.selectionClear()
+ })
+ }
}
- }
+}
</script>
<style>
- .avue-upload__icon {
+.avue-upload__icon {
line-height: 6;
- }
+}
</style>
\ No newline at end of file
diff --git a/src/views/district/index.vue b/src/views/district/index.vue
index bf2cc83..234c45e 100644
--- a/src/views/district/index.vue
+++ b/src/views/district/index.vue
@@ -56,6 +56,7 @@
prop: "name",
searchSpan: 4,
search: true,
+ searchLabelWidth: 76,
span: 12,
rules: [
{
diff --git a/src/views/flow/follow.vue b/src/views/flow/follow.vue
index 37f2054..2986507 100644
--- a/src/views/flow/follow.vue
+++ b/src/views/flow/follow.vue
@@ -71,6 +71,7 @@
prop: "executionId",
searchSpan: 4,
search: true,
+ searchLabelWidth: 60,
width: 320,
},
{
diff --git a/src/views/flow/manager.vue b/src/views/flow/manager.vue
index c8b9863..571f3df 100644
--- a/src/views/flow/manager.vue
+++ b/src/views/flow/manager.vue
@@ -129,6 +129,7 @@
prop: 'key',
searchSpan: 4,
search: true,
+ searchLabelWidth: 76,
},
{
width: 150,
diff --git a/src/views/flow/model.vue b/src/views/flow/model.vue
index a53aeb1..6b2cbef 100644
--- a/src/views/flow/model.vue
+++ b/src/views/flow/model.vue
@@ -171,6 +171,7 @@
prop: 'modelKey',
searchSpan: 4,
search: true,
+ searchLabelWidth: 76,
overHidden: true
},
{
diff --git a/src/views/grid/gridman.vue b/src/views/grid/gridman.vue
index 2224505..9c4e3ab 100644
--- a/src/views/grid/gridman.vue
+++ b/src/views/grid/gridman.vue
@@ -99,6 +99,7 @@
prop: "gridmanName",
searchSpan: 4,
search: true,
+ searchLabelWidth: 66,
rules: [
{
required: true,
diff --git a/src/views/grid/index.vue b/src/views/grid/index.vue
index 2386b77..588c31a 100644
--- a/src/views/grid/index.vue
+++ b/src/views/grid/index.vue
@@ -69,6 +69,7 @@
prop: "communityName",
search: true,
searchSpan: 4,
+ searchLabelWidth: 76,
rules: [{
required: true,
message: "请选择所属社区",
diff --git a/src/views/gzll/owners.vue b/src/views/gzll/owners.vue
index 35b7f53..98a8c02 100644
--- a/src/views/gzll/owners.vue
+++ b/src/views/gzll/owners.vue
@@ -103,7 +103,7 @@
label: "业委会名称",
prop: "name",
search: true,
- searchLabelWidth: 124,
+ searchLabelWidth: 90,
rules: [{
required: true,
message: "请输入业委会名称",
diff --git a/src/views/monitor/log/api.vue b/src/views/monitor/log/api.vue
index 85c2d11..2209fbf 100644
--- a/src/views/monitor/log/api.vue
+++ b/src/views/monitor/log/api.vue
@@ -47,7 +47,8 @@
prop: "serviceId",
width: '120',
searchSpan: 4,
- search: true
+ search: true,
+ searchLabelWidth: 60,
},
{
label: "服务host",
diff --git a/src/views/monitor/log/error.vue b/src/views/monitor/log/error.vue
index 00cca2e..7184777 100644
--- a/src/views/monitor/log/error.vue
+++ b/src/views/monitor/log/error.vue
@@ -47,7 +47,8 @@
prop: "serviceId",
searchSpan: 4,
search: true,
- width: '120'
+ width: '120',
+ searchLabelWidth: 60,
},
{
label: "服务host",
diff --git a/src/views/monitor/log/usual.vue b/src/views/monitor/log/usual.vue
index c1a12c5..6daff13 100644
--- a/src/views/monitor/log/usual.vue
+++ b/src/views/monitor/log/usual.vue
@@ -46,7 +46,8 @@
label: "服务id",
prop: "serviceId",
searchSpan: 4,
- search: true
+ search: true,
+ searchLabelWidth: 60,
},
{
label: "服务host",
diff --git a/src/views/place/index.vue b/src/views/place/index.vue
index ba3e028..0406a8f 100644
--- a/src/views/place/index.vue
+++ b/src/views/place/index.vue
@@ -130,6 +130,7 @@
prop: "placeName",
searchSpan: 5,
search: true,
+ searchLabelWidth: 76,
rules: [{
required: true,
message: "请输入场所名称",
@@ -338,7 +339,7 @@
label: "九小场所",
prop: "isNine",
type: "select",
- row:true,
+ row: true,
dicData: [
{
label: "是",
@@ -416,7 +417,7 @@
width: 120,
display: false,
label: '是否有二维码',
- searchLabelWidth: 110,
+ searchLabelWidth: 104,
prop: 'source',
type: "select",
search: true,
diff --git a/src/views/property/convenienceHotline.vue b/src/views/property/convenienceHotline.vue
index f241403..a1520bd 100644
--- a/src/views/property/convenienceHotline.vue
+++ b/src/views/property/convenienceHotline.vue
@@ -73,6 +73,7 @@
prop: "name",
searchSpan: 4,
search: true,
+ searchLabelWidth: 46,
width: 260,
rules: [{
required: true,
diff --git a/src/views/property/inviteTenders.vue b/src/views/property/inviteTenders.vue
index b87b52a..c0aac49 100644
--- a/src/views/property/inviteTenders.vue
+++ b/src/views/property/inviteTenders.vue
@@ -124,7 +124,7 @@
calcHeight: 54,
dialogWidth: 950,
tip: false,
- border: false,
+ border: true,
//stripe:true,
index: true,
viewBtn: true,
@@ -138,6 +138,7 @@
row: true,
searchSpan: 4,
search: true,
+ searchLabelWidth: 76,
rules: [{
required: true,
message: "请输入招标标题",
diff --git a/src/views/property/oiae.vue b/src/views/property/oiae.vue
index 84e3a26..735cf15 100644
--- a/src/views/property/oiae.vue
+++ b/src/views/property/oiae.vue
@@ -134,7 +134,7 @@
calcHeight: 54,
dialogWidth: 950,
tip: false,
- border: false,
+ border: true,
//stripe:true,
index: true,
viewBtn: true,
@@ -149,6 +149,7 @@
row: true,
searchSpan: 4,
search: true,
+ searchLabelWidth: 76,
rules: [{
required: true,
message: "请输入收支标题",
diff --git a/src/views/property/ownersCommittee.vue b/src/views/property/ownersCommittee.vue
index 80a6794..1c30d36 100644
--- a/src/views/property/ownersCommittee.vue
+++ b/src/views/property/ownersCommittee.vue
@@ -105,7 +105,7 @@
calcHeight: 54,
dialogWidth: 950,
tip: false,
- border: false,
+ border: true,
//stripe:true,
index: true,
viewBtn: true,
@@ -119,6 +119,7 @@
row: true,
searchSpan: 4,
search: true,
+ searchLabelWidth: 46,
rules: [{
required: true,
message: "请输入业主大会标题",
diff --git a/src/views/property/partyOrganization.vue b/src/views/property/partyOrganization.vue
index 90983f9..d5261d4 100644
--- a/src/views/property/partyOrganization.vue
+++ b/src/views/property/partyOrganization.vue
@@ -74,6 +74,7 @@
prop: "areaId",
search: true,
searchSpan: searchSpan,
+ searchLabelWidth: 76,
width: 150,
type: "tree",
dicUrl: "/api/blade-system/region/tree",
diff --git a/src/views/property/propertyCapitalApply.vue b/src/views/property/propertyCapitalApply.vue
index bfb215a..af374f2 100644
--- a/src/views/property/propertyCapitalApply.vue
+++ b/src/views/property/propertyCapitalApply.vue
@@ -84,6 +84,7 @@
prop: "districtName",
search: true,
searchSpan: 4,
+ searchLabelWidth: 76,
rules: [{
required: true,
message: "请输入小区名称",
diff --git a/src/views/property/propertyCharge.vue b/src/views/property/propertyCharge.vue
index 5409f02..b294b06 100644
--- a/src/views/property/propertyCharge.vue
+++ b/src/views/property/propertyCharge.vue
@@ -64,6 +64,7 @@
},
searchSpan: 4,
search: true,
+ searchLabelWidth: 76,
disabled: false,
type: "select",
rules: [{
diff --git a/src/views/property/propertyChargeRecord.vue b/src/views/property/propertyChargeRecord.vue
index 0a1ec31..902727e 100644
--- a/src/views/property/propertyChargeRecord.vue
+++ b/src/views/property/propertyChargeRecord.vue
@@ -64,6 +64,7 @@
},
searchSpan,
search: true,
+ searchLabelWidth: 76,
disabled: false,
type: "select",
rules: [{
@@ -78,7 +79,7 @@
label: "付款人",
prop: "payUser",
searchSpan: searchSpan,
- searchLabelWidth: 80,
+ searchLabelWidth: 90,
search: true,
rules: [{
required: true,
diff --git a/src/views/property/propertyCompany.vue b/src/views/property/propertyCompany.vue
index 604ad31..14c1535 100644
--- a/src/views/property/propertyCompany.vue
+++ b/src/views/property/propertyCompany.vue
@@ -1,57 +1,58 @@
<!-- 物业公司管理 -->
<template>
- <basic-container>
- <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" ref="crud" @row-del="rowDel"
- v-model="form" :permission="permissionList" @row-update="rowUpdate" @row-save="rowSave" :before-open="beforeOpen"
- @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
- @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
- <template slot="menuLeft">
- <el-button size="small" icon="el-icon-delete" plain v-if="permission.propertyCompany_delete"
- @click="handleDelete">删 除
- </el-button>
+ <basic-container>
+ <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" ref="crud" @row-del="rowDel"
+ v-model="form" :permission="permissionList" @row-update="rowUpdate" @row-save="rowSave"
+ :before-open="beforeOpen" @search-change="searchChange" @search-reset="searchReset"
+ @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
+ @refresh-change="refreshChange" @on-load="onLoad">
+ <template slot="menuLeft">
+ <el-button size="small" icon="el-icon-delete" plain v-if="permission.propertyCompany_delete"
+ @click="handleDelete">删 除
+ </el-button>
- </template>
+ </template>
- <template slot-scope="{row, size, index}" slot="menu">
- <el-button :size="size" v-if="permission.payInfo" type="text" icon="el-icon-circle-plus-outline"
- @click="openPayConfig(row)">商户配置
- </el-button>
+ <template slot-scope="{row, size, index}" slot="menu">
+ <el-button :size="size" v-if="permission.payInfo" type="text" icon="el-icon-circle-plus-outline"
+ @click="openPayConfig(row)">商户配置
+ </el-button>
- <el-button :size="size" v-if="permission.property_evaluation" icon="el-icon-circle-plus-outline" type="text"
- @click="addProperty(row)">物业评定
- </el-button>
- </template>
- </avue-crud>
+ <el-button :size="size" v-if="permission.property_evaluation" icon="el-icon-circle-plus-outline" type="text"
+ @click="addProperty(row)">物业评定
+ </el-button>
+ </template>
+ </avue-crud>
- <el-dialog title="商户配置" append-to-body :visible.sync="payInfoVisible" top="10vh" width="70%">
- <el-tabs v-model="currentTab">
- <el-tab-pane label="微信商户配置" name="wxInfo">
- <avue-form ref="wxForm" :option="wxPayOption" v-model="wxPayForm" @submit="wxSubmit">
- </avue-form>
- </el-tab-pane>
- <el-tab-pane label="支付宝商户配置" name="second">
- <avue-form ref="aliForm" :option="aliPayOption" v-model="aliPayForm" @submit="aliSubmit">
- </avue-form>
- </el-tab-pane>
+ <el-dialog title="商户配置" append-to-body :visible.sync="payInfoVisible" top="10vh" width="70%">
+ <el-tabs v-model="currentTab">
+ <el-tab-pane label="微信商户配置" name="wxInfo">
+ <avue-form ref="wxForm" :option="wxPayOption" v-model="wxPayForm" @submit="wxSubmit">
+ </avue-form>
+ </el-tab-pane>
+ <el-tab-pane label="支付宝商户配置" name="second">
+ <avue-form ref="aliForm" :option="aliPayOption" v-model="aliPayForm" @submit="aliSubmit">
+ </avue-form>
+ </el-tab-pane>
- </el-tabs>
+ </el-tabs>
- <!-- <div slot="footer" class="dialog-footer">-->
- <!-- <el-button @click="payInfoVisible = false">取 消</el-button>-->
- <!-- <el-button type="primary"@click="submit">提 交</el-button>-->
- <!-- </div>-->
+ <!-- <div slot="footer" class="dialog-footer">-->
+ <!-- <el-button @click="payInfoVisible = false">取 消</el-button>-->
+ <!-- <el-button type="primary"@click="submit">提 交</el-button>-->
+ <!-- </div>-->
- </el-dialog>
+ </el-dialog>
- <propertyEdit ref="propertyEdit"></propertyEdit>
+ <propertyEdit ref="propertyEdit"></propertyEdit>
- </basic-container>
+ </basic-container>
</template>
<script>
- import {
+import {
getList,
remove,
update,
@@ -60,546 +61,546 @@
getPayConfig,
saveOrUpdateWx,
saveOrUpdateAli
- } from "@/api/property/propertyCompany"
- import {
+} from "@/api/property/propertyCompany"
+import {
mapGetters
- } from "vuex"
- import website from '@/config/website'
- import func from "@/util/func"
+} from "vuex"
+import website from '@/config/website'
+import func from "@/util/func"
- import propertyEdit from './components/propertyEdit.vue'
+import propertyEdit from './components/propertyEdit.vue'
- const labelWidth = 120
- export default {
+const labelWidth = 120
+export default {
components: {
- propertyEdit
+ propertyEdit
},
- data() {
- return {
- currentTab: "wxInfo",
- payInfoVisible: false,
- currentRow: {},
+ data () {
+ return {
+ currentTab: "wxInfo",
+ payInfoVisible: false,
+ currentRow: {},
- form: {},
- query: {},
- loading: true,
- page: {
- pageSize: 10,
- currentPage: 1,
- total: 0,
- },
- datetime: "",
- selectionList: [],
- option: {
- labelWidth: 120,
- searchLabelWidth: 96,
- searchShow: true,
- searchMenuSpan: 3,
- menuWidth: 280,
+ form: {},
+ query: {},
+ loading: true,
+ page: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0,
+ },
+ datetime: "",
+ selectionList: [],
+ option: {
+ labelWidth: 120,
+ searchLabelWidth: 96,
+ searchShow: true,
+ searchMenuSpan: 3,
+ menuWidth: 280,
- height: "auto",
- calcHeight: 54,
- dialogWidth: 1150,
- tip: false,
- border: true,
- //stripe:true,
- index: true,
- // viewBtn: true,
- delBtn: false,
- selection: true,
- dialogClickModal: false,
- column: [{
- overHidden: true,
- label: "物业公司名称",
- prop: "name",
- searchSpan: 5,
- searchLabelWidth: 124,
- search: true,
- span: 18,
- row: true,
- width: 200,
- rules: [{
- required: true,
- message: "请输入物业公司名称",
- trigger: "blur",
- }, ],
- },
- {
- label: '省份',
- prop: 'province',
- type: 'select',
- props: {
- label: 'name',
- value: 'code'
- },
- hide: true,
- span: 6,
- cascader: ['city'],
- dicUrl: `/api/blade-system/region/select?code=100000`,
- rules: [{
- required: true,
- message: '请选择省份',
- trigger: 'blur'
- }]
- },
- {
- label: '城市',
- prop: 'city',
- type: 'select',
- span: 6,
- labelWidth: 60,
- cascader: ['area'],
- props: {
- label: 'name',
- value: 'code'
- },
- hide: true,
- dicUrl: `/api/blade-system/region/select?code={{key}}`,
- rules: [{
- required: true,
- message: '请选择城市',
- trigger: 'blur'
- }]
- },
- {
- label: '地区',
- prop: 'area',
- type: 'select',
- span: 6,
- width: 260,
- props: {
- label: 'name',
- value: 'code'
- },
- hide: true,
- dicUrl: `/api/blade-system/region/select?code={{key}}`,
- rules: [{
- required: true,
- message: '请选择地区',
- trigger: 'blur'
- }]
- },
- {
- overHidden: true,
- label: "地址",
- prop: "address",
- span: 18,
- row: true,
- width: 160,
- },
- {
- label: "社会信用代码",
- prop: "socialCreditCode",
- searchSpan: 5,
- searchLabelWidth: 124,
- search: true,
- span: 18,
- row: true,
- width: 100,
- },
- {
- label: "基础信息分",
- prop: "baseInfoScore",
- display: false,
- },
- {
- label: "经营信息分",
- prop: "operateinfoScore",
- display: false,
- },
- {
- label: "纳税信息分",
- prop: "taxInfoScore",
- display: false,
- },
- {
- label: "党建信息分",
- prop: "partyBuildingInfoScore",
- display: false,
- },
- {
- label: "企业良好信息分",
- prop: "goodCorporateScore",
- display: false,
- },
- {
- label: "项目良好信息分",
- prop: "goodCorporateScore",
- display: false,
- },
- {
- label: "违法违规行为分",
- prop: "goodCorporateScore",
- display: false,
- },
- {
- label: "评价平均分",
- prop: "evaluateScore",
- display: false,
- },
- {
- label: "街道社区分",
- prop: "streetScore",
- display: false,
- },
- {
- label: "总分",
- prop: "allScore",
- display: false,
- },
-
- {
- label: "简介",
- prop: "remark",
- component: "AvueUeditor",
- options: {
- action: "/api/blade-resource/oss/endpoint/put-file-attach",
- props: {
- res: "data",
- url: "link",
+ height: "auto",
+ calcHeight: 54,
+ dialogWidth: 1150,
+ tip: false,
+ border: true,
+ //stripe:true,
+ index: true,
+ // viewBtn: true,
+ delBtn: false,
+ selection: true,
+ dialogClickModal: false,
+ column: [{
+ overHidden: true,
+ label: "物业公司名称",
+ prop: "name",
+ searchSpan: 5,
+ searchLabelWidth: 104,
+ search: true,
+ span: 18,
+ row: true,
+ width: 200,
+ rules: [{
+ required: true,
+ message: "请输入物业公司名称",
+ trigger: "blur",
+ },],
},
- },
- hide: true,
- minRows: 6,
- span: 24,
- },
- ],
- },
- data: [],
+ {
+ label: '省份',
+ prop: 'province',
+ type: 'select',
+ props: {
+ label: 'name',
+ value: 'code'
+ },
+ hide: true,
+ span: 6,
+ cascader: ['city'],
+ dicUrl: `/api/blade-system/region/select?code=100000`,
+ rules: [{
+ required: true,
+ message: '请选择省份',
+ trigger: 'blur'
+ }]
+ },
+ {
+ label: '城市',
+ prop: 'city',
+ type: 'select',
+ span: 6,
+ labelWidth: 60,
+ cascader: ['area'],
+ props: {
+ label: 'name',
+ value: 'code'
+ },
+ hide: true,
+ dicUrl: `/api/blade-system/region/select?code={{key}}`,
+ rules: [{
+ required: true,
+ message: '请选择城市',
+ trigger: 'blur'
+ }]
+ },
+ {
+ label: '地区',
+ prop: 'area',
+ type: 'select',
+ span: 6,
+ width: 260,
+ props: {
+ label: 'name',
+ value: 'code'
+ },
+ hide: true,
+ dicUrl: `/api/blade-system/region/select?code={{key}}`,
+ rules: [{
+ required: true,
+ message: '请选择地区',
+ trigger: 'blur'
+ }]
+ },
+ {
+ overHidden: true,
+ label: "地址",
+ prop: "address",
+ span: 18,
+ row: true,
+ width: 160,
+ },
+ {
+ label: "社会信用代码",
+ prop: "socialCreditCode",
+ searchSpan: 5,
+ searchLabelWidth: 124,
+ search: true,
+ span: 18,
+ row: true,
+ width: 100,
+ },
+ {
+ label: "基础信息分",
+ prop: "baseInfoScore",
+ display: false,
+ },
+ {
+ label: "经营信息分",
+ prop: "operateinfoScore",
+ display: false,
+ },
+ {
+ label: "纳税信息分",
+ prop: "taxInfoScore",
+ display: false,
+ },
+ {
+ label: "党建信息分",
+ prop: "partyBuildingInfoScore",
+ display: false,
+ },
+ {
+ label: "企业良好信息分",
+ prop: "goodCorporateScore",
+ display: false,
+ },
+ {
+ label: "项目良好信息分",
+ prop: "goodCorporateScore",
+ display: false,
+ },
+ {
+ label: "违法违规行为分",
+ prop: "goodCorporateScore",
+ display: false,
+ },
+ {
+ label: "评价平均分",
+ prop: "evaluateScore",
+ display: false,
+ },
+ {
+ label: "街道社区分",
+ prop: "streetScore",
+ display: false,
+ },
+ {
+ label: "总分",
+ prop: "allScore",
+ display: false,
+ },
- wxPayForm: {},
- wxPayOption: {
- emptyBtn: false,
- height: "auto",
- calcHeight: 180,
- //stripe:true,
- column: [{
- label: "appId",
- labelWidth: labelWidth,
- prop: "appId",
- span: 24,
- rules: [{
- required: true,
- message: "请输入appId",
- trigger: ["blur", "change"]
- }, ],
+ {
+ label: "简介",
+ prop: "remark",
+ component: "AvueUeditor",
+ options: {
+ action: "/api/blade-resource/oss/endpoint/put-file-attach",
+ props: {
+ res: "data",
+ url: "link",
+ },
+ },
+ hide: true,
+ minRows: 6,
+ span: 24,
+ },
+ ],
},
- {
- label: "mch-id",
- labelWidth: labelWidth,
- prop: "mchId",
- span: 24,
- rules: [{
- required: true,
- message: "请输入mch-id",
- trigger: ["blur", "change"]
- }, ],
- },
- {
- label: "mchKey",
- labelWidth: labelWidth,
- prop: "mchKey",
- rules: [{
- required: true,
- message: "请输入mchKey",
- trigger: ["blur", "change"]
- }, ],
- span: 24,
- },
- {
- label: "appSecret",
- labelWidth: labelWidth,
- prop: "appSecret",
- rules: [{
- required: true,
- message: "请输入appSecret",
- trigger: ["blur", "change"]
- }, ],
- span: 24,
- },
- {
- label: '安全证书',
- labelWidth: labelWidth,
- prop: 'keyPath',
- type: 'upload',
- drag: true,
- limit: 1,
- loadText: '上传中,请稍等',
- span: 24,
- action: "/api/blade-resource/oss/endpoint/put-file",
- propsHttp: {
- res: "data",
- name: 'name',
- url: "link",
- },
- rules: [{
- required: true,
- message: "请上传安全证书",
- trigger: ["blur", "change"]
- }, ],
- },
- ],
- },
+ data: [],
- aliPayForm: {},
- aliPayOption: {
- emptyBtn: false,
- height: "auto",
- calcHeight: 180,
- //stripe:true,
- column: [{
- label: "appId",
- labelWidth: labelWidth,
- prop: "appId",
- span: 24,
- rules: [{
- required: true,
- message: "请输入appId",
- trigger: ["blur", "change"]
- }, ],
+ wxPayForm: {},
+ wxPayOption: {
+ emptyBtn: false,
+ height: "auto",
+ calcHeight: 180,
+ //stripe:true,
+ column: [{
+ label: "appId",
+ labelWidth: labelWidth,
+ prop: "appId",
+ span: 24,
+ rules: [{
+ required: true,
+ message: "请输入appId",
+ trigger: ["blur", "change"]
+ },],
+ },
+ {
+ label: "mch-id",
+ labelWidth: labelWidth,
+ prop: "mchId",
+ span: 24,
+ rules: [{
+ required: true,
+ message: "请输入mch-id",
+ trigger: ["blur", "change"]
+ },],
+ },
+ {
+ label: "mchKey",
+ labelWidth: labelWidth,
+ prop: "mchKey",
+ rules: [{
+ required: true,
+ message: "请输入mchKey",
+ trigger: ["blur", "change"]
+ },],
+ span: 24,
+ },
+ {
+ label: "appSecret",
+ labelWidth: labelWidth,
+ prop: "appSecret",
+ rules: [{
+ required: true,
+ message: "请输入appSecret",
+ trigger: ["blur", "change"]
+ },],
+ span: 24,
+ },
+ {
+ label: '安全证书',
+ labelWidth: labelWidth,
+ prop: 'keyPath',
+ type: 'upload',
+ drag: true,
+ limit: 1,
+ loadText: '上传中,请稍等',
+ span: 24,
+ action: "/api/blade-resource/oss/endpoint/put-file",
+ propsHttp: {
+ res: "data",
+ name: 'name',
+ url: "link",
+ },
+ rules: [{
+ required: true,
+ message: "请上传安全证书",
+ trigger: ["blur", "change"]
+ },],
+ },
+ ],
},
- {
- label: "privateKey",
- labelWidth: labelWidth,
- prop: "privateKey",
- span: 24,
- rules: [{
- required: true,
- message: "请输入privateKey",
- trigger: ["blur", "change"]
- }, ],
- },
- {
- label: "publicKey",
- labelWidth: labelWidth,
- prop: "publicKey",
- span: 24,
- rules: [{
- required: true,
- message: "请输入publicKey",
- trigger: ["blur", "change"]
- }, ],
- },
- ],
+
+ aliPayForm: {},
+ aliPayOption: {
+ emptyBtn: false,
+ height: "auto",
+ calcHeight: 180,
+ //stripe:true,
+ column: [{
+ label: "appId",
+ labelWidth: labelWidth,
+ prop: "appId",
+ span: 24,
+ rules: [{
+ required: true,
+ message: "请输入appId",
+ trigger: ["blur", "change"]
+ },],
+ },
+ {
+ label: "privateKey",
+ labelWidth: labelWidth,
+ prop: "privateKey",
+ span: 24,
+ rules: [{
+ required: true,
+ message: "请输入privateKey",
+ trigger: ["blur", "change"]
+ },],
+ },
+ {
+ label: "publicKey",
+ labelWidth: labelWidth,
+ prop: "publicKey",
+ span: 24,
+ rules: [{
+ required: true,
+ message: "请输入publicKey",
+ trigger: ["blur", "change"]
+ },],
+ },
+ ],
+ }
+
}
-
- }
},
watch: {},
computed: {
- ...mapGetters(["permission", "userInfo"]),
- permissionList() {
- return {
- addBtn: this.vaildData(this.permission.propertyCompany_add, true),
- viewBtn: this.vaildData(this.permission.propertyCompany_view, true),
- delBtn: this.vaildData(this.permission.propertyCompany_delete, true),
- editBtn: this.vaildData(this.permission.propertyCompany_edit, true),
- }
- },
- ids() {
- let ids = []
- this.selectionList.forEach((ele) => {
- ids.push(ele.id)
- })
- return ids.join(",")
- },
+ ...mapGetters(["permission", "userInfo"]),
+ permissionList () {
+ return {
+ addBtn: this.vaildData(this.permission.propertyCompany_add, true),
+ viewBtn: this.vaildData(this.permission.propertyCompany_view, true),
+ delBtn: this.vaildData(this.permission.propertyCompany_delete, true),
+ editBtn: this.vaildData(this.permission.propertyCompany_edit, true),
+ }
+ },
+ ids () {
+ let ids = []
+ this.selectionList.forEach((ele) => {
+ ids.push(ele.id)
+ })
+ return ids.join(",")
+ },
},
- created() {},
+ created () { },
methods: {
- addProperty(row) {
- this.$refs.propertyEdit.init(row);
- },
+ addProperty (row) {
+ this.$refs.propertyEdit.init(row)
+ },
- aliSubmit(form, done) {
+ aliSubmit (form, done) {
- console.log("支付宝商户配置", this.aliPayForm)
+ console.log("支付宝商户配置", this.aliPayForm)
- this.aliPayForm.propertyCompanyId = this.currentRow.id
- saveOrUpdateAli(this.aliPayForm).then(res => {
- this.$message({
- type: "success",
- message: "操作成功!",
- })
- done()
- })
-
- },
-
- wxSubmit(form, done) {
- this.wxPayForm.propertyCompanyId = this.currentRow.id
-
- this.wxPayForm.keyPath = func.join(this.wxPayForm.keyPath)
- if (this.wxPayForm.keyPath.length > 0) {
- var urls = []
- var split = this.wxPayForm.keyPath.split(",")
- split.forEach(url => {
- var names = url.split("jczz/")
- urls.push(names[1])
- })
- this.wxPayForm.keyPath = urls.join(",")
- }
-
- console.log("微信商户配置", this.wxPayForm)
- saveOrUpdateWx(this.wxPayForm).then(res => {
- this.$message({
- type: "success",
- message: "操作成功!",
- })
- done()
- })
- },
-
- openPayConfig(row) {
- this.currentRow = row
- //调接口获取商户数据
- getPayConfig(row.id).then(res => {
- let data = res.data.data
- this.wxPayForm = data.wxPayInfo ? data.wxPayInfo : {}
- this.aliPayForm = data.aliPayInfo ? data.aliPayInfo : {}
- })
- this.payInfoVisible = !this.payInfoVisible
- },
-
- rowSave(row, done, loading) {
- row.userid = this.userInfo.user_id
- add(row).then(
- () => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
+ this.aliPayForm.propertyCompanyId = this.currentRow.id
+ saveOrUpdateAli(this.aliPayForm).then(res => {
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ done()
})
+
+ },
+
+ wxSubmit (form, done) {
+ this.wxPayForm.propertyCompanyId = this.currentRow.id
+
+ this.wxPayForm.keyPath = func.join(this.wxPayForm.keyPath)
+ if (this.wxPayForm.keyPath.length > 0) {
+ var urls = []
+ var split = this.wxPayForm.keyPath.split(",")
+ split.forEach(url => {
+ var names = url.split("jczz/")
+ urls.push(names[1])
+ })
+ this.wxPayForm.keyPath = urls.join(",")
+ }
+
+ console.log("微信商户配置", this.wxPayForm)
+ saveOrUpdateWx(this.wxPayForm).then(res => {
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ done()
+ })
+ },
+
+ openPayConfig (row) {
+ this.currentRow = row
+ //调接口获取商户数据
+ getPayConfig(row.id).then(res => {
+ let data = res.data.data
+ this.wxPayForm = data.wxPayInfo ? data.wxPayInfo : {}
+ this.aliPayForm = data.aliPayInfo ? data.aliPayInfo : {}
+ })
+ this.payInfoVisible = !this.payInfoVisible
+ },
+
+ rowSave (row, done, loading) {
+ row.userid = this.userInfo.user_id
+ add(row).then(
+ () => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ done()
+ },
+ (error) => {
+ window.console.log(error)
+ loading()
+ }
+ )
+ },
+ rowUpdate (row, index, done, loading) {
+ update(row).then(
+ () => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ done()
+ },
+ (error) => {
+ window.console.log(error)
+ loading()
+ }
+ )
+ },
+ rowDel (row) {
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ })
+ .then(() => {
+ return remove(row.id)
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ })
+ },
+ searchReset () {
+ this.query = {}
+ this.onLoad(this.page)
+ },
+ searchChange (params, done) {
+ this.query = params
+ this.page.currentPage = 1
+ this.onLoad(this.page, params)
done()
- },
- (error) => {
- window.console.log(error)
- loading()
- }
- )
- },
- rowUpdate(row, index, done, loading) {
- update(row).then(
- () => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
- })
- done()
- },
- (error) => {
- window.console.log(error)
- loading()
- }
- )
- },
- rowDel(row) {
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- })
- .then(() => {
- return remove(row.id)
- })
- .then(() => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
- })
- })
- },
- searchReset() {
- this.query = {}
- this.onLoad(this.page)
- },
- searchChange(params, done) {
- this.query = params
- this.page.currentPage = 1
- this.onLoad(this.page, params)
- done()
- },
- selectionChange(list) {
- this.selectionList = list
- },
- selectionClear() {
- this.selectionList = []
- this.$refs.crud.toggleSelection()
- },
- handleDelete() {
- if (this.selectionList.length === 0) {
- this.$message.warning("请选择至少一条数据")
- return
- }
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- })
- .then(() => {
- return remove(this.ids)
- })
- .then(() => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
- })
+ },
+ selectionChange (list) {
+ this.selectionList = list
+ },
+ selectionClear () {
+ this.selectionList = []
this.$refs.crud.toggleSelection()
- })
- },
- beforeOpen(done, type) {
- if (["edit", "view"].includes(type)) {
- getPropertyCompany(this.form.id).then((res) => {
- this.form = res.data.data
- })
+ },
+ handleDelete () {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据")
+ return
+ }
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ })
+ .then(() => {
+ return remove(this.ids)
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ this.$refs.crud.toggleSelection()
+ })
+ },
+ beforeOpen (done, type) {
+ if (["edit", "view"].includes(type)) {
+ getPropertyCompany(this.form.id).then((res) => {
+ this.form = res.data.data
+ })
+ }
+ // con
+ done()
+ },
+ currentChange (currentPage) {
+ this.page.currentPage = currentPage
+ },
+ sizeChange (pageSize) {
+ this.page.pageSize = pageSize
+ },
+ refreshChange () {
+ this.onLoad(this.page, this.query)
+ },
+ onLoad (page, params = {}) {
+ const {
+ dateTime
+ } = this.query
+ let values = {
+ ...params,
+ }
+ if (dateTime) {
+ values = {
+ ...params,
+ startTime: dateTime[0],
+ endTime: dateTime[1],
+ ...this.query,
+ }
+ values.dateTime = null
+ }
+ this.loading = true
+ getList(page.currentPage, page.pageSize, values).then((res) => {
+ const data = res.data.data
+ this.page.total = data.total
+ this.data = data.records
+ this.loading = false
+ this.selectionClear()
+ })
}
- // con
- done()
- },
- currentChange(currentPage) {
- this.page.currentPage = currentPage
- },
- sizeChange(pageSize) {
- this.page.pageSize = pageSize
- },
- refreshChange() {
- this.onLoad(this.page, this.query)
- },
- onLoad(page, params = {}) {
- const {
- dateTime
- } = this.query
- let values = {
- ...params,
- }
- if (dateTime) {
- values = {
- ...params,
- startTime: dateTime[0],
- endTime: dateTime[1],
- ...this.query,
- }
- values.dateTime = null
- }
- this.loading = true
- getList(page.currentPage, page.pageSize, values).then((res) => {
- const data = res.data.data
- this.page.total = data.total
- this.data = data.records
- this.loading = false
- this.selectionClear()
- })
- }
}
- }
+}
</script>
<style>
- .avue-upload__icon {
+.avue-upload__icon {
line-height: 6;
- }
+}
</style>
diff --git a/src/views/property/propertyCompanyDistrict.vue b/src/views/property/propertyCompanyDistrict.vue
index deb2c23..bc043fd 100644
--- a/src/views/property/propertyCompanyDistrict.vue
+++ b/src/views/property/propertyCompanyDistrict.vue
@@ -80,6 +80,7 @@
prop: "districtName",
search: true,
searchSpan: 4,
+ searchLabelWidth: 76,
rules: [{
required: true,
message: "请输入小区名称",
diff --git a/src/views/propertySupervision/houseHoldSupervision.vue b/src/views/propertySupervision/houseHoldSupervision.vue
index b7435ed..eb55f18 100644
--- a/src/views/propertySupervision/houseHoldSupervision.vue
+++ b/src/views/propertySupervision/houseHoldSupervision.vue
@@ -247,6 +247,7 @@
parent: false,
prop: "houseName",
searchSpan: 4,
+ searchLabelWidth: 50,
display: false,
search: true,
},
diff --git a/src/views/propertySupervision/ownersCommittee.vue b/src/views/propertySupervision/ownersCommittee.vue
index 552e758..86a99f5 100644
--- a/src/views/propertySupervision/ownersCommittee.vue
+++ b/src/views/propertySupervision/ownersCommittee.vue
@@ -1,16 +1,17 @@
<template>
- <basic-container>
- <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" ref="crud" @row-del="rowDel"
- v-model="form" :permission="permissionList" @row-update="rowUpdate" @row-save="rowSave" :before-open="beforeOpen"
- @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
- @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
- <!-- <template slot="menuLeft">
+ <basic-container>
+ <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" ref="crud" @row-del="rowDel"
+ v-model="form" :permission="permissionList" @row-update="rowUpdate" @row-save="rowSave"
+ :before-open="beforeOpen" @search-change="searchChange" @search-reset="searchReset"
+ @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
+ @refresh-change="refreshChange" @on-load="onLoad">
+ <!-- <template slot="menuLeft">
<el-button size="small" icon="el-icon-delete" plain v-if="permission.article_delete" @click="handleDelete">删
除
</el-button>
</template> -->
- <!-- <template slot-scope="{type,size,row }" slot="menu">
+ <!-- <template slot-scope="{type,size,row }" slot="menu">
<el-button v-if="row.publish == '1'" icon="el-icon-close" :size="size" :type="type" @click.stop="updateFb(row)">
撤销
</el-button>
@@ -19,632 +20,633 @@
</el-button>
</template> -->
- <template slot-scope="{ row, size }" slot="publish">
- <el-tag :size="size" :type="showStatus(row.publish, 1).type" v-text="showStatus(row.publish, 1).text">
- </el-tag>
- </template>
+ <template slot-scope="{ row, size }" slot="publish">
+ <el-tag :size="size" :type="showStatus(row.publish, 1).type" v-text="showStatus(row.publish, 1).text">
+ </el-tag>
+ </template>
- <template slot-scope="{ row, size }" slot="iscomment">
- <el-tag :size="size" :type="showStatus(row.iscomment, 2).type" v-text="showStatus(row.iscomment, 2).text">
- </el-tag>
- </template>
- </avue-crud>
+ <template slot-scope="{ row, size }" slot="iscomment">
+ <el-tag :size="size" :type="showStatus(row.iscomment, 2).type" v-text="showStatus(row.iscomment, 2).text">
+ </el-tag>
+ </template>
+ </avue-crud>
- </basic-container>
+ </basic-container>
</template>
<script>
- import {
+import {
getList,
remove,
update,
add,
getNotice,
upcomment
- } from "@/api/article/article"
+} from "@/api/article/article"
- import {
+import {
addPd,
- } from "@/api/discuss/publicDiscuss"
+} from "@/api/discuss/publicDiscuss"
- import website from '@/config/website'
+import website from '@/config/website'
- import {
+import {
getDistrictTree
- } from "@/api/district/index"
+} from "@/api/district/index"
- import {
+import {
mapGetters
- } from "vuex"
+} from "vuex"
- export default {
- data() {
- return {
- discussForm: {
- ontitle: '',
- title: '',
- openFlag: 0,
- numberRestrictions: 0,
- voteRestrictions: 0,
- userRestrictions: 0,
- endTime: '',
- articleId: '',
- createTime: '',
- updateTime: '',
- deleteFlag: '',
- repeatVote: 0,
- voteNumberPublic: 0,
- appointUser: '',
- userIds: '',
- eventType: 1,
- },
- dialogVisibles: false,
- form: {},
- query: {},
- loading: true,
- page: {
- pageSize: 10,
- currentPage: 1,
- total: 0,
- },
- datetime: "",
- selectionList: [],
- option: {
- labelWidth: 96,
- searchLabelWidth: 96,
- searchShow: true,
- searchMenuSpan: 3,
- menuWidth: 450,
+export default {
+ data () {
+ return {
+ discussForm: {
+ ontitle: '',
+ title: '',
+ openFlag: 0,
+ numberRestrictions: 0,
+ voteRestrictions: 0,
+ userRestrictions: 0,
+ endTime: '',
+ articleId: '',
+ createTime: '',
+ updateTime: '',
+ deleteFlag: '',
+ repeatVote: 0,
+ voteNumberPublic: 0,
+ appointUser: '',
+ userIds: '',
+ eventType: 1,
+ },
+ dialogVisibles: false,
+ form: {},
+ query: {},
+ loading: true,
+ page: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0,
+ },
+ datetime: "",
+ selectionList: [],
+ option: {
+ labelWidth: 96,
+ searchLabelWidth: 96,
+ searchShow: true,
+ searchMenuSpan: 3,
+ menuWidth: 450,
- height: "auto",
- calcHeight: 54,
- dialogWidth: 950,
- tip: false,
- border: false,
- //stripe:true,
- index: true,
- addBtn: false,
- viewBtn: false,
- delBtn: false,
- editBtn: false,
- selection: false,
- excelBtn: false,
- menu: false,
- dialogClickModal: false,
- column: [{
- label: "标题",
- prop: "title",
- span: 24,
- row: true,
- searchSpan: 4,
- search: true,
- rules: [{
- required: true,
- message: "请输入业主大会标题",
- trigger: "blur",
- }, ],
- },
- {
- width: 110,
- label: "封面",
- prop: "url",
- // align:'center',
- type: "upload",
- listType: "picture-img",
- action: "/api/blade-resource/oss/endpoint/put-file",
- propsHttp: {
- res: "data",
- url: "link",
- },
- // hide: true,
- span: 24,
- },
- {
- width: 100,
- label: "业主大会类型",
- prop: "type",
- value: 5,
- slot: true,
- searchSpan: 4,
- // search: true,
- type: "select",
- rules: [{
- required: true,
- message: "请选择招标类型",
- trigger: "blur",
- }, ],
- dicData: [{
- label: "业主大会",
- value: 5,
- }],
- },
- // {
- // label: "招标来源",
- // prop: "sourceName",
- // search: true,
- // searchSpan: 4,
- // span: 24,
- // rules: [{
- // required: true,
- // message: "请输入招标类型",
- // trigger: "blur",
- // }, ],
- // },
- {
- label: "公示范围",
- prop: "articleList",
- span: 12,
- minRows: 2,
- type: "cascader",
- multiple: true,
- tags: true,
- dicData: [],
- rules: [{
- required: true,
- message: "请选择业主大会范围",
- trigger: "blur",
- }, ],
- props: {
- label: "name",
- value: 'id'
- },
- hide: true,
- },
- {
- label: "发布时间",
- prop: "dateTime",
- type: "daterange",
- format: "yyyy-MM-dd",
- valueFormat: "yyyy-MM-dd",
- searchSpan: 6,
- searchRange: true,
- hide: true,
- addDisplay: false,
- editDisplay: false,
- viewDisplay: false,
- search: true,
- rules: [{
- required: true,
- message: "请选择发布时间",
- trigger: "blur",
- }, ],
- },
- {
- width: 144,
- label: "发布时间",
- prop: "createTime",
- type: "date",
- format: "yyyy-MM-dd",
- valueFormat: "yyyy-MM-dd HH:mm:ss",
- },
-
- // {
- // width: 100,
- // label: "发布状态",
- // prop: "publish",
- // value: "0",
- // slot: true,
- // searchSpan: 4,
- // search: true,
- // type: "select",
- // display: false,
- // rules: [{
- // required: true,
- // message: "请选择发布状态",
- // trigger: "blur",
- // }, ],
- // dicData: [{
- // label: "未发布",
- // value: "0",
- // },
- // {
- // label: "已发布",
- // value: "1",
- // }
- // ],
- // },
- // {
- // width: 100,
- // label: "评论区",
- // prop: "iscomment",
- // slot: true,
- // type: "select",
- // dicData: [{
- // label: "关闭",
- // value: "0",
- // },
- // {
- // label: "开启",
- // value: "1",
- // }
- // ],
- // },
- {
- label: "内容",
- prop: "content",
- component: "AvueUeditor",
- options: {
- action: "/api/blade-resource/oss/endpoint/put-file",
- // customConfig: {
- // lineHeights: ['1', '1.15', '1.6', '2', '2.5', '3']
- // },//wangEditor编辑的配置
- props: {
- res: "data",
- url: "link",
+ height: "auto",
+ calcHeight: 54,
+ dialogWidth: 950,
+ tip: false,
+ border: true,
+ //stripe:true,
+ index: true,
+ addBtn: false,
+ viewBtn: false,
+ delBtn: false,
+ editBtn: false,
+ selection: false,
+ excelBtn: false,
+ menu: false,
+ dialogClickModal: false,
+ column: [{
+ label: "标题",
+ prop: "title",
+ span: 24,
+ row: true,
+ searchSpan: 4,
+ searchLabelWidth: 50,
+ search: true,
+ rules: [{
+ required: true,
+ message: "请输入业主大会标题",
+ trigger: "blur",
+ },],
},
- },
- hide: true,
- minRows: 6,
- span: 24,
- },
- ],
- },
- data: [],
+ {
+ width: 110,
+ label: "封面",
+ prop: "url",
+ // align:'center',
+ type: "upload",
+ listType: "picture-img",
+ action: "/api/blade-resource/oss/endpoint/put-file",
+ propsHttp: {
+ res: "data",
+ url: "link",
+ },
+ // hide: true,
+ span: 24,
+ },
+ {
+ width: 100,
+ label: "业主大会类型",
+ prop: "type",
+ value: 5,
+ slot: true,
+ searchSpan: 4,
+ // search: true,
+ type: "select",
+ rules: [{
+ required: true,
+ message: "请选择招标类型",
+ trigger: "blur",
+ },],
+ dicData: [{
+ label: "业主大会",
+ value: 5,
+ }],
+ },
+ // {
+ // label: "招标来源",
+ // prop: "sourceName",
+ // search: true,
+ // searchSpan: 4,
+ // span: 24,
+ // rules: [{
+ // required: true,
+ // message: "请输入招标类型",
+ // trigger: "blur",
+ // }, ],
+ // },
+ {
+ label: "公示范围",
+ prop: "articleList",
+ span: 12,
+ minRows: 2,
+ type: "cascader",
+ multiple: true,
+ tags: true,
+ dicData: [],
+ rules: [{
+ required: true,
+ message: "请选择业主大会范围",
+ trigger: "blur",
+ },],
+ props: {
+ label: "name",
+ value: 'id'
+ },
+ hide: true,
+ },
+ {
+ label: "发布时间",
+ prop: "dateTime",
+ type: "daterange",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ searchSpan: 6,
+ searchRange: true,
+ hide: true,
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: false,
+ search: true,
+ rules: [{
+ required: true,
+ message: "请选择发布时间",
+ trigger: "blur",
+ },],
+ },
+ {
+ width: 144,
+ label: "发布时间",
+ prop: "createTime",
+ type: "date",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd HH:mm:ss",
+ },
- districtTree: [],
- }
+ // {
+ // width: 100,
+ // label: "发布状态",
+ // prop: "publish",
+ // value: "0",
+ // slot: true,
+ // searchSpan: 4,
+ // search: true,
+ // type: "select",
+ // display: false,
+ // rules: [{
+ // required: true,
+ // message: "请选择发布状态",
+ // trigger: "blur",
+ // }, ],
+ // dicData: [{
+ // label: "未发布",
+ // value: "0",
+ // },
+ // {
+ // label: "已发布",
+ // value: "1",
+ // }
+ // ],
+ // },
+ // {
+ // width: 100,
+ // label: "评论区",
+ // prop: "iscomment",
+ // slot: true,
+ // type: "select",
+ // dicData: [{
+ // label: "关闭",
+ // value: "0",
+ // },
+ // {
+ // label: "开启",
+ // value: "1",
+ // }
+ // ],
+ // },
+ {
+ label: "内容",
+ prop: "content",
+ component: "AvueUeditor",
+ options: {
+ action: "/api/blade-resource/oss/endpoint/put-file",
+ // customConfig: {
+ // lineHeights: ['1', '1.15', '1.6', '2', '2.5', '3']
+ // },//wangEditor编辑的配置
+ props: {
+ res: "data",
+ url: "link",
+ },
+ },
+ hide: true,
+ minRows: 6,
+ span: 24,
+ },
+ ],
+ },
+ data: [],
+
+ districtTree: [],
+ }
},
watch: {
- "form.articleType": {
- handler(val) {
- if (val) {
- var videoUrl = this.findObject(this.option.column, "videoUrl")
- var content = this.findObject(this.option.column, "content")
- if (val.indexOf('ksp') != -1) {
- videoUrl.display = true
- content.display = false
- videoUrl.rules = [{
- required: false,
- message: "请选择视频",
- trigger: "blur",
- }, ]
- } else {
- videoUrl.display = false
- content.display = true
- videoUrl.rules = ""
- }
- }
- },
- immediate: true,
- }
+ "form.articleType": {
+ handler (val) {
+ if (val) {
+ var videoUrl = this.findObject(this.option.column, "videoUrl")
+ var content = this.findObject(this.option.column, "content")
+ if (val.indexOf('ksp') != -1) {
+ videoUrl.display = true
+ content.display = false
+ videoUrl.rules = [{
+ required: false,
+ message: "请选择视频",
+ trigger: "blur",
+ },]
+ } else {
+ videoUrl.display = false
+ content.display = true
+ videoUrl.rules = ""
+ }
+ }
+ },
+ immediate: true,
+ }
},
computed: {
- ...mapGetters(["permission", "userInfo"]),
- permissionList() {
- return {
- addBtn: this.vaildData(this.permission.article_add, true),
- viewBtn: this.vaildData(this.permission.article_view, true),
- delBtn: this.vaildData(this.permission.article_delete, true),
- editBtn: this.vaildData(this.permission.article_edit, true),
- }
- },
- ids() {
- let ids = []
- this.selectionList.forEach((ele) => {
- ids.push(ele.id)
- })
- return ids.join(",")
- },
- showStatus() {
- return (data, type) => {
- if (data == 0) {
+ ...mapGetters(["permission", "userInfo"]),
+ permissionList () {
return {
- text: type == 1 ? '未发布' : '关闭',
- type: 'info'
+ addBtn: this.vaildData(this.permission.article_add, true),
+ viewBtn: this.vaildData(this.permission.article_view, true),
+ delBtn: this.vaildData(this.permission.article_delete, true),
+ editBtn: this.vaildData(this.permission.article_edit, true),
}
- } else if (data == 1) {
- return {
- text: type == 1 ? '已发布' : '开启',
- type: 'success'
+ },
+ ids () {
+ let ids = []
+ this.selectionList.forEach((ele) => {
+ ids.push(ele.id)
+ })
+ return ids.join(",")
+ },
+ showStatus () {
+ return (data, type) => {
+ if (data == 0) {
+ return {
+ text: type == 1 ? '未发布' : '关闭',
+ type: 'info'
+ }
+ } else if (data == 1) {
+ return {
+ text: type == 1 ? '已发布' : '开启',
+ type: 'success'
+ }
+ }
}
- }
}
- }
},
methods: {
- openDilog(row, type) {
- this.dialogVisibles = true
- this.discussForm.eventType = type
- this.discussForm.articleId = row.id
- this.discussForm.title = row.title
- if (type == 0) {
- this.discussForm.ontitle = '公益报名'
- } else {
- this.discussForm.ontitle = '创建议题'
- }
- },
-
- handleSubmit(form, done) {
- done()
- addPd(form).then(
- () => {
- this.$message({
- type: "success",
- message: "操作成功!",
- })
- this.dialogVisibles = false
- done()
- },
- (error) => {
- window.console.log(error)
- // loading();
- }
- )
- },
-
- handleClose(done) {
- done()
- // this.$confirm('确认关闭?')
- // .then(_ => {
- // done();
- // })
- // .catch(_ => {});
- },
- rowSave(row, done, loading) {
- row['type'] = 5
- row.userid = this.userInfo.user_id
- row.articleRange = JSON.stringify(row.articleList)
- if (row.url.length > 0) {
- var urls = []
- var split = row.url.split(",")
- split.forEach(url => {
- var names = url.split("jczz/")
- urls.push(names[1])
- })
- row.url = urls.join(",")
- }
- add(row).then(
- () => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
- })
- done()
- },
- (error) => {
- window.console.log(error)
- loading()
- }
- )
- },
- rowUpdate(row, index, done, loading) {
- row.articleRange = JSON.stringify(row.articleList)
- if (row.url.length > 0) {
- var urls = []
- var split = row.url.split(",")
- split.forEach(url => {
- var names = url.split("jczz/")
- urls.push(names[1])
- })
- row.url = urls.join(",")
- }
-
- update(row).then(
- () => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
- })
- done()
- },
- (error) => {
- window.console.log(error)
- loading()
- }
- )
- },
- rowDel(row) {
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- })
- .then(() => {
- return remove(row.id)
- })
- .then(() => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
- })
- })
- },
- searchReset() {
- this.query = {}
- this.onLoad(this.page)
- },
- searchChange(params, done) {
- this.query = params
- this.page.currentPage = 1
- this.onLoad(this.page, params)
- done()
- },
- selectionChange(list) {
- this.selectionList = list
- },
- selectionClear() {
- this.selectionList = []
- this.$refs.crud.toggleSelection()
- },
- handleDelete() {
- if (this.selectionList.length === 0) {
- this.$message.warning("请选择至少一条数据")
- return
- }
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- })
- .then(() => {
- return remove(this.ids)
- })
- .then(() => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
- })
- this.$refs.crud.toggleSelection()
- })
- },
- beforeOpen(done, type) {
- if (["edit", "view"].includes(type)) {
- getNotice(this.form.id).then((res) => {
- let data = res.data.data
- // data.forEach(item=>{
- if (data.url.length > 0) {
- var urls = []
- var names = data.url.split(",")
- names.forEach(name => {
- urls.push(website.minioUrl + name)
- })
- data.url = urls.join(",")
+ openDilog (row, type) {
+ this.dialogVisibles = true
+ this.discussForm.eventType = type
+ this.discussForm.articleId = row.id
+ this.discussForm.title = row.title
+ if (type == 0) {
+ this.discussForm.ontitle = '公益报名'
+ } else {
+ this.discussForm.ontitle = '创建议题'
}
- data.articleList = JSON.parse(data.articleRange)
- this.form = data
- })
- }
- // con
- done()
- },
- currentChange(currentPage) {
- this.page.currentPage = currentPage
- },
- sizeChange(pageSize) {
- this.page.pageSize = pageSize
- },
- refreshChange() {
- this.onLoad(this.page, this.query)
- },
- onLoad(page, params = {}) {
- const {
- dateTime
- } = this.query
- let values = {
- ...params,
- }
- if (dateTime) {
- values = {
- ...params,
- startTime: dateTime[0],
- endTime: dateTime[1],
- ...this.query,
- }
- values.dateTime = null
- }
- values.type = 5
- values.publish = 1
- this.loading = true
- console.log(values)
- getList(page.currentPage, page.pageSize, values).then((res) => {
- const data = res.data.data
- this.page.total = data.total
- this.data = data.records
- this.data.forEach(item => {
- if (item.url.length > 0) {
- var urls = []
- var names = item.url.split(",")
- names.forEach(name => {
- urls.push(website.minioUrl + name)
- })
- item.url = urls.join(",")
- }
- })
- this.loading = false
- this.selectionClear()
- })
- getDistrictTree(params = {}).then((res) => {
- const data = res.data.data
- this.districtTree = data
- const column = this.findObject(this.option.column, "articleList")
- column.dicData = res.data.data
- this.loading = false
- })
- },
- updateFb(row) {
- if (row.publish == "0") {
- row.publish = "1"
- } else {
- row.publish = "0"
- }
- if (row.url.length > 0) {
- var urls = []
- var split = row.url.split(",")
- split.forEach(url => {
- var names = url.split("jczz/")
- urls.push(names[1])
- })
- row.url = urls.join(",")
- }
- update(row).then(
- () => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
- })
+ },
+
+ handleSubmit (form, done) {
done()
- },
- (error) => {
- window.console.log(error)
- loading()
- }
- )
- },
- kqcomment() {
- if (this.selectionList.length === 0) {
- this.$message.warning("请选择至少一条数据")
- return
- }
- this.$confirm("确定将选择数据开启评论?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- }).then(() => {
- return upcomment(this.ids, "1")
- })
- .then(() => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
+ addPd(form).then(
+ () => {
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ this.dialogVisibles = false
+ done()
+ },
+ (error) => {
+ window.console.log(error)
+ // loading();
+ }
+ )
+ },
+
+ handleClose (done) {
+ done()
+ // this.$confirm('确认关闭?')
+ // .then(_ => {
+ // done();
+ // })
+ // .catch(_ => {});
+ },
+ rowSave (row, done, loading) {
+ row['type'] = 5
+ row.userid = this.userInfo.user_id
+ row.articleRange = JSON.stringify(row.articleList)
+ if (row.url.length > 0) {
+ var urls = []
+ var split = row.url.split(",")
+ split.forEach(url => {
+ var names = url.split("jczz/")
+ urls.push(names[1])
+ })
+ row.url = urls.join(",")
+ }
+ add(row).then(
+ () => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ done()
+ },
+ (error) => {
+ window.console.log(error)
+ loading()
+ }
+ )
+ },
+ rowUpdate (row, index, done, loading) {
+ row.articleRange = JSON.stringify(row.articleList)
+ if (row.url.length > 0) {
+ var urls = []
+ var split = row.url.split(",")
+ split.forEach(url => {
+ var names = url.split("jczz/")
+ urls.push(names[1])
+ })
+ row.url = urls.join(",")
+ }
+
+ update(row).then(
+ () => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ done()
+ },
+ (error) => {
+ window.console.log(error)
+ loading()
+ }
+ )
+ },
+ rowDel (row) {
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
})
- this.$refs.crud.toggleSelection()
- })
- },
- gbcomment() {
- if (this.selectionList.length === 0) {
- this.$message.warning("请选择至少一条数据")
- return
- }
- this.$confirm("确定将选择数据开启评论?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- }).then(() => {
- return upcomment(this.ids, "0")
- })
- .then(() => {
+ .then(() => {
+ return remove(row.id)
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ })
+ },
+ searchReset () {
+ this.query = {}
this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
- })
+ },
+ searchChange (params, done) {
+ this.query = params
+ this.page.currentPage = 1
+ this.onLoad(this.page, params)
+ done()
+ },
+ selectionChange (list) {
+ this.selectionList = list
+ },
+ selectionClear () {
+ this.selectionList = []
this.$refs.crud.toggleSelection()
- })
- }
+ },
+ handleDelete () {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据")
+ return
+ }
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ })
+ .then(() => {
+ return remove(this.ids)
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ this.$refs.crud.toggleSelection()
+ })
+ },
+ beforeOpen (done, type) {
+ if (["edit", "view"].includes(type)) {
+ getNotice(this.form.id).then((res) => {
+ let data = res.data.data
+ // data.forEach(item=>{
+ if (data.url.length > 0) {
+ var urls = []
+ var names = data.url.split(",")
+ names.forEach(name => {
+ urls.push(website.minioUrl + name)
+ })
+ data.url = urls.join(",")
+ }
+ data.articleList = JSON.parse(data.articleRange)
+ this.form = data
+ })
+ }
+ // con
+ done()
+ },
+ currentChange (currentPage) {
+ this.page.currentPage = currentPage
+ },
+ sizeChange (pageSize) {
+ this.page.pageSize = pageSize
+ },
+ refreshChange () {
+ this.onLoad(this.page, this.query)
+ },
+ onLoad (page, params = {}) {
+ const {
+ dateTime
+ } = this.query
+ let values = {
+ ...params,
+ }
+ if (dateTime) {
+ values = {
+ ...params,
+ startTime: dateTime[0],
+ endTime: dateTime[1],
+ ...this.query,
+ }
+ values.dateTime = null
+ }
+ values.type = 5
+ values.publish = 1
+ this.loading = true
+ console.log(values)
+ getList(page.currentPage, page.pageSize, values).then((res) => {
+ const data = res.data.data
+ this.page.total = data.total
+ this.data = data.records
+ this.data.forEach(item => {
+ if (item.url.length > 0) {
+ var urls = []
+ var names = item.url.split(",")
+ names.forEach(name => {
+ urls.push(website.minioUrl + name)
+ })
+ item.url = urls.join(",")
+ }
+ })
+ this.loading = false
+ this.selectionClear()
+ })
+ getDistrictTree(params = {}).then((res) => {
+ const data = res.data.data
+ this.districtTree = data
+ const column = this.findObject(this.option.column, "articleList")
+ column.dicData = res.data.data
+ this.loading = false
+ })
+ },
+ updateFb (row) {
+ if (row.publish == "0") {
+ row.publish = "1"
+ } else {
+ row.publish = "0"
+ }
+ if (row.url.length > 0) {
+ var urls = []
+ var split = row.url.split(",")
+ split.forEach(url => {
+ var names = url.split("jczz/")
+ urls.push(names[1])
+ })
+ row.url = urls.join(",")
+ }
+ update(row).then(
+ () => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ done()
+ },
+ (error) => {
+ window.console.log(error)
+ loading()
+ }
+ )
+ },
+ kqcomment () {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据")
+ return
+ }
+ this.$confirm("确定将选择数据开启评论?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ }).then(() => {
+ return upcomment(this.ids, "1")
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ this.$refs.crud.toggleSelection()
+ })
+ },
+ gbcomment () {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据")
+ return
+ }
+ this.$confirm("确定将选择数据开启评论?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ }).then(() => {
+ return upcomment(this.ids, "0")
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ this.$refs.crud.toggleSelection()
+ })
+ }
},
- }
+}
</script>
<style>
- .avue-upload__icon {
+.avue-upload__icon {
line-height: 6;
- }
+}
</style>
\ No newline at end of file
diff --git a/src/views/propertySupervision/propertyCompanyDistrict.vue b/src/views/propertySupervision/propertyCompanyDistrict.vue
index ec69c3d..137116c 100644
--- a/src/views/propertySupervision/propertyCompanyDistrict.vue
+++ b/src/views/propertySupervision/propertyCompanyDistrict.vue
@@ -1,398 +1,400 @@
<!-- 物业公司管理 -->
<template>
- <basic-container>
- <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" ref="crud" @row-del="rowDel"
- v-model="form" :permission="permissionList" @row-update="rowUpdate" @row-save="rowSave" :before-open="beforeOpen"
- @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
- @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
- <template slot="menuLeft">
- <el-button size="small" icon="el-icon-delete" plain v-if="permission.propertyCompanyDistrict_delete"
- @click="handleDelete">删 除
- </el-button>
- </template>
- </avue-crud>
- </basic-container>
+ <basic-container>
+ <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" ref="crud" @row-del="rowDel"
+ v-model="form" :permission="permissionList" @row-update="rowUpdate" @row-save="rowSave"
+ :before-open="beforeOpen" @search-change="searchChange" @search-reset="searchReset"
+ @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
+ @refresh-change="refreshChange" @on-load="onLoad">
+ <template slot="menuLeft">
+ <el-button size="small" icon="el-icon-delete" plain v-if="permission.propertyCompanyDistrict_delete"
+ @click="handleDelete">删 除
+ </el-button>
+ </template>
+ </avue-crud>
+ </basic-container>
</template>
<script>
- import {
+import {
getList,
remove,
update,
add,
getPropertyCompanyDistrict
- } from "@/api/property/propertyCompanyDistrict"
- import {
+} from "@/api/property/propertyCompanyDistrict"
+import {
mapGetters
- } from "vuex"
- import website from '@/config/website'
- import func from "@/util/func"
- export default {
- data() {
- //手机号格式校验
- let validatorPhone = function(rule, value, callback) {
- if (value) {
- if (!/^1[3456789]\d{9}$/.test(value)) {
- callback(new Error('手机号格式有误!'))
- } else {
+} from "vuex"
+import website from '@/config/website'
+import func from "@/util/func"
+export default {
+ data () {
+ //手机号格式校验
+ let validatorPhone = function (rule, value, callback) {
+ if (value) {
+ if (!/^1[3456789]\d{9}$/.test(value)) {
+ callback(new Error('手机号格式有误!'))
+ } else {
+ callback()
+ }
+ }
callback()
- }
}
- callback()
- }
- return {
- form: {},
- query: {},
- loading: true,
- page: {
- pageSize: 10,
- currentPage: 1,
- total: 0,
- },
- datetime: "",
- selectionList: [],
- option: {
- labelWidth: 120,
- searchLabelWidth: 96,
- searchShow: true,
- searchMenuSpan: 3,
- menuWidth: 210,
+ return {
+ form: {},
+ query: {},
+ loading: true,
+ page: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0,
+ },
+ datetime: "",
+ selectionList: [],
+ option: {
+ labelWidth: 120,
+ searchLabelWidth: 96,
+ searchShow: true,
+ searchMenuSpan: 3,
+ menuWidth: 210,
- height: "auto",
- calcHeight: 54,
- dialogWidth: 1150,
- tip: false,
- border: true,
- delBtn: false,
- editBtn: false,
- //stripe:true,
- index: true,
- viewBtn: true,
- selection: true,
- dialogClickModal: false,
- column: [{
- overHidden: true,
- label: '小区名称',
- addDisplay: false,
- editDisplay: false,
- viewDisplay: false,
- prop: "districtName",
- search: true,
- searchSpan: 4,
- rules: [{
- required: true,
- message: "请输入小区名称",
- trigger: "blur",
- }],
- },
+ height: "auto",
+ calcHeight: 54,
+ dialogWidth: 1150,
+ tip: false,
+ border: true,
+ delBtn: false,
+ editBtn: false,
+ //stripe:true,
+ index: true,
+ viewBtn: true,
+ selection: true,
+ dialogClickModal: false,
+ column: [{
+ overHidden: true,
+ label: '小区名称',
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: false,
+ prop: "districtName",
+ search: true,
+ searchSpan: 4,
+ searchLabelWidth: 76,
+ rules: [{
+ required: true,
+ message: "请输入小区名称",
+ trigger: "blur",
+ }],
+ },
- {
- hide: true,
- parent: false,
- label: "小区",
- prop: "districtId",
- search: false,
- type: 'tree',
- dicUrl: `/api/blade-district/district/getDistrictTree`,
- props: {
- label: "name",
- value: "id"
- },
- defaultExpandedKeys: ["361102003"],
- span: 12,
- width: 260,
- rules: [{
- required: true,
- message: "请选择小区",
- trigger: "blur",
- }, ],
- },
+ {
+ hide: true,
+ parent: false,
+ label: "小区",
+ prop: "districtId",
+ search: false,
+ type: 'tree',
+ dicUrl: `/api/blade-district/district/getDistrictTree`,
+ props: {
+ label: "name",
+ value: "id"
+ },
+ defaultExpandedKeys: ["361102003"],
+ span: 12,
+ width: 260,
+ rules: [{
+ required: true,
+ message: "请选择小区",
+ trigger: "blur",
+ },],
+ },
- {
- overHidden: true,
- label: "物业公司",
- addDisplay: false,
- editDisplay: false,
- viewDisplay: false,
- prop: "propertyCompanyName",
- search: true,
- searchSpan: 4,
- rules: [{
- required: true,
- message: "请输入物业公司",
- trigger: "blur",
- }],
- },
+ {
+ overHidden: true,
+ label: "物业公司",
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: false,
+ prop: "propertyCompanyName",
+ search: true,
+ searchSpan: 4,
+ rules: [{
+ required: true,
+ message: "请输入物业公司",
+ trigger: "blur",
+ }],
+ },
- {
- hide: true,
- label: '物业公司',
- prop: 'propertyCompanyId',
- type: 'tree',
- span: 12,
- dicUrl: `/api/blade-propertyCompany/propertyCompany/getPropertyCompanyList`,
- cascader: ['userId'],
- props: {
- label: "name",
- value: "id"
- },
- rules: [{
- required: true,
- message: '请选择物业公司',
- trigger: 'blur'
- }]
- },
- {
- width: 110,
- label: '项目经理',
- prop: 'principal',
- span: 12,
- search: true,
- searchSpan: 4,
- rules: [{
- required: true,
- message: "请输入项目经理",
- trigger: "blur",
- }, ],
- },
- {
- width: 120,
- label: '联系方式',
- prop: 'principalPhone',
- span: 12,
- rules: [{
- required: true,
- message: "请输入联系方式",
- trigger: "blur",
+ {
+ hide: true,
+ label: '物业公司',
+ prop: 'propertyCompanyId',
+ type: 'tree',
+ span: 12,
+ dicUrl: `/api/blade-propertyCompany/propertyCompany/getPropertyCompanyList`,
+ cascader: ['userId'],
+ props: {
+ label: "name",
+ value: "id"
+ },
+ rules: [{
+ required: true,
+ message: '请选择物业公司',
+ trigger: 'blur'
+ }]
},
{
- validator: validatorPhone,
- trigger: 'blur'
- }
- ],
+ width: 110,
+ label: '项目经理',
+ prop: 'principal',
+ span: 12,
+ search: true,
+ searchSpan: 4,
+ rules: [{
+ required: true,
+ message: "请输入项目经理",
+ trigger: "blur",
+ },],
+ },
+ {
+ width: 120,
+ label: '联系方式',
+ prop: 'principalPhone',
+ span: 12,
+ rules: [{
+ required: true,
+ message: "请输入联系方式",
+ trigger: "blur",
+ },
+ {
+ validator: validatorPhone,
+ trigger: 'blur'
+ }
+ ],
+ },
+ {
+ label: "物业成员",
+ prop: "userId",
+ span: 12,
+ type: "tree",
+ multiple: true,
+ remote: true,
+ props: {
+ label: 'name',
+ value: 'id'
+ },
+ hide: true,
+ dicUrl: `/api/blade-propertyCompany/propertyCompany/getUserByPropertyCompany?id={{propertyCompanyId}}`,
+ },
+ {
+ width: 100,
+ label: "物业阶段",
+ span: 12,
+ prop: "propertyStage",
+ type: "select",
+ search: true,
+ searchSpan: 4,
+ dataType: "number",
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=propertyStage",
+ props: {
+ label: "dictValue",
+ value: "dictKey",
+ },
+ },
+ {
+ width: 100,
+ label: "合同开始时间",
+ prop: "startTime",
+ span: 12,
+ type: "date",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ rules: [{
+ required: true,
+ message: "请选择合同开始时间",
+ trigger: "blur",
+ },],
+ },
+ {
+ width: 100,
+ label: "合同结束时间",
+ prop: "endTime",
+ span: 12,
+ type: "date",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ rules: [{
+ required: true,
+ message: "请选择合同结束时间",
+ trigger: "blur",
+ },],
+ },
+ ],
},
- {
- label: "物业成员",
- prop: "userId",
- span: 12,
- type: "tree",
- multiple: true,
- remote: true,
- props: {
- label: 'name',
- value: 'id'
- },
- hide: true,
- dicUrl: `/api/blade-propertyCompany/propertyCompany/getUserByPropertyCompany?id={{propertyCompanyId}}`,
- },
- {
- width: 100,
- label: "物业阶段",
- span: 12,
- prop: "propertyStage",
- type: "select",
- search: true,
- searchSpan: 4,
- dataType: "number",
- dicUrl: "/api/blade-system/dict-biz/dictionary?code=propertyStage",
- props: {
- label: "dictValue",
- value: "dictKey",
- },
- },
- {
- width: 100,
- label: "合同开始时间",
- prop: "startTime",
- span: 12,
- type: "date",
- format: "yyyy-MM-dd",
- valueFormat: "yyyy-MM-dd",
- rules: [{
- required: true,
- message: "请选择合同开始时间",
- trigger: "blur",
- }, ],
- },
- {
- width: 100,
- label: "合同结束时间",
- prop: "endTime",
- span: 12,
- type: "date",
- format: "yyyy-MM-dd",
- valueFormat: "yyyy-MM-dd",
- rules: [{
- required: true,
- message: "请选择合同结束时间",
- trigger: "blur",
- }, ],
- },
- ],
- },
- data: [],
- }
+ data: [],
+ }
},
watch: {},
computed: {
- ...mapGetters(["permission", "userInfo"]),
- permissionList() {
- return {
- addBtn: this.vaildData(this.permission.propertyCompanyDistrict_add, true),
- viewBtn: this.vaildData(this.permission.propertyCompanyDistrict_view, true),
- delBtn: this.vaildData(this.permission.propertyCompanyDistrict_delete, true),
- editBtn: this.vaildData(this.permission.propertyCompanyDistrict_edit, true),
- }
- },
- ids() {
- let ids = []
- this.selectionList.forEach((ele) => {
- ids.push(ele.id)
- })
- return ids.join(",")
- },
+ ...mapGetters(["permission", "userInfo"]),
+ permissionList () {
+ return {
+ addBtn: this.vaildData(this.permission.propertyCompanyDistrict_add, true),
+ viewBtn: this.vaildData(this.permission.propertyCompanyDistrict_view, true),
+ delBtn: this.vaildData(this.permission.propertyCompanyDistrict_delete, true),
+ editBtn: this.vaildData(this.permission.propertyCompanyDistrict_edit, true),
+ }
+ },
+ ids () {
+ let ids = []
+ this.selectionList.forEach((ele) => {
+ ids.push(ele.id)
+ })
+ return ids.join(",")
+ },
},
methods: {
- rowSave(row, done, loading) {
- row.userId = func.join(row.userId)
- add(row).then(
- () => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
+ rowSave (row, done, loading) {
+ row.userId = func.join(row.userId)
+ add(row).then(
+ () => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ done()
+ },
+ (error) => {
+ window.console.log(error)
+ loading()
+ }
+ )
+ },
+ rowUpdate (row, index, done, loading) {
+ row.userId = func.join(row.userId)
+ update(row).then(
+ () => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ done()
+ },
+ (error) => {
+ window.console.log(error)
+ loading()
+ }
+ )
+ },
+ rowDel (row) {
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
})
+ .then(() => {
+ return remove(row.id)
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ })
+ },
+ searchReset () {
+ this.query = {}
+ this.onLoad(this.page)
+ },
+ searchChange (params, done) {
+ this.query = params
+ this.page.currentPage = 1
+ this.onLoad(this.page, params)
done()
- },
- (error) => {
- window.console.log(error)
- loading()
- }
- )
- },
- rowUpdate(row, index, done, loading) {
- row.userId = func.join(row.userId)
- update(row).then(
- () => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
- })
- done()
- },
- (error) => {
- window.console.log(error)
- loading()
- }
- )
- },
- rowDel(row) {
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- })
- .then(() => {
- return remove(row.id)
- })
- .then(() => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
- })
- })
- },
- searchReset() {
- this.query = {}
- this.onLoad(this.page)
- },
- searchChange(params, done) {
- this.query = params
- this.page.currentPage = 1
- this.onLoad(this.page, params)
- done()
- },
- selectionChange(list) {
- this.selectionList = list
- },
- selectionClear() {
- this.selectionList = []
- this.$refs.crud.toggleSelection()
- },
- handleDelete() {
- if (this.selectionList.length === 0) {
- this.$message.warning("请选择至少一条数据")
- return
- }
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- })
- .then(() => {
- return remove(this.ids)
- })
- .then(() => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
- })
+ },
+ selectionChange (list) {
+ this.selectionList = list
+ },
+ selectionClear () {
+ this.selectionList = []
this.$refs.crud.toggleSelection()
- })
- },
- beforeOpen(done, type) {
- if (["edit", "view"].includes(type)) {
- getPropertyCompanyDistrict(this.form.id).then((res) => {
- this.form = res.data.data
- })
+ },
+ handleDelete () {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据")
+ return
+ }
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ })
+ .then(() => {
+ return remove(this.ids)
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ this.$refs.crud.toggleSelection()
+ })
+ },
+ beforeOpen (done, type) {
+ if (["edit", "view"].includes(type)) {
+ getPropertyCompanyDistrict(this.form.id).then((res) => {
+ this.form = res.data.data
+ })
+ }
+ // con
+ done()
+ },
+ currentChange (currentPage) {
+ this.page.currentPage = currentPage
+ },
+ sizeChange (pageSize) {
+ this.page.pageSize = pageSize
+ },
+ refreshChange () {
+ this.onLoad(this.page, this.query)
+ },
+ onLoad (page, params = {}) {
+ const {
+ dateTime
+ } = this.query
+ let values = {
+ ...params,
+ }
+ if (dateTime) {
+ values = {
+ ...params,
+ startTime: dateTime[0],
+ endTime: dateTime[1],
+ ...this.query,
+ }
+ values.dateTime = null
+ }
+ this.loading = true
+ getList(page.currentPage, page.pageSize, values).then((res) => {
+ const data = res.data.data
+ this.page.total = data.total
+ this.data = data.records
+ this.loading = false
+ this.selectionClear()
+ })
}
- // con
- done()
- },
- currentChange(currentPage) {
- this.page.currentPage = currentPage
- },
- sizeChange(pageSize) {
- this.page.pageSize = pageSize
- },
- refreshChange() {
- this.onLoad(this.page, this.query)
- },
- onLoad(page, params = {}) {
- const {
- dateTime
- } = this.query
- let values = {
- ...params,
- }
- if (dateTime) {
- values = {
- ...params,
- startTime: dateTime[0],
- endTime: dateTime[1],
- ...this.query,
- }
- values.dateTime = null
- }
- this.loading = true
- getList(page.currentPage, page.pageSize, values).then((res) => {
- const data = res.data.data
- this.page.total = data.total
- this.data = data.records
- this.loading = false
- this.selectionClear()
- })
- }
}
- }
+}
</script>
<style>
- .avue-upload__icon {
+.avue-upload__icon {
line-height: 6;
- }
+}
</style>
\ No newline at end of file
diff --git a/src/views/propertySupervision/propertyEvaluation.vue b/src/views/propertySupervision/propertyEvaluation.vue
index e887e0a..3936d46 100644
--- a/src/views/propertySupervision/propertyEvaluation.vue
+++ b/src/views/propertySupervision/propertyEvaluation.vue
@@ -1,57 +1,58 @@
<!-- 物业公司管理 -->
<template>
- <basic-container>
- <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" ref="crud" @row-del="rowDel"
- v-model="form" :permission="permissionList" @row-update="rowUpdate" @row-save="rowSave" :before-open="beforeOpen"
- @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
- @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
- <template slot="menuLeft">
- <el-button size="small" icon="el-icon-delete" plain v-if="permission.propertyCompany_delete"
- @click="handleDelete">删 除
- </el-button>
+ <basic-container>
+ <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" ref="crud" @row-del="rowDel"
+ v-model="form" :permission="permissionList" @row-update="rowUpdate" @row-save="rowSave"
+ :before-open="beforeOpen" @search-change="searchChange" @search-reset="searchReset"
+ @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
+ @refresh-change="refreshChange" @on-load="onLoad">
+ <template slot="menuLeft">
+ <el-button size="small" icon="el-icon-delete" plain v-if="permission.propertyCompany_delete"
+ @click="handleDelete">删 除
+ </el-button>
- </template>
+ </template>
- <template slot-scope="{row, size, index}" slot="menu">
- <el-button :size="size" v-if="permission.payInfo" type="text" icon="el-icon-circle-plus-outline"
- @click="openPayConfig(row)">商户配置
- </el-button>
+ <template slot-scope="{row, size, index}" slot="menu">
+ <el-button :size="size" v-if="permission.payInfo" type="text" icon="el-icon-circle-plus-outline"
+ @click="openPayConfig(row)">商户配置
+ </el-button>
- <el-button :size="size" v-if="permission.property_evaluation" icon="el-icon-circle-plus-outline" type="text"
- @click="addProperty(row)">物业评定
- </el-button>
- </template>
- </avue-crud>
+ <el-button :size="size" v-if="permission.property_evaluation" icon="el-icon-circle-plus-outline" type="text"
+ @click="addProperty(row)">物业评定
+ </el-button>
+ </template>
+ </avue-crud>
- <el-dialog title="商户配置" append-to-body :visible.sync="payInfoVisible" top="10vh" width="70%">
- <el-tabs v-model="currentTab">
- <el-tab-pane label="微信商户配置" name="wxInfo">
- <avue-form ref="wxForm" :option="wxPayOption" v-model="wxPayForm" @submit="wxSubmit">
- </avue-form>
- </el-tab-pane>
- <el-tab-pane label="支付宝商户配置" name="second">
- <avue-form ref="aliForm" :option="aliPayOption" v-model="aliPayForm" @submit="aliSubmit">
- </avue-form>
- </el-tab-pane>
+ <el-dialog title="商户配置" append-to-body :visible.sync="payInfoVisible" top="10vh" width="70%">
+ <el-tabs v-model="currentTab">
+ <el-tab-pane label="微信商户配置" name="wxInfo">
+ <avue-form ref="wxForm" :option="wxPayOption" v-model="wxPayForm" @submit="wxSubmit">
+ </avue-form>
+ </el-tab-pane>
+ <el-tab-pane label="支付宝商户配置" name="second">
+ <avue-form ref="aliForm" :option="aliPayOption" v-model="aliPayForm" @submit="aliSubmit">
+ </avue-form>
+ </el-tab-pane>
- </el-tabs>
+ </el-tabs>
- <!-- <div slot="footer" class="dialog-footer">-->
- <!-- <el-button @click="payInfoVisible = false">取 消</el-button>-->
- <!-- <el-button type="primary"@click="submit">提 交</el-button>-->
- <!-- </div>-->
+ <!-- <div slot="footer" class="dialog-footer">-->
+ <!-- <el-button @click="payInfoVisible = false">取 消</el-button>-->
+ <!-- <el-button type="primary"@click="submit">提 交</el-button>-->
+ <!-- </div>-->
- </el-dialog>
+ </el-dialog>
- <!-- <propertyEdit ref="propertyEdit"></propertyEdit> -->
+ <!-- <propertyEdit ref="propertyEdit"></propertyEdit> -->
- </basic-container>
+ </basic-container>
</template>
<script>
- import {
+import {
getList,
remove,
update,
@@ -60,547 +61,547 @@
getPayConfig,
saveOrUpdateWx,
saveOrUpdateAli
- } from "@/api/property/propertyCompany"
- import {
+} from "@/api/property/propertyCompany"
+import {
mapGetters
- } from "vuex"
- import website from '@/config/website'
- import func from "@/util/func"
+} from "vuex"
+import website from '@/config/website'
+import func from "@/util/func"
- // import propertyEdit from './components/propertyEdit.vue'
+// import propertyEdit from './components/propertyEdit.vue'
- const labelWidth = 120
- export default {
+const labelWidth = 120
+export default {
components: {
- // propertyEdit
+ // propertyEdit
},
- data() {
- return {
- currentTab: "wxInfo",
- payInfoVisible: false,
- currentRow: {},
+ data () {
+ return {
+ currentTab: "wxInfo",
+ payInfoVisible: false,
+ currentRow: {},
- form: {},
- query: {},
- loading: true,
- page: {
- pageSize: 10,
- currentPage: 1,
- total: 0,
- },
- datetime: "",
- selectionList: [],
- option: {
- labelWidth: 120,
- searchLabelWidth: 96,
- searchShow: true,
- searchMenuSpan: 3,
- menuWidth: 280,
- menu: false,
- height: "auto",
- calcHeight: 54,
- dialogWidth: 1150,
- tip: false,
- border: true,
- //stripe:true,
- index: true,
- // viewBtn: true,
- delBtn: false,
- selection: true,
- dialogClickModal: false,
- column: [{
- overHidden: true,
- label: "物业公司名称",
- prop: "name",
- searchSpan: 5,
- searchLabelWidth: 124,
- search: true,
- span: 18,
- row: true,
- width: 200,
- rules: [{
- required: true,
- message: "请输入物业公司名称",
- trigger: "blur",
- }, ],
+ form: {},
+ query: {},
+ loading: true,
+ page: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0,
},
- {
- label: '省份',
- prop: 'province',
- type: 'select',
- props: {
- label: 'name',
- value: 'code'
- },
- hide: true,
- span: 6,
- cascader: ['city'],
- dicUrl: `/api/blade-system/region/select`,
- rules: [{
- required: true,
- message: '请选择省份',
- trigger: 'blur'
- }]
- },
- {
- label: '城市',
- prop: 'city',
- type: 'select',
- span: 6,
- labelWidth: 60,
- cascader: ['area'],
- props: {
- label: 'name',
- value: 'code'
- },
- hide: true,
- dicUrl: `/api/blade-system/region/select?code={{key}}`,
- rules: [{
- required: true,
- message: '请选择城市',
- trigger: 'blur'
- }]
- },
- {
- label: '地区',
- prop: 'area',
- type: 'select',
- span: 6,
- width: 260,
- props: {
- label: 'name',
- value: 'code'
- },
- hide: true,
- dicUrl: `/api/blade-system/region/select?code={{key}}`,
- rules: [{
- required: true,
- message: '请选择地区',
- trigger: 'blur'
- }]
- },
- {
- overHidden: true,
- label: "地址",
- prop: "address",
- span: 18,
- row: true,
- width: 160,
- },
- {
- label: "社会信用代码",
- prop: "socialCreditCode",
- searchSpan: 5,
- // searchLabelWidth: 124,
- search: true,
- span: 18,
- row: true,
- width: 100,
-
- },
- {
- label: "基础信息分",
- prop: "baseInfoScore",
- display: false,
- },
- {
- label: "经营信息分",
- prop: "operateinfoScore",
- display: false,
- },
- {
- label: "纳税信息分",
- prop: "taxInfoScore",
- display: false,
- },
- {
- label: "党建信息分",
- prop: "partyBuildingInfoScore",
- display: false,
- },
- {
- label: "企业良好信息分",
- prop: "goodCorporateScore",
- display: false,
- },
- {
- label: "项目良好信息分",
- prop: "goodCorporateScore",
- display: false,
- },
- {
- label: "违法违规行为分",
- prop: "goodCorporateScore",
- display: false,
- },
- {
- label: "评价平均分",
- prop: "evaluateScore",
- display: false,
- },
- {
- label: "街道社区分",
- prop: "streetScore",
- display: false,
- },
- {
- label: "总分",
- prop: "allScore",
- display: false,
- },
-
- {
- label: "简介",
- prop: "remark",
- component: "AvueUeditor",
- options: {
- action: "/api/blade-resource/oss/endpoint/put-file-attach",
- props: {
- res: "data",
- url: "link",
+ datetime: "",
+ selectionList: [],
+ option: {
+ labelWidth: 120,
+ searchLabelWidth: 96,
+ searchShow: true,
+ searchMenuSpan: 3,
+ menuWidth: 280,
+ menu: false,
+ height: "auto",
+ calcHeight: 54,
+ dialogWidth: 1150,
+ tip: false,
+ border: true,
+ //stripe:true,
+ index: true,
+ // viewBtn: true,
+ delBtn: false,
+ selection: true,
+ dialogClickModal: false,
+ column: [{
+ overHidden: true,
+ label: "物业公司名称",
+ prop: "name",
+ searchSpan: 5,
+ searchLabelWidth: 104,
+ search: true,
+ span: 18,
+ row: true,
+ width: 200,
+ rules: [{
+ required: true,
+ message: "请输入物业公司名称",
+ trigger: "blur",
+ },],
},
- },
- hide: true,
- minRows: 6,
- span: 24,
- },
- ],
- },
- data: [],
+ {
+ label: '省份',
+ prop: 'province',
+ type: 'select',
+ props: {
+ label: 'name',
+ value: 'code'
+ },
+ hide: true,
+ span: 6,
+ cascader: ['city'],
+ dicUrl: `/api/blade-system/region/select`,
+ rules: [{
+ required: true,
+ message: '请选择省份',
+ trigger: 'blur'
+ }]
+ },
+ {
+ label: '城市',
+ prop: 'city',
+ type: 'select',
+ span: 6,
+ labelWidth: 60,
+ cascader: ['area'],
+ props: {
+ label: 'name',
+ value: 'code'
+ },
+ hide: true,
+ dicUrl: `/api/blade-system/region/select?code={{key}}`,
+ rules: [{
+ required: true,
+ message: '请选择城市',
+ trigger: 'blur'
+ }]
+ },
+ {
+ label: '地区',
+ prop: 'area',
+ type: 'select',
+ span: 6,
+ width: 260,
+ props: {
+ label: 'name',
+ value: 'code'
+ },
+ hide: true,
+ dicUrl: `/api/blade-system/region/select?code={{key}}`,
+ rules: [{
+ required: true,
+ message: '请选择地区',
+ trigger: 'blur'
+ }]
+ },
+ {
+ overHidden: true,
+ label: "地址",
+ prop: "address",
+ span: 18,
+ row: true,
+ width: 160,
+ },
+ {
+ label: "社会信用代码",
+ prop: "socialCreditCode",
+ searchSpan: 5,
+ searchLabelWidth: 124,
+ search: true,
+ span: 18,
+ row: true,
+ width: 100,
- wxPayForm: {},
- wxPayOption: {
- emptyBtn: false,
- height: "auto",
- calcHeight: 180,
- //stripe:true,
- column: [{
- label: "appId",
- labelWidth: labelWidth,
- prop: "appId",
- span: 24,
- rules: [{
- required: true,
- message: "请输入appId",
- trigger: ["blur", "change"]
- }, ],
- },
- {
- label: "mch-id",
- labelWidth: labelWidth,
- prop: "mchId",
- span: 24,
- rules: [{
- required: true,
- message: "请输入mch-id",
- trigger: ["blur", "change"]
- }, ],
- },
- {
- label: "mchKey",
- labelWidth: labelWidth,
- prop: "mchKey",
- rules: [{
- required: true,
- message: "请输入mchKey",
- trigger: ["blur", "change"]
- }, ],
- span: 24,
- },
- {
- label: "appSecret",
- labelWidth: labelWidth,
- prop: "appSecret",
- rules: [{
- required: true,
- message: "请输入appSecret",
- trigger: ["blur", "change"]
- }, ],
- span: 24,
- },
- {
- label: '安全证书',
- labelWidth: labelWidth,
- prop: 'keyPath',
- type: 'upload',
- drag: true,
- limit: 1,
- loadText: '上传中,请稍等',
- span: 24,
- action: "/api/blade-resource/oss/endpoint/put-file",
- propsHttp: {
- res: "data",
- name: 'name',
- url: "link",
- },
- rules: [{
- required: true,
- message: "请上传安全证书",
- trigger: ["blur", "change"]
- }, ],
- },
- ],
- },
+ },
+ {
+ label: "基础信息分",
+ prop: "baseInfoScore",
+ display: false,
+ },
+ {
+ label: "经营信息分",
+ prop: "operateinfoScore",
+ display: false,
+ },
+ {
+ label: "纳税信息分",
+ prop: "taxInfoScore",
+ display: false,
+ },
+ {
+ label: "党建信息分",
+ prop: "partyBuildingInfoScore",
+ display: false,
+ },
+ {
+ label: "企业良好信息分",
+ prop: "goodCorporateScore",
+ display: false,
+ },
+ {
+ label: "项目良好信息分",
+ prop: "goodCorporateScore",
+ display: false,
+ },
+ {
+ label: "违法违规行为分",
+ prop: "goodCorporateScore",
+ display: false,
+ },
+ {
+ label: "评价平均分",
+ prop: "evaluateScore",
+ display: false,
+ },
+ {
+ label: "街道社区分",
+ prop: "streetScore",
+ display: false,
+ },
+ {
+ label: "总分",
+ prop: "allScore",
+ display: false,
+ },
- aliPayForm: {},
- aliPayOption: {
- emptyBtn: false,
- height: "auto",
- calcHeight: 180,
- //stripe:true,
- column: [{
- label: "appId",
- labelWidth: labelWidth,
- prop: "appId",
- span: 24,
- rules: [{
- required: true,
- message: "请输入appId",
- trigger: ["blur", "change"]
- }, ],
+ {
+ label: "简介",
+ prop: "remark",
+ component: "AvueUeditor",
+ options: {
+ action: "/api/blade-resource/oss/endpoint/put-file-attach",
+ props: {
+ res: "data",
+ url: "link",
+ },
+ },
+ hide: true,
+ minRows: 6,
+ span: 24,
+ },
+ ],
},
- {
- label: "privateKey",
- labelWidth: labelWidth,
- prop: "privateKey",
- span: 24,
- rules: [{
- required: true,
- message: "请输入privateKey",
- trigger: ["blur", "change"]
- }, ],
+ data: [],
+
+ wxPayForm: {},
+ wxPayOption: {
+ emptyBtn: false,
+ height: "auto",
+ calcHeight: 180,
+ //stripe:true,
+ column: [{
+ label: "appId",
+ labelWidth: labelWidth,
+ prop: "appId",
+ span: 24,
+ rules: [{
+ required: true,
+ message: "请输入appId",
+ trigger: ["blur", "change"]
+ },],
+ },
+ {
+ label: "mch-id",
+ labelWidth: labelWidth,
+ prop: "mchId",
+ span: 24,
+ rules: [{
+ required: true,
+ message: "请输入mch-id",
+ trigger: ["blur", "change"]
+ },],
+ },
+ {
+ label: "mchKey",
+ labelWidth: labelWidth,
+ prop: "mchKey",
+ rules: [{
+ required: true,
+ message: "请输入mchKey",
+ trigger: ["blur", "change"]
+ },],
+ span: 24,
+ },
+ {
+ label: "appSecret",
+ labelWidth: labelWidth,
+ prop: "appSecret",
+ rules: [{
+ required: true,
+ message: "请输入appSecret",
+ trigger: ["blur", "change"]
+ },],
+ span: 24,
+ },
+ {
+ label: '安全证书',
+ labelWidth: labelWidth,
+ prop: 'keyPath',
+ type: 'upload',
+ drag: true,
+ limit: 1,
+ loadText: '上传中,请稍等',
+ span: 24,
+ action: "/api/blade-resource/oss/endpoint/put-file",
+ propsHttp: {
+ res: "data",
+ name: 'name',
+ url: "link",
+ },
+ rules: [{
+ required: true,
+ message: "请上传安全证书",
+ trigger: ["blur", "change"]
+ },],
+ },
+ ],
},
- {
- label: "publicKey",
- labelWidth: labelWidth,
- prop: "publicKey",
- span: 24,
- rules: [{
- required: true,
- message: "请输入publicKey",
- trigger: ["blur", "change"]
- }, ],
- },
- ],
+
+ aliPayForm: {},
+ aliPayOption: {
+ emptyBtn: false,
+ height: "auto",
+ calcHeight: 180,
+ //stripe:true,
+ column: [{
+ label: "appId",
+ labelWidth: labelWidth,
+ prop: "appId",
+ span: 24,
+ rules: [{
+ required: true,
+ message: "请输入appId",
+ trigger: ["blur", "change"]
+ },],
+ },
+ {
+ label: "privateKey",
+ labelWidth: labelWidth,
+ prop: "privateKey",
+ span: 24,
+ rules: [{
+ required: true,
+ message: "请输入privateKey",
+ trigger: ["blur", "change"]
+ },],
+ },
+ {
+ label: "publicKey",
+ labelWidth: labelWidth,
+ prop: "publicKey",
+ span: 24,
+ rules: [{
+ required: true,
+ message: "请输入publicKey",
+ trigger: ["blur", "change"]
+ },],
+ },
+ ],
+ }
+
}
-
- }
},
watch: {},
computed: {
- ...mapGetters(["permission", "userInfo"]),
- permissionList() {
- return {
- addBtn: this.vaildData(this.permission.propertyCompany_add, true),
- viewBtn: this.vaildData(this.permission.propertyCompany_view, true),
- delBtn: this.vaildData(this.permission.propertyCompany_delete, true),
- editBtn: this.vaildData(this.permission.propertyCompany_edit, true),
- }
- },
- ids() {
- let ids = []
- this.selectionList.forEach((ele) => {
- ids.push(ele.id)
- })
- return ids.join(",")
- },
+ ...mapGetters(["permission", "userInfo"]),
+ permissionList () {
+ return {
+ addBtn: this.vaildData(this.permission.propertyCompany_add, true),
+ viewBtn: this.vaildData(this.permission.propertyCompany_view, true),
+ delBtn: this.vaildData(this.permission.propertyCompany_delete, true),
+ editBtn: this.vaildData(this.permission.propertyCompany_edit, true),
+ }
+ },
+ ids () {
+ let ids = []
+ this.selectionList.forEach((ele) => {
+ ids.push(ele.id)
+ })
+ return ids.join(",")
+ },
},
- created() {},
+ created () { },
methods: {
- addProperty(row) {
- this.$refs.propertyEdit.init(row);
- },
+ addProperty (row) {
+ this.$refs.propertyEdit.init(row)
+ },
- aliSubmit(form, done) {
+ aliSubmit (form, done) {
- console.log("支付宝商户配置", this.aliPayForm)
+ console.log("支付宝商户配置", this.aliPayForm)
- this.aliPayForm.propertyCompanyId = this.currentRow.id
- saveOrUpdateAli(this.aliPayForm).then(res => {
- this.$message({
- type: "success",
- message: "操作成功!",
- })
- done()
- })
-
- },
-
- wxSubmit(form, done) {
- this.wxPayForm.propertyCompanyId = this.currentRow.id
-
- this.wxPayForm.keyPath = func.join(this.wxPayForm.keyPath)
- if (this.wxPayForm.keyPath.length > 0) {
- var urls = []
- var split = this.wxPayForm.keyPath.split(",")
- split.forEach(url => {
- var names = url.split("jczz/")
- urls.push(names[1])
- })
- this.wxPayForm.keyPath = urls.join(",")
- }
-
- console.log("微信商户配置", this.wxPayForm)
- saveOrUpdateWx(this.wxPayForm).then(res => {
- this.$message({
- type: "success",
- message: "操作成功!",
- })
- done()
- })
- },
-
- openPayConfig(row) {
- this.currentRow = row
- //调接口获取商户数据
- getPayConfig(row.id).then(res => {
- let data = res.data.data
- this.wxPayForm = data.wxPayInfo ? data.wxPayInfo : {}
- this.aliPayForm = data.aliPayInfo ? data.aliPayInfo : {}
- })
- this.payInfoVisible = !this.payInfoVisible
- },
-
- rowSave(row, done, loading) {
- row.userid = this.userInfo.user_id
- add(row).then(
- () => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
+ this.aliPayForm.propertyCompanyId = this.currentRow.id
+ saveOrUpdateAli(this.aliPayForm).then(res => {
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ done()
})
+
+ },
+
+ wxSubmit (form, done) {
+ this.wxPayForm.propertyCompanyId = this.currentRow.id
+
+ this.wxPayForm.keyPath = func.join(this.wxPayForm.keyPath)
+ if (this.wxPayForm.keyPath.length > 0) {
+ var urls = []
+ var split = this.wxPayForm.keyPath.split(",")
+ split.forEach(url => {
+ var names = url.split("jczz/")
+ urls.push(names[1])
+ })
+ this.wxPayForm.keyPath = urls.join(",")
+ }
+
+ console.log("微信商户配置", this.wxPayForm)
+ saveOrUpdateWx(this.wxPayForm).then(res => {
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ done()
+ })
+ },
+
+ openPayConfig (row) {
+ this.currentRow = row
+ //调接口获取商户数据
+ getPayConfig(row.id).then(res => {
+ let data = res.data.data
+ this.wxPayForm = data.wxPayInfo ? data.wxPayInfo : {}
+ this.aliPayForm = data.aliPayInfo ? data.aliPayInfo : {}
+ })
+ this.payInfoVisible = !this.payInfoVisible
+ },
+
+ rowSave (row, done, loading) {
+ row.userid = this.userInfo.user_id
+ add(row).then(
+ () => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ done()
+ },
+ (error) => {
+ window.console.log(error)
+ loading()
+ }
+ )
+ },
+ rowUpdate (row, index, done, loading) {
+ update(row).then(
+ () => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ done()
+ },
+ (error) => {
+ window.console.log(error)
+ loading()
+ }
+ )
+ },
+ rowDel (row) {
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ })
+ .then(() => {
+ return remove(row.id)
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ })
+ },
+ searchReset () {
+ this.query = {}
+ this.onLoad(this.page)
+ },
+ searchChange (params, done) {
+ this.query = params
+ this.page.currentPage = 1
+ this.onLoad(this.page, params)
done()
- },
- (error) => {
- window.console.log(error)
- loading()
- }
- )
- },
- rowUpdate(row, index, done, loading) {
- update(row).then(
- () => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
- })
- done()
- },
- (error) => {
- window.console.log(error)
- loading()
- }
- )
- },
- rowDel(row) {
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- })
- .then(() => {
- return remove(row.id)
- })
- .then(() => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
- })
- })
- },
- searchReset() {
- this.query = {}
- this.onLoad(this.page)
- },
- searchChange(params, done) {
- this.query = params
- this.page.currentPage = 1
- this.onLoad(this.page, params)
- done()
- },
- selectionChange(list) {
- this.selectionList = list
- },
- selectionClear() {
- this.selectionList = []
- this.$refs.crud.toggleSelection()
- },
- handleDelete() {
- if (this.selectionList.length === 0) {
- this.$message.warning("请选择至少一条数据")
- return
- }
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- })
- .then(() => {
- return remove(this.ids)
- })
- .then(() => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
- })
+ },
+ selectionChange (list) {
+ this.selectionList = list
+ },
+ selectionClear () {
+ this.selectionList = []
this.$refs.crud.toggleSelection()
- })
- },
- beforeOpen(done, type) {
- if (["edit", "view"].includes(type)) {
- getPropertyCompany(this.form.id).then((res) => {
- this.form = res.data.data
- })
+ },
+ handleDelete () {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据")
+ return
+ }
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ })
+ .then(() => {
+ return remove(this.ids)
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ this.$refs.crud.toggleSelection()
+ })
+ },
+ beforeOpen (done, type) {
+ if (["edit", "view"].includes(type)) {
+ getPropertyCompany(this.form.id).then((res) => {
+ this.form = res.data.data
+ })
+ }
+ // con
+ done()
+ },
+ currentChange (currentPage) {
+ this.page.currentPage = currentPage
+ },
+ sizeChange (pageSize) {
+ this.page.pageSize = pageSize
+ },
+ refreshChange () {
+ this.onLoad(this.page, this.query)
+ },
+ onLoad (page, params = {}) {
+ const {
+ dateTime
+ } = this.query
+ let values = {
+ ...params,
+ }
+ if (dateTime) {
+ values = {
+ ...params,
+ startTime: dateTime[0],
+ endTime: dateTime[1],
+ ...this.query,
+ }
+ values.dateTime = null
+ }
+ this.loading = true
+ getList(page.currentPage, page.pageSize, values).then((res) => {
+ const data = res.data.data
+ this.page.total = data.total
+ this.data = data.records
+ this.loading = false
+ this.selectionClear()
+ })
}
- // con
- done()
- },
- currentChange(currentPage) {
- this.page.currentPage = currentPage
- },
- sizeChange(pageSize) {
- this.page.pageSize = pageSize
- },
- refreshChange() {
- this.onLoad(this.page, this.query)
- },
- onLoad(page, params = {}) {
- const {
- dateTime
- } = this.query
- let values = {
- ...params,
- }
- if (dateTime) {
- values = {
- ...params,
- startTime: dateTime[0],
- endTime: dateTime[1],
- ...this.query,
- }
- values.dateTime = null
- }
- this.loading = true
- getList(page.currentPage, page.pageSize, values).then((res) => {
- const data = res.data.data
- this.page.total = data.total
- this.data = data.records
- this.loading = false
- this.selectionClear()
- })
- }
}
- }
+}
</script>
<style>
- .avue-upload__icon {
+.avue-upload__icon {
line-height: 6;
- }
+}
</style>
diff --git a/src/views/propertySupervision/residentSupervision.vue b/src/views/propertySupervision/residentSupervision.vue
index 2e58023..1a2c2a2 100644
--- a/src/views/propertySupervision/residentSupervision.vue
+++ b/src/views/propertySupervision/residentSupervision.vue
@@ -223,7 +223,7 @@
label: "姓名",
prop: "name",
searchSpan: 3,
- searchLabelWidth: 66,
+ searchLabelWidth: 50,
search: true,
rules: [{
required: true,
diff --git a/src/views/publicSecurity/bailReporting.vue b/src/views/publicSecurity/bailReporting.vue
index 940b505..797e4dc 100644
--- a/src/views/publicSecurity/bailReporting.vue
+++ b/src/views/publicSecurity/bailReporting.vue
@@ -1,47 +1,50 @@
<template>
- <basic-container>
- <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" ref="crud" @row-del="rowDel"
- v-model="form" :permission="permissionList" @row-update="rowUpdate" @row-save="rowSave" :before-open="beforeOpen"
- @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
- @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
- <template slot-scope="{row, size, index}" slot="menu">
- <el-button :size="size" type="text" icon="el-icon-view" v-if="permission.bail_view" plain @click="lookDetail(row, 0)">查 看
- </el-button>
- <el-button :size="size" type="text" icon="el-icon-s-check" v-if="row.status == 1 && permission.bail_check" plain
- @click="lookDetail(row, 1)">审 核
- </el-button>
- <el-button :size="size" type="text" icon="el-icon-delete" v-if="permission.bail_del" plain @click="rowDel(row)">删 除
- </el-button>
- </template>
+ <basic-container>
+ <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" ref="crud" @row-del="rowDel"
+ v-model="form" :permission="permissionList" @row-update="rowUpdate" @row-save="rowSave"
+ :before-open="beforeOpen" @search-change="searchChange" @search-reset="searchReset"
+ @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
+ @refresh-change="refreshChange" @on-load="onLoad">
+ <template slot-scope="{row, size, index}" slot="menu">
+ <el-button :size="size" type="text" icon="el-icon-view" v-if="permission.bail_view" plain
+ @click="lookDetail(row, 0)">查 看
+ </el-button>
+ <el-button :size="size" type="text" icon="el-icon-s-check" v-if="row.status == 1 && permission.bail_check"
+ plain @click="lookDetail(row, 1)">审 核
+ </el-button>
+ <el-button :size="size" type="text" icon="el-icon-delete" v-if="permission.bail_del" plain
+ @click="rowDel(row)">删 除
+ </el-button>
+ </template>
- <template slot="status" slot-scope="{row, size}">
- <el-tag :size="size" :type="showStatus(row.status).type">
- {{ showStatus(row.status).text }}
- </el-tag>
- </template>
- </avue-crud>
+ <template slot="status" slot-scope="{row, size}">
+ <el-tag :size="size" :type="showStatus(row.status).type">
+ {{ showStatus(row.status).text }}
+ </el-tag>
+ </template>
+ </avue-crud>
- <el-dialog class="place-info-box audit-info-box" title="" append-to-body :visible.sync="auditBasePopup" width="60%">
- <bailReportingDetail @colseDetail="colseDetail" ref="bailReportingDetail"></bailReportingDetail>
- </el-dialog>
- </basic-container>
+ <el-dialog class="place-info-box audit-info-box" title="" append-to-body :visible.sync="auditBasePopup" width="60%">
+ <bailReportingDetail @colseDetail="colseDetail" ref="bailReportingDetail"></bailReportingDetail>
+ </el-dialog>
+ </basic-container>
</template>
<script>
import {
- getBailReportingPage,
- removeTask,
- update,
- add,
+ getBailReportingPage,
+ removeTask,
+ update,
+ add,
} from "@/api/task/task"
import {
- update as bailReportingUpdate,
- getList as bailReportingGetList
+ update as bailReportingUpdate,
+ getList as bailReportingGetList
} from "@/api/task/bailReporting"
import {
- mapGetters
+ mapGetters
} from "vuex"
import website from '@/config/website'
@@ -50,450 +53,449 @@
// import baseAllInfo from './components/baseAllInfo'
export default {
- data() {
+ data () {
- //手机号格式校验
- let validatorPhone = function (rule, value, callback) {
- if (value) {
- if (!/^1[3456789]\d{9}$/.test(value)) {
- callback(new Error('手机号格式有误!'))
- } else {
- callback()
- }
- }
- callback()
- }
-
- return {
- curRow: {},
- roleBox: false,
-
- form: {},
- query: {},
- loading: true,
-
- page: {
- pageSize: 10,
- currentPage: 1,
- total: 0,
- },
- datetime: "",
- selectionList: [],
- option: {
- labelWidth: 96,
- searchLabelWidth: 96,
- searchShow: true,
- searchMenuSpan: 3,
- menuWidth: 210,
-
- height: "auto",
- calcHeight: 54,
- dialogWidth: 950,
- tip: false,
- border: true,
- // menu: false,
- //stripe:true,
- index: true,
- // viewBtn: true,
- delBtn: false,
- editBtn: false,
- selection: true,
- dialogClickModal: false,
- column: [{
- span: 12,
- label: "社区",
- prop: "communityName",
- searchSpan: 4,
- searchLabelWidth: 66,
- search: true,
- hide: true,
- },
- {
- span: 12,
- label: "小区",
- prop: "districtName",
- searchSpan: 4,
- searchLabelWidth: 66,
- search: true,
- hide: true,
- },
- {
- width: 100,
- span: 12,
- label: "姓名",
- prop: "realName",
- searchSpan: 3,
- searchLabelWidth: 66,
- search: true,
- }, {
- width: 120,
- span: 12,
- label: "联系方式",
- prop: "phone",
- searchSpan: 4,
- search: true,
- rules: [{
- validator: validatorPhone,
- trigger: 'blur'
- }],
- }, {
- span: 12,
- label: "外出事由",
- prop: "applyName",
- searchSpan: 4,
- search: true,
- },
- {
- width: 110,
- label: "所属街道",
- // hide: true,
- searchSpan: 4,
- // search: true,
- parent: false,
- prop: "streetCode",
- type: "tree",
- dicUrl: "/api/blade-system/region/getTownTree",
- props: {
- label: "name",
- value: "id"
- },
- rules: [{
- required: true,
- message: "请选择所属街道",
- trigger: "blur",
- },],
- }, {
- width: 156,
- // hide: true,
- parent: false,
- searchSpan: 4,
- label: "所属社区",
- prop: "neiCode",
- // search: true,
- type: "tree",
- dicUrl: "/api/blade-system/region/tree",
- props: {
- label: "name",
- value: "id",
- },
- cascader: ["gridId"],
- rules: [{
- required: true,
- message: "请选择所属社区",
- trigger: "blur",
- },],
- }, {
- width: 220,
- overHidden: true,
- label: "小区",
- prop: "aoiCode",
- searchSpan: 4,
- type: 'tree',
- searchLabelWidth: 66,
- // search: true,
- parent: false,
- dicUrl: `/api/blade-district/district/getDistrictTree`,
- props: {
- label: "name",
- value: "aoiCode"
- },
- // defaultExpandedKeys: ["361102003"],
- span: 12,
- rules: [{
- required: true,
- message: "请选择小区",
- trigger: "blur",
- },],
- // disabled: true
- display: true,
- // hide: true,
- },
- // {
- // width: 144,
- // label: "创建时间",
- // prop: "createTime",
- // searchSpan: 4,
- // },
- {
- width: 100,
- addDisplay: false,
- editDisplay: false,
- viewDisplay: false,
- label: '审核状态',
- prop: 'status',
- type: 'radio',
- slot: true,
- dicData: [{
- label: '待审核',
- value: 1
- }, {
- label: '已审核',
- value: 2
- }, {
- label: '未通过',
- value: 3
- }]
- },
-
-
- ],
- },
- data: [],
-
- auditBasePopup: false,
- }
- },
-
- provide() {
- return {
- placeElement: this,
- }
- },
-
- components: {
- bailReportingDetail,
- },
-
- watch: {},
-
- computed: {
- ...mapGetters(["permission", "userInfo"]),
- permissionList() {
-
- console.log("permission===>",this.permission);
-
- return {
- addBtn: this.vaildData(this.permission.bail_add, false),
- viewBtn: this.vaildData(this.permission.bail_view, true),
- delBtn: this.vaildData(this.permission.bail_del, true),
- // editBtn: this.vaildData(this.permission.place_edit, true),
- }
- },
- ids() {
- let ids = []
- this.selectionList.forEach((ele) => {
- ids.push(ele.id)
- })
- return ids.join(",")
- },
-
- showStatus() {
- return (data) => {
- let tags = {}
-
- if (data == 1) {
- tags = {
- type: 'warning',
- text: '待审核'
- }
- } else if (data == 2) {
- tags = {
- type: 'success',
- text: '已审核'
- }
- } else if (data == 3) {
- tags = {
- type: 'danger',
- text: '未通过'
- }
+ //手机号格式校验
+ let validatorPhone = function (rule, value, callback) {
+ if (value) {
+ if (!/^1[3456789]\d{9}$/.test(value)) {
+ callback(new Error('手机号格式有误!'))
+ } else {
+ callback()
+ }
+ }
+ callback()
}
- return tags
- }
- }
- },
- methods: {
- colseDetail() {
- this.auditBasePopup = false
- this.onLoad(this.page)
- },
- lookDetail(row, applyType) {
- this.auditBasePopup = true
- var that = this
- this.$nextTick(() => {
- that.$refs.bailReportingDetail.init(row, applyType)
- })
- },
- auditCur(row) {
- this.curAuditRow = row
- this.auditBasePopup = true
- },
+ return {
+ curRow: {},
+ roleBox: false,
- roleBoxClose() {
- this.curRow = {}
- },
+ form: {},
+ query: {},
+ loading: true,
- ManageTenants(item) {
- this.curRow = item
- this.roleBox = true
- },
+ page: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0,
+ },
+ datetime: "",
+ selectionList: [],
+ option: {
+ labelWidth: 96,
+ searchLabelWidth: 96,
+ searchShow: true,
+ searchMenuSpan: 3,
+ menuWidth: 210,
- rowSave(row, done, loading) {
- if (row.imageUrls.length > 0) {
- var urls = []
- var split = row.imageUrls.split(",").filter(item => item != '')
- split.forEach(url => {
- var names = url.split("jczz/")
- urls.push(names[1])
- })
- row.imageUrls = urls.join(",")
- }
+ height: "auto",
+ calcHeight: 54,
+ dialogWidth: 950,
+ tip: false,
+ border: true,
+ // menu: false,
+ //stripe:true,
+ index: true,
+ // viewBtn: true,
+ delBtn: false,
+ editBtn: false,
+ selection: true,
+ dialogClickModal: false,
+ column: [{
+ span: 12,
+ label: "社区",
+ prop: "communityName",
+ searchSpan: 4,
+ searchLabelWidth: 46,
+ search: true,
+ hide: true,
+ },
+ {
+ span: 12,
+ label: "小区",
+ prop: "districtName",
+ searchSpan: 4,
+ searchLabelWidth: 66,
+ search: true,
+ hide: true,
+ },
+ {
+ width: 100,
+ span: 12,
+ label: "姓名",
+ prop: "realName",
+ searchSpan: 3,
+ searchLabelWidth: 66,
+ search: true,
+ }, {
+ width: 120,
+ span: 12,
+ label: "联系方式",
+ prop: "phone",
+ searchSpan: 4,
+ search: true,
+ rules: [{
+ validator: validatorPhone,
+ trigger: 'blur'
+ }],
+ }, {
+ span: 12,
+ label: "外出事由",
+ prop: "applyName",
+ searchSpan: 4,
+ search: true,
+ },
+ {
+ width: 110,
+ label: "所属街道",
+ // hide: true,
+ searchSpan: 4,
+ // search: true,
+ parent: false,
+ prop: "streetCode",
+ type: "tree",
+ dicUrl: "/api/blade-system/region/getTownTree",
+ props: {
+ label: "name",
+ value: "id"
+ },
+ rules: [{
+ required: true,
+ message: "请选择所属街道",
+ trigger: "blur",
+ },],
+ }, {
+ width: 156,
+ // hide: true,
+ parent: false,
+ searchSpan: 4,
+ label: "所属社区",
+ prop: "neiCode",
+ // search: true,
+ type: "tree",
+ dicUrl: "/api/blade-system/region/tree",
+ props: {
+ label: "name",
+ value: "id",
+ },
+ cascader: ["gridId"],
+ rules: [{
+ required: true,
+ message: "请选择所属社区",
+ trigger: "blur",
+ },],
+ }, {
+ width: 220,
+ overHidden: true,
+ label: "小区",
+ prop: "aoiCode",
+ searchSpan: 4,
+ type: 'tree',
+ searchLabelWidth: 66,
+ // search: true,
+ parent: false,
+ dicUrl: `/api/blade-district/district/getDistrictTree`,
+ props: {
+ label: "name",
+ value: "aoiCode"
+ },
+ // defaultExpandedKeys: ["361102003"],
+ span: 12,
+ rules: [{
+ required: true,
+ message: "请选择小区",
+ trigger: "blur",
+ },],
+ // disabled: true
+ display: true,
+ // hide: true,
+ },
+ // {
+ // width: 144,
+ // label: "创建时间",
+ // prop: "createTime",
+ // searchSpan: 4,
+ // },
+ {
+ width: 100,
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: false,
+ label: '审核状态',
+ prop: 'status',
+ type: 'radio',
+ slot: true,
+ dicData: [{
+ label: '待审核',
+ value: 1
+ }, {
+ label: '已审核',
+ value: 2
+ }, {
+ label: '未通过',
+ value: 3
+ }]
+ },
- let label = row.label
- if (row.smallLabel != '') {
- label = label + ',' + row.smallLabel
- }
+ ],
+ },
+ data: [],
- delete row.smallLabel
-
- add({
- ...row,
- label
- }).then(
- () => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
- })
- done()
- },
- (error) => {
- window.console.log(error)
- loading()
+ auditBasePopup: false,
}
- )
},
- rowUpdate(row, index, done, loading) {
- bailReportingUpdate({
- ...row
- }).then(
- () => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
- })
- done()
- },
- (error) => {
- window.console.log(error)
- loading()
+ provide () {
+ return {
+ placeElement: this,
}
- )
},
- rowDel(row) {
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- })
- .then(() => {
- row.isDeleted = 1
- return removeTask(row)
- })
- .then(() => {
- this.onLoad(this.page)
-
- this.$message({
- type: "success",
- message: "操作成功!",
- })
- })
- },
- searchReset() {
- this.query = {}
- this.onLoad(this.page)
- },
- searchChange(params, done) {
- this.query = params
- this.page.currentPage = 1
- this.onLoad(this.page, params)
- done()
- },
- selectionChange(list) {
- this.selectionList = list
- },
- selectionClear() {
- this.selectionList = []
- this.$nextTick(() => {
- this.$refs.crud && this.$refs.crud.toggleSelection()
- })
- },
- handleDelete() {
- if (this.selectionList.length === 0) {
- this.$message.warning("请选择至少一条数据")
- return
- }
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- })
- .then(() => {
- // return remove(this.ids)
- })
- .then(() => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
- })
- this.$refs.crud.toggleSelection()
- })
+ components: {
+ bailReportingDetail,
},
- beforeOpen(done, type) {
- if (["edit", "view"].includes(type)) { } else {
- done()
- }
- },
+ watch: {},
- currentChange(currentPage) {
- this.page.currentPage = currentPage
- },
- sizeChange(pageSize) {
- this.page.pageSize = pageSize
- },
- refreshChange() {
- this.onLoad(this.page, this.query)
- },
- onLoad(page, params = {}) {
- const {
- dateTime
- } = this.query
- let values = {
- ...params,
- }
- values.reportType = 1
- this.loading = true
- getBailReportingPage(page.currentPage, page.pageSize, values).then((res) => {
- const data = res.data.data
- this.page.total = data.total
- this.data = data.records
- this.data.forEach(item => {
- if (item.imageUrls && item.imageUrls != '' && item.imageUrls != null && item.imageUrls.length) {
- var urls = []
- var names = item.imageUrls.split(",").filter(item => item != '')
- names.forEach(name => {
- urls.push(website.minioUrl + name)
+ computed: {
+ ...mapGetters(["permission", "userInfo"]),
+ permissionList () {
+
+ console.log("permission===>", this.permission)
+
+ return {
+ addBtn: this.vaildData(this.permission.bail_add, false),
+ viewBtn: this.vaildData(this.permission.bail_view, true),
+ delBtn: this.vaildData(this.permission.bail_del, true),
+ // editBtn: this.vaildData(this.permission.place_edit, true),
+ }
+ },
+ ids () {
+ let ids = []
+ this.selectionList.forEach((ele) => {
+ ids.push(ele.id)
})
- item.imageUrls = urls.join(",")
- }
- })
- this.loading = false
- this.selectionClear()
- })
+ return ids.join(",")
+ },
+
+ showStatus () {
+ return (data) => {
+ let tags = {}
+
+ if (data == 1) {
+ tags = {
+ type: 'warning',
+ text: '待审核'
+ }
+ } else if (data == 2) {
+ tags = {
+ type: 'success',
+ text: '已审核'
+ }
+ } else if (data == 3) {
+ tags = {
+ type: 'danger',
+ text: '未通过'
+ }
+ }
+
+ return tags
+ }
+ }
+ },
+ methods: {
+ colseDetail () {
+ this.auditBasePopup = false
+ this.onLoad(this.page)
+ },
+ lookDetail (row, applyType) {
+ this.auditBasePopup = true
+ var that = this
+ this.$nextTick(() => {
+ that.$refs.bailReportingDetail.init(row, applyType)
+ })
+ },
+ auditCur (row) {
+ this.curAuditRow = row
+ this.auditBasePopup = true
+ },
+
+ roleBoxClose () {
+ this.curRow = {}
+ },
+
+ ManageTenants (item) {
+ this.curRow = item
+ this.roleBox = true
+ },
+
+ rowSave (row, done, loading) {
+ if (row.imageUrls.length > 0) {
+ var urls = []
+ var split = row.imageUrls.split(",").filter(item => item != '')
+ split.forEach(url => {
+ var names = url.split("jczz/")
+ urls.push(names[1])
+ })
+ row.imageUrls = urls.join(",")
+ }
+
+ let label = row.label
+
+ if (row.smallLabel != '') {
+ label = label + ',' + row.smallLabel
+ }
+
+ delete row.smallLabel
+
+ add({
+ ...row,
+ label
+ }).then(
+ () => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ done()
+ },
+ (error) => {
+ window.console.log(error)
+ loading()
+ }
+ )
+ },
+
+ rowUpdate (row, index, done, loading) {
+ bailReportingUpdate({
+ ...row
+ }).then(
+ () => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ done()
+ },
+ (error) => {
+ window.console.log(error)
+ loading()
+ }
+ )
+ },
+
+ rowDel (row) {
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ })
+ .then(() => {
+ row.isDeleted = 1
+ return removeTask(row)
+ })
+ .then(() => {
+ this.onLoad(this.page)
+
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ })
+ },
+ searchReset () {
+ this.query = {}
+ this.onLoad(this.page)
+ },
+ searchChange (params, done) {
+ this.query = params
+ this.page.currentPage = 1
+ this.onLoad(this.page, params)
+ done()
+ },
+ selectionChange (list) {
+ this.selectionList = list
+ },
+ selectionClear () {
+ this.selectionList = []
+ this.$nextTick(() => {
+ this.$refs.crud && this.$refs.crud.toggleSelection()
+ })
+ },
+ handleDelete () {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据")
+ return
+ }
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ })
+ .then(() => {
+ // return remove(this.ids)
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ this.$refs.crud.toggleSelection()
+ })
+ },
+
+ beforeOpen (done, type) {
+ if (["edit", "view"].includes(type)) { } else {
+ done()
+ }
+ },
+
+ currentChange (currentPage) {
+ this.page.currentPage = currentPage
+ },
+ sizeChange (pageSize) {
+ this.page.pageSize = pageSize
+ },
+ refreshChange () {
+ this.onLoad(this.page, this.query)
+ },
+ onLoad (page, params = {}) {
+ const {
+ dateTime
+ } = this.query
+ let values = {
+ ...params,
+ }
+ values.reportType = 1
+ this.loading = true
+ getBailReportingPage(page.currentPage, page.pageSize, values).then((res) => {
+ const data = res.data.data
+ this.page.total = data.total
+ this.data = data.records
+ this.data.forEach(item => {
+ if (item.imageUrls && item.imageUrls != '' && item.imageUrls != null && item.imageUrls.length) {
+ var urls = []
+ var names = item.imageUrls.split(",").filter(item => item != '')
+ names.forEach(name => {
+ urls.push(website.minioUrl + name)
+ })
+ item.imageUrls = urls.join(",")
+ }
+ })
+ this.loading = false
+ this.selectionClear()
+ })
+ }
}
- }
}
</script>
<style>
.avue-upload__icon {
- line-height: 6;
-}
-</style>
\ No newline at end of file
+ line-height: 6;
+}</style>
\ No newline at end of file
diff --git a/src/views/publicSecurity/keynotePlaceManage.vue b/src/views/publicSecurity/keynotePlaceManage.vue
index 588d5d5..891f8e4 100644
--- a/src/views/publicSecurity/keynotePlaceManage.vue
+++ b/src/views/publicSecurity/keynotePlaceManage.vue
@@ -1,574 +1,575 @@
<template>
- <basic-container>
- <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" ref="crud" @row-del="rowDel"
- v-model="form" :permission="permissionList" @row-update="rowUpdate" @row-save="rowSave" :before-open="beforeOpen"
- @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
- @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
+ <basic-container>
+ <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" ref="crud" @row-del="rowDel"
+ v-model="form" :permission="permissionList" @row-update="rowUpdate" @row-save="rowSave"
+ :before-open="beforeOpen" @search-change="searchChange" @search-reset="searchReset"
+ @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
+ @refresh-change="refreshChange" @on-load="onLoad">
- <template slot-scope="{row, size}" slot="menu">
- <el-button type="text" :size="size" icon="el-icon-view" v-if="permission.place_view" plain
- @click="lookDetail(row, 0)">查 看
- </el-button>
- <el-button type="text" :size="size" icon="el-icon-s-check" v-if="permission.place_check && row.status == 1"
- plain @click="lookDetail(row, 1)">审 核
- </el-button>
- <el-button type="text" :size="size" icon="el-icon-delete" v-if="permission.place_del" plain
- @click="rowDel(row)">删 除
- </el-button>
- </template>
+ <template slot-scope="{row, size}" slot="menu">
+ <el-button type="text" :size="size" icon="el-icon-view" v-if="permission.place_view" plain
+ @click="lookDetail(row, 0)">查 看
+ </el-button>
+ <el-button type="text" :size="size" icon="el-icon-s-check" v-if="permission.place_check && row.status == 1"
+ plain @click="lookDetail(row, 1)">审 核
+ </el-button>
+ <el-button type="text" :size="size" icon="el-icon-delete" v-if="permission.place_del" plain
+ @click="rowDel(row)">删 除
+ </el-button>
+ </template>
- <template slot="status" slot-scope="{row, size}">
- <el-tag :size="size" :type="showStatus(row.status).type">
- {{ showStatus(row.status).text }}
- </el-tag>
- </template>
+ <template slot="status" slot-scope="{row, size}">
+ <el-tag :size="size" :type="showStatus(row.status).type">
+ {{ showStatus(row.status).text }}
+ </el-tag>
+ </template>
- </avue-crud>
+ </avue-crud>
- <el-dialog title="" append-to-body :visible.sync="auditBasePopup" width="60%">
- <campusReporting @colseDetail="colseDetail" v-if="taskType == 6" ref="campusReporting"></campusReporting>
- <hotelReporting @colseDetail="colseDetail" v-if="taskType == 2" ref="hotelReporting"></hotelReporting>
- <labelReporting @colseDetail="colseDetail" v-if="taskType == 3" ref="labelReporting"></labelReporting>
- </el-dialog>
- </basic-container>
+ <el-dialog title="" append-to-body :visible.sync="auditBasePopup" width="60%">
+ <campusReporting @colseDetail="colseDetail" v-if="taskType == 6" ref="campusReporting"></campusReporting>
+ <hotelReporting @colseDetail="colseDetail" v-if="taskType == 2" ref="hotelReporting"></hotelReporting>
+ <labelReporting @colseDetail="colseDetail" v-if="taskType == 3" ref="labelReporting"></labelReporting>
+ </el-dialog>
+ </basic-container>
</template>
<script>
- import {
+import {
getList,
removeTask,
update,
add,
- } from "@/api/task/task"
+} from "@/api/task/task"
- import {
+import {
mapGetters
- } from "vuex"
+} from "vuex"
- import website from '@/config/website'
- import campusReporting from './components/campusReporting'
- import hotelReporting from './components/hotelReporting'
- import labelReporting from './components/labelReporting'
+import website from '@/config/website'
+import campusReporting from './components/campusReporting'
+import hotelReporting from './components/hotelReporting'
+import labelReporting from './components/labelReporting'
- export default {
- data() {
+export default {
+ data () {
- //手机号格式校验
- let validatorPhone = function(rule, value, callback) {
- if (value) {
- if (!/^1[3456789]\d{9}$/.test(value)) {
- callback(new Error('手机号格式有误!'))
- } else {
+ //手机号格式校验
+ let validatorPhone = function (rule, value, callback) {
+ if (value) {
+ if (!/^1[3456789]\d{9}$/.test(value)) {
+ callback(new Error('手机号格式有误!'))
+ } else {
+ callback()
+ }
+ }
callback()
- }
}
- callback()
- }
- return {
- taskType: 0,
- curRow: {},
- roleBox: false,
+ return {
+ taskType: 0,
+ curRow: {},
+ roleBox: false,
- form: {},
- query: {},
- loading: true,
+ form: {},
+ query: {},
+ loading: true,
- page: {
- pageSize: 10,
- currentPage: 1,
- total: 0,
- },
- datetime: "",
- selectionList: [],
- option: {
- labelWidth: 96,
- searchLabelWidth: 96,
- searchShow: true,
- searchMenuSpan: 3,
- menuWidth: 210,
-
- height: "auto",
- calcHeight: 54,
- dialogWidth: 950,
- tip: false,
- // menu: false,
- border: true,
- //stripe:true,
- index: true,
- // viewBtn: true,
- editBtn: false,
- delBtn: false,
- selection: true,
- dialogClickModal: false,
- column: [{
- span: 12,
- label: "社区",
- prop: "communityName",
- searchSpan: 4,
- searchLabelWidth: 66,
- search: true,
- hide: true,
+ page: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0,
},
- {
- width: 110,
- span: 12,
- label: "场所负责人",
- prop: "realName",
- searchSpan: 4,
- searchLabelWidth: 100,
- search: true,
- }, {
- width: 120,
- span: 12,
- label: "联系方式",
- prop: "phone",
- searchSpan: 4,
- search: true,
- rules: [{
- validator: validatorPhone,
- trigger: 'blur'
- }],
- }, {
- overHidee: true,
- span: 12,
- label: "地址",
- prop: "addressName",
- searchSpan: 4,
- // search: true,
- rules: [{
- required: true,
- message: "请输入地址",
- trigger: "blur",
- }, ],
- }, {
- width: 110,
- label: "所属街道",
- // hide: true,
- // search: true,
- parent: false,
- searchSpan: 4,
- prop: "streetCode",
- type: "tree",
- dicUrl: "/api/blade-system/region/getTownTree",
- props: {
- label: "name",
- value: "id"
- },
- rules: [{
- required: true,
- message: "请选择所属街道",
- trigger: "blur",
- }, ],
- }, {
- width: 156,
- // hide: true,
- parent: false,
- searchSpan: 4,
- label: "所属社区",
- prop: "neiCode",
- // search: false,
- type: "tree",
- dicUrl: "/api/blade-system/region/tree",
- props: {
- label: "name",
- value: "id",
- },
- rules: [{
- required: true,
- message: "请选择所属社区",
- trigger: "blur",
- }, ],
+ datetime: "",
+ selectionList: [],
+ option: {
+ labelWidth: 96,
+ searchLabelWidth: 96,
+ searchShow: true,
+ searchMenuSpan: 3,
+ menuWidth: 210,
+
+ height: "auto",
+ calcHeight: 54,
+ dialogWidth: 950,
+ tip: false,
+ // menu: false,
+ border: true,
+ //stripe:true,
+ index: true,
+ // viewBtn: true,
+ editBtn: false,
+ delBtn: false,
+ selection: true,
+ dialogClickModal: false,
+ column: [{
+ span: 12,
+ label: "社区",
+ prop: "communityName",
+ searchSpan: 4,
+ searchLabelWidth: 46,
+ search: true,
+ hide: true,
+ },
+ {
+ width: 110,
+ span: 12,
+ label: "场所负责人",
+ prop: "realName",
+ searchSpan: 4,
+ searchLabelWidth: 100,
+ search: true,
+ }, {
+ width: 120,
+ span: 12,
+ label: "联系方式",
+ prop: "phone",
+ searchSpan: 4,
+ search: true,
+ rules: [{
+ validator: validatorPhone,
+ trigger: 'blur'
+ }],
+ }, {
+ overHidee: true,
+ span: 12,
+ label: "地址",
+ prop: "addressName",
+ searchSpan: 4,
+ // search: true,
+ rules: [{
+ required: true,
+ message: "请输入地址",
+ trigger: "blur",
+ },],
+ }, {
+ width: 110,
+ label: "所属街道",
+ // hide: true,
+ // search: true,
+ parent: false,
+ searchSpan: 4,
+ prop: "streetCode",
+ type: "tree",
+ dicUrl: "/api/blade-system/region/getTownTree",
+ props: {
+ label: "name",
+ value: "id"
+ },
+ rules: [{
+ required: true,
+ message: "请选择所属街道",
+ trigger: "blur",
+ },],
+ }, {
+ width: 156,
+ // hide: true,
+ parent: false,
+ searchSpan: 4,
+ label: "所属社区",
+ prop: "neiCode",
+ // search: false,
+ type: "tree",
+ dicUrl: "/api/blade-system/region/tree",
+ props: {
+ label: "name",
+ value: "id",
+ },
+ rules: [{
+ required: true,
+ message: "请选择所属社区",
+ trigger: "blur",
+ },],
+ },
+ // {
+ // width: 144,
+ // label: "创建时间",
+ // prop: "createTime",
+ // searchSpan: 4,
+
+ // },
+
+ {
+ width: 100,
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: false,
+ label: '审核状态',
+ prop: 'status',
+ type: 'radio',
+ slot: true,
+ dicData: [{
+ label: '待审核',
+ value: 1
+ }, {
+ label: '已审核',
+ value: 2
+ }, {
+ label: '未通过',
+ value: 3
+ }, {
+ label: '待接收',
+ value: 4
+ }]
+ }, {
+ width: 100,
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: false,
+ label: '类型',
+ prop: 'reportType',
+ type: 'radio',
+ slot: true,
+ searchSpan: 4,
+ searchLabelWidth: 66,
+ search: true,
+ dicData: [{
+ label: '旅馆安全',
+ value: 2
+ }, {
+ label: '打金店',
+ value: 3
+ }, {
+ label: '二手手机维修',
+ value: 4
+ }, {
+ label: '二手车交易',
+ value: 5
+ }, {
+ label: '校园安全',
+ value: 6
+ }]
+ },
+ ],
},
- // {
- // width: 144,
- // label: "创建时间",
- // prop: "createTime",
- // searchSpan: 4,
+ data: [],
- // },
-
- {
- width: 100,
- addDisplay: false,
- editDisplay: false,
- viewDisplay: false,
- label: '审核状态',
- prop: 'status',
- type: 'radio',
- slot: true,
- dicData: [{
- label: '待审核',
- value: 1
- }, {
- label: '已审核',
- value: 2
- }, {
- label: '未通过',
- value: 3
- }, {
- label: '待接收',
- value: 4
- }]
- }, {
- width: 100,
- addDisplay: false,
- editDisplay: false,
- viewDisplay: false,
- label: '类型',
- prop: 'reportType',
- type: 'radio',
- slot: true,
- searchSpan: 4,
- searchLabelWidth: 66,
- search: true,
- dicData: [{
- label: '旅馆安全',
- value: 2
- }, {
- label: '打金店',
- value: 3
- }, {
- label: '二手手机维修',
- value: 4
- }, {
- label: '二手车交易',
- value: 5
- }, {
- label: '校园安全',
- value: 6
- }]
- },
- ],
- },
- data: [],
-
- auditBasePopup: false,
- }
+ auditBasePopup: false,
+ }
},
- provide() {
- return {
- placeElement: this,
- }
+ provide () {
+ return {
+ placeElement: this,
+ }
},
components: {
- campusReporting,
- hotelReporting,
- labelReporting,
+ campusReporting,
+ hotelReporting,
+ labelReporting,
},
watch: {},
computed: {
- ...mapGetters(["permission", "userInfo"]),
- permissionList() {
- return {
- addBtn: this.vaildData(this.permission.place_add, false),
- viewBtn: this.vaildData(this.permission.place_view, true),
- delBtn: this.vaildData(this.permission.place_del, true),
- // editBtn: this.vaildData(this.permission.place_edit, true),
- }
- },
- ids() {
- let ids = []
- this.selectionList.forEach((ele) => {
- ids.push(ele.id)
- })
- return ids.join(",")
- },
- showStatus() {
- return (data) => {
- let tags = {}
+ ...mapGetters(["permission", "userInfo"]),
+ permissionList () {
+ return {
+ addBtn: this.vaildData(this.permission.place_add, false),
+ viewBtn: this.vaildData(this.permission.place_view, true),
+ delBtn: this.vaildData(this.permission.place_del, true),
+ // editBtn: this.vaildData(this.permission.place_edit, true),
+ }
+ },
+ ids () {
+ let ids = []
+ this.selectionList.forEach((ele) => {
+ ids.push(ele.id)
+ })
+ return ids.join(",")
+ },
+ showStatus () {
+ return (data) => {
+ let tags = {}
- if (data == 1) {
- tags = {
- type: 'warning',
- text: '待审核'
- }
- } else if (data == 2) {
- tags = {
- type: 'success',
- text: '已审核'
- }
- } else if (data == 3) {
- tags = {
- type: 'danger',
- text: '未通过'
- }
- } else if (data == 4) {
- tags = {
- type: 'warning',
- text: '待接收'
- }
- }
+ if (data == 1) {
+ tags = {
+ type: 'warning',
+ text: '待审核'
+ }
+ } else if (data == 2) {
+ tags = {
+ type: 'success',
+ text: '已审核'
+ }
+ } else if (data == 3) {
+ tags = {
+ type: 'danger',
+ text: '未通过'
+ }
+ } else if (data == 4) {
+ tags = {
+ type: 'warning',
+ text: '待接收'
+ }
+ }
- return tags
+ return tags
+ }
}
- }
},
methods: {
- colseDetail() {
- this.auditBasePopup = false
- this.onLoad(this.page)
- },
-
- lookDetail(row, applyType) {
- this.auditBasePopup = true
- var that = this
- if (row.reportType == 6) {
- this.taskType = 6
- this.$nextTick(() => {
- that.$refs.campusReporting.init(row, applyType)
- })
- }
- if (row.reportType == 2) {
- this.taskType = 2
- this.$nextTick(() => {
- that.$refs.hotelReporting.init(row, applyType)
- })
- }
- if (row.reportType == 3 || row.reportType == 4 || row.reportType == 5) {
- this.taskType = 3
- this.$nextTick(() => {
- that.$refs.labelReporting.init(row, applyType)
- })
- }
- },
- auditCur(row) {
- this.curAuditRow = row
- this.auditBasePopup = true
- },
-
- roleBoxClose() {
- this.curRow = {}
- },
-
- ManageTenants(item) {
- this.curRow = item
- this.roleBox = true
- },
-
- rowSave(row, done, loading) {
- if (row.imageUrls.length > 0) {
- var urls = []
- var split = row.imageUrls.split(",").filter(item => item != '')
- split.forEach(url => {
- var names = url.split("jczz/")
- urls.push(names[1])
- })
- row.imageUrls = urls.join(",")
- }
-
- let label = row.label
-
- if (row.smallLabel != '') {
- label = label + ',' + row.smallLabel
- }
-
- delete row.smallLabel
-
- add({
- ...row,
- label
- }).then(
- () => {
+ colseDetail () {
+ this.auditBasePopup = false
this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
- })
- done()
- },
- (error) => {
- window.console.log(error)
- loading()
- }
- )
- },
+ },
- rowUpdate(row, index, done, loading) {
- if (row.imageUrls.length > 0) {
- var urls = []
- var split = row.imageUrls.split(",").filter(item => item != '')
- split.forEach(url => {
- var names = url.split("jczz/")
- urls.push(names[1])
- })
- row.imageUrls = urls.join(",")
- }
-
- let label = row.label
-
- if (row.smallLabel != '') {
- label = label + ',' + row.smallLabel
- }
-
- delete row.smallLabel
-
- update({
- ...row,
- label
- }).then(
- () => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
- })
- done()
- },
- (error) => {
- window.console.log(error)
- loading()
- }
- )
- },
-
- rowDel(row) {
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- })
- .then(() => {
- row.isDeleted = 1
- return removeTask(row)
- })
- .then(() => {
- this.onLoad(this.page)
-
- this.$message({
- type: "success",
- message: "操作成功!",
- })
- })
- },
- searchReset() {
- this.query = {}
- this.onLoad(this.page)
- },
- searchChange(params, done) {
- this.query = params
- this.page.currentPage = 1
- this.onLoad(this.page, params)
- done()
- },
- selectionChange(list) {
- this.selectionList = list
- },
- selectionClear() {
- this.selectionList = []
- this.$nextTick(() => {
- this.$refs.crud && this.$refs.crud.toggleSelection()
- })
- },
- handleDelete() {
- if (this.selectionList.length === 0) {
- this.$message.warning("请选择至少一条数据")
- return
- }
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- })
- .then(() => {
- return remove(this.ids)
- })
- .then(() => {
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
- })
- this.$refs.crud.toggleSelection()
- })
- },
-
- beforeOpen(done, type) {
- if (["edit", "view"].includes(type)) {
- // getPlace(this.form.id).then((res) => {
- // this.form = res.data.data
- // if (this.form.imageUrls.length) {
- // this.form.imageUrls = this.form.imageUrls.split(",").filter(item => item != '').map(item => website
- // .minioUrl + item).join(',')
- // }
- // if (this.form.placePoiLabelVOList.length) {
- // let lebelTwo = this.form.placePoiLabelVOList.find(item => {
- // return item.type == 2
- // })
- // if (lebelTwo) this.form.label = String(lebelTwo.poiCode)
- // let lebelThree = this.form.placePoiLabelVOList.find(item => {
- // return item.type == 3
- // })
- // if (lebelThree) this.form.smallLabel = String(lebelThree.poiCode)
- // }
- // done()
- // })
- } else {
- done()
- }
- },
-
- currentChange(currentPage) {
- this.page.currentPage = currentPage
- },
- sizeChange(pageSize) {
- this.page.pageSize = pageSize
- },
- refreshChange() {
- this.onLoad(this.page, this.query)
- },
- onLoad(page, params = {}) {
- const {
- dateTime
- } = this.query
- let values = {
- ...params,
- }
- // if (dateTime) {
- // values = {
- // ...params,
- // startTime: dateTime[0],
- // endTime: dateTime[1],
- // ...this.query,
- // }
- // values.dateTime = null
- // }
- values.reportType = 2
- this.loading = true
- getList(page.currentPage, page.pageSize, values).then((res) => {
- const data = res.data.data
- this.page.total = data.total
- this.data = data.records
- this.data.forEach(item => {
- if (item.imageUrls && item.imageUrls != '' && item.imageUrls != null && item.imageUrls.length) {
- var urls = []
- var names = item.imageUrls.split(",").filter(item => item != '')
- names.forEach(name => {
- urls.push(website.minioUrl + name)
- })
- item.imageUrls = urls.join(",")
+ lookDetail (row, applyType) {
+ this.auditBasePopup = true
+ var that = this
+ if (row.reportType == 6) {
+ this.taskType = 6
+ this.$nextTick(() => {
+ that.$refs.campusReporting.init(row, applyType)
+ })
}
- })
- this.loading = false
- this.selectionClear()
- })
- }
+ if (row.reportType == 2) {
+ this.taskType = 2
+ this.$nextTick(() => {
+ that.$refs.hotelReporting.init(row, applyType)
+ })
+ }
+ if (row.reportType == 3 || row.reportType == 4 || row.reportType == 5) {
+ this.taskType = 3
+ this.$nextTick(() => {
+ that.$refs.labelReporting.init(row, applyType)
+ })
+ }
+ },
+ auditCur (row) {
+ this.curAuditRow = row
+ this.auditBasePopup = true
+ },
+
+ roleBoxClose () {
+ this.curRow = {}
+ },
+
+ ManageTenants (item) {
+ this.curRow = item
+ this.roleBox = true
+ },
+
+ rowSave (row, done, loading) {
+ if (row.imageUrls.length > 0) {
+ var urls = []
+ var split = row.imageUrls.split(",").filter(item => item != '')
+ split.forEach(url => {
+ var names = url.split("jczz/")
+ urls.push(names[1])
+ })
+ row.imageUrls = urls.join(",")
+ }
+
+ let label = row.label
+
+ if (row.smallLabel != '') {
+ label = label + ',' + row.smallLabel
+ }
+
+ delete row.smallLabel
+
+ add({
+ ...row,
+ label
+ }).then(
+ () => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ done()
+ },
+ (error) => {
+ window.console.log(error)
+ loading()
+ }
+ )
+ },
+
+ rowUpdate (row, index, done, loading) {
+ if (row.imageUrls.length > 0) {
+ var urls = []
+ var split = row.imageUrls.split(",").filter(item => item != '')
+ split.forEach(url => {
+ var names = url.split("jczz/")
+ urls.push(names[1])
+ })
+ row.imageUrls = urls.join(",")
+ }
+
+ let label = row.label
+
+ if (row.smallLabel != '') {
+ label = label + ',' + row.smallLabel
+ }
+
+ delete row.smallLabel
+
+ update({
+ ...row,
+ label
+ }).then(
+ () => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ done()
+ },
+ (error) => {
+ window.console.log(error)
+ loading()
+ }
+ )
+ },
+
+ rowDel (row) {
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ })
+ .then(() => {
+ row.isDeleted = 1
+ return removeTask(row)
+ })
+ .then(() => {
+ this.onLoad(this.page)
+
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ })
+ },
+ searchReset () {
+ this.query = {}
+ this.onLoad(this.page)
+ },
+ searchChange (params, done) {
+ this.query = params
+ this.page.currentPage = 1
+ this.onLoad(this.page, params)
+ done()
+ },
+ selectionChange (list) {
+ this.selectionList = list
+ },
+ selectionClear () {
+ this.selectionList = []
+ this.$nextTick(() => {
+ this.$refs.crud && this.$refs.crud.toggleSelection()
+ })
+ },
+ handleDelete () {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据")
+ return
+ }
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ })
+ .then(() => {
+ return remove(this.ids)
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ this.$refs.crud.toggleSelection()
+ })
+ },
+
+ beforeOpen (done, type) {
+ if (["edit", "view"].includes(type)) {
+ // getPlace(this.form.id).then((res) => {
+ // this.form = res.data.data
+ // if (this.form.imageUrls.length) {
+ // this.form.imageUrls = this.form.imageUrls.split(",").filter(item => item != '').map(item => website
+ // .minioUrl + item).join(',')
+ // }
+ // if (this.form.placePoiLabelVOList.length) {
+ // let lebelTwo = this.form.placePoiLabelVOList.find(item => {
+ // return item.type == 2
+ // })
+ // if (lebelTwo) this.form.label = String(lebelTwo.poiCode)
+ // let lebelThree = this.form.placePoiLabelVOList.find(item => {
+ // return item.type == 3
+ // })
+ // if (lebelThree) this.form.smallLabel = String(lebelThree.poiCode)
+ // }
+ // done()
+ // })
+ } else {
+ done()
+ }
+ },
+
+ currentChange (currentPage) {
+ this.page.currentPage = currentPage
+ },
+ sizeChange (pageSize) {
+ this.page.pageSize = pageSize
+ },
+ refreshChange () {
+ this.onLoad(this.page, this.query)
+ },
+ onLoad (page, params = {}) {
+ const {
+ dateTime
+ } = this.query
+ let values = {
+ ...params,
+ }
+ // if (dateTime) {
+ // values = {
+ // ...params,
+ // startTime: dateTime[0],
+ // endTime: dateTime[1],
+ // ...this.query,
+ // }
+ // values.dateTime = null
+ // }
+ values.reportType = 2
+ this.loading = true
+ getList(page.currentPage, page.pageSize, values).then((res) => {
+ const data = res.data.data
+ this.page.total = data.total
+ this.data = data.records
+ this.data.forEach(item => {
+ if (item.imageUrls && item.imageUrls != '' && item.imageUrls != null && item.imageUrls.length) {
+ var urls = []
+ var names = item.imageUrls.split(",").filter(item => item != '')
+ names.forEach(name => {
+ urls.push(website.minioUrl + name)
+ })
+ item.imageUrls = urls.join(",")
+ }
+ })
+ this.loading = false
+ this.selectionClear()
+ })
+ }
}
- }
+}
</script>
<style lang="scss" scoped>
- .avue-upload__icon {
+.avue-upload__icon {
line-height: 6;
- }
+}
- .cur-container-box {
+.cur-container-box {
display: flex;
flex-direction: column;
width: 100%;
@@ -576,18 +577,18 @@
overflow: hidden;
.content-box {
- margin: 0 4px;
- padding: 0 16px;
- height: 0;
- flex: 1;
- overflow: hidden;
- overflow-y: auto;
+ margin: 0 4px;
+ padding: 0 16px;
+ height: 0;
+ flex: 1;
+ overflow: hidden;
+ overflow-y: auto;
}
.footer-btn-box {
- margin-top: 10px;
- display: flex;
- justify-content: center;
+ margin-top: 10px;
+ display: flex;
+ justify-content: center;
}
- }
+}
</style>
\ No newline at end of file
diff --git a/src/views/report/reportlist.vue b/src/views/report/reportlist.vue
index 5cc3a9b..e35ba22 100644
--- a/src/views/report/reportlist.vue
+++ b/src/views/report/reportlist.vue
@@ -61,6 +61,7 @@
prop: "name",
searchSpan: 4,
search: true,
+ searchLabelWidth: 60,
slot: true,
},
{
diff --git a/src/views/resource/attach.vue b/src/views/resource/attach.vue
index 3e3dc71..603fac1 100644
--- a/src/views/resource/attach.vue
+++ b/src/views/resource/attach.vue
@@ -75,6 +75,7 @@
prop: "domainUrl",
searchSpan: 4,
search: true,
+ searchLabelWidth: 76,
rules: [{
required: true,
message: "请输入附件域名",
diff --git a/src/views/resource/oss.vue b/src/views/resource/oss.vue
index 7e5eb17..9ea5700 100644
--- a/src/views/resource/oss.vue
+++ b/src/views/resource/oss.vue
@@ -75,7 +75,7 @@
value: 1,
span: 24,
width: 120,
- searchLabelWidth: 50,
+ searchLabelWidth: 46,
row: true,
dicUrl: "/api/blade-system/dict/dictionary?code=oss",
props: {
diff --git a/src/views/resource/sms.vue b/src/views/resource/sms.vue
index df5cc69..14ef752 100644
--- a/src/views/resource/sms.vue
+++ b/src/views/resource/sms.vue
@@ -73,7 +73,7 @@
value: 1,
span: 24,
width: 100,
- searchLabelWidth: 66,
+ searchLabelWidth: 46,
row: true,
dicUrl: "/api/blade-system/dict/dictionary?code=sms",
props: {
diff --git a/src/views/system/client.vue b/src/views/system/client.vue
index 2a1892b..4d986e0 100644
--- a/src/views/system/client.vue
+++ b/src/views/system/client.vue
@@ -1,333 +1,316 @@
<template>
- <basic-container>
- <avue-crud :option="option"
- :table-loading="loading"
- :data="data"
- :page.sync="page"
- @row-del="rowDel"
- v-model="form"
- ref="crud"
- :permission="permissionList"
- @row-update="rowUpdate"
- @row-save="rowSave"
- :before-open="beforeOpen"
- @search-change="searchChange"
- @search-reset="searchReset"
- @selection-change="selectionChange"
- @current-change="currentChange"
- @size-change="sizeChange"
- @refresh-change="refreshChange"
- @on-load="onLoad">
- <template slot="menuLeft">
- <el-button type="danger"
- size="small"
- icon="el-icon-delete"
- plain
- v-if="permission.client_delete"
- @click="handleDelete">删 除
- </el-button>
- </template>
- </avue-crud>
- </basic-container>
+ <basic-container>
+ <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" @row-del="rowDel" v-model="form"
+ ref="crud" :permission="permissionList" @row-update="rowUpdate" @row-save="rowSave" :before-open="beforeOpen"
+ @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
+ @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
+ <template slot="menuLeft">
+ <el-button type="danger" size="small" icon="el-icon-delete" plain v-if="permission.client_delete"
+ @click="handleDelete">删 除
+ </el-button>
+ </template>
+ </avue-crud>
+ </basic-container>
</template>
<script>
- import {getList, getDetail, add, update, remove} from "@/api/system/client";
- import {mapGetters} from "vuex";
+import { getList, getDetail, add, update, remove } from "@/api/system/client"
+import { mapGetters } from "vuex"
- export default {
- data() {
- return {
- form: {},
- query: {},
- loading: true,
- page: {
- pageSize: 10,
- currentPage: 1,
- total: 0
- },
- selectionList: [],
- option: {
- height: 'auto',
- calcHeight: 30,
- tip: false,
- searchShow: true,
- searchMenuSpan: 6,
- border: true,
- index: true,
- viewBtn: true,
- selection: true,
- dialogClickModal: false,
- column: [
- {
- label: "应用id",
- prop: "clientId",
- search: true,
- rules: [{
- required: true,
- message: "请输入客户端id",
- trigger: "blur"
- }]
+export default {
+ data () {
+ return {
+ form: {},
+ query: {},
+ loading: true,
+ page: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0
},
- {
- label: "应用密钥",
- prop: "clientSecret",
- search: true,
- rules: [{
- required: true,
- message: "请输入客户端密钥",
- trigger: "blur"
- }]
+ selectionList: [],
+ option: {
+ height: 'auto',
+ calcHeight: 30,
+ tip: false,
+ searchShow: true,
+ searchMenuSpan: 6,
+ border: true,
+ index: true,
+ viewBtn: true,
+ selection: true,
+ dialogClickModal: false,
+ column: [
+ {
+ label: "应用id",
+ prop: "clientId",
+ search: true,
+ searchLabelWidth: 60,
+ rules: [{
+ required: true,
+ message: "请输入客户端id",
+ trigger: "blur"
+ }]
+ },
+ {
+ label: "应用密钥",
+ prop: "clientSecret",
+ search: true,
+ searchLabelWidth: 100,
+ rules: [{
+ required: true,
+ message: "请输入客户端密钥",
+ trigger: "blur"
+ }]
+ },
+ {
+ label: "授权类型",
+ prop: "authorizedGrantTypes",
+ type: "checkbox",
+ value: "refresh_token,password,authorization_code",
+ dicData: [
+ {
+ label: "refresh_token",
+ value: "refresh_token"
+ },
+ {
+ label: "password",
+ value: "password"
+ },
+ {
+ label: "authorization_code",
+ value: "authorization_code"
+ },
+ {
+ label: "captcha",
+ value: "captcha"
+ },
+ {
+ label: "social",
+ value: "social"
+ }
+ ],
+ rules: [{
+ required: true,
+ message: "请输入授权类型",
+ trigger: "blur"
+ }]
+ },
+ {
+ label: "授权范围",
+ prop: "scope",
+ value: "all",
+ rules: [{
+ required: true,
+ message: "请输入授权范围",
+ trigger: "blur"
+ }]
+ },
+ {
+ label: "令牌秒数",
+ prop: "accessTokenValidity",
+ type: "number",
+ value: 3600,
+ rules: [{
+ required: true,
+ message: "请输入令牌过期秒数",
+ trigger: "blur"
+ }]
+ },
+ {
+ label: "刷新秒数",
+ prop: "refreshTokenValidity",
+ type: "number",
+ value: 604800,
+ hide: true,
+ rules: [{
+ required: true,
+ message: "请输入刷新令牌过期秒数",
+ trigger: "blur"
+ }]
+ },
+ {
+ label: "回调地址",
+ prop: "webServerRedirectUri",
+ hide: true,
+ rules: [{
+ required: true,
+ message: "请输入回调地址",
+ trigger: "blur"
+ }]
+ },
+ {
+ label: "资源集合",
+ prop: "resourceIds",
+ hide: true,
+ rules: [{
+ message: "请输入资源集合",
+ trigger: "blur"
+ }]
+ },
+ {
+ label: "权限",
+ prop: "authorities",
+ hide: true,
+ rules: [{
+ message: "请输入权限",
+ trigger: "blur"
+ }]
+ },
+ {
+ label: "自动授权",
+ prop: "autoapprove",
+ hide: true,
+ rules: [{
+ message: "请输入自动授权",
+ trigger: "blur"
+ }]
+ },
+ {
+ label: "附加说明",
+ hide: true,
+ prop: "additionalInformation",
+ span: 24,
+ rules: [{
+ message: "请输入附加说明",
+ trigger: "blur"
+ }]
+ },
+ ]
},
- {
- label: "授权类型",
- prop: "authorizedGrantTypes",
- type: "checkbox",
- value: "refresh_token,password,authorization_code",
- dicData: [
- {
- label: "refresh_token",
- value: "refresh_token"
- },
- {
- label: "password",
- value: "password"
- },
- {
- label: "authorization_code",
- value: "authorization_code"
- },
- {
- label: "captcha",
- value: "captcha"
- },
- {
- label: "social",
- value: "social"
- }
- ],
- rules: [{
- required: true,
- message: "请输入授权类型",
- trigger: "blur"
- }]
- },
- {
- label: "授权范围",
- prop: "scope",
- value: "all",
- rules: [{
- required: true,
- message: "请输入授权范围",
- trigger: "blur"
- }]
- },
- {
- label: "令牌秒数",
- prop: "accessTokenValidity",
- type: "number",
- value: 3600,
- rules: [{
- required: true,
- message: "请输入令牌过期秒数",
- trigger: "blur"
- }]
- },
- {
- label: "刷新秒数",
- prop: "refreshTokenValidity",
- type: "number",
- value: 604800,
- hide: true,
- rules: [{
- required: true,
- message: "请输入刷新令牌过期秒数",
- trigger: "blur"
- }]
- },
- {
- label: "回调地址",
- prop: "webServerRedirectUri",
- hide: true,
- rules: [{
- required: true,
- message: "请输入回调地址",
- trigger: "blur"
- }]
- },
- {
- label: "资源集合",
- prop: "resourceIds",
- hide: true,
- rules: [{
- message: "请输入资源集合",
- trigger: "blur"
- }]
- },
- {
- label: "权限",
- prop: "authorities",
- hide: true,
- rules: [{
- message: "请输入权限",
- trigger: "blur"
- }]
- },
- {
- label: "自动授权",
- prop: "autoapprove",
- hide: true,
- rules: [{
- message: "请输入自动授权",
- trigger: "blur"
- }]
- },
- {
- label: "附加说明",
- hide: true,
- prop: "additionalInformation",
- span: 24,
- rules: [{
- message: "请输入附加说明",
- trigger: "blur"
- }]
- },
- ]
- },
- data: []
- };
+ data: []
+ }
},
computed: {
- ...mapGetters(["permission"]),
- permissionList() {
- return {
- addBtn: this.vaildData(this.permission.client_add),
- viewBtn: this.vaildData(this.permission.client_view),
- delBtn: this.vaildData(this.permission.client_delete),
- editBtn: this.vaildData(this.permission.client_edit)
- };
- },
- ids() {
- let ids = [];
- this.selectionList.forEach(ele => {
- ids.push(ele.id);
- });
- return ids.join(",");
- }
+ ...mapGetters(["permission"]),
+ permissionList () {
+ return {
+ addBtn: this.vaildData(this.permission.client_add),
+ viewBtn: this.vaildData(this.permission.client_view),
+ delBtn: this.vaildData(this.permission.client_delete),
+ editBtn: this.vaildData(this.permission.client_edit)
+ }
+ },
+ ids () {
+ let ids = []
+ this.selectionList.forEach(ele => {
+ ids.push(ele.id)
+ })
+ return ids.join(",")
+ }
},
methods: {
- rowSave(row, done, loading) {
- add(row).then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- done();
- }, error => {
- window.console.log(error);
- loading();
- });
- },
- rowUpdate(row, index, done, loading) {
- update(row).then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- done();
- }, error => {
- window.console.log(error);
- loading();
- });
- },
- rowDel(row) {
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- })
- .then(() => {
- return remove(row.id);
- })
- .then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- });
- },
- searchReset() {
- this.query = {};
- this.onLoad(this.page);
- },
- searchChange(params, done) {
- this.query = params;
- this.page.currentPage = 1;
- this.onLoad(this.page, params);
- done();
- },
- selectionChange(list) {
- this.selectionList = list;
- },
- selectionClear() {
- this.selectionList = [];
- this.$refs.crud.toggleSelection();
- },
- handleDelete() {
- if (this.selectionList.length === 0) {
- this.$message.warning("请选择至少一条数据");
- return;
+ rowSave (row, done, loading) {
+ add(row).then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ done()
+ }, error => {
+ window.console.log(error)
+ loading()
+ })
+ },
+ rowUpdate (row, index, done, loading) {
+ update(row).then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ done()
+ }, error => {
+ window.console.log(error)
+ loading()
+ })
+ },
+ rowDel (row) {
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ })
+ .then(() => {
+ return remove(row.id)
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ })
+ },
+ searchReset () {
+ this.query = {}
+ this.onLoad(this.page)
+ },
+ searchChange (params, done) {
+ this.query = params
+ this.page.currentPage = 1
+ this.onLoad(this.page, params)
+ done()
+ },
+ selectionChange (list) {
+ this.selectionList = list
+ },
+ selectionClear () {
+ this.selectionList = []
+ this.$refs.crud.toggleSelection()
+ },
+ handleDelete () {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据")
+ return
+ }
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ })
+ .then(() => {
+ return remove(this.ids)
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ this.$refs.crud.toggleSelection()
+ })
+ },
+ beforeOpen (done, type) {
+ if (["edit", "view"].includes(type)) {
+ getDetail(this.form.id).then(res => {
+ this.form = res.data.data
+ })
+ }
+ done()
+ },
+ currentChange (currentPage) {
+ this.page.currentPage = currentPage
+ },
+ sizeChange (pageSize) {
+ this.page.pageSize = pageSize
+ },
+ refreshChange () {
+ this.onLoad(this.page, this.query)
+ },
+ onLoad (page, params = {}) {
+ this.loading = true
+ getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
+ const data = res.data.data
+ this.page.total = data.total
+ this.data = data.records
+ this.loading = false
+ this.selectionClear()
+ })
}
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- })
- .then(() => {
- return remove(this.ids);
- })
- .then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- this.$refs.crud.toggleSelection();
- });
- },
- beforeOpen(done, type) {
- if (["edit", "view"].includes(type)) {
- getDetail(this.form.id).then(res => {
- this.form = res.data.data;
- });
- }
- done();
- },
- currentChange(currentPage) {
- this.page.currentPage = currentPage;
- },
- sizeChange(pageSize) {
- this.page.pageSize = pageSize;
- },
- refreshChange() {
- this.onLoad(this.page, this.query);
- },
- onLoad(page, params = {}) {
- this.loading = true;
- getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
- const data = res.data.data;
- this.page.total = data.total;
- this.data = data.records;
- this.loading = false;
- this.selectionClear();
- });
- }
}
- };
+}
</script>
-<style>
-</style>
+<style></style>
diff --git a/src/views/system/dept.vue b/src/views/system/dept.vue
index b5b89c8..0b2a019 100644
--- a/src/views/system/dept.vue
+++ b/src/views/system/dept.vue
@@ -71,6 +71,7 @@
label: "机构名称",
prop: "deptName",
search: true,
+ searchLabelWidth: 76,
rules: [{
required: true,
message: "请输入机构名称",
@@ -102,6 +103,7 @@
label: "机构全称",
prop: "fullName",
search: true,
+ searchLabelWidth: 100,
rules: [{
required: true,
message: "请输入机构全称",
diff --git a/src/views/system/menu.vue b/src/views/system/menu.vue
index 88286ef..9aa0472 100644
--- a/src/views/system/menu.vue
+++ b/src/views/system/menu.vue
@@ -1,455 +1,455 @@
<template>
- <basic-container>
- <avue-crud :option="option" :table-loading="loading" :data="data" ref="crud" v-model="form"
- :permission="permissionList" :before-open="beforeOpen" :before-close="beforeClose" @row-del="rowDel"
- @row-update="rowUpdate" @row-save="rowSave" @search-change="searchChange" @search-reset="searchReset"
- @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
- @refresh-change="refreshChange" @on-load="onLoad" @tree-load="treeLoad">
- <template slot="menuLeft">
- <el-button type="danger" size="small" icon="el-icon-delete" v-if="permission.menu_delete" plain
- @click="handleDelete">删 除
- </el-button>
- </template>
- <template slot-scope="scope" slot="menu">
- <el-button type="text" icon="el-icon-circle-plus-outline" size="small"
- @click.stop="handleAdd(scope.row,scope.index)"
- v-if="userInfo.role_name.includes('admin') && scope.row.category === 1">新增子项
- </el-button>
- </template>
- <template slot-scope="{row}" slot="source">
- <div style="text-align:center">
- <i :class="row.source" />
- </div>
- </template>
- </avue-crud>
- </basic-container>
+ <basic-container>
+ <avue-crud :option="option" :table-loading="loading" :data="data" ref="crud" v-model="form"
+ :permission="permissionList" :before-open="beforeOpen" :before-close="beforeClose" @row-del="rowDel"
+ @row-update="rowUpdate" @row-save="rowSave" @search-change="searchChange" @search-reset="searchReset"
+ @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
+ @refresh-change="refreshChange" @on-load="onLoad" @tree-load="treeLoad">
+ <template slot="menuLeft">
+ <el-button type="danger" size="small" icon="el-icon-delete" v-if="permission.menu_delete" plain
+ @click="handleDelete">删 除
+ </el-button>
+ </template>
+ <template slot-scope="scope" slot="menu">
+ <el-button type="text" icon="el-icon-circle-plus-outline" size="small"
+ @click.stop="handleAdd(scope.row, scope.index)"
+ v-if="userInfo.role_name.includes('admin') && scope.row.category === 1">新增子项
+ </el-button>
+ </template>
+ <template slot-scope="{row}" slot="source">
+ <div style="text-align:center">
+ <i :class="row.source" />
+ </div>
+ </template>
+ </avue-crud>
+ </basic-container>
</template>
<script>
- import {
+import {
getLazyList,
remove,
update,
add,
getMenu
- } from "@/api/system/menu";
- import {
+} from "@/api/system/menu"
+import {
mapGetters
- } from "vuex";
- import iconList from "@/config/iconList";
- import func from "@/util/func";
- import {
+} from "vuex"
+import iconList from "@/config/iconList"
+import func from "@/util/func"
+import {
getMenuTree
- } from "@/api/system/menu";
+} from "@/api/system/menu"
- import {
+import {
getTreeList
- } from "@/api/label/label";
+} from "@/api/label/label"
- export default {
- data() {
- return {
- form: {},
- query: {},
- loading: true,
- selectionList: [],
- parentId: 0,
- page: {
- pageSize: 10,
- currentPage: 1,
- total: 0,
- },
- option: {
- lazy: true,
- tip: false,
- simplePage: true,
- searchShow: true,
- searchMenuSpan: 6,
- dialogWidth: "60%",
- tree: true,
- border: true,
- index: true,
- selection: true,
- viewBtn: true,
- menuWidth: 300,
- dialogClickModal: false,
- column: [{
- label: "菜单名称",
- prop: "name",
- search: true,
- rules: [{
- required: true,
- message: "请输入菜单名称",
- trigger: "blur"
- }]
+export default {
+ data () {
+ return {
+ form: {},
+ query: {},
+ loading: true,
+ selectionList: [],
+ parentId: 0,
+ page: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0,
},
- {
- label: "路由地址",
- prop: "path",
- rules: [{
- required: true,
- message: "请输入路由地址",
- trigger: "blur"
- }]
- },
- {
- label: "上级菜单",
- prop: "parentId",
- type: "tree",
- dicData: [],
- // hide: true,
- addDisabled: false,
- props: {
- label: "title",
- value: 'id'
- },
- rules: [{
- required: false,
- message: "请选择上级菜单",
- trigger: "click"
- }]
- },
- {
- label: "菜单图标",
- prop: "source",
- type: "icon",
- slot: true,
- iconList: iconList,
- rules: [{
- required: true,
- message: "请输入菜单图标",
- trigger: "click"
- }]
- },
- {
- label: "菜单编号",
- prop: "code",
- search: true,
- rules: [{
- required: true,
- message: "请输入菜单编号",
- trigger: "blur"
- }]
- },
- {
- label: "菜单类型",
- prop: "category",
- type: "radio",
- dicData: [{
- label: "菜单",
- value: 1
+ option: {
+ lazy: true,
+ tip: false,
+ simplePage: true,
+ searchShow: true,
+ searchMenuSpan: 6,
+ dialogWidth: "60%",
+ tree: true,
+ border: true,
+ index: true,
+ selection: true,
+ viewBtn: true,
+ menuWidth: 300,
+ dialogClickModal: false,
+ column: [{
+ label: "菜单名称",
+ prop: "name",
+ search: true,
+ searchLabelWidth: 76,
+ rules: [{
+ required: true,
+ message: "请输入菜单名称",
+ trigger: "blur"
+ }]
},
{
- label: "按钮",
- value: 2
- }
- ],
- hide: true,
- rules: [{
- required: true,
- message: "请选择菜单类型",
- trigger: "blur"
- }]
- },
- {
- label: "菜单别名",
- prop: "alias",
- search: true,
- rules: [{
- required: true,
- message: "请输入菜单别名",
- trigger: "blur"
- }]
- }, {
- label: "菜单",
- prop: "menuType",
- type: "radio",
- rules: [{
- required: true,
- message: "请选择菜单",
- trigger: "blur"
- }],
- dicData: [{
- label: "PC端",
- value: 0
+ label: "路由地址",
+ prop: "path",
+ rules: [{
+ required: true,
+ message: "请输入路由地址",
+ trigger: "blur"
+ }]
},
{
- label: "移动端",
- value: 1
- }
- ],
- },
- {
- label: "新窗口",
- prop: "isOpen",
- type: "radio",
- disabled: false,
- display: false,
- dicData: [{
- label: "否",
- value: 1
+ label: "上级菜单",
+ prop: "parentId",
+ type: "tree",
+ dicData: [],
+ // hide: true,
+ addDisabled: false,
+ props: {
+ label: "title",
+ value: 'id'
+ },
+ rules: [{
+ required: false,
+ message: "请选择上级菜单",
+ trigger: "click"
+ }]
},
{
- label: "是",
- value: 2
- }
- ],
- value: 1,
- rules: [{
- required: true,
- message: "请选择新窗口打开",
- trigger: "blur"
- }]
+ label: "菜单图标",
+ prop: "source",
+ type: "icon",
+ slot: true,
+ iconList: iconList,
+ rules: [{
+ required: true,
+ message: "请输入菜单图标",
+ trigger: "click"
+ }]
+ },
+ {
+ label: "菜单编号",
+ prop: "code",
+ search: true,
+ rules: [{
+ required: true,
+ message: "请输入菜单编号",
+ trigger: "blur"
+ }]
+ },
+ {
+ label: "菜单类型",
+ prop: "category",
+ type: "radio",
+ dicData: [{
+ label: "菜单",
+ value: 1
+ },
+ {
+ label: "按钮",
+ value: 2
+ }
+ ],
+ hide: true,
+ rules: [{
+ required: true,
+ message: "请选择菜单类型",
+ trigger: "blur"
+ }]
+ },
+ {
+ label: "菜单别名",
+ prop: "alias",
+ search: true,
+ rules: [{
+ required: true,
+ message: "请输入菜单别名",
+ trigger: "blur"
+ }]
+ }, {
+ label: "菜单",
+ prop: "menuType",
+ type: "radio",
+ rules: [{
+ required: true,
+ message: "请选择菜单",
+ trigger: "blur"
+ }],
+ dicData: [{
+ label: "PC端",
+ value: 0
+ },
+ {
+ label: "移动端",
+ value: 1
+ }
+ ],
+ },
+ {
+ label: "新窗口",
+ prop: "isOpen",
+ type: "radio",
+ disabled: false,
+ display: false,
+ dicData: [{
+ label: "否",
+ value: 1
+ },
+ {
+ label: "是",
+ value: 2
+ }
+ ],
+ value: 1,
+ rules: [{
+ required: true,
+ message: "请选择新窗口打开",
+ trigger: "blur"
+ }]
+ },
+ {
+ label: "菜单排序",
+ prop: "sort",
+ type: "number",
+ rules: [{
+ required: true,
+ message: "请输入菜单排序",
+ trigger: "blur"
+ }]
+ },
+ {
+ label: "背景色",
+ prop: "background",
+ span: 12,
+ minRows: 2,
+ hide: true
+ },
+ {
+ label: "图片地址",
+ prop: "pictureImg",
+ span: 12,
+ minRows: 2,
+ hide: true
+ },
+ {
+ label: "标签权限",
+ prop: "labelList",
+ span: 12,
+ minRows: 2,
+ type: "cascader",
+ dicData: [],
+ props: {
+ label: "name",
+ value: 'id'
+ },
+ multiple: true,
+ // hide: true
+ },
+ {
+ label: "菜单备注",
+ prop: "remark",
+ type: "textarea",
+ span: 24,
+ minRows: 2,
+ hide: true
+ },
+ ]
},
- {
- label: "菜单排序",
- prop: "sort",
- type: "number",
- rules: [{
- required: true,
- message: "请输入菜单排序",
- trigger: "blur"
- }]
- },
- {
- label: "背景色",
- prop: "background",
- span: 12,
- minRows: 2,
- hide: true
- },
- {
- label: "图片地址",
- prop: "pictureImg",
- span: 12,
- minRows: 2,
- hide: true
- },
- {
- label: "标签权限",
- prop: "labelList",
- span: 12,
- minRows: 2,
- type: "cascader",
- dicData: [],
- props: {
- label: "name",
- value: 'id'
- },
- multiple: true,
- // hide: true
- },
- {
- label: "菜单备注",
- prop: "remark",
- type: "textarea",
- span: 24,
- minRows: 2,
- hide: true
- },
- ]
- },
- data: [],
- labelList: [],
- };
+ data: [],
+ labelList: [],
+ }
},
watch: {
- 'form.category'() {
- const category = func.toInt(this.form.category);
- this.$refs.crud.option.column.filter(item => {
- if (item.prop === "path") {
- item.rules[0].required = category === 1;
- }
- if (item.prop === 'isOpen') {
- item.disabled = category === 2;
- }
- });
- },
+ 'form.category' () {
+ const category = func.toInt(this.form.category)
+ this.$refs.crud.option.column.filter(item => {
+ if (item.prop === "path") {
+ item.rules[0].required = category === 1
+ }
+ if (item.prop === 'isOpen') {
+ item.disabled = category === 2
+ }
+ })
+ },
},
computed: {
- ...mapGetters(["userInfo", "permission"]),
- permissionList() {
- return {
- addBtn: this.vaildData(this.permission.menu_add, false),
- viewBtn: this.vaildData(this.permission.menu_view, false),
- delBtn: this.vaildData(this.permission.menu_delete, false),
- editBtn: this.vaildData(this.permission.menu_edit, false)
- };
- },
- ids() {
- let ids = [];
- this.selectionList.forEach(ele => {
- ids.push(ele.id);
- });
- return ids.join(",");
- }
+ ...mapGetters(["userInfo", "permission"]),
+ permissionList () {
+ return {
+ addBtn: this.vaildData(this.permission.menu_add, false),
+ viewBtn: this.vaildData(this.permission.menu_view, false),
+ delBtn: this.vaildData(this.permission.menu_delete, false),
+ editBtn: this.vaildData(this.permission.menu_edit, false)
+ }
+ },
+ ids () {
+ let ids = []
+ this.selectionList.forEach(ele => {
+ ids.push(ele.id)
+ })
+ return ids.join(",")
+ }
},
methods: {
- initData() {
- getMenuTree().then(res => {
- const column = this.findObject(this.option.column, "parentId");
- column.dicData = res.data.data;
- });
+ initData () {
+ getMenuTree().then(res => {
+ const column = this.findObject(this.option.column, "parentId")
+ column.dicData = res.data.data
+ })
- // getTreeList().then(res => {
- // console.log(JSON.stringify(res.data.data))
- const column = this.findObject(this.option.column, "labelList");
- column.dicData = this.labelList;
- // });
- },
- handleAdd(row) {
- this.parentId = row.id;
- const column = this.findObject(this.option.column, "parentId");
- column.value = row.id;
- column.addDisabled = true;
- this.$refs.crud.rowAdd();
- },
- rowSave(row, done, loading) {
- add(row).then((res) => {
- // 获取新增数据的相关字段
- const data = res.data.data;
- row.id = data.id;
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- // 数据回调进行刷新
- done(row);
- }, error => {
- window.console.log(error);
- loading();
- });
- },
- rowUpdate(row, index, done, loading) {
- update(row).then(() => {
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- // 数据回调进行刷新
- done(row);
- }, error => {
- window.console.log(error);
- loading();
- });
- },
- rowDel(row, index, done) {
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- })
- .then(() => {
- return remove(row.id);
- })
- .then(() => {
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- // 数据回调进行刷新
- done(row);
- });
- },
- handleDelete() {
- if (this.selectionList.length === 0) {
- this.$message.warning("请选择至少一条数据");
- return;
+ // getTreeList().then(res => {
+ // console.log(JSON.stringify(res.data.data))
+ const column = this.findObject(this.option.column, "labelList")
+ column.dicData = this.labelList
+ // });
+ },
+ handleAdd (row) {
+ this.parentId = row.id
+ const column = this.findObject(this.option.column, "parentId")
+ column.value = row.id
+ column.addDisabled = true
+ this.$refs.crud.rowAdd()
+ },
+ rowSave (row, done, loading) {
+ add(row).then((res) => {
+ // 获取新增数据的相关字段
+ const data = res.data.data
+ row.id = data.id
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ // 数据回调进行刷新
+ done(row)
+ }, error => {
+ window.console.log(error)
+ loading()
+ })
+ },
+ rowUpdate (row, index, done, loading) {
+ update(row).then(() => {
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ // 数据回调进行刷新
+ done(row)
+ }, error => {
+ window.console.log(error)
+ loading()
+ })
+ },
+ rowDel (row, index, done) {
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ })
+ .then(() => {
+ return remove(row.id)
+ })
+ .then(() => {
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ // 数据回调进行刷新
+ done(row)
+ })
+ },
+ handleDelete () {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据")
+ return
+ }
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ })
+ .then(() => {
+ return remove(this.ids)
+ })
+ .then(() => {
+ // 刷新表格数据并重载
+ this.data = []
+ this.parentId = 0
+ this.$refs.crud.refreshTable()
+ this.$refs.crud.toggleSelection()
+ // 表格数据重载
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ })
+ },
+ searchReset () {
+ this.query = {}
+ this.parentId = 0
+ this.onLoad(this.page)
+ },
+ searchChange (params, done) {
+ this.query = params
+ this.parentId = ''
+ this.page.currentPage = 1
+ this.onLoad(this.page, params)
+ done()
+ },
+ selectionChange (list) {
+ this.selectionList = list
+ },
+ selectionClear () {
+ this.selectionList = []
+ this.$refs.crud.toggleSelection()
+ },
+ beforeOpen (done, type) {
+ if (["add", "edit"].includes(type)) {
+ this.initData()
+ }
+ if (["edit", "view"].includes(type)) {
+ getMenu(this.form.id).then(res => {
+ this.form = res.data.data
+ })
+ }
+ done()
+ },
+ beforeClose (done) {
+ this.parentId = ""
+ const column = this.findObject(this.option.column, "parentId")
+ column.value = ""
+ column.addDisabled = false
+ done()
+ },
+ currentChange (currentPage) {
+ this.page.currentPage = currentPage
+ },
+ sizeChange (pageSize) {
+ this.page.pageSize = pageSize
+ },
+ refreshChange () {
+ this.onLoad(this.page, this.query)
+ },
+ onLoad (page, params = {}) {
+ this.loading = true
+ getLazyList(this.parentId, Object.assign(params, this.query)).then(res => {
+ this.data = res.data.data
+ this.loading = false
+ this.selectionClear()
+ })
+ getTreeList().then(res => {
+ this.labelList = res.data.data
+ })
+ },
+ treeLoad (tree, treeNode, resolve) {
+ const parentId = tree.id
+ getLazyList(parentId).then(res => {
+ resolve(res.data.data)
+ })
+ // getTreeList().then(res => {
+ // console.log(JSON.stringify(res.data.data))
+ const column = this.findObject(this.option.column, "labelList")
+ column.dicData = this.labelList
+ // });
}
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- })
- .then(() => {
- return remove(this.ids);
- })
- .then(() => {
- // 刷新表格数据并重载
- this.data = [];
- this.parentId = 0;
- this.$refs.crud.refreshTable();
- this.$refs.crud.toggleSelection();
- // 表格数据重载
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- });
- },
- searchReset() {
- this.query = {};
- this.parentId = 0;
- this.onLoad(this.page);
- },
- searchChange(params, done) {
- this.query = params;
- this.parentId = '';
- this.page.currentPage = 1;
- this.onLoad(this.page, params);
- done();
- },
- selectionChange(list) {
- this.selectionList = list;
- },
- selectionClear() {
- this.selectionList = [];
- this.$refs.crud.toggleSelection();
- },
- beforeOpen(done, type) {
- if (["add", "edit"].includes(type)) {
- this.initData();
- }
- if (["edit", "view"].includes(type)) {
- getMenu(this.form.id).then(res => {
- this.form = res.data.data;
- });
- }
- done();
- },
- beforeClose(done) {
- this.parentId = "";
- const column = this.findObject(this.option.column, "parentId");
- column.value = "";
- column.addDisabled = false;
- done();
- },
- currentChange(currentPage) {
- this.page.currentPage = currentPage;
- },
- sizeChange(pageSize) {
- this.page.pageSize = pageSize;
- },
- refreshChange() {
- this.onLoad(this.page, this.query);
- },
- onLoad(page, params = {}) {
- this.loading = true;
- getLazyList(this.parentId, Object.assign(params, this.query)).then(res => {
- this.data = res.data.data;
- this.loading = false;
- this.selectionClear();
- });
- getTreeList().then(res => {
- this.labelList = res.data.data;
- });
- },
- treeLoad(tree, treeNode, resolve) {
- const parentId = tree.id;
- getLazyList(parentId).then(res => {
- resolve(res.data.data);
- });
- // getTreeList().then(res => {
- // console.log(JSON.stringify(res.data.data))
- const column = this.findObject(this.option.column, "labelList");
- column.dicData = this.labelList;
- // });
- }
}
- };
+}
</script>
-<style>
-</style>
\ No newline at end of file
+<style></style>
\ No newline at end of file
diff --git a/src/views/system/post.vue b/src/views/system/post.vue
index 3add06b..68deabc 100644
--- a/src/views/system/post.vue
+++ b/src/views/system/post.vue
@@ -1,281 +1,264 @@
<template>
- <basic-container>
- <avue-crud :option="option"
- :table-loading="loading"
- :data="data"
- :page.sync="page"
- :permission="permissionList"
- :before-open="beforeOpen"
- v-model="form"
- ref="crud"
- @row-update="rowUpdate"
- @row-save="rowSave"
- @row-del="rowDel"
- @search-change="searchChange"
- @search-reset="searchReset"
- @selection-change="selectionChange"
- @current-change="currentChange"
- @size-change="sizeChange"
- @refresh-change="refreshChange"
- @on-load="onLoad">
- <template slot="menuLeft">
- <el-button type="danger"
- size="small"
- icon="el-icon-delete"
- plain
- v-if="permission.post_delete"
- @click="handleDelete">删 除
- </el-button>
- </template>
- <template slot-scope="{row}"
- slot="category">
- <el-tag>{{row.categoryName}}</el-tag>
- </template>
- </avue-crud>
- </basic-container>
+ <basic-container>
+ <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" :permission="permissionList"
+ :before-open="beforeOpen" v-model="form" ref="crud" @row-update="rowUpdate" @row-save="rowSave"
+ @row-del="rowDel" @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
+ @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
+ <template slot="menuLeft">
+ <el-button type="danger" size="small" icon="el-icon-delete" plain v-if="permission.post_delete"
+ @click="handleDelete">删 除
+ </el-button>
+ </template>
+ <template slot-scope="{row}" slot="category">
+ <el-tag>{{ row.categoryName }}</el-tag>
+ </template>
+ </avue-crud>
+ </basic-container>
</template>
<script>
- import {getList, getDetail, add, update, remove} from "@/api/system/post";
- import {mapGetters} from "vuex";
- import website from "@/config/website";
+import { getList, getDetail, add, update, remove } from "@/api/system/post"
+import { mapGetters } from "vuex"
+import website from "@/config/website"
- export default {
- data() {
- return {
- form: {},
- query: {},
- loading: true,
- page: {
- pageSize: 10,
- currentPage: 1,
- total: 0
- },
- selectionList: [],
- option: {
- height: 'auto',
- calcHeight: 30,
- tip: false,
- searchShow: true,
- searchMenuSpan: 6,
- border: true,
- index: true,
- viewBtn: true,
- selection: true,
- dialogClickModal: false,
- column: [
- {
- label: "所属租户",
- prop: "tenantId",
- type: "tree",
- dicUrl: "/api/blade-system/tenant/select",
- addDisplay: false,
- editDisplay: false,
- viewDisplay: website.tenantMode,
- span: 24,
- props: {
- label: "tenantName",
- value: "tenantId"
- },
- hide: !website.tenantMode,
- rules: [{
- required: true,
- message: "请输入所属租户",
- trigger: "click"
- }]
+export default {
+ data () {
+ return {
+ form: {},
+ query: {},
+ loading: true,
+ page: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0
},
- {
- label: "岗位类型",
- prop: "category",
- type: "select",
- dicUrl: "/api/blade-system/dict/dictionary?code=post_category",
- props: {
- label: "dictValue",
- value: "dictKey"
- },
- dataType: "number",
- slot: true,
- search: true,
- rules: [{
- required: true,
- message: "请选择岗位类型",
- trigger: "blur"
- }]
+ selectionList: [],
+ option: {
+ height: 'auto',
+ calcHeight: 30,
+ tip: false,
+ searchShow: true,
+ searchMenuSpan: 6,
+ border: true,
+ index: true,
+ viewBtn: true,
+ selection: true,
+ dialogClickModal: false,
+ column: [
+ {
+ label: "所属租户",
+ prop: "tenantId",
+ type: "tree",
+ dicUrl: "/api/blade-system/tenant/select",
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: website.tenantMode,
+ span: 24,
+ props: {
+ label: "tenantName",
+ value: "tenantId"
+ },
+ hide: !website.tenantMode,
+ rules: [{
+ required: true,
+ message: "请输入所属租户",
+ trigger: "click"
+ }]
+ },
+ {
+ label: "岗位类型",
+ prop: "category",
+ type: "select",
+ dicUrl: "/api/blade-system/dict/dictionary?code=post_category",
+ props: {
+ label: "dictValue",
+ value: "dictKey"
+ },
+ dataType: "number",
+ slot: true,
+ search: true,
+ searchLabelWidth: 76,
+ rules: [{
+ required: true,
+ message: "请选择岗位类型",
+ trigger: "blur"
+ }]
+ },
+ {
+ label: "岗位编号",
+ prop: "postCode",
+ search: true,
+ searchLabelWidth: 100,
+ rules: [{
+ required: true,
+ message: "请输入岗位编号",
+ trigger: "blur"
+ }]
+ },
+ {
+ label: "岗位名称",
+ prop: "postName",
+ search: true,
+ searchLabelWidth: 100,
+ rules: [{
+ required: true,
+ message: "请输入岗位名称",
+ trigger: "blur"
+ }]
+ },
+ {
+ label: "岗位排序",
+ prop: "sort",
+ type: "number",
+ rules: [{
+ required: true,
+ message: "请输入岗位排序",
+ trigger: "blur"
+ }]
+ },
+ {
+ label: "岗位描述",
+ prop: "remark",
+ type: "textarea",
+ span: 24,
+ minRows: 6,
+ hide: true,
+ },
+ ]
},
- {
- label: "岗位编号",
- prop: "postCode",
- search: true,
- rules: [{
- required: true,
- message: "请输入岗位编号",
- trigger: "blur"
- }]
- },
- {
- label: "岗位名称",
- prop: "postName",
- search: true,
- rules: [{
- required: true,
- message: "请输入岗位名称",
- trigger: "blur"
- }]
- },
- {
- label: "岗位排序",
- prop: "sort",
- type: "number",
- rules: [{
- required: true,
- message: "请输入岗位排序",
- trigger: "blur"
- }]
- },
- {
- label: "岗位描述",
- prop: "remark",
- type: "textarea",
- span: 24,
- minRows: 6,
- hide: true,
- },
- ]
- },
- data: []
- };
+ data: []
+ }
},
computed: {
- ...mapGetters(["permission"]),
- permissionList() {
- return {
- addBtn: this.vaildData(this.permission.post_add, false),
- viewBtn: this.vaildData(this.permission.post_view, false),
- delBtn: this.vaildData(this.permission.post_delete, false),
- editBtn: this.vaildData(this.permission.post_edit, false)
- };
- },
- ids() {
- let ids = [];
- this.selectionList.forEach(ele => {
- ids.push(ele.id);
- });
- return ids.join(",");
- }
+ ...mapGetters(["permission"]),
+ permissionList () {
+ return {
+ addBtn: this.vaildData(this.permission.post_add, false),
+ viewBtn: this.vaildData(this.permission.post_view, false),
+ delBtn: this.vaildData(this.permission.post_delete, false),
+ editBtn: this.vaildData(this.permission.post_edit, false)
+ }
+ },
+ ids () {
+ let ids = []
+ this.selectionList.forEach(ele => {
+ ids.push(ele.id)
+ })
+ return ids.join(",")
+ }
},
methods: {
- rowSave(row, done, loading) {
- add(row).then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- done();
- }, error => {
- window.console.log(error);
- loading();
- });
- },
- rowUpdate(row, index, done, loading) {
- update(row).then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- done();
- }, error => {
- window.console.log(error);
- loading();
- });
- },
- rowDel(row) {
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- })
- .then(() => {
- return remove(row.id);
- })
- .then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- });
- },
- handleDelete() {
- if (this.selectionList.length === 0) {
- this.$message.warning("请选择至少一条数据");
- return;
+ rowSave (row, done, loading) {
+ add(row).then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ done()
+ }, error => {
+ window.console.log(error)
+ loading()
+ })
+ },
+ rowUpdate (row, index, done, loading) {
+ update(row).then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ done()
+ }, error => {
+ window.console.log(error)
+ loading()
+ })
+ },
+ rowDel (row) {
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ })
+ .then(() => {
+ return remove(row.id)
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ })
+ },
+ handleDelete () {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据")
+ return
+ }
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ })
+ .then(() => {
+ return remove(this.ids)
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ this.$refs.crud.toggleSelection()
+ })
+ },
+ beforeOpen (done, type) {
+ if (["edit", "view"].includes(type)) {
+ getDetail(this.form.id).then(res => {
+ this.form = res.data.data
+ })
+ }
+ done()
+ },
+ searchReset () {
+ this.query = {}
+ this.onLoad(this.page)
+ },
+ searchChange (params, done) {
+ this.query = params
+ this.page.currentPage = 1
+ this.onLoad(this.page, params)
+ done()
+ },
+ selectionChange (list) {
+ this.selectionList = list
+ },
+ selectionClear () {
+ this.selectionList = []
+ this.$refs.crud.toggleSelection()
+ },
+ currentChange (currentPage) {
+ this.page.currentPage = currentPage
+ },
+ sizeChange (pageSize) {
+ this.page.pageSize = pageSize
+ },
+ refreshChange () {
+ this.onLoad(this.page, this.query)
+ },
+ onLoad (page, params = {}) {
+ this.loading = true
+ getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
+ const data = res.data.data
+ this.page.total = data.total
+ this.data = data.records
+ this.loading = false
+ this.selectionClear()
+ })
}
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- })
- .then(() => {
- return remove(this.ids);
- })
- .then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- this.$refs.crud.toggleSelection();
- });
- },
- beforeOpen(done, type) {
- if (["edit", "view"].includes(type)) {
- getDetail(this.form.id).then(res => {
- this.form = res.data.data;
- });
- }
- done();
- },
- searchReset() {
- this.query = {};
- this.onLoad(this.page);
- },
- searchChange(params, done) {
- this.query = params;
- this.page.currentPage = 1;
- this.onLoad(this.page, params);
- done();
- },
- selectionChange(list) {
- this.selectionList = list;
- },
- selectionClear() {
- this.selectionList = [];
- this.$refs.crud.toggleSelection();
- },
- currentChange(currentPage) {
- this.page.currentPage = currentPage;
- },
- sizeChange(pageSize) {
- this.page.pageSize = pageSize;
- },
- refreshChange() {
- this.onLoad(this.page, this.query);
- },
- onLoad(page, params = {}) {
- this.loading = true;
- getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
- const data = res.data.data;
- this.page.total = data.total;
- this.data = data.records;
- this.loading = false;
- this.selectionClear();
- });
- }
}
- };
+}
</script>
-<style>
-</style>
+<style></style>
diff --git a/src/views/system/tenant.vue b/src/views/system/tenant.vue
index edb3eee..059fd29 100644
--- a/src/views/system/tenant.vue
+++ b/src/views/system/tenant.vue
@@ -1,554 +1,511 @@
<template>
- <basic-container>
- <avue-crud :option="option"
- :table-loading="loading"
- :data="data"
- ref="crud"
- v-model="form"
- :page.sync="page"
- :permission="permissionList"
- :before-open="beforeOpen"
- @row-del="rowDel"
- @row-update="rowUpdate"
- @row-save="rowSave"
- @search-change="searchChange"
- @search-reset="searchReset"
- @selection-change="selectionChange"
- @current-change="currentChange"
- @size-change="sizeChange"
- @refresh-change="refreshChange"
- @on-load="onLoad">
- <template slot="menuLeft">
- <el-button type="danger"
- size="small"
- icon="el-icon-delete"
- v-if="permission.tenant_delete"
- plain
- @click="handleDelete">删 除
- </el-button>
- <el-tooltip class="item" effect="dark" content="给租户配置账号额度、过期时间等授权信息" placement="top">
- <el-button size="small"
- plain
- v-if="userInfo.role_name.includes('administrator')"
- icon="el-icon-setting"
- @click="handleSetting">授权配置
- </el-button>
- </el-tooltip>
- <el-tooltip class="item" effect="dark" content="给租户配置独立数据源以实现数据库隔离" placement="top">
- <el-button size="small"
- plain
- v-if="userInfo.role_name.includes('administrator')"
- icon="el-icon-coin"
- @click="handleDatasource">数据源配置
- </el-button>
- </el-tooltip>
- <el-tooltip class="item" effect="dark" content="将菜单产品包与租户配置绑定" placement="top">
- <el-button size="small"
- plain
- v-if="userInfo.role_name.includes('administrator')"
- icon="el-icon-notebook-1"
- @click="handlePackage">产品包配置
- </el-button>
- </el-tooltip>
- <el-tooltip class="item" effect="dark" content="将自定义的菜单集合定制为租户绑定的菜单产品包" placement="top">
- <el-button size="small"
- plain
- v-if="userInfo.role_name.includes('administrator')"
- icon="el-icon-notebook-2"
- @click="handlePackageSetting">产品包管理
- </el-button>
- </el-tooltip>
- </template>
- <template slot-scope="{row}"
- slot="accountNumber">
- <el-tag>{{ row.accountNumber > 0 ? row.accountNumber : '不限制' }}</el-tag>
- </template>
- <template slot-scope="{row}"
- slot="expireTime">
- <el-tag>{{ row.expireTime ? row.expireTime : '不限制' }}</el-tag>
- </template>
- </avue-crud>
- <el-dialog title="租户授权配置"
- append-to-body
- :visible.sync="box"
- width="450px">
- <avue-form :option="settingOption" v-model="settingForm" @submit="handleSubmit"/>
- </el-dialog>
- <el-dialog title="租户数据源配置"
- append-to-body
- :visible.sync="datasourceBox"
- width="450px">
- <avue-form :option="datasourceOption" v-model="datasourceForm" @submit="handleDatasourceSubmit"/>
- </el-dialog>
- <el-dialog title="租户产品包配置"
- append-to-body
- :visible.sync="packageBox"
- width="450px">
- <avue-form ref="formPackage" :option="packageOption" v-model="packageForm" @submit="handlePackageSubmit"/>
- </el-dialog>
- <el-dialog title="租户产品包管理"
- append-to-body
- :visible.sync="packageSettingBox"
- width="1000px">
- <tenant-package></tenant-package>
- </el-dialog>
- </basic-container>
+ <basic-container>
+ <avue-crud :option="option" :table-loading="loading" :data="data" ref="crud" v-model="form" :page.sync="page"
+ :permission="permissionList" :before-open="beforeOpen" @row-del="rowDel" @row-update="rowUpdate"
+ @row-save="rowSave" @search-change="searchChange" @search-reset="searchReset"
+ @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
+ @refresh-change="refreshChange" @on-load="onLoad">
+ <template slot="menuLeft">
+ <el-button type="danger" size="small" icon="el-icon-delete" v-if="permission.tenant_delete" plain
+ @click="handleDelete">删 除
+ </el-button>
+ <el-tooltip class="item" effect="dark" content="给租户配置账号额度、过期时间等授权信息" placement="top">
+ <el-button size="small" plain v-if="userInfo.role_name.includes('administrator')" icon="el-icon-setting"
+ @click="handleSetting">授权配置
+ </el-button>
+ </el-tooltip>
+ <el-tooltip class="item" effect="dark" content="给租户配置独立数据源以实现数据库隔离" placement="top">
+ <el-button size="small" plain v-if="userInfo.role_name.includes('administrator')" icon="el-icon-coin"
+ @click="handleDatasource">数据源配置
+ </el-button>
+ </el-tooltip>
+ <el-tooltip class="item" effect="dark" content="将菜单产品包与租户配置绑定" placement="top">
+ <el-button size="small" plain v-if="userInfo.role_name.includes('administrator')"
+ icon="el-icon-notebook-1" @click="handlePackage">产品包配置
+ </el-button>
+ </el-tooltip>
+ <el-tooltip class="item" effect="dark" content="将自定义的菜单集合定制为租户绑定的菜单产品包" placement="top">
+ <el-button size="small" plain v-if="userInfo.role_name.includes('administrator')"
+ icon="el-icon-notebook-2" @click="handlePackageSetting">产品包管理
+ </el-button>
+ </el-tooltip>
+ </template>
+ <template slot-scope="{row}" slot="accountNumber">
+ <el-tag>{{ row.accountNumber > 0 ? row.accountNumber : '不限制' }}</el-tag>
+ </template>
+ <template slot-scope="{row}" slot="expireTime">
+ <el-tag>{{ row.expireTime ? row.expireTime : '不限制' }}</el-tag>
+ </template>
+ </avue-crud>
+ <el-dialog title="租户授权配置" append-to-body :visible.sync="box" width="450px">
+ <avue-form :option="settingOption" v-model="settingForm" @submit="handleSubmit" />
+ </el-dialog>
+ <el-dialog title="租户数据源配置" append-to-body :visible.sync="datasourceBox" width="450px">
+ <avue-form :option="datasourceOption" v-model="datasourceForm" @submit="handleDatasourceSubmit" />
+ </el-dialog>
+ <el-dialog title="租户产品包配置" append-to-body :visible.sync="packageBox" width="450px">
+ <avue-form ref="formPackage" :option="packageOption" v-model="packageForm" @submit="handlePackageSubmit" />
+ </el-dialog>
+ <el-dialog title="租户产品包管理" append-to-body :visible.sync="packageSettingBox" width="1000px">
+ <tenant-package></tenant-package>
+ </el-dialog>
+ </basic-container>
</template>
<script>
-import {getList, getDetail, remove, update, add, setting, datasource, packageInfo, packageSetting} from "@/api/system/tenant";
-import {getDetail as packageDetail} from "@/api/system/tenantpackage";
-import {mapGetters} from "vuex";
-import {getMenuTree} from "@/api/system/menu";
-import {validatenull} from "@/util/validate";
+import { getList, getDetail, remove, update, add, setting, datasource, packageInfo, packageSetting } from "@/api/system/tenant"
+import { getDetail as packageDetail } from "@/api/system/tenantpackage"
+import { mapGetters } from "vuex"
+import { getMenuTree } from "@/api/system/menu"
+import { validatenull } from "@/util/validate"
export default {
- data() {
- return {
- form: {},
- selectionList: [],
- query: {},
- loading: true,
- box: false,
- datasourceBox: false,
- packageBox: false,
- packageSettingBox: false,
- page: {
- pageSize: 10,
- currentPage: 1,
- total: 0
- },
- option: {
- height: 'auto',
- calcHeight: 30,
- tip: false,
- searchShow: true,
- searchMenuSpan: 6,
- border: true,
- index: true,
- selection: true,
- viewBtn: true,
- dialogWidth: 900,
- dialogClickModal: false,
- column: [
- {
- label: "租户ID",
- prop: "tenantId",
- width: 100,
- search: true,
- addDisplay: false,
- editDisplay: false,
- span: 24,
- rules: [{
- required: true,
- message: "请输入租户ID",
- trigger: "blur"
- }]
- },
- {
- label: "租户名称",
- prop: "tenantName",
- search: true,
- width: 180,
- span: 24,
- rules: [{
- required: true,
- message: "请输入参数名称",
- trigger: "blur"
- }]
- },
- {
- label: "联系人",
- prop: "linkman",
- width: 100,
- search: true,
- rules: [{
- required: true,
- message: "请输入联系人",
- trigger: "blur"
- }]
- },
- {
- label: "联系电话",
- prop: "contactNumber",
- width: 150,
- },
- {
- label: "联系地址",
- prop: "address",
- span: 24,
- minRows: 2,
- type: "textarea",
- hide: true,
- },
- {
- label: "账号额度",
- prop: "accountNumber",
- width: 90,
- slot: true,
- addDisplay: false,
- editDisplay: false,
- },
- {
- label: "过期时间",
- prop: "expireTime",
- width: 180,
- slot: true,
- addDisplay: false,
- editDisplay: false,
- },
- {
- label: "绑定域名",
- prop: "domainUrl",
- span: 24,
- },
- {
- label: "系统背景",
- prop: "backgroundUrl",
- type: 'upload',
- listType: 'picture-img',
- dataType: 'string',
- action: '/api/blade-resource/oss/endpoint/put-file',
- propsHttp: {
- res: 'data',
- url: 'link',
+ data () {
+ return {
+ form: {},
+ selectionList: [],
+ query: {},
+ loading: true,
+ box: false,
+ datasourceBox: false,
+ packageBox: false,
+ packageSettingBox: false,
+ page: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0
},
- hide: true,
- span: 24,
- },
- ]
- },
- data: [],
- settingForm: {},
- settingOption: {
- column: [
- {
- label: "账号额度",
- prop: "accountNumber",
- type: "number",
- span: 24,
- },
- {
- label: "过期时间",
- prop: "expireTime",
- type: "date",
- format: "yyyy-MM-dd hh:mm:ss",
- valueFormat: "yyyy-MM-dd hh:mm:ss",
- span: 24,
- },
- ]
- },
- datasourceForm: {},
- datasourceOption: {
- column: [
- {
- label: "数据源",
- prop: "datasourceId",
- search: true,
- span: 24,
- type: "select",
- dicUrl: "/api/blade-develop/datasource/select",
- props: {
- label: "name",
- value: "id"
+ option: {
+ height: 'auto',
+ calcHeight: 30,
+ tip: false,
+ searchShow: true,
+ searchMenuSpan: 6,
+ border: true,
+ index: true,
+ selection: true,
+ viewBtn: true,
+ dialogWidth: 900,
+ dialogClickModal: false,
+ column: [
+ {
+ label: "租户ID",
+ prop: "tenantId",
+ width: 100,
+ search: true,
+ searchLabelWidth: 60,
+ addDisplay: false,
+ editDisplay: false,
+ span: 24,
+ rules: [{
+ required: true,
+ message: "请输入租户ID",
+ trigger: "blur"
+ }]
+ },
+ {
+ label: "租户名称",
+ prop: "tenantName",
+ search: true,
+ width: 180,
+ span: 24,
+ rules: [{
+ required: true,
+ message: "请输入参数名称",
+ trigger: "blur"
+ }]
+ },
+ {
+ label: "联系人",
+ prop: "linkman",
+ width: 100,
+ search: true,
+ rules: [{
+ required: true,
+ message: "请输入联系人",
+ trigger: "blur"
+ }]
+ },
+ {
+ label: "联系电话",
+ prop: "contactNumber",
+ width: 150,
+ },
+ {
+ label: "联系地址",
+ prop: "address",
+ span: 24,
+ minRows: 2,
+ type: "textarea",
+ hide: true,
+ },
+ {
+ label: "账号额度",
+ prop: "accountNumber",
+ width: 90,
+ slot: true,
+ addDisplay: false,
+ editDisplay: false,
+ },
+ {
+ label: "过期时间",
+ prop: "expireTime",
+ width: 180,
+ slot: true,
+ addDisplay: false,
+ editDisplay: false,
+ },
+ {
+ label: "绑定域名",
+ prop: "domainUrl",
+ span: 24,
+ },
+ {
+ label: "系统背景",
+ prop: "backgroundUrl",
+ type: 'upload',
+ listType: 'picture-img',
+ dataType: 'string',
+ action: '/api/blade-resource/oss/endpoint/put-file',
+ propsHttp: {
+ res: 'data',
+ url: 'link',
+ },
+ hide: true,
+ span: 24,
+ },
+ ]
},
- rules: [{
- required: true,
- message: "请选择数据源",
- trigger: "blur"
- }]
- },
- ]
- },
- packageForm: {},
- packageOption: {
- column: [
- {
- label: "产品包",
- prop: "packageId",
- search: true,
- span: 24,
- type: "select",
- dicUrl: "/api/blade-system/tenant-package/select",
- props: {
- label: "packageName",
- value: "id"
+ data: [],
+ settingForm: {},
+ settingOption: {
+ column: [
+ {
+ label: "账号额度",
+ prop: "accountNumber",
+ type: "number",
+ span: 24,
+ },
+ {
+ label: "过期时间",
+ prop: "expireTime",
+ type: "date",
+ format: "yyyy-MM-dd hh:mm:ss",
+ valueFormat: "yyyy-MM-dd hh:mm:ss",
+ span: 24,
+ },
+ ]
+ },
+ datasourceForm: {},
+ datasourceOption: {
+ column: [
+ {
+ label: "数据源",
+ prop: "datasourceId",
+ search: true,
+ span: 24,
+ type: "select",
+ dicUrl: "/api/blade-develop/datasource/select",
+ props: {
+ label: "name",
+ value: "id"
+ },
+ rules: [{
+ required: true,
+ message: "请选择数据源",
+ trigger: "blur"
+ }]
+ },
+ ]
+ },
+ packageForm: {},
+ packageOption: {
+ column: [
+ {
+ label: "产品包",
+ prop: "packageId",
+ search: true,
+ span: 24,
+ type: "select",
+ dicUrl: "/api/blade-system/tenant-package/select",
+ props: {
+ label: "packageName",
+ value: "id"
+ }
+ },
+ {
+ label: "菜单预览",
+ prop: "menuId",
+ span: 24,
+ type: "tree",
+ dicData: [],
+ hide: true,
+ multiple: true,
+ props: {
+ label: "title"
+ },
+ },
+ ]
+ },
+ }
+ },
+ watch: {
+ 'packageForm.packageId' () {
+ if (!validatenull(this.packageForm.packageId)) {
+ packageDetail(this.packageForm.packageId).then(res => {
+ this.packageForm.menuId = res.data.data.menuId
+ this.initData()
+ })
}
- },
- {
- label: "菜单预览",
- prop: "menuId",
- span: 24,
- type: "tree",
- dicData: [],
- hide: true,
- multiple: true,
- props: {
- label: "title"
- },
- },
- ]
- },
- };
- },
- watch: {
- 'packageForm.packageId'() {
- if (!validatenull(this.packageForm.packageId)) {
- packageDetail(this.packageForm.packageId).then(res => {
- this.packageForm.menuId = res.data.data.menuId;
- this.initData();
- });
- }
+ }
+ },
+ computed: {
+ ...mapGetters(["userInfo", "permission"]),
+ permissionList () {
+ return {
+ addBtn: this.vaildData(this.permission.tenant_add, false),
+ viewBtn: this.vaildData(this.permission.tenant_view, false),
+ delBtn: this.vaildData(this.permission.tenant_delete, false),
+ editBtn: this.vaildData(this.permission.tenant_edit, false)
+ }
+ },
+ ids () {
+ let ids = []
+ this.selectionList.forEach(ele => {
+ ids.push(ele.id)
+ })
+ return ids.join(",")
+ },
+ tenantId () {
+ return this.selectionList[0].tenantId
+ }
+ },
+ methods: {
+ initData () {
+ getMenuTree().then(res => {
+ const column = this.findObject(this.packageOption.column, "menuId")
+ column.dicData = res.data.data
+ })
+ },
+ rowSave (row, done, loading) {
+ add(row).then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ done()
+ }, error => {
+ window.console.log(error)
+ loading()
+ })
+ },
+ rowUpdate (row, index, done, loading) {
+ update(row).then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ done()
+ }, error => {
+ window.console.log(error)
+ loading()
+ })
+ },
+ rowDel (row) {
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ })
+ .then(() => {
+ return remove(row.id)
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ })
+ },
+ beforeOpen (done, type) {
+ if (["view"].includes(type)) {
+ getDetail(this.form.id).then(res => {
+ const data = res.data.data
+ if (!(data.accountNumber > 0)) {
+ data.accountNumber = "不限制"
+ }
+ if (!data.expireTime) {
+ data.expireTime = "不限制"
+ }
+ this.form = data
+ })
+ }
+ done()
+ },
+ searchReset () {
+ this.query = {}
+ this.onLoad(this.page)
+ },
+ searchChange (params, done) {
+ this.query = params
+ this.page.currentPage = 1
+ this.onLoad(this.page, params)
+ done()
+ },
+ selectionChange (list) {
+ this.selectionList = list
+ },
+ selectionClear () {
+ this.selectionList = []
+ this.$refs.crud.toggleSelection()
+ },
+ handleDelete () {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据")
+ return
+ }
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ })
+ .then(() => {
+ return remove(this.ids)
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ this.$refs.crud.toggleSelection()
+ })
+ },
+ handleSetting () {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据")
+ return
+ }
+ if (this.selectionList.length === 1) {
+ getDetail(this.selectionList[0].id).then(res => {
+ const data = res.data.data
+ this.settingForm.accountNumber = data.accountNumber
+ this.settingForm.expireTime = data.expireTime
+ })
+ } else {
+ this.settingForm.accountNumber = -1
+ this.settingForm.expireTime = ''
+ }
+ this.box = true
+ },
+ handleDatasource () {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据")
+ return
+ }
+ if (this.selectionList.length !== 1) {
+ this.$message.warning("只能选择一条数据")
+ return
+ }
+ getDetail(this.selectionList[0].id).then(res => {
+ const data = res.data.data
+ this.datasourceForm.datasourceId = data.datasourceId
+ })
+ this.datasourceBox = true
+ },
+ handlePackage () {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据")
+ return
+ }
+ if (this.selectionList.length !== 1) {
+ this.$message.warning("只能选择一条数据")
+ return
+ }
+ if (this.selectionList.length === 1) {
+ packageInfo(this.selectionList[0].id).then(res => {
+ const data = res.data.data
+ this.packageForm.packageId = data.id
+ this.packageForm.menuId = data.menuId
+ })
+ } else {
+ this.packageForm.menuId = ''
+ }
+ this.packageBox = true
+ //更新字典远程数据
+ setTimeout(() => {
+ const form = this.$refs.formPackage
+ form.updateDic('packageId')
+ }, 10)
+ },
+ handlePackageSetting () {
+ this.packageSettingBox = true
+ },
+ handleSubmit (form, done, loading) {
+ setting(this.ids, form).then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "配置成功!"
+ })
+ done()
+ this.box = false
+ }, error => {
+ window.console.log(error)
+ loading()
+ })
+ },
+ handleDatasourceSubmit (form, done, loading) {
+ datasource(this.tenantId, form.datasourceId).then(() => {
+ this.$message({
+ type: "success",
+ message: "配置成功!"
+ })
+ done()
+ this.datasourceBox = false
+ }, error => {
+ window.console.log(error)
+ loading()
+ })
+ },
+ handlePackageSubmit (form, done, loading) {
+ packageSetting(this.tenantId, form.packageId).then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "配置成功!"
+ })
+ done()
+ this.packageBox = false
+ }, error => {
+ window.console.log(error)
+ loading()
+ })
+ },
+ currentChange (currentPage) {
+ this.page.currentPage = currentPage
+ },
+ sizeChange (pageSize) {
+ this.page.pageSize = pageSize
+ },
+ refreshChange () {
+ this.onLoad(this.page, this.query)
+ },
+ onLoad (page, params = {}) {
+ this.loading = true
+ getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
+ const data = res.data.data
+ this.page.total = data.total
+ this.data = data.records
+ this.loading = false
+ this.selectionClear()
+ })
+ }
}
- },
- computed: {
- ...mapGetters(["userInfo", "permission"]),
- permissionList() {
- return {
- addBtn: this.vaildData(this.permission.tenant_add, false),
- viewBtn: this.vaildData(this.permission.tenant_view, false),
- delBtn: this.vaildData(this.permission.tenant_delete, false),
- editBtn: this.vaildData(this.permission.tenant_edit, false)
- };
- },
- ids() {
- let ids = [];
- this.selectionList.forEach(ele => {
- ids.push(ele.id);
- });
- return ids.join(",");
- },
- tenantId() {
- return this.selectionList[0].tenantId;
- }
- },
- methods: {
- initData() {
- getMenuTree().then(res => {
- const column = this.findObject(this.packageOption.column, "menuId");
- column.dicData = res.data.data;
- });
- },
- rowSave(row, done, loading) {
- add(row).then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- done();
- }, error => {
- window.console.log(error);
- loading();
- });
- },
- rowUpdate(row, index, done, loading) {
- update(row).then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- done();
- }, error => {
- window.console.log(error);
- loading();
- });
- },
- rowDel(row) {
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- })
- .then(() => {
- return remove(row.id);
- })
- .then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- });
- },
- beforeOpen(done, type) {
- if (["view"].includes(type)) {
- getDetail(this.form.id).then(res => {
- const data = res.data.data;
- if (!(data.accountNumber > 0)) {
- data.accountNumber = "不限制";
- }
- if (!data.expireTime) {
- data.expireTime = "不限制";
- }
- this.form = data;
- });
- }
- done();
- },
- searchReset() {
- this.query = {};
- this.onLoad(this.page);
- },
- searchChange(params, done) {
- this.query = params;
- this.page.currentPage = 1;
- this.onLoad(this.page, params);
- done();
- },
- selectionChange(list) {
- this.selectionList = list;
- },
- selectionClear() {
- this.selectionList = [];
- this.$refs.crud.toggleSelection();
- },
- handleDelete() {
- if (this.selectionList.length === 0) {
- this.$message.warning("请选择至少一条数据");
- return;
- }
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- })
- .then(() => {
- return remove(this.ids);
- })
- .then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- this.$refs.crud.toggleSelection();
- });
- },
- handleSetting() {
- if (this.selectionList.length === 0) {
- this.$message.warning("请选择至少一条数据");
- return;
- }
- if (this.selectionList.length === 1) {
- getDetail(this.selectionList[0].id).then(res => {
- const data = res.data.data;
- this.settingForm.accountNumber = data.accountNumber;
- this.settingForm.expireTime = data.expireTime;
- });
- } else {
- this.settingForm.accountNumber = -1;
- this.settingForm.expireTime = '';
- }
- this.box = true;
- },
- handleDatasource() {
- if (this.selectionList.length === 0) {
- this.$message.warning("请选择至少一条数据");
- return;
- }
- if (this.selectionList.length !== 1) {
- this.$message.warning("只能选择一条数据");
- return;
- }
- getDetail(this.selectionList[0].id).then(res => {
- const data = res.data.data;
- this.datasourceForm.datasourceId = data.datasourceId;
- });
- this.datasourceBox = true;
- },
- handlePackage() {
- if (this.selectionList.length === 0) {
- this.$message.warning("请选择至少一条数据");
- return;
- }
- if (this.selectionList.length !== 1) {
- this.$message.warning("只能选择一条数据");
- return;
- }
- if (this.selectionList.length === 1) {
- packageInfo(this.selectionList[0].id).then(res => {
- const data = res.data.data;
- this.packageForm.packageId = data.id;
- this.packageForm.menuId = data.menuId;
- });
- } else {
- this.packageForm.menuId = '';
- }
- this.packageBox = true;
- //更新字典远程数据
- setTimeout(() => {
- const form = this.$refs.formPackage;
- form.updateDic('packageId');
- }, 10);
- },
- handlePackageSetting() {
- this.packageSettingBox = true;
- },
- handleSubmit(form, done, loading) {
- setting(this.ids, form).then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "配置成功!"
- });
- done();
- this.box = false;
- }, error => {
- window.console.log(error);
- loading();
- });
- },
- handleDatasourceSubmit(form, done, loading) {
- datasource(this.tenantId, form.datasourceId).then(() => {
- this.$message({
- type: "success",
- message: "配置成功!"
- });
- done();
- this.datasourceBox = false;
- }, error => {
- window.console.log(error);
- loading();
- });
- },
- handlePackageSubmit(form, done, loading) {
- packageSetting(this.tenantId, form.packageId).then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "配置成功!"
- });
- done();
- this.packageBox = false;
- }, error => {
- window.console.log(error);
- loading();
- });
- },
- currentChange(currentPage) {
- this.page.currentPage = currentPage;
- },
- sizeChange(pageSize) {
- this.page.pageSize = pageSize;
- },
- refreshChange() {
- this.onLoad(this.page, this.query);
- },
- onLoad(page, params = {}) {
- this.loading = true;
- getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
- const data = res.data.data;
- this.page.total = data.total;
- this.data = data.records;
- this.loading = false;
- this.selectionClear();
- });
- }
- }
-};
+}
</script>
-<style>
-</style>
+<style></style>
diff --git a/src/views/system/topmenu.vue b/src/views/system/topmenu.vue
index fdb6388..32a9d4e 100644
--- a/src/views/system/topmenu.vue
+++ b/src/views/system/topmenu.vue
@@ -1,332 +1,304 @@
<template>
- <basic-container>
- <avue-crud :option="option"
- :table-loading="loading"
- :data="data"
- :page.sync="page"
- :permission="permissionList"
- :before-open="beforeOpen"
- v-model="form"
- ref="crud"
- @row-update="rowUpdate"
- @row-save="rowSave"
- @row-del="rowDel"
- @search-change="searchChange"
- @search-reset="searchReset"
- @selection-change="selectionChange"
- @current-change="currentChange"
- @size-change="sizeChange"
- @refresh-change="refreshChange"
- @on-load="onLoad">
- <template slot="menuLeft">
- <el-button type="danger"
- size="small"
- icon="el-icon-delete"
- plain
- v-if="permission.topmenu_delete"
- @click="handleDelete">删 除
- </el-button>
- <el-button size="small"
- icon="el-icon-delete"
- @click="handleMenuSetting"
- v-if="permission.topmenu_setting"
- plain>菜单配置
- </el-button>
- </template>
- <template slot-scope="{row}" slot="source">
- <div style="text-align:center">
- <i :class="row.source"></i>
- </div>
- </template>
- <template slot="sort" slot-scope="{row}" >
- <el-input-number v-model="row.sort" @change="sortChange(row)" :min="1" :max="100"></el-input-number>
- </template>
- </avue-crud>
- <el-dialog title="下级菜单配置"
- append-to-body
- :visible.sync="box"
- width="345px">
+ <basic-container>
+ <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" :permission="permissionList"
+ :before-open="beforeOpen" v-model="form" ref="crud" @row-update="rowUpdate" @row-save="rowSave"
+ @row-del="rowDel" @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
+ @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
+ <template slot="menuLeft">
+ <el-button type="danger" size="small" icon="el-icon-delete" plain v-if="permission.topmenu_delete"
+ @click="handleDelete">删 除
+ </el-button>
+ <el-button size="small" icon="el-icon-delete" @click="handleMenuSetting" v-if="permission.topmenu_setting"
+ plain>菜单配置
+ </el-button>
+ </template>
+ <template slot-scope="{row}" slot="source">
+ <div style="text-align:center">
+ <i :class="row.source"></i>
+ </div>
+ </template>
+ <template slot="sort" slot-scope="{row}">
+ <el-input-number v-model="row.sort" @change="sortChange(row)" :min="1" :max="100"></el-input-number>
+ </template>
+ </avue-crud>
+ <el-dialog title="下级菜单配置" append-to-body :visible.sync="box" width="345px">
- <el-tree :data="menuGrantList"
- show-checkbox
- node-key="id"
- ref="treeMenu"
- :default-checked-keys="menuTreeObj"
- :props="props">
- </el-tree>
+ <el-tree :data="menuGrantList" show-checkbox node-key="id" ref="treeMenu" :default-checked-keys="menuTreeObj"
+ :props="props">
+ </el-tree>
- <span slot="footer"
- class="dialog-footer">
- <el-button @click="box = false">取 消</el-button>
- <el-button type="primary"
- @click="submit">确 定</el-button>
- </span>
- </el-dialog>
- </basic-container>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="box = false">取 消</el-button>
+ <el-button type="primary" @click="submit">确 定</el-button>
+ </span>
+ </el-dialog>
+ </basic-container>
</template>
<script>
- import {getList, getDetail, add, update, remove, grant, grantTree, getTopTree} from "@/api/system/topmenu";
- import {mapGetters} from "vuex";
- import iconList from "@/config/iconList";
+import { getList, getDetail, add, update, remove, grant, grantTree, getTopTree } from "@/api/system/topmenu"
+import { mapGetters } from "vuex"
+import iconList from "@/config/iconList"
- export default {
- data() {
- return {
- form: {},
- box: false,
- query: {},
- loading: true,
- props: {
- label: "title",
- value: "key"
- },
- page: {
- pageSize: 10,
- currentPage: 1,
- total: 0
- },
- selectionList: [],
- menuGrantList: [],
- menuTreeObj: [],
- option: {
- height: 'auto',
- calcHeight: 30,
- tip: false,
- searchShow: true,
- searchMenuSpan: 6,
- border: true,
- index: true,
- viewBtn: true,
- selection: true,
- dialogWidth: 900,
- dialogClickModal: false,
- column: [
- {
- label: "菜单名",
- prop: "name",
- search: true,
- rules: [{
- required: true,
- message: "请输入菜单名",
- trigger: "blur"
- }]
+export default {
+ data () {
+ return {
+ form: {},
+ box: false,
+ query: {},
+ loading: true,
+ props: {
+ label: "title",
+ value: "key"
},
- {
- label: "菜单图标",
- prop: "source",
- type: "icon",
- slot: true,
- iconList: iconList,
- rules: [
- {
- required: true,
- message: "请输入菜单图标",
- trigger: "click"
- }
- ]
+ page: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0
},
- {
- label: "菜单编号",
- prop: "code",
- search: true,
- rules: [{
- required: true,
- message: "请输入菜单编号",
- trigger: "blur"
- }]
+ selectionList: [],
+ menuGrantList: [],
+ menuTreeObj: [],
+ option: {
+ height: 'auto',
+ calcHeight: 30,
+ tip: false,
+ searchShow: true,
+ searchMenuSpan: 6,
+ border: true,
+ index: true,
+ viewBtn: true,
+ selection: true,
+ dialogWidth: 900,
+ dialogClickModal: false,
+ column: [
+ {
+ label: "菜单名",
+ prop: "name",
+ search: true,
+ searchLabelWidth: 60,
+ rules: [{
+ required: true,
+ message: "请输入菜单名",
+ trigger: "blur"
+ }]
+ },
+ {
+ label: "菜单图标",
+ prop: "source",
+ type: "icon",
+ slot: true,
+ iconList: iconList,
+ rules: [
+ {
+ required: true,
+ message: "请输入菜单图标",
+ trigger: "click"
+ }
+ ]
+ },
+ {
+ label: "菜单编号",
+ prop: "code",
+ search: true,
+ searchLabelWidth: 100,
+ rules: [{
+ required: true,
+ message: "请输入菜单编号",
+ trigger: "blur"
+ }]
+ },
+ {
+ label: "菜单排序",
+ prop: "sort",
+ type: "number",
+ slot: true,
+ rules: [{
+ required: true,
+ message: "请输入菜单排序",
+ trigger: "blur"
+ }]
+ },
+ ]
},
- {
- label: "菜单排序",
- prop: "sort",
- type: "number",
- slot: true,
- rules: [{
- required: true,
- message: "请输入菜单排序",
- trigger: "blur"
- }]
- },
- ]
- },
- data: []
- };
+ data: []
+ }
},
computed: {
- ...mapGetters(["permission"]),
- permissionList() {
- return {
- addBtn: this.vaildData(this.permission.topmenu_add, false),
- viewBtn: this.vaildData(this.permission.topmenu_view, false),
- delBtn: this.vaildData(this.permission.topmenu_delete, false),
- editBtn: this.vaildData(this.permission.topmenu_edit, false)
- };
- },
- ids() {
- let ids = [];
- this.selectionList.forEach(ele => {
- ids.push(ele.id);
- });
- return ids.join(",");
- },
- idsArray() {
- let ids = [];
- this.selectionList.forEach(ele => {
- ids.push(ele.id);
- });
- return ids;
- }
+ ...mapGetters(["permission"]),
+ permissionList () {
+ return {
+ addBtn: this.vaildData(this.permission.topmenu_add, false),
+ viewBtn: this.vaildData(this.permission.topmenu_view, false),
+ delBtn: this.vaildData(this.permission.topmenu_delete, false),
+ editBtn: this.vaildData(this.permission.topmenu_edit, false)
+ }
+ },
+ ids () {
+ let ids = []
+ this.selectionList.forEach(ele => {
+ ids.push(ele.id)
+ })
+ return ids.join(",")
+ },
+ idsArray () {
+ let ids = []
+ this.selectionList.forEach(ele => {
+ ids.push(ele.id)
+ })
+ return ids
+ }
},
methods: {
- submit() {
- const menuList = this.$refs.treeMenu.getCheckedKeys();
- grant(this.idsArray, menuList).then(() => {
- this.box = false;
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- this.onLoad(this.page);
- });
- },
- rowSave(row, done, loading) {
- add(row).then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- done();
- }, error => {
- window.console.log(error);
- loading();
- });
- },
- rowUpdate(row, index, done, loading) {
- update(row).then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- done();
- }, error => {
- window.console.log(error);
- loading();
- });
- },
- rowDel(row) {
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- })
- .then(() => {
- return remove(row.id);
- })
- .then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- });
- },
- handleDelete() {
- if (this.selectionList.length === 0) {
- this.$message.warning("请选择至少一条数据");
- return;
+ submit () {
+ const menuList = this.$refs.treeMenu.getCheckedKeys()
+ grant(this.idsArray, menuList).then(() => {
+ this.box = false
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ this.onLoad(this.page)
+ })
+ },
+ rowSave (row, done, loading) {
+ add(row).then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ done()
+ }, error => {
+ window.console.log(error)
+ loading()
+ })
+ },
+ rowUpdate (row, index, done, loading) {
+ update(row).then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ done()
+ }, error => {
+ window.console.log(error)
+ loading()
+ })
+ },
+ rowDel (row) {
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ })
+ .then(() => {
+ return remove(row.id)
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ })
+ },
+ handleDelete () {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据")
+ return
+ }
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ })
+ .then(() => {
+ return remove(this.ids)
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ this.$refs.crud.toggleSelection()
+ })
+ },
+ handleMenuSetting () {
+ if (this.selectionList.length !== 1) {
+ this.$message.warning("只能选择一条数据")
+ return
+ }
+ this.menuTreeObj = []
+ grantTree()
+ .then(res => {
+ this.menuGrantList = res.data.data.menu
+ getTopTree(this.ids).then(res => {
+ this.menuTreeObj = res.data.data.menu
+ this.box = true
+ })
+ })
+ },
+ beforeOpen (done, type) {
+ if (["edit", "view"].includes(type)) {
+ getDetail(this.form.id).then(res => {
+ this.form = res.data.data
+ })
+ }
+ done()
+ },
+ sortChange (row) {
+ update(row).then(() => {
+ this.onLoad(this.page)
+ }, error => {
+ window.console.log(error)
+ })
+ },
+ searchReset () {
+ this.query = {}
+ this.onLoad(this.page)
+ },
+ searchChange (params, done) {
+ this.query = params
+ this.page.currentPage = 1
+ this.onLoad(this.page, params)
+ done()
+ },
+ selectionChange (list) {
+ this.selectionList = list
+ },
+ selectionClear () {
+ this.selectionList = []
+ this.$refs.crud.toggleSelection()
+ },
+ currentChange (currentPage) {
+ this.page.currentPage = currentPage
+ },
+ sizeChange (pageSize) {
+ this.page.pageSize = pageSize
+ },
+ refreshChange () {
+ this.onLoad(this.page, this.query)
+ },
+ onLoad (page, params = {}) {
+ this.loading = true
+ getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
+ const data = res.data.data
+ this.page.total = data.total
+ this.data = data.records
+ this.loading = false
+ this.selectionClear()
+ })
}
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- })
- .then(() => {
- return remove(this.ids);
- })
- .then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- this.$refs.crud.toggleSelection();
- });
- },
- handleMenuSetting() {
- if (this.selectionList.length !== 1) {
- this.$message.warning("只能选择一条数据");
- return;
- }
- this.menuTreeObj = [];
- grantTree()
- .then(res => {
- this.menuGrantList = res.data.data.menu;
- getTopTree(this.ids).then(res => {
- this.menuTreeObj = res.data.data.menu;
- this.box = true;
- });
- });
- },
- beforeOpen(done, type) {
- if (["edit", "view"].includes(type)) {
- getDetail(this.form.id).then(res => {
- this.form = res.data.data;
- });
- }
- done();
- },
- sortChange(row) {
- update(row).then(() => {
- this.onLoad(this.page);
- }, error => {
- window.console.log(error);
- });
- },
- searchReset() {
- this.query = {};
- this.onLoad(this.page);
- },
- searchChange(params, done) {
- this.query = params;
- this.page.currentPage = 1;
- this.onLoad(this.page, params);
- done();
- },
- selectionChange(list) {
- this.selectionList = list;
- },
- selectionClear() {
- this.selectionList = [];
- this.$refs.crud.toggleSelection();
- },
- currentChange(currentPage) {
- this.page.currentPage = currentPage;
- },
- sizeChange(pageSize) {
- this.page.pageSize = pageSize;
- },
- refreshChange() {
- this.onLoad(this.page, this.query);
- },
- onLoad(page, params = {}) {
- this.loading = true;
- getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
- const data = res.data.data;
- this.page.total = data.total;
- this.data = data.records;
- this.loading = false;
- this.selectionClear();
- });
- }
}
- };
+}
</script>
<style>
- .none-border {
+.none-border {
border: 0;
background-color: transparent !important;
- }
+}
</style>
diff --git a/src/views/system/user.vue b/src/views/system/user.vue
index dd16303..c7b6f3c 100644
--- a/src/views/system/user.vue
+++ b/src/views/system/user.vue
@@ -1,82 +1,82 @@
<template>
- <el-row>
- <el-col :span="5">
- <div class="box">
- <el-scrollbar>
- <basic-container>
- <avue-tree :option="treeOption" :data="treeData" @node-click="nodeClick" />
- </basic-container>
- </el-scrollbar>
- </div>
- </el-col>
- <el-col :span="19">
- <basic-container>
- <avue-crud :option="option" :search.sync="search" :table-loading="loading" :data="data" ref="crud"
- v-model="form" :permission="permissionList" @row-del="rowDel" @row-update="rowUpdate" @row-save="rowSave"
- :before-open="beforeOpen" :page.sync="page" @search-change="searchChange" @search-reset="searchReset"
- @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
- @refresh-change="refreshChange" @on-load="onLoad">
- <template slot="menuLeft">
- <el-button type="danger" size="small" plain icon="el-icon-delete" v-if="permission.user_delete"
- @click="handleDelete">删 除
- </el-button>
- <el-button type="info" size="small" plain v-if="permission.user_role" icon="el-icon-user"
- @click="handleGrant">角色配置
- </el-button>
- <el-button type="info" size="small" plain v-if="permission.user_reset" icon="el-icon-refresh"
- @click="handleReset">密码重置
- </el-button>
- <!-- <el-button type="info"
+ <el-row>
+ <el-col :span="5">
+ <div class="box">
+ <el-scrollbar>
+ <basic-container>
+ <avue-tree :option="treeOption" :data="treeData" @node-click="nodeClick" />
+ </basic-container>
+ </el-scrollbar>
+ </div>
+ </el-col>
+ <el-col :span="19">
+ <basic-container>
+ <avue-crud :option="option" :search.sync="search" :table-loading="loading" :data="data" ref="crud"
+ v-model="form" :permission="permissionList" @row-del="rowDel" @row-update="rowUpdate"
+ @row-save="rowSave" :before-open="beforeOpen" :page.sync="page" @search-change="searchChange"
+ @search-reset="searchReset" @selection-change="selectionChange" @current-change="currentChange"
+ @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
+ <template slot="menuLeft">
+ <el-button type="danger" size="small" plain icon="el-icon-delete" v-if="permission.user_delete"
+ @click="handleDelete">删 除
+ </el-button>
+ <el-button type="info" size="small" plain v-if="permission.user_role" icon="el-icon-user"
+ @click="handleGrant">角色配置
+ </el-button>
+ <el-button type="info" size="small" plain v-if="permission.user_reset" icon="el-icon-refresh"
+ @click="handleReset">密码重置
+ </el-button>
+ <!-- <el-button type="info"
size="small"
plain
v-if="userInfo.role_name.includes('admin')"
icon="el-icon-setting"
@click="handlePlatform">平台配置
</el-button> -->
- <el-button type="info" size="small" plain v-if="userInfo.role_name.includes('admin')"
- icon="el-icon-coordinate" @click="handleLock">账号解封
- </el-button>
- <el-button type="success" size="small" plain v-if="userInfo.role_name.includes('admin')"
- icon="el-icon-upload2" @click="handleImport">导入
- </el-button>
- <el-button type="warning" size="small" plain v-if="userInfo.role_name.includes('admin')"
- icon="el-icon-download" @click="handleExport">导出
- </el-button>
- </template>
- <template slot-scope="{row}" slot="tenantName">
- <el-tag>{{ row.tenantName }}</el-tag>
- </template>
- <template slot-scope="{row}" slot="roleName">
- <el-tag>{{ row.roleName }}</el-tag>
- </template>
- <template slot-scope="{row}" slot="deptName">
- <el-tag>{{ row.deptName }}</el-tag>
- </template>
- <template slot-scope="{row}" slot="userTypeName">
- <el-tag>{{ row.userTypeName }}</el-tag>
- </template>
- </avue-crud>
- <el-dialog title="用户角色配置" append-to-body :visible.sync="roleBox" width="345px">
+ <el-button type="info" size="small" plain v-if="userInfo.role_name.includes('admin')"
+ icon="el-icon-coordinate" @click="handleLock">账号解封
+ </el-button>
+ <el-button type="success" size="small" plain v-if="userInfo.role_name.includes('admin')"
+ icon="el-icon-upload2" @click="handleImport">导入
+ </el-button>
+ <el-button type="warning" size="small" plain v-if="userInfo.role_name.includes('admin')"
+ icon="el-icon-download" @click="handleExport">导出
+ </el-button>
+ </template>
+ <template slot-scope="{row}" slot="tenantName">
+ <el-tag>{{ row.tenantName }}</el-tag>
+ </template>
+ <template slot-scope="{row}" slot="roleName">
+ <el-tag>{{ row.roleName }}</el-tag>
+ </template>
+ <template slot-scope="{row}" slot="deptName">
+ <el-tag>{{ row.deptName }}</el-tag>
+ </template>
+ <template slot-scope="{row}" slot="userTypeName">
+ <el-tag>{{ row.userTypeName }}</el-tag>
+ </template>
+ </avue-crud>
+ <el-dialog title="用户角色配置" append-to-body :visible.sync="roleBox" width="345px">
- <el-tree :data="roleGrantList" show-checkbox check-strictly default-expand-all node-key="id" ref="treeRole"
- :default-checked-keys="roleTreeObj" :props="props">
- </el-tree>
+ <el-tree :data="roleGrantList" show-checkbox check-strictly default-expand-all node-key="id"
+ ref="treeRole" :default-checked-keys="roleTreeObj" :props="props">
+ </el-tree>
- <span slot="footer" class="dialog-footer">
- <el-button @click="roleBox = false">取 消</el-button>
- <el-button type="primary" @click="submitRole">确 定</el-button>
- </span>
- </el-dialog>
- <el-dialog title="用户数据导入" append-to-body :visible.sync="excelBox" width="555px">
- <avue-form :option="excelOption" v-model="excelForm" :upload-after="uploadAfter">
- <template slot="excelTemplate">
- <el-button type="primary" @click="handleTemplate">
- 点击下载<i class="el-icon-download el-icon--right"></i>
- </el-button>
- </template>
- </avue-form>
- </el-dialog>
- <!-- <el-dialog title="用户平台配置"
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="roleBox = false">取 消</el-button>
+ <el-button type="primary" @click="submitRole">确 定</el-button>
+ </span>
+ </el-dialog>
+ <el-dialog title="用户数据导入" append-to-body :visible.sync="excelBox" width="555px">
+ <avue-form :option="excelOption" v-model="excelForm" :upload-after="uploadAfter">
+ <template slot="excelTemplate">
+ <el-button type="primary" @click="handleTemplate">
+ 点击下载<i class="el-icon-download el-icon--right"></i>
+ </el-button>
+ </template>
+ </avue-form>
+ </el-dialog>
+ <!-- <el-dialog title="用户平台配置"
append-to-body
:visible.sync="platformBox">
<avue-crud :option="platformOption"
@@ -105,13 +105,13 @@
</template>
</avue-crud>
</el-dialog> -->
- </basic-container>
- </el-col>
- </el-row>
+ </basic-container>
+ </el-col>
+ </el-row>
</template>
<script>
- import {
+import {
getList,
getUser,
getUserPlatform,
@@ -122,888 +122,889 @@
grant,
resetPassword,
unlock
- } from "@/api/system/user"
- import {
+} from "@/api/system/user"
+import {
exportBlob
- } from "@/api/common"
- import {
+} from "@/api/common"
+import {
getDeptTree,
getDeptLazyTree
- } from "@/api/system/dept"
- import {
+} from "@/api/system/dept"
+import {
getRoleTree
- } from "@/api/system/role"
- import {
+} from "@/api/system/role"
+import {
getPostList
- } from "@/api/system/post"
- import {
+} from "@/api/system/post"
+import {
mapGetters
- } from "vuex"
- import website from '@/config/website'
- import {
+} from "vuex"
+import website from '@/config/website'
+import {
getToken
- } from '@/util/auth'
- import {
+} from '@/util/auth'
+import {
downloadXls
- } from "@/util/util"
- import {
+} from "@/util/util"
+import {
dateNow
- } from "@/util/date"
- import NProgress from 'nprogress'
- import 'nprogress/nprogress.css'
- import func from "@/util/func"
+} from "@/util/date"
+import NProgress from 'nprogress'
+import 'nprogress/nprogress.css'
+import func from "@/util/func"
- export default {
- data() {
- const validatePass = (rule, value, callback) => {
- if (value === '') {
- callback(new Error('请输入密码'))
- } else {
- callback()
+export default {
+ data () {
+ const validatePass = (rule, value, callback) => {
+ if (value === '') {
+ callback(new Error('请输入密码'))
+ } else {
+ callback()
+ }
}
- }
- const validatePass2 = (rule, value, callback) => {
- if (value === '') {
- callback(new Error('请再次输入密码'))
- } else if (value !== this.form.password) {
- callback(new Error('两次输入密码不一致!'))
- } else {
- callback()
+ const validatePass2 = (rule, value, callback) => {
+ if (value === '') {
+ callback(new Error('请再次输入密码'))
+ } else if (value !== this.form.password) {
+ callback(new Error('两次输入密码不一致!'))
+ } else {
+ callback()
+ }
}
- }
- return {
- form: {},
- search: {},
- roleBox: false,
- excelBox: false,
- platformBox: false,
- initFlag: true,
- selectionList: [],
- query: {},
- loading: true,
- platformLoading: false,
- page: {
- pageSize: 10,
- currentPage: 1,
- total: 0
- },
- platformPage: {
- pageSize: 10,
- currentPage: 1,
- total: 0
- },
- init: {
- roleTree: [],
- deptTree: [],
- },
- props: {
- label: "title",
- value: "key"
- },
- roleGrantList: [],
- roleTreeObj: [],
- treeDeptId: '',
- treeData: [],
- treeOption: {
- nodeKey: 'id',
- lazy: true,
- treeLoad: function(node, resolve) {
- const parentId = (node.level === 0) ? 0 : node.data.id
- getDeptLazyTree(parentId).then(res => {
- resolve(res.data.data.map(item => {
- return {
- ...item,
- leaf: !item.hasChildren
+ return {
+ form: {},
+ search: {},
+ roleBox: false,
+ excelBox: false,
+ platformBox: false,
+ initFlag: true,
+ selectionList: [],
+ query: {},
+ loading: true,
+ platformLoading: false,
+ page: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0
+ },
+ platformPage: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0
+ },
+ init: {
+ roleTree: [],
+ deptTree: [],
+ },
+ props: {
+ label: "title",
+ value: "key"
+ },
+ roleGrantList: [],
+ roleTreeObj: [],
+ treeDeptId: '',
+ treeData: [],
+ treeOption: {
+ nodeKey: 'id',
+ lazy: true,
+ treeLoad: function (node, resolve) {
+ const parentId = (node.level === 0) ? 0 : node.data.id
+ getDeptLazyTree(parentId).then(res => {
+ resolve(res.data.data.map(item => {
+ return {
+ ...item,
+ leaf: !item.hasChildren
+ }
+ }))
+ })
+ },
+ addBtn: false,
+ menu: false,
+ size: 'small',
+ props: {
+ labelText: '标题',
+ label: 'title',
+ value: 'value',
+ children: 'children'
}
- }))
- })
- },
- addBtn: false,
- menu: false,
- size: 'small',
- props: {
- labelText: '标题',
- label: 'title',
- value: 'value',
- children: 'children'
- }
- },
- option: {
- height: 'auto',
- calcHeight: 80,
- tip: false,
- searchShow: true,
- searchMenuSpan: 6,
- border: true,
- index: true,
- selection: true,
- viewBtn: true,
- dialogType: 'drawer',
- dialogClickModal: false,
- column: [{
- label: "登录账号",
- prop: "account",
- search: true,
- display: false
},
- // {
- // label: "所属租户",
- // prop: "tenantName",
- // slot: true,
- // display: false
- // },
- {
- label: "用户姓名",
- prop: "realName",
- search: true,
- display: false
- },
- {
- label: "所属角色",
- prop: "roleName",
- slot: true,
- display: false
- },
- {
- label: "所属部门",
- prop: "deptName",
- slot: true,
- display: false
- },
- // {
- // label: "用户平台",
- // prop: "userTypeName",
- // slot: true,
- // display: false
- // },
- // {
- // label: "用户平台",
- // type: "select",
- // dicUrl: "/api/blade-system/dict/dictionary?code=user_type",
- // props: {
- // label: "dictValue",
- // value: "dictKey"
- // },
- // dataType: "number",
- // search: true,
- // hide: true,
- // display: false,
- // prop: "userType",
- // rules: [{
- // required: true,
- // message: "请选择用户平台",
- // trigger: "blur"
- // }]
- // },
- ],
- group: [{
- label: '基础信息',
- prop: 'baseInfo',
- icon: 'el-icon-user-solid',
- column: [
+ option: {
+ height: 'auto',
+ calcHeight: 80,
+ tip: false,
+ searchShow: true,
+ searchMenuSpan: 6,
+ border: true,
+ index: true,
+ selection: true,
+ viewBtn: true,
+ dialogType: 'drawer',
+ dialogClickModal: false,
+ column: [{
+ label: "登录账号",
+ prop: "account",
+ search: true,
+ searchLabelWidth: 76,
+ display: false
+ },
// {
// label: "所属租户",
- // prop: "tenantId",
- // type: "tree",
- // dicUrl: "/api/blade-system/tenant/select",
- // props: {
- // label: "tenantName",
- // value: "tenantId"
- // },
- // hide: !website.tenantMode,
- // addDisplay: website.tenantMode,
- // editDisplay: website.tenantMode,
- // viewDisplay: website.tenantMode,
- // rules: [{
- // required: true,
- // message: "请输入所属租户",
- // trigger: "click"
- // }],
- // span: 24,
- // },
- {
- label: "登录账号",
- prop: "account",
- rules: [{
- required: true,
- message: "请输入登录账号",
- trigger: "blur"
- }],
- },
- // {
- // label: "用户平台",
- // type: "select",
- // dicUrl: "/api/blade-system/dict/dictionary?code=user_type",
- // props: {
- // label: "dictValue",
- // value: "dictKey"
- // },
- // dataType: "number",
+ // prop: "tenantName",
// slot: true,
- // prop: "userType",
- // rules: [{
- // required: true,
- // message: "请选择用户平台",
- // trigger: "blur"
- // }]
+ // display: false
// },
{
- label: '密码',
- prop: 'password',
- hide: true,
- editDisplay: false,
- viewDisplay: false,
- rules: [{
- required: true,
- validator: validatePass,
- trigger: 'blur'
- }]
+ label: "用户姓名",
+ prop: "realName",
+ search: true,
+ display: false
},
{
- label: '确认密码',
- prop: 'password2',
- hide: true,
- editDisplay: false,
- viewDisplay: false,
- rules: [{
- required: true,
- validator: validatePass2,
- trigger: 'blur'
- }]
- },
- ]
- },
- {
- label: '详细信息',
- prop: 'detailInfo',
- icon: 'el-icon-s-order',
- column: [{
- label: "用户昵称",
- prop: "name",
- hide: true,
- rules: [{
- required: true,
- message: "请输入用户昵称",
- trigger: "blur"
- }]
+ label: "所属角色",
+ prop: "roleName",
+ slot: true,
+ display: false
},
{
- label: "用户姓名",
- prop: "realName",
- rules: [{
- required: true,
- message: "请输入用户姓名",
- trigger: "blur"
- }, {
- min: 2,
- max: 5,
- message: '姓名长度在2到5个字符'
- }]
+ label: "所属部门",
+ prop: "deptName",
+ slot: true,
+ display: false
+ },
+ // {
+ // label: "用户平台",
+ // prop: "userTypeName",
+ // slot: true,
+ // display: false
+ // },
+ // {
+ // label: "用户平台",
+ // type: "select",
+ // dicUrl: "/api/blade-system/dict/dictionary?code=user_type",
+ // props: {
+ // label: "dictValue",
+ // value: "dictKey"
+ // },
+ // dataType: "number",
+ // search: true,
+ // hide: true,
+ // display: false,
+ // prop: "userType",
+ // rules: [{
+ // required: true,
+ // message: "请选择用户平台",
+ // trigger: "blur"
+ // }]
+ // },
+ ],
+ group: [{
+ label: '基础信息',
+ prop: 'baseInfo',
+ icon: 'el-icon-user-solid',
+ column: [
+ // {
+ // label: "所属租户",
+ // prop: "tenantId",
+ // type: "tree",
+ // dicUrl: "/api/blade-system/tenant/select",
+ // props: {
+ // label: "tenantName",
+ // value: "tenantId"
+ // },
+ // hide: !website.tenantMode,
+ // addDisplay: website.tenantMode,
+ // editDisplay: website.tenantMode,
+ // viewDisplay: website.tenantMode,
+ // rules: [{
+ // required: true,
+ // message: "请输入所属租户",
+ // trigger: "click"
+ // }],
+ // span: 24,
+ // },
+ {
+ label: "登录账号",
+ prop: "account",
+ rules: [{
+ required: true,
+ message: "请输入登录账号",
+ trigger: "blur"
+ }],
+ },
+ // {
+ // label: "用户平台",
+ // type: "select",
+ // dicUrl: "/api/blade-system/dict/dictionary?code=user_type",
+ // props: {
+ // label: "dictValue",
+ // value: "dictKey"
+ // },
+ // dataType: "number",
+ // slot: true,
+ // prop: "userType",
+ // rules: [{
+ // required: true,
+ // message: "请选择用户平台",
+ // trigger: "blur"
+ // }]
+ // },
+ {
+ label: '密码',
+ prop: 'password',
+ hide: true,
+ editDisplay: false,
+ viewDisplay: false,
+ rules: [{
+ required: true,
+ validator: validatePass,
+ trigger: 'blur'
+ }]
+ },
+ {
+ label: '确认密码',
+ prop: 'password2',
+ hide: true,
+ editDisplay: false,
+ viewDisplay: false,
+ rules: [{
+ required: true,
+ validator: validatePass2,
+ trigger: 'blur'
+ }]
+ },
+ ]
},
{
- label: "手机号码",
- prop: "phone",
- overHidden: true
- },
- {
- label: "电子邮箱",
- prop: "email",
- hide: true,
- overHidden: true
- },
- {
- label: "用户性别",
- prop: "sex",
- type: "select",
- dicData: [{
- label: "男",
- value: 1
+ label: '详细信息',
+ prop: 'detailInfo',
+ icon: 'el-icon-s-order',
+ column: [{
+ label: "用户昵称",
+ prop: "name",
+ hide: true,
+ rules: [{
+ required: true,
+ message: "请输入用户昵称",
+ trigger: "blur"
+ }]
},
{
- label: "女",
- value: 2
+ label: "用户姓名",
+ prop: "realName",
+ rules: [{
+ required: true,
+ message: "请输入用户姓名",
+ trigger: "blur"
+ }, {
+ min: 2,
+ max: 5,
+ message: '姓名长度在2到5个字符'
+ }]
},
{
- label: "未知",
- value: 3
+ label: "手机号码",
+ prop: "phone",
+ overHidden: true
+ },
+ {
+ label: "电子邮箱",
+ prop: "email",
+ hide: true,
+ overHidden: true
+ },
+ {
+ label: "用户性别",
+ prop: "sex",
+ type: "select",
+ dicData: [{
+ label: "男",
+ value: 1
+ },
+ {
+ label: "女",
+ value: 2
+ },
+ {
+ label: "未知",
+ value: 3
+ }
+ ],
+ hide: true
+ },
+ {
+ label: "用户生日",
+ type: "date",
+ prop: "birthday",
+ format: "yyyy-MM-dd hh:mm:ss",
+ valueFormat: "yyyy-MM-dd hh:mm:ss",
+ hide: true
+ },
+ {
+ label: "账号状态",
+ prop: "statusName",
+ hide: true,
+ display: false
}
- ],
- hide: true
+ ]
},
{
- label: "用户生日",
- type: "date",
- prop: "birthday",
- format: "yyyy-MM-dd hh:mm:ss",
- valueFormat: "yyyy-MM-dd hh:mm:ss",
- hide: true
+ label: '职责信息',
+ prop: 'dutyInfo',
+ icon: 'el-icon-s-custom',
+ column: [
+ // {
+ // label: "用户编号",
+ // prop: "code",
+ // },
+ {
+ label: "所属角色",
+ prop: "roleId",
+ type: "tree",
+ multiple: true,
+ checkStrictly: true,
+ leafOnly: false,
+ dicData: [],
+ props: {
+ label: "title"
+ },
+ rules: [{
+ required: true,
+ message: "请选择所属角色",
+ trigger: "click"
+ }]
+ },
+ {
+ label: "所属部门",
+ prop: "deptId",
+ type: "tree",
+ // multiple: true,
+ dicData: [],
+ dataType: "string",
+ props: {
+ label: "title",
+ value: "id"
+ },
+ // checkStrictly: true,
+ slot: true,
+ span: 12,
+ rules: [{
+ required: true,
+ message: "请选择所属部门",
+ trigger: "click"
+ }]
+ },
+ // {
+ // label: "所属岗位",
+ // prop: "postId",
+ // type: "tree",
+ // multiple: true,
+ // dicData: [],
+ // props: {
+ // label: "postName",
+ // value: "id"
+ // },
+ // rules: [{
+ // required: true,
+ // message: "请选择所属岗位",
+ // trigger: "click"
+ // }],
+ // },
+ ]
+ },
+ ]
+ },
+ data: [],
+ platformQuery: {},
+ platformSelectionList: [],
+ platformData: [],
+ platformForm: {},
+ platformOption: {
+ tip: false,
+ searchShow: true,
+ searchMenuSpan: 6,
+ border: true,
+ index: true,
+ selection: true,
+ viewBtn: true,
+ dialogClickModal: false,
+ menuWidth: 120,
+ editBtnText: '配置',
+ column: [{
+ label: "登录账号",
+ prop: "account",
+ search: true,
+ display: false
},
{
- label: "账号状态",
- prop: "statusName",
- hide: true,
- display: false
+ label: "所属租户",
+ prop: "tenantName",
+ slot: true,
+ display: false
+ },
+ {
+ label: "用户姓名",
+ prop: "realName",
+ search: true,
+ display: false
+ },
+ {
+ label: "用户平台",
+ prop: "userTypeName",
+ slot: true,
+ display: false
+ },
+ {
+ label: "用户平台",
+ type: "select",
+ dicUrl: "/api/blade-system/dict/dictionary?code=user_type",
+ props: {
+ label: "dictValue",
+ value: "dictKey"
+ },
+ dataType: "number",
+ search: true,
+ hide: true,
+ display: false,
+ prop: "userType",
+ rules: [{
+ required: true,
+ message: "请选择用户平台",
+ trigger: "blur"
+ }]
+ },
+ {
+ label: "用户拓展",
+ prop: "userExt",
+ type: "textarea",
+ minRows: 8,
+ span: 24,
+ overHidden: true,
+ row: true,
+ hide: true,
+ },
+ ],
+ },
+ excelForm: {},
+ excelOption: {
+ submitBtn: false,
+ emptyBtn: false,
+ column: [{
+ label: '模板上传',
+ prop: 'excelFile',
+ type: 'upload',
+ drag: true,
+ loadText: '模板上传中,请稍等',
+ span: 24,
+ propsHttp: {
+ res: 'data'
+ },
+ tip: '请上传 .xls,.xlsx 标准格式文件',
+ action: "/api/blade-system/user/import-user"
+ },
+ {
+ label: "数据覆盖",
+ prop: "isCovered",
+ type: "switch",
+ align: "center",
+ width: 80,
+ dicData: [{
+ label: "否",
+ value: 0
+ },
+ {
+ label: "是",
+ value: 1
+ }
+ ],
+ value: 0,
+ slot: true,
+ rules: [{
+ required: true,
+ message: "请选择是否覆盖",
+ trigger: "blur"
+ }]
+ },
+ {
+ label: '模板下载',
+ prop: 'excelTemplate',
+ formslot: true,
+ span: 24,
}
- ]
- },
- {
- label: '职责信息',
- prop: 'dutyInfo',
- icon: 'el-icon-s-custom',
- column: [
- // {
- // label: "用户编号",
- // prop: "code",
- // },
- {
- label: "所属角色",
- prop: "roleId",
- type: "tree",
- multiple: true,
- checkStrictly: true,
- leafOnly: false,
- dicData: [],
- props: {
- label: "title"
- },
- rules: [{
- required: true,
- message: "请选择所属角色",
- trigger: "click"
- }]
- },
- {
- label: "所属部门",
- prop: "deptId",
- type: "tree",
- // multiple: true,
- dicData: [],
- dataType: "string",
- props: {
- label: "title",
- value: "id"
- },
- // checkStrictly: true,
- slot: true,
- span: 12,
- rules: [{
- required: true,
- message: "请选择所属部门",
- trigger: "click"
- }]
- },
- // {
- // label: "所属岗位",
- // prop: "postId",
- // type: "tree",
- // multiple: true,
- // dicData: [],
- // props: {
- // label: "postName",
- // value: "id"
- // },
- // rules: [{
- // required: true,
- // message: "请选择所属岗位",
- // trigger: "click"
- // }],
- // },
- ]
- },
- ]
- },
- data: [],
- platformQuery: {},
- platformSelectionList: [],
- platformData: [],
- platformForm: {},
- platformOption: {
- tip: false,
- searchShow: true,
- searchMenuSpan: 6,
- border: true,
- index: true,
- selection: true,
- viewBtn: true,
- dialogClickModal: false,
- menuWidth: 120,
- editBtnText: '配置',
- column: [{
- label: "登录账号",
- prop: "account",
- search: true,
- display: false
- },
- {
- label: "所属租户",
- prop: "tenantName",
- slot: true,
- display: false
- },
- {
- label: "用户姓名",
- prop: "realName",
- search: true,
- display: false
- },
- {
- label: "用户平台",
- prop: "userTypeName",
- slot: true,
- display: false
- },
- {
- label: "用户平台",
- type: "select",
- dicUrl: "/api/blade-system/dict/dictionary?code=user_type",
- props: {
- label: "dictValue",
- value: "dictKey"
- },
- dataType: "number",
- search: true,
- hide: true,
- display: false,
- prop: "userType",
- rules: [{
- required: true,
- message: "请选择用户平台",
- trigger: "blur"
- }]
- },
- {
- label: "用户拓展",
- prop: "userExt",
- type: "textarea",
- minRows: 8,
- span: 24,
- overHidden: true,
- row: true,
- hide: true,
- },
- ],
- },
- excelForm: {},
- excelOption: {
- submitBtn: false,
- emptyBtn: false,
- column: [{
- label: '模板上传',
- prop: 'excelFile',
- type: 'upload',
- drag: true,
- loadText: '模板上传中,请稍等',
- span: 24,
- propsHttp: {
- res: 'data'
- },
- tip: '请上传 .xls,.xlsx 标准格式文件',
- action: "/api/blade-system/user/import-user"
- },
- {
- label: "数据覆盖",
- prop: "isCovered",
- type: "switch",
- align: "center",
- width: 80,
- dicData: [{
- label: "否",
- value: 0
- },
- {
- label: "是",
- value: 1
- }
- ],
- value: 0,
- slot: true,
- rules: [{
- required: true,
- message: "请选择是否覆盖",
- trigger: "blur"
- }]
- },
- {
- label: '模板下载',
- prop: 'excelTemplate',
- formslot: true,
- span: 24,
+ ]
}
- ]
}
- }
},
watch: {
- 'form.tenantId'() {
- if (this.form.tenantId !== '' && this.initFlag) {
- this.initData(this.form.tenantId)
+ 'form.tenantId' () {
+ if (this.form.tenantId !== '' && this.initFlag) {
+ this.initData(this.form.tenantId)
+ }
+ },
+ 'excelForm.isCovered' () {
+ if (this.excelForm.isCovered !== '') {
+ const column = this.findObject(this.excelOption.column, "excelFile")
+ column.action = `/api/blade-system/user/import-user?isCovered=${this.excelForm.isCovered}`
+ }
}
- },
- 'excelForm.isCovered'() {
- if (this.excelForm.isCovered !== '') {
- const column = this.findObject(this.excelOption.column, "excelFile")
- column.action = `/api/blade-system/user/import-user?isCovered=${this.excelForm.isCovered}`
- }
- }
},
computed: {
- ...mapGetters(["userInfo", "permission"]),
- permissionList() {
- return {
- addBtn: this.vaildData(this.permission.user_add, false),
- viewBtn: this.vaildData(this.permission.user_view, false),
- delBtn: this.vaildData(this.permission.user_delete, false),
- editBtn: this.vaildData(this.permission.user_edit, false)
- }
- },
- platformPermissionList() {
- return {
- addBtn: false,
- viewBtn: false,
- delBtn: false,
- editBtn: this.vaildData(this.permission.user_edit, false)
- }
- },
- ids() {
- let ids = []
- this.selectionList.forEach(ele => {
- ids.push(ele.id)
- })
- return ids.join(",")
- },
+ ...mapGetters(["userInfo", "permission"]),
+ permissionList () {
+ return {
+ addBtn: this.vaildData(this.permission.user_add, false),
+ viewBtn: this.vaildData(this.permission.user_view, false),
+ delBtn: this.vaildData(this.permission.user_delete, false),
+ editBtn: this.vaildData(this.permission.user_edit, false)
+ }
+ },
+ platformPermissionList () {
+ return {
+ addBtn: false,
+ viewBtn: false,
+ delBtn: false,
+ editBtn: this.vaildData(this.permission.user_edit, false)
+ }
+ },
+ ids () {
+ let ids = []
+ this.selectionList.forEach(ele => {
+ ids.push(ele.id)
+ })
+ return ids.join(",")
+ },
},
- mounted() {
- // 非租户模式默认加载管理组数据
- if (!website.tenantMode) {
+ mounted () {
+ // 非租户模式默认加载管理组数据
+ if (!website.tenantMode) {
+ this.initData(website.tenantId)
+ }
+ },
+ created () {
this.initData(website.tenantId)
- }
- },
- created() {
- this.initData(website.tenantId)
},
methods: {
- nodeClick(data) {
- this.treeDeptId = data.id
- this.page.currentPage = 1
- this.onLoad(this.page)
- },
- initData(tenantId) {
- getRoleTree(tenantId).then(res => {
- const column = this.findObject(this.option.group, "roleId")
- column.dicData = res.data.data
- })
- getDeptTree(tenantId).then(res => {
- const column = this.findObject(this.option.group, "deptId")
- column.dicData = res.data.data
- })
- // getPostList(tenantId).then(res => {
- // const column = this.findObject(this.option.group, "postId");
- // column.dicData = res.data.data;
- // });
- },
- submitRole() {
- const roleList = this.$refs.treeRole.getCheckedKeys().join(",")
- grant(this.ids, roleList).then(() => {
- this.roleBox = false
- this.$message({
- type: "success",
- message: "操作成功!"
- })
- this.onLoad(this.page)
- })
- },
- rowSave(row, done, loading) {
- row['tenantId'] = "000000"
- row['userType'] = 1
- row.deptId = func.join(row.deptId)
- row.roleId = func.join(row.roleId)
- row.postId = func.join(row.postId)
- add(row).then(() => {
- this.initFlag = false
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!"
- })
- done()
- }, error => {
- window.console.log(error)
- loading()
- })
- },
- rowUpdate(row, index, done, loading) {
- row['tenantId'] = "000000"
- row['userType'] = 1
- row.deptId = func.join(row.deptId)
- row.roleId = func.join(row.roleId)
- row.postId = func.join(row.postId)
- update(row).then(() => {
- this.initFlag = false
- this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!"
- })
- done()
- }, error => {
- window.console.log(error)
- loading()
- })
- },
- rowDel(row) {
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- })
- .then(() => {
- return remove(row.id)
- })
- .then(() => {
+ nodeClick (data) {
+ this.treeDeptId = data.id
+ this.page.currentPage = 1
this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!"
+ },
+ initData (tenantId) {
+ getRoleTree(tenantId).then(res => {
+ const column = this.findObject(this.option.group, "roleId")
+ column.dicData = res.data.data
})
- })
- },
- searchReset() {
- this.query = {}
- this.treeDeptId = ''
- this.onLoad(this.page)
- },
- searchChange(params, done) {
- this.query = params
- this.page.currentPage = 1
- this.onLoad(this.page, params)
- done()
- },
- selectionChange(list) {
- this.selectionList = list
- },
- selectionClear() {
- this.selectionList = []
- this.$refs.crud.toggleSelection()
- },
- handleDelete() {
- if (this.selectionList.length === 0) {
- this.$message.warning("请选择至少一条数据")
- return
- }
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- })
- .then(() => {
- return remove(this.ids)
- })
- .then(() => {
+ getDeptTree(tenantId).then(res => {
+ const column = this.findObject(this.option.group, "deptId")
+ column.dicData = res.data.data
+ })
+ // getPostList(tenantId).then(res => {
+ // const column = this.findObject(this.option.group, "postId");
+ // column.dicData = res.data.data;
+ // });
+ },
+ submitRole () {
+ const roleList = this.$refs.treeRole.getCheckedKeys().join(",")
+ grant(this.ids, roleList).then(() => {
+ this.roleBox = false
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ this.onLoad(this.page)
+ })
+ },
+ rowSave (row, done, loading) {
+ row['tenantId'] = "000000"
+ row['userType'] = 1
+ row.deptId = func.join(row.deptId)
+ row.roleId = func.join(row.roleId)
+ row.postId = func.join(row.postId)
+ add(row).then(() => {
+ this.initFlag = false
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ done()
+ }, error => {
+ window.console.log(error)
+ loading()
+ })
+ },
+ rowUpdate (row, index, done, loading) {
+ row['tenantId'] = "000000"
+ row['userType'] = 1
+ row.deptId = func.join(row.deptId)
+ row.roleId = func.join(row.roleId)
+ row.postId = func.join(row.postId)
+ update(row).then(() => {
+ this.initFlag = false
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ done()
+ }, error => {
+ window.console.log(error)
+ loading()
+ })
+ },
+ rowDel (row) {
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ })
+ .then(() => {
+ return remove(row.id)
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ })
+ },
+ searchReset () {
+ this.query = {}
+ this.treeDeptId = ''
this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!"
- })
+ },
+ searchChange (params, done) {
+ this.query = params
+ this.page.currentPage = 1
+ this.onLoad(this.page, params)
+ done()
+ },
+ selectionChange (list) {
+ this.selectionList = list
+ },
+ selectionClear () {
+ this.selectionList = []
this.$refs.crud.toggleSelection()
- })
- },
- handleReset() {
- if (this.selectionList.length === 0) {
- this.$message.warning("请选择至少一条数据")
- return
- }
- this.$confirm("确定将选择账号密码重置为123456?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- })
- .then(() => {
- return resetPassword(this.ids)
- })
- .then(() => {
- this.$message({
- type: "success",
- message: "操作成功!"
+ },
+ handleDelete () {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据")
+ return
+ }
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
})
- this.$refs.crud.toggleSelection()
- })
- },
- handleGrant() {
- if (this.selectionList.length === 0) {
- this.$message.warning("请选择至少一条数据")
- return
- }
- this.roleTreeObj = []
- if (this.selectionList.length === 1) {
- this.roleTreeObj = this.selectionList[0].roleId.split(",")
- }
- getRoleTree().then(res => {
- this.roleGrantList = res.data.data
- this.roleBox = true
- })
- },
- handlePlatform() {
- this.platformBox = true
- },
- handleLock() {
- if (this.selectionList.length === 0) {
- this.$message.warning("请选择至少一条数据")
- return
- }
- this.$confirm("确定将选择账号解封?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- })
- .then(() => {
- return unlock(this.ids)
- })
- .then(() => {
- this.$message({
- type: "success",
- message: "操作成功!"
+ .then(() => {
+ return remove(this.ids)
+ })
+ .then(() => {
+ this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ this.$refs.crud.toggleSelection()
+ })
+ },
+ handleReset () {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据")
+ return
+ }
+ this.$confirm("确定将选择账号密码重置为123456?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
})
- })
- },
- handleImport() {
- this.excelBox = true
- },
- uploadAfter(res, done, loading, column) {
- window.console.log(column)
- this.excelBox = false
- this.refreshChange()
- done()
- },
- handleExport() {
- const account = func.toStr(this.search.account)
- const realName = func.toStr(this.search.realName)
- this.$confirm("是否导出用户数据?", "提示", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- }).then(() => {
- NProgress.start()
- exportBlob(
- `/api/blade-system/user/export-user?${this.website.tokenHeader}=${getToken()}&account=${account}&realName=${realName}`
- ).then(res => {
- downloadXls(res.data, `用户数据表${dateNow()}.xlsx`)
- NProgress.done()
- })
- })
- },
- handleTemplate() {
- exportBlob(`/api/blade-system/user/export-template?${this.website.tokenHeader}=${getToken()}`).then(res => {
- downloadXls(res.data, "用户数据模板.xlsx")
- })
- },
- beforeOpen(done, type) {
- if (["edit", "view"].includes(type)) {
- getUser(this.form.id).then(res => {
- this.form = res.data.data
- if (this.form.hasOwnProperty("deptId")) {
- this.form.deptId = this.form.deptId.split(",")
+ .then(() => {
+ return resetPassword(this.ids)
+ })
+ .then(() => {
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ this.$refs.crud.toggleSelection()
+ })
+ },
+ handleGrant () {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据")
+ return
}
- if (this.form.hasOwnProperty("roleId")) {
- this.form.roleId = this.form.roleId.split(",")
+ this.roleTreeObj = []
+ if (this.selectionList.length === 1) {
+ this.roleTreeObj = this.selectionList[0].roleId.split(",")
}
- if (this.form.hasOwnProperty("postId")) {
- this.form.postId = this.form.postId.split(",")
+ getRoleTree().then(res => {
+ this.roleGrantList = res.data.data
+ this.roleBox = true
+ })
+ },
+ handlePlatform () {
+ this.platformBox = true
+ },
+ handleLock () {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据")
+ return
}
- })
+ this.$confirm("确定将选择账号解封?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ })
+ .then(() => {
+ return unlock(this.ids)
+ })
+ .then(() => {
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ })
+ },
+ handleImport () {
+ this.excelBox = true
+ },
+ uploadAfter (res, done, loading, column) {
+ window.console.log(column)
+ this.excelBox = false
+ this.refreshChange()
+ done()
+ },
+ handleExport () {
+ const account = func.toStr(this.search.account)
+ const realName = func.toStr(this.search.realName)
+ this.$confirm("是否导出用户数据?", "提示", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ }).then(() => {
+ NProgress.start()
+ exportBlob(
+ `/api/blade-system/user/export-user?${this.website.tokenHeader}=${getToken()}&account=${account}&realName=${realName}`
+ ).then(res => {
+ downloadXls(res.data, `用户数据表${dateNow()}.xlsx`)
+ NProgress.done()
+ })
+ })
+ },
+ handleTemplate () {
+ exportBlob(`/api/blade-system/user/export-template?${this.website.tokenHeader}=${getToken()}`).then(res => {
+ downloadXls(res.data, "用户数据模板.xlsx")
+ })
+ },
+ beforeOpen (done, type) {
+ if (["edit", "view"].includes(type)) {
+ getUser(this.form.id).then(res => {
+ this.form = res.data.data
+ if (this.form.hasOwnProperty("deptId")) {
+ this.form.deptId = this.form.deptId.split(",")
+ }
+ if (this.form.hasOwnProperty("roleId")) {
+ this.form.roleId = this.form.roleId.split(",")
+ }
+ if (this.form.hasOwnProperty("postId")) {
+ this.form.postId = this.form.postId.split(",")
+ }
+ })
+ }
+ this.initFlag = true
+ done()
+ },
+ currentChange (currentPage) {
+ this.page.currentPage = currentPage
+ },
+ sizeChange (pageSize) {
+ this.page.pageSize = pageSize
+ },
+ refreshChange () {
+ this.onLoad(this.page, this.query)
+ },
+ onLoad (page, params = {}) {
+ this.loading = true
+ getList(page.currentPage, page.pageSize, Object.assign(params, this.query), this.treeDeptId).then(res => {
+ const data = res.data.data
+ this.page.total = data.total
+ this.data = data.records
+ this.loading = false
+ this.selectionClear()
+ })
+ },
+ platformRowUpdate (row, index, done, loading) {
+ updatePlatform(row.id, row.userType, row.userExt).then(() => {
+ this.platformOnLoad(this.platformPage)
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ done()
+ }, error => {
+ window.console.log(error)
+ loading()
+ })
+ },
+ platformBeforeOpen (done, type) {
+ if (["edit", "view"].includes(type)) {
+ getUserPlatform(this.platformForm.id).then(res => {
+ this.platformForm = res.data.data
+ })
+ }
+ done()
+ },
+ platformSearchReset () {
+ this.platformQuery = {}
+ this.platformOnLoad(this.platformPage)
+ },
+ platformSearchChange (params, done) {
+ this.platformQuery = params
+ this.platformPage.currentPage = 1
+ this.platformOnLoad(this.platformPage, params)
+ done()
+ },
+ platformSelectionChange (list) {
+ this.platformSelectionList = list
+ },
+ platformSelectionClear () {
+ this.platformSelectionList = []
+ this.$refs.platformCrud.toggleSelection()
+ },
+ platformCurrentChange (currentPage) {
+ this.platformPage.currentPage = currentPage
+ },
+ platformSizeChange (pageSize) {
+ this.platformPage.pageSize = pageSize
+ },
+ platformRefreshChange () {
+ this.platformOnLoad(this.platformPage, this.platformQuery)
+ },
+ platformOnLoad (page, params = {}) {
+ this.platformLoading = true
+ getList(page.currentPage, page.pageSize, Object.assign(params, this.query), this.treeDeptId).then(res => {
+ const data = res.data.data
+ this.platformPage.total = data.total
+ this.platformData = data.records
+ this.platformLoading = false
+ this.selectionClear()
+ })
}
- this.initFlag = true
- done()
- },
- currentChange(currentPage) {
- this.page.currentPage = currentPage
- },
- sizeChange(pageSize) {
- this.page.pageSize = pageSize
- },
- refreshChange() {
- this.onLoad(this.page, this.query)
- },
- onLoad(page, params = {}) {
- this.loading = true
- getList(page.currentPage, page.pageSize, Object.assign(params, this.query), this.treeDeptId).then(res => {
- const data = res.data.data
- this.page.total = data.total
- this.data = data.records
- this.loading = false
- this.selectionClear()
- })
- },
- platformRowUpdate(row, index, done, loading) {
- updatePlatform(row.id, row.userType, row.userExt).then(() => {
- this.platformOnLoad(this.platformPage)
- this.$message({
- type: "success",
- message: "操作成功!"
- })
- done()
- }, error => {
- window.console.log(error)
- loading()
- })
- },
- platformBeforeOpen(done, type) {
- if (["edit", "view"].includes(type)) {
- getUserPlatform(this.platformForm.id).then(res => {
- this.platformForm = res.data.data
- })
- }
- done()
- },
- platformSearchReset() {
- this.platformQuery = {}
- this.platformOnLoad(this.platformPage)
- },
- platformSearchChange(params, done) {
- this.platformQuery = params
- this.platformPage.currentPage = 1
- this.platformOnLoad(this.platformPage, params)
- done()
- },
- platformSelectionChange(list) {
- this.platformSelectionList = list
- },
- platformSelectionClear() {
- this.platformSelectionList = []
- this.$refs.platformCrud.toggleSelection()
- },
- platformCurrentChange(currentPage) {
- this.platformPage.currentPage = currentPage
- },
- platformSizeChange(pageSize) {
- this.platformPage.pageSize = pageSize
- },
- platformRefreshChange() {
- this.platformOnLoad(this.platformPage, this.platformQuery)
- },
- platformOnLoad(page, params = {}) {
- this.platformLoading = true
- getList(page.currentPage, page.pageSize, Object.assign(params, this.query), this.treeDeptId).then(res => {
- const data = res.data.data
- this.platformPage.total = data.total
- this.platformData = data.records
- this.platformLoading = false
- this.selectionClear()
- })
- }
}
- }
+}
</script>
<style>
- .box {
+.box {
height: 800px;
- }
+}
- .el-scrollbar {
+.el-scrollbar {
height: 100%;
- }
+}
- .box .el-scrollbar__wrap {
+.box .el-scrollbar__wrap {
overflow: scroll;
- }
+}
</style>
\ No newline at end of file
diff --git a/src/views/task/index.vue b/src/views/task/index.vue
index 7478be5..09e97d0 100644
--- a/src/views/task/index.vue
+++ b/src/views/task/index.vue
@@ -90,6 +90,7 @@
value: "dictKey",
},
search: true,
+ searchLabelWidth: 46,
row: true,
},
{
diff --git a/src/views/task/reportForRepairs.vue b/src/views/task/reportForRepairs.vue
index e0fccf4..2609458 100644
--- a/src/views/task/reportForRepairs.vue
+++ b/src/views/task/reportForRepairs.vue
@@ -195,7 +195,7 @@
label: "类型",
prop: "type",
span: 12,
- searchLabelWidth: 66,
+ searchLabelWidth: 46,
searchSpan: 4,
search: true,
dataType: "number",
diff --git a/src/views/tool/code.vue b/src/views/tool/code.vue
index bde1845..76a36cf 100644
--- a/src/views/tool/code.vue
+++ b/src/views/tool/code.vue
@@ -63,7 +63,7 @@
{
label: "模块名",
prop: "codeName",
- searchLabelWidth: 80,
+ searchLabelWidth: 60,
searchSpan: 4,
search: true,
display: false,
diff --git a/src/views/userHouse/hireInfoList.vue b/src/views/userHouse/hireInfoList.vue
index 12e96fa..460b5f4 100644
--- a/src/views/userHouse/hireInfoList.vue
+++ b/src/views/userHouse/hireInfoList.vue
@@ -319,7 +319,7 @@
prop: "tenantRelationship",
search: true,
searchSpan: 3,
- searchLabelWidth: 66,
+ searchLabelWidth: 46,
width: 100,
type: "select",
dicData: [{
diff --git a/src/views/userHouse/houseHoldList.vue b/src/views/userHouse/houseHoldList.vue
index d724d64..b322b13 100644
--- a/src/views/userHouse/houseHoldList.vue
+++ b/src/views/userHouse/houseHoldList.vue
@@ -251,7 +251,7 @@
label: "姓名",
prop: "name",
searchSpan: 3,
- searchLabelWidth: 66,
+ searchLabelWidth: 46,
search: true,
rules: [{
required: true,
diff --git a/src/views/userHouse/houseList.vue b/src/views/userHouse/houseList.vue
index 0ddc5df..446363c 100644
--- a/src/views/userHouse/houseList.vue
+++ b/src/views/userHouse/houseList.vue
@@ -241,7 +241,7 @@
parent: false,
prop: "address",
display: false,
- searchLabelWidth: 66,
+ searchLabelWidth: 46,
searchSpan: 4,
search: true,
},
diff --git a/src/views/work/claim.vue b/src/views/work/claim.vue
index 9f9ddac..f39b0c3 100644
--- a/src/views/work/claim.vue
+++ b/src/views/work/claim.vue
@@ -78,6 +78,7 @@
prop: "category",
searchSpan: 4,
search: true,
+ searchLabelWidth: 76,
hide: true,
width: 100,
},
@@ -86,6 +87,7 @@
prop: 'processDefinitionName',
searchSpan: 4,
search: true,
+ searchLabelWidth: 100,
},
{
label: '当前步骤',
diff --git a/src/views/work/send.vue b/src/views/work/send.vue
index 06c64b5..89a365d 100644
--- a/src/views/work/send.vue
+++ b/src/views/work/send.vue
@@ -79,6 +79,7 @@
prop: "category",
searchSpan: 4,
search: true,
+ searchLabelWidth: 76,
hide: true,
width: 100,
},
diff --git a/src/views/work/start.vue b/src/views/work/start.vue
index bd86063..ac99ec7 100644
--- a/src/views/work/start.vue
+++ b/src/views/work/start.vue
@@ -107,6 +107,7 @@
prop: "category",
searchSpan: 4,
search: true,
+ searchLabelWidth: 76,
},
{
label: '流程标识',
--
Gitblit v1.9.3