明树Git Lab

Commit da0c710d authored by yangyajing's avatar yangyajing
parents 38f2d212 d27fdd74
Pipeline #109029 passed with stage
in 21 seconds
......@@ -22,6 +22,7 @@
>
删除选中文件
</el-button>
<slot name="actions"></slot>
</div>
<!-- 文件列表表格 -->
<el-table
......@@ -106,6 +107,14 @@
:value="option.value"
/>
</el-select>
<!-- 字典选择器 CommonSelector -->
<CommonSelector
v-else-if="col.type === 'dictSelect'"
v-model="row[col.prop]"
:dictName="col.dictName"
:disabled="disabled || col.disabled"
@change="handleCustomColChange(row, col.prop, $index)"
/>
<!-- 自定义插槽(最高优先级) -->
<slot
v-else
......@@ -231,6 +240,8 @@ import moment from "moment";
import windowConfig from "@/window";
// 引入需要的图标
import { Document, Download, Delete, ArrowDown } from "@element-plus/icons-vue";
// 引入 CommonSelector 组件
import CommonSelector from "@/components/CommonSelector.vue";
// 定义组件 props(新增 customColumns 配置)
const props = defineProps({
......@@ -277,7 +288,7 @@ const props = defineProps({
* 列配置项说明:
* @param {string} prop - 字段名(必填)
* @param {string} label - 列标题(必填)
* @param {string} type - 组件类型:input/date/datetime/select(默认显示文本)
* @param {string} type - 组件类型:input/textarea/date/datetime/select/dictSelect(默认显示文本)
* @param {number} width - 列宽度
* @param {string} fixed - 是否固定列:left/right
* @param {string} align - 对齐方式:left/center/right
......@@ -286,6 +297,7 @@ const props = defineProps({
* @param {string} format - 日期格式化(仅date/datetime)
* @param {string} valueFormat - 日期值格式化(仅date/datetime)
* @param {Array} options - 下拉选项(仅select),格式:[{label: '选项1', value: '1'}, ...]
* @param {string} dictName - 字典名称(仅dictSelect),用于 CommonSelector 组件
*/
},
});
......
......@@ -241,6 +241,21 @@
/>
</template>
</el-table-column>
<el-table-column
prop="tgje"
label="调概金额"
width="180"
>
<template #default="scope">
<el-input-number
v-model="scope.row.tgje"
:min="0"
:max="99999999999.99999999"
controls-position="right"
:disabled="!fyfxkzIsEdit"
/>
</template>
</el-table-column>
<el-table-column
prop="sqyc"
label="上期预测"
......@@ -1158,7 +1173,7 @@ const saveFyfxkz = () => {
// 验证时间范围是否重复(排除当前编辑的记录)
const isDuplicate = rangeList.value.some(
(item) => item.key === newKey && item.key !== selectRange.value
(item) => item.key === newKey && item.key !== selectRange.value,
);
if (isDuplicate) {
return ElMessage.warning("该时间范围已存在,请选择其他时间");
......@@ -1422,7 +1437,7 @@ const saveCwpj = () => {
// 验证时间范围是否重复(排除当前编辑的记录)
const isDuplicate = cwpjRangeList.value.some(
(item) => item.key === newKey && item.key !== cwpjSelectRange.value
(item) => item.key === newKey && item.key !== cwpjSelectRange.value,
);
if (isDuplicate) {
return ElMessage.warning("该时间范围已存在,请选择其他时间");
......
......@@ -148,6 +148,13 @@
:label-width="100"
></el-form-item>
<div class="tab-handle">
<el-button
type="primary"
size="small"
@click="exportTemplate"
style="margin-left: 12px"
>模版导出</el-button
>
<el-button
type="primary"
size="small"
......@@ -155,6 +162,7 @@
:disabled="!fxczqkData.length"
>导出</el-button
>
<el-upload
ref="uploadRef"
class="upload-demo"
......@@ -551,6 +559,9 @@ const importTableData = (file) => {
const exportTableData = () => {
exportTableFile(fxczqkData.value, tableColumns, "", "风险处置情况");
};
const exportTemplate = () => {
exportTableFile([], tableColumns, "", "风险处置情况模版");
};
const backClick = () => {
router.back(-1);
......
......@@ -309,7 +309,7 @@
</el-col>
</el-row>
</el-collapse-item>
<el-collapse-item title="年度" name="年度">
<!-- <el-collapse-item title="年度" name="年度">
<el-row>
<el-col :span="8">
<el-form-item label="年度" required>
......@@ -323,7 +323,7 @@
</el-form-item>
</el-col>
</el-row>
</el-collapse-item>
</el-collapse-item> -->
<el-collapse-item
title="投融资与运营指标(万元)"
......@@ -541,10 +541,21 @@
<el-input v-model="formData.qddw" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="签订时间">
<el-date-picker
v-model="formData.qdsj"
type="date"
placeholder="请选择"
value-format="YYYY-MM-DD"
/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item
style="padding: 8px 0"
:label="`已盖章签字的${formData?.niandu}年度目标责任书附件`"
:label="`已盖章签字的目标责任书附件`"
>
<FileUploader
v-model="formData.ygzqzdyyjdmbzrsfj"
......
......@@ -42,6 +42,12 @@
<FileUploader
v-model="formData.qylht"
:custom-columns="[
{
prop: 'htlx',
label: '权益类合同类型',
type: 'dictSelect',
dictName: 'qylhtlx',
},
{
prop: 'jfqdsj',
label: '甲方签订时间',
......@@ -66,6 +72,12 @@
<el-form-item label="经济类合同">
<FileUploader
:custom-columns="[
{
prop: 'htlx',
label: '经济类合同类型',
type: 'dictSelect',
dictName: 'jjlhtlx',
},
{
prop: 'jfqdsj',
label: '甲方签订时间',
......@@ -133,12 +145,30 @@
<el-tab-pane label="变更索赔类" name="变更索赔类">
<el-row :gutter="20">
<!-- 变更索赔文件 -->
<el-col :span="24">
<el-form-item label="变更索赔文件">
<FileUploader
v-model="formData.bgsp"
:custom-columns="customColumnsJs"
/>
>
<template #actions>
<div class="gov-notice-wrapper">
<div class="notice-item">
<span class="item-label">【变更】</span>
<span class="item-text"
>投资项目金额达到300万元(含)以上的设计变更立项、施工图和费用审核。</span
>
</div>
<div class="notice-item">
<span class="item-label">【索赔】</span>
<span class="item-text"
>预计金额300万元(含)以上的工程索赔立项、费用审核。</span
>
</div>
</div>
</template>
</FileUploader>
</el-form-item>
</el-col>
</el-row>
......@@ -365,4 +395,34 @@ onMounted(() => {
.el-row {
margin-bottom: 8px;
}
// 政府公文样式
.gov-notice-wrapper {
background-color: #ffffff;
.notice-item {
padding-left: 16px;
display: flex;
align-items: flex-start;
line-height: 1.8;
font-size: 14px;
color: #606266;
&:last-child {
margin-bottom: 0;
}
.item-label {
color: #e6a23c;
font-weight: 600;
margin-right: 8px;
flex-shrink: 0;
}
.item-text {
flex: 1;
text-align: justify;
}
}
}
</style>
......@@ -167,7 +167,7 @@
</div>
<el-table
:data="jsqtzjcZxjcsList"
style="width: 100%"
style="width: 100%; overflow-y: scroll"
empty-text="暂无数据"
border
>
......@@ -217,7 +217,7 @@
/>
</template>
</el-table-column>
<!-- <el-table-column prop="zgcsqd" label="整改措施清单">
<!-- <el-table-column prop="zgcsqd" label="整改措施清单">
<template #default="scope">
<el-input
v-model.number="scope.row.zgcsqd"
......@@ -226,7 +226,11 @@
</template>
</el-table-column> -->
<el-table-column prop="zgcsqd" label="整改措施清单">
<el-table-column
prop="zgcsqd"
min-width="120px"
label="整改措施清单"
>
<template #default="scope">
<FileUploader
v-model="scope.row.zgcsqd"
......@@ -235,7 +239,11 @@
</template>
</el-table-column>
<el-table-column prop="jcbg" label="检查报告">
<el-table-column
min-width="120px"
prop="jcbg"
label="检查报告"
>
<template #default="scope">
<FileUploader
v-model="scope.row.jcbg"
......@@ -244,7 +252,11 @@
</template>
</el-table-column>
<el-table-column prop="fjcl" label="附件材料">
<el-table-column
min-width="120px"
prop="fjcl"
label="附件材料"
>
<template #default="scope">
<FileUploader
v-model="scope.row.fjcl"
......@@ -252,6 +264,17 @@
></FileUploader>
</template>
</el-table-column>
<el-table-column prop="zgjz" label="整改进展">
<template #default="scope">
<el-input
type="textarea"
rows="2"
v-model.number="scope.row.zgjz"
placeholder="请输入整改进展"
/>
</template>
</el-table-column>
<el-table-column label="操作" width="60">
<template #default="scope">
<el-button
......@@ -487,4 +510,13 @@ onMounted(() => {
line-height: 40px;
}
}
// 支持表格横向滚动
.tab-content {
overflow-x: auto;
}
.project-tab-content {
overflow-x: auto;
}
</style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment