Compare commits

..

No commits in common. "126586f6636d11a3c5068480b29593f9257f66eb" and "65b8f5d36806e9a3f22dc1edec1c718ba26196f8" have entirely different histories.

22 changed files with 1373 additions and 1689 deletions

File diff suppressed because it is too large Load Diff

View File

@ -11,40 +11,28 @@
ref="formRef"
:model="formState"
:rules="formRules"
layout="vertical"
>
<a-row :gutter="[16, 0]">
<a-col :span="24">
<a-form-item ref="name" label="描述" name="name">
<a-textarea v-model:value="formState.name" />
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item ref="code" label="编号" name="code">
<a-input v-model:value="formState.code" />
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item ref="value" label="值" name="value">
<a-textarea v-model:value="formState.value" />
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="状态" name="enable">
<a-switch v-model:checked="formState.enable" />
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="备注" name="remark">
<a-textarea v-model:value="formState.remark" />
</a-form-item>
</a-col>
</a-row>
:label-col="labelCol"
:wrapper-col="wrapperCol">
<a-form-item ref="name" label="描述" name="name">
<a-textarea v-model:value="formState.name" />
</a-form-item>
<a-form-item ref="code" label="编号" name="code">
<a-input v-model:value="formState.code" />
</a-form-item>
<a-form-item ref="value" label="值" name="value">
<a-textarea v-model:value="formState.value" />
</a-form-item>
<a-form-item label="状态" name="enable">
<a-switch v-model:checked="formState.enable" />
</a-form-item>
<a-form-item label="备注" name="remark">
<a-textarea v-model:value="formState.remark" />
</a-form-item>
</a-form>
</a-modal>
</template>
<script>
import { message } from "@hwork/ant-design-vue";
import { message } from '@hwork/ant-design-vue';
import { edit } from "@/api/module/config";
import { defineComponent, reactive, ref, toRaw, watch } from "vue";
@ -56,28 +44,29 @@ export default defineComponent({
},
record: {
type: Object,
},
}
},
emit: ["close"],
setup(props, context) {
const formRef = ref();
const formRef = ref();
let formState = reactive({});
const formRules = {
name: [{ required: true, message: "请输入配置描述", trigger: "blur" }],
code: [{ required: true, message: "请输入配置编号", trigger: "blur" }],
value: [{ required: true, message: "请输入配置值", trigger: "blur" }],
name: [{ required: true, message: '请输入配置描述', trigger: 'blur'}],
code: [{ required: true, message: '请输入配置编号', trigger: 'blur'}],
value: [{ required: true, message: '请输入配置值', trigger: 'blur'}]
};
watch(props, (props) => {
formState.id = props.record.id;
formState.name = props.record.name;
formState.code = props.record.code;
formState.value = props.record.value;
formState.remark = props.record.remark;
formState.enable = props.record.enable;
});
watch(props,(props) => {
formState.id = props.record.id
formState.name = props.record.name
formState.code = props.record.code
formState.value = props.record.value
formState.remark = props.record.remark
formState.enable = props.record.enable
})
const submit = (e) => {
message.loading({
@ -89,25 +78,21 @@ export default defineComponent({
.then(() => {
edit(toRaw(formState)).then((response) => {
if (response.success) {
message
.success({
content: "保存成功",
key,
duration: 1,
})
.then(() => {
cancel();
});
message.success({
content: "保存成功",
key,
duration: 1,
}).then(()=>{
cancel();
});
} else {
message
.error({
content: "保存失败",
key,
duration: 1,
})
.then(() => {
cancel();
});
message.error({
content: "保存失败",
key,
duration: 1,
}).then(()=>{
cancel();
});
}
});
})
@ -127,10 +112,10 @@ export default defineComponent({
formRef,
formState,
formRules,
labelCol: { span: 6 },
wrapperCol: { span: 18 },
};
},
});
</script>
</script>

View File

@ -11,35 +11,23 @@
ref="formRef"
:model="formState"
:rules="formRules"
layout="vertical"
>
<a-row :gutter="[16, 0]">
<a-col :span="24">
<a-form-item ref="name" label="描述" name="name">
<a-textarea v-model:value="formState.name" />
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item ref="code" label="编号" name="code">
<a-input v-model:value="formState.code" />
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item ref="value" label="值" name="value">
<a-textarea v-model:value="formState.value" />
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="状态" name="enable">
<a-switch v-model:checked="formState.enable" />
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="备注" name="remark">
<a-textarea v-model:value="formState.remark" />
</a-form-item>
</a-col>
</a-row>
:label-col="labelCol"
:wrapper-col="wrapperCol">
<a-form-item ref="name" label="描述" name="name">
<a-textarea v-model:value="formState.name" />
</a-form-item>
<a-form-item ref="code" label="编号" name="code">
<a-input v-model:value="formState.code" />
</a-form-item>
<a-form-item ref="value" label="值" name="value">
<a-textarea v-model:value="formState.value" />
</a-form-item>
<a-form-item label="状态" name="enable">
<a-switch v-model:checked="formState.enable" />
</a-form-item>
<a-form-item label="备注" name="remark">
<a-textarea v-model:value="formState.remark" />
</a-form-item>
</a-form>
</a-modal>
</template>
@ -54,28 +42,29 @@ export default defineComponent({
},
record: {
type: Object,
},
}
},
emit: ["close"],
setup(props, context) {
const formRef = ref();
const formRef = ref();
let formState = reactive({});
const formRules = {
name: [{ required: true, message: "请输入配置描述", trigger: "blur" }],
code: [{ required: true, message: "请输入配置编号", trigger: "blur" }],
value: [{ required: true, message: "请输入配置值", trigger: "blur" }],
name: [{ required: true, message: '请输入配置描述', trigger: 'blur'}],
code: [{ required: true, message: '请输入配置编号', trigger: 'blur'}],
value: [{ required: true, message: '请输入配置值', trigger: 'blur'}]
};
watch(props, (props) => {
formState.id = props.record.id;
formState.name = props.record.name;
formState.code = props.record.code;
formState.value = props.record.value;
formState.remark = props.record.remark;
formState.enable = props.record.enable;
});
watch(props,(props) => {
formState.id = props.record.id
formState.name = props.record.name
formState.code = props.record.code
formState.value = props.record.value
formState.remark = props.record.remark
formState.enable = props.record.enable
})
const submit = (e) => {
formRef.value.resetFields();
@ -93,10 +82,10 @@ export default defineComponent({
formRef,
formState,
formRules,
labelCol: { span: 6 },
wrapperCol: { span: 18 },
};
},
});
</script>
</script>

View File

@ -11,35 +11,24 @@
ref="formRef"
:model="formState"
:rules="formRules"
layout="vertical"
:label-col="labelCol"
:wrapper-col="wrapperCol"
>
<a-row :gutter="[16, 0]">
<a-col :span="12">
<a-form-item ref="name" label="名称" name="name">
<a-input v-model:value="formState.name" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="code" label="编号" name="code">
<a-input v-model:value="formState.code" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="value" label="值" name="value">
<a-input v-model:value="formState.value" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="状态" name="enable">
<a-switch v-model:checked="formState.enable" />
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="备注" name="remark">
<a-textarea v-model:value="formState.remark" />
</a-form-item>
</a-col>
</a-row>
<a-form-item ref="name" label="名称" name="name">
<a-input v-model:value="formState.name" />
</a-form-item>
<a-form-item ref="code" label="编号" name="code">
<a-input v-model:value="formState.code" />
</a-form-item>
<a-form-item ref="value" label="值" name="value">
<a-input v-model:value="formState.value" />
</a-form-item>
<a-form-item label="状态" name="enable">
<a-switch v-model:checked="formState.enable" />
</a-form-item>
<a-form-item label="备注" name="remark">
<a-textarea v-model:value="formState.remark" />
</a-form-item>
</a-form>
</a-modal>
</template>
@ -64,9 +53,9 @@ export default defineComponent({
});
const formRules = {
name: [{ required: true, message: "请输入配置描述", trigger: "blur" }],
code: [{ required: true, message: "请输入配置编号", trigger: "blur" }],
value: [{ required: true, message: "请输入配置值", trigger: "blur" }],
name: [{ required: true, message: '请输入配置描述', trigger: 'blur'}],
code: [{ required: true, message: '请输入配置编号', trigger: 'blur'}],
value: [{ required: true, message: '请输入配置值', trigger: 'blur'}]
};
const submit = (e) => {
@ -79,25 +68,21 @@ export default defineComponent({
.then(() => {
save(toRaw(formState)).then((response) => {
if (response.success) {
message
.success({
content: "保存成功",
key,
duration: 1,
})
.then(() => {
cancel();
});
message.success({
content: "保存成功",
key,
duration: 1,
}).then(()=>{
cancel();
});
} else {
message
.error({
content: response.msg,
key,
duration: 1,
})
.then(() => {
cancel();
});
message.error({
content: response.msg,
key,
duration: 1,
}).then(()=>{
cancel();
});
}
});
})
@ -123,4 +108,4 @@ export default defineComponent({
};
},
});
</script>
</script>

View File

@ -8,14 +8,14 @@
@cancel="cancel"
>
<a-form
ref="formRef"
ref="formRef"
:model="formState"
:rules="formRules"
layout="vertical"
:label-col="labelCol"
:wrapper-col="wrapperCol"
>
<a-col :span="12" v-if="formState.parent != 0">
<!-- 当前部门为根部门, 则不提供上级部门选择 -->
<a-form-item label="上级" name="parent">
<!-- 当前部门为根部门, 则不提供上级部门选择 -->
<a-form-item label="上级" name="parent" v-if="formState.parent != 0 ">
<a-tree-select
v-model:value="formState.parent"
style="width: 100%"
@ -26,38 +26,27 @@
:replaceFields="replaceFields"
>
</a-tree-select>
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item ref="name" label="名称" name="name">
<a-input v-model:value="formState.name" />
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item ref="sort" label="排序" name="sort">
<a-input-number style="width: 100%" v-model:value="formState.sort" />
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item ref="address" label="地址" name="address">
<a-input v-model:value="formState.address" />
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="状态" name="state">
<a-switch v-model:checked="formState.enable" />
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="备注" name="remark">
<a-textarea v-model:value="formState.remark" />
</a-form-item>
</a-col>
</a-form-item>
<a-form-item ref="name" label="名称" name="name">
<a-input v-model:value="formState.name" />
</a-form-item>
<a-form-item ref="sort" label="排序" name="sort">
<a-input-number v-model:value="formState.sort" />
</a-form-item>
<a-form-item label="状态" name="state">
<a-switch v-model:checked="formState.enable" />
</a-form-item>
<a-form-item ref="address" label="地址" name="address">
<a-input v-model:value="formState.address" />
</a-form-item>
<a-form-item label="备注" name="remark">
<a-textarea v-model:value="formState.remark" />
</a-form-item>
</a-form>
</a-modal>
</template>
<script>
import { message } from "@hwork/ant-design-vue";
import { message } from '@hwork/ant-design-vue';
import { edit, tree } from "@/api/module/dept";
import { defineComponent, reactive, ref, toRaw, watch } from "vue";
export default defineComponent({
@ -67,57 +56,56 @@ export default defineComponent({
},
record: {
type: Object,
},
}
},
emit: ["close"],
setup(props, context) {
const state = reactive({
depts: [],
});
const state = reactive({
depts: [],
})
const formRef = ref();
const formState = reactive({
sort: 0,
enable: true,
});
watch(props, (props) => {
formState.id = props.record.id;
formState.name = props.record.name;
formState.sort = props.record.sort;
formState.parent = props.record.parent;
formState.remark = props.record.remark;
formState.enable = props.record.enable;
formState.address = props.record.address;
});
watch(props,(props) => {
formState.id = props.record.id
formState.name = props.record.name
formState.sort = props.record.sort
formState.parent = props.record.parent
formState.remark = props.record.remark
formState.enable = props.record.enable
formState.address = props.record.address
})
const formRules = {
name: [{ required: true, message: "请输入部门名称", trigger: "blur" }],
address: [{ required: true, message: "请输入详细地址", trigger: "blur" }],
parent: [
{ required: true, message: "请选择上级部门", trigger: "change" },
],
name: [ { required: true, message: '请输入部门名称', trigger: 'blur'} ],
address: [ { required: true, message: '请输入详细地址', trigger: 'blur'} ],
parent: [ { required: true, message: '请选择上级部门', trigger: 'change'} ]
};
const submit = (e) => {
formRef.value
.validate()
.then(() => {
edit(toRaw(formState)).then((response) => {
if (response.success) {
message.success({ content: "保存成功", duration: 1 }).then(() => {
cancel();
});
} else {
message.success({ content: "保存失败", duration: 1 }).then(() => {
cancel();
});
}
edit(toRaw(formState)).then((response)=>{
if(response.success){
message.success({ content: '保存成功', duration: 1 }).then(()=>{
cancel();
});
}else{
message.success({ content: '保存失败', duration: 1 }).then(()=>{
cancel();
});
}
});
})
.catch((error) => {
console.log("error", error);
.catch(error => {
console.log('error', error);
});
};
@ -127,10 +115,10 @@ export default defineComponent({
};
const loadTree = () => {
tree({}).then((response) => {
tree({}).then((response)=>{
state.depts = response.data;
});
};
})
}
///
loadTree();
@ -142,17 +130,12 @@ export default defineComponent({
formRef,
formState,
formRules,
labelCol: { span: 6 },
wrapperCol: { span: 18 },
replaceFields: {
children: "children",
title: "name",
key: "id",
value: "id",
},
replaceFields: {children:'children', title:'name', key:'id', value: 'id' }
};
},
});
</script>
</script>

View File

@ -11,11 +11,11 @@
ref="formRef"
:model="formState"
:rules="formRules"
layout="vertical"
:label-col="labelCol"
:wrapper-col="wrapperCol"
>
<a-col :span="12" v-if="formState.parent != 0 ">
<!-- 当前部门为根部门, 则不提供上级部门选择 -->
<a-form-item label="上级" name="parent" >
<a-form-item label="上级" name="parent" v-if="formState.parent != 0 ">
<a-tree-select
v-model:value="formState.parent"
style="width: 100%"
@ -27,19 +27,18 @@
>
</a-tree-select>
</a-form-item>
</a-col>
<a-form-item ref="name" label="名称" name="name">
<a-input v-model:value="formState.name" />
</a-form-item>
<a-form-item ref="sort" label="排序" name="sort">
<a-input-number style="width: 100%" v-model:value="formState.sort" />
</a-form-item>
<a-form-item ref="address" label="地址" name="address">
<a-input v-model:value="formState.address" />
<a-input-number v-model:value="formState.sort" />
</a-form-item>
<a-form-item label="状态" name="state">
<a-switch v-model:checked="formState.enable" />
</a-form-item>
<a-form-item ref="address" label="地址" name="address">
<a-input v-model:value="formState.address" />
</a-form-item>
<a-form-item label="备注" name="remark">
<a-textarea v-model:value="formState.remark" />
</a-form-item>

View File

@ -8,60 +8,44 @@
@cancel="cancel"
>
<a-form
ref="formRef"
ref="formRef"
:model="formState"
:rules="formRules"
layout="vertical"
:label-col="labelCol"
:wrapper-col="wrapperCol"
>
<a-row :gutter="[16, 0]">
<a-col :span="12">
<a-form-item label="上级" name="parent">
<a-tree-select
v-model:value="formState.parent"
style="width: 100%"
:tree-data="state.depts"
placeholder="所属部门"
replace
tree-default-expand-all
:replaceFields="replaceFields"
>
</a-tree-select>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="name" label="名称" name="name">
<a-input v-model:value="formState.name" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="sort" label="排序" name="sort">
<a-input-number
style="width: 100%"
v-model:value="formState.sort"
/>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="address" label="地址" name="address">
<a-input v-model:value="formState.address" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="状态" name="state">
<a-switch v-model:checked="formState.enable" />
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="备注" name="remark">
<a-textarea v-model:value="formState.remark" />
</a-form-item>
</a-col>
</a-row>
<a-form-item label="上级" name="parent">
<a-tree-select
v-model:value="formState.parent"
style="width: 100%"
:tree-data="state.depts"
placeholder="所属部门"
replace
tree-default-expand-all
:replaceFields="replaceFields"
>
</a-tree-select>
</a-form-item>
<a-form-item ref="name" label="名称" name="name">
<a-input v-model:value="formState.name" />
</a-form-item>
<a-form-item ref="sort" label="排序" name="sort">
<a-input-number v-model:value="formState.sort" />
</a-form-item>
<a-form-item label="状态" name="state">
<a-switch v-model:checked="formState.enable" />
</a-form-item>
<a-form-item ref="address" label="地址" name="address">
<a-input v-model:value="formState.address" />
</a-form-item>
<a-form-item label="备注" name="remark">
<a-textarea v-model:value="formState.remark" />
</a-form-item>
</a-form>
</a-modal>
</template>
<script>
import { message } from "@hwork/ant-design-vue";
import { message } from '@hwork/ant-design-vue';
import { save, tree } from "@/api/module/dept";
import { defineComponent, reactive, ref, toRaw } from "vue";
export default defineComponent({
@ -72,43 +56,42 @@ export default defineComponent({
},
emit: ["close"],
setup(props, context) {
const state = reactive({
depts: [],
});
const state = reactive({
depts: [],
})
const formRef = ref();
const formState = reactive({
sort: 0,
enable: true,
});
const formRules = {
name: [{ required: true, message: "请输入部门名称", trigger: "blur" }],
address: [{ required: true, message: "请输入详细地址", trigger: "blur" }],
parent: [
{ required: true, message: "请选择上级部门", trigger: "change" },
],
name: [ { required: true, message: '请输入部门名称', trigger: 'blur'} ],
address: [ { required: true, message: '请输入详细地址', trigger: 'blur'} ],
parent: [ { required: true, message: '请选择上级部门', trigger: 'change'} ]
};
const submit = (e) => {
formRef.value
.validate()
.then(() => {
save(toRaw(formState)).then((response) => {
if (response.success) {
message.success({ content: "保存成功", duration: 1 }).then(() => {
cancel();
});
} else {
message.success({ content: "保存失败", duration: 1 }).then(() => {
cancel();
});
}
save(toRaw(formState)).then((response)=>{
if(response.success){
message.success({ content: '保存成功', duration: 1 }).then(()=>{
cancel();
});
}else{
message.success({ content: '保存失败', duration: 1 }).then(()=>{
cancel();
});
}
});
})
.catch((error) => {
console.log("error", error);
.catch(error => {
console.log('error', error);
});
};
@ -118,10 +101,10 @@ export default defineComponent({
};
const loadTree = () => {
tree({}).then((response) => {
tree({}).then((response)=>{
state.depts = response.data;
});
};
})
}
///
loadTree();
@ -133,17 +116,12 @@ export default defineComponent({
formRef,
formState,
formRules,
labelCol: { span: 6 },
wrapperCol: { span: 18 },
replaceFields: {
children: "children",
title: "name",
key: "id",
value: "id",
},
replaceFields: {children:'children', title:'name', key:'id', value: 'id' }
};
},
});
</script>
</script>

View File

@ -8,43 +8,32 @@
@cancel="cancel"
>
<a-form
ref="formRef"
ref="formRef"
:model="formState"
:rules="formRules"
layout="vertical"
:label-col="labelCol"
:wrapper-col="wrapperCol"
>
<a-row :gutter="[16, 0]">
<a-col :span="12">
<a-form-item ref="name" label="名称" name="name">
<a-input v-model:value="formState.name" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="code" label="标识" name="code">
<a-input v-model:value="formState.code" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="sort" label="标识" name="sort">
<a-input-number style="width: 100%" v-model:value="formState.sort" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="状态" name="enable">
<a-switch v-model:checked="formState.enable" />
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="备注" name="remark">
<a-textarea v-model:value="formState.remark" />
</a-form-item>
</a-col>
</a-row>
<a-form-item ref="name" label="名称" name="name">
<a-input v-model:value="formState.name" />
</a-form-item>
<a-form-item ref="code" label="标识" name="code">
<a-input v-model:value="formState.code" />
</a-form-item>
<a-form-item ref="sort" label="标识" name="sort">
<a-input-number v-model:value="formState.sort" />
</a-form-item>
<a-form-item label="状态" name="enable">
<a-switch v-model:checked="formState.enable" />
</a-form-item>
<a-form-item label="备注" name="remark">
<a-textarea v-model:value="formState.remark" />
</a-form-item>
</a-form>
</a-modal>
</template>
<script>
import { message } from "@hwork/ant-design-vue";
import { message } from '@hwork/ant-design-vue';
import { edit } from "@/api/module/post";
import { defineComponent, reactive, ref, toRaw, watch } from "vue";
export default defineComponent({
@ -54,53 +43,50 @@ export default defineComponent({
},
record: {
type: Object,
},
}
},
emit: ["close"],
setup(props, context) {
const formRef = ref();
const formRef = ref();
const formState = reactive({});
watch(props, (props) => {
formState.id = props.record.id;
formState.name = props.record.name;
formState.code = props.record.code;
formState.sort = props.record.sort;
formState.remark = props.record.remark;
formState.enable = props.record.enable;
});
formState.id = props.record.id
formState.name = props.record.name
formState.code = props.record.code
formState.sort = props.record.sort
formState.remark = props.record.remark
formState.enable = props.record.enable
})
const formRules = {
name: [{ required: true, message: "请输入岗位名称", trigger: "blur" }],
code: [{ required: true, message: "请输入岗位编号", trigger: "blur" }],
name: [ { required: true, message: '请输入岗位名称', trigger: 'blur'} ],
code: [ { required: true, message: '请输入岗位编号', trigger: 'blur'} ]
};
const editKey = "add";
const submit = (e) => {
message.loading({ content: "提交中...", key: editKey });
message.loading({ content: '提交中...', key: editKey });
formRef.value
.validate()
.then(() => {
edit(toRaw(formState)).then((response) => {
if (response.success) {
message
.success({ content: "保存成功", key: editKey, duration: 1 })
.then(() => {
edit(toRaw(formState)).then((response)=>{
if(response.success){
message.success({ content: '保存成功', key: editKey, duration: 1 }).then(()=>{
cancel();
});
} else {
message
.success({ content: "保存失败", key: editKey, duration: 1 })
.then(() => {
}else{
message.success({ content: '保存失败', key: editKey, duration: 1 }).then(()=>{
cancel();
});
}
}
});
})
.catch((error) => {
console.log("error", error);
.catch(error => {
console.log('error', error);
});
};
@ -110,15 +96,16 @@ export default defineComponent({
};
return {
submit,
cancel,
formRef,
formState,
formRules,
labelCol: { span: 6 },
wrapperCol: { span: 18 },
};
},
});
</script>
</script>

View File

@ -8,38 +8,27 @@
@cancel="cancel"
>
<a-form
ref="formRef"
ref="formRef"
:model="formState"
:rules="formRules"
layout="vertical"
:label-col="labelCol"
:wrapper-col="wrapperCol"
>
<a-row :gutter="[16, 0]">
<a-col :span="12">
<a-form-item ref="name" label="名称" name="name">
<a-input v-model:value="formState.name" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="code" label="标识" name="code">
<a-input v-model:value="formState.code" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="sort" label="标识" name="sort">
<a-input-number style="width: 100%" v-model:value="formState.sort" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="状态" name="enable">
<a-switch v-model:checked="formState.enable" />
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="备注" name="remark">
<a-textarea v-model:value="formState.remark" />
</a-form-item>
</a-col>
</a-row>
<a-form-item ref="name" label="名称" name="name">
<a-input v-model:value="formState.name" />
</a-form-item>
<a-form-item ref="code" label="标识" name="code">
<a-input v-model:value="formState.code" />
</a-form-item>
<a-form-item ref="sort" label="标识" name="sort">
<a-input-number v-model:value="formState.sort" />
</a-form-item>
<a-form-item label="状态" name="enable">
<a-switch v-model:checked="formState.enable" />
</a-form-item>
<a-form-item label="备注" name="remark">
<a-textarea v-model:value="formState.remark" />
</a-form-item>
</a-form>
</a-modal>
</template>
@ -52,22 +41,23 @@ export default defineComponent({
},
record: {
type: Object,
},
}
},
emit: ["close"],
setup(props, context) {
const formRef = ref();
const formRef = ref();
const formState = reactive({});
watch(props, (props) => {
formState.id = props.record.id;
formState.name = props.record.name;
formState.code = props.record.code;
formState.sort = props.record.sort;
formState.remark = props.record.remark;
formState.enable = props.record.enable;
});
formState.id = props.record.id
formState.name = props.record.name
formState.code = props.record.code
formState.sort = props.record.sort
formState.remark = props.record.remark
formState.enable = props.record.enable
})
const formRules = {};
@ -82,15 +72,16 @@ export default defineComponent({
};
return {
submit,
cancel,
formRef,
formState,
formRules,
labelCol: { span: 6 },
wrapperCol: { span: 18 },
};
},
});
</script>
</script>

View File

@ -8,43 +8,32 @@
@cancel="cancel"
>
<a-form
ref="formRef"
ref="formRef"
:model="formState"
:rules="formRules"
layout="vertical"
:label-col="labelCol"
:wrapper-col="wrapperCol"
>
<a-row :gutter="[16, 0]">
<a-col :span="12">
<a-form-item ref="name" label="名称" name="name">
<a-input v-model:value="formState.name" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="code" label="标识" name="code">
<a-input v-model:value="formState.code" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="sort" label="标识" name="sort">
<a-input-number style="width: 100%" v-model:value="formState.sort" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="状态" name="enable">
<a-switch v-model:checked="formState.enable" />
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="备注" name="remark">
<a-textarea v-model:value="formState.remark" />
</a-form-item>
</a-col>
</a-row>
<a-form-item ref="name" label="名称" name="name">
<a-input v-model:value="formState.name" />
</a-form-item>
<a-form-item ref="code" label="标识" name="code">
<a-input v-model:value="formState.code" />
</a-form-item>
<a-form-item ref="sort" label="标识" name="sort">
<a-input-number v-model:value="formState.sort" />
</a-form-item>
<a-form-item label="状态" name="enable">
<a-switch v-model:checked="formState.enable" />
</a-form-item>
<a-form-item label="备注" name="remark">
<a-textarea v-model:value="formState.remark" />
</a-form-item>
</a-form>
</a-modal>
</template>
<script>
import { message } from "@hwork/ant-design-vue";
import { message } from '@hwork/ant-design-vue';
import { save } from "@/api/module/post";
import { defineComponent, reactive, ref, toRaw } from "vue";
export default defineComponent({
@ -55,43 +44,40 @@ export default defineComponent({
},
emit: ["close"],
setup(props, context) {
const formRef = ref();
const formRef = ref();
const formState = reactive({
sort: 0,
enable: "true",
});
const formRules = {
name: [{ required: true, message: "请输入岗位名称", trigger: "blur" }],
code: [{ required: true, message: "请输入岗位编号", trigger: "blur" }],
name: [ { required: true, message: '请输入岗位名称', trigger: 'blur'} ],
code: [ { required: true, message: '请输入岗位编号', trigger: 'blur'} ]
};
const saveKey = "save";
const submit = (e) => {
message.loading({ content: "提交中...", key: saveKey });
message.loading({ content: '提交中...', key: saveKey });
formRef.value
.validate()
.then(() => {
save(toRaw(formState)).then((response) => {
if (response.success) {
message
.success({ content: "保存成功", key: saveKey, duration: 1 })
.then(() => {
save(toRaw(formState)).then((response)=>{
if(response.success){
message.success({ content: '保存成功', key: saveKey, duration: 1 }).then(()=>{
cancel();
});
} else {
message
.success({ content: "保存失败", key: saveKey, duration: 1 })
.then(() => {
}else{
message.success({ content: '保存失败', key: saveKey, duration: 1 }).then(()=>{
cancel();
});
}
}
});
})
.catch((error) => {
console.log("error", error);
.catch(error => {
console.log('error', error);
});
};
@ -106,10 +92,10 @@ export default defineComponent({
formRef,
formState,
formRules,
labelCol: { span: 6 },
wrapperCol: { span: 18 },
};
},
});
</script>
</script>

View File

@ -34,18 +34,33 @@
<a-input v-model:value="formState.title" />
</a-form-item>
</a-col>
<a-col :span="12" v-if="state.showComponent">
<a-form-item ref="component" label="组件" name="component">
<a-col :span="12">
<a-form-item
v-if="state.showComponent"
ref="component"
label="组件"
name="component"
>
<a-input v-model:value="formState.component" />
</a-form-item>
</a-col>
<a-col :span="12" v-if="state.showPath">
<a-form-item ref="path" label="路径" name="path">
<a-col :span="12">
<a-form-item
v-if="state.showPath"
ref="path"
label="路径"
name="path"
>
<a-input v-model:value="formState.path" />
</a-form-item>
</a-col>
<a-col :span="12" v-if="state.showCode">
<a-form-item ref="code" label="标识" name="code">
<a-col :span="12">
<a-form-item
v-if="state.showCode"
ref="code"
label="标识"
name="code"
>
<a-input v-model:value="formState.code" />
</a-form-item>
</a-col>

View File

@ -8,43 +8,32 @@
@cancel="cancel"
>
<a-form
ref="formRef"
ref="formRef"
:model="formState"
:rules="formRules"
layout="vertical"
:label-col="labelCol"
:wrapper-col="wrapperCol"
>
<a-row :gutter="[16, 0]">
<a-col :span="12">
<a-form-item ref="name" label="名称" name="name">
<a-input v-model:value="formState.name" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="code" label="标识" name="code">
<a-input v-model:value="formState.code" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="sort" label="排序" name="sort">
<a-input-number style="width: 100%" v-model:value="formState.sort" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="状态" name="enable">
<a-switch v-model:checked="formState.enable" />
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="备注" name="remark">
<a-textarea v-model:value="formState.remark" />
</a-form-item>
</a-col>
</a-row>
<a-form-item ref="name" label="名称" name="name">
<a-input v-model:value="formState.name" />
</a-form-item>
<a-form-item ref="code" label="标识" name="code">
<a-input v-model:value="formState.code" />
</a-form-item>
<a-form-item ref="sort" label="排序" name="sort">
<a-input-number v-model:value="formState.sort" />
</a-form-item>
<a-form-item label="状态" name="enable">
<a-switch v-model:checked="formState.enable" />
</a-form-item>
<a-form-item label="备注" name="remark">
<a-textarea v-model:value="formState.remark" />
</a-form-item>
</a-form>
</a-modal>
</template>
<script>
import { message } from "@hwork/ant-design-vue";
import { message } from '@hwork/ant-design-vue';
import { edit } from "@/api/module/role";
import { defineComponent, reactive, ref, toRaw, watch } from "vue";
export default defineComponent({
@ -54,46 +43,51 @@ export default defineComponent({
},
record: {
type: Object,
},
}
},
emit: ["close"],
setup(props, context) {
const formRef = ref();
const formRef = ref();
const formState = reactive({});
const formRules = {
name: [{ required: true, message: "请输入名称", trigger: "blur" }],
code: [{ required: true, message: "请输入标识", trigger: "blur" }],
name: [
{ required: true, message: '请输入名称', trigger: 'blur'},
],
code: [
{ required: true, message: '请输入标识', trigger: 'blur'},
]
};
watch(props, (props) => {
watch(props,(props)=>{
formState.id = props.record.id;
formState.name = props.record.name;
formState.code = props.record.code;
formState.sort = props.record.sort;
formState.enable = props.record.enable;
formState.remark = props.record.remark;
});
})
const submit = (e) => {
formRef.value
.validate()
.then(() => {
edit(toRaw(formState)).then((response) => {
if (response.success) {
message.success({ content: "保存成功", duration: 1 }).then(() => {
cancel();
});
} else {
message.success({ content: "保存失败", duration: 1 }).then(() => {
cancel();
});
}
edit(toRaw(formState)).then((response)=>{
if(response.success){
message.success({ content: '保存成功', duration: 1 }).then(()=>{
cancel();
});
}else{
message.success({ content: '保存失败', duration: 1 }).then(()=>{
cancel();
});
}
});
})
.catch((error) => {
console.log("error", error);
.catch(error => {
console.log('error', error);
});
};
@ -108,10 +102,10 @@ export default defineComponent({
formRef,
formState,
formRules,
labelCol: { span: 6 },
wrapperCol: { span: 18 },
};
},
});
</script>
</script>

View File

@ -1,5 +1,12 @@
<template>
<a-drawer :open="visible" title="权限配置" style="padding: 0 8px">
<a-modal
:open="visible"
title="权限配置"
cancelText="取消"
okText="保存"
@ok="submit"
@cancel="cancel"
>
<a-tabs v-model:activeKey="state.active">
<a-tab-pane key="1" tab="菜单权限">
<a-tree
@ -16,13 +23,11 @@
<a-select-option value="ALL">全部</a-select-option>
<a-select-option value="SELF">仅自己</a-select-option>
<a-select-option value="DEPT">所在部门</a-select-option>
<a-select-option value="DEPT_CHILD"
>所在部门及下级部门</a-select-option
>
<a-select-option value="DEPT_CHILD">所在部门及下级部门</a-select-option>
<a-select-option value="CUSTOM">自定义数据</a-select-option>
</a-select>
<br />
<br />
<br/>
<br/>
<a-tree
checkable
show-line="true"
@ -33,11 +38,7 @@
/>
</a-tab-pane>
</a-tabs>
<template #footer>
<a-button @click="cancel"></a-button>
<a-button type="primary" @click="submit"></a-button>
</template>
</a-drawer>
</a-modal>
</template>
<script>
import { message } from "@hwork/ant-design-vue";
@ -57,6 +58,7 @@ export default defineComponent({
},
emit: ["close"],
setup(props, context) {
const scope = ref("ALL");
const state = reactive({
@ -64,8 +66,8 @@ export default defineComponent({
powers: [],
active: "1",
showDept: false,
checkedPowerIds: { checked: [] },
checkedDeptIds: { checked: [] },
checkedPowerIds: {checked:[]},
checkedDeptIds: {checked:[]},
powerReplaceFields: { key: "id" },
deptReplaceFields: { key: "id", title: "name" },
});
@ -84,13 +86,13 @@ export default defineComponent({
///
watch(scope, (scope) => {
if (scope === "CUSTOM") {
if(scope === "CUSTOM") {
state.showDept = true;
} else {
state.checkedDeptIds = [];
state.showDept = false;
}
});
})
///
watch(props, (props) => {
@ -102,12 +104,12 @@ export default defineComponent({
state.checkedPowerIds = powerIds;
});
let deptIds = [];
dept({ roleId: props.record.id }).then((response) => {
dept({ roleId: props.record.id}).then((response) => {
response.data.forEach((element) => {
deptIds.push(element.id);
});
})
state.checkedDeptIds = deptIds;
});
})
scope.value = props.record.scope;
});
@ -115,26 +117,23 @@ export default defineComponent({
loadDept();
const submit = (e) => {
give({
give({
scope: scope.value,
roleId: props.record.id,
powerIds: state.checkedPowerIds.checked
? state.checkedPowerIds.checked
: state.checkedPowerIds,
deptIds: state.checkedDeptIds.checked
? state.checkedDeptIds.checked
: state.checkedDeptIds,
}).then((response) => {
if (response.success) {
message.success({ content: "保存成功", duration: 1 }).then(() => {
cancel();
});
} else {
message.error({ content: "保存失败", duration: 1 }).then(() => {
cancel();
});
powerIds: state.checkedPowerIds.checked?state.checkedPowerIds.checked:state.checkedPowerIds,
deptIds: state.checkedDeptIds.checked?state.checkedDeptIds.checked:state.checkedDeptIds }).then(
(response) => {
if (response.success) {
message.success({ content: "保存成功", duration: 1 }).then(() => {
cancel();
});
} else {
message.error({ content: "保存失败", duration: 1 }).then(() => {
cancel();
});
}
}
});
);
};
const cancel = (e) => {
@ -146,8 +145,8 @@ export default defineComponent({
state,
submit,
cancel,
SHOW_PARENT,
SHOW_PARENT
};
},
});
</script>
</script>

View File

@ -8,38 +8,27 @@
@cancel="cancel"
>
<a-form
ref="formRef"
ref="formRef"
:model="formState"
:rules="formRules"
layout="vertical"
:label-col="labelCol"
:wrapper-col="wrapperCol"
>
<a-row :gutter="[16, 0]">
<a-col :span="12">
<a-form-item ref="name" label="名称" name="name">
<a-input v-model:value="formState.name" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="code" label="标识" name="code">
<a-input v-model:value="formState.code" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="sort" label="排序" name="sort">
<a-input-number style="width: 100%" v-model:value="formState.sort" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="状态" name="enable">
<a-switch v-model:checked="formState.enable" />
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="备注" name="remark">
<a-textarea v-model:value="formState.remark" />
</a-form-item>
</a-col>
</a-row>
<a-form-item ref="name" label="名称" name="name">
<a-input v-model:value="formState.name" />
</a-form-item>
<a-form-item ref="code" label="标识" name="code">
<a-input v-model:value="formState.code" />
</a-form-item>
<a-form-item ref="sort" label="排序" name="sort">
<a-input-number v-model:value="formState.sort" />
</a-form-item>
<a-form-item label="状态" name="enable">
<a-switch v-model:checked="formState.enable" />
</a-form-item>
<a-form-item label="备注" name="remark">
<a-textarea v-model:value="formState.remark" />
</a-form-item>
</a-form>
</a-modal>
</template>
@ -52,24 +41,25 @@ export default defineComponent({
},
record: {
type: Object,
},
}
},
emit: ["close"],
setup(props, context) {
const formRef = ref();
const formRef = ref();
const formState = reactive({});
const formRules = {};
watch(props, (props) => {
watch(props,(props)=>{
formState.id = props.record.id;
formState.name = props.record.name;
formState.code = props.record.code;
formState.sort = props.record.sort;
formState.enable = props.record.enable;
formState.remark = props.record.remark;
});
})
const cancel = (e) => {
formRef.value.resetFields();
@ -87,10 +77,10 @@ export default defineComponent({
formRef,
formState,
formRules,
labelCol: { span: 6 },
wrapperCol: { span: 18 },
};
},
});
</script>
</script>

View File

@ -8,43 +8,32 @@
@cancel="cancel"
>
<a-form
ref="formRef"
ref="formRef"
:model="formState"
:rules="formRules"
layout="vertical"
:label-col="labelCol"
:wrapper-col="wrapperCol"
>
<a-row :gutter="[16, 0]">
<a-col :span="12">
<a-form-item ref="name" label="名称" name="name">
<a-input v-model:value="formState.name" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="code" label="标识" name="code">
<a-input v-model:value="formState.code" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="sort" label="排序" name="sort">
<a-input-number style="width: 100%" v-model:value="formState.sort" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="状态" name="enable">
<a-switch v-model:checked="formState.enable" />
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="备注" name="remark">
<a-textarea v-model:value="formState.remark" />
</a-form-item>
</a-col>
</a-row>
<a-form-item ref="name" label="名称" name="name">
<a-input v-model:value="formState.name" />
</a-form-item>
<a-form-item ref="code" label="标识" name="code">
<a-input v-model:value="formState.code" />
</a-form-item>
<a-form-item ref="sort" label="排序" name="sort">
<a-input-number v-model:value="formState.sort" />
</a-form-item>
<a-form-item label="状态" name="enable">
<a-switch v-model:checked="formState.enable" />
</a-form-item>
<a-form-item label="备注" name="remark">
<a-textarea v-model:value="formState.remark" />
</a-form-item>
</a-form>
</a-modal>
</template>
<script>
import { message } from "@hwork/ant-design-vue";
import { message } from '@hwork/ant-design-vue';
import { save } from "@/api/module/role";
import { defineComponent, reactive, ref, toRaw } from "vue";
export default defineComponent({
@ -55,36 +44,41 @@ export default defineComponent({
},
emit: ["close"],
setup(props, context) {
const formRef = ref();
const formRef = ref();
const formState = reactive({
sort: 0,
enable: "true",
});
const formRules = {
name: [{ required: true, message: "请输入名称", trigger: "blur" }],
code: [{ required: true, message: "请输入标识", trigger: "blur" }],
name: [
{ required: true, message: '请输入名称', trigger: 'blur'},
],
code: [
{ required: true, message: '请输入标识', trigger: 'blur'},
]
};
const submit = (e) => {
formRef.value
.validate()
.then(() => {
save(toRaw(formState)).then((response) => {
if (response.success) {
message.success({ content: "保存成功", duration: 1 }).then(() => {
cancel();
});
} else {
message.success({ content: "保存失败", duration: 1 }).then(() => {
cancel();
});
}
save(toRaw(formState)).then((response)=>{
if(response.success){
message.success({ content: '保存成功', duration: 1 }).then(()=>{
cancel();
});
}else{
message.success({ content: '保存失败', duration: 1 }).then(()=>{
cancel();
});
}
});
})
.catch((error) => {
console.log("error", error);
.catch(error => {
console.log('error', error);
});
};
@ -99,10 +93,10 @@ export default defineComponent({
formRef,
formState,
formRules,
labelCol: { span: 6 },
wrapperCol: { span: 18 },
};
},
});
</script>
</script>

View File

@ -11,25 +11,19 @@
ref="formRef"
:model="formState"
:rules="formRules"
layout="vertical"
>
<a-row :gutter="[16, 0]">
<a-col :span="24">
<a-form-item ref="name" label="名称" name="name">
<a-input v-model:value="formState.name" />
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="备注" name="describe">
<a-textarea v-model:value="formState.describe" />
</a-form-item>
</a-col>
</a-row>
:label-col="labelCol"
:wrapper-col="wrapperCol">
<a-form-item ref="name" label="名称" name="name">
<a-input v-model:value="formState.name" />
</a-form-item>
<a-form-item label="备注" name="describe">
<a-textarea v-model:value="formState.describe" />
</a-form-item>
</a-form>
</a-modal>
</template>
<script>
import { message } from "@hwork/ant-design-vue";
import { message } from '@hwork/ant-design-vue';
import { edit } from "@/api/module/tenant";
import { defineComponent, reactive, ref, toRaw, watch } from "vue";
@ -41,26 +35,25 @@ export default defineComponent({
},
record: {
type: Object,
},
}
},
emit: ["close"],
setup(props, context) {
const formRef = ref();
const formRef = ref();
let formState = reactive({});
const formRules = {
name: [{ required: true, message: "请输入租户名称", trigger: "blur" }],
describe: [
{ required: true, message: "请输入租户描述", trigger: "blur" },
],
describe: [{ required: true, message: "请输入租户描述", trigger: "blur" }],
};
watch(props, (props) => {
formState.id = props.record.id;
formState.name = props.record.name;
formState.describe = props.record.describe;
});
watch(props,(props) => {
formState.id = props.record.id
formState.name = props.record.name
formState.describe = props.record.describe
})
const submit = (e) => {
message.loading({
@ -72,25 +65,21 @@ export default defineComponent({
.then(() => {
edit(toRaw(formState)).then((response) => {
if (response.success) {
message
.success({
content: "保存成功",
key,
duration: 1,
})
.then(() => {
cancel();
});
message.success({
content: "保存成功",
key,
duration: 1,
}).then(()=>{
cancel();
});
} else {
message
.error({
content: "保存失败",
key,
duration: 1,
})
.then(() => {
cancel();
});
message.error({
content: "保存失败",
key,
duration: 1,
}).then(()=>{
cancel();
});
}
});
})
@ -110,10 +99,10 @@ export default defineComponent({
formRef,
formState,
formRules,
labelCol: { span: 6 },
wrapperCol: { span: 18 },
};
},
});
</script>
</script>

View File

@ -1,19 +1,21 @@
<template>
<a-drawer :open="visible" title="权限配置">
<a-tree
style="padding: 0 6px"
checkable
checkStrictly
show-line="true"
:tree-data="state.powers"
:replace-fields="state.powerReplaceFields"
v-model:checkedKeys="state.checkedPowerIds"
/>
<template #footer>
<a-button @click="cancel"></a-button>
<a-button type="primary" @click="submit"></a-button>
</template>
</a-drawer>
<a-modal
:open="visible"
title="权限配置"
cancelText="取消"
okText="保存"
@ok="submit"
@cancel="cancel"
>
<a-tree
checkable
checkStrictly
show-line="true"
:tree-data="state.powers"
:replace-fields="state.powerReplaceFields"
v-model:checkedKeys="state.checkedPowerIds"
/>
</a-modal>
</template>
<script>
import { message } from "@hwork/ant-design-vue";
@ -31,9 +33,10 @@ export default defineComponent({
},
emit: ["close"],
setup(props, context) {
const state = reactive({
powers: [],
checkedPowerIds: { checked: [] },
checkedPowerIds: {checked:[]},
powerReplaceFields: { key: "id" },
});
@ -56,22 +59,21 @@ export default defineComponent({
loadPower();
const submit = (e) => {
give({
give({
tenantId: props.record.id,
powerIds: state.checkedPowerIds.checked
? state.checkedPowerIds.checked
: state.checkedPowerIds,
}).then((response) => {
if (response.success) {
message.success({ content: "保存成功", duration: 1 }).then(() => {
cancel();
});
} else {
message.error({ content: "保存失败", duration: 1 }).then(() => {
cancel();
});
powerIds: state.checkedPowerIds.checked?state.checkedPowerIds.checked:state.checkedPowerIds}).then(
(response) => {
if (response.success) {
message.success({ content: "保存成功", duration: 1 }).then(() => {
cancel();
});
} else {
message.error({ content: "保存失败", duration: 1 }).then(() => {
cancel();
});
}
}
});
);
};
const cancel = (e) => {
@ -85,4 +87,4 @@ export default defineComponent({
};
},
});
</script>
</script>

View File

@ -11,20 +11,14 @@
ref="formRef"
:model="formState"
:rules="formRules"
layout="vertical"
>
<a-row :gutter="[16, 0]">
<a-col :span="24">
<a-form-item ref="name" label="名称" name="name">
<a-input v-model:value="formState.name" />
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="备注" name="describe">
<a-textarea v-model:value="formState.describe" />
</a-form-item>
</a-col>
</a-row>
:label-col="labelCol"
:wrapper-col="wrapperCol">
<a-form-item ref="name" label="名称" name="name">
<a-input v-model:value="formState.name" />
</a-form-item>
<a-form-item label="备注" name="describe">
<a-textarea v-model:value="formState.describe" />
</a-form-item>
</a-form>
</a-modal>
</template>
@ -39,26 +33,25 @@ export default defineComponent({
},
record: {
type: Object,
},
}
},
emit: ["close"],
setup(props, context) {
const formRef = ref();
const formRef = ref();
let formState = reactive({});
const formRules = {
name: [{ required: true, message: "请输入租户名称", trigger: "blur" }],
describe: [
{ required: true, message: "请输入租户描述", trigger: "blur" },
],
describe: [{ required: true, message: "请输入租户描述", trigger: "blur" }],
};
watch(props, (props) => {
formState.id = props.record.id;
formState.name = props.record.name;
formState.describe = props.record.describe;
});
watch(props,(props) => {
formState.id = props.record.id
formState.name = props.record.name
formState.describe = props.record.describe
})
const submit = (e) => {
formRef.value.resetFields();
@ -76,10 +69,10 @@ export default defineComponent({
formRef,
formState,
formRules,
labelCol: { span: 6 },
wrapperCol: { span: 18 },
};
},
});
</script>
</script>

View File

@ -1,14 +1,18 @@
<template>
<a-drawer
<a-modal
:open="visible"
title="新增租户"
cancelText="取消"
okText="提交"
@ok="submit"
@cancel="cancel"
>
<a-form
ref="formRef"
:model="formState"
:rules="formRules"
layout="vertical"
style="padding: 0 6px"
:label-col="labelCol"
:wrapper-col="wrapperCol"
>
<a-tabs v-model:activeKey="state.active">
<a-tab-pane key="0" tab="租户信息">
@ -39,11 +43,7 @@
</a-tab-pane>
</a-tabs>
</a-form>
<template #footer>
<a-button @click="cancel"></a-button>
<a-button type="primary" @click="submit"></a-button>
</template>
</a-drawer>
</a-modal>
</template>
<script>
import { message } from "@hwork/ant-design-vue";

View File

@ -1,89 +1,64 @@
<template>
<a-modal
:open="visible"
title="修改用户"
title="新增用户"
cancelText="取消"
okText="提交"
@ok="submit"
@cancel="cancel"
>
<a-form
ref="formRef"
ref="formRef"
:model="formState"
:rules="formRules"
layout="vertical"
>
<a-row :gutter="[16, 0]">
<a-col :span="12">
<a-form-item ref="nickname" label="昵称" name="nickname">
<a-input v-model:value="formState.nickname" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="username" label="账户" name="username">
<a-input v-model:value="formState.username" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="email" label="邮箱" name="email">
<a-input v-model:value="formState.email" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="phone" label="电话" name="phone">
<a-input v-model:value="formState.phone" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="性别" name="gender">
<a-radio-group v-model:value="formState.gender">
<a-radio value="0"></a-radio>
<a-radio value="1"></a-radio>
</a-radio-group>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="状态" name="enable">
<a-switch v-model:checked="formState.enable" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="岗位" name="postId">
<a-select v-model:value="formState.postId">
<a-select-option
:value="post.id"
v-bind:key="index"
v-for="(post, index) in state.posts"
>{{ post.name }}</a-select-option
>
</a-select>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="部门" name="deptId">
<a-tree-select
v-model:value="formState.deptId"
style="width: 100%"
:tree-data="state.depts"
placeholder="所属部门"
replace
tree-default-expand-all
:replaceFields="replaceFields"
>
</a-tree-select>
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="备注" name="remark">
<a-textarea v-model:value="formState.remark" />
</a-form-item>
</a-col>
</a-row>
:label-col="labelCol"
:wrapper-col="wrapperCol">
<a-form-item ref="nickname" label="昵称" name="nickname">
<a-input v-model:value="formState.nickname" />
</a-form-item>
<a-form-item ref="username" label="账户" name="username">
<a-input v-model:value="formState.username" />
</a-form-item>
<a-form-item ref="email" label="邮箱" name="email">
<a-input v-model:value="formState.email" />
</a-form-item>
<a-form-item ref="phone" label="电话" name="phone">
<a-input v-model:value="formState.phone" />
</a-form-item>
<a-form-item label="性别" name="gender">
<a-radio-group v-model:value="formState.gender">
<a-radio value="0"></a-radio>
<a-radio value="1"></a-radio>
</a-radio-group>
</a-form-item>
<a-form-item label="状态" name="enable">
<a-switch v-model:checked="formState.enable" />
</a-form-item>
<a-form-item label="岗位" name="postId">
<a-select v-model:value="formState.postId">
<a-select-option :value="post.id" v-bind:key="index" v-for="(post,index) in state.posts">{{post.name}}</a-select-option>
</a-select>
</a-form-item>
<a-form-item label="部门" name="deptId">
<a-tree-select
v-model:value="formState.deptId"
style="width: 100%"
:tree-data="state.depts"
placeholder="所属部门"
replace
tree-default-expand-all
:replaceFields="replaceFields"
>
</a-tree-select>
</a-form-item>
<a-form-item label="备注" name="remark">
<a-textarea v-model:value="formState.remark" />
</a-form-item>
</a-form>
</a-modal>
</template>
<script>
import { message } from "@hwork/ant-design-vue";
import { message } from '@hwork/ant-design-vue';
import { list } from "@/api/module/post";
import { edit } from "@/api/module/user";
import { tree } from "@/api/module/dept";
@ -95,63 +70,61 @@ export default defineComponent({
},
record: {
type: Object,
},
}
},
emit: ["close"],
setup(props, context) {
const formRef = ref();
const state = reactive({
const state = reactive({
posts: [],
depts: [],
});
depts: [],
})
const formState = reactive({
enable: true,
gender: "0",
gender: "0",
});
const formRules = {
username: [{ required: true, message: "请输入账户", trigger: "blur" }],
nickname: [{ required: true, message: "请输入昵称", trigger: "blur" }],
password: [{ required: true, message: "请输入密码", trigger: "blur" }],
email: [{ required: true, message: "请输入邮箱", trigger: "blur" }],
phone: [{ required: true, message: "请输入电话", trigger: "blur" }],
postId: [{ required: true, message: "请选择岗位", trigger: "blur" }],
deptId: [{ required: true, message: "请选择部门", trigger: "blur" }],
username: [ { required: true, message: '请输入账户', trigger: 'blur'} ],
nickname: [ { required: true, message: '请输入昵称', trigger: 'blur'} ],
password: [ { required: true, message: '请输入密码', trigger: 'blur'} ],
email: [ { required: true, message: '请输入邮箱', trigger: 'blur'} ],
phone: [ { required: true, message: '请输入电话', trigger: 'blur'} ],
postId: [ { required: true, message: '请选择岗位', trigger: 'blur'} ],
deptId: [ { required: true, message: '请选择部门', trigger: 'blur'} ],
};
const loadPost = () => {
list({}).then((response) => {
list({}).then((response)=>{
state.posts = response.data;
});
};
})
}
const loadTree = () => {
tree({}).then((response) => {
tree({}).then((response)=>{
state.depts = response.data;
});
};
})
}
const submit = (e) => {
formRef.value
.validate()
.then(() => {
edit(toRaw(formState)).then((response) => {
if (response.success) {
message.success({ content: "保存成功", duration: 1 }).then(() => {
cancel();
});
} else {
message.error({ content: "保存失败", duration: 1 }).then(() => {
cancel();
});
formRef.value.validate().then(() => {
edit(toRaw(formState)).then((response)=>{
if(response.success){
message.success({ content: '保存成功', duration: 1 }).then(()=>{
cancel();
});
}else{
message.error({ content: '保存失败', duration: 1 }).then(()=>{
cancel();
});
}
});
})
.catch((error) => {
console.log("error", error);
});
})
}).catch(error => {
console.log('error', error);
});
};
const cancel = (e) => {
@ -164,7 +137,7 @@ export default defineComponent({
///
loadTree();
watch(props, (props) => {
watch(props,(props) => {
formState.id = props.record.id;
formState.username = props.record.username;
formState.nickname = props.record.nickname;
@ -175,7 +148,7 @@ export default defineComponent({
formState.deptId = props.record.deptId;
formState.enable = props.record.enable;
formState.remark = props.record.remark;
});
})
return {
state,
@ -188,13 +161,8 @@ export default defineComponent({
labelCol: { span: 6 },
wrapperCol: { span: 18 },
replaceFields: {
children: "children",
title: "name",
key: "id",
value: "id",
},
replaceFields: {children:'children', title:'name', key:'id', value: 'id' }
};
},
});
</script>
</script>

View File

@ -8,77 +8,52 @@
@cancel="cancel"
>
<a-form
ref="formRef"
ref="formRef"
:model="formState"
:rules="formRules"
layout="vertical"
>
<a-row :gutter="[16, 0]">
<a-col :span="12">
<a-form-item ref="nickname" label="昵称" name="nickname">
<a-input v-model:value="formState.nickname" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="username" label="账户" name="username">
<a-input v-model:value="formState.username" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="email" label="邮箱" name="email">
<a-input v-model:value="formState.email" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="phone" label="电话" name="phone">
<a-input v-model:value="formState.phone" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="性别" name="gender">
<a-radio-group v-model:value="formState.gender">
<a-radio value="0"></a-radio>
<a-radio value="1"></a-radio>
</a-radio-group>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="状态" name="enable">
<a-switch v-model:checked="formState.enable" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="岗位" name="postId">
<a-select v-model:value="formState.postId">
<a-select-option
:value="post.id"
v-bind:key="index"
v-for="(post, index) in state.posts"
>{{ post.name }}</a-select-option
>
</a-select>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="部门" name="deptId">
<a-tree-select
v-model:value="formState.deptId"
style="width: 100%"
:tree-data="state.depts"
placeholder="所属部门"
replace
tree-default-expand-all
:replaceFields="replaceFields"
>
</a-tree-select>
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="备注" name="remark">
<a-textarea v-model:value="formState.remark" />
</a-form-item>
</a-col>
</a-row>
:label-col="labelCol"
:wrapper-col="wrapperCol">
<a-form-item ref="nickname" label="昵称" name="nickname">
<a-input v-model:value="formState.nickname" />
</a-form-item>
<a-form-item ref="username" label="账户" name="username">
<a-input v-model:value="formState.username" />
</a-form-item>
<a-form-item ref="email" label="邮箱" name="email">
<a-input v-model:value="formState.email" />
</a-form-item>
<a-form-item ref="phone" label="电话" name="phone">
<a-input v-model:value="formState.phone" />
</a-form-item>
<a-form-item label="性别" name="gender">
<a-radio-group v-model:value="formState.gender">
<a-radio value="0"></a-radio>
<a-radio value="1"></a-radio>
</a-radio-group>
</a-form-item>
<a-form-item label="状态" name="enable">
<a-switch v-model:checked="formState.enable" />
</a-form-item>
<a-form-item label="岗位" name="postId">
<a-select v-model:value="formState.postId">
<a-select-option :value="post.id" v-bind:key="index" v-for="(post,index) in state.posts">{{post.name}}</a-select-option>
</a-select>
</a-form-item>
<a-form-item label="部门" name="deptId">
<a-tree-select
v-model:value="formState.deptId"
style="width: 100%"
:tree-data="state.depts"
placeholder="所属部门"
replace
tree-default-expand-all
:replaceFields="replaceFields"
>
</a-tree-select>
</a-form-item>
<a-form-item label="备注" name="remark">
<a-textarea v-model:value="formState.remark" />
</a-form-item>
</a-form>
</a-modal>
</template>
@ -93,35 +68,36 @@ export default defineComponent({
},
record: {
type: Object,
},
}
},
emit: ["close"],
setup(props, context) {
const formRef = ref();
const state = reactive({
const state = reactive({
posts: [],
depts: [],
});
depts: [],
})
const formState = reactive({
enable: true,
gender: "0",
gender: "0",
});
const formRules = {};
const loadPost = () => {
list({}).then((response) => {
list({}).then((response)=>{
state.posts = response.data;
});
};
})
}
const loadTree = () => {
tree({}).then((response) => {
tree({}).then((response)=>{
state.depts = response.data;
});
};
})
}
const submit = (e) => {
formRef.value.resetFields();
@ -138,7 +114,7 @@ export default defineComponent({
///
loadTree();
watch(props, (props) => {
watch(props,(props) => {
formState.id = props.record.id;
formState.username = props.record.username;
formState.nickname = props.record.nickname;
@ -149,7 +125,7 @@ export default defineComponent({
formState.deptId = props.record.deptId;
formState.enable = props.record.enable;
formState.remark = props.record.remark;
});
})
return {
state,
@ -162,13 +138,8 @@ export default defineComponent({
labelCol: { span: 6 },
wrapperCol: { span: 18 },
replaceFields: {
children: "children",
title: "name",
key: "id",
value: "id",
},
replaceFields: {children:'children', title:'name', key:'id', value: 'id' }
};
},
});
</script>
</script>

View File

@ -8,91 +8,60 @@
@cancel="cancel"
>
<a-form
ref="formRef"
ref="formRef"
:model="formState"
:rules="formRules"
layout="vertical"
>
<a-row :gutter="[16, 0]">
<a-col :span="12">
<a-form-item ref="nickname" label="昵称" name="nickname">
<a-input v-model:value="formState.nickname" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="username" label="账户" name="username">
<a-input v-model:value="formState.username" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="password" label="密码" name="password">
<a-input v-model:value="formState.password" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="email" label="邮箱" name="email">
<a-input v-model:value="formState.email" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="phone" label="电话" name="phone">
<a-input v-model:value="formState.phone" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="岗位" name="postId">
<a-select v-model:value="formState.postId">
<a-select-option
:value="post.id"
v-bind:key="index"
v-for="(post, index) in state.posts"
>{{ post.name }}</a-select-option
>
</a-select>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="部门" name="deptId">
<a-tree-select
v-model:value="formState.deptId"
style="width: 100%"
:tree-data="state.depts"
placeholder="所属部门"
replace
tree-default-expand-all
:replaceFields="replaceFields"
>
</a-tree-select>
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="[16, 0]">
<a-col :span="12">
<a-form-item label="状态" name="enable">
<a-switch v-model:checked="formState.enable" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="性别" name="gender">
<a-radio-group v-model:value="formState.gender">
<a-radio value="0"></a-radio>
<a-radio value="1"></a-radio>
</a-radio-group>
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="备注" name="remark">
<a-textarea v-model:value="formState.remark" />
</a-form-item>
</a-col>
</a-row>
:label-col="labelCol"
:wrapper-col="wrapperCol">
<a-form-item ref="nickname" label="昵称" name="nickname">
<a-input v-model:value="formState.nickname" />
</a-form-item>
<a-form-item ref="username" label="账户" name="username">
<a-input v-model:value="formState.username" />
</a-form-item>
<a-form-item ref="password" label="密码" name="password">
<a-input v-model:value="formState.password" />
</a-form-item>
<a-form-item ref="email" label="邮箱" name="email">
<a-input v-model:value="formState.email" />
</a-form-item>
<a-form-item ref="phone" label="电话" name="phone">
<a-input v-model:value="formState.phone" />
</a-form-item>
<a-form-item label="性别" name="gender">
<a-radio-group v-model:value="formState.gender">
<a-radio value="0"></a-radio>
<a-radio value="1"></a-radio>
</a-radio-group>
</a-form-item>
<a-form-item label="状态" name="enable">
<a-switch v-model:checked="formState.enable" />
</a-form-item>
<a-form-item label="岗位" name="postId">
<a-select v-model:value="formState.postId">
<a-select-option :value="post.id" v-bind:key="index" v-for="(post,index) in state.posts">{{post.name}}</a-select-option>
</a-select>
</a-form-item>
<a-form-item label="部门" name="deptId">
<a-tree-select
v-model:value="formState.deptId"
style="width: 100%"
:tree-data="state.depts"
placeholder="所属部门"
replace
tree-default-expand-all
:replaceFields="replaceFields"
>
</a-tree-select>
</a-form-item>
<a-form-item label="备注" name="remark">
<a-textarea v-model:value="formState.remark" />
</a-form-item>
</a-form>
</a-modal>
</template>
<script>
import { message } from "@hwork/ant-design-vue";
import { message } from '@hwork/ant-design-vue';
import { list } from "@/api/module/post";
import { save } from "@/api/module/user";
import { tree } from "@/api/module/dept";
@ -105,60 +74,58 @@ export default defineComponent({
},
emit: ["close"],
setup(props, context) {
const formRef = ref();
const state = reactive({
const state = reactive({
posts: [],
depts: [],
});
depts: [],
})
const formState = reactive({
enable: true,
gender: "0",
gender: "0",
});
const formRules = {
username: [{ required: true, message: "请输入账户", trigger: "blur" }],
nickname: [{ required: true, message: "请输入昵称", trigger: "blur" }],
password: [{ required: true, message: "请输入密码", trigger: "blur" }],
email: [{ required: true, message: "请输入邮箱", trigger: "blur" }],
phone: [{ required: true, message: "请输入电话", trigger: "blur" }],
postId: [{ required: true, message: "请选择岗位", trigger: "blur" }],
deptId: [{ required: true, message: "请选择部门", trigger: "blur" }],
tenantId: [{ required: true, message: "请选择租户", trigger: "blur" }],
username: [ { required: true, message: '请输入账户', trigger: 'blur'} ],
nickname: [ { required: true, message: '请输入昵称', trigger: 'blur'} ],
password: [ { required: true, message: '请输入密码', trigger: 'blur'} ],
email: [ { required: true, message: '请输入邮箱', trigger: 'blur'} ],
phone: [ { required: true, message: '请输入电话', trigger: 'blur'} ],
postId: [ { required: true, message: '请选择岗位', trigger: 'blur'} ],
deptId: [ { required: true, message: '请选择部门', trigger: 'blur'} ],
tenantId: [ { required: true, message: '请选择租户', trigger: 'blur'} ]
};
const loadPost = () => {
list({}).then((response) => {
list({}).then((response)=>{
state.posts = response.data;
});
};
})
}
const loadTree = () => {
tree({}).then((response) => {
tree({}).then((response)=>{
state.depts = response.data;
});
};
})
}
const submit = (e) => {
formRef.value
.validate()
.then(() => {
save(toRaw(formState)).then((response) => {
if (response.success) {
message.success({ content: "保存成功", duration: 1 }).then(() => {
cancel();
});
} else {
message.error({ content: "保存失败", duration: 1 }).then(() => {
cancel();
});
formRef.value.validate().then(() => {
save(toRaw(formState)).then((response)=>{
if(response.success){
message.success({ content: '保存成功', duration: 1 }).then(()=>{
cancel();
});
}else{
message.error({ content: '保存失败', duration: 1 }).then(()=>{
cancel();
});
}
});
})
.catch((error) => {
console.log("error", error);
});
})
}).catch(error => {
console.log('error', error);
});
};
const cancel = (e) => {
@ -182,13 +149,8 @@ export default defineComponent({
labelCol: { span: 6 },
wrapperCol: { span: 18 },
replaceFields: {
children: "children",
title: "name",
key: "id",
value: "id",
},
replaceFields: {children:'children', title:'name', key:'id', value: 'id' }
};
},
});
</script>
</script>