Merge branch 'ljx' of http://xny.yj-3d.com:3000/taoge/mk_system into dhr
This commit is contained in:
@ -9,7 +9,7 @@ import animate from '@/animate';
|
|||||||
import { download as dl } from '@/utils/request';
|
import { download as dl } from '@/utils/request';
|
||||||
import { useDict } from '@/utils/dict';
|
import { useDict } from '@/utils/dict';
|
||||||
import { getConfigKey, updateConfigByKey } from '@/api/system/config';
|
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 { downloadFile } from '@/utils/useFileDownload';
|
||||||
|
|
||||||
import { App } from 'vue';
|
import { App } from 'vue';
|
||||||
@ -42,4 +42,5 @@ export default function installPlugin(app: App) {
|
|||||||
app.config.globalProperties.selectDictLabels = selectDictLabels;
|
app.config.globalProperties.selectDictLabels = selectDictLabels;
|
||||||
app.config.globalProperties.animate = animate;
|
app.config.globalProperties.animate = animate;
|
||||||
app.config.globalProperties.downloadFile = downloadFile;
|
app.config.globalProperties.downloadFile = downloadFile;
|
||||||
|
app.config.globalProperties.formatPrice = formatPrice;
|
||||||
}
|
}
|
||||||
|
@ -62,7 +62,23 @@ export const addDateRange = (params: any, dateRange: any[], propName?: string) =
|
|||||||
}
|
}
|
||||||
return search;
|
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) => {
|
export const selectDictLabel = (datas: any, value: number | string) => {
|
||||||
if (value === undefined) {
|
if (value === undefined) {
|
||||||
|
@ -58,18 +58,18 @@
|
|||||||
<el-card shadow="never" class="mb8">
|
<el-card shadow="never" class="mb8">
|
||||||
<el-table ref="tableRef" v-loading="loading" :data="tableData" row-key="id" border lazy default-expand-all>
|
<el-table ref="tableRef" v-loading="loading" :data="tableData" row-key="id" border lazy default-expand-all>
|
||||||
<el-table-column prop="num" label="编号" />
|
<el-table-column prop="num" label="编号" />
|
||||||
<el-table-column prop="name" label="工程或费用名称" />
|
<el-table-column prop="name" label="工程或费用名称" />
|
||||||
<el-table-column prop="unit" label="单位" align="center" />
|
<el-table-column prop="unit" label="单位" align="center" />
|
||||||
<el-table-column prop="quantity" label="数量" align="center" />
|
<el-table-column prop="quantity" label="数量" align="center" />
|
||||||
<el-table-column prop="specification" 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">
|
<template #default="scope">
|
||||||
<span>{{ scope.row.unitPrice }}</span>
|
{{ proxy.formatPrice(scope.row.unitPrice) }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="price" label="总价" align="center">
|
<el-table-column prop="price" label="总价" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
{{ scope.row.price }}
|
{{ proxy.formatPrice(scope.row.price) }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<!-- <el-table-column prop="price" label="操作" align="center">
|
<!-- <el-table-column prop="price" label="操作" align="center">
|
||||||
@ -92,7 +92,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useUserStoreHook } from '@/store/modules/user';
|
import { useUserStoreHook } from '@/store/modules/user';
|
||||||
import { BiddingImportExcelFile, getTreeLimit, biddingLimitListUpdate, sheetList, obtainAllVersionNumbers } from '@/api/bidding/biddingLimit';
|
import { BiddingImportExcelFile, getTreeLimit, biddingLimitListUpdate, sheetList, obtainAllVersionNumbers } from '@/api/bidding/biddingLimit';
|
||||||
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
const { proxy } = getCurrentInstance() as any;
|
||||||
|
|
||||||
const userStore = useUserStoreHook();
|
const userStore = useUserStoreHook();
|
||||||
const currentProject = computed(() => userStore.selectedProject);
|
const currentProject = computed(() => userStore.selectedProject);
|
||||||
|
@ -77,8 +77,8 @@
|
|||||||
changePrice(scope.row);
|
changePrice(scope.row);
|
||||||
}
|
}
|
||||||
"
|
"
|
||||||
:precision="2"
|
:min="0"
|
||||||
:step="0.1"
|
:precision="4"
|
||||||
:controls="false"
|
:controls="false"
|
||||||
v-if="scope.row.quantity && scope.row.quantity != 0"
|
v-if="scope.row.quantity && scope.row.quantity != 0"
|
||||||
/>
|
/>
|
||||||
@ -86,7 +86,7 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="price" label="总价" align="center">
|
<el-table-column prop="price" label="总价" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
{{ scope.row.price != 0 ? Number(scope.row.price).toFixed(2) : null }}
|
{{ proxy.formatPrice(scope.row.price) }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="operate" label="操作" align="center">
|
<el-table-column prop="operate" label="操作" align="center">
|
||||||
|
@ -25,7 +25,11 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="name" label="名称" align="center" />
|
<el-table-column prop="name" label="名称" align="center" />
|
||||||
<el-table-column prop="content" 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">
|
<el-table-column prop="plannedBiddingTime" align="center">
|
||||||
<template #header> <span style="color: red">*</span>计划招标时间 </template>
|
<template #header> <span style="color: red">*</span>计划招标时间 </template>
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
@ -158,22 +162,28 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</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">
|
<el-table-column prop="price" label="总价" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
{{
|
{{
|
||||||
((scope.row.quantity ? Number(scope.row.quantity) : 0) -
|
proxy.formatPrice(
|
||||||
(scope.row.useQuantity ? Number(scope.row.useQuantity) : 0) -
|
((scope.row.quantity ? Number(scope.row.quantity) : 0) -
|
||||||
(scope.row.selectNum ? Number(scope.row.selectNum) : 0)) *
|
(scope.row.useQuantity ? Number(scope.row.useQuantity) : 0) -
|
||||||
Number(scope.row.unitPrice) ==
|
(scope.row.selectNum ? Number(scope.row.selectNum) : 0)) *
|
||||||
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.useQuantity ? Number(scope.row.useQuantity) : 0) -
|
||||||
(scope.row.selectNum ? Number(scope.row.selectNum) : 0)) *
|
(scope.row.selectNum ? Number(scope.row.selectNum) : 0)) *
|
||||||
Number(scope.row.unitPrice)
|
Number(scope.row.unitPrice),
|
||||||
).toFixed(2)
|
false
|
||||||
|
)
|
||||||
}}
|
}}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
@ -207,6 +217,7 @@ import { useUserStoreHook } from '@/store/modules/user';
|
|||||||
import { getDicts } from '@/api/system/dict/data';
|
import { getDicts } from '@/api/system/dict/data';
|
||||||
import { Plus } from '@element-plus/icons-vue';
|
import { Plus } from '@element-plus/icons-vue';
|
||||||
import { FormInstance } from 'element-plus';
|
import { FormInstance } from 'element-plus';
|
||||||
|
const { proxy } = getCurrentInstance();
|
||||||
import {
|
import {
|
||||||
treeList,
|
treeList,
|
||||||
sheetList,
|
sheetList,
|
||||||
|
@ -79,18 +79,16 @@
|
|||||||
changePrice(scope.row);
|
changePrice(scope.row);
|
||||||
}
|
}
|
||||||
"
|
"
|
||||||
:precision="2"
|
:min="0"
|
||||||
:step="0.1"
|
:precision="4"
|
||||||
:controls="false"
|
:controls="false"
|
||||||
v-if="scope.row.quantity && scope.row.quantity != 0"
|
v-if="scope.row.quantity && scope.row.quantity != 0"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="price" label="总价" align="center" >
|
<el-table-column prop="price" label="总价" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<!-- {{ scope.row.children.length > 0 ? scope.row.children.reduce((sum, child) => sum + child.price, 0) : scope.row.price }} -->
|
{{ proxy.formatPrice(scope.row.price) }}
|
||||||
{{ scope.row.price != 0 ? Number(scope.row.price).toFixed(2) : null }}
|
|
||||||
<!-- {{ scope.row.price }} -->
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="operate" label="操作" align="center">
|
<el-table-column prop="operate" label="操作" align="center">
|
||||||
|
@ -41,10 +41,14 @@
|
|||||||
<el-table-column prop="specification" label="规格" />
|
<el-table-column prop="specification" label="规格" />
|
||||||
<el-table-column prop="unit" label="单位" />
|
<el-table-column prop="unit" label="单位" />
|
||||||
<el-table-column prop="quantity" label="数量" />
|
<el-table-column prop="quantity" label="数量" />
|
||||||
<el-table-column prop="unitPrice" label="单价" align="center" />
|
<el-table-column prop="unitPrice" label="单价" align="center">
|
||||||
<el-table-column prop="price" label="总价" align="center">
|
|
||||||
<template #default="scope">
|
<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>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -70,8 +74,12 @@
|
|||||||
</div>
|
</div>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<div class="dialog-footer p-4 border-t border-gray-100 flex justify-end space-x-3">
|
<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 @click="handleClose" class="px-4 py-2 border border-gray-300 rounded-md text-gray-700 hover:bg-gray-50 transition-colors"
|
||||||
<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
|
||||||
|
>
|
||||||
|
<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>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
@ -1,79 +1,80 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<el-steps style="max-width: 100%" :active="active" finish-status="success" align-center>
|
<el-steps style="max-width: 100%" :active="active" finish-status="success" align-center>
|
||||||
<el-step title="选择合同类型" />
|
<el-step title="选择合同类型" />
|
||||||
<el-step title="修改合同内容" />
|
<el-step title="修改合同内容" />
|
||||||
<el-step title="修改收款方式" />
|
<el-step title="修改收款方式" />
|
||||||
</el-steps>
|
</el-steps>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<template v-if="active == 1">
|
<template v-if="active == 1">
|
||||||
<h1>修改收入合同</h1>
|
<h1>修改收入合同</h1>
|
||||||
<el-form ref="incomeContractFormRef" :model="form" :rules="incomeContractFormRules" label-width="80px">
|
<el-form ref="incomeContractFormRef" :model="form" :rules="incomeContractFormRules" label-width="80px">
|
||||||
<el-form-item label="合同编号" prop="contractCode">
|
<el-form-item label="合同编号" prop="contractCode">
|
||||||
<el-input v-model="form.contractCode" placeholder="请输入合同编号" />
|
<el-input v-model="form.contractCode" placeholder="请输入合同编号" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="合同类型" prop="contractType">
|
<el-form-item label="合同类型" prop="contractType">
|
||||||
<el-select v-model="form.contractType" placeholder="请选择合同类型">
|
<el-select v-model="form.contractType" placeholder="请选择合同类型">
|
||||||
<el-option v-for="item in income_contract_type" :key="item.value" :label="item.label"
|
<el-option v-for="item in income_contract_type" :key="item.value" :label="item.label" :value="item.value" />
|
||||||
:value="item.value" />
|
</el-select>
|
||||||
</el-select>
|
</el-form-item>
|
||||||
</el-form-item>
|
<el-form-item label="业主单位" prop="contractOwner">
|
||||||
<el-form-item label="业主单位" prop="contractOwner">
|
<el-input v-model="form.contractOwner" placeholder="请输入业主单位" disabled />
|
||||||
<el-input v-model="form.contractOwner" placeholder="请输入业主单位" disabled />
|
</el-form-item>
|
||||||
</el-form-item>
|
<el-form-item label="承包内容" v-if="contract_type !== 'income'">
|
||||||
<el-form-item label="承包内容" v-if="contract_type !== 'income'">
|
<editor v-model="form.contractedContent" :min-height="192" />
|
||||||
<editor v-model="form.contractedContent" :min-height="192" />
|
</el-form-item>
|
||||||
</el-form-item>
|
<el-form-item label="合同内容" v-else>
|
||||||
<el-form-item label="合同内容" v-else>
|
<editor v-model="form.contractedContent" :min-height="192" />
|
||||||
<editor v-model="form.contractedContent" :min-height="192" />
|
</el-form-item>
|
||||||
</el-form-item>
|
<el-form-item label="合同金额" prop="amount">
|
||||||
<el-form-item label="合同金额" prop="amount">
|
<el-input
|
||||||
<el-input v-model="form.amount" placeholder="请输入合同金额"
|
v-model="form.amount"
|
||||||
oninput="value=value.replace(/[^0-9.]/g,'').replace(/\.{2,}/g,'.').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')" />
|
placeholder="请输入合同金额"
|
||||||
</el-form-item>
|
oninput="value=value.replace(/[^0-9.]/g,'').replace(/\.{2,}/g,'.').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
|
||||||
<el-form-item label="备注" prop="remark">
|
/>
|
||||||
<el-input v-model="form.remark" placeholder="请输入备注" />
|
</el-form-item>
|
||||||
</el-form-item>
|
<el-form-item label="备注" prop="remark">
|
||||||
<el-form-item label="附件">
|
<el-input v-model="form.remark" placeholder="请输入备注" />
|
||||||
<FileUpload :multiple="true" :fileType="['pdf']" :onUploadSuccess="onUploadSuccess"
|
</el-form-item>
|
||||||
:ref="fileRef" :defaultFileList="tempFileList" />
|
<el-form-item label="附件">
|
||||||
</el-form-item>
|
<FileUpload :multiple="true" :fileType="['pdf']" :onUploadSuccess="onUploadSuccess" :ref="fileRef" :defaultFileList="tempFileList" />
|
||||||
</el-form>
|
</el-form-item>
|
||||||
<div>
|
</el-form>
|
||||||
<el-button type="primary" @click="next">下一步</el-button>
|
<div>
|
||||||
</div>
|
<el-button type="primary" @click="next">下一步</el-button>
|
||||||
</template>
|
|
||||||
<template v-else-if="active == 2">
|
|
||||||
<h1>修改收入合同</h1>
|
|
||||||
<el-form :model="form" :rules="payMentRules" label-width="150" ref="payMentRef">
|
|
||||||
<el-form-item label="支付方式" placeholder="请选择支付方式" prop="payType">
|
|
||||||
<el-select v-model="form.payType">
|
|
||||||
<el-option :value="1" label="月结算">月结算</el-option>
|
|
||||||
<el-option :value="2" label="形象节点">形象节点</el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="预付款比例(%)" prop="advancePayRatio">
|
|
||||||
<el-input-number v-model="form.advancePayRatio" :max="100" :min="0" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="尾款比例(%)" prop="balancePayRatio">
|
|
||||||
<el-input-number v-model="form.balancePayRatio" :max="100" :min="0" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="质保金比例(%)" prop="assuranceDepositRatio">
|
|
||||||
<el-input-number v-model="form.assuranceDepositRatio" :max="100" :min="0" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="付款比例(%)" prop="payRatio">
|
|
||||||
<el-input-number v-model="payRatioComputed" disabled />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item>
|
|
||||||
<div>
|
|
||||||
<el-button @click="back(false)">上一步</el-button>
|
|
||||||
<el-button type="success" @click="submitForm">提交</el-button>
|
|
||||||
</div>
|
|
||||||
</el-form-item>
|
|
||||||
</el-form>
|
|
||||||
</template>
|
|
||||||
</div>
|
</div>
|
||||||
|
</template>
|
||||||
|
<template v-else-if="active == 2">
|
||||||
|
<h1>修改收入合同</h1>
|
||||||
|
<el-form :model="form" :rules="payMentRules" label-width="150" ref="payMentRef">
|
||||||
|
<el-form-item label="支付方式" placeholder="请选择支付方式" prop="payType">
|
||||||
|
<el-select v-model="form.payType">
|
||||||
|
<el-option :value="1" label="月结算">月结算</el-option>
|
||||||
|
<el-option :value="2" label="形象节点">形象节点</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="预付款比例(%)" prop="advancePayRatio">
|
||||||
|
<el-input-number v-model="form.advancePayRatio" :max="100" :min="0" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="尾款比例(%)" prop="balancePayRatio">
|
||||||
|
<el-input-number v-model="form.balancePayRatio" :max="100" :min="0" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="质保金比例(%)" prop="assuranceDepositRatio">
|
||||||
|
<el-input-number v-model="form.assuranceDepositRatio" :max="100" :min="0" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="付款比例(%)" prop="payRatio">
|
||||||
|
<el-input-number v-model="payRatioComputed" disabled />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<div>
|
||||||
|
<el-button @click="back(false)">上一步</el-button>
|
||||||
|
<el-button type="success" @click="submitForm">提交</el-button>
|
||||||
|
</div>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</template>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script setup>
|
<script setup>
|
||||||
import FileUpload from '@/components/FileUpload';
|
import FileUpload from '@/components/FileUpload';
|
||||||
@ -95,140 +96,140 @@ const incomeContractFormRef = ref(null);
|
|||||||
const expensesContractFormRef = ref(null);
|
const expensesContractFormRef = ref(null);
|
||||||
const payMentRef = ref(null);
|
const payMentRef = ref(null);
|
||||||
const incomeContractFormRules = {
|
const incomeContractFormRules = {
|
||||||
contractCode: [{ required: true, message: '请输入合同编号', trigger: 'blur' }],
|
contractCode: [{ required: true, message: '请输入合同编号', trigger: 'blur' }],
|
||||||
contractType: [{ required: true, message: '请选择合同类型', trigger: 'change' }],
|
contractType: [{ required: true, message: '请选择合同类型', trigger: 'change' }],
|
||||||
contractOwner: [{ required: true, message: '请输入业主单位', trigger: 'blur' }],
|
contractOwner: [{ required: true, message: '请输入业主单位', trigger: 'blur' }],
|
||||||
amount: [{ required: true, message: '请输入合同金额', trigger: 'blur' }],
|
amount: [{ required: true, message: '请输入合同金额', trigger: 'blur' }],
|
||||||
remark: [{ required: false, message: '请输入备注', trigger: 'blur' }]
|
remark: [{ required: false, message: '请输入备注', trigger: 'blur' }]
|
||||||
};
|
};
|
||||||
const expensesContractFormRules = {
|
const expensesContractFormRules = {
|
||||||
contractCode: [{ required: true, message: '请输入合同编号', trigger: 'blur' }],
|
contractCode: [{ required: true, message: '请输入合同编号', trigger: 'blur' }],
|
||||||
contractType: [{ required: true, message: '请选择合同类型', trigger: 'change' }],
|
contractType: [{ required: true, message: '请选择合同类型', trigger: 'change' }],
|
||||||
|
|
||||||
contractSupplier: [{ required: true, message: '请输入供应商', trigger: 'blur' }],
|
contractSupplier: [{ required: true, message: '请输入供应商', trigger: 'blur' }],
|
||||||
amount: [{ required: true, message: '请输入合同金额', trigger: 'blur' }],
|
amount: [{ required: true, message: '请输入合同金额', trigger: 'blur' }],
|
||||||
tenderId: [{ required: true, message: '请选择招标计划', trigger: 'blur' }],
|
tenderId: [{ required: true, message: '请选择招标计划', trigger: 'blur' }],
|
||||||
|
|
||||||
remark: [{ required: false, message: '请输入备注', trigger: 'blur' }]
|
remark: [{ required: false, message: '请输入备注', trigger: 'blur' }]
|
||||||
};
|
};
|
||||||
const payMentRules = {
|
const payMentRules = {
|
||||||
payType: [{ required: true, message: '请选择支付方式', trigger: 'change' }],
|
payType: [{ required: true, message: '请选择支付方式', trigger: 'change' }],
|
||||||
advancePayRatio: [{ required: true, message: '请输入预付款比例', trigger: 'blur' }],
|
advancePayRatio: [{ required: true, message: '请输入预付款比例', trigger: 'blur' }],
|
||||||
balancePayRatio: [{ required: true, message: '请输入尾款比例', trigger: 'blur' }],
|
balancePayRatio: [{ required: true, message: '请输入尾款比例', trigger: 'blur' }],
|
||||||
assuranceDepositRatio: [{ required: true, message: '请输入质保金比例', trigger: 'blur' }]
|
assuranceDepositRatio: [{ required: true, message: '请输入质保金比例', trigger: 'blur' }]
|
||||||
};
|
};
|
||||||
|
|
||||||
const project = computed(() => {
|
const project = computed(() => {
|
||||||
return JSON.parse(localStorage.getItem('selectedProject'));
|
return JSON.parse(localStorage.getItem('selectedProject'));
|
||||||
});
|
});
|
||||||
|
|
||||||
const payRatioComputed = computed({
|
const payRatioComputed = computed({
|
||||||
get: () => {
|
get: () => {
|
||||||
const { advancePayRatio = 0, balancePayRatio = 0, assuranceDepositRatio = 0 } = form.value;
|
const { advancePayRatio = 0, balancePayRatio = 0, assuranceDepositRatio = 0 } = form.value;
|
||||||
const total = 100 - (advancePayRatio + balancePayRatio + assuranceDepositRatio);
|
const total = 100 - (advancePayRatio + balancePayRatio + assuranceDepositRatio);
|
||||||
// form.value.payRatio = total;
|
// form.value.payRatio = total;
|
||||||
return total;
|
return total;
|
||||||
},
|
},
|
||||||
// 只读
|
// 只读
|
||||||
set: () => { }
|
set: () => {}
|
||||||
});
|
});
|
||||||
|
|
||||||
const onUploadSuccess = (data) => {
|
const onUploadSuccess = (data) => {
|
||||||
fileList.value = data;
|
fileList.value = data;
|
||||||
};
|
};
|
||||||
|
|
||||||
const next = async () => {
|
const next = async () => {
|
||||||
if (contract_type.value === 'income') {
|
if (contract_type.value === 'income') {
|
||||||
await incomeContractFormRef.value.validate((valid) => {
|
await incomeContractFormRef.value.validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
active.value++;
|
active.value++;
|
||||||
} else {
|
} else {
|
||||||
ElMessage.error('请填写完整的收入合同信息');
|
ElMessage.error('请填写完整的收入合同信息');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else if (contract_type.value === 'expenses') {
|
} else if (contract_type.value === 'expenses') {
|
||||||
await expensesContractFormRef.value.validate((valid) => {
|
await expensesContractFormRef.value.validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
active.value++;
|
active.value++;
|
||||||
} else {
|
} else {
|
||||||
ElMessage.error('请填写完整的支出合同信息');
|
ElMessage.error('请填写完整的支出合同信息');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
console.log(active.value);
|
console.log(active.value);
|
||||||
|
|
||||||
form.value.step = active.value;
|
form.value.step = active.value;
|
||||||
};
|
};
|
||||||
const submitForm = async () => {
|
const submitForm = async () => {
|
||||||
await payMentRef.value.validate(async (valid) => {
|
await payMentRef.value.validate(async (valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (payRatioComputed.value < 0) {
|
if (payRatioComputed.value < 0) {
|
||||||
ElMessage.error('四项付款比例之和必须等于100%');
|
ElMessage.error('四项付款比例之和必须等于100%');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
form.value.payRatio = payRatioComputed.value;
|
form.value.payRatio = payRatioComputed.value;
|
||||||
|
|
||||||
// 提交付款信息逻辑
|
// 提交付款信息逻辑
|
||||||
console.log('提交付款信息', form.value, fileList.value);
|
console.log('提交付款信息', form.value, fileList.value);
|
||||||
// 这里可以调用API提交数据
|
// 这里可以调用API提交数据
|
||||||
form.value.projectId = project.value.id;
|
form.value.projectId = project.value.id;
|
||||||
form.value.fileList = fileList.value.map((data) => {
|
form.value.fileList = fileList.value.map((data) => {
|
||||||
return {
|
return {
|
||||||
...data,
|
...data,
|
||||||
fileName: data.name,
|
fileName: data.name,
|
||||||
fileUrl: data.url
|
fileUrl: data.url
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
if (contract_type.value === 'income') {
|
if (contract_type.value === 'income') {
|
||||||
await updateIncomeContract({ ...form.value });
|
await updateIncomeContract({ ...form.value });
|
||||||
}
|
}
|
||||||
ElMessage.success('合同修改成功');
|
ElMessage.success('合同修改成功');
|
||||||
} else {
|
} else {
|
||||||
ElMessage.error('请填写完整的付款信息');
|
ElMessage.error('请填写完整的付款信息');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
const handleChoose = async () => {
|
const handleChoose = async () => {
|
||||||
if (!form.value.contractType) {
|
if (!form.value.contractType) {
|
||||||
ElMessage.error('请先选择合同类型');
|
ElMessage.error('请先选择合同类型');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const formData = {
|
const formData = {
|
||||||
projectId: userStore.selectedProject.id,
|
projectId: userStore.selectedProject.id,
|
||||||
dictName: form.value.contractType,
|
dictName: form.value.contractType,
|
||||||
status: 1
|
status: 1
|
||||||
};
|
};
|
||||||
const { data } = await getTenderPlan(formData);
|
const { data } = await getTenderPlan(formData);
|
||||||
if (data.length === 0) {
|
if (data.length === 0) {
|
||||||
ElMessage.warning('当前没有招标计划,请先创建招标计划');
|
ElMessage.warning('当前没有招标计划,请先创建招标计划');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
planList.value = data;
|
planList.value = data;
|
||||||
dialogVisible.value = true;
|
dialogVisible.value = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
const id = route.query.id;
|
const id = route.query.id;
|
||||||
if (id) {
|
if (id) {
|
||||||
const { data } = await getIncomeContract(id);
|
const { data } = await getIncomeContract(id);
|
||||||
form.value.id = data.id;
|
form.value.id = data.id;
|
||||||
form.value.contractOwner = data.contractOwner
|
form.value.contractOwner = data.contractOwner;
|
||||||
} else {
|
} else {
|
||||||
router.push('/ctr/incomeContract');
|
router.push('/ctr/incomeContract');
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
</script>
|
</script>
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
.container {
|
.container {
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
|
|
||||||
.content {
|
.content {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
padding: 30px;
|
padding: 30px;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -145,7 +145,13 @@
|
|||||||
></el-col>
|
></el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="费用" prop="costEstimation">
|
<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>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item label="变更费用估算表" label-width="110px" prop="costEstimationFile">
|
<el-form-item label="变更费用估算表" label-width="110px" prop="costEstimationFile">
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="p-2">
|
<div class="p-2">
|
||||||
<transition :enter-active-class="proxy?.animate.searchAnimate.enter"
|
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
|
||||||
:leave-active-class="proxy?.animate.searchAnimate.leave">
|
|
||||||
<div v-show="showSearch" class="mb-[10px]">
|
<div v-show="showSearch" class="mb-[10px]">
|
||||||
<el-card shadow="hover">
|
<el-card shadow="hover">
|
||||||
<el-form ref="queryFormRef" :model="queryParams" :inline="true" label-width="100px">
|
<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-input v-model="queryParams.formalitiesId" placeholder="请输入手续办理清单模板id" clearable @keyup.enter="handleQuery" />
|
||||||
</el-form-item> -->
|
</el-form-item> -->
|
||||||
<el-form-item label="计划开始时间" prop="planTheStartTime">
|
<el-form-item label="计划开始时间" prop="planTheStartTime">
|
||||||
<el-date-picker clearable v-model="queryParams.planTheStartTime" type="date" value-format="YYYY-MM-DD"
|
<el-date-picker
|
||||||
placeholder="请选择计划开始时间" />
|
clearable
|
||||||
|
v-model="queryParams.planTheStartTime"
|
||||||
|
type="date"
|
||||||
|
value-format="YYYY-MM-DD"
|
||||||
|
placeholder="请选择计划开始时间"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="负责人" prop="head">
|
<el-form-item label="负责人" prop="head">
|
||||||
<el-input v-model="queryParams.head" placeholder="请输入负责人" clearable @keyup.enter="handleQuery" />
|
<el-input v-model="queryParams.head" placeholder="请输入负责人" clearable @keyup.enter="handleQuery" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="实际完成时间" prop="actualCompletionTime">
|
<el-form-item label="实际完成时间" prop="actualCompletionTime">
|
||||||
<el-date-picker clearable v-model="queryParams.actualCompletionTime" type="date" value-format="YYYY-MM-DD"
|
<el-date-picker
|
||||||
placeholder="请选择实际完成时间" />
|
clearable
|
||||||
|
v-model="queryParams.actualCompletionTime"
|
||||||
|
type="date"
|
||||||
|
value-format="YYYY-MM-DD"
|
||||||
|
placeholder="请选择实际完成时间"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- <el-form-item label="手续材料" prop="formalitiesUrl">
|
<!-- <el-form-item label="手续材料" prop="formalitiesUrl">
|
||||||
<el-input v-model="queryParams.formalitiesUrl" placeholder="请输入手续材料" clearable @keyup.enter="handleQuery" />
|
<el-input v-model="queryParams.formalitiesUrl" placeholder="请输入手续材料" clearable @keyup.enter="handleQuery" />
|
||||||
@ -38,13 +47,15 @@
|
|||||||
<template #header>
|
<template #header>
|
||||||
<el-row :gutter="10" class="mb8">
|
<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()"
|
<el-button type="primary" plain icon="Plus" @click="handleAdd()" v-hasPermi="['formalities:formalitiesAreConsolidated:getTree']"
|
||||||
v-hasPermi="['formalities:formalitiesAreConsolidated:getTree']">新增</el-button>
|
>新增</el-button
|
||||||
<span style="margin-left: 10px"><el-tooltip class="box-item" effect="dark" content="从原有模板列表选择新增"
|
>
|
||||||
placement="top">
|
<span style="margin-left: 10px"
|
||||||
|
><el-tooltip class="box-item" effect="dark" content="从原有模板列表选择新增" placement="top">
|
||||||
<el-icon color="#409efc">
|
<el-icon color="#409efc">
|
||||||
<WarningFilled />
|
<WarningFilled />
|
||||||
</el-icon> </el-tooltip></span>
|
</el-icon> </el-tooltip
|
||||||
|
></span>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="1.5" v-hasPermi="['formalities:listOfFormalities:list']">
|
<el-col :span="1.5" v-hasPermi="['formalities:listOfFormalities:list']">
|
||||||
<el-button type="primary" plain icon="Plus" @click="addTemplate()">新增数据</el-button>
|
<el-button type="primary" plain icon="Plus" @click="addTemplate()">新增数据</el-button>
|
||||||
@ -71,11 +82,13 @@
|
|||||||
</el-row>
|
</el-row>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<el-table v-loading="loading" :data="formalitiesAreConsolidatedList" @selection-change="handleSelectionChange"
|
<el-table v-loading="loading" :data="formalitiesAreConsolidatedList" @selection-change="handleSelectionChange" row-key="id" default-expand-all>
|
||||||
row-key="id" default-expand-all>
|
|
||||||
<el-table-column type="selection" width="55" align="center" />
|
<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">
|
<el-table-column label="计划开始时间" align="center" prop="planTheStartTime" width="180">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<span>{{ parseTime(scope.row.planTheStartTime, '{y}-{m}-{d}') }}</span>
|
<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="processingStatus" />
|
||||||
<el-table-column label="手续材料" align="center" prop="formalitiesUrl" width="180">
|
<el-table-column label="手续材料" align="center" prop="formalitiesUrl" width="180">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<div style="display: flex; justify-content: center; align-items: center;">
|
<div style="display: flex; justify-content: center; align-items: center">
|
||||||
|
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<el-link type="primary" :underline="false" @click="handlePreview(scope.row)" target="_blank"
|
<el-link type="primary" :underline="false" @click="handlePreview(scope.row)" target="_blank" v-if="scope.row.formalitiesPid"
|
||||||
v-if="scope.row.formalitiesPid">查看</el-link>
|
>查看</el-link
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<el-badge v-if="scope.row.fileCount" :value="scope.row.fileCount" class="item" type="danger">
|
<el-badge v-if="scope.row.fileCount" :value="scope.row.fileCount" class="item" type="danger"> </el-badge>
|
||||||
</el-badge>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="备注" align="center" prop="remark" />
|
<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">
|
<template #default="scope">
|
||||||
<div v-if="scope.row.formalitiesPid">
|
<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)"
|
@click="handleUpdate(scope.row)"
|
||||||
v-hasPermi="['formalities:formalitiesAreConsolidated:edit']">修改</el-button>
|
v-hasPermi="['formalities:formalitiesAreConsolidated:edit']"
|
||||||
<el-button link type="primary" icon="Upload" v-if="scope.row.processingStatus != '已完成'"
|
>修改</el-button
|
||||||
@click="handleUpload(scope.row)">上传</el-button>
|
>
|
||||||
<el-button link type="primary" icon="EditPen" @click="handleUpdateStatus(scope.row)"
|
<el-button link type="primary" icon="Upload" v-if="scope.row.processingStatus != '已完成'" @click="handleUpload(scope.row)"
|
||||||
v-hasPermi="['formalities:formalitiesAreConsolidated:edit']">修改状态</el-button>
|
>上传</el-button
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
link
|
||||||
|
type="primary"
|
||||||
|
icon="EditPen"
|
||||||
|
@click="handleUpdateStatus(scope.row)"
|
||||||
|
v-hasPermi="['formalities:formalitiesAreConsolidated:edit']"
|
||||||
|
>修改状态</el-button
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
||||||
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum"
|
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
|
||||||
v-model:limit="queryParams.pageSize" @pagination="getList" />
|
|
||||||
</el-card>
|
</el-card>
|
||||||
<!-- 添加或修改合规性手续合账对话框 -->
|
<!-- 添加或修改合规性手续合账对话框 -->
|
||||||
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
|
<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 ref="formalitiesAreConsolidatedFormRef" :model="form" :rules="rules" label-width="160px">
|
||||||
<el-form-item label="计划开始时间" prop="planTheStartTime">
|
<el-form-item label="计划开始时间" prop="planTheStartTime">
|
||||||
<el-date-picker clearable v-model="form.planTheStartTime" type="date" value-format="YYYY-MM-DD"
|
<el-date-picker clearable v-model="form.planTheStartTime" type="date" value-format="YYYY-MM-DD" placeholder="请选择计划开始时间">
|
||||||
placeholder="请选择计划开始时间">
|
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="计划完成时间" prop="planTheStartTime">
|
<el-form-item label="计划完成时间" prop="planTheStartTime">
|
||||||
<el-date-picker clearable v-model="form.planTheEndTime" type="date" value-format="YYYY-MM-DD"
|
<el-date-picker clearable v-model="form.planTheEndTime" type="date" value-format="YYYY-MM-DD" placeholder="请选择计划完成时间">
|
||||||
placeholder="请选择计划完成时间">
|
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="负责人" prop="head">
|
<el-form-item label="负责人" prop="head">
|
||||||
@ -162,8 +181,7 @@
|
|||||||
<el-table :data="fileList" style="width: 100%" border v-loading="fileLoading">
|
<el-table :data="fileList" style="width: 100%" border v-loading="fileLoading">
|
||||||
<el-table-column prop="fileName" label="文件" align="center">
|
<el-table-column prop="fileName" label="文件" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-link :key="scope.row.annexUrl" :href="scope.row.annexUrl" target="_blank" type="primary"
|
<el-link :key="scope.row.annexUrl" :href="scope.row.annexUrl" target="_blank" type="primary" :underline="false">
|
||||||
:underline="false">
|
|
||||||
{{ scope.row.fileName || '查看文件' }}
|
{{ scope.row.fileName || '查看文件' }}
|
||||||
</el-link>
|
</el-link>
|
||||||
</template>
|
</template>
|
||||||
@ -174,8 +192,13 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<pagination v-show="fileTotal > 0" :total="fileTotal" v-model:page="fileParams.pageNum"
|
<pagination
|
||||||
v-model:limit="fileParams.pageSize" @pagination="getFileList" />
|
v-show="fileTotal > 0"
|
||||||
|
:total="fileTotal"
|
||||||
|
v-model:page="fileParams.pageNum"
|
||||||
|
v-model:limit="fileParams.pageSize"
|
||||||
|
@pagination="getFileList"
|
||||||
|
/>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<span>
|
<span>
|
||||||
<el-button type="primary" @click="viewVisible = false">关闭</el-button>
|
<el-button type="primary" @click="viewVisible = false">关闭</el-button>
|
||||||
@ -185,9 +208,18 @@
|
|||||||
<!-- 上传文件对话框 -->
|
<!-- 上传文件对话框 -->
|
||||||
<el-dialog draggable title="上传文件" v-model="fileVisible" width="450">
|
<el-dialog draggable title="上传文件" v-model="fileVisible" width="450">
|
||||||
<el-form-item label="上传文件" prop="processingStatus">
|
<el-form-item label="上传文件" prop="processingStatus">
|
||||||
<file-upload v-model="file" ref="uploadRef" uploadUrl="/formalities/formalitiesAnnex"
|
<file-upload
|
||||||
v-hasPermi="['formalities:formalitiesAnnex:add']" :data="{ formalitiesId: form.id }" :fileType="['pdf']"
|
v-model="file"
|
||||||
:auto-upload="false" showFileList method="put" :onUploadSuccess="handleUploadSuccess" />
|
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>
|
</el-form-item>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<span>
|
<span>
|
||||||
@ -215,14 +247,18 @@
|
|||||||
</el-dialog>
|
</el-dialog>
|
||||||
<el-dialog title="新增合规性手续合账" v-model="templateVisbile" width="450">
|
<el-dialog title="新增合规性手续合账" v-model="templateVisbile" width="450">
|
||||||
<el-form-item label="合规性手续模板">
|
<el-form-item label="合规性手续模板">
|
||||||
<el-cascader v-model="tempValue" :options="tempTreeList" :props="{
|
<el-cascader
|
||||||
multiple: true,
|
v-model="tempValue"
|
||||||
value: 'id',
|
:options="tempTreeList"
|
||||||
label: 'name',
|
:props="{
|
||||||
disabled: (node: any) => {
|
multiple: true,
|
||||||
return (node.pid == 0 && !node.children.length) || node.status == 1; // 有 parent 的是二级,没有 parent 的是一级,禁用一级
|
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">
|
<div style="margin-left: 10px; display: flex; justify-content: center; align-items: center">
|
||||||
<el-tooltip class="box-item" effect="dark" content="列表上已选择得模版不可再选" placement="top">
|
<el-tooltip class="box-item" effect="dark" content="列表上已选择得模版不可再选" placement="top">
|
||||||
<el-icon>
|
<el-icon>
|
||||||
@ -248,8 +284,7 @@
|
|||||||
<el-option v-for="item in listOfFormalitiesList" :label="item.name" :value="item.id" />
|
<el-option v-for="item in listOfFormalitiesList" :label="item.name" :value="item.id" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="名称" prop="formalitiesName"
|
<el-form-item label="名称" prop="formalitiesName" :rules="[{ required: true, message: '请输入名称', trigger: 'blur' }]">
|
||||||
:rules="[{ required: true, message: '请输入名称', trigger: 'blur' }]">
|
|
||||||
<el-input v-model="formTemplate.formalitiesName" placeholder="请输入名称" />
|
<el-input v-model="formTemplate.formalitiesName" placeholder="请输入名称" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
@ -19,9 +19,9 @@
|
|||||||
<el-card shadow="never">
|
<el-card shadow="never">
|
||||||
<template #header>
|
<template #header>
|
||||||
<el-row :gutter="10" class="mb8">
|
<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-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>
|
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
</el-row>
|
</el-row>
|
||||||
</template>
|
</template>
|
||||||
@ -39,8 +39,16 @@
|
|||||||
<el-table-column label="人工填报数量" align="center" prop="artificialNum" />
|
<el-table-column label="人工填报数量" align="center" prop="artificialNum" />
|
||||||
<el-table-column label="无人机识别数量" align="center" prop="uavNum" />
|
<el-table-column label="无人机识别数量" align="center" prop="uavNum" />
|
||||||
<el-table-column label="确认数量" align="center" prop="confirmNum" />
|
<el-table-column label="确认数量" align="center" prop="confirmNum" />
|
||||||
<el-table-column label="对乙产值" align="center" prop="outValue" />
|
<el-table-column label="对乙产值" align="center" prop="outValue">
|
||||||
<el-table-column label="对甲产值" align="center" prop="ownerValue" />
|
<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">
|
<el-table-column label="流程状态" align="center" prop="status">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<dict-tag :options="wf_business_status" :value="scope.row.auditStatus" />
|
<dict-tag :options="wf_business_status" :value="scope.row.auditStatus" />
|
||||||
|
@ -24,9 +24,21 @@
|
|||||||
<el-table v-loading="loading" :data="monthPlanList" @selection-change="handleSelectionChange">
|
<el-table v-loading="loading" :data="monthPlanList" @selection-change="handleSelectionChange">
|
||||||
<el-table-column type="index" label="序号" width="60" align="center" />
|
<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="planMonth" />
|
||||||
<el-table-column label="计划产值" align="center" prop="planValue" />
|
<el-table-column label="计划产值" align="center" prop="planValue">
|
||||||
<el-table-column label="完成产值" align="center" prop="completeValue" />
|
<template #default="scope">
|
||||||
<el-table-column label="差额" align="center" prop="differenceValue" />
|
{{ 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">
|
<el-table-column label="类型" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<span v-if="scope.row.type == '1'">对甲</span>
|
<span v-if="scope.row.type == '1'">对甲</span>
|
||||||
|
@ -40,9 +40,21 @@
|
|||||||
<el-table v-loading="loading" :data="monthPlanList">
|
<el-table v-loading="loading" :data="monthPlanList">
|
||||||
<el-table-column type="index" label="序号" width="55" align="center" />
|
<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="planMonth" />
|
||||||
<el-table-column label="计划产值(元)" align="center" prop="planValue" />
|
<el-table-column label="计划产值(元)" align="center" prop="planValue">
|
||||||
<el-table-column label="完成产值(元)" align="center" prop="completeValue" />
|
<template #default="scope">
|
||||||
<el-table-column label="差额(元)" align="center" prop="differenceValue" />
|
{{ 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">
|
<el-table-column label="产值类型" align="center" prop="valueType">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<dict-tag :options="out_value_type" :value="scope.row.valueType" />
|
<dict-tag :options="out_value_type" :value="scope.row.valueType" />
|
||||||
@ -104,7 +116,7 @@
|
|||||||
<script setup name="MonthPlan" lang="ts">
|
<script setup name="MonthPlan" lang="ts">
|
||||||
import { listMonthPlan, getMonthPlan, delMonthPlan, addMonthPlan, updateMonthPlan } from '@/api/out/monthPlan';
|
import { listMonthPlan, getMonthPlan, delMonthPlan, addMonthPlan, updateMonthPlan } from '@/api/out/monthPlan';
|
||||||
import { MonthPlanVO } from '@/api/out/monthPlan/types';
|
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 { out_value_type } = toRefs<any>(proxy?.useDict('out_value_type'));
|
||||||
const { wf_business_status } = toRefs<any>(proxy?.useDict('wf_business_status'));
|
const { wf_business_status } = toRefs<any>(proxy?.useDict('wf_business_status'));
|
||||||
|
|
||||||
|
@ -31,11 +31,27 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<el-table v-loading="loading" :data="monthPlanAuditList" @selection-change="handleSelectionChange">
|
<el-table v-loading="loading" :data="monthPlanAuditList" @selection-change="handleSelectionChange">
|
||||||
<el-table-column type="selection" width="55" align="center" />
|
<el-table-column type="index" width="55" label="序号" align="center" />
|
||||||
<el-table-column label="设计产值(元)" align="center" prop="designValue" />
|
<el-table-column label="设计产值(元)" align="center" prop="designValue">
|
||||||
<el-table-column label="采购产值(元)" align="center" prop="purchaseValue" />
|
<template #default="scope">
|
||||||
<el-table-column label="施工产值(元)" align="center" prop="constructionValue" />
|
{{ proxy.formatPrice(scope.row.designValue) }}
|
||||||
<el-table-column label="总产值(元)" align="center" prop="totalValue" />
|
</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-column label="计划月份" align="center" prop="planMonth" />
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
||||||
|
@ -26,12 +26,32 @@
|
|||||||
|
|
||||||
<el-table v-loading="loading" :data="valueAllocationList">
|
<el-table v-loading="loading" :data="valueAllocationList">
|
||||||
<el-table-column label="项目" align="center" prop="projectName" />
|
<el-table-column label="项目" align="center" prop="projectName" />
|
||||||
<el-table-column label="月预计产值" align="center" prop="monthEstimatedValue" />
|
<el-table-column label="月预计产值" align="center" prop="monthEstimatedValue">
|
||||||
<el-table-column label="完成产值月合计" align="center" prop="monthCompletionValue" />
|
<template #default="scope">
|
||||||
<el-table-column label="产值差额" align="center" prop="valueDifference" />
|
{{ proxy.formatPrice(scope.row.monthEstimatedValue) }}
|
||||||
<el-table-column label="项目总产值" align="center" prop="totalValue" />
|
</template>
|
||||||
<el-table-column label="累计完成产值" align="center" prop="accumulatedCompletionValue" />
|
</el-table-column>
|
||||||
<el-table-column label="项目完成率" align="center" prop="projectCompletionRate" />
|
<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>
|
</el-table>
|
||||||
<pagination
|
<pagination
|
||||||
v-show="total > 0"
|
v-show="total > 0"
|
||||||
@ -48,7 +68,7 @@
|
|||||||
|
|
||||||
<script setup name="ValueAllocation" lang="ts">
|
<script setup name="ValueAllocation" lang="ts">
|
||||||
import { listOutTable } from '@/api/out/outDesignTable';
|
import { listOutTable } from '@/api/out/outDesignTable';
|
||||||
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
const { proxy } = getCurrentInstance() as any;
|
||||||
import { useUserStoreHook } from '@/store/modules/user';
|
import { useUserStoreHook } from '@/store/modules/user';
|
||||||
import { dayjs } from 'element-plus';
|
import { dayjs } from 'element-plus';
|
||||||
// 获取用户 store
|
// 获取用户 store
|
||||||
|
@ -23,9 +23,21 @@
|
|||||||
<el-card shadow="never">
|
<el-card shadow="never">
|
||||||
<el-table v-loading="loading" :data="tableData" v-if="activeTab == '1' || activeTab == '2'">
|
<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="projectName" />
|
||||||
<el-table-column label="累计完工产值" align="center" prop="totalCompletionOutputValue" />
|
<el-table-column label="累计完工产值" align="center" prop="totalCompletionOutputValue">
|
||||||
<el-table-column label="累计结算产值" align="center" prop="totalSettlementOutputValue" />
|
<template #default="scope">
|
||||||
<el-table-column label="完工未结算额" align="center" prop="completionUnsettledAmount" />
|
{{ 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" prop="completionUnsettledRatio" />
|
||||||
<!-- <el-table-column label="操作" align="center">
|
<!-- <el-table-column label="操作" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
@ -36,9 +48,21 @@
|
|||||||
<el-table v-loading="loading" :data="tableData" v-if="activeTab == '3'">
|
<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="projectName" />
|
||||||
<!-- <el-table-column label="累计完工产值" align="center" prop="totalCompletionOutputValue" /> -->
|
<!-- <el-table-column label="累计完工产值" align="center" prop="totalCompletionOutputValue" /> -->
|
||||||
<el-table-column label="分包累计结算产值" align="center" prop="subTotalSettlementOutputValue" />
|
<el-table-column label="分包累计结算产值" align="center" prop="subTotalSettlementOutputValue">
|
||||||
<el-table-column label="业主累计结算产值" align="center" prop="ownerTotalSettlementOutputValue" />
|
<template #default="scope">
|
||||||
<el-table-column label="差额" align="center" prop="differenceValue" />
|
{{ 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">
|
<!-- <el-table-column label="操作" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button type="primary" @click="handleEdit(scope.row)" link icon="Position">联查分包结算</el-button>
|
<el-button type="primary" @click="handleEdit(scope.row)" link icon="Position">联查分包结算</el-button>
|
||||||
@ -47,12 +71,36 @@
|
|||||||
</el-table>
|
</el-table>
|
||||||
<el-table v-loading="loading" :data="tableData" v-if="activeTab == '4'">
|
<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="projectName" />
|
||||||
<el-table-column label="对甲计划总产值" align="center" prop="ownerTotal" />
|
<el-table-column label="对甲计划总产值" align="center" prop="ownerTotal">
|
||||||
<el-table-column label="对乙计划总产值" align="center" prop="subTotal" />
|
<template #default="scope">
|
||||||
<el-table-column label="对甲月计划产值" align="center" prop="ownerPlanTotal" />
|
{{ proxy.formatPrice(scope.row.ownerTotal) }}
|
||||||
<el-table-column label="对乙月计划产值" align="center" prop="subPlanTotal" />
|
</template></el-table-column
|
||||||
<el-table-column label="对甲月实际产值" align="center" prop="ownerActualTotal" />
|
>
|
||||||
<el-table-column label="对乙月实际产值" align="center" prop="subActualTotal" />
|
<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">
|
<!-- <el-table-column label="操作" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button type="primary" @click="handleEdit(scope.row)" link icon="Position">联查分包结算</el-button>
|
<el-button type="primary" @click="handleEdit(scope.row)" link icon="Position">联查分包结算</el-button>
|
||||||
@ -75,7 +123,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useUserStoreHook } from '@/store/modules/user';
|
import { useUserStoreHook } from '@/store/modules/user';
|
||||||
import { listOutTable, comparisonOfOutputValue, comparisonOfSettlementValue } from '@/api/out/outDesignTableVS/index';
|
import { listOutTable, comparisonOfOutputValue, comparisonOfSettlementValue } from '@/api/out/outDesignTableVS/index';
|
||||||
|
const { proxy } = getCurrentInstance();
|
||||||
import { dayjs } from 'element-plus';
|
import { dayjs } from 'element-plus';
|
||||||
const userStore = useUserStoreHook();
|
const userStore = useUserStoreHook();
|
||||||
const currentProject = computed(() => userStore.selectedProject);
|
const currentProject = computed(() => userStore.selectedProject);
|
||||||
|
@ -16,18 +16,66 @@
|
|||||||
<el-card shadow="never">
|
<el-card shadow="never">
|
||||||
<el-table v-loading="loading" :data="tableData">
|
<el-table v-loading="loading" :data="tableData">
|
||||||
<el-table-column label="项目" align="center" prop="projectName" />
|
<el-table-column label="项目" align="center" prop="projectName" />
|
||||||
<el-table-column label="项目总产值" align="center" prop="totalValue" />
|
<el-table-column label="项目总产值" align="center" prop="totalValue">
|
||||||
<el-table-column label="月预计产值" align="center" prop="monthlyEstimatedValue" />
|
<template #default="scope">
|
||||||
<el-table-column label="完成产值(第一周)" align="center" prop="firstWeekCompletionValue" />
|
{{ proxy.formatPrice(scope.row.totalValue) }}
|
||||||
<el-table-column label="完成产值(第二周)" align="center" prop="secondWeekCompletionValue" />
|
</template>
|
||||||
<el-table-column label="完成产值(第三周)" align="center" prop="thirdWeekCompletionValue" />
|
</el-table-column>
|
||||||
<el-table-column label="完成产值(第四周)" align="center" prop="fourthWeekCompletionValue" />
|
<el-table-column label="月预计产值" align="center" prop="monthlyEstimatedValue"
|
||||||
<el-table-column label="完成产值(第五周)" align="center" prop="fifthWeekCompletionValue" />
|
><template #default="scope">
|
||||||
<el-table-column label="完成产值月合计" align="center" prop="totalCompletionValue" />
|
{{ proxy.formatPrice(scope.row.monthlyEstimatedValue) }}
|
||||||
<el-table-column label="产值差额" align="center" prop="valueDifference" />
|
</template></el-table-column
|
||||||
<el-table-column label="预计累计产值" align="center" prop="estimatedAccumulatedValue" />
|
>
|
||||||
<el-table-column label="累计完成产值" align="center" prop="accumulatedCompletionValue" />
|
<el-table-column label="完成产值(第一周)" align="center" prop="firstWeekCompletionValue"
|
||||||
<el-table-column label="产值差额" align="center" prop="valueDifferenceAccumulation" />
|
><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-column label="项目完成总进度" align="center" prop="totalCompletionProgress" />
|
||||||
</el-table>
|
</el-table>
|
||||||
<pagination
|
<pagination
|
||||||
@ -50,6 +98,7 @@ import { listOutTable } from '@/api/out/outTable';
|
|||||||
const userStore = useUserStoreHook();
|
const userStore = useUserStoreHook();
|
||||||
const currentProject = computed(() => userStore.selectedProject);
|
const currentProject = computed(() => userStore.selectedProject);
|
||||||
const activeTab = ref('1');
|
const activeTab = ref('1');
|
||||||
|
const { proxy } = getCurrentInstance() as any;
|
||||||
const queryParams = ref({
|
const queryParams = ref({
|
||||||
month: '',
|
month: '',
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
@ -102,15 +151,15 @@ const getList = async () => {
|
|||||||
total.value = res.total;
|
total.value = res.total;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
const resetMonth=()=>{
|
const resetMonth = () => {
|
||||||
const currentDate = new Date();
|
const currentDate = new Date();
|
||||||
const year = currentDate.getFullYear();
|
const year = currentDate.getFullYear();
|
||||||
const month = currentDate.getMonth() + 1; // 月份从0开始,所以需要加1
|
const month = currentDate.getMonth() + 1; // 月份从0开始,所以需要加1
|
||||||
|
|
||||||
// 形成"YYYY-M"格式
|
// 形成"YYYY-M"格式
|
||||||
const formattedDate = `${year}-${String(month).padStart(2, '0')}`;
|
const formattedDate = `${year}-${String(month).padStart(2, '0')}`;
|
||||||
queryParams.value.month = formattedDate;
|
queryParams.value.month = formattedDate;
|
||||||
}
|
};
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
resetMonth();
|
resetMonth();
|
||||||
|
|
||||||
|
@ -12,7 +12,11 @@
|
|||||||
<el-table-column label="规格" align="center" prop="specification" />
|
<el-table-column label="规格" align="center" prop="specification" />
|
||||||
<el-table-column label="单位" align="center" prop="unit" />
|
<el-table-column label="单位" align="center" prop="unit" />
|
||||||
<el-table-column label="接收数量" align="center" prop="acceptedQuantity" />
|
<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"> </el-table-column>
|
||||||
<el-table-column label="操作" align="center" prop="remark" v-if="queryParams.type == '1'">
|
<el-table-column label="操作" align="center" prop="remark" v-if="queryParams.type == '1'">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
|
@ -48,7 +48,11 @@
|
|||||||
<span>{{ parseTime(scope.row.settlementDate, '{y}-{m}-{d}') }}</span>
|
<span>{{ parseTime(scope.row.settlementDate, '{y}-{m}-{d}') }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</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="remark" />
|
||||||
<el-table-column label="合同编码" align="center" prop="contractCode" />
|
<el-table-column label="合同编码" align="center" prop="contractCode" />
|
||||||
<el-table-column label="合同名称" align="center" prop="contractName" />
|
<el-table-column label="合同名称" align="center" prop="contractName" />
|
||||||
|
@ -17,14 +17,46 @@
|
|||||||
|
|
||||||
<el-table v-loading="loading" :data="valueAllocationList" @selection-change="handleSelectionChange">
|
<el-table v-loading="loading" :data="valueAllocationList" @selection-change="handleSelectionChange">
|
||||||
<el-table-column type="selection" width="55" align="center" />
|
<el-table-column type="selection" width="55" align="center" />
|
||||||
<el-table-column label="对甲总产值" align="center" prop="ownerTotalValue" />
|
<el-table-column label="对甲总产值" align="center" prop="ownerTotalValue">
|
||||||
<el-table-column label="对甲设计产值" align="center" prop="ownerDesignValue" />
|
<template #default="scope">
|
||||||
<el-table-column label="对甲采购产值" align="center" prop="ownerPurchaseValue" />
|
{{ proxy.formatPrice(scope.row.ownerTotalValue) }}
|
||||||
<el-table-column label="对甲施工产值" align="center" prop="ownerConstructionValue" />
|
</template>
|
||||||
<el-table-column label="对乙总产值" align="center" prop="subTotalValue" />
|
</el-table-column>
|
||||||
<el-table-column label="对乙设计产值" align="center" prop="subDesignValue" />
|
<el-table-column label="对甲设计产值" align="center" prop="ownerDesignValue"
|
||||||
<el-table-column label="对乙采购产值" align="center" prop="subPurchaseValue" />
|
><template #default="scope">
|
||||||
<el-table-column label="对乙施工产值" align="center" prop="subConstructionValue" />
|
{{ 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">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-tooltip content="修改" placement="top">
|
<el-tooltip content="修改" placement="top">
|
||||||
|
@ -69,22 +69,22 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="综合单价(业主)" align="center" prop="ownerPrice">
|
<el-table-column label="综合单价(业主)" align="center" prop="ownerPrice">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
{{ row.unitType == 0 ? '' : row.ownerPrice }}
|
{{ row.unitType == 0 ? '' : proxy.formatPrice(row.ownerPrice) }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="综合单价(分包)" align="center" prop="constructionPrice">
|
<el-table-column label="综合单价(分包)" align="center" prop="constructionPrice">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
{{ row.unitType == 0 ? '' : row.constructionPrice }}
|
{{ row.unitType == 0 ? '' : proxy.formatPrice(row.constructionPrice) }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="产值金额(业主)" align="center" prop="ownerOutputValue">
|
<el-table-column label="产值金额(业主)" align="center" prop="ownerOutputValue">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
{{ row.unitType == 0 ? '' : row.ownerOutputValue }}
|
{{ row.unitType == 0 ? '' : proxy.formatPrice(row.ownerOutputValue) }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="产值金额(分包)" align="center" prop="constructionOutputValue">
|
<el-table-column label="产值金额(分包)" align="center" prop="constructionOutputValue">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
{{ row.unitType == 0 ? '' : row.constructionOutputValue }}
|
{{ row.unitType == 0 ? '' : proxy.formatPrice(row.constructionOutputValue) }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="总数量" align="center" prop="total">
|
<el-table-column label="总数量" align="center" prop="total">
|
||||||
@ -192,7 +192,7 @@ import { ProgressCategoryVO, ProgressCategoryQuery, ProgressCategoryForm } from
|
|||||||
import { getTabList } from '@/api/progress/progressCategoryTemplate';
|
import { getTabList } from '@/api/progress/progressCategoryTemplate';
|
||||||
import { useUserStoreHook } from '@/store/modules/user';
|
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 { progress_unit_type, progress_work_type } = toRefs<any>(proxy?.useDict('progress_unit_type', 'progress_work_type'));
|
||||||
const activeTab = ref('0');
|
const activeTab = ref('0');
|
||||||
const relevancyStructure = ref('1');
|
const relevancyStructure = ref('1');
|
||||||
|
@ -148,7 +148,7 @@
|
|||||||
<el-table-column label="薪水" align="center" min-width="180">
|
<el-table-column label="薪水" align="center" min-width="180">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<span class="flex justify-center">
|
<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>)
|
(<dict-tag :options="wage_measure_unit_type" :value="scope.row.wageMeasureUnit"></dict-tag>)
|
||||||
</span>
|
</span>
|
||||||
<div class="text-blue text-sm cursor-pointer" @click="openSalaryDialog(scope.row)">{{ scope.row.salary ? '取消变更' : '变更' }}</div>
|
<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';
|
import { parseTime } from '@/utils/ruoyi';
|
||||||
|
|
||||||
const calendar = ref<CalendarInstance>();
|
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>(
|
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')
|
proxy?.useDict('type_of_work', 'user_sex_type', 'user_clock_type', 'user_file_type', 'user_status_type', 'wage_measure_unit_type')
|
||||||
);
|
);
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
<div>
|
<div>
|
||||||
<div>
|
<div>
|
||||||
<span>租金</span>
|
<span>租金</span>
|
||||||
<span>{{ detailInfo.rentSum / 1000 }} 万元</span>
|
<span>{{ proxy.formatPrice(detailInfo.rentSum) / 1000 }} 万元</span>
|
||||||
</div>
|
</div>
|
||||||
<el-icon :size="50" color="#3176ff">
|
<el-icon :size="50" color="#3176ff">
|
||||||
<Postcard />
|
<Postcard />
|
||||||
@ -83,9 +83,21 @@
|
|||||||
{{ scope.row.transferArea && scope.row.designArea ? ((scope.row.transferArea / scope.row.designArea) * 100).toFixed(2) : '0.00' }}
|
{{ scope.row.transferArea && scope.row.designArea ? ((scope.row.transferArea / scope.row.designArea) * 100).toFixed(2) : '0.00' }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="土地租金(元)" align="center" prop="landRentAll" width="180" />
|
<el-table-column label="土地租金(元)" align="center" prop="landRentAll" width="180">
|
||||||
<el-table-column label="青苗赔偿(元)" align="center" prop="seedlingCompensationAll" width="180" />
|
<template #default="scope">
|
||||||
<el-table-column label="总金额(元)" align="center" prop="totalAmountAll" width="150" />
|
{{ 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">
|
<el-table-column label="操作" align="center" fixed="right" width="200">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
@ -168,9 +180,21 @@
|
|||||||
<el-table-column label="流转状态" align="center" prop="transferStatusName" />
|
<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="areaValue" width="180" />
|
||||||
<el-table-column label="流转比例(%)" align="center" prop="transferRatio" 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="landRent" width="180">
|
||||||
<el-table-column label="青苗赔偿(元)" align="center" prop="seedlingCompensation" width="180" />
|
<template #default="scope">
|
||||||
<el-table-column label="总金额(元)" align="center" prop="totalAmount" width="150" />
|
{{ 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="statusDescription" />
|
||||||
<el-table-column label="问题总结" align="center" prop="issueSummary" />
|
<el-table-column label="问题总结" align="center" prop="issueSummary" />
|
||||||
<el-table-column label="下一步策略" align="center" prop="nextStrategy" width="180" />
|
<el-table-column label="下一步策略" align="center" prop="nextStrategy" width="180" />
|
||||||
@ -557,7 +581,7 @@ interface PageData<T, Q> {
|
|||||||
rules: Record<string, any[]>;
|
rules: Record<string, any[]>;
|
||||||
}
|
}
|
||||||
|
|
||||||
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
const { proxy } = getCurrentInstance() as any;
|
||||||
// 获取用户 store
|
// 获取用户 store
|
||||||
const userStore = useUserStoreHook();
|
const userStore = useUserStoreHook();
|
||||||
// 从 store 中获取项目列表和当前选中的项目
|
// 从 store 中获取项目列表和当前选中的项目
|
||||||
|
@ -50,9 +50,21 @@
|
|||||||
<el-table-column label="流转状态" align="center" prop="transferStatusName" />
|
<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="transferAea" width="180" />
|
||||||
<el-table-column label="流转比例(%)" align="center" prop="transferRatio" 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="landRent" width="180">
|
||||||
<el-table-column label="青苗赔偿(元)" align="center" prop="seedlingCompensation" width="180" />
|
<template #default="scope">
|
||||||
<el-table-column label="总金额(元)" align="center" prop="totalAmount" width="150" />
|
{{ 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="statusDescription" />
|
||||||
<el-table-column label="问题总结" align="center" prop="issueSummary" />
|
<el-table-column label="问题总结" align="center" prop="issueSummary" />
|
||||||
<el-table-column label="下一步策略" align="center" prop="nextStrategy" width="180" />
|
<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 { LandTransferLedgerVO, LandTransferLedgerQuery, LandTransferLedgerForm } from '@/api/system/landTransfer/landTransferLedger/types';
|
||||||
import { useUserStoreHook } from '@/store/modules/user';
|
import { useUserStoreHook } from '@/store/modules/user';
|
||||||
import { listLandBlock } from '@/api/system/landTransfer/landBlock';
|
import { listLandBlock } from '@/api/system/landTransfer/landBlock';
|
||||||
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
const { proxy } = getCurrentInstance() as any;
|
||||||
// 获取用户 store
|
// 获取用户 store
|
||||||
const userStore = useUserStoreHook();
|
const userStore = useUserStoreHook();
|
||||||
// 从 store 中获取项目列表和当前选中的项目
|
// 从 store 中获取项目列表和当前选中的项目
|
||||||
|
@ -152,7 +152,7 @@
|
|||||||
<el-table-column label="薪水" align="center" min-width="180">
|
<el-table-column label="薪水" align="center" min-width="180">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<span class="flex justify-center">
|
<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>)
|
(<dict-tag :options="wage_measure_unit_type" :value="scope.row.wageMeasureUnit"></dict-tag>)
|
||||||
</span>
|
</span>
|
||||||
<div class="text-blue text-sm cursor-pointer" @click="openSalaryDialog(scope.row)">{{ scope.row.salary ? '取消变更' : '变更' }}</div>
|
<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';
|
import { parseTime } from '@/utils/ruoyi';
|
||||||
|
|
||||||
const calendar = ref<CalendarInstance>();
|
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>(
|
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')
|
proxy?.useDict('type_of_work', 'user_sex_type', 'user_clock_type', 'user_file_type', 'user_status_type', 'wage_measure_unit_type', 'user_post_type')
|
||||||
);
|
);
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
<el-popover placement="top-start" title="" :width="200" trigger="hover" :content="DetailMoney + '元'">
|
<el-popover placement="top-start" title="" :width="200" trigger="hover" :content="DetailMoney + '元'">
|
||||||
<template #reference>
|
<template #reference>
|
||||||
<el-tag class="m-2" size="large"
|
<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>
|
</template>
|
||||||
</el-popover>
|
</el-popover>
|
||||||
@ -25,7 +25,9 @@
|
|||||||
<el-table-column type="selection" width="55" align="center" />
|
<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" type="index" min-width="50px" />
|
||||||
<el-table-column label="标题" align="center" prop="title" min-width="120px" />
|
<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">
|
<el-table-column label="操作" align="center" class-name="small-padding" min-width="200px" fixed="right">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button type="primary" link @click="handleView(scope.row)"
|
<el-button type="primary" link @click="handleView(scope.row)"
|
||||||
|
@ -147,7 +147,7 @@
|
|||||||
<el-table-column label="薪水" align="center" min-width="180">
|
<el-table-column label="薪水" align="center" min-width="180">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<span class="flex justify-center">
|
<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>)
|
(<dict-tag :options="wage_measure_unit_type" :value="scope.row.wageMeasureUnit"></dict-tag>)
|
||||||
</span>
|
</span>
|
||||||
<div class="text-blue text-sm cursor-pointer" @click="openSalaryDialog(scope.row)">{{ scope.row.salary ? '取消变更' : '变更' }}</div>
|
<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';
|
import { parseTime } from '@/utils/ruoyi';
|
||||||
|
|
||||||
const calendar = ref<CalendarInstance>();
|
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>(
|
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')
|
proxy?.useDict('type_of_work', 'user_sex_type', 'user_clock_type', 'user_file_type', 'user_status_type', 'wage_measure_unit_type')
|
||||||
);
|
);
|
||||||
|
@ -59,7 +59,11 @@
|
|||||||
<dict-tag :options="subcontract_type" :value="scope.row.contractType" />
|
<dict-tag :options="subcontract_type" :value="scope.row.contractType" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</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">
|
<el-table-column label="合同时间" align="center" prop="contractTime" width="180">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<span>{{ parseTime(scope.row.contractTime, '{y}-{m}-{d}') }}</span>
|
<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 { listContractor } from '@/api/project/contractor';
|
||||||
import { useUserStoreHook } from '@/store/modules/user';
|
import { useUserStoreHook } from '@/store/modules/user';
|
||||||
|
|
||||||
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
const { proxy } = getCurrentInstance() as any;
|
||||||
// 获取用户 store
|
// 获取用户 store
|
||||||
const userStore = useUserStoreHook();
|
const userStore = useUserStoreHook();
|
||||||
const currentProject = computed(() => userStore.selectedProject);
|
const currentProject = computed(() => userStore.selectedProject);
|
||||||
|
@ -71,7 +71,11 @@
|
|||||||
{{ scope.row.wageCalculationType == 1 ? '计时' : '计件' }}
|
{{ scope.row.wageCalculationType == 1 ? '计时' : '计件' }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</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">
|
<el-table-column label="工资计量单位" align="center" prop="wageMeasureUnit">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<dict-tag :options="wage_measure_unit_type" :value="scope.row.wageMeasureUnit" />
|
<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 { WorkWageVO, WorkWageQuery, WorkWageForm, SpecialType } from '@/api/project/workWage/types';
|
||||||
import { useUserStoreHook } from '@/store/modules/user';
|
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'));
|
const { type_of_work, wage_measure_unit_type } = toRefs<any>(proxy?.useDict('type_of_work', 'wage_measure_unit_type'));
|
||||||
console.log(type_of_work);
|
console.log(type_of_work);
|
||||||
|
|
||||||
|
@ -81,8 +81,8 @@
|
|||||||
changePrice(scope.row);
|
changePrice(scope.row);
|
||||||
}
|
}
|
||||||
"
|
"
|
||||||
:precision="2"
|
:precision="4"
|
||||||
:step="0.1"
|
:min="0"
|
||||||
:controls="false"
|
:controls="false"
|
||||||
v-if="scope.row.quantity && scope.row.quantity != 0"
|
v-if="scope.row.quantity && scope.row.quantity != 0"
|
||||||
:disabled="versionsData.status != 'draft'"
|
:disabled="versionsData.status != 'draft'"
|
||||||
@ -91,7 +91,7 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="price" label="总价" align="center">
|
<el-table-column prop="price" label="总价" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
{{ scope.row.price != 0 ? Number(scope.row.price).toFixed(2) : null }}
|
{{ proxy.formatPrice(scope.row.price) }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="taxRate" label="税率" width="100" align="center">
|
<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 userStore = useUserStoreHook();
|
||||||
const currentProject = computed(() => userStore.selectedProject);
|
const currentProject = computed(() => userStore.selectedProject);
|
||||||
|
|
||||||
|
@ -41,10 +41,14 @@
|
|||||||
<el-table-column prop="specification" label="规格" />
|
<el-table-column prop="specification" label="规格" />
|
||||||
<el-table-column prop="unit" label="单位" />
|
<el-table-column prop="unit" label="单位" />
|
||||||
<el-table-column prop="quantity" 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">
|
<el-table-column prop="price" label="总价" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
{{ scope.row.price != 0 ? Number(scope.row.price).toFixed(2) : null }}
|
{{ proxy.formatPrice(scope.row.price) }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
@ -41,10 +41,14 @@
|
|||||||
<el-table-column prop="specification" label="规格" />
|
<el-table-column prop="specification" label="规格" />
|
||||||
<el-table-column prop="unit" label="单位" />
|
<el-table-column prop="unit" label="单位" />
|
||||||
<el-table-column prop="quantity" 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">
|
<el-table-column prop="price" label="总价" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
{{ scope.row.price != 0 ? Number(scope.row.price).toFixed(2) : null }}
|
{{ proxy.formatPrice(scope.row.price) }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
@ -25,7 +25,11 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="name" label="名称" align="center" />
|
<el-table-column prop="name" label="名称" align="center" />
|
||||||
<el-table-column prop="content" 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">
|
<el-table-column prop="bidd" align="center">
|
||||||
<template #header> <span style="color: red">*</span>招标文件 </template>
|
<template #header> <span style="color: red">*</span>招标文件 </template>
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
@ -75,8 +79,8 @@
|
|||||||
changeContractPrice(val, scope.row);
|
changeContractPrice(val, scope.row);
|
||||||
}
|
}
|
||||||
"
|
"
|
||||||
:precision="2"
|
:precision="4"
|
||||||
:step="1"
|
:min="0"
|
||||||
:controls="false"
|
:controls="false"
|
||||||
:disabled="scope.row.bidStatus == 1"
|
:disabled="scope.row.bidStatus == 1"
|
||||||
v-hasPermi="['tender:biddingPlan:edit']"
|
v-hasPermi="['tender:biddingPlan:edit']"
|
||||||
@ -226,22 +230,27 @@
|
|||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</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">
|
<el-table-column prop="price" label="总价" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
{{
|
{{
|
||||||
((scope.row.quantity ? Number(scope.row.quantity) : 0) -
|
proxy.formatPrice(
|
||||||
(scope.row.useQuantity ? Number(scope.row.useQuantity) : 0) -
|
((scope.row.quantity ? Number(scope.row.quantity) : 0) -
|
||||||
(scope.row.selectNum ? Number(scope.row.selectNum) : 0)) *
|
(scope.row.useQuantity ? Number(scope.row.useQuantity) : 0) -
|
||||||
Number(scope.row.unitPrice) ==
|
(scope.row.selectNum ? Number(scope.row.selectNum) : 0)) *
|
||||||
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.useQuantity ? Number(scope.row.useQuantity) : 0) -
|
||||||
(scope.row.selectNum ? Number(scope.row.selectNum) : 0)) *
|
(scope.row.selectNum ? Number(scope.row.selectNum) : 0)) *
|
||||||
Number(scope.row.unitPrice)
|
Number(scope.row.unitPrice),
|
||||||
).toFixed(2)
|
false
|
||||||
|
)
|
||||||
}}
|
}}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
@ -259,10 +268,14 @@
|
|||||||
<el-table-column prop="name" label="工程或费用名称" />
|
<el-table-column prop="name" label="工程或费用名称" />
|
||||||
<el-table-column prop="unit" label="单位" />
|
<el-table-column prop="unit" label="单位" />
|
||||||
<el-table-column prop="quantity" 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">
|
<el-table-column prop="price" label="总价" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
{{ scope.row.price }}
|
{{ scope.row.price ? proxy.formatPrice(scope.row.price) : '' }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -294,12 +307,14 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import { getCurrentInstance, ComponentInternalInstance } from 'vue';
|
||||||
import { useUserStoreHook } from '@/store/modules/user';
|
import { useUserStoreHook } from '@/store/modules/user';
|
||||||
import { getDicts } from '@/api/system/dict/data';
|
import { getDicts } from '@/api/system/dict/data';
|
||||||
import { Plus } from '@element-plus/icons-vue';
|
import { Plus } from '@element-plus/icons-vue';
|
||||||
import { FormInstance } from 'element-plus';
|
import { FormInstance } from 'element-plus';
|
||||||
import winTheBid from './comm/winTheBid.vue';
|
import winTheBid from './comm/winTheBid.vue';
|
||||||
import information from './comm/planPage.vue';
|
import information from './comm/planPage.vue';
|
||||||
|
const { proxy } = getCurrentInstance();
|
||||||
|
|
||||||
import {
|
import {
|
||||||
sheetList,
|
sheetList,
|
||||||
|
Reference in New Issue
Block a user