初始化项目

This commit is contained in:
2026-03-21 00:10:20 +08:00
parent bbf84afc8f
commit 52042abcb6
16 changed files with 276 additions and 286 deletions

View File

@@ -28,6 +28,7 @@
import { BasicForm, FormSchema, useForm } from '@jeesite/core/components/Form';
import { BasicDrawer, useDrawerInner } from '@jeesite/core/components/Drawer';
import { MyCompany, myCompanySave, myCompanyForm } from '@jeesite/biz/api/biz/myCompany';
import { formatToDateTime } from '@jeesite/core/utils/dateUtil';
const emit = defineEmits(['success', 'register']);
@@ -158,7 +159,7 @@
field: 'ustatus',
component: 'Select',
componentProps: {
dictType: '',
dictType: 'biz_status',
allowClear: true,
},
required: true,
@@ -189,6 +190,7 @@
isNewRecord: record.value.isNewRecord,
companyId: record.value.companyId || data.companyId,
};
data[record.value.isNewRecord ? 'createTime' : 'updateTime'] = formatToDateTime(new Date());
// console.log('submit', params, data, record);
const res = await myCompanySave(params, data);
showMessage(res.message);

View File

@@ -101,7 +101,7 @@
field: 'ustatus',
component: 'Select',
componentProps: {
dictType: '',
dictType: 'biz_status',
allowClear: true,
},
},
@@ -222,7 +222,7 @@
sorter: true,
width: 130,
align: 'left',
dictType: '',
dictType: 'biz_status',
},
{
title: t('更新时间'),

View File

@@ -28,6 +28,11 @@
import { BasicForm, FormSchema, useForm } from '@jeesite/core/components/Form';
import { BasicDrawer, useDrawerInner } from '@jeesite/core/components/Drawer';
import { MyNotes, myNotesSave, myNotesForm } from '@jeesite/biz/api/biz/myNotes';
import { formatToDateTime } from '@jeesite/core/utils/dateUtil';
import { useUserStore } from '@jeesite/core/store/modules/user';
const userStore = useUserStore();
const userinfo = computed(() => userStore.getUserInfo);
const emit = defineEmits(['success', 'register']);
@@ -70,7 +75,7 @@
field: 'priority',
component: 'Select',
componentProps: {
dictType: '',
dictType: 'biz_priority',
allowClear: true,
},
required: true,
@@ -80,7 +85,7 @@
field: 'ustatus',
component: 'Select',
componentProps: {
dictType: '',
dictType: 'note_status',
allowClear: true,
},
required: true,
@@ -104,11 +109,11 @@
},
},
{
label: t('类型'),
label: t('便签类型'),
field: 'type',
component: 'Select',
componentProps: {
dictType: '',
dictType: 'note_type',
allowClear: true,
},
required: true,
@@ -149,6 +154,12 @@
isNewRecord: record.value.isNewRecord,
noteId: record.value.noteId || data.noteId,
};
if(record.value.isNewRecord){
data.createUser = userinfo.value.loginCode;
}
data[record.value.isNewRecord ? 'createTime' : 'updateTime'] = formatToDateTime(new Date());
// console.log('submit', params, data, record);
const res = await myNotesSave(params, data);
showMessage(res.message);

View File

@@ -28,7 +28,7 @@
</div>
</template>
<script lang="ts" setup name="ViewsBizMyNotesList">
import { onMounted, ref, unref } from 'vue';
import { computed, onMounted, ref, unref } from 'vue';
import { useI18n } from '@jeesite/core/hooks/web/useI18n';
import { useMessage } from '@jeesite/core/hooks/web/useMessage';
import { useGlobSetting } from '@jeesite/core/hooks/setting';
@@ -42,6 +42,11 @@
import { useModal } from '@jeesite/core/components/Modal';
import { FormProps } from '@jeesite/core/components/Form';
import InputForm from './form.vue';
import { useUserStore } from '@jeesite/core/store/modules/user';
const userStore = useUserStore();
const userinfo = computed(() => userStore.getUserInfo);
const { t } = useI18n('biz.myNotes');
const { showMessage } = useMessage();
@@ -91,7 +96,7 @@
field: 'priority',
component: 'Select',
componentProps: {
dictType: '',
dictType: 'biz_priority',
allowClear: true,
},
},
@@ -100,7 +105,7 @@
field: 'ustatus',
component: 'Select',
componentProps: {
dictType: '',
dictType: 'note_status',
allowClear: true,
},
},
@@ -109,7 +114,7 @@
field: 'type',
component: 'Select',
componentProps: {
dictType: '',
dictType: 'note_type',
allowClear: true,
},
},
@@ -150,7 +155,7 @@
sorter: true,
width: 130,
align: 'left',
dictType: '',
dictType: 'biz_priority',
},
{
title: t('状态'),
@@ -159,7 +164,7 @@
sorter: true,
width: 130,
align: 'left',
dictType: '',
dictType: 'note_status',
},
{
title: t('开始时间'),
@@ -184,7 +189,7 @@
sorter: true,
width: 130,
align: 'left',
dictType: '',
dictType: 'note_type',
},
{
title: t('截至时间'),
@@ -223,6 +228,7 @@
confirm: handleDelete.bind(this, record),
},
auth: 'biz:myNotes:edit',
ifShow: record.ustatus == 'todo',
},
],
};
@@ -230,7 +236,10 @@
const [registerTable, { reload, getForm }] = useTable<MyNotes>({
api: myNotesListData,
beforeFetch: (params) => {
return params;
return {
... params,
createUser: userinfo.value.loginCode,
};
},
columns: tableColumns,
actionColumn: actionColumn,

View File

@@ -28,6 +28,7 @@
import { BasicForm, FormSchema, useForm } from '@jeesite/core/components/Form';
import { BasicDrawer, useDrawerInner } from '@jeesite/core/components/Drawer';
import { MyPerson, myPersonSave, myPersonForm } from '@jeesite/biz/api/biz/myPerson';
import { formatToDateTime } from '@jeesite/core/utils/dateUtil';
const emit = defineEmits(['success', 'register']);
@@ -49,7 +50,7 @@
colProps: { md: 24, lg: 24 },
},
{
label: t('姓名'),
label: t('员工姓名'),
field: 'personName',
component: 'Input',
componentProps: {
@@ -58,11 +59,12 @@
required: true,
},
{
label: t('性别'),
label: t('员工性别'),
field: 'gender',
component: 'Input',
component: 'Select',
componentProps: {
maxlength: 12,
dictType: 'sys_user_sex',
allowClear: true,
},
required: true,
},
@@ -129,20 +131,22 @@
{
label: t('所属公司'),
field: 'companyId',
component: 'Select',
componentProps: {
dictType: '',
allowClear: true,
},
fieldLabel: 'companyName',
component: 'ListSelect',
componentProps: {
selectType: 'bizCompSelect',
},
required: true,
},
{
label: t('人员状态'),
field: 'ustatus',
component: 'Select',
componentProps: {
dictType: '',
dictType: 'biz_status',
allowClear: true,
},
required: true,
},
];
@@ -170,6 +174,7 @@
isNewRecord: record.value.isNewRecord,
personId: record.value.personId || data.personId,
};
data[record.value.isNewRecord ? 'createTime' : 'updateTime'] = formatToDateTime(new Date());
// console.log('submit', params, data, record);
const res = await myPersonSave(params, data);
showMessage(res.message);

View File

@@ -84,7 +84,11 @@
{
label: t('性别'),
field: 'gender',
component: 'Input',
component: 'Select',
componentProps: {
dictType: 'sys_user_sex',
allowClear: true,
},
},
{
label: t('身份证号'),
@@ -92,12 +96,12 @@
component: 'Input',
},
{
label: t('公司编号'),
label: t('公司名称'),
field: 'companyId',
component: 'Select',
fieldLabel: 'companyName',
component: 'ListSelect',
componentProps: {
dictType: '',
allowClear: true,
selectType: 'bizCompSelect',
},
},
{
@@ -105,7 +109,7 @@
field: 'ustatus',
component: 'Select',
componentProps: {
dictType: '',
dictType: 'biz_status',
allowClear: true,
},
},
@@ -138,6 +142,7 @@
sorter: true,
width: 130,
align: 'left',
dictType: 'sys_user_sex',
},
{
title: t('身份证号'),
@@ -147,6 +152,14 @@
width: 130,
align: 'left',
},
{
title: t('公司名称'),
dataIndex: 'companyName',
key: 'b.company_name',
sorter: true,
width: 200,
align: 'left',
},
{
title: t('手机号码'),
dataIndex: 'phone',
@@ -202,16 +215,7 @@
sorter: true,
width: 130,
align: 'left',
dictType: '',
},
{
title: t('公司编号'),
dataIndex: 'companyId',
key: 'a.company_id',
sorter: true,
width: 130,
align: 'left',
dictType: '',
dictType: 'biz_status',
},
{
title: t('更新时间'),

View File

@@ -28,6 +28,11 @@
import { BasicForm, FormSchema, useForm } from '@jeesite/core/components/Form';
import { BasicDrawer, useDrawerInner } from '@jeesite/core/components/Drawer';
import { MyWebsiteStorage, myWebsiteStorageSave, myWebsiteStorageForm } from '@jeesite/biz/api/biz/myWebsiteStorage';
import { formatToDateTime } from '@jeesite/core/utils/dateUtil';
import { useUserStore } from '@jeesite/core/store/modules/user';
const userStore = useUserStore();
const userinfo = computed(() => userStore.getUserInfo);
const emit = defineEmits(['success', 'register']);
@@ -62,7 +67,7 @@
field: 'ustatus',
component: 'Select',
componentProps: {
dictType: 'sys_status',
dictType: 'biz_status',
allowClear: true,
},
required: true,
@@ -139,6 +144,12 @@
isNewRecord: record.value.isNewRecord,
websiteId: record.value.websiteId || data.websiteId,
};
if(record.value.isNewRecord){
data.loginUser = userinfo.value.loginCode;
}
data[record.value.isNewRecord ? 'createTime' : 'updateTime'] = formatToDateTime(new Date());
// console.log('submit', params, data, record);
const res = await myWebsiteStorageSave(params, data);
showMessage(res.message);

View File

@@ -28,7 +28,7 @@
</div>
</template>
<script lang="ts" setup name="ViewsBizMyWebsiteStorageList">
import { onMounted, ref, unref } from 'vue';
import { computed, onMounted, ref, unref } from 'vue';
import { useI18n } from '@jeesite/core/hooks/web/useI18n';
import { useMessage } from '@jeesite/core/hooks/web/useMessage';
import { useGlobSetting } from '@jeesite/core/hooks/setting';
@@ -42,6 +42,10 @@
import { useModal } from '@jeesite/core/components/Modal';
import { FormProps } from '@jeesite/core/components/Form';
import InputForm from './form.vue';
import { useUserStore } from '@jeesite/core/store/modules/user';
const userStore = useUserStore();
const userinfo = computed(() => userStore.getUserInfo);
const { t } = useI18n('biz.myWebsiteStorage');
const { showMessage } = useMessage();
@@ -73,7 +77,7 @@
field: 'ustatus',
component: 'Select',
componentProps: {
dictType: 'sys_status',
dictType: 'biz_status',
allowClear: true,
},
},
@@ -130,7 +134,7 @@
sorter: true,
width: 130,
align: 'center',
dictType: 'sys_status',
dictType: 'biz_status',
},
];
@@ -152,15 +156,29 @@
title: t('是否确认删除网站?'),
confirm: handleDelete.bind(this, record),
},
ifShow: record.ustatus == '2',
auth: 'biz:myWebsiteStorage:edit',
},
{
icon: 'ant-design:link-outlined',
color: 'warning',
title: t('访问'),
popConfirm: {
title: t('是否确认访问网站?'),
confirm: handleOpen.bind(this, record),
},
ifShow: record.ustatus == '1'
},
],
};
const [registerTable, { reload, getForm }] = useTable<MyWebsiteStorage>({
api: myWebsiteStorageListData,
beforeFetch: (params) => {
return params;
return {
...params,
loginUser: userinfo.value.loginCode,
};
},
columns: tableColumns,
actionColumn: actionColumn,
@@ -181,6 +199,11 @@
function handleForm(record: Recordable) {
openDrawer(true, record);
}
function handleOpen(record: Recordable) {
if (!record?.websiteUrl) return;
window.open(record.websiteUrl, '_blank');
}
async function handleExport() {
loading.value = true;
@@ -198,7 +221,7 @@
showMessage(res.message);
await handleSuccess(record);
}
async function handleSuccess(record: Recordable) {
await reload({ record });
}

View File

@@ -12,50 +12,22 @@ const searchForm: FormProps<MyCompany> = {
baseColProps: { md: 8, lg: 6 },
labelWidth: 90,
schemas: [
{
label: t('记录时间起'),
field: 'createTime_gte',
component: 'DatePicker',
componentProps: {
format: 'YYYY-MM-DD HH:mm',
showTime: { format: 'HH:mm' },
},
},
{
label: t('记录时间止'),
field: 'createTime_lte',
component: 'DatePicker',
componentProps: {
format: 'YYYY-MM-DD HH:mm',
showTime: { format: 'HH:mm' },
},
},
{
label: t('公司全称'),
field: 'companyName',
component: 'Input',
},
{
label: t('统一社会信用代码'),
label: t('信用代码'),
field: 'creditCode',
component: 'Input',
},
{
label: t('所在省份'),
field: 'province',
component: 'Input',
},
{
label: t('公司电话'),
field: 'contactPhone',
component: 'Input',
},
{
label: t('数据状态'),
field: 'ustatus',
component: 'Select',
componentProps: {
dictType: '',
dictType: 'biz_status',
allowClear: true,
},
},
@@ -68,9 +40,9 @@ const tableColumns: BasicColumn<MyCompany>[] = [
dataIndex: 'createTime',
key: 'a.create_time',
sorter: true,
width: 230,
align: 'left',
slot: 'firstColumn',
width: 150,
align: 'center',
fixed: 'left',
},
{
title: t('公司全称'),
@@ -93,7 +65,7 @@ const tableColumns: BasicColumn<MyCompany>[] = [
dataIndex: 'creditCode',
key: 'a.credit_code',
sorter: true,
width: 130,
width: 225,
align: 'left',
},
{
@@ -117,33 +89,9 @@ const tableColumns: BasicColumn<MyCompany>[] = [
dataIndex: 'establishDate',
key: 'a.establish_date',
sorter: true,
width: 130,
width: 150,
align: 'center',
},
{
title: t('所在省份'),
dataIndex: 'province',
key: 'a.province',
sorter: true,
width: 130,
align: 'left',
},
{
title: t('所在城市'),
dataIndex: 'city',
key: 'a.city',
sorter: true,
width: 130,
align: 'left',
},
{
title: t('注册地址'),
dataIndex: 'address',
key: 'a.address',
sorter: true,
width: 130,
align: 'left',
},
{
title: t('经营范围'),
dataIndex: 'businessScope',
@@ -169,21 +117,13 @@ const tableColumns: BasicColumn<MyCompany>[] = [
align: 'left',
},
{
title: t('数据状态'),
title: t('公司状态'),
dataIndex: 'ustatus',
key: 'a.ustatus',
sorter: true,
width: 130,
align: 'left',
dictType: '',
},
{
title: t('更新时间'),
dataIndex: 'updateTime',
key: 'a.update_time',
sorter: true,
width: 130,
align: 'center',
dictType: 'biz_status',
},
];
@@ -202,6 +142,6 @@ export default {
modalProps,
tableProps,
itemCode: 'companyId',
itemName: 'companyId',
isShowCode: false,
itemName: 'companyName',
isShowCode: true,
};

View File

@@ -31,25 +31,6 @@ const searchForm: FormProps = {
allowClear: true,
},
},
{
field: 'none',
component: 'None',
},
{
label: t('手机'),
field: 'mobile',
component: 'Input',
},
{
label: t('邮箱'),
field: 'email',
component: 'Input',
},
{
label: t('电话'),
field: 'phone',
component: 'Input',
},
],
};

View File

@@ -25,8 +25,8 @@
<script lang="ts" setup>
import { computed } from 'vue';
import { Avatar } from 'ant-design-vue';
import { useUserStore } from '@jeesite/core/store/modules/user';
import headerImg from '@jeesite/assets/images/header.jpg';
import { useUserStore } from '@jeesite/core/store/modules/user';
const userStore = useUserStore();
const userinfo = computed(() => userStore.getUserInfo);