|
|
@@ -28,6 +28,14 @@
|
|
|
height="200"
|
|
|
></el-select-tree>
|
|
|
</el-form-item>
|
|
|
+ <el-form-item label="结构" prop="companyStructureId">
|
|
|
+ <el-select-tree
|
|
|
+ :props="companyStructureProps"
|
|
|
+ :options="companyStructureResult"
|
|
|
+ v-model="formModel.companyStructureId"
|
|
|
+ height="200"
|
|
|
+ ></el-select-tree>
|
|
|
+ </el-form-item>
|
|
|
<el-form-item label="角色" prop="personRoleId">
|
|
|
<el-select
|
|
|
v-model="formModel.personRoleId"
|
|
|
@@ -44,11 +52,20 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="展示的图标" prop="showIconId">
|
|
|
- <el-input
|
|
|
+ <el-select
|
|
|
v-model="formModel.showIconId"
|
|
|
- placeholder="请输入展示的图标id"
|
|
|
- style="width: 300px"
|
|
|
- ></el-input>
|
|
|
+ filterable
|
|
|
+ multiple
|
|
|
+ placeholder="请选择"
|
|
|
+ style="width: 280px"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="icon in iconResult"
|
|
|
+ :key="icon.iconId"
|
|
|
+ :label="icon.iconName"
|
|
|
+ :value="icon.iconId"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="备注信息" prop="remark">
|
|
|
<el-input
|
|
|
@@ -73,6 +90,8 @@ import personPopedomApi from "@/api/base/personPopedom";
|
|
|
import personRoleInfoApi from "@/api/base/personRoleInfo";
|
|
|
import companyInfoApi from "@/api/base/companyInfo";
|
|
|
import deviceInfoApi from "@/api/base/deviceInfo";
|
|
|
+import companyStructureInfoApi from "@/api/base/companyStructureInfo";
|
|
|
+import iconInfoApi from "@/api/base/iconInfo";
|
|
|
import SelectTree from "@/components/SelectTree";
|
|
|
|
|
|
export default {
|
|
|
@@ -85,10 +104,10 @@ export default {
|
|
|
formModel: { companyId: "" },
|
|
|
ruleValidate: {
|
|
|
companyId: [
|
|
|
- { required: true, message: "对应公司id不能为空", trigger: "blur" },
|
|
|
+ { required: true, message: "对应公司不能为空", trigger: "blur" },
|
|
|
],
|
|
|
personRoleId: [
|
|
|
- { required: true, message: "对应角色id不能为空", trigger: "blur" },
|
|
|
+ { required: true, message: "对应角色不能为空", trigger: "blur" },
|
|
|
],
|
|
|
},
|
|
|
showDialog: true,
|
|
|
@@ -103,6 +122,14 @@ export default {
|
|
|
children: "children",
|
|
|
},
|
|
|
personRoleResult: [],
|
|
|
+ iconResult: [],
|
|
|
+ companyStructureResult: [],
|
|
|
+ companyStructureProps: {
|
|
|
+ // 配置项(必选)
|
|
|
+ value: "id",
|
|
|
+ label: "structureName",
|
|
|
+ children: "children",
|
|
|
+ },
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
|
@@ -126,12 +153,10 @@ export default {
|
|
|
// }
|
|
|
// }
|
|
|
// });
|
|
|
-
|
|
|
- this.loadTree();
|
|
|
},
|
|
|
watch: {
|
|
|
"formModel.companyId": function (val, oldval) {
|
|
|
- if(val != null && val != ""){
|
|
|
+ if (val != null && val != "") {
|
|
|
var self = this;
|
|
|
self.formModel.personRoleId = "";
|
|
|
var formData = new FormData();
|
|
|
@@ -144,28 +169,51 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
+
|
|
|
+ companyStructureInfoApi.list(formData).then(function (response) {
|
|
|
+ var jsonData = response.data;
|
|
|
+ if (jsonData.result) {
|
|
|
+ if (jsonData.data != null && jsonData.data != "") {
|
|
|
+ self.companyStructureResult = jsonData.data;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
},
|
|
|
- },
|
|
|
- methods: {
|
|
|
- loadTree() {
|
|
|
- var formData = new FormData();
|
|
|
- companyInfoApi.loadChildren(formData).then((resp) => {
|
|
|
- var jsonData = resp.data;
|
|
|
+ "formModel.personRoleId": function (val, oldval) {
|
|
|
+ if (val != null && val != "") {
|
|
|
+ var self = this;
|
|
|
+ self.formModel.showIconId = "";
|
|
|
+ var formData = new FormData();
|
|
|
+ formData.append("roleId", val);
|
|
|
|
|
|
- if (jsonData.result) {
|
|
|
- this.treeData = jsonData.data;
|
|
|
- } else {
|
|
|
- this.$message.error(jsonData.message + "");
|
|
|
- }
|
|
|
- });
|
|
|
+ iconInfoApi.listByRoleId(formData).then(function (response) {
|
|
|
+ var jsonData = response.data;
|
|
|
+ if (jsonData.result) {
|
|
|
+ if (jsonData.data != null && jsonData.data != "") {
|
|
|
+ self.iconResult = jsonData.data;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
},
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
closeDialog() {
|
|
|
this.$emit("close", false);
|
|
|
},
|
|
|
handleSubmit() {
|
|
|
var self = this;
|
|
|
self.formModel.personId = self.personId;
|
|
|
+ if (
|
|
|
+ self.formModel.showIconId != null &&
|
|
|
+ self.formModel.showIconId != ""
|
|
|
+ ) {
|
|
|
+ var showIconId = self.formModel.showIconId.join(",");
|
|
|
+ self.formModel.showIconId = showIconId;
|
|
|
+ } else {
|
|
|
+ self.formModel.showIconId = "";
|
|
|
+ }
|
|
|
this.$refs["form"].validate((valid) => {
|
|
|
if (valid) {
|
|
|
(function () {
|