This commit is contained in:
孟帅
2023-07-20 18:01:10 +08:00
parent 9113fc5297
commit 373d9627fb
492 changed files with 12170 additions and 6982 deletions

View File

@@ -61,6 +61,7 @@
<n-form-item label="部门名称" path="name">
<n-input placeholder="请输入名称" v-model:value="formParams.name" />
</n-form-item>
<n-form-item label="部门编码" path="code">
<n-input placeholder="请输入部门编码" v-model:value="formParams.code" />
</n-form-item>
@@ -68,16 +69,18 @@
<n-form-item label="负责人" path="leader">
<n-input placeholder="请输入负责人" v-model:value="formParams.leader" />
</n-form-item>
<n-form-item label="联系电话" path="phone">
<n-input placeholder="请输入联系电话" v-model:value="formParams.phone" />
</n-form-item>
<n-form-item label="邮箱" path="email">
<n-input placeholder="请输入邮箱" v-model:value="formParams.email" />
</n-form-item>
<!-- <n-form-item label="排序" path="sort">-->
<!-- <n-input-number v-model:value="formParams.sort" clearable />-->
<!-- </n-form-item>-->
<n-form-item label="排序" path="sort">
<n-input-number v-model:value="formParams.sort" clearable style="width: 100%" />
</n-form-item>
<n-form-item label="状态" path="status">
<n-radio-group v-model:value="formParams.status" name="status">
@@ -113,6 +116,7 @@
import { cloneDeep } from 'lodash-es';
import { renderIcon, renderTooltip } from '@/utils';
import { HelpCircleOutline } from '@vicons/ionicons5';
import { defRangeShortcuts } from '@/utils/dateUtil';
const rules = {
name: {
@@ -152,6 +156,31 @@
},
},
},
{
field: 'leader',
component: 'NInput',
label: '负责人',
componentProps: {
placeholder: '请输入负责人',
showButton: false,
onInput: (e: any) => {
console.log(e);
},
},
},
{
field: 'createdAt',
component: 'NDatePicker',
label: '创建时间',
componentProps: {
type: 'datetimerange',
clearable: true,
shortcuts: defRangeShortcuts(),
onUpdateValue: (e: any) => {
console.log(e);
},
},
},
];
const [register, {}] = useForm({

View File

@@ -52,7 +52,6 @@
>
<n-form
:model="formParams"
:rules="rules"
ref="formRef"
label-placement="left"
:label-width="80"
@@ -61,13 +60,14 @@
<n-form-item label="岗位名称" path="name">
<n-input placeholder="请输入岗位名称" v-model:value="formParams.name" />
</n-form-item>
<n-form-item label="岗位编码" path="code">
<n-input placeholder="请输入岗位编码" v-model:value="formParams.code" />
</n-form-item>
<!-- <n-form-item label="排序" path="sort">-->
<!-- <n-input-number v-model:value="formParams.sort" clearable />-->
<!-- </n-form-item>-->
<n-form-item label="排序" path="sort">
<n-input-number v-model:value="formParams.sort" clearable style="width: 100%" />
</n-form-item>
<n-form-item label="状态" path="status">
<n-radio-group v-model:value="formParams.status" name="status">
@@ -105,6 +105,7 @@
import { columns } from './columns';
import { DeleteOutlined, PlusOutlined } from '@vicons/antd';
import { statusActions, statusOptions } from '@/enums/optionsiEnum';
import { defRangeShortcuts } from "@/utils/dateUtil";
const params = ref<any>({
pageSize: 10,
@@ -113,14 +114,6 @@
status: null,
});
const rules = {
name: {
// required: true,
trigger: ['blur', 'input'],
message: '请输入名称',
},
};
const schemas: FormSchema[] = [
{
field: 'name',
@@ -159,6 +152,19 @@
},
},
},
{
field: 'createdAt',
component: 'NDatePicker',
label: '创建时间',
componentProps: {
type: 'datetimerange',
clearable: true,
shortcuts: defRangeShortcuts(),
onUpdateValue: (e: any) => {
console.log(e);
},
},
},
];
const message = useMessage();

View File

@@ -228,7 +228,7 @@
</template>
<script lang="ts" setup>
import { h, reactive, ref } from 'vue';
import { h, reactive, ref, onMounted } from 'vue';
import { useDialog, useMessage } from 'naive-ui';
import { ActionItem, BasicTable, TableAction } from '@/components/Table';
import { BasicForm } from '@/components/Form/index';
@@ -243,7 +243,7 @@
import QrcodeVue from 'qrcode.vue';
import AddBalance from './addBalance.vue';
import AddIntegral from './addIntegral.vue';
import { addNewState, addState, options, register, defaultState } from './model';
import { addNewState, addState, options, register, defaultState, loadOptions } from './model';
import { usePermission } from '@/hooks/web/usePermission';
import { useUserStore } from '@/store/modules/user';
import { LoginRoute } from '@/router';
@@ -518,11 +518,15 @@
formParams.value = addNewState(record as addState);
}
function handleInviteQR(code: string) {
function handleInviteQR(code: any) {
const domain = getNowUrl() + '#';
qrParams.value.qrUrl = domain + LoginRoute.path + '?scope=register&inviteCode=' + code;
showQrModal.value = true;
}
onMounted(async () => {
await loadOptions();
});
</script>
<style lang="less" scoped></style>

View File

@@ -178,7 +178,7 @@ export const options = ref<any>({
post: [],
});
async function loadOptions() {
export async function loadOptions() {
const dept = await getDeptOption();
if (dept.list !== undefined) {
options.value.dept = dept.list;
@@ -187,6 +187,7 @@ async function loadOptions() {
const role = await getRoleOption();
if (role.list !== undefined) {
options.value.role = role.list;
options.value.roleTabs = [{ id: -1, name: '全部' }];
treeDataToCompressed(role.list);
}
@@ -207,8 +208,5 @@ function treeDataToCompressed(source) {
? treeDataToCompressed(source[i].children)
: ''; // 子级递归
}
return options.value.roleTabs;
}
await loadOptions();

View File

@@ -39,7 +39,8 @@
}
});
function handleBeforeLeave(tabName: string) {
function handleBeforeLeave(tabName: string): boolean | Promise<boolean> {
defaultTab.value = tabName;
return true;
}
</script>