|
|
@@ -2,7 +2,7 @@
|
|
|
<AidopDemoShell :title="pageTitle" subtitle="S0 / 仓储建模 / 成本中心">
|
|
|
<el-form :inline="true" :model="query" class="mb12" @submit.prevent>
|
|
|
<el-form-item label="关键字">
|
|
|
- <el-input v-model="query.keyword" placeholder="成本中心编码/说明" clearable style="width: 220px" />
|
|
|
+ <el-input v-model="query.keyword" placeholder="成本中心/描述" clearable style="width: 220px" />
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
<el-button type="primary" @click="loadList">查询</el-button>
|
|
|
@@ -12,10 +12,13 @@
|
|
|
</el-form>
|
|
|
|
|
|
<el-table :data="rows" v-loading="loading" border stripe style="width: 100%" max-height="calc(100vh - 260px)">
|
|
|
- <el-table-column prop="costCtr" label="成本中心编码" width="160" show-overflow-tooltip />
|
|
|
- <el-table-column prop="descr" label="说明" min-width="200" show-overflow-tooltip />
|
|
|
- <el-table-column prop="ufld1" label="自定义字段1" width="140" show-overflow-tooltip />
|
|
|
- <el-table-column prop="effTime" label="生效时间" width="160" show-overflow-tooltip />
|
|
|
+ <el-table-column type="index" label="#" width="60" align="center" />
|
|
|
+ <el-table-column prop="costCtr" label="成本中心" width="160" show-overflow-tooltip />
|
|
|
+ <el-table-column prop="descr" label="成本中心描述" min-width="200" show-overflow-tooltip />
|
|
|
+ <el-table-column prop="ufld1" label="责任人" min-width="160" show-overflow-tooltip />
|
|
|
+ <el-table-column label="开始生效日期" width="150" show-overflow-tooltip>
|
|
|
+ <template #default="{ row }">{{ fmtDate(row.effTime) }}</template>
|
|
|
+ </el-table-column>
|
|
|
<el-table-column label="操作" width="160" fixed="right" align="center">
|
|
|
<template #default="{ row }">
|
|
|
<el-button link type="primary" @click="openEdit(row)">编辑</el-button>
|
|
|
@@ -42,10 +45,10 @@
|
|
|
<el-option v-for="item in formFactoryOptions" :key="item.id" :label="item.name || item.code || `${item.id}`" :value="item.id" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="成本中心编码" prop="costCtr"><el-input v-model="form.costCtr" :disabled="!!editingId" /></el-form-item>
|
|
|
- <el-form-item label="说明"><el-input v-model="form.descr" /></el-form-item>
|
|
|
- <el-form-item label="自定义字段1"><el-input v-model="form.ufld1" /></el-form-item>
|
|
|
- <el-form-item label="生效时间"><el-date-picker v-model="form.effTime" type="datetime" value-format="YYYY-MM-DDTHH:mm:ss" style="width: 100%" /></el-form-item>
|
|
|
+ <el-form-item label="成本中心" prop="costCtr"><el-input v-model="form.costCtr" :disabled="!!editingId" /></el-form-item>
|
|
|
+ <el-form-item label="成本中心描述"><el-input v-model="form.descr" /></el-form-item>
|
|
|
+ <el-form-item label="责任人"><el-input v-model="form.ufld1" /></el-form-item>
|
|
|
+ <el-form-item label="开始生效日期"><el-date-picker v-model="form.effTime" type="date" value-format="YYYY-MM-DD" style="width: 100%" /></el-form-item>
|
|
|
<el-form-item v-if="false" label="域编码"><el-input v-model="form.domainCode" /></el-form-item>
|
|
|
</el-form>
|
|
|
<template #footer>
|
|
|
@@ -66,6 +69,8 @@ import { loadOrgList, type OrgOption } from '../api/s0SalesApi';
|
|
|
|
|
|
const route = useRoute();
|
|
|
const pageTitle = computed(() => (route.meta?.title as string) || '成本中心');
|
|
|
+// 开始生效日期仅显示/编辑到日(后端 datetime 取日期段)
|
|
|
+function fmtDate(v?: string | null): string { return v ? v.slice(0, 10) : ''; }
|
|
|
const query = reactive({ keyword: '', domainCode: '', page: 1, pageSize: 20 });
|
|
|
const loading = ref(false);
|
|
|
const rows = ref<S0CostCtrRow[]>([]);
|
|
|
@@ -119,7 +124,7 @@ function resetForm() { editingId.value = null; Object.assign(form, { companyRefI
|
|
|
function openCreate() { resetForm(); dialogTitle.value = '新增成本中心'; dialogVisible.value = true; }
|
|
|
function openEdit(row: S0CostCtrRow) {
|
|
|
resetForm(); editingId.value = row.id; dialogTitle.value = `编辑成本中心 ${row.costCtr}`;
|
|
|
- Object.assign(form, { companyRefId: row.companyRefId, factoryRefId: row.factoryRefId, domainCode: row.domainCode ?? '', costCtr: row.costCtr, descr: row.descr ?? '', ufld1: row.ufld1 ?? '', effTime: row.effTime ?? null });
|
|
|
+ Object.assign(form, { companyRefId: row.companyRefId, factoryRefId: row.factoryRefId, domainCode: row.domainCode ?? '', costCtr: row.costCtr, descr: row.descr ?? '', ufld1: row.ufld1 ?? '', effTime: row.effTime ? row.effTime.slice(0, 10) : null });
|
|
|
dialogVisible.value = true;
|
|
|
}
|
|
|
async function submitForm() {
|