Compare commits
No commits in common. "126586f6636d11a3c5068480b29593f9257f66eb" and "65b8f5d36806e9a3f22dc1edec1c718ba26196f8" have entirely different histories.
126586f663
...
65b8f5d368
|
|
@ -1,100 +1,63 @@
|
|||
<template>
|
||||
<a-modal
|
||||
:open="visible"
|
||||
title="新增配置信息"
|
||||
cancelText="取消"
|
||||
okText="提交"
|
||||
@ok="submit"
|
||||
@cancel="cancel"
|
||||
>
|
||||
<a-form
|
||||
ref="formRef"
|
||||
:model="formState"
|
||||
:rules="formRules"
|
||||
layout="vertical"
|
||||
>
|
||||
<a-row :gutter="[16, 0]">
|
||||
<a-col :span="24">
|
||||
<a-modal :open="visible" title="新增配置信息" cancelText="取消" okText="提交" @ok="submit" @cancel="cancel">
|
||||
<a-form ref="formRef" :model="formState" :rules="formRules" v-bind="formItemLayoutWithOutLabel"
|
||||
: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-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="collectionType"
|
||||
label="集合类型"
|
||||
name="collectionType"
|
||||
>
|
||||
<a-select
|
||||
v-model:value="formState.collectionType"
|
||||
:options="configCollectionType"
|
||||
@change="configCollectionTypeChanged"
|
||||
/>
|
||||
<a-form-item ref="collectionType" label="集合类型" name="collectionType">
|
||||
<a-select v-model:value="formState.collectionType" :options="configCollectionType"
|
||||
@change="configCollectionTypeChanged" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-item ref="valueType" label="值类型" name="valueType">
|
||||
<a-select
|
||||
v-model:value="formState.valueType"
|
||||
:options="configValueType"
|
||||
@change="valueTypeChanged"
|
||||
/>
|
||||
<a-select v-model:value="formState.valueType" :options="configValueType" @change="valueTypeChanged" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
<template v-if="formState.collectionType === 'Single'">
|
||||
<template v-if="formState.collectionType==='Single'">
|
||||
<p>Single</p>
|
||||
<!-- 单值-Interage:代表 数字框-->
|
||||
<!-- 单值-String:代表 文本框-->
|
||||
<!-- 单值-Bool:代表 开关-->
|
||||
<!-- 单值-日期:代表 时间选择器-->
|
||||
<template v-if="formState.valueType === 'STRING'">
|
||||
<template v-if="formState.valueType==='STRING'">
|
||||
<a-form-item ref="" label="值" name="value">
|
||||
<a-textarea v-model:value="formState.value" />
|
||||
</a-form-item>
|
||||
</template>
|
||||
<template v-else-if="formState.valueType === 'INT'">
|
||||
<template v-else-if="formState.valueType==='INT'">
|
||||
<a-form-item ref="" label="值" name="value">
|
||||
<a-input v-model:value="formState.value" />
|
||||
</a-form-item>
|
||||
</template>
|
||||
<template v-else-if="formState.valueType === 'BOOLEAN'">
|
||||
<template v-else-if="formState.valueType==='BOOLEAN'">
|
||||
<a-form-item ref="" label="值" name="value">
|
||||
<a-input v-model:value="formState.value" />
|
||||
</a-form-item>
|
||||
</template>
|
||||
<template v-else-if="formState.valueType === 'DATE'">
|
||||
<template v-else-if="formState.valueType==='DATE'">
|
||||
<a-form-item ref="" label="值" name="value">
|
||||
<a-input v-model:value="formState.value" />
|
||||
</a-form-item>
|
||||
</template>
|
||||
</template>
|
||||
|
||||
<template v-else-if="formState.collectionType === 'Map'">
|
||||
<template v-else-if="formState.collectionType==='Map'">
|
||||
<p>Map</p>
|
||||
<!-- 单值-Interage:代表 数字框 数字选择器-->
|
||||
<!-- 单值-String:代表 文本框 输入框-->
|
||||
<!-- 单值-Bool:代表 开关 -->
|
||||
<!-- 单值-日期:代表 时间选择器-->
|
||||
<template v-if="formState.valueType === 'INT'">
|
||||
<template v-if="formState.valueType==='INT'">
|
||||
<p>INT</p>
|
||||
<a-form-item
|
||||
v-for="(domain, index) in formState.domains"
|
||||
:key="domain.key"
|
||||
v-bind="index === 0 ? formItemLayout : {}"
|
||||
:label="index === 0 ? 'Domains' : 'Domains'"
|
||||
:name="['domains', index, 'value']"
|
||||
:rules="{
|
||||
<a-form-item v-for="(domain, index) in formState.domains" :key="domain.key"
|
||||
v-bind="index === 0 ? formItemLayout : {}" :label="index === 0 ? 'Domains' : 'Domains'"
|
||||
:name="['domains', index, 'value']" :rules="{
|
||||
required: true,
|
||||
message: 'domain can not be null',
|
||||
trigger: 'change',
|
||||
}"
|
||||
>
|
||||
}">
|
||||
<a-row>
|
||||
<a-col :span="6">
|
||||
<a-input v-model:value="domain.name" placeholder="name" />
|
||||
|
|
@ -116,21 +79,16 @@
|
|||
</a-row>
|
||||
</a-form-item>
|
||||
</template>
|
||||
<template v-else-if="formState.valueType === 'BOOLEAN'">
|
||||
<template v-else-if="formState.valueType==='BOOLEAN'">
|
||||
<p>BOOLEAN</p>
|
||||
<!-- <p>BOOLEAN {{formState.valueType}}</p> -->
|
||||
<a-form-item
|
||||
v-for="(domain, index) in formState.domains"
|
||||
:key="domain.key"
|
||||
v-bind="index === 0 ? formItemLayout : {}"
|
||||
:label="index === 0 ? 'Domains' : 'Domains'"
|
||||
:name="['domains', index, 'value']"
|
||||
:rules="{
|
||||
<a-form-item v-for="(domain, index) in formState.domains" :key="domain.key"
|
||||
v-bind="index === 0 ? formItemLayout : {}" :label="index === 0 ? 'Domains' : 'Domains'"
|
||||
:name="['domains', index, 'value']" :rules="{
|
||||
required: true,
|
||||
message: 'domain can not be null',
|
||||
trigger: 'change',
|
||||
}"
|
||||
>
|
||||
}">
|
||||
<a-row>
|
||||
<a-col :span="8">
|
||||
<a-input v-model:value="domain.name" placeholder="name" />
|
||||
|
|
@ -152,20 +110,15 @@
|
|||
</a-row>
|
||||
</a-form-item>
|
||||
</template>
|
||||
<template v-else-if="formState.valueType === 'DATE'">
|
||||
<template v-else-if="formState.valueType==='DATE'">
|
||||
<p>DATE</p>
|
||||
<a-form-item
|
||||
v-for="(domain, index) in formState.domains"
|
||||
:key="domain.key"
|
||||
v-bind="index === 0 ? formItemLayout : {}"
|
||||
:label="index === 0 ? 'Domains' : 'Domains'"
|
||||
:name="['domains', index, 'value']"
|
||||
:rules="{
|
||||
<a-form-item v-for="(domain, index) in formState.domains" :key="domain.key"
|
||||
v-bind="index === 0 ? formItemLayout : {}" :label="index === 0 ? 'Domains' : 'Domains'"
|
||||
:name="['domains', index, 'value']" :rules="{
|
||||
required: true,
|
||||
message: 'domain can not be null',
|
||||
trigger: 'change',
|
||||
}"
|
||||
>
|
||||
}">
|
||||
<a-row>
|
||||
<a-col :span="8">
|
||||
<a-input v-model:value="domain.name" placeholder="name" />
|
||||
|
|
@ -189,18 +142,13 @@
|
|||
</template>
|
||||
<template v-else>
|
||||
<p>STRING</p>
|
||||
<a-form-item
|
||||
v-for="(domain, index) in formState.domains"
|
||||
:key="domain.key"
|
||||
v-bind="index === 0 ? formItemLayout : {}"
|
||||
:label="index === 0 ? 'Domains' : 'Domains'"
|
||||
:name="['domains', index, 'value']"
|
||||
:rules="{
|
||||
<a-form-item v-for="(domain, index) in formState.domains" :key="domain.key"
|
||||
v-bind="index === 0 ? formItemLayout : {}" :label="index === 0 ? 'Domains' : 'Domains'"
|
||||
:name="['domains', index, 'value']" :rules="{
|
||||
required: true,
|
||||
message: 'domain can not be null',
|
||||
trigger: 'change',
|
||||
}"
|
||||
>
|
||||
}">
|
||||
<a-row>
|
||||
<a-col :span="8">
|
||||
<a-input v-model:value="domain.name" placeholder="name" />
|
||||
|
|
@ -223,26 +171,21 @@
|
|||
</a-form-item>
|
||||
</template>
|
||||
</template>
|
||||
<template v-else-if="formState.collectionType === 'List'">
|
||||
<template v-else-if="formState.collectionType==='List'">
|
||||
<p>List</p>
|
||||
<!-- 单值-Interage:代表 数字框-->
|
||||
<!-- 单值-String:代表 文本框-->
|
||||
<!-- 单值-Bool:代表 开关-->
|
||||
<!-- 单值-日期:代表 时间选择器-->
|
||||
<template v-if="formState.valueType === 'STRING'">
|
||||
<template v-if="formState.valueType==='STRING'">
|
||||
<p>STRING</p>
|
||||
<a-form-item
|
||||
v-for="(domain, index) in formState.domains"
|
||||
:key="domain.key"
|
||||
v-bind="index === 0 ? formItemLayout : {}"
|
||||
:label="index === 0 ? 'Domains' : 'Domains'"
|
||||
:name="['domains', index, 'value']"
|
||||
:rules="{
|
||||
<a-form-item v-for="(domain, index) in formState.domains" :key="domain.key"
|
||||
v-bind="index === 0 ? formItemLayout : {}" :label="index === 0 ? 'Domains' : 'Domains'"
|
||||
:name="['domains', index, 'value']" :rules="{
|
||||
required: true,
|
||||
message: 'domain can not be null',
|
||||
trigger: 'change',
|
||||
}"
|
||||
>
|
||||
}">
|
||||
<a-row>
|
||||
<a-col :span="8">
|
||||
<a-input v-model:value="domain.name" placeholder="name" />
|
||||
|
|
@ -264,20 +207,15 @@
|
|||
</a-row>
|
||||
</a-form-item>
|
||||
</template>
|
||||
<template v-else-if="formState.valueType === 'INT'">
|
||||
<template v-else-if="formState.valueType==='INT'">
|
||||
<p>INT</p>
|
||||
<a-form-item
|
||||
v-for="(domain, index) in formState.domains"
|
||||
:key="domain.key"
|
||||
v-bind="index === 0 ? formItemLayout : {}"
|
||||
:label="index === 0 ? 'Domains' : 'Domains'"
|
||||
:name="['domains', index, 'value']"
|
||||
:rules="{
|
||||
<a-form-item v-for="(domain, index) in formState.domains" :key="domain.key"
|
||||
v-bind="index === 0 ? formItemLayout : {}" :label="index === 0 ? 'Domains' : 'Domains'"
|
||||
:name="['domains', index, 'value']" :rules="{
|
||||
required: true,
|
||||
message: 'domain can not be null',
|
||||
trigger: 'change',
|
||||
}"
|
||||
>
|
||||
}">
|
||||
<a-row>
|
||||
<a-col :span="8">
|
||||
<a-input v-model:value="domain.name" placeholder="name" />
|
||||
|
|
@ -300,20 +238,15 @@
|
|||
</a-form-item>
|
||||
</template>
|
||||
|
||||
<template v-else-if="formState.valueType === 'BOOLEAN'">
|
||||
<template v-else-if="formState.valueType==='BOOLEAN'">
|
||||
<p>BOOLEAN</p>
|
||||
<a-form-item
|
||||
v-for="(domain, index) in formState.domains"
|
||||
:key="domain.key"
|
||||
v-bind="index === 0 ? formItemLayout : {}"
|
||||
:label="index === 0 ? 'Domains' : 'Domains'"
|
||||
:name="['domains', index, 'value']"
|
||||
:rules="{
|
||||
<a-form-item v-for="(domain, index) in formState.domains" :key="domain.key"
|
||||
v-bind="index === 0 ? formItemLayout : {}" :label="index === 0 ? 'Domains' : 'Domains'"
|
||||
:name="['domains', index, 'value']" :rules="{
|
||||
required: true,
|
||||
message: 'domain can not be null',
|
||||
trigger: 'change',
|
||||
}"
|
||||
>
|
||||
}">
|
||||
<a-row>
|
||||
<a-col :span="8">
|
||||
<a-input v-model:value="domain.name" placeholder="name" />
|
||||
|
|
@ -335,20 +268,15 @@
|
|||
</a-row>
|
||||
</a-form-item>
|
||||
</template>
|
||||
<template v-else-if="formState.valueType === 'DATE'">
|
||||
<template v-else-if="formState.valueType==='DATE'">
|
||||
<p>DATE</p>
|
||||
<a-form-item
|
||||
v-for="(domain, index) in formState.domains"
|
||||
:key="domain.key"
|
||||
v-bind="index === 0 ? formItemLayout : {}"
|
||||
:label="index === 0 ? 'Domains' : 'Domains'"
|
||||
:name="['domains', index, 'value']"
|
||||
:rules="{
|
||||
<a-form-item v-for="(domain, index) in formState.domains" :key="domain.key"
|
||||
v-bind="index === 0 ? formItemLayout : {}" :label="index === 0 ? 'Domains' : 'Domains'"
|
||||
:name="['domains', index, 'value']" :rules="{
|
||||
required: true,
|
||||
message: 'domain can not be null',
|
||||
trigger: 'change',
|
||||
}"
|
||||
>
|
||||
}">
|
||||
<a-row>
|
||||
<a-col :span="8">
|
||||
<a-input v-model:value="domain.name" placeholder="name" />
|
||||
|
|
@ -370,6 +298,7 @@
|
|||
</a-row>
|
||||
</a-form-item>
|
||||
</template>
|
||||
|
||||
</template>
|
||||
<template v-else>
|
||||
<!-- 单值-Interage:代表 数字框-->
|
||||
|
|
@ -407,25 +336,35 @@
|
|||
</a-row>
|
||||
</a-form-item> -->
|
||||
|
||||
|
||||
<!-- <a-form-item label="状态" name="enable">
|
||||
<a-switch v-model:checked="formState.enable" />
|
||||
</a-form-item> -->
|
||||
<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>
|
||||
</a-modal>
|
||||
</template>
|
||||
<script>
|
||||
import { message } from "@hwork/ant-design-vue";
|
||||
import { addConfig } from "@/api/module/config";
|
||||
import { defineComponent, reactive, ref, toRaw } from "vue";
|
||||
import { MinusCircleOutlined, PlusOutlined } from "@ant-design/icons-vue";
|
||||
import {
|
||||
message
|
||||
} from '@hwork/ant-design-vue';
|
||||
import {
|
||||
addConfig
|
||||
} from "@/api/module/config";
|
||||
import {
|
||||
defineComponent,
|
||||
reactive,
|
||||
ref,
|
||||
toRaw
|
||||
} from "vue";
|
||||
import {
|
||||
MinusCircleOutlined,
|
||||
PlusOutlined
|
||||
} from '@ant-design/icons-vue';
|
||||
|
||||
export default defineComponent({
|
||||
export default defineComponent({
|
||||
props: {
|
||||
visible: {
|
||||
type: Boolean,
|
||||
|
|
@ -433,6 +372,7 @@ export default defineComponent({
|
|||
},
|
||||
emit: ["close"],
|
||||
setup(props, context) {
|
||||
|
||||
const formRef = ref();
|
||||
|
||||
const formState = reactive({
|
||||
|
|
@ -442,34 +382,26 @@ export default defineComponent({
|
|||
});
|
||||
|
||||
const formRules = {
|
||||
name: [
|
||||
{
|
||||
name: [{
|
||||
required: true,
|
||||
message: "请输入名称",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
code: [
|
||||
{
|
||||
message: '请输入名称',
|
||||
trigger: 'blur'
|
||||
}, ],
|
||||
code: [{
|
||||
required: true,
|
||||
message: "请输入键",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
valueType: [
|
||||
{
|
||||
message: '请输入键',
|
||||
trigger: 'blur'
|
||||
}, ],
|
||||
valueType: [{
|
||||
required: true,
|
||||
message: "请选择值类型",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
collectionType: [
|
||||
{
|
||||
message: '请选择值类型',
|
||||
trigger: 'blur'
|
||||
}, ],
|
||||
collectionType: [{
|
||||
required: true,
|
||||
message: "请选择集合类型",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
message: '请选择集合类型',
|
||||
trigger: 'blur'
|
||||
}, ]
|
||||
};
|
||||
const formItemLayout = {
|
||||
labelCol: {
|
||||
|
|
@ -502,25 +434,20 @@ export default defineComponent({
|
|||
},
|
||||
};
|
||||
|
||||
const removeDomain = (item) => {
|
||||
const removeDomain = item => {
|
||||
let index = formState.domains.indexOf(item);
|
||||
if (index !== -1) {
|
||||
formState.domains.splice(index, 1);
|
||||
}
|
||||
};
|
||||
|
||||
const configCollectionTypeChanged = function (e) {
|
||||
formState.domain = [];
|
||||
};
|
||||
const valueTypeChanged = function (e) {
|
||||
formState.domain = [];
|
||||
if (
|
||||
formState.collectionType === "" ||
|
||||
formState.collectionType === undefined
|
||||
)
|
||||
return;
|
||||
if (formState.valueType === "" || formState.valueType === undefined)
|
||||
return;
|
||||
const configCollectionTypeChanged = function(e) {
|
||||
formState.domain = []
|
||||
}
|
||||
const valueTypeChanged = function(e) {
|
||||
formState.domain = []
|
||||
if (formState.collectionType === "" || formState.collectionType === undefined) return;
|
||||
if (formState.valueType === "" || formState.valueType === undefined) return;
|
||||
// switch(formState.collectionType){
|
||||
// case "Single": break;
|
||||
// case "Map":
|
||||
|
|
@ -537,84 +464,78 @@ export default defineComponent({
|
|||
// case "List":break;
|
||||
// default:break;
|
||||
// }
|
||||
if (formState.domains) console.log("valueTypeChanged", e);
|
||||
console.log("valueTypeChanged", e.value);
|
||||
};
|
||||
if (formState.domains)
|
||||
console.log("valueTypeChanged", e)
|
||||
console.log("valueTypeChanged", e.value)
|
||||
}
|
||||
|
||||
const addDomain = () => {
|
||||
|
||||
formState.domains.push({
|
||||
value: "",
|
||||
name: "",
|
||||
value: '',
|
||||
name: '',
|
||||
key: Date.now(),
|
||||
});
|
||||
};
|
||||
|
||||
const configValueType = ref([
|
||||
{
|
||||
value: "STRING",
|
||||
label: "字符串类型",
|
||||
const configValueType = ref([{
|
||||
value: 'STRING',
|
||||
label: '字符串类型',
|
||||
}, {
|
||||
value: 'BOOLEAN',
|
||||
label: 'boolean类型',
|
||||
},
|
||||
{
|
||||
value: "BOOLEAN",
|
||||
label: "boolean类型",
|
||||
value: 'INT',
|
||||
label: 'Int数据类型',
|
||||
},
|
||||
{
|
||||
value: "INT",
|
||||
label: "Int数据类型",
|
||||
},
|
||||
{
|
||||
value: "DATE",
|
||||
label: "日期类型",
|
||||
value: 'DATE',
|
||||
label: '日期类型',
|
||||
},
|
||||
]);
|
||||
|
||||
const configCollectionType = ref([
|
||||
{
|
||||
value: "Single",
|
||||
label: "单个值对象",
|
||||
const configCollectionType = ref([{
|
||||
value: 'Single',
|
||||
label: '单个值对象',
|
||||
}, {
|
||||
value: 'Map',
|
||||
label: 'Map数据字典',
|
||||
},
|
||||
{
|
||||
value: "Map",
|
||||
label: "Map数据字典",
|
||||
},
|
||||
{
|
||||
value: "List",
|
||||
label: "list集合",
|
||||
},
|
||||
value: 'List',
|
||||
label: 'list集合',
|
||||
}
|
||||
]);
|
||||
|
||||
const key = "addConfig";
|
||||
const submit = (e) => {
|
||||
console.log("提交", e);
|
||||
console.log("提交", e)
|
||||
let row = toRaw(formState);
|
||||
console.log("提交的数据", row);
|
||||
console.log("提交的数据", row)
|
||||
formRef.value
|
||||
.validate()
|
||||
.then(() => {
|
||||
addConfig(toRaw(formState)).then((response) => {
|
||||
if (response.success) {
|
||||
message
|
||||
.success({
|
||||
content: "保存成功",
|
||||
duration: 1,
|
||||
})
|
||||
.then(() => {
|
||||
message.success({
|
||||
content: '保存成功',
|
||||
duration: 1
|
||||
}).then(() => {
|
||||
cancel();
|
||||
});
|
||||
} else {
|
||||
message
|
||||
.success({
|
||||
content: "保存失败",
|
||||
duration: 1,
|
||||
})
|
||||
.then(() => {
|
||||
message.success({
|
||||
content: '保存失败',
|
||||
duration: 1
|
||||
}).then(() => {
|
||||
cancel();
|
||||
});
|
||||
}
|
||||
});
|
||||
})
|
||||
.catch((error) => {
|
||||
console.log("error", error);
|
||||
.catch(error => {
|
||||
console.log('error', error);
|
||||
});
|
||||
};
|
||||
|
||||
|
|
@ -623,6 +544,8 @@ export default defineComponent({
|
|||
context.emit("close", false);
|
||||
};
|
||||
|
||||
|
||||
|
||||
return {
|
||||
submit,
|
||||
cancel,
|
||||
|
|
@ -637,32 +560,33 @@ export default defineComponent({
|
|||
formItemLayoutWithOutLabel,
|
||||
configCollectionTypeChanged,
|
||||
labelCol: {
|
||||
span: 8,
|
||||
span: 8
|
||||
},
|
||||
wrapperCol: {
|
||||
span: 12,
|
||||
span: 12
|
||||
},
|
||||
};
|
||||
|
||||
},
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.dynamic-delete-button {
|
||||
.dynamic-delete-button {
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
top: 4px;
|
||||
font-size: 24px;
|
||||
color: #999;
|
||||
transition: all 0.3s;
|
||||
}
|
||||
}
|
||||
|
||||
.dynamic-delete-button:hover {
|
||||
.dynamic-delete-button:hover {
|
||||
color: #777;
|
||||
}
|
||||
}
|
||||
|
||||
.dynamic-delete-button[disabled] {
|
||||
.dynamic-delete-button[disabled] {
|
||||
cursor: not-allowed;
|
||||
opacity: 0.5;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -11,40 +11,28 @@
|
|||
ref="formRef"
|
||||
:model="formState"
|
||||
:rules="formRules"
|
||||
layout="vertical"
|
||||
>
|
||||
<a-row :gutter="[16, 0]">
|
||||
<a-col :span="24">
|
||||
: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-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>
|
||||
</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();
|
||||
|
||||
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,23 +78,19 @@ export default defineComponent({
|
|||
.then(() => {
|
||||
edit(toRaw(formState)).then((response) => {
|
||||
if (response.success) {
|
||||
message
|
||||
.success({
|
||||
message.success({
|
||||
content: "保存成功",
|
||||
key,
|
||||
duration: 1,
|
||||
})
|
||||
.then(() => {
|
||||
}).then(()=>{
|
||||
cancel();
|
||||
});
|
||||
} else {
|
||||
message
|
||||
.error({
|
||||
message.error({
|
||||
content: "保存失败",
|
||||
key,
|
||||
duration: 1,
|
||||
})
|
||||
.then(() => {
|
||||
}).then(()=>{
|
||||
cancel();
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,35 +11,23 @@
|
|||
ref="formRef"
|
||||
:model="formState"
|
||||
:rules="formRules"
|
||||
layout="vertical"
|
||||
>
|
||||
<a-row :gutter="[16, 0]">
|
||||
<a-col :span="24">
|
||||
: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-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>
|
||||
</a-form>
|
||||
</a-modal>
|
||||
</template>
|
||||
|
|
@ -54,28 +42,29 @@ export default defineComponent({
|
|||
},
|
||||
record: {
|
||||
type: Object,
|
||||
},
|
||||
}
|
||||
},
|
||||
emit: ["close"],
|
||||
setup(props, context) {
|
||||
|
||||
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();
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
</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,23 +68,19 @@ export default defineComponent({
|
|||
.then(() => {
|
||||
save(toRaw(formState)).then((response) => {
|
||||
if (response.success) {
|
||||
message
|
||||
.success({
|
||||
message.success({
|
||||
content: "保存成功",
|
||||
key,
|
||||
duration: 1,
|
||||
})
|
||||
.then(() => {
|
||||
}).then(()=>{
|
||||
cancel();
|
||||
});
|
||||
} else {
|
||||
message
|
||||
.error({
|
||||
message.error({
|
||||
content: response.msg,
|
||||
key,
|
||||
duration: 1,
|
||||
})
|
||||
.then(() => {
|
||||
}).then(()=>{
|
||||
cancel();
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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,37 +27,26 @@
|
|||
>
|
||||
</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-input-number 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 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-col>
|
||||
</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,13 +56,14 @@ export default defineComponent({
|
|||
},
|
||||
record: {
|
||||
type: Object,
|
||||
},
|
||||
}
|
||||
},
|
||||
emit: ["close"],
|
||||
setup(props, context) {
|
||||
|
||||
const state = reactive({
|
||||
depts: [],
|
||||
});
|
||||
})
|
||||
|
||||
const formRef = ref();
|
||||
|
||||
|
|
@ -82,42 +72,40 @@ export default defineComponent({
|
|||
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(() => {
|
||||
edit(toRaw(formState)).then((response)=>{
|
||||
if(response.success){
|
||||
message.success({ content: '保存成功', duration: 1 }).then(()=>{
|
||||
cancel();
|
||||
});
|
||||
} else {
|
||||
message.success({ content: "保存失败", duration: 1 }).then(() => {
|
||||
}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();
|
||||
|
|
@ -146,12 +134,7 @@ 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' }
|
||||
};
|
||||
},
|
||||
});
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -11,10 +11,9 @@
|
|||
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"
|
||||
|
|
@ -27,41 +26,26 @@
|
|||
>
|
||||
</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-input-number 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 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-col>
|
||||
</a-row>
|
||||
</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,9 +56,10 @@ export default defineComponent({
|
|||
},
|
||||
emit: ["close"],
|
||||
setup(props, context) {
|
||||
|
||||
const state = reactive({
|
||||
depts: [],
|
||||
});
|
||||
})
|
||||
|
||||
const formRef = ref();
|
||||
|
||||
|
|
@ -84,31 +69,29 @@ export default defineComponent({
|
|||
});
|
||||
|
||||
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(() => {
|
||||
save(toRaw(formState)).then((response)=>{
|
||||
if(response.success){
|
||||
message.success({ content: '保存成功', duration: 1 }).then(()=>{
|
||||
cancel();
|
||||
});
|
||||
} else {
|
||||
message.success({ content: "保存失败", duration: 1 }).then(() => {
|
||||
}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();
|
||||
|
|
@ -137,12 +120,7 @@ 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' }
|
||||
};
|
||||
},
|
||||
});
|
||||
|
|
|
|||
|
|
@ -11,40 +11,29 @@
|
|||
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-input-number 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>
|
||||
</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 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,6 +96,7 @@ export default defineComponent({
|
|||
};
|
||||
|
||||
return {
|
||||
|
||||
submit,
|
||||
cancel,
|
||||
formRef,
|
||||
|
|
|
|||
|
|
@ -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="sort" label="标识" name="sort">
|
||||
<a-input-number style="width: 100%" v-model:value="formState.sort" />
|
||||
<a-input-number 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>
|
||||
</a-modal>
|
||||
</template>
|
||||
|
|
@ -52,22 +41,23 @@ export default defineComponent({
|
|||
},
|
||||
record: {
|
||||
type: Object,
|
||||
},
|
||||
}
|
||||
},
|
||||
emit: ["close"],
|
||||
setup(props, context) {
|
||||
|
||||
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,6 +72,7 @@ export default defineComponent({
|
|||
};
|
||||
|
||||
return {
|
||||
|
||||
submit,
|
||||
cancel,
|
||||
formRef,
|
||||
|
|
|
|||
|
|
@ -11,40 +11,29 @@
|
|||
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-input-number 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>
|
||||
</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,6 +44,7 @@ export default defineComponent({
|
|||
},
|
||||
emit: ["close"],
|
||||
setup(props, context) {
|
||||
|
||||
const formRef = ref();
|
||||
|
||||
const formState = reactive({
|
||||
|
|
@ -63,35 +53,31 @@ export default defineComponent({
|
|||
});
|
||||
|
||||
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);
|
||||
});
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -11,40 +11,29 @@
|
|||
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-input-number 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>
|
||||
</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 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(() => {
|
||||
edit(toRaw(formState)).then((response)=>{
|
||||
if(response.success){
|
||||
message.success({ content: '保存成功', duration: 1 }).then(()=>{
|
||||
cancel();
|
||||
});
|
||||
} else {
|
||||
message.success({ content: "保存失败", duration: 1 }).then(() => {
|
||||
}else{
|
||||
message.success({ content: '保存失败', duration: 1 }).then(()=>{
|
||||
cancel();
|
||||
});
|
||||
}
|
||||
});
|
||||
})
|
||||
.catch((error) => {
|
||||
console.log("error", error);
|
||||
.catch(error => {
|
||||
console.log('error', error);
|
||||
});
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
});
|
||||
|
||||
|
|
@ -118,13 +120,9 @@ export default defineComponent({
|
|||
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) => {
|
||||
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();
|
||||
|
|
@ -134,7 +132,8 @@ export default defineComponent({
|
|||
cancel();
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
const cancel = (e) => {
|
||||
|
|
@ -146,7 +145,7 @@ export default defineComponent({
|
|||
state,
|
||||
submit,
|
||||
cancel,
|
||||
SHOW_PARENT,
|
||||
SHOW_PARENT
|
||||
};
|
||||
},
|
||||
});
|
||||
|
|
|
|||
|
|
@ -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="sort" label="排序" name="sort">
|
||||
<a-input-number style="width: 100%" v-model:value="formState.sort" />
|
||||
<a-input-number 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>
|
||||
</a-modal>
|
||||
</template>
|
||||
|
|
@ -52,24 +41,25 @@ export default defineComponent({
|
|||
},
|
||||
record: {
|
||||
type: Object,
|
||||
},
|
||||
}
|
||||
},
|
||||
emit: ["close"],
|
||||
setup(props, context) {
|
||||
|
||||
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();
|
||||
|
|
|
|||
|
|
@ -11,40 +11,29 @@
|
|||
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-input-number 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>
|
||||
</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,6 +44,7 @@ export default defineComponent({
|
|||
},
|
||||
emit: ["close"],
|
||||
setup(props, context) {
|
||||
|
||||
const formRef = ref();
|
||||
|
||||
const formState = reactive({
|
||||
|
|
@ -63,28 +53,32 @@ export default defineComponent({
|
|||
});
|
||||
|
||||
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(() => {
|
||||
save(toRaw(formState)).then((response)=>{
|
||||
if(response.success){
|
||||
message.success({ content: '保存成功', duration: 1 }).then(()=>{
|
||||
cancel();
|
||||
});
|
||||
} else {
|
||||
message.success({ content: "保存失败", duration: 1 }).then(() => {
|
||||
}else{
|
||||
message.success({ content: '保存失败', duration: 1 }).then(()=>{
|
||||
cancel();
|
||||
});
|
||||
}
|
||||
});
|
||||
})
|
||||
.catch((error) => {
|
||||
console.log("error", error);
|
||||
.catch(error => {
|
||||
console.log('error', error);
|
||||
});
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -11,25 +11,19 @@
|
|||
ref="formRef"
|
||||
:model="formState"
|
||||
:rules="formRules"
|
||||
layout="vertical"
|
||||
>
|
||||
<a-row :gutter="[16, 0]">
|
||||
<a-col :span="24">
|
||||
: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-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>
|
||||
</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();
|
||||
|
||||
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,23 +65,19 @@ export default defineComponent({
|
|||
.then(() => {
|
||||
edit(toRaw(formState)).then((response) => {
|
||||
if (response.success) {
|
||||
message
|
||||
.success({
|
||||
message.success({
|
||||
content: "保存成功",
|
||||
key,
|
||||
duration: 1,
|
||||
})
|
||||
.then(() => {
|
||||
}).then(()=>{
|
||||
cancel();
|
||||
});
|
||||
} else {
|
||||
message
|
||||
.error({
|
||||
message.error({
|
||||
content: "保存失败",
|
||||
key,
|
||||
duration: 1,
|
||||
})
|
||||
.then(() => {
|
||||
}).then(()=>{
|
||||
cancel();
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,13 @@
|
|||
<template>
|
||||
<a-drawer :open="visible" title="权限配置">
|
||||
<a-modal
|
||||
:open="visible"
|
||||
title="权限配置"
|
||||
cancelText="取消"
|
||||
okText="保存"
|
||||
@ok="submit"
|
||||
@cancel="cancel"
|
||||
>
|
||||
<a-tree
|
||||
style="padding: 0 6px"
|
||||
checkable
|
||||
checkStrictly
|
||||
show-line="true"
|
||||
|
|
@ -9,11 +15,7 @@
|
|||
: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>
|
||||
</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" },
|
||||
});
|
||||
|
||||
|
|
@ -58,10 +61,8 @@ export default defineComponent({
|
|||
const submit = (e) => {
|
||||
give({
|
||||
tenantId: props.record.id,
|
||||
powerIds: state.checkedPowerIds.checked
|
||||
? state.checkedPowerIds.checked
|
||||
: state.checkedPowerIds,
|
||||
}).then((response) => {
|
||||
powerIds: state.checkedPowerIds.checked?state.checkedPowerIds.checked:state.checkedPowerIds}).then(
|
||||
(response) => {
|
||||
if (response.success) {
|
||||
message.success({ content: "保存成功", duration: 1 }).then(() => {
|
||||
cancel();
|
||||
|
|
@ -71,7 +72,8 @@ export default defineComponent({
|
|||
cancel();
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
const cancel = (e) => {
|
||||
|
|
|
|||
|
|
@ -11,20 +11,14 @@
|
|||
ref="formRef"
|
||||
:model="formState"
|
||||
:rules="formRules"
|
||||
layout="vertical"
|
||||
>
|
||||
<a-row :gutter="[16, 0]">
|
||||
<a-col :span="24">
|
||||
: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-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>
|
||||
</a-form>
|
||||
</a-modal>
|
||||
</template>
|
||||
|
|
@ -39,26 +33,25 @@ export default defineComponent({
|
|||
},
|
||||
record: {
|
||||
type: Object,
|
||||
},
|
||||
}
|
||||
},
|
||||
emit: ["close"],
|
||||
setup(props, context) {
|
||||
|
||||
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();
|
||||
|
|
|
|||
|
|
@ -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";
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<a-modal
|
||||
:open="visible"
|
||||
title="修改用户"
|
||||
title="新增用户"
|
||||
cancelText="取消"
|
||||
okText="提交"
|
||||
@ok="submit"
|
||||
|
|
@ -11,55 +11,34 @@
|
|||
ref="formRef"
|
||||
:model="formState"
|
||||
:rules="formRules"
|
||||
layout="vertical"
|
||||
>
|
||||
<a-row :gutter="[16, 0]">
|
||||
<a-col :span="12">
|
||||
: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-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-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"
|
||||
|
|
@ -72,18 +51,14 @@
|
|||
>
|
||||
</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>
|
||||
</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,16 +70,17 @@ export default defineComponent({
|
|||
},
|
||||
record: {
|
||||
type: Object,
|
||||
},
|
||||
}
|
||||
},
|
||||
emit: ["close"],
|
||||
setup(props, context) {
|
||||
|
||||
const formRef = ref();
|
||||
|
||||
const state = reactive({
|
||||
posts: [],
|
||||
depts: [],
|
||||
});
|
||||
})
|
||||
|
||||
const formState = reactive({
|
||||
enable: true,
|
||||
|
|
@ -112,45 +88,42 @@ export default defineComponent({
|
|||
});
|
||||
|
||||
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(() => {
|
||||
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(() => {
|
||||
}else{
|
||||
message.error({ content: '保存失败', duration: 1 }).then(()=>{
|
||||
cancel();
|
||||
});
|
||||
}
|
||||
});
|
||||
})
|
||||
.catch((error) => {
|
||||
console.log("error", error);
|
||||
}).catch(error => {
|
||||
console.log('error', error);
|
||||
});
|
||||
};
|
||||
|
||||
|
|
@ -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,12 +161,7 @@ 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' }
|
||||
};
|
||||
},
|
||||
});
|
||||
|
|
|
|||
|
|
@ -11,55 +11,34 @@
|
|||
ref="formRef"
|
||||
:model="formState"
|
||||
:rules="formRules"
|
||||
layout="vertical"
|
||||
>
|
||||
<a-row :gutter="[16, 0]">
|
||||
<a-col :span="12">
|
||||
: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-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-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"
|
||||
|
|
@ -72,13 +51,9 @@
|
|||
>
|
||||
</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>
|
||||
</a-form>
|
||||
</a-modal>
|
||||
</template>
|
||||
|
|
@ -93,16 +68,17 @@ export default defineComponent({
|
|||
},
|
||||
record: {
|
||||
type: Object,
|
||||
},
|
||||
}
|
||||
},
|
||||
emit: ["close"],
|
||||
setup(props, context) {
|
||||
|
||||
const formRef = ref();
|
||||
|
||||
const state = reactive({
|
||||
posts: [],
|
||||
depts: [],
|
||||
});
|
||||
})
|
||||
|
||||
const formState = reactive({
|
||||
enable: true,
|
||||
|
|
@ -112,16 +88,16 @@ export default defineComponent({
|
|||
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,12 +138,7 @@ 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' }
|
||||
};
|
||||
},
|
||||
});
|
||||
|
|
|
|||
|
|
@ -11,48 +11,37 @@
|
|||
ref="formRef"
|
||||
:model="formState"
|
||||
:rules="formRules"
|
||||
layout="vertical"
|
||||
>
|
||||
<a-row :gutter="[16, 0]">
|
||||
<a-col :span="12">
|
||||
: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-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="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-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"
|
||||
|
|
@ -65,34 +54,14 @@
|
|||
>
|
||||
</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>
|
||||
</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,12 +74,13 @@ export default defineComponent({
|
|||
},
|
||||
emit: ["close"],
|
||||
setup(props, context) {
|
||||
|
||||
const formRef = ref();
|
||||
|
||||
const state = reactive({
|
||||
posts: [],
|
||||
depts: [],
|
||||
});
|
||||
})
|
||||
|
||||
const formState = reactive({
|
||||
enable: true,
|
||||
|
|
@ -118,46 +88,43 @@ export default defineComponent({
|
|||
});
|
||||
|
||||
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(() => {
|
||||
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(() => {
|
||||
}else{
|
||||
message.error({ content: '保存失败', duration: 1 }).then(()=>{
|
||||
cancel();
|
||||
});
|
||||
}
|
||||
});
|
||||
})
|
||||
.catch((error) => {
|
||||
console.log("error", error);
|
||||
}).catch(error => {
|
||||
console.log('error', error);
|
||||
});
|
||||
};
|
||||
|
||||
|
|
@ -182,12 +149,7 @@ 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' }
|
||||
};
|
||||
},
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in New Issue