出差信息栏调整
This commit is contained in:
parent
16e2611a1e
commit
4d2380c4f8
|
@ -1,6 +1,6 @@
|
||||||
echo Start running commit-msg hook...
|
echo Start running commit-msg hook...
|
||||||
|
|
||||||
# Check whether the git commit information is standardized
|
# Check whether the git commit information is standardized
|
||||||
pnpm exec commitlint --edit "$1"
|
# pnpm exec commitlint --edit "$1"
|
||||||
|
|
||||||
echo Run commit-msg hook done.
|
echo Run commit-msg hook done.
|
||||||
|
|
|
@ -1,27 +1,12 @@
|
||||||
import { DICT_TYPE, getDictOptions } from "#/utils/dict";
|
import { DICT_TYPE, getDictOptions } from "#/utils/dict";
|
||||||
import { dict } from "@fast-crud/fast-crud";
|
import { dict } from "@fast-crud/fast-crud";
|
||||||
|
|
||||||
|
export function getFormSchema(_params: any = {}) {
|
||||||
/**
|
|
||||||
* 筛选合同列表数据
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
function filterContractTypes(contractTypeData: any = [], parentId: string) {
|
|
||||||
return contractTypeData.map((item) => {
|
|
||||||
item.label = item.contrLevelName;
|
|
||||||
item.value = item.contrLevelId;
|
|
||||||
return item;
|
|
||||||
}).filter((item) => item.parentId === parentId);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getFormSchema(params: any = {}) {
|
|
||||||
|
|
||||||
const { contractTypeData } = params
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
contractName: {
|
projectNum: {
|
||||||
title: "合同名称",
|
title: "项目",
|
||||||
key: "contractName",
|
key: "projectNum",
|
||||||
col: { span: 24 },
|
col: { span: 24 },
|
||||||
component: {
|
component: {
|
||||||
name: "a-input",
|
name: "a-input",
|
||||||
|
@ -30,72 +15,57 @@ export function getFormSchema(params: any = {}) {
|
||||||
},
|
},
|
||||||
rules: [{ required: true }],
|
rules: [{ required: true }],
|
||||||
},
|
},
|
||||||
ctrType: {
|
projectProp: {
|
||||||
title: "合同类别",
|
title: "项目类别",
|
||||||
key: "ctrType",
|
key: "projectProp",
|
||||||
col: { span: 12 },
|
col: { span: 12 },
|
||||||
component: {
|
component: {
|
||||||
name: "fs-dict-select",
|
name: "fs-dict-select",
|
||||||
vModel: "value",
|
vModel: "value",
|
||||||
class: 'min-w-[200px]',
|
class: 'min-w-[200px]',
|
||||||
dict: dict({
|
dict: dict({
|
||||||
async getData({ form = {} }) {
|
data: getDictOptions(DICT_TYPE.contractProjectType)
|
||||||
return filterContractTypes(contractTypeData, "-1");
|
|
||||||
},
|
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
valueChange({ form, value, getComponentRef }) {
|
|
||||||
form.ctrTwoType = undefined;
|
|
||||||
if (value) {
|
|
||||||
getComponentRef("ctrTwoType").reloadDict(); // 执行city的select组件的reloadDict()方法,触发“city”重新加载字典
|
|
||||||
}
|
|
||||||
},
|
|
||||||
rules: [{ required: true }],
|
rules: [{ required: true }],
|
||||||
},
|
},
|
||||||
ctrTwoType: {
|
projectName: {
|
||||||
title: "二级类别",
|
title: "项目名称",
|
||||||
key: "ctrTwoType",
|
key: "projectName",
|
||||||
col: { span: 12 },
|
col: { span: 12 },
|
||||||
component: {
|
component: {
|
||||||
name: "fs-dict-select",
|
name: "fs-dict-select",
|
||||||
vModel: "value",
|
vModel: "value",
|
||||||
class: 'min-w-[200px]',
|
class: 'min-w-[200px]',
|
||||||
dict: dict({
|
dict: dict({
|
||||||
async getData({ form = {} }) {
|
data: getDictOptions(DICT_TYPE.comprehensiveProjectName)
|
||||||
return filterContractTypes(contractTypeData, form.ctrType);
|
|
||||||
},
|
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
rules: [{ required: true }],
|
rules: [{ required: true }],
|
||||||
},
|
},
|
||||||
frameProtocol: {
|
priceStyleId: {
|
||||||
title: "框架协议",
|
title: "商务计价方式",
|
||||||
key: "frameProtocol",
|
key: "priceStyleId",
|
||||||
col: { span: 8 },
|
col: { span: 8 },
|
||||||
component: {
|
component: {
|
||||||
name: "fs-dict-radio",
|
name: "fs-dict-radio",
|
||||||
vModel: "value",
|
vModel: "value",
|
||||||
|
class: 'min-w-[200px]',
|
||||||
dict: dict({
|
dict: dict({
|
||||||
data: [
|
data: getDictOptions(DICT_TYPE.contractPriceStyle)
|
||||||
{ label: "是", value: 1, },
|
|
||||||
{ label: "否", value: 0 },
|
|
||||||
]
|
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
frameProtocolCtr: {
|
choiceType: {
|
||||||
title: "框架协议下的合同",
|
title: "选商方式",
|
||||||
key: "frameProtocolCtr",
|
key: "choiceType",
|
||||||
col: { span: 12 },
|
col: { span: 12 },
|
||||||
labelCol: { style: { width: "200px" } },
|
labelCol: { style: { width: "200px" } },
|
||||||
component: {
|
component: {
|
||||||
name: "fs-dict-radio",
|
name: "fs-dict-radio",
|
||||||
vModel: "value",
|
vModel: "value",
|
||||||
dict: dict({
|
dict: dict({
|
||||||
data: [
|
data: getDictOptions(DICT_TYPE.contractSelectionMethod)
|
||||||
{ label: "是", value: 1, },
|
|
||||||
{ label: "否", value: 0 },
|
|
||||||
]
|
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
@ -3,7 +3,6 @@ import { ref, computed, reactive, onMounted, nextTick, onUnmounted } from "vue";
|
||||||
import { MdiAdd } from '@vben/icons';
|
import { MdiAdd } from '@vben/icons';
|
||||||
|
|
||||||
import { Page, useVbenModal } from "@vben/common-ui";
|
import { Page, useVbenModal } from "@vben/common-ui";
|
||||||
import { dict, type FormScopeContext } from "@fast-crud/fast-crud";
|
|
||||||
import { MdiUpload } from "@vben/icons";
|
import { MdiUpload } from "@vben/icons";
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
import dayjs, { Dayjs } from "dayjs";
|
import dayjs, { Dayjs } from "dayjs";
|
||||||
|
@ -23,12 +22,13 @@ const fileUploader = new FileUploader({})
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const id = route.params.id;
|
const id = route.params.id;
|
||||||
|
const pageRef = ref();
|
||||||
|
|
||||||
let showHelpTip = ref(false);
|
let showHelpTip = ref(false);
|
||||||
|
|
||||||
const containerRef = ref();
|
const containerRef = ref();
|
||||||
const formRef = ref();
|
const formRef = ref();
|
||||||
const form2Ref = ref();
|
const formRefByBaseInfo = ref();
|
||||||
|
|
||||||
let isLoading = ref(false)
|
let isLoading = ref(false)
|
||||||
|
|
||||||
|
@ -219,6 +219,8 @@ async function handleSubmit() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let contractData = ref<any>({})
|
||||||
|
let businessData = ref<any>({})
|
||||||
|
|
||||||
const currData = ref({})
|
const currData = ref({})
|
||||||
|
|
||||||
|
@ -226,39 +228,42 @@ onMounted(async () => {
|
||||||
isLoading.value = true
|
isLoading.value = true
|
||||||
console.log(id)
|
console.log(id)
|
||||||
|
|
||||||
// let formSchema = getFormSchema()
|
|
||||||
|
|
||||||
// formBinding.value = formSchema
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
let contractReferTypeData = await Apis.contractReferType.get_list({ params: {} })
|
|
||||||
contractTypeData.value = contractReferTypeData.rows || [];
|
|
||||||
|
|
||||||
formBindingByBaseInfo.value.columns = getFormSchemaByBaseInfo({
|
|
||||||
contractTypeData: contractTypeData.value
|
|
||||||
})
|
|
||||||
|
|
||||||
if (id) {
|
if (id) {
|
||||||
let data = await Apis.contractBaseInfo.get_getOne({ params: { guid: id } })
|
|
||||||
console.log(data)
|
|
||||||
|
|
||||||
currData.value = data;
|
let contractReferTypeData = await Apis.contractReferType.get_list({ params: {} })
|
||||||
nextTick(() => {
|
contractTypeData.value = contractReferTypeData.rows || [];
|
||||||
formRef.value.setFormData(data)
|
|
||||||
|
formBindingByBaseInfo.value.columns = getFormSchemaByBaseInfo({
|
||||||
|
contractTypeData: contractTypeData.value
|
||||||
})
|
})
|
||||||
|
|
||||||
if (data.fileUuid) {
|
// 先查合同基本信息
|
||||||
let files = await fileUploader.select(data.fileUuid)
|
let contract: any = await Apis.contractBaseInfo.get_getOne({ params: { guid: id } })
|
||||||
console.log(files)
|
if (contract && contract.contractId) {
|
||||||
|
contractData.value = contract
|
||||||
|
|
||||||
|
let business: any = await Apis.selectMerchantsBasicInfo.get_getOne({ params: { contractId: contract.contractId } })
|
||||||
|
console.log(business)
|
||||||
|
if (business.fileUuid) {
|
||||||
|
let files = await fileUploader.select(business.fileUuid)
|
||||||
|
business.fileList = files
|
||||||
|
}
|
||||||
|
businessData.value = business
|
||||||
|
|
||||||
|
|
||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
formRef.value.setFormData({
|
formRefByBaseInfo.value.setFormData(contract)
|
||||||
fileList: files
|
formRef.value.setFormData(business)
|
||||||
})
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
} else {
|
||||||
|
throw new Error("当前合同信息不存在")
|
||||||
}
|
}
|
||||||
|
|
||||||
loadDataByContractTypeData()
|
loadDataByContractTypeData()
|
||||||
|
} else {
|
||||||
|
throw new Error("当前合同信息不存在")
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log(error);
|
console.log(error);
|
||||||
|
@ -281,22 +286,27 @@ onMounted(async () => {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<Page id="components-affix-demo-target" ref="containerRef" contentClass="h-full flex flex-col overflow-y-scroll">
|
<Page ref="pageRef" contentClass="h-full flex flex-col ">
|
||||||
|
|
||||||
|
<a-affix :target="() => pageRef.bodyRef" :offset-top="0">
|
||||||
|
<div class="bg-white w-full pt-1 pl-1">
|
||||||
|
<a-space>
|
||||||
|
<vben-button variant="primary" @click="handleSave()">保存</vben-button>
|
||||||
|
<vben-button variant="primary" @click="handleSubmit()">提交</vben-button>
|
||||||
|
<vben-button variant="destructive" @click="handleDelete()">
|
||||||
|
废除
|
||||||
|
</vben-button>
|
||||||
|
<vben-button variant="secondary" @click="handleBack()">返回</vben-button>
|
||||||
|
</a-space>
|
||||||
|
</div>
|
||||||
|
</a-affix>
|
||||||
|
|
||||||
<a-spin :spinning="isLoading">
|
<a-spin :spinning="isLoading">
|
||||||
<a-space>
|
|
||||||
<vben-button variant="primary" @click="handleSave()">保存</vben-button>
|
|
||||||
<vben-button variant="primary" @click="handleSubmit()">提交</vben-button>
|
|
||||||
<vben-button variant="destructive" @click="handleDelete()">
|
|
||||||
废除
|
|
||||||
</vben-button>
|
|
||||||
<vben-button variant="secondary" @click="handleBack()">返回</vben-button>
|
|
||||||
</a-space>
|
|
||||||
<div class="mx-auto w-[800px] overflow-auto">
|
<div class="mx-auto w-[800px] overflow-auto">
|
||||||
<a-space direction="vertical">
|
<a-space direction="vertical">
|
||||||
|
|
||||||
<a-card title="基本信息" size="small" class="w-full">
|
<a-card title="基本信息" size="small" class="w-full">
|
||||||
<fs-form ref="formRef" class="w-full" v-bind="formBindingByBaseInfo">
|
<fs-form ref="formRefByBaseInfo" class="w-full" v-bind="formBindingByBaseInfo">
|
||||||
</fs-form>
|
</fs-form>
|
||||||
</a-card>
|
</a-card>
|
||||||
|
|
||||||
|
@ -341,9 +351,9 @@ onMounted(async () => {
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.sortable-tree-demo .drag-btn {
|
.sortable-tree-demo .drag-btn {
|
||||||
cursor: move;
|
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
cursor: move;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sortable-tree-demo .vxe-body--row.sortable-ghost,
|
.sortable-tree-demo .vxe-body--row.sortable-ghost,
|
||||||
|
|
|
@ -48,6 +48,7 @@ import { message } from "ant-design-vue";
|
||||||
import { Modal } from 'ant-design-vue';
|
import { Modal } from 'ant-design-vue';
|
||||||
|
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
|
import { SolarDay } from 'tyme4ts';
|
||||||
|
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
|
||||||
|
@ -114,16 +115,33 @@ const { xGridRef, triggerProxy, gridProps } = useVxeTable({ ref: 'xGridRef' });
|
||||||
|
|
||||||
const treeData = ref([]);
|
const treeData = ref([]);
|
||||||
|
|
||||||
|
const tableData = ref([])
|
||||||
|
|
||||||
/** Hooks - 表格 */
|
/** Hooks - 表格 */
|
||||||
const gridOptions = reactive(gridProps({
|
const gridOptions = reactive(gridProps({
|
||||||
columns: getColumns({ type: "taizhang" }),
|
columns: getColumns({ type: "taizhang" }),
|
||||||
proxyConfig: {
|
proxyConfig: {
|
||||||
autoLoad: false,
|
autoLoad: false,
|
||||||
ajax: {
|
ajax: {
|
||||||
query: ({ page }) => {
|
query: async ({ page }) => {
|
||||||
return Apis.zbgl.get_queryZbInfo({ params: { pageNum: 1, pageSize: 100, duty_date:dayjs(currentDate.value).format("YYYY-MM") } })
|
let data = await Apis.zbgl.get_queryZbInfo({ params: { pageNum: 1, pageSize: 100, duty_date: dayjs(currentDate.value).format("YYYY-MM") } })
|
||||||
}
|
for (const element of data.rows || []) {
|
||||||
},
|
var datas = dayjs(element.dutyDate).day();
|
||||||
|
var week = ["日", "一", "二", "三", "四", "五", "六"];
|
||||||
|
element.week = "星期" + week[datas];
|
||||||
|
}
|
||||||
|
tableData.value = data.rows
|
||||||
|
return data
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
rowStyle({ row, rowIndex }) {
|
||||||
|
if ((row && ["星期六", "星期日"].includes(row.week)) || row.week.length > 3) {
|
||||||
|
return {
|
||||||
|
backgroundColor: "#f6fbfb",
|
||||||
|
};
|
||||||
|
}
|
||||||
|
console.log(rowIndex)
|
||||||
},
|
},
|
||||||
pagerConfig: {
|
pagerConfig: {
|
||||||
enabled: false
|
enabled: false
|
||||||
|
@ -131,6 +149,65 @@ const gridOptions = reactive(gridProps({
|
||||||
toolbarConfig: {
|
toolbarConfig: {
|
||||||
enabled: false
|
enabled: false
|
||||||
},
|
},
|
||||||
|
border: true,
|
||||||
|
headerCellStyle({ column }) {
|
||||||
|
|
||||||
|
if (["zzb", "ddy", "zb"].includes(column.field)) {
|
||||||
|
return {
|
||||||
|
"borderTop": '2px solid #000',
|
||||||
|
"borderLeft": '1px solid #000',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (["dutyAllPeople", "dispatchPeople", "dutyPeople", "driver"].includes(column.field)) {
|
||||||
|
return {
|
||||||
|
"borderLeft": '1px solid #000',
|
||||||
|
"borderBottom": '2px solid #000',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (["dutyAllPhone", "dutyAllTelphone", "dispatchPhone", 'dispatchTelphone', 'dutyPhone', 'dutyTelphone'].includes(column.field)) {
|
||||||
|
return {
|
||||||
|
"borderBottom": '2px solid #000',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (["sj"].includes(column.field)) {
|
||||||
|
return {
|
||||||
|
"borderTop": '2px solid #000',
|
||||||
|
"borderLeft": '1px solid #000',
|
||||||
|
"borderRight": '1px solid #000',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (["driverTelphone"].includes(column.field)) {
|
||||||
|
return {
|
||||||
|
"borderRight": '1px solid #000',
|
||||||
|
"borderBottom": '2px solid #000',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
cellStyle({ row, column,rowIndex }) {
|
||||||
|
|
||||||
|
if (["dutyAllPeople", "dispatchPeople", "dutyPeople", "driver"].includes(column.field)) {
|
||||||
|
return {
|
||||||
|
"borderLeft": '1px solid #000',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (["driverTelphone"].includes(column.field)) {
|
||||||
|
return {
|
||||||
|
"borderRight": '1px solid #000',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// if (rowIndex == tableData.value.length-1) {
|
||||||
|
// return {
|
||||||
|
// "borderBottom": '1px solid #000',
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
},
|
||||||
}));
|
}));
|
||||||
|
|
||||||
function handleAdd() {
|
function handleAdd() {
|
||||||
|
|
|
@ -7,7 +7,7 @@ import { dict } from '@fast-crud/fast-crud';
|
||||||
export const PrimaryKey = 'guid';
|
export const PrimaryKey = 'guid';
|
||||||
|
|
||||||
export function getColumns(params: any = {}): VxeGridPropTypes.Columns {
|
export function getColumns(params: any = {}): VxeGridPropTypes.Columns {
|
||||||
let columns = [
|
let columns: VxeGridPropTypes.Columns = [
|
||||||
{
|
{
|
||||||
field: 'isConfirm',
|
field: 'isConfirm',
|
||||||
title: '会议是否落实',
|
title: '会议是否落实',
|
||||||
|
@ -72,7 +72,7 @@ export function getColumns(params: any = {}): VxeGridPropTypes.Columns {
|
||||||
{ field: 'createTime', title: '登记时间', minWidth: 150 },
|
{ field: 'createTime', title: '登记时间', minWidth: 150 },
|
||||||
];
|
];
|
||||||
|
|
||||||
if (params.type != 'taizhang') {
|
if (params.type !== 'taizhang') {
|
||||||
columns.unshift({
|
columns.unshift({
|
||||||
type: 'radio',
|
type: 'radio',
|
||||||
width: 40,
|
width: 40,
|
||||||
|
@ -96,7 +96,7 @@ export function getColumns(params: any = {}): VxeGridPropTypes.Columns {
|
||||||
export function getFormSchema(_params: any = {}) {
|
export function getFormSchema(_params: any = {}) {
|
||||||
return {
|
return {
|
||||||
initialForm: {
|
initialForm: {
|
||||||
startDate: dayjs().startOf('month').format("YYYY-MM-DD"),
|
startDate: dayjs().startOf('month').format("YYYY-MM-DD"),
|
||||||
},
|
},
|
||||||
columns: {
|
columns: {
|
||||||
startDate: {
|
startDate: {
|
||||||
|
@ -149,9 +149,7 @@ export function getFormSchema(_params: any = {}) {
|
||||||
class: 'min-w-[180px]',
|
class: 'min-w-[180px]',
|
||||||
allowClear: true,
|
allowClear: true,
|
||||||
dict: dict({
|
dict: dict({
|
||||||
async getData(dict, context) {
|
data: getDictOptions(DICT_TYPE.meeting_room)
|
||||||
return getDictOptions(DICT_TYPE.meeting_room);
|
|
||||||
},
|
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
autoSearchTrigger: 'enter',
|
autoSearchTrigger: 'enter',
|
||||||
|
@ -166,9 +164,7 @@ export function getFormSchema(_params: any = {}) {
|
||||||
class: 'min-w-[180px]',
|
class: 'min-w-[180px]',
|
||||||
allowClear: true,
|
allowClear: true,
|
||||||
dict: dict({
|
dict: dict({
|
||||||
async getData(dict, context) {
|
data: getDictOptions(DICT_TYPE.meeting_type)
|
||||||
return getDictOptions(DICT_TYPE.meeting_type);
|
|
||||||
},
|
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
autoSearchTrigger: 'enter',
|
autoSearchTrigger: 'enter',
|
||||||
|
|
|
@ -114,12 +114,6 @@ importers:
|
||||||
specifier: ^2.0.29
|
specifier: ^2.0.29
|
||||||
version: 2.0.29(typescript@5.5.4)
|
version: 2.0.29(typescript@5.5.4)
|
||||||
|
|
||||||
apps/backend-mock:
|
|
||||||
dependencies:
|
|
||||||
nitropack:
|
|
||||||
specifier: ^2.9.7
|
|
||||||
version: 2.9.7(encoding@0.1.13)(xml2js@0.6.2)
|
|
||||||
|
|
||||||
apps/web-office:
|
apps/web-office:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@fast-crud/fast-crud':
|
'@fast-crud/fast-crud':
|
||||||
|
@ -3428,7 +3422,6 @@ packages:
|
||||||
|
|
||||||
'@ls-lint/ls-lint@2.2.3':
|
'@ls-lint/ls-lint@2.2.3':
|
||||||
resolution: {integrity: sha512-ekM12jNm/7O2I/hsRv9HvYkRdfrHpiV1epVuI2NP+eTIcEgdIdKkKCs9KgQydu/8R5YXTov9aHdOgplmCHLupw==}
|
resolution: {integrity: sha512-ekM12jNm/7O2I/hsRv9HvYkRdfrHpiV1epVuI2NP+eTIcEgdIdKkKCs9KgQydu/8R5YXTov9aHdOgplmCHLupw==}
|
||||||
cpu: [x64, arm64, s390x]
|
|
||||||
os: [darwin, linux, win32]
|
os: [darwin, linux, win32]
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
|
|
|
@ -1,24 +1,8 @@
|
||||||
{
|
{
|
||||||
"folders": [
|
"folders": [
|
||||||
{
|
{
|
||||||
"name": "@vben/backend-mock",
|
"name": "web-office",
|
||||||
"path": "apps/backend-mock",
|
"path": "apps/web-office",
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "@vben/web-antd",
|
|
||||||
"path": "apps/web-antd",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "@vben/web-ele",
|
|
||||||
"path": "apps/web-ele",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "@vben/web-naive",
|
|
||||||
"path": "apps/web-naive",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "@vben/docs",
|
|
||||||
"path": "docs",
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "@vben/commitlint-config",
|
"name": "@vben/commitlint-config",
|
||||||
|
|
Loading…
Reference in New Issue