This commit is contained in:
dhr
2025-09-09 18:35:52 +08:00
33 changed files with 728 additions and 378 deletions

View File

@ -9,7 +9,7 @@ import animate from '@/animate';
import { download as dl } from '@/utils/request';
import { useDict } from '@/utils/dict';
import { getConfigKey, updateConfigByKey } from '@/api/system/config';
import { parseTime, addDateRange, handleTree, selectDictLabel, selectDictLabels } from '@/utils/ruoyi';
import { parseTime, addDateRange, handleTree, selectDictLabel, selectDictLabels,formatPrice } from '@/utils/ruoyi';
import { downloadFile } from '@/utils/useFileDownload';
import { App } from 'vue';
@ -42,4 +42,5 @@ export default function installPlugin(app: App) {
app.config.globalProperties.selectDictLabels = selectDictLabels;
app.config.globalProperties.animate = animate;
app.config.globalProperties.downloadFile = downloadFile;
app.config.globalProperties.formatPrice = formatPrice;
}

View File

@ -62,7 +62,23 @@ export const addDateRange = (params: any, dateRange: any[], propName?: string) =
}
return search;
};
// 价格格式化函数
export const formatPrice = (price, show = true) => {
if ((!show && price == 0) || price == '' || price == undefined || price == null) return '';
if (!price && price !== 0) return '0.0000';
// 转换为数字并保留四位小数
const num = Number(price);
if (isNaN(num)) return '0.0000';
const fixedNum = num.toFixed(4);
const [integer, decimal] = fixedNum.split('.');
// 千分位处理
const formattedInteger = integer.replace(/\B(?=(\d{3})+(?!\d))/g, ',');
return `${formattedInteger}.${decimal}`;
};
// 回显数据字典
export const selectDictLabel = (datas: any, value: number | string) => {
if (value === undefined) {

View File

@ -62,14 +62,14 @@
<el-table-column prop="unit" label="单位" align="center" />
<el-table-column prop="quantity" label="数量" align="center" />
<el-table-column prop="specification" label="规格" align="center" />
<el-table-column prop="remark" label="单价" align="center">
<el-table-column label="单价" align="center">
<template #default="scope">
<span>{{ scope.row.unitPrice }}</span>
{{ proxy.formatPrice(scope.row.unitPrice) }}
</template>
</el-table-column>
<el-table-column prop="price" label="总价" align="center">
<template #default="scope">
{{ scope.row.price }}
{{ proxy.formatPrice(scope.row.price) }}
</template>
</el-table-column>
<!-- <el-table-column prop="price" label="操作" align="center">
@ -92,7 +92,7 @@
<script setup lang="ts">
import { useUserStoreHook } from '@/store/modules/user';
import { BiddingImportExcelFile, getTreeLimit, biddingLimitListUpdate, sheetList, obtainAllVersionNumbers } from '@/api/bidding/biddingLimit';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { proxy } = getCurrentInstance() as any;
const userStore = useUserStoreHook();
const currentProject = computed(() => userStore.selectedProject);

View File

@ -77,8 +77,8 @@
changePrice(scope.row);
}
"
:precision="2"
:step="0.1"
:min="0"
:precision="4"
:controls="false"
v-if="scope.row.quantity && scope.row.quantity != 0"
/>
@ -86,7 +86,7 @@
</el-table-column>
<el-table-column prop="price" label="总价" align="center">
<template #default="scope">
{{ scope.row.price != 0 ? Number(scope.row.price).toFixed(2) : null }}
{{ proxy.formatPrice(scope.row.price) }}
</template>
</el-table-column>
<el-table-column prop="operate" label="操作" align="center">

View File

@ -25,7 +25,11 @@
</el-table-column>
<el-table-column prop="name" label="名称" align="center" />
<el-table-column prop="content" label="内容" align="center" />
<el-table-column prop="price" label="限价" align="center" />
<el-table-column prop="price" label="限价" align="center">
<template #default="scope">
{{ proxy.formatPrice(scope.row.price) }}
</template>
</el-table-column>
<el-table-column prop="plannedBiddingTime" align="center">
<template #header> <span style="color: red">*</span>计划招标时间 </template>
<template #default="scope">
@ -158,22 +162,28 @@
</template>
</el-table-column>
<el-table-column prop="unitPrice" label="单价" align="center" />
<el-table-column prop="unitPrice" label="单价" align="center">
<template #default="scope">
{{ proxy.formatPrice(scope.row.unitPrice) }}
</template>
</el-table-column>
<el-table-column prop="price" label="总价" align="center">
<template #default="scope">
{{
proxy.formatPrice(
((scope.row.quantity ? Number(scope.row.quantity) : 0) -
(scope.row.useQuantity ? Number(scope.row.useQuantity) : 0) -
(scope.row.selectNum ? Number(scope.row.selectNum) : 0)) *
Number(scope.row.unitPrice) ==
0
? ''
: (
((scope.row.quantity ? Number(scope.row.quantity) : 0) -
: ((scope.row.quantity ? Number(scope.row.quantity) : 0) -
(scope.row.useQuantity ? Number(scope.row.useQuantity) : 0) -
(scope.row.selectNum ? Number(scope.row.selectNum) : 0)) *
Number(scope.row.unitPrice)
).toFixed(2)
Number(scope.row.unitPrice),
false
)
}}
</template>
</el-table-column>
@ -207,6 +217,7 @@ import { useUserStoreHook } from '@/store/modules/user';
import { getDicts } from '@/api/system/dict/data';
import { Plus } from '@element-plus/icons-vue';
import { FormInstance } from 'element-plus';
const { proxy } = getCurrentInstance();
import {
treeList,
sheetList,

View File

@ -79,8 +79,8 @@
changePrice(scope.row);
}
"
:precision="2"
:step="0.1"
:min="0"
:precision="4"
:controls="false"
v-if="scope.row.quantity && scope.row.quantity != 0"
/>
@ -88,9 +88,7 @@
</el-table-column>
<el-table-column prop="price" label="总价" align="center">
<template #default="scope">
<!-- {{ scope.row.children.length > 0 ? scope.row.children.reduce((sum, child) => sum + child.price, 0) : scope.row.price }} -->
{{ scope.row.price != 0 ? Number(scope.row.price).toFixed(2) : null }}
<!-- {{ scope.row.price }} -->
{{ proxy.formatPrice(scope.row.price) }}
</template>
</el-table-column>
<el-table-column prop="operate" label="操作" align="center">

View File

@ -41,10 +41,14 @@
<el-table-column prop="specification" label="规格" />
<el-table-column prop="unit" label="单位" />
<el-table-column prop="quantity" label="数量" />
<el-table-column prop="unitPrice" label="单价" align="center" />
<el-table-column prop="price" label="总价" align="center">
<el-table-column prop="unitPrice" label="单价" align="center">
<template #default="scope">
{{ scope.row.price != 0 ? Number(scope.row.price).toFixed(2) : null }}
{{ proxy.formatPrice(scope.row.unitPrice, false) }}
</template>
</el-table-column>
<el-table-column prop="price" label="总价" align="center" width="150">
<template #default="scope">
{{ proxy.formatPrice(scope.row.price) }}
</template>
</el-table-column>
</el-table>
@ -70,8 +74,12 @@
</div>
<template #footer>
<div class="dialog-footer p-4 border-t border-gray-100 flex justify-end space-x-3">
<el-button @click="handleClose" class="px-4 py-2 border border-gray-300 rounded-md text-gray-700 hover:bg-gray-50 transition-colors">取消</el-button>
<el-button type="primary" @click="submitFlow()" class="px-4 py-2 bg-primary text-white rounded-md hover:bg-primary/90 transition-colors">确认</el-button>
<el-button @click="handleClose" class="px-4 py-2 border border-gray-300 rounded-md text-gray-700 hover:bg-gray-50 transition-colors"
>取消</el-button
>
<el-button type="primary" @click="submitFlow()" class="px-4 py-2 bg-primary text-white rounded-md hover:bg-primary/90 transition-colors"
>确认</el-button
>
</div>
</template>
</el-dialog>

View File

@ -14,8 +14,7 @@
</el-form-item>
<el-form-item label="合同类型" prop="contractType">
<el-select v-model="form.contractType" placeholder="请选择合同类型">
<el-option v-for="item in income_contract_type" :key="item.value" :label="item.label"
:value="item.value" />
<el-option v-for="item in income_contract_type" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="业主单位" prop="contractOwner">
@ -28,15 +27,17 @@
<editor v-model="form.contractedContent" :min-height="192" />
</el-form-item>
<el-form-item label="合同金额" prop="amount">
<el-input v-model="form.amount" placeholder="请输入合同金额"
oninput="value=value.replace(/[^0-9.]/g,'').replace(/\.{2,}/g,'.').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')" />
<el-input
v-model="form.amount"
placeholder="请输入合同金额"
oninput="value=value.replace(/[^0-9.]/g,'').replace(/\.{2,}/g,'.').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
/>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
<el-form-item label="附件">
<FileUpload :multiple="true" :fileType="['pdf']" :onUploadSuccess="onUploadSuccess"
:ref="fileRef" :defaultFileList="tempFileList" />
<FileUpload :multiple="true" :fileType="['pdf']" :onUploadSuccess="onUploadSuccess" :ref="fileRef" :defaultFileList="tempFileList" />
</el-form-item>
</el-form>
<div>
@ -212,11 +213,11 @@ onMounted(async () => {
if (id) {
const { data } = await getIncomeContract(id);
form.value.id = data.id;
form.value.contractOwner = data.contractOwner
form.value.contractOwner = data.contractOwner;
} else {
router.push('/ctr/incomeContract');
}
})
});
</script>
<style scoped lang="scss">
.container {

View File

@ -145,7 +145,13 @@
></el-col>
<el-col :span="12">
<el-form-item label="费用" prop="costEstimation">
<el-input min="0" v-model="form.costEstimation" type="number" placeholder="请输入费用" /> </el-form-item
<el-input-number
:min="0"
:precision="4"
v-model="form.costEstimation"
:controls="false"
placeholder="请输入费用"
/> </el-form-item
></el-col>
<el-col :span="24">
<el-form-item label="变更费用估算表" label-width="110px" prop="costEstimationFile">

View File

@ -1,7 +1,6 @@
<template>
<div class="p-2">
<transition :enter-active-class="proxy?.animate.searchAnimate.enter"
:leave-active-class="proxy?.animate.searchAnimate.leave">
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover">
<el-form ref="queryFormRef" :model="queryParams" :inline="true" label-width="100px">
@ -12,15 +11,25 @@
<el-input v-model="queryParams.formalitiesId" placeholder="请输入手续办理清单模板id" clearable @keyup.enter="handleQuery" />
</el-form-item> -->
<el-form-item label="计划开始时间" prop="planTheStartTime">
<el-date-picker clearable v-model="queryParams.planTheStartTime" type="date" value-format="YYYY-MM-DD"
placeholder="请选择计划开始时间" />
<el-date-picker
clearable
v-model="queryParams.planTheStartTime"
type="date"
value-format="YYYY-MM-DD"
placeholder="请选择计划开始时间"
/>
</el-form-item>
<el-form-item label="负责人" prop="head">
<el-input v-model="queryParams.head" placeholder="请输入负责人" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="实际完成时间" prop="actualCompletionTime">
<el-date-picker clearable v-model="queryParams.actualCompletionTime" type="date" value-format="YYYY-MM-DD"
placeholder="请选择实际完成时间" />
<el-date-picker
clearable
v-model="queryParams.actualCompletionTime"
type="date"
value-format="YYYY-MM-DD"
placeholder="请选择实际完成时间"
/>
</el-form-item>
<!-- <el-form-item label="手续材料" prop="formalitiesUrl">
<el-input v-model="queryParams.formalitiesUrl" placeholder="请输入手续材料" clearable @keyup.enter="handleQuery" />
@ -38,13 +47,15 @@
<template #header>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd()"
v-hasPermi="['formalities:formalitiesAreConsolidated:getTree']">新增</el-button>
<span style="margin-left: 10px"><el-tooltip class="box-item" effect="dark" content="从原有模板列表选择新增"
placement="top">
<el-button type="primary" plain icon="Plus" @click="handleAdd()" v-hasPermi="['formalities:formalitiesAreConsolidated:getTree']"
>新增</el-button
>
<span style="margin-left: 10px"
><el-tooltip class="box-item" effect="dark" content="从原有模板列表选择新增" placement="top">
<el-icon color="#409efc">
<WarningFilled />
</el-icon> </el-tooltip></span>
</el-icon> </el-tooltip
></span>
</el-col>
<el-col :span="1.5" v-hasPermi="['formalities:listOfFormalities:list']">
<el-button type="primary" plain icon="Plus" @click="addTemplate()">新增数据</el-button>
@ -71,11 +82,13 @@
</el-row>
</template>
<el-table v-loading="loading" :data="formalitiesAreConsolidatedList" @selection-change="handleSelectionChange"
row-key="id" default-expand-all>
<el-table v-loading="loading" :data="formalitiesAreConsolidatedList" @selection-change="handleSelectionChange" row-key="id" default-expand-all>
<el-table-column type="selection" width="55" align="center" />
<!-- <el-table-column label="手续办理清单模板父级" align="center" prop="formalitiesPname" /> -->
<el-table-column label="手续办理清单" align="left" prop="formalitiesName" />
<el-table-column label="手续办理清单" align="left" prop="formalitiesName">
<template #default="scope">
<span style="white-space: nowrap">{{ scope.row.formalitiesName }}</span>
</template>
</el-table-column>
<el-table-column label="计划开始时间" align="center" prop="planTheStartTime" width="180">
<template #default="scope">
<span>{{ parseTime(scope.row.planTheStartTime, '{y}-{m}-{d}') }}</span>
@ -95,52 +108,58 @@
<el-table-column label="办理状态" align="center" prop="processingStatus" />
<el-table-column label="手续材料" align="center" prop="formalitiesUrl" width="180">
<template #default="scope">
<div style="display: flex; justify-content: center; align-items: center;">
<div style="display: flex; justify-content: center; align-items: center">
<div>
<el-link type="primary" :underline="false" @click="handlePreview(scope.row)" target="_blank"
v-if="scope.row.formalitiesPid">查看</el-link>
<el-link type="primary" :underline="false" @click="handlePreview(scope.row)" target="_blank" v-if="scope.row.formalitiesPid"
>查看</el-link
>
</div>
<div>
<el-badge v-if="scope.row.fileCount" :value="scope.row.fileCount" class="item" type="danger">
</el-badge>
<el-badge v-if="scope.row.fileCount" :value="scope.row.fileCount" class="item" type="danger"> </el-badge>
</div>
</div>
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column label="操作" align="center" fixed="right">
<template #default="scope">
<div v-if="scope.row.formalitiesPid">
<el-button link type="primary" icon="Edit" v-if="scope.row.processingStatus != '已完成'"
<el-button
link
type="primary"
icon="Edit"
v-if="scope.row.processingStatus != '已完成'"
@click="handleUpdate(scope.row)"
v-hasPermi="['formalities:formalitiesAreConsolidated:edit']">修改</el-button>
<el-button link type="primary" icon="Upload" v-if="scope.row.processingStatus != '已完成'"
@click="handleUpload(scope.row)">上传</el-button>
<el-button link type="primary" icon="EditPen" @click="handleUpdateStatus(scope.row)"
v-hasPermi="['formalities:formalitiesAreConsolidated:edit']">修改状态</el-button>
v-hasPermi="['formalities:formalitiesAreConsolidated:edit']"
>修改</el-button
>
<el-button link type="primary" icon="Upload" v-if="scope.row.processingStatus != '已完成'" @click="handleUpload(scope.row)"
>上传</el-button
>
<el-button
link
type="primary"
icon="EditPen"
@click="handleUpdateStatus(scope.row)"
v-hasPermi="['formalities:formalitiesAreConsolidated:edit']"
>修改状态</el-button
>
</div>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize" @pagination="getList" />
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
<!-- 添加或修改合规性手续合账对话框 -->
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
<el-form ref="formalitiesAreConsolidatedFormRef" :model="form" :rules="rules" label-width="160px">
<el-form-item label="计划开始时间" prop="planTheStartTime">
<el-date-picker clearable v-model="form.planTheStartTime" type="date" value-format="YYYY-MM-DD"
placeholder="请选择计划开始时间">
<el-date-picker clearable v-model="form.planTheStartTime" type="date" value-format="YYYY-MM-DD" placeholder="请选择计划开始时间">
</el-date-picker>
</el-form-item>
<el-form-item label="计划完成时间" prop="planTheStartTime">
<el-date-picker clearable v-model="form.planTheEndTime" type="date" value-format="YYYY-MM-DD"
placeholder="请选择计划完成时间">
<el-date-picker clearable v-model="form.planTheEndTime" type="date" value-format="YYYY-MM-DD" placeholder="请选择计划完成时间">
</el-date-picker>
</el-form-item>
<el-form-item label="负责人" prop="head">
@ -162,8 +181,7 @@
<el-table :data="fileList" style="width: 100%" border v-loading="fileLoading">
<el-table-column prop="fileName" label="文件" align="center">
<template #default="scope">
<el-link :key="scope.row.annexUrl" :href="scope.row.annexUrl" target="_blank" type="primary"
:underline="false">
<el-link :key="scope.row.annexUrl" :href="scope.row.annexUrl" target="_blank" type="primary" :underline="false">
{{ scope.row.fileName || '查看文件' }}
</el-link>
</template>
@ -174,8 +192,13 @@
</template>
</el-table-column>
</el-table>
<pagination v-show="fileTotal > 0" :total="fileTotal" v-model:page="fileParams.pageNum"
v-model:limit="fileParams.pageSize" @pagination="getFileList" />
<pagination
v-show="fileTotal > 0"
:total="fileTotal"
v-model:page="fileParams.pageNum"
v-model:limit="fileParams.pageSize"
@pagination="getFileList"
/>
<template #footer>
<span>
<el-button type="primary" @click="viewVisible = false">关闭</el-button>
@ -185,9 +208,18 @@
<!-- 上传文件对话框 -->
<el-dialog draggable title="上传文件" v-model="fileVisible" width="450">
<el-form-item label="上传文件" prop="processingStatus">
<file-upload v-model="file" ref="uploadRef" uploadUrl="/formalities/formalitiesAnnex"
v-hasPermi="['formalities:formalitiesAnnex:add']" :data="{ formalitiesId: form.id }" :fileType="['pdf']"
:auto-upload="false" showFileList method="put" :onUploadSuccess="handleUploadSuccess" />
<file-upload
v-model="file"
ref="uploadRef"
uploadUrl="/formalities/formalitiesAnnex"
v-hasPermi="['formalities:formalitiesAnnex:add']"
:data="{ formalitiesId: form.id }"
:fileType="['pdf']"
:auto-upload="false"
showFileList
method="put"
:onUploadSuccess="handleUploadSuccess"
/>
</el-form-item>
<template #footer>
<span>
@ -215,14 +247,18 @@
</el-dialog>
<el-dialog title="新增合规性手续合账" v-model="templateVisbile" width="450">
<el-form-item label="合规性手续模板">
<el-cascader v-model="tempValue" :options="tempTreeList" :props="{
<el-cascader
v-model="tempValue"
:options="tempTreeList"
:props="{
multiple: true,
value: 'id',
label: 'name',
disabled: (node: any) => {
return (node.pid == 0 && !node.children.length) || node.status == 1; // 有 parent 的是二级,没有 parent 的是一级,禁用一级
}
}" />
}"
/>
<div style="margin-left: 10px; display: flex; justify-content: center; align-items: center">
<el-tooltip class="box-item" effect="dark" content="列表上已选择得模版不可再选" placement="top">
<el-icon>
@ -248,8 +284,7 @@
<el-option v-for="item in listOfFormalitiesList" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="名称" prop="formalitiesName"
:rules="[{ required: true, message: '请输入名称', trigger: 'blur' }]">
<el-form-item label="名称" prop="formalitiesName" :rules="[{ required: true, message: '请输入名称', trigger: 'blur' }]">
<el-input v-model="formTemplate.formalitiesName" placeholder="请输入名称" />
</el-form-item>
</el-form>

View File

@ -19,9 +19,9 @@
<el-card shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<!-- <el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['out:constructionValue:add']">新增</el-button>
</el-col>
</el-col> -->
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
</template>
@ -39,8 +39,16 @@
<el-table-column label="人工填报数量" align="center" prop="artificialNum" />
<el-table-column label="无人机识别数量" align="center" prop="uavNum" />
<el-table-column label="确认数量" align="center" prop="confirmNum" />
<el-table-column label="对乙产值" align="center" prop="outValue" />
<el-table-column label="对甲产值" align="center" prop="ownerValue" />
<el-table-column label="对乙产值" align="center" prop="outValue">
<template #default="scope">
{{ proxy.formatPrice(scope.row.outValue) }}
</template>
</el-table-column>
<el-table-column label="对甲产值" align="center" prop="ownerValue">
<template #default="scope">
{{ proxy.formatPrice(scope.row.ownerValue) }}
</template>
</el-table-column>
<el-table-column label="流程状态" align="center" prop="status">
<template #default="scope">
<dict-tag :options="wf_business_status" :value="scope.row.auditStatus" />

View File

@ -24,9 +24,21 @@
<el-table v-loading="loading" :data="monthPlanList" @selection-change="handleSelectionChange">
<el-table-column type="index" label="序号" width="60" align="center" />
<el-table-column label="计划月份" align="center" prop="planMonth" />
<el-table-column label="计划产值" align="center" prop="planValue" />
<el-table-column label="完成产值" align="center" prop="completeValue" />
<el-table-column label="差额" align="center" prop="differenceValue" />
<el-table-column label="计划产值" align="center" prop="planValue">
<template #default="scope">
{{ proxy.formatPrice(scope.row.planValue) }}
</template>
</el-table-column>
<el-table-column label="完成产值" align="center" prop="completeValue">
<template #default="scope">
{{ proxy.formatPrice(scope.row.completeValue) }}
</template>
</el-table-column>
<el-table-column label="差额" align="center" prop="differenceValue">
<template #default="scope">
{{ proxy.formatPrice(scope.row.differenceValue) }}
</template>
</el-table-column>
<el-table-column label="类型" align="center">
<template #default="scope">
<span v-if="scope.row.type == '1'">对甲</span>

View File

@ -40,9 +40,21 @@
<el-table v-loading="loading" :data="monthPlanList">
<el-table-column type="index" label="序号" width="55" align="center" />
<el-table-column label="计划月份" align="center" prop="planMonth" />
<el-table-column label="计划产值(元)" align="center" prop="planValue" />
<el-table-column label="完成产值(元)" align="center" prop="completeValue" />
<el-table-column label="差额(元)" align="center" prop="differenceValue" />
<el-table-column label="计划产值(元)" align="center" prop="planValue">
<template #default="scope">
{{ proxy.formatPrice(scope.row.planValue) }}
</template>
</el-table-column>
<el-table-column label="完成产值(元)" align="center" prop="completeValue">
<template #default="scope">
{{ proxy.formatPrice(scope.row.completeValue) }}
</template>
</el-table-column>
<el-table-column label="差额(元)" align="center" prop="differenceValue">
<template #default="scope">
{{ proxy.formatPrice(scope.row.differenceValue) }}
</template>
</el-table-column>
<el-table-column label="产值类型" align="center" prop="valueType">
<template #default="scope">
<dict-tag :options="out_value_type" :value="scope.row.valueType" />
@ -104,7 +116,7 @@
<script setup name="MonthPlan" lang="ts">
import { listMonthPlan, getMonthPlan, delMonthPlan, addMonthPlan, updateMonthPlan } from '@/api/out/monthPlan';
import { MonthPlanVO } from '@/api/out/monthPlan/types';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { proxy } = getCurrentInstance() as any;
const { out_value_type } = toRefs<any>(proxy?.useDict('out_value_type'));
const { wf_business_status } = toRefs<any>(proxy?.useDict('wf_business_status'));

View File

@ -31,11 +31,27 @@
</template>
<el-table v-loading="loading" :data="monthPlanAuditList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="设计产值(元)" align="center" prop="designValue" />
<el-table-column label="采购产值(元)" align="center" prop="purchaseValue" />
<el-table-column label="施工产值(元)" align="center" prop="constructionValue" />
<el-table-column label="总产值(元)" align="center" prop="totalValue" />
<el-table-column type="index" width="55" label="序号" align="center" />
<el-table-column label="设计产值(元)" align="center" prop="designValue">
<template #default="scope">
{{ proxy.formatPrice(scope.row.designValue) }}
</template>
</el-table-column>
<el-table-column label="采购产值(元)" align="center" prop="purchaseValue">
<template #default="scope">
{{ proxy.formatPrice(scope.row.purchaseValue) }}
</template>
</el-table-column>
<el-table-column label="施工产值(元)" align="center" prop="constructionValue">
<template #default="scope">
{{ proxy.formatPrice(scope.row.constructionValue) }}
</template>
</el-table-column>
<el-table-column label="总产值(元)" align="center" prop="totalValue">
<template #default="scope">
{{ proxy.formatPrice(scope.row.totalValue) }}
</template>
</el-table-column>
<el-table-column label="计划月份" align="center" prop="planMonth" />
</el-table>

View File

@ -26,12 +26,32 @@
<el-table v-loading="loading" :data="valueAllocationList">
<el-table-column label="项目" align="center" prop="projectName" />
<el-table-column label="月预计产值" align="center" prop="monthEstimatedValue" />
<el-table-column label="完成产值月合计" align="center" prop="monthCompletionValue" />
<el-table-column label="产值差额" align="center" prop="valueDifference" />
<el-table-column label="项目总产值" align="center" prop="totalValue" />
<el-table-column label="累计完成产值" align="center" prop="accumulatedCompletionValue" />
<el-table-column label="项目完成率" align="center" prop="projectCompletionRate" />
<el-table-column label="月预计产值" align="center" prop="monthEstimatedValue">
<template #default="scope">
{{ proxy.formatPrice(scope.row.monthEstimatedValue) }}
</template>
</el-table-column>
<el-table-column label="完成产值月合计" align="center" prop="monthCompletionValue">
<template #default="scope">
{{ proxy.formatPrice(scope.row.monthCompletionValue) }}
</template></el-table-column
>
<el-table-column label="产值差额" align="center" prop="valueDifference">
<template #default="scope">
{{ proxy.formatPrice(scope.row.valueDifference) }}
</template></el-table-column
>
<el-table-column label="项目总产值" align="center" prop="totalValue">
<template #default="scope">
{{ proxy.formatPrice(scope.row.totalValue) }}
</template></el-table-column
>
<el-table-column label="累计完成产值" align="center" prop="accumulatedCompletionValue">
<template #default="scope">
{{ proxy.formatPrice(scope.row.accumulatedCompletionValue) }}
</template></el-table-column
>
<el-table-column label="项目完成率" align="center" prop="projectCompletionRate"></el-table-column>
</el-table>
<pagination
v-show="total > 0"
@ -48,7 +68,7 @@
<script setup name="ValueAllocation" lang="ts">
import { listOutTable } from '@/api/out/outDesignTable';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { proxy } = getCurrentInstance() as any;
import { useUserStoreHook } from '@/store/modules/user';
import { dayjs } from 'element-plus';
// 获取用户 store

View File

@ -23,9 +23,21 @@
<el-card shadow="never">
<el-table v-loading="loading" :data="tableData" v-if="activeTab == '1' || activeTab == '2'">
<el-table-column label="项目" align="center" prop="projectName" />
<el-table-column label="累计完工产值" align="center" prop="totalCompletionOutputValue" />
<el-table-column label="累计结算产值" align="center" prop="totalSettlementOutputValue" />
<el-table-column label="完工未结算额" align="center" prop="completionUnsettledAmount" />
<el-table-column label="累计完工产值" align="center" prop="totalCompletionOutputValue">
<template #default="scope">
{{ proxy.formatPrice(scope.row.totalCompletionOutputValue) }}
</template>
</el-table-column>
<el-table-column label="累计结算产值" align="center" prop="totalSettlementOutputValue">
<template #default="scope">
{{ proxy.formatPrice(scope.row.totalSettlementOutputValue) }}
</template></el-table-column
>
<el-table-column label="完工未结算额" align="center" prop="completionUnsettledAmount">
<template #default="scope">
{{ proxy.formatPrice(scope.row.completionUnsettledAmount) }}
</template></el-table-column
>
<el-table-column label="完工未结算比例" align="center" prop="completionUnsettledRatio" />
<!-- <el-table-column label="操作" align="center">
<template #default="scope">
@ -36,9 +48,21 @@
<el-table v-loading="loading" :data="tableData" v-if="activeTab == '3'">
<el-table-column label="项目" align="center" prop="projectName" />
<!-- <el-table-column label="累计完工产值" align="center" prop="totalCompletionOutputValue" /> -->
<el-table-column label="分包累计结算产值" align="center" prop="subTotalSettlementOutputValue" />
<el-table-column label="业主累计结算产值" align="center" prop="ownerTotalSettlementOutputValue" />
<el-table-column label="差额" align="center" prop="differenceValue" />
<el-table-column label="分包累计结算产值" align="center" prop="subTotalSettlementOutputValue">
<template #default="scope">
{{ proxy.formatPrice(scope.row.subTotalSettlementOutputValue) }}
</template>
</el-table-column>
<el-table-column label="业主累计结算产值" align="center" prop="ownerTotalSettlementOutputValue"
><template #default="scope">
{{ proxy.formatPrice(scope.row.ownerTotalSettlementOutputValue) }}
</template></el-table-column
>
<el-table-column label="差额" align="center" prop="differenceValue"
><template #default="scope">
{{ proxy.formatPrice(scope.row.differenceValue) }}
</template></el-table-column
>
<!-- <el-table-column label="操作" align="center">
<template #default="scope">
<el-button type="primary" @click="handleEdit(scope.row)" link icon="Position">联查分包结算</el-button>
@ -47,12 +71,36 @@
</el-table>
<el-table v-loading="loading" :data="tableData" v-if="activeTab == '4'">
<el-table-column label="项目" align="center" prop="projectName" />
<el-table-column label="对甲计划总产值" align="center" prop="ownerTotal" />
<el-table-column label="对乙计划总产值" align="center" prop="subTotal" />
<el-table-column label="对甲月计划产值" align="center" prop="ownerPlanTotal" />
<el-table-column label="对乙月计划产值" align="center" prop="subPlanTotal" />
<el-table-column label="对甲月实际产值" align="center" prop="ownerActualTotal" />
<el-table-column label="对乙月实际产值" align="center" prop="subActualTotal" />
<el-table-column label="对甲计划总产值" align="center" prop="ownerTotal">
<template #default="scope">
{{ proxy.formatPrice(scope.row.ownerTotal) }}
</template></el-table-column
>
<el-table-column label="对乙计划总产值" align="center" prop="subTotal">
<template #default="scope">
{{ proxy.formatPrice(scope.row.subTotal) }}
</template></el-table-column
>
<el-table-column label="对甲月计划产值" align="center" prop="ownerPlanTotal">
<template #default="scope">
{{ proxy.formatPrice(scope.row.ownerPlanTotal) }}
</template></el-table-column
>
<el-table-column label="对乙月计划产值" align="center" prop="subPlanTotal">
<template #default="scope">
{{ proxy.formatPrice(scope.row.subPlanTotal) }}
</template></el-table-column
>
<el-table-column label="对甲月实际产值" align="center" prop="ownerActualTotal">
<template #default="scope">
{{ proxy.formatPrice(scope.row.ownerActualTotal) }}
</template></el-table-column
>
<el-table-column label="对乙月实际产值" align="center" prop="subActualTotal">
<template #default="scope">
{{ proxy.formatPrice(scope.row.subActualTotal) }}
</template></el-table-column
>
<!-- <el-table-column label="操作" align="center">
<template #default="scope">
<el-button type="primary" @click="handleEdit(scope.row)" link icon="Position">联查分包结算</el-button>
@ -75,7 +123,7 @@
<script setup lang="ts">
import { useUserStoreHook } from '@/store/modules/user';
import { listOutTable, comparisonOfOutputValue, comparisonOfSettlementValue } from '@/api/out/outDesignTableVS/index';
const { proxy } = getCurrentInstance();
import { dayjs } from 'element-plus';
const userStore = useUserStoreHook();
const currentProject = computed(() => userStore.selectedProject);

View File

@ -16,18 +16,66 @@
<el-card shadow="never">
<el-table v-loading="loading" :data="tableData">
<el-table-column label="项目" align="center" prop="projectName" />
<el-table-column label="项目总产值" align="center" prop="totalValue" />
<el-table-column label="月预计产值" align="center" prop="monthlyEstimatedValue" />
<el-table-column label="完成产值(第一周)" align="center" prop="firstWeekCompletionValue" />
<el-table-column label="完成产值(第二周)" align="center" prop="secondWeekCompletionValue" />
<el-table-column label="完成产值(第三周)" align="center" prop="thirdWeekCompletionValue" />
<el-table-column label="完成产值(第四周)" align="center" prop="fourthWeekCompletionValue" />
<el-table-column label="完成产值(第五周)" align="center" prop="fifthWeekCompletionValue" />
<el-table-column label="完成产值月合计" align="center" prop="totalCompletionValue" />
<el-table-column label="产值差额" align="center" prop="valueDifference" />
<el-table-column label="预计累计产值" align="center" prop="estimatedAccumulatedValue" />
<el-table-column label="累计完成产值" align="center" prop="accumulatedCompletionValue" />
<el-table-column label="产值差额" align="center" prop="valueDifferenceAccumulation" />
<el-table-column label="项目总产值" align="center" prop="totalValue">
<template #default="scope">
{{ proxy.formatPrice(scope.row.totalValue) }}
</template>
</el-table-column>
<el-table-column label="月预计产值" align="center" prop="monthlyEstimatedValue"
><template #default="scope">
{{ proxy.formatPrice(scope.row.monthlyEstimatedValue) }}
</template></el-table-column
>
<el-table-column label="完成产值(第一周)" align="center" prop="firstWeekCompletionValue"
><template #default="scope">
{{ proxy.formatPrice(scope.row.firstWeekCompletionValue) }}
</template></el-table-column
>
<el-table-column label="完成产值(第二周)" align="center" prop="secondWeekCompletionValue"
><template #default="scope">
{{ proxy.formatPrice(scope.row.secondWeekCompletionValue) }}
</template></el-table-column
>
<el-table-column label="完成产值(第三周)" align="center" prop="thirdWeekCompletionValue"
><template #default="scope">
{{ proxy.formatPrice(scope.row.thirdWeekCompletionValue) }}
</template></el-table-column
>
<el-table-column label="完成产值(第四周)" align="center" prop="fourthWeekCompletionValue"
><template #default="scope">
{{ proxy.formatPrice(scope.row.fourthWeekCompletionValue) }}
</template></el-table-column
>
<el-table-column label="完成产值(第五周)" align="center" prop="fifthWeekCompletionValue"
><template #default="scope">
{{ proxy.formatPrice(scope.row.fifthWeekCompletionValue) }}
</template></el-table-column
>
<el-table-column label="完成产值月合计" align="center" prop="totalCompletionValue"
><template #default="scope">
{{ proxy.formatPrice(scope.row.totalCompletionValue) }}
</template></el-table-column
>
<el-table-column label="产值差额" align="center" prop="valueDifference"
><template #default="scope">
{{ proxy.formatPrice(scope.row.valueDifference) }}
</template></el-table-column
>
<el-table-column label="预计累计产值" align="center" prop="estimatedAccumulatedValue"
><template #default="scope">
{{ proxy.formatPrice(scope.row.estimatedAccumulatedValue) }}
</template></el-table-column
>
<el-table-column label="累计完成产值" align="center" prop="accumulatedCompletionValue"
><template #default="scope">
{{ proxy.formatPrice(scope.row.accumulatedCompletionValue) }}
</template></el-table-column
>
<el-table-column label="产值差额" align="center" prop="valueDifferenceAccumulation"
><template #default="scope">
{{ proxy.formatPrice(scope.row.valueDifferenceAccumulation) }}
</template></el-table-column
>
<el-table-column label="项目完成总进度" align="center" prop="totalCompletionProgress" />
</el-table>
<pagination
@ -50,6 +98,7 @@ import { listOutTable } from '@/api/out/outTable';
const userStore = useUserStoreHook();
const currentProject = computed(() => userStore.selectedProject);
const activeTab = ref('1');
const { proxy } = getCurrentInstance() as any;
const queryParams = ref({
month: '',
pageNum: 1,
@ -110,7 +159,7 @@ const resetMonth=()=>{
// 形成"YYYY-M"格式
const formattedDate = `${year}-${String(month).padStart(2, '0')}`;
queryParams.value.month = formattedDate;
}
};
onMounted(() => {
resetMonth();

View File

@ -12,7 +12,11 @@
<el-table-column label="规格" align="center" prop="specification" />
<el-table-column label="单位" align="center" prop="unit" />
<el-table-column label="接收数量" align="center" prop="acceptedQuantity" />
<el-table-column label="价格" align="center" prop="unitPrice"> </el-table-column>
<el-table-column label="价格" align="center" prop="unitPrice">
<template #default="scope">
{{ proxy.formatPrice(scope.row.unitPrice) }}
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark"> </el-table-column>
<el-table-column label="操作" align="center" prop="remark" v-if="queryParams.type == '1'">
<template #default="scope">

View File

@ -48,7 +48,11 @@
<span>{{ parseTime(scope.row.settlementDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="结算产值" align="center" prop="settlementValue" />
<el-table-column label="结算产值" align="center" prop="settlementValue" >
<template #default="scope">
<span>{{ proxy.formatPrice(scope.row.settlementValue) }}</span>
</template>
</el-table-column>
<el-table-column label="说明" align="center" prop="remark" />
<el-table-column label="合同编码" align="center" prop="contractCode" />
<el-table-column label="合同名称" align="center" prop="contractName" />

View File

@ -17,14 +17,46 @@
<el-table v-loading="loading" :data="valueAllocationList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="对甲总产值" align="center" prop="ownerTotalValue" />
<el-table-column label="对甲设计产值" align="center" prop="ownerDesignValue" />
<el-table-column label="对甲采购产值" align="center" prop="ownerPurchaseValue" />
<el-table-column label="对甲施工产值" align="center" prop="ownerConstructionValue" />
<el-table-column label="对乙总产值" align="center" prop="subTotalValue" />
<el-table-column label="对设计产值" align="center" prop="subDesignValue" />
<el-table-column label="对乙采购产值" align="center" prop="subPurchaseValue" />
<el-table-column label="对乙施工产值" align="center" prop="subConstructionValue" />
<el-table-column label="对甲总产值" align="center" prop="ownerTotalValue">
<template #default="scope">
{{ proxy.formatPrice(scope.row.ownerTotalValue) }}
</template>
</el-table-column>
<el-table-column label="对设计产值" align="center" prop="ownerDesignValue"
><template #default="scope">
{{ proxy.formatPrice(scope.row.ownerDesignValue) }}
</template></el-table-column
>
<el-table-column label="对甲采购产值" align="center" prop="ownerPurchaseValue"
><template #default="scope">
{{ proxy.formatPrice(scope.row.ownerPurchaseValue) }}
</template></el-table-column
>
<el-table-column label="对甲施工产值" align="center" prop="ownerConstructionValue"
><template #default="scope">
{{ proxy.formatPrice(scope.row.ownerConstructionValue) }}
</template></el-table-column
>
<el-table-column label="对乙总产值" align="center" prop="subTotalValue"
><template #default="scope">
{{ proxy.formatPrice(scope.row.subTotalValue) }}
</template></el-table-column
>
<el-table-column label="对乙设计产值" align="center" prop="subDesignValue"
><template #default="scope">
{{ proxy.formatPrice(scope.row.subDesignValue) }}
</template></el-table-column
>
<el-table-column label="对乙采购产值" align="center" prop="subPurchaseValue"
><template #default="scope">
{{ proxy.formatPrice(scope.row.subPurchaseValue) }}
</template></el-table-column
>
<el-table-column label="对乙施工产值" align="center" prop="subConstructionValue"
><template #default="scope">
{{ proxy.formatPrice(scope.row.subConstructionValue) }}
</template></el-table-column
>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-tooltip content="修改" placement="top">

View File

@ -69,22 +69,22 @@
</el-table-column>
<el-table-column label="综合单价(业主)" align="center" prop="ownerPrice">
<template #default="{ row }">
{{ row.unitType == 0 ? '' : row.ownerPrice }}
{{ row.unitType == 0 ? '' : proxy.formatPrice(row.ownerPrice) }}
</template>
</el-table-column>
<el-table-column label="综合单价(分包)" align="center" prop="constructionPrice">
<template #default="{ row }">
{{ row.unitType == 0 ? '' : row.constructionPrice }}
{{ row.unitType == 0 ? '' : proxy.formatPrice(row.constructionPrice) }}
</template>
</el-table-column>
<el-table-column label="产值金额(业主)" align="center" prop="ownerOutputValue">
<template #default="{ row }">
{{ row.unitType == 0 ? '' : row.ownerOutputValue }}
{{ row.unitType == 0 ? '' : proxy.formatPrice(row.ownerOutputValue) }}
</template>
</el-table-column>
<el-table-column label="产值金额(分包)" align="center" prop="constructionOutputValue">
<template #default="{ row }">
{{ row.unitType == 0 ? '' : row.constructionOutputValue }}
{{ row.unitType == 0 ? '' : proxy.formatPrice(row.constructionOutputValue) }}
</template>
</el-table-column>
<el-table-column label="总数量" align="center" prop="total">
@ -192,7 +192,7 @@ import { ProgressCategoryVO, ProgressCategoryQuery, ProgressCategoryForm } from
import { getTabList } from '@/api/progress/progressCategoryTemplate';
import { useUserStoreHook } from '@/store/modules/user';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { proxy } = getCurrentInstance() as any;
const { progress_unit_type, progress_work_type } = toRefs<any>(proxy?.useDict('progress_unit_type', 'progress_work_type'));
const activeTab = ref('0');
const relevancyStructure = ref('1');

View File

@ -148,7 +148,7 @@
<el-table-column label="薪水" align="center" min-width="180">
<template #default="scope">
<span class="flex justify-center">
{{ scope.row.salary ? scope.row.salary : scope.row.standardSalary }}
{{ proxy.formatPrice(scope.row.salary ? scope.row.salary : scope.row.standardSalary) }}
(<dict-tag :options="wage_measure_unit_type" :value="scope.row.wageMeasureUnit"></dict-tag>)
</span>
<div class="text-blue text-sm cursor-pointer" @click="openSalaryDialog(scope.row)">{{ scope.row.salary ? '取消变更' : '变更' }}</div>
@ -516,7 +516,7 @@ import { AttendanceMonthVO } from '@/api/project/attendance/types';
import { parseTime } from '@/utils/ruoyi';
const calendar = ref<CalendarInstance>();
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { proxy } = getCurrentInstance() as any;
const { type_of_work, user_sex_type, user_clock_type, user_file_type, user_status_type, wage_measure_unit_type } = toRefs<any>(
proxy?.useDict('type_of_work', 'user_sex_type', 'user_clock_type', 'user_file_type', 'user_status_type', 'wage_measure_unit_type')
);

View File

@ -22,7 +22,7 @@
<div>
<div>
<span>租金</span>
<span>{{ detailInfo.rentSum / 1000 }} 万元</span>
<span>{{ proxy.formatPrice(detailInfo.rentSum) / 1000 }} 万元</span>
</div>
<el-icon :size="50" color="#3176ff">
<Postcard />
@ -83,9 +83,21 @@
{{ scope.row.transferArea && scope.row.designArea ? ((scope.row.transferArea / scope.row.designArea) * 100).toFixed(2) : '0.00' }}
</template>
</el-table-column>
<el-table-column label="土地租金(元)" align="center" prop="landRentAll" width="180" />
<el-table-column label="青苗赔偿(元)" align="center" prop="seedlingCompensationAll" width="180" />
<el-table-column label="总金额(元)" align="center" prop="totalAmountAll" width="150" />
<el-table-column label="土地租金(元)" align="center" prop="landRentAll" width="180">
<template #default="scope">
{{ proxy.formatPrice(scope.row.landRentAll) }}
</template></el-table-column
>
<el-table-column label="青苗赔偿(元)" align="center" prop="seedlingCompensationAll" width="180">
<template #default="scope">
{{ proxy.formatPrice(scope.row.seedlingCompensationAll) }}
</template></el-table-column
>
<el-table-column label="总金额(元)" align="center" prop="totalAmountAll" width="150">
<template #default="scope">
{{ proxy.formatPrice(scope.row.totalAmountAll) }}
</template></el-table-column
>
<el-table-column label="操作" align="center" fixed="right" width="200">
<template #default="scope">
@ -168,9 +180,21 @@
<el-table-column label="流转状态" align="center" prop="transferStatusName" />
<el-table-column label="已流转面积(亩)" align="center" prop="areaValue" width="180" />
<el-table-column label="流转比例(%)" align="center" prop="transferRatio" width="180" />
<el-table-column label="土地租金(元)" align="center" prop="landRent" width="180" />
<el-table-column label="青苗赔偿(元)" align="center" prop="seedlingCompensation" width="180" />
<el-table-column label="总金额(元)" align="center" prop="totalAmount" width="150" />
<el-table-column label="土地租金(元)" align="center" prop="landRent" width="180">
<template #default="scope">
{{ proxy.formatPrice(scope.row.landRent) }}
</template></el-table-column
>
<el-table-column label="青苗赔偿(元)" align="center" prop="seedlingCompensation" width="180">
<template #default="scope">
{{ proxy.formatPrice(scope.row.seedlingCompensation) }}
</template></el-table-column
>
<el-table-column label="总金额(元)" align="center" prop="totalAmount" width="150">
<template #default="scope">
{{ proxy.formatPrice(scope.row.totalAmount) }}
</template></el-table-column
>
<el-table-column label="状态说明" align="center" prop="statusDescription" />
<el-table-column label="问题总结" align="center" prop="issueSummary" />
<el-table-column label="下一步策略" align="center" prop="nextStrategy" width="180" />
@ -557,7 +581,7 @@ interface PageData<T, Q> {
rules: Record<string, any[]>;
}
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { proxy } = getCurrentInstance() as any;
// 获取用户 store
const userStore = useUserStoreHook();
// 从 store 中获取项目列表和当前选中的项目

View File

@ -50,9 +50,21 @@
<el-table-column label="流转状态" align="center" prop="transferStatusName" />
<el-table-column label="已流转面积(亩)" align="center" prop="transferAea" width="180" />
<el-table-column label="流转比例(%)" align="center" prop="transferRatio" width="180" />
<el-table-column label="土地租金(元)" align="center" prop="landRent" width="180" />
<el-table-column label="青苗赔偿(元)" align="center" prop="seedlingCompensation" width="180" />
<el-table-column label="总金额(元)" align="center" prop="totalAmount" width="150" />
<el-table-column label="土地租金(元)" align="center" prop="landRent" width="180">
<template #default="scope">
{{ proxy.formatPrice(scope.row.landRent) }}
</template></el-table-column
>
<el-table-column label="青苗赔偿(元)" align="center" prop="seedlingCompensation" width="180">
<template #default="scope">
{{ proxy.formatPrice(scope.row.seedlingCompensation) }}
</template></el-table-column
>
<el-table-column label="总金额(元)" align="center" prop="totalAmount" width="150">
<template #default="scope">
{{ proxy.formatPrice(scope.row.totalAmount) }}
</template>
</el-table-column>
<el-table-column label="状态说明" align="center" prop="statusDescription" />
<el-table-column label="问题总结" align="center" prop="issueSummary" />
<el-table-column label="下一步策略" align="center" prop="nextStrategy" width="180" />
@ -162,7 +174,7 @@ import { listEnterRoad } from '@/api/system/landTransfer/enterRoad';
import { LandTransferLedgerVO, LandTransferLedgerQuery, LandTransferLedgerForm } from '@/api/system/landTransfer/landTransferLedger/types';
import { useUserStoreHook } from '@/store/modules/user';
import { listLandBlock } from '@/api/system/landTransfer/landBlock';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { proxy } = getCurrentInstance() as any;
// 获取用户 store
const userStore = useUserStoreHook();
// 从 store 中获取项目列表和当前选中的项目

View File

@ -152,7 +152,7 @@
<el-table-column label="薪水" align="center" min-width="180">
<template #default="scope">
<span class="flex justify-center">
{{ scope.row.salary ? scope.row.salary : scope.row.standardSalary }}
{{ proxy.formatPrice(scope.row.salary ? scope.row.salary : scope.row.standardSalary) }}
(<dict-tag :options="wage_measure_unit_type" :value="scope.row.wageMeasureUnit"></dict-tag>)
</span>
<div class="text-blue text-sm cursor-pointer" @click="openSalaryDialog(scope.row)">{{ scope.row.salary ? '取消变更' : '变更' }}</div>
@ -551,7 +551,7 @@ import { AttendanceMonthVO } from '@/api/project/attendance/types';
import { parseTime } from '@/utils/ruoyi';
const calendar = ref<CalendarInstance>();
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { proxy } = getCurrentInstance() as any;
const { type_of_work, user_sex_type, user_clock_type, user_file_type, user_status_type, wage_measure_unit_type, user_post_type } = toRefs<any>(
proxy?.useDict('type_of_work', 'user_sex_type', 'user_clock_type', 'user_file_type', 'user_status_type', 'wage_measure_unit_type', 'user_post_type')
);

View File

@ -16,7 +16,7 @@
<el-popover placement="top-start" title="" :width="200" trigger="hover" :content="DetailMoney + '元'">
<template #reference>
<el-tag class="m-2" size="large"
><span style="font-size: 20px; cursor: pointer">金额:{{ totalMoney }}</span></el-tag
><span style="font-size: 20px; cursor: pointer">金额:{{ totalMoney ? proxy.formatPrice(totalMoney) : 0 }}</span></el-tag
>
</template>
</el-popover>
@ -25,7 +25,9 @@
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="序号" align="center" type="index" min-width="50px" />
<el-table-column label="标题" align="center" prop="title" min-width="120px" />
<el-table-column label="金额" align="center" prop="money" min-width="100px" />
<el-table-column label="金额" align="center" prop="money" min-width="100px">
<template #default="scope"> {{ proxy.formatPrice(scope.row.money) }} </template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding" min-width="200px" fixed="right">
<template #default="scope">
<el-button type="primary" link @click="handleView(scope.row)"

View File

@ -147,7 +147,7 @@
<el-table-column label="薪水" align="center" min-width="180">
<template #default="scope">
<span class="flex justify-center">
{{ scope.row.salary ? scope.row.salary : scope.row.standardSalary }}
{{ proxy.formatPrice(scope.row.salary ? scope.row.salary : scope.row.standardSalary) }}
(<dict-tag :options="wage_measure_unit_type" :value="scope.row.wageMeasureUnit"></dict-tag>)
</span>
<div class="text-blue text-sm cursor-pointer" @click="openSalaryDialog(scope.row)">{{ scope.row.salary ? '取消变更' : '变更' }}</div>
@ -513,7 +513,7 @@ import { AttendanceMonthVO } from '@/api/project/attendance/types';
import { parseTime } from '@/utils/ruoyi';
const calendar = ref<CalendarInstance>();
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { proxy } = getCurrentInstance() as any;
const { type_of_work, user_sex_type, user_clock_type, user_file_type, user_status_type, wage_measure_unit_type } = toRefs<any>(
proxy?.useDict('type_of_work', 'user_sex_type', 'user_clock_type', 'user_file_type', 'user_status_type', 'wage_measure_unit_type')
);

View File

@ -59,7 +59,11 @@
<dict-tag :options="subcontract_type" :value="scope.row.contractType" />
</template>
</el-table-column>
<el-table-column label="合同金额" align="center" prop="contractAmount" />
<el-table-column label="合同金额" align="center" prop="contractAmount">
<template #default="scope">
<span>{{ proxy.formatPrice(scope.row.contractAmount) }}</span>
</template>
</el-table-column>
<el-table-column label="合同时间" align="center" prop="contractTime" width="180">
<template #default="scope">
<span>{{ parseTime(scope.row.contractTime, '{y}-{m}-{d}') }}</span>
@ -133,7 +137,7 @@ import { SubcontractVO, SubcontractQuery, SubcontractForm } from '@/api/project/
import { listContractor } from '@/api/project/contractor';
import { useUserStoreHook } from '@/store/modules/user';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { proxy } = getCurrentInstance() as any;
// 获取用户 store
const userStore = useUserStoreHook();
const currentProject = computed(() => userStore.selectedProject);

View File

@ -71,7 +71,11 @@
{{ scope.row.wageCalculationType == 1 ? '计时' : '计件' }}
</template>
</el-table-column>
<el-table-column label="工资标准" align="center" prop="wage" />
<el-table-column label="工资标准" align="center" prop="wage">
<template #default="scope">
{{ proxy.formatPrice(scope.row.wage) }}
</template>
</el-table-column>
<el-table-column label="工资计量单位" align="center" prop="wageMeasureUnit">
<template #default="scope">
<dict-tag :options="wage_measure_unit_type" :value="scope.row.wageMeasureUnit" />
@ -141,7 +145,7 @@ import { listWorkWage, getWorkWage, delWorkWage, addWorkWage, updateWorkWage } f
import { WorkWageVO, WorkWageQuery, WorkWageForm, SpecialType } from '@/api/project/workWage/types';
import { useUserStoreHook } from '@/store/modules/user';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { proxy } = getCurrentInstance() as any;
const { type_of_work, wage_measure_unit_type } = toRefs<any>(proxy?.useDict('type_of_work', 'wage_measure_unit_type'));
console.log(type_of_work);

View File

@ -81,8 +81,8 @@
changePrice(scope.row);
}
"
:precision="2"
:step="0.1"
:precision="4"
:min="0"
:controls="false"
v-if="scope.row.quantity && scope.row.quantity != 0"
:disabled="versionsData.status != 'draft'"
@ -91,7 +91,7 @@
</el-table-column>
<el-table-column prop="price" label="总价" align="center">
<template #default="scope">
{{ scope.row.price != 0 ? Number(scope.row.price).toFixed(2) : null }}
{{ proxy.formatPrice(scope.row.price) }}
</template>
</el-table-column>
<el-table-column prop="taxRate" label="税率" width="100" align="center">
@ -154,7 +154,7 @@ interface VersionItem {
}
// 实例与状态初始化
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { proxy } = getCurrentInstance() as any;
const userStore = useUserStoreHook();
const currentProject = computed(() => userStore.selectedProject);

View File

@ -41,10 +41,14 @@
<el-table-column prop="specification" label="规格" />
<el-table-column prop="unit" label="单位" />
<el-table-column prop="quantity" label="数量" />
<el-table-column prop="unitPrice" label="单价" align="center" />
<el-table-column prop="unitPrice" label="单价" align="center">
<template #default="scope">
{{ proxy.formatPrice(scope.row.unitPrice) }}
</template>
</el-table-column>
<el-table-column prop="price" label="总价" align="center">
<template #default="scope">
{{ scope.row.price != 0 ? Number(scope.row.price).toFixed(2) : null }}
{{ proxy.formatPrice(scope.row.price) }}
</template>
</el-table-column>
</el-table>

View File

@ -41,10 +41,14 @@
<el-table-column prop="specification" label="规格" />
<el-table-column prop="unit" label="单位" />
<el-table-column prop="quantity" label="数量" />
<el-table-column prop="unitPrice" label="单价" align="center" />
<el-table-column prop="unitPrice" label="单价" align="center">
<template #default="scope">
{{ proxy.formatPrice(scope.row.unitPrice) }}
</template>
</el-table-column>
<el-table-column prop="price" label="总价" align="center">
<template #default="scope">
{{ scope.row.price != 0 ? Number(scope.row.price).toFixed(2) : null }}
{{ proxy.formatPrice(scope.row.price) }}
</template>
</el-table-column>
</el-table>

View File

@ -25,7 +25,11 @@
</el-table-column>
<el-table-column prop="name" label="名称" align="center" />
<el-table-column prop="content" label="内容" align="center" />
<el-table-column prop="price" label="限价" align="center" />
<el-table-column prop="price" label="限价" align="center">
<template #default="scope">
{{ proxy.formatPrice(scope.row.price) }}
</template>
</el-table-column>
<el-table-column prop="bidd" align="center">
<template #header> <span style="color: red">*</span>招标文件 </template>
<template #default="scope">
@ -75,8 +79,8 @@
changeContractPrice(val, scope.row);
}
"
:precision="2"
:step="1"
:precision="4"
:min="0"
:controls="false"
:disabled="scope.row.bidStatus == 1"
v-hasPermi="['tender:biddingPlan:edit']"
@ -226,22 +230,27 @@
/>
</template>
</el-table-column>
<el-table-column prop="unitPrice" label="单价" align="center" />
<el-table-column prop="unitPrice" label="单价" align="center">
<template #default="scope">
{{ scope.row.unitPrice ? proxy.formatPrice(scope.row.unitPrice) : '' }}
</template>
</el-table-column>
<el-table-column prop="price" label="总价" align="center">
<template #default="scope">
{{
proxy.formatPrice(
((scope.row.quantity ? Number(scope.row.quantity) : 0) -
(scope.row.useQuantity ? Number(scope.row.useQuantity) : 0) -
(scope.row.selectNum ? Number(scope.row.selectNum) : 0)) *
Number(scope.row.unitPrice) ==
0
? ''
: (
((scope.row.quantity ? Number(scope.row.quantity) : 0) -
: ((scope.row.quantity ? Number(scope.row.quantity) : 0) -
(scope.row.useQuantity ? Number(scope.row.useQuantity) : 0) -
(scope.row.selectNum ? Number(scope.row.selectNum) : 0)) *
Number(scope.row.unitPrice)
).toFixed(2)
Number(scope.row.unitPrice),
false
)
}}
</template>
</el-table-column>
@ -259,10 +268,14 @@
<el-table-column prop="name" label="工程或费用名称" />
<el-table-column prop="unit" label="单位" />
<el-table-column prop="quantity" label="数量" />
<el-table-column prop="unitPrice" label="单价" align="center" />
<el-table-column prop="unitPrice" label="单价" align="center">
<template #default="scope">
{{ scope.row.unitPrice ? proxy.formatPrice(scope.row.unitPrice) : '' }}
</template>
</el-table-column>
<el-table-column prop="price" label="总价" align="center">
<template #default="scope">
{{ scope.row.price }}
{{ scope.row.price ? proxy.formatPrice(scope.row.price) : '' }}
</template>
</el-table-column>
</el-table>
@ -294,12 +307,14 @@
</template>
<script setup lang="ts">
import { getCurrentInstance, ComponentInternalInstance } from 'vue';
import { useUserStoreHook } from '@/store/modules/user';
import { getDicts } from '@/api/system/dict/data';
import { Plus } from '@element-plus/icons-vue';
import { FormInstance } from 'element-plus';
import winTheBid from './comm/winTheBid.vue';
import information from './comm/planPage.vue';
const { proxy } = getCurrentInstance();
import {
sheetList,