修改界面
This commit is contained in:
parent
6fdf336b9e
commit
bbc9ad13fe
@ -46,6 +46,16 @@ interface ServiceItem {
|
||||
type: ServiceMethodType
|
||||
}
|
||||
|
||||
const SERVICE_SELECTOR_ROWS: string[][] = [
|
||||
['0', '2', '3', '4'],
|
||||
['6', '7', '10', '8', '9', '11', '12', '13'],
|
||||
['37', '38', '39', '40'],
|
||||
['21', '22', '23', '24', '25', '26'],
|
||||
['15', '16', '17', '18', '19', '20'],
|
||||
['29', '30', '31', '32', '33', '34', '35', '36'],
|
||||
['41', '42', '43', '44']
|
||||
]
|
||||
|
||||
interface DetailRow {
|
||||
id: string
|
||||
code: string
|
||||
@ -162,6 +172,12 @@ const serviceDict = computed<ServiceItem[]>(() => {
|
||||
const serviceById = computed(() => new Map(serviceDict.value.map(item => [item.id, item])))
|
||||
const serviceIdByCode = computed(() => new Map(serviceDict.value.map(item => [item.code, item.id])))
|
||||
const serviceIdSignature = computed(() => serviceDict.value.map(item => item.id).join('|'))
|
||||
const serviceSelectorRows = computed(() => {
|
||||
const available = new Set(serviceDict.value.map(item => item.id))
|
||||
return SERVICE_SELECTOR_ROWS
|
||||
.map(row => row.filter(id => available.has(id)))
|
||||
.filter(row => row.length > 0)
|
||||
})
|
||||
const fixedBudgetRow: Pick<DetailRow, 'id' | 'code' | 'name'> = { id: 'fixed-budget-c', code: '', name: t('htZxFw.subtotal') }
|
||||
|
||||
/** 判断是否固定汇总行(小计行)。 */
|
||||
@ -1276,7 +1292,7 @@ onActivated(async () => {
|
||||
<template>
|
||||
<TooltipProvider>
|
||||
<div class="h-full min-h-0 flex flex-col gap-2">
|
||||
<ServiceCheckboxSelector :services="serviceDict" :model-value="selectedIds"
|
||||
<ServiceCheckboxSelector :services="serviceDict" :service-rows="serviceSelectorRows" :model-value="selectedIds"
|
||||
@update:model-value="handleServiceSelectionChange" />
|
||||
|
||||
<div class="rounded-lg border bg-card xmMx flex min-h-0 flex-1 flex-col overflow-hidden">
|
||||
|
||||
@ -321,7 +321,7 @@ const buildDefaultRows = (projectCountValue = getTargetProjectCount()): DetailRo
|
||||
consultCategoryFactor: null,
|
||||
majorFactor: null,
|
||||
workStageFactor: 1,
|
||||
workRatio: 100,
|
||||
workRatio: 1,
|
||||
budgetFee: null,
|
||||
budgetFeeBasic: null,
|
||||
budgetFeeOptional: null,
|
||||
@ -403,7 +403,7 @@ const buildInvestScaleSingleTotalRow = (
|
||||
typeof fromDb?.consultCategoryFactor === 'number' ? fromDb.consultCategoryFactor : getDefaultConsultCategoryFactor(),
|
||||
majorFactor: typeof fromDb?.majorFactor === 'number' ? fromDb.majorFactor : getSingleTotalMajorFactorDefault(),
|
||||
workStageFactor: typeof fromDb?.workStageFactor === 'number' ? fromDb.workStageFactor : 1,
|
||||
workRatio: typeof fromDb?.workRatio === 'number' ? fromDb.workRatio : 100,
|
||||
workRatio: typeof fromDb?.workRatio === 'number' ? fromDb.workRatio : 1,
|
||||
budgetFee: null,
|
||||
budgetFeeBasic: null,
|
||||
budgetFeeOptional: null,
|
||||
|
||||
@ -310,7 +310,7 @@ const buildDefaultRows = (projectCountValue = getTargetProjectCount()): DetailRo
|
||||
consultCategoryFactor: null,
|
||||
majorFactor: null,
|
||||
workStageFactor: 1,
|
||||
workRatio: 100,
|
||||
workRatio: 1,
|
||||
budgetFee: null,
|
||||
budgetFeeBasic: null,
|
||||
budgetFeeOptional: null,
|
||||
|
||||
@ -10,6 +10,7 @@ interface ServiceItem {
|
||||
|
||||
const props = defineProps<{
|
||||
services: ServiceItem[]
|
||||
serviceRows?: string[][]
|
||||
modelValue: string[]
|
||||
}>()
|
||||
|
||||
@ -19,6 +20,25 @@ const emit = defineEmits<{
|
||||
const { t } = useI18n()
|
||||
|
||||
const selectedSet = computed(() => new Set(props.modelValue))
|
||||
const serviceById = computed(() => new Map(props.services.map(item => [item.id, item])))
|
||||
const groupedRows = computed(() => {
|
||||
const rows = Array.isArray(props.serviceRows) ? props.serviceRows : []
|
||||
if (rows.length === 0) return [] as ServiceItem[][]
|
||||
|
||||
const used = new Set<string>()
|
||||
const grouped = rows
|
||||
.map(row => row.map(id => serviceById.value.get(id)).filter((item): item is ServiceItem => Boolean(item)))
|
||||
.map(row => row.filter(item => {
|
||||
if (used.has(item.id)) return false
|
||||
used.add(item.id)
|
||||
return true
|
||||
}))
|
||||
.filter(row => row.length > 0)
|
||||
|
||||
const leftovers = props.services.filter(item => !used.has(item.id))
|
||||
if (leftovers.length > 0) grouped.push(leftovers)
|
||||
return grouped
|
||||
})
|
||||
|
||||
const toggleService = (id: string, checked: boolean) => {
|
||||
const next = new Set(props.modelValue)
|
||||
@ -45,9 +65,14 @@ const clearAll = () => {
|
||||
</button>
|
||||
</div>
|
||||
<div class="rounded-md border p-1.5">
|
||||
<div class="flex flex-wrap items-start gap-1">
|
||||
<div v-if="groupedRows.length > 0" class="flex flex-col gap-1.5">
|
||||
<div
|
||||
v-for="(row, rowIndex) in groupedRows"
|
||||
:key="`service-row-${rowIndex}`"
|
||||
class="flex flex-wrap items-start gap-1"
|
||||
>
|
||||
<label
|
||||
v-for="item in props.services"
|
||||
v-for="item in row"
|
||||
:key="item.id"
|
||||
class="inline-flex w-fit max-w-full cursor-pointer items-start gap-1.5 rounded-md border px-2 py-1 text-[11px] leading-4 hover:bg-muted/60"
|
||||
>
|
||||
@ -61,6 +86,7 @@ const clearAll = () => {
|
||||
<span class="text-foreground break-words">{{ item.name }}</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="props.services.length === 0" class="px-2 py-4 text-center text-xs text-muted-foreground">
|
||||
{{ t('serviceSelector.empty') }}
|
||||
</div>
|
||||
|
||||
@ -707,8 +707,8 @@ watch(canUseLandScale, enabled => {
|
||||
|
||||
.quick-calc-layout {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, 1.45fr) minmax(340px, 0.95fr);
|
||||
gap: 10px;
|
||||
grid-template-columns: minmax(0, 1.02fr) minmax(420px, 1.34fr);
|
||||
gap: 12px;
|
||||
height: 100%;
|
||||
min-height: 0;
|
||||
}
|
||||
@ -724,6 +724,34 @@ watch(canUseLandScale, enabled => {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.quick-calc-panel--form {
|
||||
position: relative;
|
||||
border-color: var(--qc-border);
|
||||
background:
|
||||
radial-gradient(circle at 84% -12%, color-mix(in srgb, hsl(var(--destructive)) 22%, transparent) 0%, transparent 46%),
|
||||
radial-gradient(circle at -8% 108%, color-mix(in srgb, hsl(var(--destructive)) 14%, transparent) 0%, transparent 44%),
|
||||
linear-gradient(160deg, color-mix(in srgb, var(--card) 95%, white) 0%, color-mix(in srgb, var(--card) 86%, var(--muted)) 100%);
|
||||
box-shadow:
|
||||
0 22px 44px color-mix(in srgb, hsl(var(--destructive)) 12%, transparent),
|
||||
0 12px 28px color-mix(in srgb, var(--foreground) 10%, transparent);
|
||||
}
|
||||
|
||||
.quick-calc-panel--form::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
top: 0;
|
||||
height: 3px;
|
||||
background: linear-gradient(
|
||||
90deg,
|
||||
color-mix(in srgb, hsl(var(--destructive)) 58%, white) 0%,
|
||||
color-mix(in srgb, hsl(var(--destructive)) 26%, transparent) 35%,
|
||||
transparent 100%
|
||||
);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.quick-calc-panel__header {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
@ -1166,7 +1194,7 @@ watch(canUseLandScale, enabled => {
|
||||
|
||||
.quick-calc-panel--form .quick-calc-form {
|
||||
overflow: auto;
|
||||
padding: 8px;
|
||||
padding: 10px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
@ -1193,8 +1221,11 @@ watch(canUseLandScale, enabled => {
|
||||
|
||||
.quick-calc-panel--form .quick-calc-form-section {
|
||||
gap: 6px;
|
||||
padding: 8px 10px;
|
||||
padding: 10px 12px;
|
||||
border-radius: 12px;
|
||||
background:
|
||||
linear-gradient(180deg, color-mix(in srgb, white 30%, transparent) 0%, transparent 100%),
|
||||
color-mix(in srgb, var(--card) 94%, var(--muted));
|
||||
}
|
||||
|
||||
.quick-calc-form-section__header {
|
||||
@ -1335,7 +1366,11 @@ watch(canUseLandScale, enabled => {
|
||||
}
|
||||
|
||||
.quick-calc-panel--form .quick-calc-field__readonly--emphasis {
|
||||
font-size: 14px;
|
||||
font-size: 18px;
|
||||
font-weight: 800;
|
||||
color: color-mix(in srgb, hsl(var(--destructive)) 88%, var(--foreground));
|
||||
letter-spacing: 0.015em;
|
||||
text-shadow: 0 1px 0 color-mix(in srgb, white 65%, transparent);
|
||||
}
|
||||
|
||||
.quick-calc-form-hint {
|
||||
|
||||
@ -583,7 +583,7 @@ export const enUS = {
|
||||
consultCategoryFactor: 'Consult Category Factor',
|
||||
majorFactor: 'Major Factor',
|
||||
workStageFactor: 'Work Stage Factor (Draft/Review)',
|
||||
workRatio: 'Work Ratio (%)',
|
||||
workRatio: 'Service Budget Composition Ratio and Quantity Ratio',
|
||||
total: 'Total',
|
||||
remark: 'Remark',
|
||||
majorGroup: 'Major Code and Major Name'
|
||||
|
||||
@ -582,7 +582,7 @@ export const zhCN = {
|
||||
consultCategoryFactor: '咨询分类系数',
|
||||
majorFactor: '专业系数',
|
||||
workStageFactor: '工作环节系数(编审系数)',
|
||||
workRatio: '工作占比(%)',
|
||||
workRatio: '服务预算构成比率与数量比',
|
||||
total: '合计',
|
||||
remark: '说明',
|
||||
majorGroup: '专业编码以及工程专业名称'
|
||||
|
||||
@ -96,10 +96,14 @@ const activeComponent = computed(() => {
|
||||
|
||||
const sideWidthStyle = computed(() => ({ width: 'var(--app-typeline-side-w)' }))
|
||||
const itemGapStyle = computed(() => ({ gap: 'var(--app-typeline-gap)' }))
|
||||
const axisColStyle = computed(() => ({ width: 'var(--app-typeline-dot)' }))
|
||||
const dotStyle = computed(() => ({ width: 'var(--app-typeline-dot)', height: 'var(--app-typeline-dot)' }))
|
||||
const dotInnerStyle = computed(() => ({ width: 'var(--app-typeline-dot-inner)', height: 'var(--app-typeline-dot-inner)' }))
|
||||
const labelStyle = computed(() => ({ fontSize: 'var(--app-typeline-label-font)', lineHeight: 'var(--app-typeline-label-line)' }))
|
||||
const lineStyle = computed(() => ({ left: 'var(--app-typeline-line-left)' }))
|
||||
const connectorStyle = computed(() => ({
|
||||
height: 'var(--app-typeline-arrow-shaft-h)',
|
||||
width: 'var(--app-typeline-arrow-line-w)'
|
||||
}))
|
||||
|
||||
const copyBtnText = ref(t('typeLine.copy'))
|
||||
const sheetOpen = ref(false)
|
||||
@ -107,6 +111,34 @@ const sheetOpen = ref(false)
|
||||
let copyBtnTimer: ReturnType<typeof setTimeout> | null = null
|
||||
let titleOverflowRafId: number | null = null
|
||||
|
||||
const copyTextWithFallback = async (text: string) => {
|
||||
if (!text) return false
|
||||
|
||||
if (typeof navigator !== 'undefined' && navigator.clipboard?.writeText) {
|
||||
await navigator.clipboard.writeText(text)
|
||||
return true
|
||||
}
|
||||
|
||||
if (typeof document === 'undefined') return false
|
||||
|
||||
const textarea = document.createElement('textarea')
|
||||
textarea.value = text
|
||||
textarea.setAttribute('readonly', 'true')
|
||||
textarea.style.position = 'fixed'
|
||||
textarea.style.top = '-9999px'
|
||||
textarea.style.left = '-9999px'
|
||||
textarea.style.opacity = '0'
|
||||
document.body.appendChild(textarea)
|
||||
|
||||
try {
|
||||
textarea.focus()
|
||||
textarea.select()
|
||||
textarea.setSelectionRange(0, textarea.value.length)
|
||||
return document.execCommand('copy')
|
||||
} finally {
|
||||
document.body.removeChild(textarea)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -118,8 +150,8 @@ const handleCopySubtitle = async () => {
|
||||
if (!text) return
|
||||
|
||||
try {
|
||||
await navigator.clipboard.writeText(text)
|
||||
copyBtnText.value = t('typeLine.copied')
|
||||
const copied = await copyTextWithFallback(text)
|
||||
copyBtnText.value = copied ? t('typeLine.copied') : t('typeLine.copyFailed')
|
||||
} catch (error) {
|
||||
console.error('copy failed:', error)
|
||||
copyBtnText.value = t('typeLine.copyFailed')
|
||||
@ -256,21 +288,29 @@ useMotionValueEvent(
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div :class="['flex flex-col gap-6 relative ', (props.title || props.subtitle || props.metaText) ? 'mt-3' : 'mt-6']">
|
||||
<div :style="lineStyle" class="absolute top-3 bottom-3 w-[1.5px] bg-border/60"></div>
|
||||
|
||||
<div v-for="item in props.categories" :key="item.key"
|
||||
:style="itemGapStyle" class="relative flex items-center cursor-pointer group" @click="switchCategory(item.key)">
|
||||
<div :class="['flex flex-col gap-2 relative ', (props.title || props.subtitle || props.metaText) ? 'mt-3' : 'mt-6']">
|
||||
<div v-for="(item, index) in props.categories" :key="item.key"
|
||||
:style="itemGapStyle" class="flex items-start cursor-pointer group" @click="switchCategory(item.key)">
|
||||
<div :style="axisColStyle" class="flex shrink-0 flex-col items-center">
|
||||
<div :class="[
|
||||
'z-10 rounded-full border-2 flex items-center justify-center transition-all duration-200',
|
||||
'z-10 rounded-full border-2 flex shrink-0 items-center justify-center transition-all duration-200',
|
||||
activeCategory === item.key
|
||||
? 'bg-primary border-primary shadow-[0_0_0_3px_rgba(var(--primary),0.15)]'
|
||||
: 'bg-background border-muted-foreground/40 group-hover:border-muted-foreground/70'
|
||||
]" :style="dotStyle">
|
||||
<div v-if="activeCategory === item.key" class="bg-background rounded-full" :style="dotInnerStyle"></div>
|
||||
</div>
|
||||
<div
|
||||
v-if="index < props.categories.length - 1"
|
||||
class="flex flex-col items-center"
|
||||
:style="{ paddingTop: 'var(--app-typeline-arrow-offset)' }"
|
||||
aria-hidden="true"
|
||||
>
|
||||
<div :style="connectorStyle" class="typeline-arrow-connector"></div>
|
||||
</div>
|
||||
</div>
|
||||
<span :class="[
|
||||
'transition-colors duration-200',
|
||||
'pt-px transition-colors duration-200',
|
||||
activeCategory === item.key
|
||||
? 'font-semibold text-primary'
|
||||
: 'text-muted-foreground group-hover:text-foreground'
|
||||
@ -391,4 +431,23 @@ useMotionValueEvent(
|
||||
overflow: hidden;
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
.typeline-arrow-connector {
|
||||
position: relative;
|
||||
background: color-mix(in oklab, var(--foreground) 22%, var(--border));
|
||||
border-radius: 9999px;
|
||||
}
|
||||
|
||||
.typeline-arrow-connector::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 100%;
|
||||
transform: translateX(-50%);
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-left: calc(var(--app-typeline-arrow-head-w) / 2) solid transparent;
|
||||
border-right: calc(var(--app-typeline-arrow-head-w) / 2) solid transparent;
|
||||
border-top: var(--app-typeline-arrow-head-h) solid color-mix(in oklab, var(--foreground) 22%, var(--border));
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -334,7 +334,7 @@ const buildDefaultScaleRows = (
|
||||
consultCategoryFactor: defaultConsultCategoryFactor,
|
||||
majorFactor: majorFactorMap?.get(id) ?? getDefaultMajorFactorById(id),
|
||||
workStageFactor: 1,
|
||||
workRatio: 100
|
||||
workRatio: 1
|
||||
}))
|
||||
}
|
||||
|
||||
@ -430,7 +430,7 @@ const getInvestScaleSingleTotalBudgetFee = (
|
||||
majorFactor: getRowNumberOrFallback(row, 'majorFactor', defaultMajorFactor),
|
||||
consultCategoryFactor: getRowNumberOrFallback(row, 'consultCategoryFactor', defaultConsultCategoryFactor),
|
||||
workStageFactor: getRowNumberOrFallback(row, 'workStageFactor', 1),
|
||||
workRatio: getRowNumberOrFallback(row, 'workRatio', 100)
|
||||
workRatio: getRowNumberOrFallback(row, 'workRatio', 1)
|
||||
}, 'cost')
|
||||
})
|
||||
}
|
||||
@ -444,7 +444,7 @@ const getInvestScaleSingleTotalBudgetFee = (
|
||||
const consultCategoryFactor = getRowNumberOrFallback(onlyRow, 'consultCategoryFactor', defaultConsultCategoryFactor)
|
||||
const majorFactor = getRowNumberOrFallback(onlyRow, 'majorFactor', defaultMajorFactor)
|
||||
const workStageFactor = getRowNumberOrFallback(onlyRow, 'workStageFactor', 1)
|
||||
const workRatio = getRowNumberOrFallback(onlyRow, 'workRatio', 100)
|
||||
const workRatio = getRowNumberOrFallback(onlyRow, 'workRatio', 1)
|
||||
return getScaleBudgetFeeByRow({
|
||||
amount: resolvedTotalAmount,
|
||||
benchmarkBudgetBasicChecked: typeof onlyRow?.benchmarkBudgetBasicChecked === 'boolean' ? onlyRow.benchmarkBudgetBasicChecked : true,
|
||||
@ -485,7 +485,7 @@ const buildInvestScaleSingleTotalDetailRows = (
|
||||
1
|
||||
)
|
||||
const workStageFactor = getRowNumberOrFallback(onlyRow, 'workStageFactor', 1)
|
||||
const workRatio = getRowNumberOrFallback(onlyRow, 'workRatio', 100)
|
||||
const workRatio = getRowNumberOrFallback(onlyRow, 'workRatio', 1)
|
||||
|
||||
return [
|
||||
{
|
||||
@ -674,7 +674,7 @@ const normalizeScopedScaleRows = (
|
||||
(hasWorkStageFactor ? null : 1),
|
||||
workRatio:
|
||||
toFiniteNumberOrNull(row.workRatio) ??
|
||||
(hasWorkRatio ? null : 100)
|
||||
(hasWorkRatio ? null : 1)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@ -113,7 +113,7 @@ export const buildDefaultScaleRows = (
|
||||
consultCategoryFactor: defaultFactor,
|
||||
majorFactor: majorFactorMap?.get(id) ?? getDefaultMajorFactor(id),
|
||||
workStageFactor: 1,
|
||||
workRatio: 100
|
||||
workRatio: 1
|
||||
}))
|
||||
}
|
||||
|
||||
|
||||
@ -54,7 +54,7 @@ export const getBenchmarkBudgetByScale = (value: unknown, mode: ScaleMode) => {
|
||||
*
|
||||
* 这个方法负责“乘系数”这一层:
|
||||
* 1. 输入的是已经拆好的基准预算 basic / optional
|
||||
* 2. 再乘咨询分类系数、专业系数、阶段系数、工作占比
|
||||
* 2. 再乘咨询分类系数、专业系数、阶段系数、服务预算构成比率与数量比
|
||||
* 3. 返回服务费的基本部分 / 附加部分 / 合计
|
||||
*
|
||||
* 和 `getBenchmarkBudgetSplitByScale` 的区别是:
|
||||
@ -78,7 +78,7 @@ export const getScaleBudgetFeeSplit = (params: {
|
||||
const majorFactor = toFiniteNumberOrNull(params.majorFactor)
|
||||
const consultCategoryFactor = toFiniteNumberOrNull(params.consultCategoryFactor)
|
||||
const workStageFactor = hasWorkStageFactor ? toFiniteNumberOrNull(params.workStageFactor) : 1
|
||||
const workRatio = hasWorkRatio ? toFiniteNumberOrNull(params.workRatio) : 100
|
||||
const workRatio = hasWorkRatio ? toFiniteNumberOrNull(params.workRatio) : 1
|
||||
|
||||
if (
|
||||
benchmarkBudgetBasic == null ||
|
||||
@ -95,7 +95,6 @@ export const getScaleBudgetFeeSplit = (params: {
|
||||
.mul(majorFactor)
|
||||
.mul(workStageFactor)
|
||||
.mul(workRatio)
|
||||
.div(100)
|
||||
const roundedBenchmarkBudget = roundTo(addNumbers(benchmarkBudgetBasic, benchmarkBudgetOptional), 2)
|
||||
const basic = roundTo(toDecimal(benchmarkBudgetBasic).mul(multiplier), 2)
|
||||
const optional = roundTo(toDecimal(benchmarkBudgetOptional).mul(multiplier), 2)
|
||||
@ -121,7 +120,7 @@ export const getScaleBudgetFee = (params: {
|
||||
const majorFactor = toFiniteNumberOrNull(params.majorFactor)
|
||||
const consultCategoryFactor = toFiniteNumberOrNull(params.consultCategoryFactor)
|
||||
const workStageFactor = hasWorkStageFactor ? toFiniteNumberOrNull(params.workStageFactor) : 1
|
||||
const workRatio = hasWorkRatio ? toFiniteNumberOrNull(params.workRatio) : 100
|
||||
const workRatio = hasWorkRatio ? toFiniteNumberOrNull(params.workRatio) : 1
|
||||
|
||||
if (
|
||||
benchmarkBudget == null ||
|
||||
@ -138,6 +137,5 @@ export const getScaleBudgetFee = (params: {
|
||||
.mul(majorFactor)
|
||||
.mul(workStageFactor)
|
||||
.mul(workRatio)
|
||||
.div(100)
|
||||
return roundTo(toDecimal(roundedBenchmarkBudget).mul(multiplier), 2)
|
||||
}
|
||||
|
||||
851
src/sql.ts
851
src/sql.ts
@ -173,44 +173,819 @@ export const majorList = {
|
||||
|
||||
|
||||
export const serviceList = {
|
||||
0: { code: 'D1', name: '全过程造价咨询', maxCoe: null, minCoe: null, defCoe: 1, desc: '', isRoad: true, isRailway: true, isWaterway: true, mutiple: false, order: 1, enableInvestScale: true, enableLandScale: false, investScaleSingleTotal: true, amount: false, workDay: true },
|
||||
1: { code: 'D2', name: '分阶段造价咨询', maxCoe: null, minCoe: null, defCoe: null, desc: '', isRoad: true, isRailway: true, isWaterway: true, mutiple: false, order: 2, enableInvestScale: null, enableLandScale: null, investScaleSingleTotal: null, amount: null, workDay: null },
|
||||
2: { code: 'D2-1', name: '前期阶段造价咨询', quickLabel: '项目前期阶段造价咨询', maxCoe: null, minCoe: null, defCoe: 0.5, desc: '', isRoad: true, isRailway: true, isWaterway: true, mutiple: false, order: 3, enableInvestScale: true, enableLandScale: false, investScaleSingleTotal: true, amount: false, workDay: true },
|
||||
3: { code: 'D2-2-1', name: '实施阶段造价咨询(公路、水运)', quickLabel: '项目实施阶段造价咨询', maxCoe: null, minCoe: null, defCoe: 0.55, desc: '本系数适用于公路和水运工程。', isRoad: true, isRailway: false, isWaterway: true, mutiple: false, order: 4, enableInvestScale: true, enableLandScale: false, investScaleSingleTotal: true, amount: false, workDay: true },
|
||||
4: { code: 'D2-2-2', name: '实施阶段造价咨询(铁路)', quickLabel: '项目实施阶段造价咨询', maxCoe: null, minCoe: null, defCoe: 0.6, desc: '本系数适用于铁路工程。', isRoad: false, isRailway: true, isWaterway: false, mutiple: false, order: 5, enableInvestScale: true, enableLandScale: false, investScaleSingleTotal: true, amount: false, workDay: true },
|
||||
5: { code: 'D3', name: '基本造价咨询', maxCoe: null, minCoe: null, defCoe: null, desc: '', isRoad: true, isRailway: true, isWaterway: true, mutiple: false, order: 6, enableInvestScale: null, enableLandScale: null, investScaleSingleTotal: null, amount: null, workDay: null },
|
||||
6: { code: 'D3-1', name: '投资估算', maxCoe: null, minCoe: null, defCoe: 0.1, desc: '委托同一咨询人同时负责D3-1和D3-2时,D3-1和D3-2的合计调整系数为0.25。', isRoad: true, isRailway: true, isWaterway: true, mutiple: false, order: 7, enableInvestScale: true, enableLandScale: true, investScaleSingleTotal: false, amount: false, workDay: true },
|
||||
7: { code: 'D3-2', name: '设计概算', maxCoe: null, minCoe: null, defCoe: 0.2, desc: '', isRoad: true, isRailway: true, isWaterway: true, mutiple: false, order: 8, enableInvestScale: true, enableLandScale: false, investScaleSingleTotal: true, amount: false, workDay: true },
|
||||
8: { code: 'D3-3', name: '施工图预算', maxCoe: null, minCoe: null, defCoe: 0.25, desc: '委托同一咨询人同时负责D3-3和D3-4时,D3-3和D3-4的合计调整系数为0.3。', isRoad: true, isRailway: true, isWaterway: true, mutiple: false, order: 9, enableInvestScale: true, enableLandScale: true, investScaleSingleTotal: false, amount: false, workDay: true },
|
||||
9: { code: 'D3-4', name: '招标工程量清单及清单预算(或最高投标限价)', maxCoe: null, minCoe: null, defCoe: 0.15, desc: '', isRoad: true, isRailway: true, isWaterway: true, mutiple: false, order: 10, enableInvestScale: true, enableLandScale: true, investScaleSingleTotal: false, amount: false, workDay: true },
|
||||
10: { code: 'D3-5', name: '清理概算(仅限铁路)', maxCoe: null, minCoe: null, defCoe: 0.2, desc: '本系数适用于铁路工程。', isRoad: false, isRailway: true, isWaterway: false, mutiple: false, order: 11, enableInvestScale: true, enableLandScale: false, investScaleSingleTotal: true, amount: false, workDay: true },
|
||||
11: { code: 'D3-6-1', name: '合同(工程)结算', maxCoe: null, minCoe: null, defCoe: 0.3, desc: '本系数适用于公路和水运工程。', isRoad: true, isRailway: false, isWaterway: true, mutiple: false, order: 12, enableInvestScale: true, enableLandScale: true, investScaleSingleTotal: false, amount: false, workDay: true },
|
||||
12: { code: 'D3-6-2', name: '合同(工程)结算', maxCoe: null, minCoe: null, defCoe: 0.2, desc: '本系数适用于铁路工程。', isRoad: false, isRailway: true, isWaterway: false, mutiple: false, order: 13, enableInvestScale: true, enableLandScale: true, investScaleSingleTotal: false, amount: false, workDay: true },
|
||||
13: { code: 'D3-7', name: '竣工决算', maxCoe: null, minCoe: null, defCoe: 0.1, desc: '', isRoad: true, isRailway: true, isWaterway: true, mutiple: false, order: 14, enableInvestScale: true, enableLandScale: false, investScaleSingleTotal: true, amount: false, workDay: true },
|
||||
14: { code: 'D4', name: '专项造价咨询', maxCoe: null, minCoe: null, defCoe: null, desc: '', isRoad: true, isRailway: true, isWaterway: true, mutiple: false, order: 15, enableInvestScale: null, enableLandScale: null, investScaleSingleTotal: null, amount: null, workDay: null },
|
||||
15: { code: 'D4-1', name: '工程造价顾问', maxCoe: null, minCoe: null, defCoe: 1, desc: '本表系数适用于采用工作量计价法基准预算的调整系数。', isRoad: true, isRailway: true, isWaterway: true, mutiple: false, order: 16, enableInvestScale: false, enableLandScale: false, investScaleSingleTotal: null, amount: true, workDay: true },
|
||||
16: { code: 'D4-2', name: '造价政策制(修)订', maxCoe: null, minCoe: null, defCoe: 1, desc: '', isRoad: true, isRailway: true, isWaterway: true, mutiple: false, order: 17, enableInvestScale: false, enableLandScale: false, investScaleSingleTotal: null, amount: true, workDay: true },
|
||||
17: { code: 'D4-3', name: '造价科学与技术研究', maxCoe: null, minCoe: null, defCoe: 1, desc: '', isRoad: true, isRailway: true, isWaterway: true, mutiple: false, order: 18, enableInvestScale: false, enableLandScale: false, investScaleSingleTotal: null, amount: true, workDay: true },
|
||||
18: { code: 'D4-4', name: '定额测定', maxCoe: null, minCoe: null, defCoe: 1, desc: '', isRoad: true, isRailway: true, isWaterway: true, mutiple: false, order: 19, enableInvestScale: false, enableLandScale: false, investScaleSingleTotal: null, amount: true, workDay: true },
|
||||
19: { code: 'D4-5', name: '造价信息咨询', maxCoe: null, minCoe: null, defCoe: 1, desc: '', isRoad: true, isRailway: true, isWaterway: true, mutiple: false, order: 20, enableInvestScale: false, enableLandScale: false, investScaleSingleTotal: null, amount: true, workDay: true },
|
||||
20: { code: 'D4-6', name: '造价鉴定', maxCoe: null, minCoe: null, defCoe: 0.5, desc: '本表系数适用于采用规模计价法基准预算的调整系数。', isRoad: true, isRailway: true, isWaterway: true, mutiple: false, order: 21, enableInvestScale: true, enableLandScale: true, investScaleSingleTotal: false, amount: false, workDay: true },
|
||||
21: { code: 'D4-7', name: '工程成本测算', maxCoe: null, minCoe: null, defCoe: 0.1, desc: '', isRoad: true, isRailway: true, isWaterway: true, mutiple: false, order: 22, enableInvestScale: true, enableLandScale: true, investScaleSingleTotal: false, amount: false, workDay: true },
|
||||
22: { code: 'D4-8', name: '工程成本核算', maxCoe: null, minCoe: null, defCoe: 0.1, desc: '', isRoad: true, isRailway: true, isWaterway: true, mutiple: false, order: 23, enableInvestScale: true, enableLandScale: true, investScaleSingleTotal: false, amount: false, workDay: true },
|
||||
23: { code: 'D4-9', name: '计算工程量', maxCoe: null, minCoe: null, defCoe: 0.2, desc: '', isRoad: true, isRailway: true, isWaterway: true, mutiple: false, order: 24, enableInvestScale: true, enableLandScale: true, investScaleSingleTotal: false, amount: false, workDay: true },
|
||||
24: { code: 'D4-10', name: '工程变更费用咨询', maxCoe: null, minCoe: null, defCoe: 0.5, desc: '', isRoad: true, isRailway: true, isWaterway: true, mutiple: false, order: 25, enableInvestScale: true, enableLandScale: true, investScaleSingleTotal: false, amount: false, workDay: true },
|
||||
25: { code: 'D4-11', name: '调整估算', maxCoe: 0.2, minCoe: 0.1, defCoe: 0.15, desc: '', isRoad: true, isRailway: true, isWaterway: true, mutiple: false, order: 26, enableInvestScale: true, enableLandScale: false, investScaleSingleTotal: true, amount: false, workDay: true },
|
||||
26: { code: 'D4-12', name: '调整概算', maxCoe: 0.3, minCoe: 0.15, defCoe: 0.225, desc: '本表系数适用于采用规模计价法基准预算的系数;依据其调整时期所在建设阶段和基础资料的不同,其系数取值不同。', isRoad: true, isRailway: true, isWaterway: true, mutiple: false, order: 27, enableInvestScale: true, enableLandScale: false, investScaleSingleTotal: true, amount: false, workDay: true },
|
||||
27: { code: 'D4-13', name: '造价检查', maxCoe: null, minCoe: null, defCoe: null, desc: '可按照服务工日数量×服务工日人工单价×综合预算系数;也可按照服务工日数量×服务工日综合预算单价。', isRoad: true, isRailway: true, isWaterway: true, mutiple: false, order: 28, enableInvestScale: false, enableLandScale: false, investScaleSingleTotal: null, amount: false, workDay: true },
|
||||
28: { code: 'D4-14', name: '其他专项咨询', maxCoe: null, minCoe: null, defCoe: null, desc: '可参照相同或相似服务的系数。', isRoad: true, isRailway: true, isWaterway: true, mutiple: false, order: 29, enableInvestScale: false, enableLandScale: false, investScaleSingleTotal: null, amount: false, workDay: true },
|
||||
29: { code: 'D4-15-1', name: '造价数据测试验证(估算)', maxCoe: null, minCoe: null, defCoe: 0.04, desc: '委托同一咨询人同时负责D3-1和D3-2时,D3-1和D3-2的合计调整系数为0.25。', isRoad: true, isRailway: true, isWaterway: true, mutiple: true, order: 30, enableInvestScale: true, enableLandScale: false, investScaleSingleTotal: true, amount: false, workDay: true },
|
||||
30: { code: 'D4-15-2', name: '造价数据测试验证(概算)', maxCoe: null, minCoe: null, defCoe: 0.08, desc: '', isRoad: true, isRailway: true, isWaterway: true, mutiple: true, order: 31, enableInvestScale: true, enableLandScale: false, investScaleSingleTotal: true, amount: false, workDay: true },
|
||||
31: { code: 'D4-15-3', name: '造价数据测试验证(施工图预算)', maxCoe: null, minCoe: null, defCoe: 0.1, desc: '委托同一咨询人同时负责D3-3和D3-4时,D3-3和D3-4的合计调整系数为0.3。', isRoad: true, isRailway: true, isWaterway: true, mutiple: true, order: 32, enableInvestScale: true, enableLandScale: true, investScaleSingleTotal: false, amount: false, workDay: true },
|
||||
32: { code: 'D4-15-4', name: '造价数据测试验证(招标工程量清单及清单预算(或最高投标限价))', maxCoe: null, minCoe: null, defCoe: 0.06, desc: '', isRoad: true, isRailway: true, isWaterway: true, mutiple: true, order: 33, enableInvestScale: true, enableLandScale: true, investScaleSingleTotal: false, amount: false, workDay: true },
|
||||
33: { code: 'D4-15-5', name: '造价数据测试验证(清理概算(仅限铁路))', maxCoe: null, minCoe: null, defCoe: 0.08, desc: '本系数适用于铁路工程。', isRoad: false, isRailway: true, isWaterway: false, mutiple: true, order: 34, enableInvestScale: true, enableLandScale: false, investScaleSingleTotal: true, amount: false, workDay: true },
|
||||
34: { code: 'D4-15-6', name: '造价数据测试验证(合同(工程)结算)', maxCoe: null, minCoe: null, defCoe: 0.12, desc: '本系数适用于公路和水运工程。', isRoad: true, isRailway: false, isWaterway: true, mutiple: true, order: 35, enableInvestScale: true, enableLandScale: true, investScaleSingleTotal: false, amount: false, workDay: true },
|
||||
35: { code: 'D4-15-7', name: '造价数据测试验证(合同(工程)结算)', maxCoe: null, minCoe: null, defCoe: 0.08, desc: '本系数适用于铁路工程。', isRoad: false, isRailway: true, isWaterway: false, mutiple: true, order: 36, enableInvestScale: true, enableLandScale: true, investScaleSingleTotal: false, amount: false, workDay: true },
|
||||
36: { code: 'D4-15-8', name: '造价数据测试验证(竣工决算)', maxCoe: null, minCoe: null, defCoe: 0.04, desc: '', isRoad: true, isRailway: true, isWaterway: true, mutiple: true, order: 37, enableInvestScale: true, enableLandScale: false, investScaleSingleTotal: true, amount: false, workDay: true },
|
||||
};
|
||||
0: {
|
||||
code: 'D1',
|
||||
name: '全过程造价咨询',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: 1,
|
||||
desc: '',
|
||||
isRoad: true,
|
||||
isRailway: true,
|
||||
isWaterway: true,
|
||||
mutiple: false,
|
||||
order: 1,
|
||||
enableInvestScale: true,
|
||||
enableLandScale: false,
|
||||
investScaleSingleTotal: true,
|
||||
amount: false,
|
||||
workDay: true
|
||||
},
|
||||
1: {
|
||||
code: 'D2',
|
||||
name: '分阶段造价咨询',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: null,
|
||||
desc: '',
|
||||
isRoad: true,
|
||||
isRailway: true,
|
||||
isWaterway: true,
|
||||
mutiple: false,
|
||||
order: 2,
|
||||
enableInvestScale: null,
|
||||
enableLandScale: null,
|
||||
investScaleSingleTotal: null,
|
||||
amount: null,
|
||||
workDay: null
|
||||
},
|
||||
2: {
|
||||
code: 'D2-1',
|
||||
name: '前期阶段造价咨询',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: 0.5,
|
||||
desc: '',
|
||||
isRoad: true,
|
||||
isRailway: true,
|
||||
isWaterway: true,
|
||||
mutiple: false,
|
||||
order: 3,
|
||||
enableInvestScale: true,
|
||||
enableLandScale: false,
|
||||
investScaleSingleTotal: true,
|
||||
amount: false,
|
||||
workDay: true
|
||||
},
|
||||
3: {
|
||||
code: 'D2-2-1',
|
||||
name: '实施阶段造价咨询(公路、水运)',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: 0.55,
|
||||
desc: '本系数适用于公路和水运工程。',
|
||||
isRoad: true,
|
||||
isRailway: false,
|
||||
isWaterway: true,
|
||||
mutiple: false,
|
||||
order: 4,
|
||||
enableInvestScale: true,
|
||||
enableLandScale: false,
|
||||
investScaleSingleTotal: true,
|
||||
amount: false,
|
||||
workDay: true
|
||||
},
|
||||
4: {
|
||||
code: 'D2-2-2',
|
||||
name: '实施阶段造价咨询(铁路)',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: 0.6,
|
||||
desc: '本系数适用于铁路工程。',
|
||||
isRoad: false,
|
||||
isRailway: true,
|
||||
isWaterway: false,
|
||||
mutiple: false,
|
||||
order: 5,
|
||||
enableInvestScale: true,
|
||||
enableLandScale: false,
|
||||
investScaleSingleTotal: true,
|
||||
amount: false,
|
||||
workDay: true
|
||||
},
|
||||
5: {
|
||||
code: 'D3',
|
||||
name: '基本造价咨询',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: null,
|
||||
desc: '',
|
||||
isRoad: true,
|
||||
isRailway: true,
|
||||
isWaterway: true,
|
||||
mutiple: false,
|
||||
order: 6,
|
||||
enableInvestScale: null,
|
||||
enableLandScale: null,
|
||||
investScaleSingleTotal: null,
|
||||
amount: null,
|
||||
workDay: null
|
||||
},
|
||||
6: {
|
||||
code: 'D3-1',
|
||||
name: '投资估算',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: 0.1,
|
||||
desc: '委托同一咨询人同时负责D3-1和D3-2时,D3-1和D3-2的合计调整系数为0.25。',
|
||||
isRoad: true,
|
||||
isRailway: true,
|
||||
isWaterway: true,
|
||||
mutiple: false,
|
||||
order: 7,
|
||||
enableInvestScale: true,
|
||||
enableLandScale: false,
|
||||
investScaleSingleTotal: true,
|
||||
amount: false,
|
||||
workDay: true
|
||||
},
|
||||
7: {
|
||||
code: 'D3-2',
|
||||
name: '设计概算',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: 0.2,
|
||||
desc: '',
|
||||
isRoad: true,
|
||||
isRailway: true,
|
||||
isWaterway: true,
|
||||
mutiple: false,
|
||||
order: 8,
|
||||
enableInvestScale: true,
|
||||
enableLandScale: false,
|
||||
investScaleSingleTotal: true,
|
||||
amount: false,
|
||||
workDay: true
|
||||
},
|
||||
8: {
|
||||
code: 'D3-3',
|
||||
name: '施工图预算',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: 0.25,
|
||||
desc: '委托同一咨询人同时负责D3-3和D3-4时,D3-3和D3-4的合计调整系数为0.3。',
|
||||
isRoad: true,
|
||||
isRailway: true,
|
||||
isWaterway: true,
|
||||
mutiple: false,
|
||||
order: 9,
|
||||
enableInvestScale: true,
|
||||
enableLandScale: true,
|
||||
investScaleSingleTotal: false,
|
||||
amount: false,
|
||||
workDay: true
|
||||
},
|
||||
9: {
|
||||
code: 'D3-4',
|
||||
name: '招标工程量清单及清单预算(或最高投标限价)',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: 0.15,
|
||||
desc: '',
|
||||
isRoad: true,
|
||||
isRailway: true,
|
||||
isWaterway: true,
|
||||
mutiple: false,
|
||||
order: 10,
|
||||
enableInvestScale: true,
|
||||
enableLandScale: true,
|
||||
investScaleSingleTotal: false,
|
||||
amount: false,
|
||||
workDay: true
|
||||
},
|
||||
10: {
|
||||
code: 'D3-5',
|
||||
name: '清理概算(仅限铁路)',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: 0.2,
|
||||
desc: '本系数适用于铁路工程。',
|
||||
isRoad: false,
|
||||
isRailway: true,
|
||||
isWaterway: false,
|
||||
mutiple: false,
|
||||
order: 11,
|
||||
enableInvestScale: true,
|
||||
enableLandScale: false,
|
||||
investScaleSingleTotal: true,
|
||||
amount: false,
|
||||
workDay: true
|
||||
},
|
||||
11: {
|
||||
code: 'D3-6-1',
|
||||
name: '合同(工程)结算',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: 0.3,
|
||||
desc: '本系数适用于公路和水运工程。',
|
||||
isRoad: true,
|
||||
isRailway: false,
|
||||
isWaterway: true,
|
||||
mutiple: false,
|
||||
order: 12,
|
||||
enableInvestScale: true,
|
||||
enableLandScale: true,
|
||||
investScaleSingleTotal: false,
|
||||
amount: false,
|
||||
workDay: true
|
||||
},
|
||||
12: {
|
||||
code: 'D3-6-2',
|
||||
name: '合同(工程)结算',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: 0.2,
|
||||
desc: '本系数适用于铁路工程。',
|
||||
isRoad: false,
|
||||
isRailway: true,
|
||||
isWaterway: false,
|
||||
mutiple: false,
|
||||
order: 13,
|
||||
enableInvestScale: true,
|
||||
enableLandScale: true,
|
||||
investScaleSingleTotal: false,
|
||||
amount: false,
|
||||
workDay: true
|
||||
},
|
||||
13: {
|
||||
code: 'D3-7',
|
||||
name: '竣工决算',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: 0.1,
|
||||
desc: '',
|
||||
isRoad: true,
|
||||
isRailway: true,
|
||||
isWaterway: true,
|
||||
mutiple: false,
|
||||
order: 14,
|
||||
enableInvestScale: true,
|
||||
enableLandScale: false,
|
||||
investScaleSingleTotal: true,
|
||||
amount: false,
|
||||
workDay: true
|
||||
},
|
||||
14: {
|
||||
code: 'D4',
|
||||
name: '专项造价咨询',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: null,
|
||||
desc: '',
|
||||
isRoad: true,
|
||||
isRailway: true,
|
||||
isWaterway: true,
|
||||
mutiple: false,
|
||||
order: 19,
|
||||
enableInvestScale: null,
|
||||
enableLandScale: null,
|
||||
investScaleSingleTotal: null,
|
||||
amount: null,
|
||||
workDay: null
|
||||
},
|
||||
15: {
|
||||
code: 'D4-1',
|
||||
name: '工程造价顾问',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: 1,
|
||||
desc: '本表系数适用于采用工作量计价法基准预算的调整系数。',
|
||||
isRoad: true,
|
||||
isRailway: true,
|
||||
isWaterway: true,
|
||||
mutiple: false,
|
||||
order: 20,
|
||||
enableInvestScale: false,
|
||||
enableLandScale: false,
|
||||
investScaleSingleTotal: null,
|
||||
amount: true,
|
||||
workDay: true
|
||||
},
|
||||
16: {
|
||||
code: 'D4-2',
|
||||
name: '造价政策制(修)订',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: 1,
|
||||
desc: '',
|
||||
isRoad: true,
|
||||
isRailway: true,
|
||||
isWaterway: true,
|
||||
mutiple: false,
|
||||
order: 21,
|
||||
enableInvestScale: false,
|
||||
enableLandScale: false,
|
||||
investScaleSingleTotal: null,
|
||||
amount: true,
|
||||
workDay: true
|
||||
},
|
||||
17: {
|
||||
code: 'D4-3',
|
||||
name: '造价科学与技术研究',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: 1,
|
||||
desc: '',
|
||||
isRoad: true,
|
||||
isRailway: true,
|
||||
isWaterway: true,
|
||||
mutiple: false,
|
||||
order: 22,
|
||||
enableInvestScale: false,
|
||||
enableLandScale: false,
|
||||
investScaleSingleTotal: null,
|
||||
amount: true,
|
||||
workDay: true
|
||||
},
|
||||
18: {
|
||||
code: 'D4-4',
|
||||
name: '定额测定',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: 1,
|
||||
desc: '',
|
||||
isRoad: true,
|
||||
isRailway: true,
|
||||
isWaterway: true,
|
||||
mutiple: false,
|
||||
order: 23,
|
||||
enableInvestScale: false,
|
||||
enableLandScale: false,
|
||||
investScaleSingleTotal: null,
|
||||
amount: true,
|
||||
workDay: true
|
||||
},
|
||||
19: {
|
||||
code: 'D4-5',
|
||||
name: '造价信息咨询',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: 1,
|
||||
desc: '',
|
||||
isRoad: true,
|
||||
isRailway: true,
|
||||
isWaterway: true,
|
||||
mutiple: false,
|
||||
order: 24,
|
||||
enableInvestScale: false,
|
||||
enableLandScale: false,
|
||||
investScaleSingleTotal: null,
|
||||
amount: true,
|
||||
workDay: true
|
||||
},
|
||||
20: {
|
||||
code: 'D4-6',
|
||||
name: '造价鉴定',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: 0.5,
|
||||
desc: '本表系数适用于采用规模计价法基准预算的调整系数。',
|
||||
isRoad: true,
|
||||
isRailway: true,
|
||||
isWaterway: true,
|
||||
mutiple: false,
|
||||
order: 25,
|
||||
enableInvestScale: true,
|
||||
enableLandScale: true,
|
||||
investScaleSingleTotal: false,
|
||||
amount: false,
|
||||
workDay: true
|
||||
},
|
||||
21: {
|
||||
code: 'D4-7',
|
||||
name: '工程成本测算',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: 0.1,
|
||||
desc: '',
|
||||
isRoad: true,
|
||||
isRailway: true,
|
||||
isWaterway: true,
|
||||
mutiple: false,
|
||||
order: 26,
|
||||
enableInvestScale: true,
|
||||
enableLandScale: true,
|
||||
investScaleSingleTotal: false,
|
||||
amount: false,
|
||||
workDay: true
|
||||
},
|
||||
22: {
|
||||
code: 'D4-8',
|
||||
name: '工程成本核算',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: 0.1,
|
||||
desc: '',
|
||||
isRoad: true,
|
||||
isRailway: true,
|
||||
isWaterway: true,
|
||||
mutiple: false,
|
||||
order: 27,
|
||||
enableInvestScale: true,
|
||||
enableLandScale: true,
|
||||
investScaleSingleTotal: false,
|
||||
amount: false,
|
||||
workDay: true
|
||||
},
|
||||
23: {
|
||||
code: 'D4-9',
|
||||
name: '计算工程量',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: 0.2,
|
||||
desc: '',
|
||||
isRoad: true,
|
||||
isRailway: true,
|
||||
isWaterway: true,
|
||||
mutiple: false,
|
||||
order: 28,
|
||||
enableInvestScale: true,
|
||||
enableLandScale: true,
|
||||
investScaleSingleTotal: false,
|
||||
amount: false,
|
||||
workDay: true
|
||||
},
|
||||
24: {
|
||||
code: 'D4-10',
|
||||
name: '工程变更费用咨询',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: 0.5,
|
||||
desc: '',
|
||||
isRoad: true,
|
||||
isRailway: true,
|
||||
isWaterway: true,
|
||||
mutiple: false,
|
||||
order: 29,
|
||||
enableInvestScale: true,
|
||||
enableLandScale: true,
|
||||
investScaleSingleTotal: false,
|
||||
amount: false,
|
||||
workDay: true
|
||||
},
|
||||
25: {
|
||||
code: 'D4-11',
|
||||
name: '调整估算',
|
||||
maxCoe: 0.2,
|
||||
minCoe: 0.1,
|
||||
defCoe: 0.15,
|
||||
desc: '',
|
||||
isRoad: true,
|
||||
isRailway: true,
|
||||
isWaterway: true,
|
||||
mutiple: false,
|
||||
order: 30,
|
||||
enableInvestScale: true,
|
||||
enableLandScale: false,
|
||||
investScaleSingleTotal: true,
|
||||
amount: false,
|
||||
workDay: true
|
||||
},
|
||||
26: {
|
||||
code: 'D4-12',
|
||||
name: '调整概算',
|
||||
maxCoe: 0.3,
|
||||
minCoe: 0.15,
|
||||
defCoe: 0.225,
|
||||
desc: '本表系数适用于采用规模计价法基准预算的系数;依据其调整时期所在建设阶段和基础资料的不同,其系数取值不同。',
|
||||
isRoad: true,
|
||||
isRailway: true,
|
||||
isWaterway: true,
|
||||
mutiple: false,
|
||||
order: 31,
|
||||
enableInvestScale: true,
|
||||
enableLandScale: false,
|
||||
investScaleSingleTotal: true,
|
||||
amount: false,
|
||||
workDay: true
|
||||
},
|
||||
27: {
|
||||
code: 'D4-13',
|
||||
name: '造价检查',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: null,
|
||||
desc: '可按照服务工日数量×服务工日人工单价×综合预算系数;也可按照服务工日数量×服务工日综合预算单价。',
|
||||
isRoad: true,
|
||||
isRailway: true,
|
||||
isWaterway: true,
|
||||
mutiple: false,
|
||||
order: 32,
|
||||
enableInvestScale: false,
|
||||
enableLandScale: false,
|
||||
investScaleSingleTotal: null,
|
||||
amount: false,
|
||||
workDay: true
|
||||
},
|
||||
28: {
|
||||
code: 'D4-14',
|
||||
name: '其他专项咨询',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: null,
|
||||
desc: '可参照相同或相似服务的系数。',
|
||||
isRoad: true,
|
||||
isRailway: true,
|
||||
isWaterway: true,
|
||||
mutiple: false,
|
||||
order: 33,
|
||||
enableInvestScale: false,
|
||||
enableLandScale: false,
|
||||
investScaleSingleTotal: null,
|
||||
amount: false,
|
||||
workDay: true
|
||||
},
|
||||
29: {
|
||||
code: 'D4-15-1',
|
||||
name: '造价数据测试验证(估算)',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: 0.04,
|
||||
desc: '委托同一咨询人同时负责D3-1和D3-2时,D3-1和D3-2的合计调整系数为0.25。',
|
||||
isRoad: true,
|
||||
isRailway: true,
|
||||
isWaterway: true,
|
||||
mutiple: true,
|
||||
order: 34,
|
||||
enableInvestScale: true,
|
||||
enableLandScale: false,
|
||||
investScaleSingleTotal: true,
|
||||
amount: false,
|
||||
workDay: true
|
||||
},
|
||||
30: {
|
||||
code: 'D4-15-2',
|
||||
name: '造价数据测试验证(概算)',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: 0.08,
|
||||
desc: '',
|
||||
isRoad: true,
|
||||
isRailway: true,
|
||||
isWaterway: true,
|
||||
mutiple: true,
|
||||
order: 35,
|
||||
enableInvestScale: true,
|
||||
enableLandScale: false,
|
||||
investScaleSingleTotal: true,
|
||||
amount: false,
|
||||
workDay: true
|
||||
},
|
||||
31: {
|
||||
code: 'D4-15-3',
|
||||
name: '造价数据测试验证(施工图预算)',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: 0.1,
|
||||
desc: '委托同一咨询人同时负责D3-3和D3-4时,D3-3和D3-4的合计调整系数为0.3。',
|
||||
isRoad: true,
|
||||
isRailway: true,
|
||||
isWaterway: true,
|
||||
mutiple: true,
|
||||
order: 36,
|
||||
enableInvestScale: true,
|
||||
enableLandScale: true,
|
||||
investScaleSingleTotal: false,
|
||||
amount: false,
|
||||
workDay: true
|
||||
},
|
||||
32: {
|
||||
code: 'D4-15-4',
|
||||
name: '造价数据测试验证(招标工程量清单及清单预算(或最高投标限价))',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: 0.06,
|
||||
desc: '',
|
||||
isRoad: true,
|
||||
isRailway: true,
|
||||
isWaterway: true,
|
||||
mutiple: true,
|
||||
order: 37,
|
||||
enableInvestScale: true,
|
||||
enableLandScale: true,
|
||||
investScaleSingleTotal: false,
|
||||
amount: false,
|
||||
workDay: true
|
||||
},
|
||||
33: {
|
||||
code: 'D4-15-5',
|
||||
name: '造价数据测试验证(清理概算(仅限铁路))',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: 0.08,
|
||||
desc: '本系数适用于铁路工程。',
|
||||
isRoad: false,
|
||||
isRailway: true,
|
||||
isWaterway: false,
|
||||
mutiple: true,
|
||||
order: 38,
|
||||
enableInvestScale: true,
|
||||
enableLandScale: false,
|
||||
investScaleSingleTotal: true,
|
||||
amount: false,
|
||||
workDay: true
|
||||
},
|
||||
34: {
|
||||
code: 'D4-15-6',
|
||||
name: '造价数据测试验证(合同(工程)结算)',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: 0.12,
|
||||
desc: '本系数适用于公路和水运工程。',
|
||||
isRoad: true,
|
||||
isRailway: false,
|
||||
isWaterway: true,
|
||||
mutiple: true,
|
||||
order: 39,
|
||||
enableInvestScale: true,
|
||||
enableLandScale: true,
|
||||
investScaleSingleTotal: false,
|
||||
amount: false,
|
||||
workDay: true
|
||||
},
|
||||
35: {
|
||||
code: 'D4-15-7',
|
||||
name: '造价数据测试验证(合同(工程)结算)',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: 0.08,
|
||||
desc: '本系数适用于铁路工程。',
|
||||
isRoad: false,
|
||||
isRailway: true,
|
||||
isWaterway: false,
|
||||
mutiple: true,
|
||||
order: 40,
|
||||
enableInvestScale: true,
|
||||
enableLandScale: true,
|
||||
investScaleSingleTotal: false,
|
||||
amount: false,
|
||||
workDay: true
|
||||
},
|
||||
36: {
|
||||
code: 'D4-15-8',
|
||||
name: '造价数据测试验证(竣工决算)',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: 0.04,
|
||||
desc: '',
|
||||
isRoad: true,
|
||||
isRailway: true,
|
||||
isWaterway: true,
|
||||
mutiple: true,
|
||||
order: 41,
|
||||
enableInvestScale: true,
|
||||
enableLandScale: false,
|
||||
investScaleSingleTotal: true,
|
||||
amount: false,
|
||||
workDay: true
|
||||
},
|
||||
37: {
|
||||
code: 'D3-1',
|
||||
name: '投资估算•单独委托征地补偿与拆迁补偿',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: 0.1,
|
||||
desc: '委托同一咨询人同时负责D3-1和D3-2时,D3-1和D3-2的合计调整系数为0.25。',
|
||||
isRoad: true,
|
||||
isRailway: true,
|
||||
isWaterway: true,
|
||||
mutiple: false,
|
||||
order: 15,
|
||||
enableInvestScale: false,
|
||||
enableLandScale: true,
|
||||
investScaleSingleTotal: null,
|
||||
amount: false,
|
||||
workDay: true
|
||||
},
|
||||
38: {
|
||||
code: 'D3-2',
|
||||
name: '设计概算•单独委托征地补偿与拆迁补偿',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: 0.2,
|
||||
desc: '',
|
||||
isRoad: true,
|
||||
isRailway: true,
|
||||
isWaterway: true,
|
||||
mutiple: false,
|
||||
order: 16,
|
||||
enableInvestScale: false,
|
||||
enableLandScale: true,
|
||||
investScaleSingleTotal: null,
|
||||
amount: false,
|
||||
workDay: true
|
||||
},
|
||||
39: {
|
||||
code: 'D3-5',
|
||||
name: '清理概算•单独委托征地补偿与拆迁补偿',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: 0.2,
|
||||
desc: '本系数适用于铁路工程。',
|
||||
isRoad: false,
|
||||
isRailway: true,
|
||||
isWaterway: false,
|
||||
mutiple: false,
|
||||
order: 17,
|
||||
enableInvestScale: false,
|
||||
enableLandScale: true,
|
||||
investScaleSingleTotal: null,
|
||||
amount: false,
|
||||
workDay: true
|
||||
},
|
||||
40: {
|
||||
code: 'D3-7',
|
||||
name: '竣工决算•单独委托征地补偿与拆迁补偿',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: 0.1,
|
||||
desc: '',
|
||||
isRoad: true,
|
||||
isRailway: true,
|
||||
isWaterway: true,
|
||||
mutiple: false,
|
||||
order: 18,
|
||||
enableInvestScale: false,
|
||||
enableLandScale: true,
|
||||
investScaleSingleTotal: null,
|
||||
amount: false,
|
||||
workDay: true
|
||||
},
|
||||
41: {
|
||||
code: 'D4-15-1',
|
||||
name: '造价数据测试验证(投资估算•征地补偿与拆迁补偿)',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: 0.04,
|
||||
desc: '委托同一咨询人同时负责D3-1和D3-2时,D3-1和D3-2的合计调整系数为0.25。',
|
||||
isRoad: true,
|
||||
isRailway: true,
|
||||
isWaterway: true,
|
||||
mutiple: true,
|
||||
order: 42,
|
||||
enableInvestScale: false,
|
||||
enableLandScale: true,
|
||||
investScaleSingleTotal: null,
|
||||
amount: false,
|
||||
workDay: true
|
||||
},
|
||||
42: {
|
||||
code: 'D4-15-2',
|
||||
name: '造价数据测试验证(设计概算•征地补偿与拆迁补偿)',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: 0.08,
|
||||
desc: '',
|
||||
isRoad: true,
|
||||
isRailway: true,
|
||||
isWaterway: true,
|
||||
mutiple: true,
|
||||
order: 43,
|
||||
enableInvestScale: false,
|
||||
enableLandScale: true,
|
||||
investScaleSingleTotal: null,
|
||||
amount: false,
|
||||
workDay: true
|
||||
},
|
||||
43: {
|
||||
code: 'D4-15-5',
|
||||
name: '造价数据测试验证(清理概算•征地补偿与拆迁补偿)',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: 0.08,
|
||||
desc: '本系数适用于铁路工程。',
|
||||
isRoad: false,
|
||||
isRailway: true,
|
||||
isWaterway: false,
|
||||
mutiple: true,
|
||||
order: 44,
|
||||
enableInvestScale: false,
|
||||
enableLandScale: true,
|
||||
investScaleSingleTotal: null,
|
||||
amount: false,
|
||||
workDay: true
|
||||
},
|
||||
44: {
|
||||
code: 'D4-15-8',
|
||||
name: '造价数据测试验证(竣工决算•征地补偿与拆迁补偿)',
|
||||
maxCoe: null,
|
||||
minCoe: null,
|
||||
defCoe: 0.04,
|
||||
desc: '',
|
||||
isRoad: true,
|
||||
isRailway: true,
|
||||
isWaterway: true,
|
||||
mutiple: true,
|
||||
order: 45,
|
||||
enableInvestScale: false,
|
||||
enableLandScale: true,
|
||||
investScaleSingleTotal: null,
|
||||
amount: false,
|
||||
workDay: true
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
export const taskList = {
|
||||
|
||||
@ -57,12 +57,17 @@ html {
|
||||
--app-grid-row-h: 2.25rem;
|
||||
--app-grid-font-size: 0.875rem;
|
||||
--app-typeline-side-w: 12.5rem;
|
||||
--app-typeline-gap: 0.75rem;
|
||||
--app-typeline-gap: 0.625rem;
|
||||
--app-typeline-label-font: 0.8125rem;
|
||||
--app-typeline-label-line: 1rem;
|
||||
--app-typeline-dot: 1.25rem;
|
||||
--app-typeline-dot-inner: 0.375rem;
|
||||
--app-typeline-dot: 1.125rem;
|
||||
--app-typeline-dot-inner: 0.3125rem;
|
||||
--app-typeline-line-left: 0.5625rem;
|
||||
--app-typeline-arrow-offset: 0.125rem;
|
||||
--app-typeline-arrow-shaft-h: 0.9375rem;
|
||||
--app-typeline-arrow-line-w: 0.09375rem;
|
||||
--app-typeline-arrow-head-w: 0.5rem;
|
||||
--app-typeline-arrow-head-h: 0.375rem;
|
||||
--radius: 0.625rem;
|
||||
--background: oklch(1 0 0);
|
||||
--foreground: oklch(0.145 0 0);
|
||||
@ -418,12 +423,17 @@ input[inputmode='numeric'] {
|
||||
--app-grid-row-h: 2.125rem;
|
||||
--app-grid-font-size: 0.8125rem;
|
||||
--app-typeline-side-w: 11.5rem;
|
||||
--app-typeline-gap: 0.625rem;
|
||||
--app-typeline-gap: 0.5625rem;
|
||||
--app-typeline-label-font: 0.75rem;
|
||||
--app-typeline-label-line: 0.95rem;
|
||||
--app-typeline-dot: 1.125rem;
|
||||
--app-typeline-dot-inner: 0.3125rem;
|
||||
--app-typeline-dot: 1rem;
|
||||
--app-typeline-dot-inner: 0.25rem;
|
||||
--app-typeline-line-left: 0.5rem;
|
||||
--app-typeline-arrow-offset: 0.125rem;
|
||||
--app-typeline-arrow-shaft-h: 0.8125rem;
|
||||
--app-typeline-arrow-line-w: 0.09375rem;
|
||||
--app-typeline-arrow-head-w: 0.4375rem;
|
||||
--app-typeline-arrow-head-h: 0.3125rem;
|
||||
}
|
||||
}
|
||||
|
||||
@ -439,12 +449,17 @@ input[inputmode='numeric'] {
|
||||
--app-grid-row-h: 2.25rem;
|
||||
--app-grid-font-size: 0.875rem;
|
||||
--app-typeline-side-w: 12rem;
|
||||
--app-typeline-gap: 0.6875rem;
|
||||
--app-typeline-gap: 0.59375rem;
|
||||
--app-typeline-label-font: 0.8125rem;
|
||||
--app-typeline-label-line: 1rem;
|
||||
--app-typeline-dot: 1.1875rem;
|
||||
--app-typeline-dot-inner: 0.375rem;
|
||||
--app-typeline-dot: 1.0625rem;
|
||||
--app-typeline-dot-inner: 0.3125rem;
|
||||
--app-typeline-line-left: 0.5625rem;
|
||||
--app-typeline-arrow-offset: 0.125rem;
|
||||
--app-typeline-arrow-shaft-h: 0.875rem;
|
||||
--app-typeline-arrow-line-w: 0.09375rem;
|
||||
--app-typeline-arrow-head-w: 0.46875rem;
|
||||
--app-typeline-arrow-head-h: 0.34375rem;
|
||||
}
|
||||
}
|
||||
|
||||
@ -460,12 +475,17 @@ input[inputmode='numeric'] {
|
||||
--app-grid-row-h: 2.25rem;
|
||||
--app-grid-font-size: 0.875rem;
|
||||
--app-typeline-side-w: 12.5rem;
|
||||
--app-typeline-gap: 0.75rem;
|
||||
--app-typeline-gap: 0.625rem;
|
||||
--app-typeline-label-font: 0.875rem;
|
||||
--app-typeline-label-line: 1.1rem;
|
||||
--app-typeline-dot: 1.25rem;
|
||||
--app-typeline-dot-inner: 0.4375rem;
|
||||
--app-typeline-dot: 1.125rem;
|
||||
--app-typeline-dot-inner: 0.375rem;
|
||||
--app-typeline-line-left: 0.625rem;
|
||||
--app-typeline-arrow-offset: 0.125rem;
|
||||
--app-typeline-arrow-shaft-h: 0.9375rem;
|
||||
--app-typeline-arrow-line-w: 0.09375rem;
|
||||
--app-typeline-arrow-head-w: 0.5rem;
|
||||
--app-typeline-arrow-head-h: 0.375rem;
|
||||
}
|
||||
}
|
||||
|
||||
@ -481,12 +501,17 @@ input[inputmode='numeric'] {
|
||||
--app-grid-row-h: 2.5rem;
|
||||
--app-grid-font-size: 0.9375rem;
|
||||
--app-typeline-side-w: 13rem;
|
||||
--app-typeline-gap: 0.8125rem;
|
||||
--app-typeline-gap: 0.6875rem;
|
||||
--app-typeline-label-font: 0.9375rem;
|
||||
--app-typeline-label-line: 1.2rem;
|
||||
--app-typeline-dot: 1.375rem;
|
||||
--app-typeline-dot-inner: 0.5rem;
|
||||
--app-typeline-dot: 1.25rem;
|
||||
--app-typeline-dot-inner: 0.4375rem;
|
||||
--app-typeline-line-left: 0.6875rem;
|
||||
--app-typeline-arrow-offset: 0.15625rem;
|
||||
--app-typeline-arrow-shaft-h: 1rem;
|
||||
--app-typeline-arrow-line-w: 0.125rem;
|
||||
--app-typeline-arrow-head-w: 0.5625rem;
|
||||
--app-typeline-arrow-head-h: 0.40625rem;
|
||||
}
|
||||
}
|
||||
|
||||
@ -502,12 +527,17 @@ input[inputmode='numeric'] {
|
||||
--app-grid-row-h: 2.625rem;
|
||||
--app-grid-font-size: 1rem;
|
||||
--app-typeline-side-w: 13.5rem;
|
||||
--app-typeline-gap: 0.875rem;
|
||||
--app-typeline-gap: 0.75rem;
|
||||
--app-typeline-label-font: 1rem;
|
||||
--app-typeline-label-line: 1.25rem;
|
||||
--app-typeline-dot: 1.5rem;
|
||||
--app-typeline-dot-inner: 0.5625rem;
|
||||
--app-typeline-dot: 1.375rem;
|
||||
--app-typeline-dot-inner: 0.5rem;
|
||||
--app-typeline-line-left: 0.75rem;
|
||||
--app-typeline-arrow-offset: 0.1875rem;
|
||||
--app-typeline-arrow-shaft-h: 1.125rem;
|
||||
--app-typeline-arrow-line-w: 0.125rem;
|
||||
--app-typeline-arrow-head-w: 0.625rem;
|
||||
--app-typeline-arrow-head-h: 0.4375rem;
|
||||
}
|
||||
}
|
||||
|
||||
@ -523,11 +553,16 @@ input[inputmode='numeric'] {
|
||||
--app-grid-row-h: 2.875rem;
|
||||
--app-grid-font-size: 1.0625rem;
|
||||
--app-typeline-side-w: 14.5rem;
|
||||
--app-typeline-gap: 1rem;
|
||||
--app-typeline-gap: 0.875rem;
|
||||
--app-typeline-label-font: 1.0625rem;
|
||||
--app-typeline-label-line: 1.35rem;
|
||||
--app-typeline-dot: 1.625rem;
|
||||
--app-typeline-dot-inner: 0.625rem;
|
||||
--app-typeline-dot: 1.5rem;
|
||||
--app-typeline-dot-inner: 0.5625rem;
|
||||
--app-typeline-line-left: 0.8125rem;
|
||||
--app-typeline-arrow-offset: 0.21875rem;
|
||||
--app-typeline-arrow-shaft-h: 1.25rem;
|
||||
--app-typeline-arrow-line-w: 0.125rem;
|
||||
--app-typeline-arrow-head-w: 0.6875rem;
|
||||
--app-typeline-arrow-head-h: 0.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user