This commit is contained in:
zmj 2024-04-03 14:28:25 +08:00
parent cbd3121b87
commit 453505d090
113 changed files with 415 additions and 1051 deletions

BIN
public/index/SCJY.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
public/index/SCJYACT.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -21,7 +21,8 @@
<el-table-column label="投标公司名称" width="120" prop="bid_company_name" show-overflow-tooltip />
<el-table-column label="购买人员" prop="buyer" show-overflow-tooltip />
<el-table-column label="购买标书金额" width="120" prop="amount" show-overflow-tooltip />
<el-table-column label="招标项目资金来源" width="150" prop="bidding_project_fund_source" show-overflow-tooltip />
<el-table-column label="招标项目资金来源" width="170" prop="bidding_project_fund_source"
show-overflow-tooltip />
<el-table-column label="投标时间" prop="bidding_time" show-overflow-tooltip />
<el-table-column label="购买标书时间" prop="buy_date" width="120" show-overflow-tooltip />
<el-table-column label="招标方式" prop="bid_type" width="100" show-overflow-tooltip />

View File

@ -22,7 +22,8 @@
<el-table-column label="项目名称" prop="project_name" show-overflow-tooltip />
<el-table-column label="招标公司名称" prop="invite_tenders_company_name" show-overflow-tooltip />
<el-table-column label="投标公司名称" prop="bid_company_name" show-overflow-tooltip />
<el-table-column label="招标项目资金来源" width="150" prop="bidding_project_fund_source" show-overflow-tooltip />
<el-table-column label="招标项目资金来源" width="170" prop="bidding_project_fund_source"
show-overflow-tooltip />
<el-table-column label="投标地址" prop="bid_address" show-overflow-tooltip />
<el-table-column label="是否需要保证金" prop="is_margin" show-overflow-tooltip />
<el-table-column label="保证金金额 " prop="margin_amount" show-overflow-tooltip />

View File

@ -4,11 +4,14 @@
</div>
<div>
<el-table :data="formData">
<el-table-column label="操作" v-if="config?.deleteApi">
<el-table-column label="操作">
<template #default="{ row }">
<el-form-item label-width="0">
<el-button @click="handleAdd">+</el-button>
<el-button @click="handleDelete(row)">-</el-button>
<div class="!flex justify-center items-center w-[100%]">
<el-button @click="handleAdd">+</el-button>
<el-button @click="handleDelete(row)">-</el-button>
</div>
</el-form-item>
</template>
</el-table-column>

View File

@ -156,7 +156,7 @@
</template>
</el-table-column>
<el-table-column prop="create_time" label="上传时间" min-width="100" />
<el-table-column label="操作" width="150" fixed="right">
<el-table-column label="操作" width="170" fixed="right">
<template #default="{ row }">
<div class="inline-block">
<popover-input @confirm="handleFileRename($event, row.id)" size="default" :value="row.name"

View File

@ -32,15 +32,15 @@ export function usePaging(options: Options) {
lists: [] as any[],
extend: {} as Record<string, any>,
calcWidth: ({ column }: Icolumn) => {
let propWidth = column.label.length * 14 + 24;
let list = pager.lists.map(
(item: Object) => (item as any)[column.property]
);
const maxLength = list.reduce((max, str) => {
return Math.max(max, String(str).length);
}, 0);
const columnWidth = maxLength * 14 + 24;
column.width = Math.max(columnWidth, propWidth);
// let propWidth = column.label.length * 14 + 24;
// let list = pager.lists.map(
// (item: Object) => (item as any)[column.property]
// );
// const maxLength = list.reduce((max, str) => {
// return Math.max(max, String(str).length);
// }, 0);
// const columnWidth = maxLength * 14 + 24;
// column.width = Math.max(columnWidth, propWidth);
return column.label;
},
});

View File

@ -76,7 +76,7 @@ const getImgById = (id: number) => {
return { img: '/index/CWGLACT.png', actImg: "/index/CWGL.png", color: '#F7BB20' }
}
else {
return { img: 'https:\/\/ceshi-engineering.lihaink.cn\/uploads\/files\/20240401\/202404011436288470d1853.png', actImg: "/index/CWGL.png", color: 'red' }
return { img: '/index/SCJYACT.png', actImg: "/index/SCJY.png", color: '#3A6EEF' }
}
}
</script>

View File

@ -65,7 +65,7 @@
<el-table-column label="余额" prop="balance" show-overflow-tooltip />
<el-table-column label="备注" prop="remark" show-overflow-tooltip />
<el-table-column label="操作" width="150" fixed="right">
<el-table-column label="操作" width="170" fixed="right">
<template #default="{ row }">
<el-button v-perms="['refund.refund/edit']" type="primary" link @click="handleEdit(row)">

View File

@ -56,7 +56,7 @@
</el-table-column>
<el-table-column label="备注" prop="remark" show-overflow-tooltip />
<el-table-column label="操作" width="150" fixed="right">
<el-table-column label="操作" width="170" fixed="right">
<template #default="{ row }">
<el-button v-perms="['refund.refund/edit']" type="primary" link @click="handleEdit(row)">

View File

@ -6,7 +6,8 @@
<el-input class="w-[280px]" v-model="queryParams.commitor" clearable placeholder="请输入提交人" />
</el-form-item>
<el-form-item label="发票编号" prop="invoice_no">
<el-input class="w-[280px]" v-model="queryParams.invoice_no" clearable placeholder="请输入发票编号" type="number"/>
<el-input class="w-[280px]" v-model="queryParams.invoice_no" clearable placeholder="请输入发票编号"
type="number" />
</el-form-item>
<el-form-item label="发票类型" prop="invoice_type">
<el-select class="w-[280px]" v-model="queryParams.invoice_type" clearable placeholder="请选择发票类型">
@ -55,7 +56,7 @@
</el-table-column>
<el-table-column label="发票编号" prop="invoice_no" show-overflow-tooltip />
<el-table-column label="操作" width="150" fixed="right">
<el-table-column label="操作" width="170" fixed="right">
<template #default="{ row }">
<el-button v-perms="['refund.refund/edit']" type="primary" link @click="handleEdit(row)">

View File

@ -71,7 +71,7 @@
<el-table-column label="实际借章人" prop="sjborrower" show-overflow-tooltip width="100" />
<el-table-column label="实际归还日期" prop="sjreturn" show-overflow-tooltip width="120" />
<el-table-column label="实际归还人" prop="returnee" show-overflow-tooltip width="100" />
<el-table-column label="操作" width="150" fixed="right" align="center">
<el-table-column label="操作" width="170" fixed="right" align="center">
<template #default="{ row }">
<el-button v-perms="['project_process_management.apply_with_seal/edit']" type="primary" link
@click="handleEdit(row)">

View File

@ -4,62 +4,53 @@
<el-card>
<el-descriptions :column="3" border>
<el-descriptions-item label="流程编号" label-align="left" align="left" label-class-name="my-label">{{
formData.code }}</el-descriptions-item>
formData.code }}</el-descriptions-item>
<el-descriptions-item label="项目名称" label-align="left" align="left" label-class-name="my-label">{{
formData.project_name }}</el-descriptions-item>
formData.project_name }}</el-descriptions-item>
<el-descriptions-item label="项目编码" label-align="left" align="left" label-class-name="my-label">{{
formData.project_code }}</el-descriptions-item>
formData.project_code }}</el-descriptions-item>
<el-descriptions-item label="客户名称" label-align="left" align="left" label-class-name="my-label">{{
formData.custom_name }}</el-descriptions-item>
formData.custom_name }}</el-descriptions-item>
<el-descriptions-item label="项目估算(元)" label-align="left" align="left" label-class-name="my-label">{{
formData.project_estimation }}</el-descriptions-item>
formData.project_estimation }}</el-descriptions-item>
<el-descriptions-item label="招标项目资金来源" label-align="left" align="left"
label-class-name="my-label">{{
formData.bidding_project_fund_source_text }}</el-descriptions-item>
<el-descriptions-item label="招标项目资金来源" label-align="left" align="left" label-class-name="my-label">{{
formData.bidding_project_fund_source_text }}</el-descriptions-item>
<el-descriptions-item label="投标时间" label-align="left" align="left" label-class-name="my-label">{{
formData.bidding_time }}</el-descriptions-item>
formData.bidding_time }}</el-descriptions-item>
<el-descriptions-item label="招标方式" label-align="left" align="left" label-class-name="my-label">{{
formData.bid_type_text }}</el-descriptions-item>
formData.bid_type_text }}</el-descriptions-item>
<el-descriptions-item label="竞争对手" label-align="left" align="left" label-class-name="my-label">{{
formData.competitor }}</el-descriptions-item>
formData.competitor }}</el-descriptions-item>
<el-descriptions-item label="是否需要保证金" label-align="left" align="left" label-class-name="my-label">{{
formData.is_margin_text }}</el-descriptions-item>
<el-descriptions-item label="保证金金额(元)" label-align="left" align="left"
label-class-name="my-label">{{
formData.margin_amount }}</el-descriptions-item>
formData.is_margin_text }}</el-descriptions-item>
<el-descriptions-item label="保证金金额(元)" label-align="left" align="left" label-class-name="my-label">{{
formData.margin_amount }}</el-descriptions-item>
<el-descriptions-item label="开标日期" label-align="left" align="left" label-class-name="my-label">{{
formData.bid_opening_date }}</el-descriptions-item>
formData.bid_opening_date }}</el-descriptions-item>
<el-descriptions-item label="保证金退还时间" label-align="left" align="left" label-class-name="my-label">{{
formData.margin_amount_return_date }}</el-descriptions-item>
formData.margin_amount_return_date }}</el-descriptions-item>
<el-descriptions-item label="有无内部资源" label-align="left" align="left" label-class-name="my-label">{{
formData.is_internal_resources_text }}</el-descriptions-item>
formData.is_internal_resources_text }}</el-descriptions-item>
<el-descriptions-item label="项目把握度" label-align="left" align="left" label-class-name="my-label">{{
formData.project_assurance_text }}</el-descriptions-item>
formData.project_assurance_text }}</el-descriptions-item>
<el-descriptions-item label="招标项目概况" label-align="left" align="left" label-class-name="my-label">{{
formData.bid_project_overview }}</el-descriptions-item>
formData.bid_project_overview }}</el-descriptions-item>
<el-descriptions-item label="项目简介" label-align="left" align="left" label-class-name="my-label">{{
formData.project_desc }}</el-descriptions-item>
formData.project_desc }}</el-descriptions-item>
<el-descriptions-item label="附件" label-align="left" align="left" label-class-name="my-label">
<div v-if="formDataannex.length > 0">
<div v-for="(item, index) in formDataannex" style="margin-left: 5px;display: block;">
<a style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item.uri"
target="_blank">{{ item.name }}</a>
</div>
</div>
<div v-else>暂无附件</div>
<annexLink :annex="formData.annex"></annexLink>
</el-descriptions-item>
</el-descriptions>
</el-card>

View File

@ -4,48 +4,45 @@
<el-card>
<el-descriptions :column="3" border>
<el-descriptions-item label="项目名称" label-align="left" align="left" label-class-name="my-label">{{
formData.project_name }}</el-descriptions-item>
formData.project_name }}</el-descriptions-item>
<el-descriptions-item label="项目编码" label-align="left" align="left" label-class-name="my-label">{{
formData.project_code }}</el-descriptions-item>
formData.project_code }}</el-descriptions-item>
<el-descriptions-item label="客户名称" label-align="left" align="left" label-class-name="my-label">{{
formData.custom_name }}</el-descriptions-item>
formData.custom_name }}</el-descriptions-item>
<el-descriptions-item label="招标公司名称" label-align="left" align="left" label-class-name="my-label">{{
formData.invite_tenders_company_name }}</el-descriptions-item>
formData.invite_tenders_company_name }}</el-descriptions-item>
<el-descriptions-item label="投标公司名称" label-align="left" align="left" label-class-name="my-label">{{
formData.bid_company_name }}</el-descriptions-item>
formData.bid_company_name }}</el-descriptions-item>
<el-descriptions-item label="标书编号" label-align="left" align="left" label-class-name="my-label">{{
formData.bid_document_no }}</el-descriptions-item>
formData.bid_document_no }}</el-descriptions-item>
<el-descriptions-item label="购买人员" label-align="left" align="left" label-class-name="my-label">{{
formData.buyer_name }}</el-descriptions-item>
<el-descriptions-item label="购买标书金额(元)" label-align="left" align="left"
label-class-name="my-label">{{
formData.amount }}</el-descriptions-item>
<el-descriptions-item label="招标项目资金来源" label-align="left" align="left"
label-class-name="my-label">{{
formData.bidding_project_fund_source }}</el-descriptions-item>
formData.buyer_name }}</el-descriptions-item>
<el-descriptions-item label="购买标书金额(元)" label-align="left" align="left" label-class-name="my-label">{{
formData.amount }}</el-descriptions-item>
<el-descriptions-item label="招标项目资金来源" label-align="left" align="left" label-class-name="my-label">{{
formData.bidding_project_fund_source }}</el-descriptions-item>
<el-descriptions-item label="投标时间" label-align="left" align="left" label-class-name="my-label">{{
formData.bidding_time }}</el-descriptions-item>
formData.bidding_time }}</el-descriptions-item>
<el-descriptions-item label="购买标书时间" label-align="left" align="left" label-class-name="my-label">{{
formData.buy_date }}</el-descriptions-item>
formData.buy_date }}</el-descriptions-item>
<el-descriptions-item label="招标方式" label-align="left" align="left" label-class-name="my-label">{{
formData.bid_type }}</el-descriptions-item>
formData.bid_type }}</el-descriptions-item>
<el-descriptions-item label="流程是否结束" label-align="left" align="left" label-class-name="my-label">{{
formData.amount }}</el-descriptions-item>
formData.amount }}</el-descriptions-item>
<!-- <el-descriptions-item label="投标地址" label-align="left" align="left" label-class-name="my-label">{{
formData.bid_address }}</el-descriptions-item> -->
<el-descriptions-item label="是否需要保证金" label-align="left" align="left" label-class-name="my-label">{{
formData.is_margin }}</el-descriptions-item>
<el-descriptions-item label="保证金金额(元)" label-align="left" align="left"
label-class-name="my-label">{{
formData.margin_amount }}</el-descriptions-item>
formData.is_margin }}</el-descriptions-item>
<el-descriptions-item label="保证金金额(元)" label-align="left" align="left" label-class-name="my-label">{{
formData.margin_amount }}</el-descriptions-item>
<el-descriptions-item label="招标项目慨况" label-align="left" align="left" label-class-name="my-label">{{
formData.bid_project_overview }}</el-descriptions-item>
formData.bid_project_overview }}</el-descriptions-item>
<el-descriptions-item label="项目简介" label-align="left" align="left" label-class-name="my-label">{{
formData.project_desc }}</el-descriptions-item>
formData.project_desc }}</el-descriptions-item>
</el-descriptions>
</el-card>

View File

@ -47,7 +47,7 @@
<el-table-column label="投标公司名称" prop="bid_company_name" :render-header="pager.calcWidth" />
<el-table-column label="购买人员" prop="buyer" show-overflow-tooltip />
<el-table-column label="购买标书金额" width="120" prop="amount" show-overflow-tooltip />
<el-table-column label="招标项目资金来源" width="150" prop="bidding_project_fund_source"
<el-table-column label="招标项目资金来源" width="170" prop="bidding_project_fund_source"
show-overflow-tooltip />
<el-table-column label=" 投标时间" prop="bidding_time" show-overflow-tooltip />
<el-table-column label="购买标书时间" prop="buy_date" width="120" show-overflow-tooltip />

View File

@ -4,42 +4,41 @@
<el-card>
<el-descriptions title="基本信息" :column="3" border>
<el-descriptions-item label="标书编号" label-align="left" align="left" label-class-name="my-label">{{
formData.bid_document_no }}</el-descriptions-item>
formData.bid_document_no }}</el-descriptions-item>
<el-descriptions-item label="购买人员" label-align="left" align="left" label-class-name="my-label">{{
formData.buyer }}</el-descriptions-item>
formData.buyer }}</el-descriptions-item>
<el-descriptions-item label="客户名称" label-align="left" align="left" label-class-name="my-label">{{
formData.custom_name }}</el-descriptions-item>
formData.custom_name }}</el-descriptions-item>
<el-descriptions-item label="项目名称" label-align="left" align="left" label-class-name="my-label">{{
formData.project_name }}</el-descriptions-item>
formData.project_name }}</el-descriptions-item>
<el-descriptions-item label="招标公司名称" label-align="left" align="left" label-class-name="my-label">{{
formData.invite_tenders_company_name }}</el-descriptions-item>
formData.invite_tenders_company_name }}</el-descriptions-item>
<el-descriptions-item label="投标公司名称" label-align="left" align="left" label-class-name="my-label">{{
formData.bid_company_name }}</el-descriptions-item>
formData.bid_company_name }}</el-descriptions-item>
<el-descriptions-item label="购买标书金额" label-align="left" align="left" label-class-name="my-label">{{
formData.bid_document_amount }}</el-descriptions-item>
<el-descriptions-item label="招标项目资金来源" label-align="left" align="left"
label-class-name="my-label">{{
formData.bidding_project_fund_source }}</el-descriptions-item>
formData.bid_document_amount }}</el-descriptions-item>
<el-descriptions-item label="招标项目资金来源" label-align="left" align="left" label-class-name="my-label">{{
formData.bidding_project_fund_source }}</el-descriptions-item>
<el-descriptions-item label="投标时间" label-align="left" align="left" label-class-name="my-label">{{
formData.bidding_time }}</el-descriptions-item>
formData.bidding_time }}</el-descriptions-item>
<el-descriptions-item label="购买标书时间" label-align="left" align="left" label-class-name="my-label">{{
formData.buy_date }}</el-descriptions-item>
formData.buy_date }}</el-descriptions-item>
<el-descriptions-item label="招标方式" label-align="left" align="left" label-class-name="my-label">{{
formData.bid_type }}</el-descriptions-item>
formData.bid_type }}</el-descriptions-item>
<el-descriptions-item label="投标地址" label-align="left" align="left" label-class-name="my-label">{{
formData.bid_address }}</el-descriptions-item>
formData.bid_address }}</el-descriptions-item>
<el-descriptions-item label="是否需要保证金" label-align="left" align="left" label-class-name="my-label">{{
formData.is_margin }}</el-descriptions-item>
formData.is_margin }}</el-descriptions-item>
<el-descriptions-item label="保证金金额" label-align="left" align="left" label-class-name="my-label">{{
formData.margin_amount }}</el-descriptions-item>
formData.margin_amount }}</el-descriptions-item>
<el-descriptions-item label="保证金退还时间" label-align="left" align="left" label-class-name="my-label">{{
formData.margin_amount_return_date }}</el-descriptions-item>
formData.margin_amount_return_date }}</el-descriptions-item>
<el-descriptions-item label="开标日期" label-align="left" align="left" label-class-name="my-label">{{
formData.bid_opening_date }}</el-descriptions-item>
formData.bid_opening_date }}</el-descriptions-item>
<el-descriptions-item label="招标项目概况" label-align="left" align="left" label-class-name="my-label">{{
formData.bid_project_overview }}</el-descriptions-item>
formData.bid_project_overview }}</el-descriptions-item>
<el-descriptions-item label="项目简介" label-align="left" align="left" label-class-name="my-label">{{
formData.project_desc }}</el-descriptions-item>
formData.project_desc }}</el-descriptions-item>
</el-descriptions>
</el-card>
@ -47,19 +46,11 @@
<el-card>
<el-descriptions title="技术审查" :column="1" border style="margin-top:30px">
<el-descriptions-item label="技术协议偏差" label-align="left" align="left" label-class-name="my-label">{{
formData.technical_protocol_deviation }}</el-descriptions-item>
<el-descriptions-item label="协议偏差处理方案" label-align="left" align="left"
label-class-name="my-label">{{
formData.protocol_deviation_handling_plan }}</el-descriptions-item>
formData.technical_protocol_deviation }}</el-descriptions-item>
<el-descriptions-item label="协议偏差处理方案" label-align="left" align="left" label-class-name="my-label">{{
formData.protocol_deviation_handling_plan }}</el-descriptions-item>
<el-descriptions-item label="附件" label-align="left" align="left" label-class-name="my-label">
<div v-if="formData.technical_review_annex && formData.technical_review_annex.length > 0">
<div v-for="(item, index) in formData.technical_review_annex"
style="margin-left: 5px;display: block;">
<el-link style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item"
target="_blank">文件{{ index + 1 }}查看</el-link>
</div>
</div>
<div v-else> 暂无附件</div>
<annexLink :annex="formData.technical_review_annex"></annexLink>
</el-descriptions-item>
</el-descriptions>
</el-card>
@ -67,28 +58,19 @@
<el-card>
<el-descriptions title="商务审查" :column="3" border style="margin-top:30px">
<el-descriptions-item label="总金额" label-align="left" align="left" label-class-name="my-label">{{
formData.total_amount }}</el-descriptions-item>
formData.total_amount }}</el-descriptions-item>
<el-descriptions-item label="税率" label-align="left" align="left" label-class-name="my-label">{{
formData.tax_rate }}</el-descriptions-item>
formData.tax_rate }}</el-descriptions-item>
<el-descriptions-item label="付款方式" label-align="left" align="left" label-class-name="my-label">{{
formData.pay_type }}</el-descriptions-item>
formData.pay_type }}</el-descriptions-item>
<el-descriptions-item label="付款比例" label-align="left" align="left" label-class-name="my-label">{{
formData.pay_rate }}</el-descriptions-item>
formData.pay_rate }}</el-descriptions-item>
<el-descriptions-item label="商务合同偏差" label-align="left" align="left" label-class-name="my-label">{{
formData.business_contract_deviation }}</el-descriptions-item>
formData.business_contract_deviation }}</el-descriptions-item>
<el-descriptions-item label="偏差处理方案" label-align="left" align="left" label-class-name="my-label">{{
formData.business_contract_deviation_handling_plan }}</el-descriptions-item>
formData.business_contract_deviation_handling_plan }}</el-descriptions-item>
<el-descriptions-item label="附件" label-align="left" align="left" label-class-name="my-label">
<div
v-if="formData.business_contract_deviation_annex && formData.business_contract_deviation_annex.length > 0">
<div v-for="(item, index) in formData.business_contract_deviation_annex"
style="margin-left: 5px;display: block;">
<el-link style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item"
target="_blank">文件{{ index + 1 }}查看</el-link>
</div>
</div>
<div v-else> 暂无附件</div>
<annexLink :annex="formData.business_contract_deviation_annex"></annexLink>
</el-descriptions-item>
</el-descriptions>
</el-card>

View File

@ -3,52 +3,40 @@
<popup ref="popupRef" title="投标结果详情" :async="true" width="80%" @confirm="handleSubmit" @close="handleClose">
<el-descriptions :column="3" border>
<el-descriptions-item label="投标编号" label-align="left" align="left" label-class-name="my-label">{{
formData.bid_document_examination_code }}</el-descriptions-item>
formData.bid_document_examination_code }}</el-descriptions-item>
<el-descriptions-item label="客户名称" label-align="left" align="left" label-class-name="my-label">{{
formData.custom_name }}</el-descriptions-item>
formData.custom_name }}</el-descriptions-item>
<el-descriptions-item label="项目名称" label-align="left" align="left" label-class-name="my-label">{{
formData.project_name }}</el-descriptions-item>
formData.project_name }}</el-descriptions-item>
<el-descriptions-item label="项目编码" label-align="left" align="left" label-class-name="my-label">{{
formData.project_code }}</el-descriptions-item>
formData.project_code }}</el-descriptions-item>
<el-descriptions-item label="投标时间" label-align="left" align="left" label-class-name="my-label">{{
formData.bidding_time }}</el-descriptions-item>
formData.bidding_time }}</el-descriptions-item>
<el-descriptions-item label="开标日期" label-align="left" align="left" label-class-name="my-label">{{
formData.bid_opening_date }}</el-descriptions-item>
formData.bid_opening_date }}</el-descriptions-item>
<el-descriptions-item label="是否中标" label-align="left" align="left" label-class-name="my-label">{{
formData.is_successful_text
}}</el-descriptions-item>
formData.is_successful_text
}}</el-descriptions-item>
<el-descriptions-item label="中标单位" label-align="left" align="left" label-class-name="my-label">{{
formData.bidder_company
}}</el-descriptions-item>
formData.bidder_company
}}</el-descriptions-item>
<el-descriptions-item label="中标金额" label-align="left" align="left" label-class-name="my-label">{{
formData.bidder_amount }}</el-descriptions-item>
formData.bidder_amount }}</el-descriptions-item>
<el-descriptions-item label="投标总结" label-align="left" align="left" label-class-name="my-label">{{
formData.bid_summary }}</el-descriptions-item>
formData.bid_summary }}</el-descriptions-item>
<el-descriptions-item label="附件" label-align="left" align="left" label-class-name="my-label">
<div v-if="formDataannex.length > 0">
<div v-for="(item, index) in formDataannex" style="margin-left: 5px;display: block;">
<a style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item.uri"
target="_blank">文件{{ index + 1 }}查看</a>
</div>
</div>
<div v-else> 暂无附件</div>
</el-descriptions-item>
<el-descriptions-item label="添加人" label-align="left" align="left" label-class-name="my-label">{{
formData.add_user_name }}</el-descriptions-item>
<el-descriptions-item label="更新人" label-align="left" align="left" label-class-name="my-label">{{
formData.update_user_name }}</el-descriptions-item>
<el-descriptions-item label="附件" label-align="left" align="left" label-class-name="my-label">
<annexLink :annex="formData.annex"></annexLink>
</el-descriptions-item>
</el-descriptions>
</popup>
</div>
@ -87,28 +75,7 @@ const formData = reactive({
//
const setFormData = async (data: Record<any, any>) => {
// for (const key in formData) {
// if (data[key] != null && data[key] != undefined) {
// //@ts-ignore
// formData[key] = data[key]
// }
// }
if (data.annex && data.annex.length > 0) {
const arry1 = data.annex.map((item: any, index: any) => {
return {
name: `文件${index + 1}`,
uri: item
};
});
Object.assign(formDataannex, arry1)
}
Object.assign(formData, data)
}
const getDetail = async (row: Record<string, any>) => {

View File

@ -36,25 +36,7 @@
<el-input v-model="formData.bid_summary" clearable placeholder="请输入投标总结" />
</el-form-item>
<el-form-item label="附件" prop="annex">
<el-upload
accept="doc, docx, xls, xlsx, ppt, pptx, pdf, txt, zip, rar, tar, jpg, png, gif, jpeg, webp, wmv, avi, mpg, mpeg, 3gp, mov, mp4, flv, f4v, rmvb, mkv"
class="upload-demo" :show-file-list="false" aria-hidden="true" :headers="{ Token: userStore.token }"
:action="base_url + '/upload/file'" :on-success="handleAvatarSuccess_four" ref="upload">
<el-button type="primary">
上传
</el-button>
</el-upload>
<div>
<div v-for="(item, index) in formDataannex" style="margin-left: 5px;display: block;">
<a style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item.uri"
target="_blank">{{ item.name }}</a>
<span style="cursor: pointer;margin-left: 5px;" @click="delFileFn(index)">x</span>
</div>
</div>
<uploadAnnex :formData="formData"></uploadAnnex>
</el-form-item>
</el-form>
<el-dialog v-model="showDialog" title="选择标书审查" width="70%">
@ -71,13 +53,9 @@ import type { FormInstance } from 'element-plus'
import Popup from '@/components/popup/index.vue'
import biddocumentTable from "@/components/document_examination/index.vue"
import { apiBidResultAdd, apiBidResultEdit, apiBidResultDetail } from '@/api/bid_result'
import configs from "@/config"
import useUserStore from "@/stores/modules/user";
import { useDictData } from '@/hooks/useDictOptions'
const { dictData } = useDictData('is_successful')
const base_url = configs.baseUrl + configs.urlPrefix
const userStore = useUserStore();
const emit = defineEmits(['success', 'close'])
const formRef = shallowRef<FormInstance>()
const popupRef = shallowRef<InstanceType<typeof Popup>>()
@ -86,30 +64,7 @@ const custom_name = ref('')
const project_name = ref('')
const project_code = ref('')
const bid_document_no = ref('')
const formDataannex = reactive([])
const showDialog = ref(false)
const list1 = reactive([])
const list2 = reactive([])
//
const handleAvatarSuccess_four = (
response,
uploadFile
) => {
if (response.code == 0) {
ElMessage.error(response.msg);
return;
}
formDataannex.push(
{ uri: response.data.uri, name: response.data.name }
);
};
//
const delFileFn = (index: number) => {
formDataannex.splice(index, 1)
}
//
const popupTitle = computed(() => {
return mode.value == 'edit' ? '编辑投标结果' : '新增投标结果'
@ -168,17 +123,6 @@ const setFormData = async (data: Record<any, any>) => {
custom_name.value = data.custom_name
project_name.value = data.project_name
project_code.value = data.project_code
if (data.annex && data.annex.length > 0) {
const arry1 = data.annex.map((item: any, index: any) => {
return {
name: `文件${index + 1}`,
uri: item
};
});
Object.assign(formDataannex, arry1)
}
}
@ -192,10 +136,6 @@ const getDetail = async (row: Record<string, any>) => {
//
const handleSubmit = async () => {
if (formDataannex.length > 0) {
formData.annex = formDataannex.map((item: any) => item.uri)
}
await formRef.value?.validate()
const data = { ...formData, }
mode.value == 'edit'

View File

@ -33,15 +33,7 @@
<el-descriptions-item label="备注" label-align="left" align="left" label-class-name="my-label">{{
formData.remark }}</el-descriptions-item>
<el-descriptions-item label="附件" label-align="left" align="left" label-class-name="my-label">
<div v-if="formData.annex.length > 0">
<div v-for="(item, index) in formData.annex" style="margin-left: 5px;display: block;">
<a style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item"
target="_blank">文件{{ index + 1 }}查看</a>
</div>
</div>
<div v-else> 暂无附件</div>
<annexLink :annex="formData.annex"></annexLink>
</el-descriptions-item>
</el-descriptions>

View File

@ -49,7 +49,7 @@
</template>
</el-table-column>
<el-table-column label="操作" width="150" fixed="right">
<el-table-column label="操作" width="170" fixed="right">
<template #default="{ row }">
<el-button v-perms="['build.build_process_settings/edit']" type="primary" link

View File

@ -47,7 +47,7 @@
<el-table-column label="施工人员" prop="work_user" show-overflow-tooltip />
<el-table-column label="施工内容" prop="work_content" show-overflow-tooltip />
<el-table-column label="操作" width="150" fixed="right">
<el-table-column label="操作" width="170" fixed="right">
<template #default="{ row }">
<!-- <el-button v-perms="['project.project_plan/edit']" type="primary" link @click="handleEdit(row)">

View File

@ -4,76 +4,60 @@
<el-form ref="formRef" :model="formData" label-width="120px">
<el-descriptions :column="2" border>
<el-descriptions-item label="客户名称" label-align="left" align="left" label-class-name="my-label">{{
formData.custom_name }}</el-descriptions-item>
formData.custom_name }}</el-descriptions-item>
<el-descriptions-item label="项目名称" label-align="left" align="left" label-class-name="my-label"> {{
formData.project_name }}</el-descriptions-item>
formData.project_name }}</el-descriptions-item>
<el-descriptions-item label="项目编码" label-align="left" align="left" label-class-name="my-label"> {{
formData.project_code }}</el-descriptions-item>
formData.project_code }}</el-descriptions-item>
<el-descriptions-item label="需求名称" label-align="left" align="left" label-class-name="my-label">
{{ formData.customer_demand_name }}
</el-descriptions-item>
<el-descriptions-item label="竞争对手名称" label-align="left" align="left" label-class-name="my-label"> {{
formData.competitor_name
}}</el-descriptions-item>
formData.competitor_name
}}</el-descriptions-item>
<el-descriptions-item label="竞争对手联系人" label-align="left" align="left" label-class-name="my-label">
{{ formData.competitor_contacts
}}</el-descriptions-item>
<el-descriptions-item label="联系人电话" label-align="left" align="left" label-class-name="my-label"> {{
formData.competitor_contacts_phone
formData.competitor_contacts_phone
}}</el-descriptions-item>
}}</el-descriptions-item>
<el-descriptions-item label="竞争能力" label-align="left" align="left" label-class-name="my-label"> {{
formData.competitive_power
formData.competitive_power
}}</el-descriptions-item>
}}</el-descriptions-item>
<el-descriptions-item label="竞争对手优势" label-align="left" align="left" label-class-name="my-label"> {{
formData.competitor_advantages
formData.competitor_advantages
}}</el-descriptions-item>
}}</el-descriptions-item>
<el-descriptions-item label="竞争对手劣势" label-align="left" align="left" label-class-name="my-label"> {{
formData.competitor_disadvantages
formData.competitor_disadvantages
}}</el-descriptions-item>
}}</el-descriptions-item>
<el-descriptions-item label="备注" label-align="left" align="left" label-class-name="my-label"> {{
formData.remark
formData.remark
}}</el-descriptions-item>
}}</el-descriptions-item>
<el-descriptions-item label="添加人" label-align="left" align="left" label-class-name="my-label"> {{
formData.add_user_name
formData.add_user_name
}}</el-descriptions-item>
}}</el-descriptions-item>
<el-descriptions-item label="创建日期" label-align="left" align="left" label-class-name="my-label"> {{
formData.create_time
}}</el-descriptions-item>
}}</el-descriptions-item>
<el-descriptions-item label="更新人" label-align="left" align="left" label-class-name="my-label"> {{
formData.update_user_name
}}</el-descriptions-item>
}}</el-descriptions-item>
<el-descriptions-item label="更新日期" label-align="left" align="left" label-class-name="my-label"> {{
formData.update_time
}}</el-descriptions-item>
}}</el-descriptions-item>
<el-descriptions-item label="附件" label-align="left" align="left" label-class-name="my-label">
<div v-if="formData.annex.length > 0">
<div v-for="(item, index) in formData.annex" style="margin-left: 5px;display: block;">
<el-link style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item"
target="_blank">文件{{ index + 1 }}查看</el-link>
</div>
</div>
<div v-else>
暂无附件
</div>
<annexLink :annex="formData.annex"></annexLink>
</el-descriptions-item>
</el-descriptions>
</el-form>

View File

@ -1,7 +1,6 @@
<template>
<div class="edit-popup">
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit"
@close="handleClose">
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit" @close="handleClose">
<el-form ref="formRef" :model="formData" label-width="90px" :rules="formRules">
<el-form-item label="项目名称" prop="project_name">
<el-input v-model="formData.project_name" clearable placeholder="点击选择项目" @click="showDialog = true"

View File

@ -44,7 +44,7 @@
<el-table-column label="监管部门" prop="supervision_department" show-overflow-tooltip />
<el-table-column label="实施部门" prop="implementation_department" show-overflow-tooltip />
<el-table-column label="项目负责人员" prop="project_manager" show-overflow-tooltip />
<el-table-column label="操作" width="150" fixed="right" align="center">
<el-table-column label="操作" width="170" fixed="right" align="center">
<template #default="{ row }">
<el-button v-perms="['consult_basic.consult_project/edit']" type="primary" link
@click="handleEdit(row)">

View File

@ -6,120 +6,111 @@
<el-descriptions title="基本信息" :column="2" border>
<el-descriptions-item label="客户名称" label-align="left" align="left" label-class-name="my-label">{{
formData.custom_name }}</el-descriptions-item>
formData.custom_name }}</el-descriptions-item>
<el-descriptions-item label="投标编号" label-align="left" align="left" label-class-name="my-label">{{
formData.bid_document_no }}</el-descriptions-item>
formData.bid_document_no }}</el-descriptions-item>
<el-descriptions-item label="项目名称" label-align="left" align="left" label-class-name="my-label"> {{
formData.project_name }}</el-descriptions-item>
formData.project_name }}</el-descriptions-item>
<el-descriptions-item label="项目编码" label-align="left" align="left" label-class-name="my-label"> {{
formData.project_code }}</el-descriptions-item>
formData.project_code }}</el-descriptions-item>
<el-descriptions-item label="合同名称" label-align="left" align="left" label-class-name="my-label">{{
formData.contract_name }}</el-descriptions-item>
formData.contract_name }}</el-descriptions-item>
<el-descriptions-item label="合同编号" label-align="left" align="left" label-class-name="my-label">{{
formData.contract_code }}</el-descriptions-item>
formData.contract_code }}</el-descriptions-item>
<el-descriptions-item label="合同类型" label-align="left" align="left" label-class-name="my-label">
{{ formData.contract_type_text }}
</el-descriptions-item>
<el-descriptions-item label="合同计价方式" label-align="left" align="left" label-class-name="my-label"> {{
formData.contract_pricing_method_text
}}</el-descriptions-item>
formData.contract_pricing_method_text
}}</el-descriptions-item>
<el-descriptions-item label="甲方" label-align="left" align="left" label-class-name="my-label"> {{
formData.party_a
formData.party_a
}}</el-descriptions-item>
}}</el-descriptions-item>
<el-descriptions-item label="乙方" label-align="left" align="left" label-class-name="my-label"> {{
formData.party_b }}</el-descriptions-item>
formData.party_b }}</el-descriptions-item>
<el-descriptions-item label="通讯地址" label-align="left" align="left" label-class-name="my-label"> {{
formData.party_a_contact_address
formData.party_a_contact_address
}}</el-descriptions-item>
}}</el-descriptions-item>
<el-descriptions-item label="通讯地址" label-align="left" align="left" label-class-name="my-label"> {{
formData.party_b_contact_address
formData.party_b_contact_address
}}</el-descriptions-item>
}}</el-descriptions-item>
<el-descriptions-item label="主要负责人" label-align="left" align="left" label-class-name="my-label"> {{
formData.party_a_diretor
formData.party_a_diretor
}}</el-descriptions-item>
}}</el-descriptions-item>
<el-descriptions-item label="主要负责人" label-align="left" align="left" label-class-name="my-label"> {{
formData.party_b_diretor
formData.party_b_diretor
}}</el-descriptions-item>
}}</el-descriptions-item>
<el-descriptions-item label="电话" label-align="left" align="left" label-class-name="my-label"> {{
formData.party_a_phone
formData.party_a_phone
}}</el-descriptions-item>
}}</el-descriptions-item>
<el-descriptions-item label="电话" label-align="left" align="left" label-class-name="my-label"> {{
formData.party_b_phone
formData.party_b_phone
}}</el-descriptions-item>
}}</el-descriptions-item>
<el-descriptions-item label="手机" label-align="left" align="left" label-class-name="my-label"> {{
formData.party_a_mobile
formData.party_a_mobile
}}</el-descriptions-item>
}}</el-descriptions-item>
<el-descriptions-item label="手机" label-align="left" align="left" label-class-name="my-label"> {{
formData.party_b_mobile
formData.party_b_mobile
}}</el-descriptions-item>
}}</el-descriptions-item>
<el-descriptions-item label="邮箱" label-align="left" align="left" label-class-name="my-label"> {{
formData.party_a_email
formData.party_a_email
}}</el-descriptions-item>
}}</el-descriptions-item>
<el-descriptions-item label="邮箱" label-align="left" align="left" label-class-name="my-label"> {{
formData.party_b_email
formData.party_b_email
}}</el-descriptions-item>
}}</el-descriptions-item>
<el-descriptions-item label="金额" label-align="left" align="left" label-class-name="my-label"> {{
formData.amount
formData.amount
}}</el-descriptions-item>
}}</el-descriptions-item>
<el-descriptions-item label="业务负责人" label-align="left" align="left" label-class-name="my-label"> {{
formData.business_director_name
formData.business_director_name
}}</el-descriptions-item>
}}</el-descriptions-item>
<el-descriptions-item label="状态" label-align="left" align="left" label-class-name="my-label"> {{
formData.contract_status_text
formData.contract_status_text
}}</el-descriptions-item>
}}</el-descriptions-item>
<el-descriptions-item label="合同有效期" label-align="left" align="left" label-class-name="my-label"> {{
formData.expire
formData.expire
}}</el-descriptions-item>
}}</el-descriptions-item>
<el-descriptions-item label="签约日期" label-align="left" align="left" label-class-name="my-label"> {{
formData.contract_date
formData.contract_date
}}</el-descriptions-item>
}}</el-descriptions-item>
<el-descriptions-item label="主要条款" label-align="left" align="left" label-class-name="my-label"> {{
formData.main_content
formData.main_content
}}</el-descriptions-item>
}}</el-descriptions-item>
<el-descriptions-item label="备注" label-align="left" align="left" label-class-name="my-label"> {{
formData.remark
formData.remark
}}</el-descriptions-item>
}}</el-descriptions-item>
<el-descriptions-item label="合同附件" label-align="left" align="left" label-class-name="my-label">
<div v-if="formData.annex.length > 0">
<div v-for="(item, index) in formData.annex" style="margin-left: 5px;display: block;">
<el-link style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item"
target="_blank">文件{{ index + 1 }}查看</el-link>
</div>
</div>
<div v-else>
暂无附件
</div>
<annexLink :annex="formData.annex"></annexLink>
</el-descriptions-item>
</el-descriptions>
@ -196,8 +187,7 @@ const datas = reactive({
});
const tableData = ref([])
const handleClick = (tab: TabsPaneContext, event: Event) => {
}
//
const formData = reactive({
@ -232,16 +222,6 @@ const setFormData = async (data: Record<any, any>) => {
Object.assign(formData, data)
pager1.contract_id = data.id
if (data.annex && data.annex.length > 0) {
const arry1 = data.annex.map((item: any, index: any) => {
return {
name: `文件${index + 1}`,
uri: item
};
});
Object.assign(formDataannex, arry1)
}
// competitorLists()
solutionLists()
getbidDocumentExaminationFlows()

View File

@ -63,7 +63,7 @@
<el-table-column label="已开票" prop="invoicing_amount" show-overflow-tooltip />
<el-table-column label="未开票" prop="not_invoicing_amount" show-overflow-tooltip />
<el-table-column label="已退款金额" prop="refund_amount" :render-header="pager.calcWidth" />
<el-table-column label="操作" width="150" fixed="right">
<el-table-column label="操作" width="170" fixed="right">
<template #default="{ row }">
<el-button v-perms="['contract.contract/edit']" type="primary" link @click="handleEdit(row)">
编辑

View File

@ -73,7 +73,6 @@ import feedback from '@/utils/feedback'
//
const queryParams = reactive({
contract_name: "",
contract_name: '',
part_b: '',
contract_type: '',
})

View File

@ -27,7 +27,7 @@
<el-table-column label="审批流程" prop="flow_name" show-overflow-tooltip />
<el-table-column label="当前审批人" prop="current_check_user" show-overflow-tooltip />
<el-table-column label="抄送人" prop="copy_user" show-overflow-tooltip />
<el-table-column label="操作" width="150" fixed="right">
<el-table-column label="操作" width="170" fixed="right">
<template #default="{ row }">
<router-link :to="{
path: row.path,

View File

@ -3,31 +3,22 @@
<popup ref="popupRef" title="客户联系人详情" :async="true" width="40%" @confirm="handleSubmit" @close="handleClose">
<el-descriptions :column="1" border>
<el-descriptions-item label="客户名称" label-align="left" align="left" label-class-name="my-label">{{
formData.custom_name }}</el-descriptions-item>
formData.custom_name }}</el-descriptions-item>
<el-descriptions-item label="联系人姓名" label-align="left" align="left" label-class-name="my-label"> {{
formData.name }}</el-descriptions-item>
formData.name }}</el-descriptions-item>
<el-descriptions-item label="联系人职位" label-align="left" align="left" label-class-name="my-label"> {{
formData.position }}</el-descriptions-item>
formData.position }}</el-descriptions-item>
<el-descriptions-item label="联系人手机" label-align="left" align="left" label-class-name="my-label">
{{ formData.phone }}
</el-descriptions-item>
<el-descriptions-item label="联系人电话" label-align="left" align="left" label-class-name="my-label"> {{
formData.telephone }}</el-descriptions-item>
formData.telephone }}</el-descriptions-item>
<el-descriptions-item label="联系人邮箱" label-align="left" align="left" label-class-name="my-label"> {{
formData.email }}</el-descriptions-item>
formData.email }}</el-descriptions-item>
<el-descriptions-item label="备注" label-align="left" align="left" label-class-name="my-label"> {{
formData.notes }}</el-descriptions-item>
formData.notes }}</el-descriptions-item>
<el-descriptions-item label="附件" label-align="left" align="left" label-class-name="my-label">
<div v-if="formData.annex && formData.annex.length > 0">
<div v-for="(item, index) in formData.annex" style="margin-left: 5px;display: block;">
<el-link style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item.uri"
target="_blank">文件{{ index + 1 }}查看</el-link>
</div>
</div>
<div v-else>
暂无文件
</div>
<annexLink :annex="formData.annex"></annexLink>
</el-descriptions-item>
</el-descriptions>

View File

@ -4,35 +4,26 @@
<el-descriptions :column="2" border>
<el-descriptions-item label="主题" label-align="left" align="left" label-class-name="my-label">{{
formData.name }}</el-descriptions-item>
formData.name }}</el-descriptions-item>
<el-descriptions-item label="客户名称" label-align="left" align="left" label-class-name="my-label"> {{
formData.custom_name }}</el-descriptions-item>
formData.custom_name }}</el-descriptions-item>
<el-descriptions-item label="联系人" label-align="left" align="left" label-class-name="my-label"> {{
formData.custom_master_name }}</el-descriptions-item>
formData.custom_master_name }}</el-descriptions-item>
<el-descriptions-item label="日期" label-align="left" align="left" label-class-name="my-label">
{{ formData.date }}
</el-descriptions-item>
<el-descriptions-item label="类型" label-align="left" align="left" label-class-name="my-label">
<dict-value :options="dictData.follow_type" :value="formData.types" /></el-descriptions-item>
<el-descriptions-item label="执行人" label-align="left" align="left" label-class-name="my-label"> {{
formData.executor }}</el-descriptions-item>
formData.executor }}</el-descriptions-item>
<el-descriptions-item label="行动描述" label-align="left" align="left" label-class-name="my-label"> {{
formData.description }}</el-descriptions-item>
formData.description }}</el-descriptions-item>
<el-descriptions-item label="下次回访日期" label-align="left" align="left" label-class-name="my-label"> {{
formData.next_follow_date }}</el-descriptions-item>
formData.next_follow_date }}</el-descriptions-item>
<el-descriptions-item label="附件" label-align="left" align="left" label-class-name="my-label">
<div v-if="formData.annex && formData.annex.length > 0">
<div v-for="(item, index) in formData.annex" style="margin-left: 5px;display: block;">
<el-link style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item"
target="_blank">文件{{ index + 1 }}查看</el-link>
</div>
</div>
<div v-else>
暂无文件
</div>
<annexLink :annex="formData.annex"></annexLink>
</el-descriptions-item>
</el-descriptions>

View File

@ -45,17 +45,7 @@
<el-descriptions-item label="备注" label-align="left" align="left" label-class-name="my-label"> {{
formData.notes }}</el-descriptions-item>
<el-descriptions-item label="附件" label-align="left" align="left" label-class-name="my-label">
<div v-if="formData.annex && formData.annex.length > 0">
<div v-for="(item, index) in formData.annex" style="margin-left: 5px;display: block;">
<el-link style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item"
target="_blank">文件{{ index + 1 }}查看</el-link>
</div>
</div>
<div v-else>
暂无文件
</div>
<annexLink :annex="formData.annex"></annexLink>
</el-descriptions-item>

View File

@ -48,8 +48,7 @@
{{ formData.update_time
}}</el-descriptions-item>
<el-descriptions-item label="附件" label-align="left" align="left" label-class-name="my-label">
<el-link v-for="(item, index) in formData.annex" :href="item.uri" target="_blank"
type="primary" class="mr-5">文件{{ index + 1 }}</el-link>
<annexLink :annex="formData.annex"></annexLink>
</el-descriptions-item>
</el-descriptions>
</el-tab-pane>

View File

@ -56,7 +56,6 @@ import Popup from '@/components/popup/index.vue'
import projectTable from "@/components/project/index.vue"
import customerdemand from "@/components/customerdemand/index.vue"
import { apiCustomerDemandSolutionAdd, apiCustomerDemandSolutionEdit, apiCustomerDemandSolutionDetail } from '@/api/customer_demand_solution'
import { timeFormat } from '@/utils/util'
import type { PropType } from 'vue'
//
@ -83,8 +82,6 @@ const emit = defineEmits(['success', 'close'])
const formRef = shallowRef<FormInstance>()
const popupRef = shallowRef<InstanceType<typeof Popup>>()
const mode = ref('add')
const orglist = reactive([])
const jobs = reactive([])
const project_name
= ref('')
const project_code
@ -92,7 +89,6 @@ const project_code
const custom_name
= ref('')
const customer_demand_name = ref('')
const formDataannex = reactive([])
const showDialog = ref(false)
const showDialog1 = ref(false)
@ -133,15 +129,6 @@ const formRules = reactive<any>({
//
const setFormData = async (data: Record<any, any>) => {
if (data.annex && data.annex.length > 0) {
const arry1 = data.annex.map((item: any, index: any) => {
return {
name: `文件${index + 1}`,
uri: item
};
});
Object.assign(formDataannex, arry1)
}
project_name.value = data.project_name
custom_name.value = data.custom_name
project_code.value = data.project_code
@ -153,7 +140,7 @@ const setFormData = async (data: Record<any, any>) => {
}
}
//@ts-ignore
formData.submission_time = timeFormat(formData.submission_time, 'yyyy-mm-dd')
// formData.submission_time = timeFormat(formData.submission_time, 'yyyy-mm-dd')
}
const getDetail = async (row: Record<string, any>) => {
@ -166,10 +153,6 @@ const getDetail = async (row: Record<string, any>) => {
//
const handleSubmit = async () => {
if (formDataannex.length > 0) {
formData.annex = formDataannex.map((item) => item.uri)
}
await formRef.value?.validate()
const data = { ...formData, }
mode.value == 'edit'

View File

@ -27,7 +27,7 @@
<el-table-column label="审批流程" prop="flow_name" show-overflow-tooltip />
<el-table-column label="当前审批人" prop="current_check_user" show-overflow-tooltip />
<el-table-column label="抄送人" prop="copy_user" show-overflow-tooltip />
<el-table-column label="操作" width="150" fixed="right">
<el-table-column label="操作" width="170" fixed="right">
<template #default="{ row }">
<router-link :to="{
path: row.path,

View File

@ -50,7 +50,7 @@
</el-table-column>
<el-table-column label="备注" prop="remark" show-overflow-tooltip />
<el-table-column label="操作" width="150" fixed="right">
<el-table-column label="操作" width="170" fixed="right">
<template #default="{ row }">
<el-button v-perms="['refund.refund/edit']" type="primary" link @click="handleEdit(row)">

View File

@ -84,11 +84,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="附件">
<!-- {{ formData.remark }} -->
<div v-for="(item, index) in formData.annex" style="margin-left: 5px;display: block;">
<a style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item.uri"
target="_blank">文件 {{ index + 1 }}</a>
</div>
<annexLink :annex="formData.annex"></annexLink>
</el-form-item>
</el-col>
</el-row>

View File

@ -53,7 +53,7 @@
<el-table-column label="期次" prop="period" show-overflow-tooltip />
<el-table-column label="申请人" prop="apply_user" show-overflow-tooltip />
<el-table-column label="备注" prop="remark" show-overflow-tooltip />
<el-table-column label="操作" width="150" fixed="right">
<el-table-column label="操作" width="170" fixed="right">
<template #default="{ row }">
<el-button v-perms="['refund.refund/edit']" type="primary" link @click="handleEdit(row)">
编辑

View File

@ -43,7 +43,7 @@
<el-table-column label="状态" prop="status_text" show-overflow-tooltip />
<el-table-column label="已付款" prop="has_payment_amount" show-overflow-tooltip />
<el-table-column label="未付款" prop="not_payment_amount" show-overflow-tooltip />
<el-table-column label="操作" width="150" fixed="right">
<el-table-column label="操作" width="170" fixed="right">
<template #default="{ row }">
<el-button v-perms="['refund.refund/edit']" type="primary" link @click="handleEdit(row)">
编辑

View File

@ -157,7 +157,6 @@
</template>
<script lang="ts" setup name="projectEdit">
import customDialog from '@/components/custom-dialog/index.vue'
import type { FormInstance } from 'element-plus'
import Popup from '@/components/popup/index.vue'
import suppliertable from '@/components/supplier/index.vue'
@ -166,40 +165,24 @@ import subcontracting from '@/components/procurementsubcontracting_selector/subc
import { apifinancereceiptAdd, apifinancereceiptEdit, apifinancereceiptDetail } from '@/api/receiptrecord'
import { toChinesNum } from "@/utils/util";
import { getAllProjectTypes } from '@/api/projecttype'
import { timeFormat } from '@/utils/util'
import { isEmail, isIdCard, isPhone } from '@/utils/validate'
import type { PropType } from 'vue'
import configs from "@/config"
import useUserStore from "@/stores/modules/user";
import { useDictData } from '@/hooks/useDictOptions'
const protype = reactive([])
const base_url = configs.baseUrl + configs.urlPrefix
const userStore = useUserStore();
const active = ref(0)
const formDataannex = reactive([])
const contract_name = ref('')
const project_name = ref('')
const project_code = ref('')
const project_amount = ref('')
const contract_no = ref('')
const supplier_name = ref('')
const supplier_code = ref('')
const userInfo = userStore.userInfo
//
const checkPhone = (rule: any, value: any, callback: (arg0: Error) => any) => {
if (value && !/^1\d{10}$/.test(value)) {
callback(new Error('请输入正确的手机号码'));
} else {
callback()
}
}
const { dictData } = useDictData('invoice_type,contract_type,tax_rate')
const props = defineProps({
dictData: Object,
project: Object
})
if (props.project) {
@ -210,7 +193,6 @@ const emit = defineEmits(['success', 'close'])
const formRef = shallowRef<FormInstance>()
const popupRef = shallowRef<InstanceType<typeof Popup>>()
const mode = ref('add')
const amount_daxie = ref('')
const showDialog = ref(false)
const showDialog1 = ref(false)

View File

@ -8,7 +8,8 @@
</el-form-item>
<el-form-item label="发票编号" prop="invoice_no">
<el-input class="w-[280px]" v-model="queryParams.invoice_no" clearable placeholder="请输入发票编号" type="number" />
<el-input class="w-[280px]" v-model="queryParams.invoice_no" clearable placeholder="请输入发票编号"
type="number" />
</el-form-item>
<el-form-item label="发票类型" prop="invoice_type">
<el-select class="w-[280px]" v-model="queryParams.invoice_type" clearable placeholder="请选择发票类型">
@ -54,7 +55,7 @@
<el-table-column label="发票类型" prop="invoice_type_text" show-overflow-tooltip />
<el-table-column label="发票编号" prop="invoice_no" show-overflow-tooltip />
<el-table-column label="操作" width="150" fixed="right">
<el-table-column label="操作" width="170" fixed="right">
<template #default="{ row }">
<el-button v-perms="['refund.refund/edit']" type="primary" link @click="handleEdit(row)">

View File

@ -72,11 +72,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="附件">
<!-- {{ formData.remark }} -->
<div v-for="(item, index) in formData.annex" style="margin-left: 5px;display: block;">
<a style="margin-left: 10px; color: #4a5dff; align-self: flex-start"
:href="item.uri" target="_blank">文件 {{ index + 1 }}</a>
</div>
<annexLink :annex="formData.annex"></annexLink>
</el-form-item>
</el-col>
@ -117,14 +113,7 @@
:submitApi="apifinance_refund_recordApprove" :id="formData?.id" @off="handleClose">
</flowProcess>
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" />
<!-- import { apifinance_refund_recordApprove, apifinance_refund_recordFlows } from '@/api/flowSet.ts'
//
const flows = ref([])
const getbidDocumentExaminationFlows = async () => {
if (formData?.approve_id) return
let res = await apifinance_refund_recordFlows()
flows.value = res
} -->
</el-form>
</popup>
</div>
@ -147,11 +136,7 @@ const emit = defineEmits(['success', 'close'])
const formRef = shallowRef<FormInstance>()
const popupRef = shallowRef<InstanceType<typeof Popup>>()
const datas = reactive({
provinceOptions: [],
cityOptions: [],
areaOptions: [],
});
//

View File

@ -171,54 +171,17 @@ import configs from "@/config"
import useUserStore from "@/stores/modules/user";
import { useDictData } from '@/hooks/useDictOptions'
const protype = reactive([])
const base_url = configs.baseUrl + configs.urlPrefix
const userStore = useUserStore();
const formDataannex = reactive([])
const contract_name = ref('')
const project_name = ref('')
const project_code = ref('')
const project_refund_amount = ref('')
const contract_no = ref('')
const supplier_name = ref('')
const supplier_code = ref('')
const userInfo = userStore.userInfo
//
const handleAvatarSuccess_four = (
response,
uploadFile
) => {
if (response.code == 0) {
ElMessage.error(response.msg);
return;
}
formDataannex.push(
{ uri: response.data.uri, name: response.data.name }
);
};
//
const delFileFn = (index: number) => {
formDataannex.splice(index, 1)
}
//
const checkPhone = (rule: any, value: any, callback: (arg0: Error) => any) => {
if (value && !/^1\d{10}$/.test(value)) {
callback(new Error('请输入正确的手机号码'));
} else {
callback()
}
}
const userEmail = (rule: any, value: string, callback: (arg0: Error | undefined) => void) => {
if (value && !mailReg.test(value)) {
callback(new Error('请输入正确的邮箱格式'))
} else {
callback()
}
};
const { dictData } = useDictData('refund_type,isaccrued,contract_type')
const props = defineProps({

View File

@ -45,7 +45,7 @@
<el-table-column label="退款原因" prop="reason" show-overflow-tooltip />
<el-table-column label="退款方式" prop="refund_type_text" show-overflow-tooltip />
<el-table-column label="备注" prop="remark" show-overflow-tooltip />
<el-table-column label="操作" width="150" fixed="right">
<el-table-column label="操作" width="170" fixed="right">
<template #default="{ row }">
<el-button v-perms="['refund.refund/edit']" type="primary" link @click="handleEdit(row)">

View File

@ -38,8 +38,8 @@
<el-table-column label="合同名称" prop="contract_name" />
<el-table-column label="合同类型" prop="contract_type_text" />
<el-table-column label="甲方签约单位" prop="part_a" />
<el-table-column label="合同金额" prop="money" width="150" />
<el-table-column label="预计分成金额" prop="total_amount" width="150" />
<el-table-column label="合同金额" prop="money" width="170" />
<el-table-column label="预计分成金额" prop="total_amount" width="170" />
<el-table-column label="操作" fixed="right">
<template #default="{ row }">
<el-button v-perms="['financial.financial_budget_doc/edit']" type="primary" link

View File

@ -21,10 +21,12 @@
<formTable :formData="formData.detail" :config="tableConfig" :dictData="dictData">
<el-table-column label="部门">
<template #default="{ row }">
<el-select v-model="row.dept_id" placeholder="请选择部门">
<el-option :label="item.name" :value="item.id" v-for="item in deptList">
</el-option>
</el-select>
<el-form-item label-width="0">
<el-select v-model="row.dept_id" placeholder="请选择部门">
<el-option :label="item.name" :value="item.id" v-for="item in deptList">
</el-option>
</el-select>
</el-form-item>
</template>
</el-table-column>
</formTable>

View File

@ -45,7 +45,7 @@
<el-table-column label="开票单位名称" prop="apply_company" show-overflow-tooltip width="120" />
<el-table-column label="甲方签约单位" prop="part_a" show-overflow-tooltip width="120" />
<el-table-column label="乙方签约单位" prop="part_b" show-overflow-tooltip width="120" />
<el-table-column label="签订金额(元)" prop="sign_money" width="150" />
<el-table-column label="签订金额(元)" prop="sign_money" width="170" />
<el-table-column label="签约时间" prop="sign_time" show-overflow-tooltip width="120" />
<el-table-column label="发票类型" prop="invoice_type_text" show-overflow-tooltip />
<el-table-column label="到账状态" prop="is_refund" show-overflow-tooltip />

View File

@ -107,7 +107,6 @@ const formData = reactive({
"part_b": "",
"sign_money": "",
"sign_time": "",
"invoice_code": "",
"apply_amount": "",
"total_invoice_amount": 0,
"total_refund_amount": 0

View File

@ -119,7 +119,7 @@ const formRules = reactive<any>({
payer_name: [{
required: true,
message: '请输入还款人',
trigger: ['blur']
trigger: ['change']
}],
amount: [{
required: true,

View File

@ -32,7 +32,7 @@
<el-table-column label="结算日期" prop="date" show-overflow-tooltip />
<el-table-column label="甲方签约单位" prop="part_a" show-overflow-tooltip width="120" />
<el-table-column label="乙方签约单位" prop="part_b" show-overflow-tooltip width="120" />
<el-table-column label="签订金额(元)" prop="sign_money" width="150" />
<el-table-column label="签订金额(元)" prop="sign_money" width="170" />
<el-table-column label="签约时间" prop="sign_time" show-overflow-tooltip width="120" />
<el-table-column label="已开票金额" prop="total_invoice_amount" show-overflow-tooltip />
<el-table-column label="已到账金额" prop="total_refund_amount" show-overflow-tooltip />

View File

@ -61,20 +61,14 @@
<FormTable :form-data="formData.detail" :config="tableConfig" @getSummaries="getSummaries">
<el-table-column label="部门">
<template #default="{ row }">
<el-select v-model="row.dept_id" placeholder="请选择部门">
<el-option :label="item.name" :value="item.id" v-for="item in deptList">
</el-option>
</el-select>
<el-form-item label-width="0">
<el-select v-model="row.dept_id" placeholder="请选择部门">
<el-option :label="item.name" :value="item.id" v-for="item in deptList">
</el-option>
</el-select>
</el-form-item>
</template>
</el-table-column>
<!-- <template #accumulate>
<el-col :span="8">
<el-form-item label="报销总金额:">
{{ total_amount }}
</el-form-item>
</el-col>
</template> -->
</FormTable>
</el-form>
<el-dialog v-model="showDialog1" title="选择费用申请单" width="70%">
@ -211,33 +205,13 @@ const tableConfig = reactive(
{
label: "摘要",
value: 'abstract',
type: 'number'
},
// {
// label: "",
// value: 'subtotal',
// type: 'number'
// },
],
deleteApi: apiFinancialTravelReimbursementDetailDelete,
}
)
// watch(
// () => formData.detail.map((item: any) => { item.traffic_amount, item.stay_amount, item.stay_price, item.stay_days, item.subsidy_days, item.subsidy_price, item.subsidy_amount, item.subsidy_deduction }),
// (newVal, oldVal) => {
// console.log(`checked values changed from `);
// formData.detail.forEach(element => {
// element.subtotal = (+element.traffic_amount) + (+element.stay_price) * (+element.stay_days) + (+element.stay_price) + (+element.subsidy_price) + (+element.subsidy_amount) + (+element.subsidy_deduction)
// });
// }
// );
//
const getSummaries = (value: any) => {

View File

@ -113,10 +113,12 @@
:dict-data="dictData">
<el-table-column label="部门">
<template #default="{ row }">
<el-select v-model="row.dept_id" placeholder="请选择部门">
<el-option :label="item.name" :value="item.id" v-for="item in deptList">
</el-option>
</el-select>
<el-form-item label-width="0">
<el-select v-model="row.dept_id" placeholder="请选择部门">
<el-option :label="item.name" :value="item.id" v-for="item in deptList">
</el-option>
</el-select>
</el-form-item>
</template>
</el-table-column>
</FormTable>

View File

@ -27,7 +27,7 @@
<el-table-column label="审批流程" prop="flow_name" show-overflow-tooltip />
<el-table-column label="当前审批人" prop="current_check_user" show-overflow-tooltip />
<el-table-column label="抄送人" prop="copy_user" show-overflow-tooltip />
<el-table-column label="操作" width="150" fixed="right">
<el-table-column label="操作" width="170" fixed="right">
<template #default="{ row }">
<router-link :to="{
path: row.path,

View File

@ -42,7 +42,7 @@
<el-table-column label="发文人" prop="send_user" show-overflow-tooltip />
<el-table-column label="签收人" prop="accept_user" show-overflow-tooltip />
<el-table-column label="备注" prop="remark" show-overflow-tooltip />
<el-table-column label="操作" align="center" width="150" fixed="right">
<el-table-column label="操作" align="center" width="170" fixed="right">
<template #default="{ row }">
<el-button v-perms="['manage_communication.manage_send_doc/edit']" type="primary" link
@click="handleEdit(row)">

View File

@ -43,7 +43,7 @@
删除
</el-button>
<div class="mt-4">
<el-table :data="pager.lists" @selection-change="handleSelectionChange">
<el-table :data="pager.lists" @selection-change="handleSelectionChange" border>
<el-table-column type="selection" width="55" />
<el-table-column label="合同名称" prop="contract_name" show-overflow-tooltip />
<el-table-column label="回访编号" prop="code" show-overflow-tooltip />

View File

@ -30,7 +30,7 @@
删除
</el-button>
<div class="mt-4">
<el-table :data="pager.lists" @selection-change="handleSelectionChange">
<el-table :data="pager.lists" @selection-change="handleSelectionChange" border>
<el-table-column type="selection" width="55" />
<el-table-column label="客户回访编号" prop="custom_return_visit_code" show-overflow-tooltip />
<el-table-column label="姓名" prop="name" show-overflow-tooltip />

View File

@ -32,7 +32,7 @@
删除
</el-button>
<div class="mt-4">
<el-table :data="pager.lists" @selection-change="handleSelectionChange">
<el-table :data="pager.lists" @selection-change="handleSelectionChange" border>
<el-table-column type="selection" width="55" />
<el-table-column label="模板名称" prop="name" show-overflow-tooltip />
<el-table-column label="是否启用" prop="is_use_text" show-overflow-tooltip />

View File

@ -9,73 +9,52 @@
label-class-name="my-label">{{ formData.supplier_code }}</el-descriptions-item>
<el-descriptions-item label="供应商名称" label-align="left" align="left"
label-class-name="my-label">{{ formData.supplier_name }}</el-descriptions-item>
<el-descriptions-item label="项目名称" label-align="left" align="left"
label-class-name="my-label">
<el-descriptions-item label="项目名称" label-align="left" align="left" label-class-name="my-label">
{{ formData.project_name }}</el-descriptions-item>
<el-descriptions-item label="项目编码" label-align="left" align="left"
label-class-name="my-label">
<el-descriptions-item label="项目编码" label-align="left" align="left" label-class-name="my-label">
{{ formData.project_code }}</el-descriptions-item>
<el-descriptions-item label="合同名称" label-align="left" align="left"
label-class-name="my-label">{{ formData.contract_name }}</el-descriptions-item>
<el-descriptions-item label="合同编号" label-align="left" align="left"
label-class-name="my-label">{{ formData.contract_no }}</el-descriptions-item>
<el-descriptions-item label="合同类型" label-align="left" align="left"
label-class-name="my-label">
<el-descriptions-item label="合同类型" label-align="left" align="left" label-class-name="my-label">
{{ formData.contract_type_text }}
</el-descriptions-item>
<el-descriptions-item label="签订日期" label-align="left" align="left"
label-class-name="my-label">
<el-descriptions-item label="签订日期" label-align="left" align="left" label-class-name="my-label">
{{ formData.signing_date }}
</el-descriptions-item>
<el-descriptions-item label="付款方式" label-align="left" align="left"
label-class-name="my-label">
<el-descriptions-item label="付款方式" label-align="left" align="left" label-class-name="my-label">
{{ formData.pay_type_text }}
</el-descriptions-item>
<el-descriptions-item label="账期" label-align="left" align="left"
label-class-name="my-label">
<el-descriptions-item label="账期" label-align="left" align="left" label-class-name="my-label">
{{ formData.account_period_text }}
</el-descriptions-item>
<el-descriptions-item label="合同金额" label-align="left" align="left"
label-class-name="my-label">
<el-descriptions-item label="合同金额" label-align="left" align="left" label-class-name="my-label">
{{ formData.contract_amount }}
</el-descriptions-item>
<el-descriptions-item label="税率" label-align="left" align="left"
label-class-name="my-label">
<el-descriptions-item label="税率" label-align="left" align="left" label-class-name="my-label">
{{ formData.contract_type_text }}
</el-descriptions-item>
<el-descriptions-item label="不含税金额" label-align="left" align="left"
label-class-name="my-label">
<el-descriptions-item label="不含税金额" label-align="left" align="left" label-class-name="my-label">
{{ formData.amount_excluding_tax }}
</el-descriptions-item>
<el-descriptions-item label="质保金比例()" label-align="left" align="left"
label-class-name="my-label">
{{ formData.retention_money_rate }}
</el-descriptions-item>
<el-descriptions-item label="质保金" label-align="left" align="left"
label-class-name="my-label">
<el-descriptions-item label="质保金" label-align="left" align="left" label-class-name="my-label">
{{ formData.retention_money }}
</el-descriptions-item>
<el-descriptions-item label="备注" label-align="left" align="left"
label-class-name="my-label">
<el-descriptions-item label="备注" label-align="left" align="left" label-class-name="my-label">
{{ formData.remark }}
</el-descriptions-item>
<el-descriptions-item label="合同附件" label-align="left" align="left"
label-class-name="my-label">
<div v-if="formDataannex.length > 0">
<div v-for="(item, index) in formDataannex"
style="margin-left: 5px;display: block;">
<el-link style="margin-left: 10px; color: #4a5dff; align-self: flex-start"
:href="item.uri" target="_blank">文件{{ index + 1 }}查看</el-link>
<el-descriptions-item label="合同附件" label-align="left" align="left" label-class-name="my-label">
<annexLink :annex="formData.annex"></annexLink>
</div>
</div>
<div v-else>
暂无附件
</div>
</el-descriptions-item>
</el-descriptions>
</el-tab-pane>
@ -101,8 +80,7 @@
<div style="margin: 10px 0;">
<el-pagination v-model:current-page="pager1.page_no" v-model:page-size="pager1.page_size"
:page-sizes="[10, 20, 30, 40]" layout="total, sizes, prev, pager, next, jumper"
:total="total" @size-change="handleSizeChange1"
@current-change="handleCurrentChange1" />
:total="total" @size-change="handleSizeChange1" @current-change="handleCurrentChange1" />
</div>
</el-tab-pane>
<el-tab-pane label="收票记录" name="demo-tabs-3">
@ -122,8 +100,7 @@
<div style="margin: 10px 0;">
<el-pagination v-model:current-page="pager2.page_no" v-model:page-size="pager2.page_size"
:page-sizes="[10, 20, 30, 40]" layout="total, sizes, prev, pager, next, jumper"
:total="total1" @size-change="handleSizeChange2"
@current-change="handleCurrentChange2" />
:total="total1" @size-change="handleSizeChange2" @current-change="handleCurrentChange2" />
</div>
</el-tab-pane>
<el-tab-pane label="付款计划" name="demo-tabs-4">
@ -142,8 +119,7 @@
<div style="margin: 10px 0;">
<el-pagination v-model:current-page="pager3.page_no" v-model:page-size="pager3.page_size"
:page-sizes="[10, 20, 30, 40]" layout="total, sizes, prev, pager, next, jumper"
:total="total2" @size-change="handleSizeChange3"
@current-change="handleCurrentChange3" />
:total="total2" @size-change="handleSizeChange3" @current-change="handleCurrentChange3" />
</div>
</el-tab-pane>
<el-tab-pane label="付款记录" name="demo-tabs-5">
@ -165,8 +141,7 @@
<div style="margin: 10px 0;">
<el-pagination v-model:current-page="pager4.page_no" v-model:page-size="pager4.page_size"
:page-sizes="[10, 20, 30, 40]" layout="total, sizes, prev, pager, next, jumper"
:total="total3" @size-change="handleSizeChange4"
@current-change="handleCurrentChange4" />
:total="total3" @size-change="handleSizeChange4" @current-change="handleCurrentChange4" />
</div>
</el-tab-pane>
<el-tab-pane label="退款记录" name="demo-tabs-6">
@ -183,8 +158,7 @@
<div style="margin: 10px 0;">
<el-pagination v-model:current-page="pager5.page_no" v-model:page-size="pager5.page_size"
:page-sizes="[10, 20, 30, 40]" layout="total, sizes, prev, pager, next, jumper"
:total="total4" @size-change="handleSizeChange5"
@current-change="handleCurrentChange5" />
:total="total4" @size-change="handleSizeChange5" @current-change="handleCurrentChange5" />
</div>
</el-tab-pane>
</el-tabs>

View File

@ -41,7 +41,7 @@
<el-table-column label="费用预算花费比例()" prop="cost_budget_expenditure_ratio" show-overflow-tooltip />
<el-table-column label="分包预算花费比例()" prop="subcontract_budget_expenditure_ratio"
show-overflow-tooltip />
<el-table-column label="操作" width="150" fixed="right">
<el-table-column label="操作" width="170" fixed="right">
<template #default="{ row }">
<el-button v-perms="['project.project/edit']" type="primary" link @click="handleEdit(row)">

View File

@ -63,7 +63,7 @@
</template>
</el-table-column>
<el-table-column label="操作" width="150" fixed="right">
<el-table-column label="操作" width="170" fixed="right">
<template #default="{ row }">
<el-button v-perms="['project.project/edit']" type="primary" link @click="handleEdit(row)">

View File

@ -62,7 +62,7 @@
</template>
</el-table-column>
<el-table-column label="操作" width="150" fixed="right">
<el-table-column label="操作" width="170" fixed="right">
<template #default="{ row }">
<el-button v-perms="['project.project/edit']" type="primary" link @click="handleEdit(row)">
编辑

View File

@ -38,7 +38,7 @@
<el-table-column label="文档编号" prop="code" show-overflow-tooltip />
<el-table-column label="文档名称" prop="name" show-overflow-tooltip />
<el-table-column label="版本号" prop="version" show-overflow-tooltip />
<el-table-column label="操作" width="150" fixed="right">
<el-table-column label="操作" width="170" fixed="right">
<template #default="{ row }">
<el-button v-perms="['project.project_document/edit']" type="primary" link
@click="handleEdit(row)">

View File

@ -57,7 +57,7 @@
</el-table-column>
<el-table-column label="排序号" prop="sort" show-overflow-tooltip />
<el-table-column label="操作" width="150" fixed="right">
<el-table-column label="操作" width="170" fixed="right">
<template #default="{ row }">
<el-button v-perms="['project.project/edit']" type="primary" link @click="handleEdit(row)">

View File

@ -3,11 +3,11 @@
<popup ref="popupRef" title="项目概算详情" :async="true" width="80%" @confirm="handleSubmit" @close="handleClose">
<el-descriptions :column="2" border>
<el-descriptions-item label="客户名称" label-align="left" align="left" label-class-name="my-label">{{
formData.custom_name }}</el-descriptions-item>
formData.custom_name }}</el-descriptions-item>
<el-descriptions-item label="项目名称" label-align="left" align="left" label-class-name="my-label"> {{
formData.project_name }}</el-descriptions-item>
formData.project_name }}</el-descriptions-item>
<el-descriptions-item label="项目编码" label-align="left" align="left" label-class-name="my-label"> {{
formData.project_code }}</el-descriptions-item>
formData.project_code }}</el-descriptions-item>
<el-descriptions-item label="概算来源" label-align="left" align="left" label-class-name="my-label">
{{ formData.estimate_source_text
}}
@ -16,71 +16,57 @@
{{ formData.customer_demand_name }}
</el-descriptions-item>
<el-descriptions-item label="联系人" label-align="left" align="left" label-class-name="my-label"> {{
formData.contact_name
}}</el-descriptions-item>
formData.contact_name
}}</el-descriptions-item>
<el-descriptions-item label="联系电话" label-align="left" align="left" label-class-name="my-label"> {{
formData.contact_phone
formData.contact_phone
}}</el-descriptions-item>
}}</el-descriptions-item>
<el-descriptions-item label="制单人" label-align="left" align="left" label-class-name="my-label"> {{
formData.create_user
formData.create_user
}}</el-descriptions-item>
}}</el-descriptions-item>
<el-descriptions-item label="报价日期" label-align="left" align="left" label-class-name="my-label"> {{
formData.quotation_date
formData.quotation_date
}}</el-descriptions-item>
}}</el-descriptions-item>
<el-descriptions-item label="发票类型" label-align="left" align="left" label-class-name="my-label"> {{
formData.invoice_type_text
formData.invoice_type_text
}}</el-descriptions-item>
}}</el-descriptions-item>
<el-descriptions-item label="概算金额(元)" label-align="left" align="left" label-class-name="my-label"> {{
formData.estimate_amount
formData.estimate_amount
}}</el-descriptions-item>
}}</el-descriptions-item>
<el-descriptions-item label="要求" label-align="left" align="left" label-class-name="my-label"> {{
formData.ask
formData.ask
}}</el-descriptions-item>
}}</el-descriptions-item>
<el-descriptions-item label="添加人" label-align="left" align="left" label-class-name="my-label"> {{
formData.add_user_name
formData.add_user_name
}}</el-descriptions-item>
}}</el-descriptions-item>
<el-descriptions-item label="创建日期" label-align="left" align="left" label-class-name="my-label"> {{
formData.create_time
}}</el-descriptions-item>
formData.create_time
}}</el-descriptions-item>
<el-descriptions-item label="更新人" label-align="left" align="left" label-class-name="my-label"> {{
formData.update_user_name
formData.update_user_name
}}</el-descriptions-item>
}}</el-descriptions-item>
<el-descriptions-item label="更新日期" label-align="left" align="left" label-class-name="my-label"> {{
formData.update_time
}}</el-descriptions-item>
formData.update_time
}}</el-descriptions-item>
<el-descriptions-item label="附件" label-align="left" align="left" label-class-name="my-label">
<div v-if="formData.annex.length > 0">
<div v-for="(item, index) in formData.annex" style="margin-left: 5px;display: block;">
<el-link style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item"
target="_blank">文件{{ index + 1 }}查看</el-link>
</div>
</div>
<div v-else>
暂无附件
</div>
<annexLink :annex="formData.annex"></annexLink>
</el-descriptions-item>
</el-descriptions>
</popup>

View File

@ -70,16 +70,7 @@
</el-col>
<el-col :span="24">
<el-form-item label="合同附件">
<div v-if="formDataannex.length > 0">
<div v-for="(item, index) in formDataannex"
style="margin-left: 5px;display: block;">
<a style="margin-left: 10px; color: #4a5dff; align-self: flex-start"
:href="item.uri" target="_blank">{{ item.name }}</a>
<span style="cursor: pointer;margin-left: 5px;"
@click="delFileFn(index)">x</span>
</div>
</div>
<div v-else>暂无附件</div>
<annexLink :annex="formData.annex"></annexLink>
</el-form-item>
</el-col>
@ -106,7 +97,6 @@ defineProps({
const emit = defineEmits(['success', 'close'])
const formRef = shallowRef<FormInstance>()
const popupRef = shallowRef<InstanceType<typeof Popup>>()
const formDataannex = reactive([])
const datas = reactive({
@ -126,20 +116,6 @@ const formData = reactive({
//
const setFormData = async (data: Record<any, any>) => {
Object.assign(formData, data)
if (data.annex && data.annex.length > 0) {
const arry1 = data.annex.map((item: any, index: any) => {
return {
name: `文件${index + 1}`,
uri: item
};
});
Object.assign(formDataannex, arry1)
}
}
const getDetail = async (row: Record<string, any>) => {

View File

@ -27,8 +27,7 @@
<el-col :span="12">
<el-form-item label="合同状态">
<dict-value :options="dictData.labor_contract_status"
:value="formData.contract_status" />
<dict-value :options="dictData.labor_contract_status" :value="formData.contract_status" />
</el-form-item>
</el-col>
<el-col :span="12">
@ -80,16 +79,7 @@
</el-col>
<el-col :span="24">
<el-form-item label="合同附件">
<div v-if="formDataannex.length > 0">
<div v-for="(item, index) in formDataannex"
style="margin-left: 5px;display: block;">
<a style="margin-left: 10px; color: #4a5dff; align-self: flex-start"
:href="item.uri" target="_blank">{{ item.name }}</a>
<span style="cursor: pointer;margin-left: 5px;"
@click="delFileFn(index)">x</span>
</div>
</div>
<div v-else>暂无附件</div>
<annexLink :annex="formData.annex"></annexLink>
</el-form-item>
</el-col>
@ -136,20 +126,6 @@ const formData = reactive({
//
const setFormData = async (data: Record<any, any>) => {
Object.assign(formData, data)
if (data.annex && data.annex.length > 0) {
const arry1 = data.annex.map((item: any, index: any) => {
return {
name: `文件${index + 1}`,
uri: item
};
});
Object.assign(formDataannex, arry1)
}
}
const getDetail = async (row: Record<string, any>) => {

View File

@ -132,8 +132,7 @@ import Popup from '@/components/popup/index.vue'
import projectDialog from '@/components/project/index.vue'
import { projectlaborcontractAdd, projectlaborcontractEdit, projectlaborcontractDetail } from '@/api/project_labor_contract'
import customDialog from '@/components/project_personnel/index.vue'
import { timeFormat } from '@/utils/util'
import type { PropType } from 'vue'
let props = defineProps({
project: Object
@ -142,7 +141,6 @@ const emit = defineEmits(['success', 'close'])
const formRef = shallowRef<FormInstance>()
const popupRef = shallowRef<InstanceType<typeof Popup>>()
const mode = ref('add')
const showDialog = ref(false)
const showDialog1 = ref(false)
const project_name = ref('')
@ -150,11 +148,6 @@ const project_code = ref('')
const person_name = ref('')
const idcard = ref('')
import configs from "@/config"
import useUserStore from "@/stores/modules/user";
const base_url = configs.baseUrl + configs.urlPrefix
const userStore = useUserStore();
const formDataannex = reactive([])
import { useDictData } from '@/hooks/useDictOptions'
const { dictData } = useDictData('labor_contract_status,labor_contract_type,labor_contract_name')
//

View File

@ -40,7 +40,7 @@
<script setup>
import { ref, defineProps, defineAsyncComponent } from "vue"
import { ref, defineProps, defineAsyncComponent, nextTick } from "vue"
import { usePaging } from '@/hooks/usePaging'
import feedback from '@/utils/feedback'
@ -53,6 +53,7 @@ const props = defineProps({
const EditPopup = defineAsyncComponent(() => import(`../../${props.editPath}/edit.vue`));
// edit
const editRef = ref(null)
const showEdit = ref(false)
@ -60,17 +61,16 @@ const showEdit = ref(false)
//
const handleAdd = async () => {
showEdit.value = true
// FIXME:
setTimeout(() => {
editRef.value?.open('add')
}, 700);
await nextTick()
if (editRef.value) editRef.value?.open('add')
}
//
const handleEdit = async (data) => {
let res = await props.baseData.editApi({ id: data.id })
showEdit.value = true
// FIXME:
// FIXME:
setTimeout(() => {
editRef.value?.open('edit')
editRef.value?.setFormData(res)
@ -79,6 +79,13 @@ const handleEdit = async (data) => {
}
watchEffect(() => {
if (editRef.value) {
editRef.value?.open('add')
}
});
//
const handleDelete = async (id) => {
await feedback.confirm('确定要删除?')

View File

@ -130,26 +130,15 @@
</template>
<script lang="ts" setup name="projectEdit">
import customDialog from '@/components/custom-dialog/index.vue'
import type { FormInstance } from 'element-plus'
import Popup from '@/components/popup/index.vue'
import salescontractDialog from '@/components/contract/index.vue'
import projectDialog from '@/components/project/index.vue'
import { appointmentAdd, appointmentEdit, appointmentDetail } from '@/api/appointment'
import { toChinesNum } from "@/utils/util";
import { getAllProjectTypes } from '@/api/projecttype'
import { timeFormat } from '@/utils/util'
import { isEmail, isIdCard, isPhone } from '@/utils/validate'
import { deptAll } from '@/api/org/department'
import { getAll } from '@/api/org/organization'
import type { PropType } from 'vue'
import configs from "@/config"
import useUserStore from "@/stores/modules/user";
const protype = ref()
const base_url = configs.baseUrl + configs.urlPrefix
const userStore = useUserStore();
const active = ref(0)
const formDataannex = reactive([])
const contract_name = ref('')
const project_name = ref('')
@ -160,24 +149,6 @@ const manage_name = ref('')
const userInfo = userStore.userInfo
const personnel = ref<any>()
//
const checkPhone = (rule: any, value: any, callback: (arg0: Error) => any) => {
if (value && !/^1\d{10}$/.test(value)) {
callback(new Error('请输入正确的手机号码'));
} else {
callback()
}
}
const userEmail = (rule: any, value: string, callback: (arg0: Error | undefined) => void) => {
if (value && !mailReg.test(value)) {
callback(new Error('请输入正确的邮箱格式'))
} else {
callback()
}
};
defineProps({
dictData: {
@ -193,11 +164,7 @@ const amount_daxie = ref('')
const showDialog = ref(false)
const showDialog1 = ref(false)
const showDialog2 = ref(false)
const customEvent = (e: any) => {
formData.customer_id = e.id;
custom_name.value = e.name;
showDialog.value = false;
};
const customEvent1 = (e: any) => {
formData.contract_id = e.id;
contract_name.value = e.contract_name;
@ -228,12 +195,7 @@ const submituser = (e: any) => {
//
const amountinput = (e) => {
if (e && e > 0) {
formData.amount_daxie = toChinesNum(e)
}
}
//
const popupTitle = computed(() => {
return mode.value == 'edit' ? '编辑项目经理委任表' : '新增项目经理委任表'
@ -315,14 +277,6 @@ const handleClose = () => {
emit('close')
}
//
const list = () => {
getAllProjectTypes().then((res) => {
protype.value = res
})
}
list()

View File

@ -45,7 +45,7 @@
<el-table-column label="立项日期" prop="project_approval_date" show-overflow-tooltip />
<el-table-column label="项目开始日期" prop="start_date" show-overflow-tooltip />
<el-table-column label="项目交付日期" prop="delivery_date" show-overflow-tooltip />
<el-table-column label="操作" width="150" fixed="right">
<el-table-column label="操作" width="170" fixed="right">
<template #default="{ row }">
<el-button v-perms="['project.project_manager_appointment/edit']" type="primary" link

View File

@ -39,7 +39,7 @@
<el-table-column label="人员" prop="admin_name" show-overflow-tooltip />
<el-table-column label="工时单价" prop="working_unit_price" show-overflow-tooltip />
<el-table-column label="备注" prop="remark" show-overflow-tooltip />
<el-table-column label="操作" width="150" fixed="right">
<el-table-column label="操作" width="170" fixed="right">
<template #default="{ row }">
<el-button v-perms="['project.project/edit']" type="primary" link @click="handleEdit(row)">
编辑

View File

@ -40,7 +40,7 @@
<el-table-column label="里程碑" prop="project_milestones_text" show-overflow-tooltip />
<el-table-column label="日期" prop="project_milestones_date" show-overflow-tooltip />
<el-table-column label="添加人" prop="add_user_name" show-overflow-tooltip />
<el-table-column label="操作" width="150" fixed="right">
<el-table-column label="操作" width="170" fixed="right">
<template #default="{ row }">
<el-button v-perms="['project.project_milestones/edit']" type="primary" link

View File

@ -42,7 +42,7 @@
<el-table-column label="银行卡号" prop="bank_no" show-overflow-tooltip />
<el-table-column label="开户银行" prop="deposit_bank" show-overflow-tooltip />
<el-table-column label="备注" prop="remark" show-overflow-tooltip />
<el-table-column label="操作" width="150" fixed="right">
<el-table-column label="操作" width="170" fixed="right">
<template #default="{ row }">
<el-button v-perms="['project.project_document/edit']" type="primary" link

View File

@ -68,7 +68,7 @@
<el-table-column label="备注" prop="sort" show-overflow-tooltip />
<el-table-column label="排序号" prop="sort" show-overflow-tooltip />
<el-table-column label="关键里程碑" prop="sort" show-overflow-tooltip />
<el-table-column label="操作" width="150" fixed="right">
<el-table-column label="操作" width="170" fixed="right">
<template #default="{ row }">
<el-button v-perms="['project.project_plan/edit']" type="primary" link @click="handleEdit(row)">

View File

@ -64,16 +64,8 @@
</el-col>
<el-col :span="12">
<el-form-item label="合同附件">
<div v-if="formDataannex.length > 0">
<div v-for="(item, index) in formDataannex"
style="margin-left: 5px;display: block;">
<a style="margin-left: 10px; color: #4a5dff; align-self: flex-start"
:href="item.uri" target="_blank">{{ item.name }}</a>
<span style="cursor: pointer;margin-left: 5px;"
@click="delFileFn(index)">x</span>
</div>
</div>
<div v-else>暂无附件</div>
<annexLink :annex="formData.annex"></annexLink>
</el-form-item>
</el-col>
@ -83,15 +75,6 @@
:submitApi="apiproject_settlementApprove" :id="formData?.id" @off="handleClose">
</flowProcess>
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" />
<!-- import { apiproject_settlementApprove, apiproject_settlementFlows } from '@/api/flowSet'
//
const flows = ref([])
const getbidDocumentExaminationFlows = async () => {
if (formData?.approve_id) return
let res = await apiproject_settlementFlows()
flows.value = res
} -->
</el-form>
</popup>
</div>
@ -133,15 +116,6 @@ const formData = reactive({
//
const setFormData = async (data: Record<any, any>) => {
Object.assign(formData, data)
if (data.annex && data.annex.length > 0) {
const arry1 = data.annex.map((item: any, index: any) => {
return {
name: `文件${index + 1}`,
uri: item
};
});
Object.assign(formDataannex, arry1)
}
getbidDocumentExaminationFlows()
}

View File

@ -63,7 +63,7 @@
</template>
</el-table-column>
<el-table-column label="备注" prop="remark" show-overflow-tooltip />
<el-table-column label="操作" width="150" fixed="right">
<el-table-column label="操作" width="170" fixed="right">
<template #default="{ row }">
<el-button v-perms="['project.project/edit']" type="primary" link @click="handleEdit(row)">
编辑

View File

@ -42,7 +42,7 @@
<el-table-column label="负责角色" prop="project_role_name" show-overflow-tooltip />
<el-table-column label="层级" prop="sort" show-overflow-tooltip />
<el-table-column label="本级权重" prop="weight" show-overflow-tooltip />
<el-table-column label="操作" width="150" fixed="right">
<el-table-column label="操作" width="170" fixed="right">
<template #default="{ row }">
<el-button v-perms="['project.project/edit']" type="primary" link @click="handleEdit(row)">

View File

@ -42,7 +42,7 @@
<!-- <el-table-column label="规范附件" prop="file" show-overflow-tooltip /> -->
<el-table-column label="操作" width="150" fixed="right">
<el-table-column label="操作" width="170" fixed="right">
<template #default="{ row }">
<el-button v-perms="['quality.quality_check_nature/edit']" type="primary" link

View File

@ -32,7 +32,7 @@
<el-table-column label="部门名称" prop="dept_name" show-overflow-tooltip />
<el-table-column label="分类名" prop="classify_name" show-overflow-tooltip />
<el-table-column label="备注" prop="remark" show-overflow-tooltip />
<el-table-column label="操作" width="150" fixed="right">
<el-table-column label="操作" width="170" fixed="right">
<template #default="{ row }">
<el-button v-perms="['quality.quality_professional_category/edit']" type="primary" link

View File

@ -50,7 +50,7 @@
<el-table-column label="运费" prop="freight" show-overflow-tooltip />
<el-table-column label="其他费用" prop="other_fee" show-overflow-tooltip />
<el-table-column label="合计金额" prop="total_amount" show-overflow-tooltip />
<el-table-column label="操作" width="150" align="center" fixed="right">
<el-table-column label="操作" width="170" align="center" fixed="right">
<template #default="{ row }">
<el-button v-perms="['quotation.quotation/edit']" type="primary" link @click="handleEdit(row)">
编辑

View File

@ -46,21 +46,9 @@
{{ formData.remark }}
</el-descriptions-item>
<el-descriptions-item label="合同附件" label-align="left" align="left" label-class-name="my-label">
<div v-if="formData.annex.length > 0">
<div v-for="(item, index) in formData.annex" style="margin-left: 5px;display: block;">
<el-link style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item"
target="_blank">文件{{ index + 1 }}查看</el-link>
</div>
</div>
<div v-else>
暂无附件
</div>
<annexLink :annex="formData.annex"></annexLink>
</el-descriptions-item>
</el-descriptions>
<el-descriptions title="付款银行信息" :column="3" style="margin: 20px 0;" border>
<el-descriptions-item label="账户编码" label-align="left" align="left" label-class-name="my-label"> {{
formData.bank_account_info.account_sn }}</el-descriptions-item>
@ -74,14 +62,6 @@
:submitApi="apifinance_returned_recordApprove" :id="formData?.id" @off="handleClose">
</flowProcess>
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" />
<!-- import { apiInvoicingRequestsApprove, apiInvoicingRequestsFlows } from '@/api/flowSet.ts'
//
const flows = ref([])
const getbidDocumentExaminationFlows = async () => {
if (formData?.approve_id) return
let res = await apifinance_returned_recordFlows()
flows.value = res
} -->
</popup>
</div>
</template>
@ -99,14 +79,8 @@ defineProps({
}
})
const emit = defineEmits(['success', 'close'])
const formRef = shallowRef<FormInstance>()
const popupRef = shallowRef<InstanceType<typeof Popup>>()
const formDataannex = reactive([])
const datas = reactive({
provinceOptions: [],
cityOptions: [],
areaOptions: [],
});
//
@ -118,17 +92,6 @@ const formData = reactive({
//
const setFormData = async (data: Record<any, any>) => {
Object.assign(formData, data)
if (data.annex && data.annex.length > 0) {
const arry1 = data.annex.map((item: any, index: any) => {
return {
name: `文件${index + 1}`,
uri: item
};
});
Object.assign(formDataannex, arry1)
}
getbidDocumentExaminationFlows()
}
@ -166,9 +129,6 @@ const getbidDocumentExaminationFlows = async () => {
defineExpose({
open,
setFormData,

View File

@ -159,7 +159,6 @@
</template>
<script lang="ts" setup name="projectEdit">
import customDialog from '@/components/custom-dialog/index.vue'
import type { FormInstance } from 'element-plus'
import Popup from '@/components/popup/index.vue'
import contractDialog from '@/components/contract/index.vue'
@ -168,18 +167,12 @@ import pendingDialog from '@/components/pending_paymentplan/index.vue'
import { apireturnedrecordAdd, apireturnedrecordEdit, apireturnedrecordDetail } from '@/api/recordsPayment'
import { toChinesNum } from "@/utils/util";
import { getAllProjectTypes } from '@/api/projecttype'
import { timeFormat } from '@/utils/util'
import { isEmail, isIdCard, isPhone } from '@/utils/validate'
import type { PropType } from 'vue'
import configs from "@/config"
import useUserStore from "@/stores/modules/user";
import { useDictData } from '@/hooks/useDictOptions'
const { dictData } = useDictData('isaccrued,pay_type,invoice_status,pay_period,collection_type')
const protype = reactive([])
const base_url = configs.baseUrl + configs.urlPrefix
const userStore = useUserStore();
const return_total_amount = ref('')
const formDataannex = reactive([])
const contract_name = ref('')
const project_name = ref('')
const project_code = ref('')
@ -204,7 +197,6 @@ const formRef = shallowRef<FormInstance>()
const popupRef = shallowRef<InstanceType<typeof Popup>>()
const mode = ref('add')
const amount_daxie = ref('')
const showDialog = ref(false)
const showDialog1 = ref(false)
const showDialog2 = ref(false)
const showDialog3 = ref(false)

View File

@ -44,7 +44,7 @@
<el-table-column label="付款方式" prop="pay_type" show-overflow-tooltip />
<el-table-column label="收款性质" prop="collection_type" show-overflow-tooltip />
<el-table-column label="收款人" prop="receiver" show-overflow-tooltip />
<el-table-column label="操作" width="150" fixed="right" align="center">
<el-table-column label="操作" width="170" fixed="right" align="center">
<template #default="{ row }">
<el-button v-perms="['recordsPayment.recordsPayment/edit']" type="primary" link

View File

@ -61,7 +61,7 @@
<el-table-column label="备注" prop="remark" show-overflow-tooltip />
<el-table-column label="操作" width="150" fixed="right">
<el-table-column label="操作" width="170" fixed="right">
<template #default="{ row }">
<el-button v-perms="['refund.refund/edit']" type="primary" link @click="handleEdit(row)">
编辑

View File

@ -5,16 +5,16 @@
<el-descriptions title="基本信息" :column="2" border>
<el-descriptions-item label="项目名称" label-align="left" align="left" label-class-name="my-label"> {{
formData.project_name }}</el-descriptions-item>
formData.project_name }}</el-descriptions-item>
<el-descriptions-item label="项目编码" label-align="left" align="left" label-class-name="my-label"> {{
formData.project_code }}</el-descriptions-item>
formData.project_code }}</el-descriptions-item>
<el-descriptions-item label="合同名称" label-align="left" align="left" label-class-name="my-label">{{
formData.contract_name }}</el-descriptions-item>
formData.contract_name }}</el-descriptions-item>
<el-descriptions-item label="合同编号" label-align="left" align="left" label-class-name="my-label">{{
formData.contract_code }}</el-descriptions-item>
formData.contract_code }}</el-descriptions-item>
<el-descriptions-item label="客户名称" label-align="left" align="left" label-class-name="my-label">{{
formData.custom_name }}</el-descriptions-item>
formData.custom_name }}</el-descriptions-item>
<el-descriptions-item label="退款原因" label-align="left" align="left" label-class-name="my-label">
{{ formData.reason }}
</el-descriptions-item>
@ -36,46 +36,29 @@
{{ formData.remark }}
</el-descriptions-item>
<el-descriptions-item label="合同附件" label-align="left" align="left" label-class-name="my-label">
<div v-if="formData.annex.length > 0">
<div v-for="(item, index) in formData.annex" style="margin-left: 5px;display: block;">
<el-link style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item"
target="_blank">文件{{ index + 1 }}查看</el-link>
</div>
</div>
<div v-else>
暂无附件
</div>
<annexLink :annex="formData.annex"></annexLink>
</el-descriptions-item>
</el-descriptions>
<el-descriptions title="付款账户信息" :column="3" style="margin: 20px 0;" border>
<el-descriptions-item label="账户编码" label-align="left" align="left" label-class-name="my-label"> {{
formData.bank_account_info.account_sn }}</el-descriptions-item>
formData.bank_account_info.account_sn }}</el-descriptions-item>
<el-descriptions-item label="开户银行" label-align="left" align="left" label-class-name="my-label"> {{
formData.bank_account_info.deposit_bank }}</el-descriptions-item>
formData.bank_account_info.deposit_bank }}</el-descriptions-item>
<el-descriptions-item label="账号" label-align="left" align="left" label-class-name="my-label">{{
formData.bank_account_info.account }}</el-descriptions-item>
formData.bank_account_info.account }}</el-descriptions-item>
</el-descriptions>
<el-descriptions title="收款账户信息" :column="3" style="margin: 20px 0;" border>
<el-descriptions-item label="开户银行" label-align="left" align="left" label-class-name="my-label"> {{
formData.collection_bank }}</el-descriptions-item>
formData.collection_bank }}</el-descriptions-item>
<el-descriptions-item label="账号" label-align="left" align="left" label-class-name="my-label">{{
formData.collection_account }}</el-descriptions-item>
formData.collection_account }}</el-descriptions-item>
</el-descriptions>
<flowProcess v-if="!formData?.approve_id || formData.approve_check_status == 4" :flows="flows"
:submitApi="apifinance_refund_applyApprove" :id="formData?.id" @off="handleClose">
</flowProcess>
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" />
<!-- import { apiInvoicingRequestsApprove, apiInvoicingRequestsFlows } from '@/api/flowSet.ts'
//
const flows = ref([])
const getbidDocumentExaminationFlows = async () => {
if (formData?.approve_id) return
let res = await apifinance_refund_applydFlows()
flows.value = res
} -->
</el-form>
</popup>
</div>

View File

@ -153,23 +153,15 @@ import bankaccountDialog from '@/components/bankaccount/index.vue'
import type { FormInstance } from 'element-plus'
import Popup from '@/components/popup/index.vue'
import contractDialog from '@/components/contract/index.vue'
import { apirefundapplyAdd, apirefundapplyEdit, apirefundapplyDetail } from '@/api/refund'
import { toChinesNum } from "@/utils/util";
import { getAllProjectTypes } from '@/api/projecttype'
import { timeFormat } from '@/utils/util'
import { isEmail, isIdCard, isPhone } from '@/utils/validate'
import type { PropType } from 'vue'
import configs from "@/config"
import useUserStore from "@/stores/modules/user";
import { useDictData } from '@/hooks/useDictOptions'
const { dictData } = useDictData('refund_type')
const protype = reactive([])
const base_url = configs.baseUrl + configs.urlPrefix
const userStore = useUserStore();
const active = ref(0)
const formDataannex = reactive([])
const contract_name = ref('')
const project_name = ref('')
const project_code = ref('')
@ -178,24 +170,7 @@ const contract_no = ref('')
const custom_name = ref('')
const bank_account_no = ref('')
const userInfo = userStore.userInfo
//
const handleAvatarSuccess_four = (
response,
uploadFile
) => {
if (response.code == 0) {
ElMessage.error(response.msg);
return;
}
formDataannex.push(
{ uri: response.data.uri, name: response.data.name }
);
};
//
const delFileFn = (index: number) => {
formDataannex.splice(index, 1)
}
let props = defineProps({
project: Object
})

View File

@ -45,7 +45,7 @@
<el-table-column label="退款金额" prop="amount" show-overflow-tooltip />
<el-table-column label="退款方式" prop="refund_type" show-overflow-tooltip />
<el-table-column label="退款人" prop="refund_user" show-overflow-tooltip />
<el-table-column label="操作" width="150" fixed="right" align="center">
<el-table-column label="操作" width="170" fixed="right" align="center">
<template #default="{ row }">
<el-button v-perms="['refund.refund/edit']" type="primary" link @click="handleEdit(row)">

View File

@ -11,38 +11,29 @@
</template>
<el-descriptions title="" :column="3" border>
<el-descriptions-item label="投标编号" label-align="left" align="left" label-class-name="my-label">{{
formData.bidding_decision_code }}</el-descriptions-item>
formData.bidding_decision_code }}</el-descriptions-item>
<el-descriptions-item label="客户名称" label-align="left" align="left" label-class-name="my-label">{{
formData.custom_name }}</el-descriptions-item>
formData.custom_name }}</el-descriptions-item>
<el-descriptions-item label="项目名称" label-align="left" align="left" label-class-name="my-label">{{
formData.project_name }}</el-descriptions-item>
formData.project_name }}</el-descriptions-item>
<el-descriptions-item label="项目编码" label-align="left" align="left" label-class-name="my-label">{{
formData.project_code }}</el-descriptions-item>
formData.project_code }}</el-descriptions-item>
<el-descriptions-item label="投标时间" label-align="left" align="left" label-class-name="my-label">{{
formData.bidding_time
}}</el-descriptions-item>
formData.bidding_time
}}</el-descriptions-item>
<el-descriptions-item label="退款金额" label-align="left" align="left" label-class-name="my-label">{{
formData.refund_amount }}</el-descriptions-item>
formData.refund_amount }}</el-descriptions-item>
<el-descriptions-item label="退款日期" label-align="left" align="left" label-class-name="my-label">{{
formData.refund_date }}</el-descriptions-item>
formData.refund_date }}</el-descriptions-item>
<el-descriptions-item label="备注" label-align="left" align="left" label-class-name="my-label">{{
formData.remark }}</el-descriptions-item>
formData.remark }}</el-descriptions-item>
<el-descriptions-item label="附件" label-align="left" align="left" label-class-name="my-label">
<div v-if="formData.annex.length > 0">
<div v-for="(item, index) in formData.annex" style="margin-left: 5px;display: block;">
<a style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item"
target="_blank">文件{{
index + 1 }}查看</a>
</div>
</div>
<div v-else> 暂无附件</div>
<annexLink :annex="formData.annex"></annexLink>
</el-descriptions-item>
</el-descriptions>
@ -57,13 +48,13 @@
</template>
<el-descriptions title="" border>
<el-descriptions-item label="账号编码" label-align="left" align="left" label-class-name="my-label">{{
formData.bank_account_info.account_sn }}</el-descriptions-item>
formData.bank_account_info.account_sn }}</el-descriptions-item>
<el-descriptions-item label="开户银行" label-align="left" align="left" label-class-name="my-label">{{
formData.bank_account_info.deposit_bank }}</el-descriptions-item>
formData.bank_account_info.deposit_bank }}</el-descriptions-item>
<el-descriptions-item label="开户名称" label-align="left" align="left" label-class-name="my-label">{{
formData.bank_account_info.account_name }}</el-descriptions-item>
formData.bank_account_info.account_name }}</el-descriptions-item>
<el-descriptions-item label="账号" label-align="left" align="left" label-class-name="my-label">{{
formData.bank_account_info.account }}</el-descriptions-item>
formData.bank_account_info.account }}</el-descriptions-item>
</el-descriptions>
</el-card>
<el-card>
@ -75,11 +66,11 @@
</template>
<el-descriptions title="" border>
<el-descriptions-item label="收款账号" label-align="left" align="left" label-class-name="my-label">{{
formData.account }}</el-descriptions-item>
formData.account }}</el-descriptions-item>
<el-descriptions-item label="开户银行" label-align="left" align="left" label-class-name="my-label">{{
formData.deposit_bank }}</el-descriptions-item>
formData.deposit_bank }}</el-descriptions-item>
<el-descriptions-item label="开户名称" label-align="left" align="left" label-class-name="my-label">{{
formData.account_name }}</el-descriptions-item>
formData.account_name }}</el-descriptions-item>
</el-descriptions>
</el-card>
<flowProcess v-if="!formData?.approve_id || formData.approve_check_status == 4" :flows="flows"
@ -113,14 +104,8 @@ defineProps({
}
})
const emit = defineEmits(['success', 'close'])
const formRef = shallowRef<FormInstance>()
const popupRef = shallowRef<InstanceType<typeof Popup>>()
const datas = reactive({
provinceOptions: [],
cityOptions: [],
areaOptions: [],
});
//

View File

@ -42,7 +42,7 @@
<el-table-column label="退款日期" prop="refund_date" show-overflow-tooltip />
<!-- <el-table-column label="申请人" prop="remark" show-overflow-tooltip /> -->
<el-table-column label="备注" prop="remark" show-overflow-tooltip />
<el-table-column label="操作" width="150" fixed="right">
<el-table-column label="操作" width="170" fixed="right">
<template #default="{ row }">
<el-button v-perms="['refund.refund/edit']" type="primary" link @click="handleEdit(row)">

View File

@ -47,16 +47,7 @@
{{ formData.remark }}
</el-descriptions-item>
<el-descriptions-item label="合同附件" label-align="left" align="left" label-class-name="my-label">
<div v-if="formData.annex.length > 0">
<div v-for="(item, index) in formData.annex" style="margin-left: 5px;display: block;">
<el-link style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item"
target="_blank">文件{{ index + 1 }}查看</el-link>
</div>
</div>
<div v-else>
暂无附件
</div>
<annexLink :annex="formData.annex"></annexLink>
</el-descriptions-item>
</el-descriptions>
</el-form>

View File

@ -87,29 +87,17 @@
</template>
<script lang="ts" setup name="projectEdit">
import customDialog from '@/components/custom-dialog/index.vue'
import type { FormInstance } from 'element-plus'
import Popup from '@/components/popup/index.vue'
import salescontractDialog from '@/components/salescontract/index.vue'
// 使 ???
import contractDialog from '@/components/contract/index.vue'
import personnelselector from '@/components/personnelselector/index.vue'
import { apireturnedAdd, apireturnedEdit, apireturnedDetail } from '@/api/remittance'
import { getAllProjectTypes } from '@/api/projecttype'
import { timeFormat } from '@/utils/util'
import { isEmail, isIdCard, isPhone } from '@/utils/validate'
import type { PropType } from 'vue'
import configs from "@/config"
import useUserStore from "@/stores/modules/user";
import { useDictData } from '@/hooks/useDictOptions'
const protype = reactive([])
const base_url = configs.baseUrl + configs.urlPrefix
const userStore = useUserStore();
const active = ref(0)
const formDataannex = reactive([])
const contract_name = ref('')
const personnel = ref<any>()
const project_amount = ref('')
const contract_no = ref('')
const custom_name = ref('')
const return_name = ref('')
@ -123,11 +111,7 @@ const mode = ref('add')
const showDialog = ref(false)
const showDialog1 = ref(false)
const customEvent = (e: any) => {
formData.custom_id = e.id;
custom_name.value = e.name;
showDialog.value = false;
};
const customEvent1 = (e: any) => {
formData.contract_id = e.id;
custom_name.value = e.custom_name;
@ -187,9 +171,6 @@ const getDetail = async (row: Record<string, any>) => {
//
const handleSubmit = async () => {
if (formDataannex.length > 0) {
formData.annex = formDataannex.map((item: any) => item.uri)
}
await formRef.value?.validate()
const data = { ...formData }
mode.value == 'edit'

View File

@ -74,7 +74,7 @@
<el-table-column label="已回款" prop="has_return_amount" show-overflow-tooltip />
<el-table-column label="未回款" prop="not_return_amount" show-overflow-tooltip />
<el-table-column label="回款责任人" prop="return_duty" show-overflow-tooltip />
<el-table-column label="操作" width="150" fixed="right">
<el-table-column label="操作" width="170" fixed="right">
<template #default="{ row }">
<el-button v-perms="['remittance.remittance/edit']" type="primary" link
@click="handleEdit(row)">

View File

@ -151,6 +151,12 @@ const formRules = reactive<any>({
const setFormData = async (data: Record<any, any>) => {
project_name.value = data.project_name
project_code.value = data.project_code
for (const key in formData) {
if (data[key] != null && data[key] != undefined) {
//@ts-ignore
formData[key] = data[key]
}
}
getlist1(formData.org_id)
}

View File

@ -22,8 +22,8 @@
<el-table-column label="项目编号" prop="project_code" show-overflow-tooltip />
<el-table-column label="签订日期" prop="signing_date" show-overflow-tooltip />
<el-table-column label="合同金额" prop="contract_amount" show-overflow-tooltip />
<el-table-column label="已付款金额" prop="has_payment_amount" show-overflow-tooltip width="150" />
<el-table-column label="已收票金额" prop="has_receipt_amount" show-overflow-tooltip width="150" />
<el-table-column label="已付款金额" prop="has_payment_amount" show-overflow-tooltip width="170" />
<el-table-column label="已收票金额" prop="has_receipt_amount" show-overflow-tooltip width="170" />
<el-table-column label="已收票未付款金额" prop="has_receipt_not_payment_amount" show-overflow-tooltip
width="140" />
<el-table-column label="已付款未收票金额" prop="has_payment_not_receipt_amount" show-overflow-tooltip

View File

@ -10,73 +10,51 @@
<el-descriptions-item label="供应商名称" label-align="left" align="left"
label-class-name="my-label">{{ formData.supplier_name }}</el-descriptions-item>
<el-descriptions-item label="项目名称" label-align="left" align="left"
label-class-name="my-label">
<el-descriptions-item label="项目名称" label-align="left" align="left" label-class-name="my-label">
{{ formData.project_name }}</el-descriptions-item>
<el-descriptions-item label="项目编码" label-align="left" align="left"
label-class-name="my-label">
<el-descriptions-item label="项目编码" label-align="left" align="left" label-class-name="my-label">
{{ formData.project_code }}</el-descriptions-item>
<el-descriptions-item label="合同名称" label-align="left" align="left"
label-class-name="my-label">{{ formData.contract_name }}</el-descriptions-item>
<el-descriptions-item label="合同编号" label-align="left" align="left"
label-class-name="my-label">{{ formData.contract_no }}</el-descriptions-item>
<el-descriptions-item label="合同类型" label-align="left" align="left"
label-class-name="my-label">
<el-descriptions-item label="合同类型" label-align="left" align="left" label-class-name="my-label">
{{ formData.contract_type_text }}
</el-descriptions-item>
<el-descriptions-item label="签订日期" label-align="left" align="left"
label-class-name="my-label">
<el-descriptions-item label="签订日期" label-align="left" align="left" label-class-name="my-label">
{{ formData.signing_date }}
</el-descriptions-item>
<el-descriptions-item label="付款方式" label-align="left" align="left"
label-class-name="my-label">
<el-descriptions-item label="付款方式" label-align="left" align="left" label-class-name="my-label">
{{ formData.pay_type_text }}
</el-descriptions-item>
<el-descriptions-item label="账期" label-align="left" align="left"
label-class-name="my-label">
<el-descriptions-item label="账期" label-align="left" align="left" label-class-name="my-label">
{{ formData.account_period_text }}
</el-descriptions-item>
<el-descriptions-item label="合同金额" label-align="left" align="left"
label-class-name="my-label">
<el-descriptions-item label="合同金额" label-align="left" align="left" label-class-name="my-label">
{{ formData.contract_amount }}
</el-descriptions-item>
<el-descriptions-item label="税率" label-align="left" align="left"
label-class-name="my-label">
<el-descriptions-item label="税率" label-align="left" align="left" label-class-name="my-label">
{{ formData.contract_type_text }}
</el-descriptions-item>
<el-descriptions-item label="不含税金额" label-align="left" align="left"
label-class-name="my-label">
<el-descriptions-item label="不含税金额" label-align="left" align="left" label-class-name="my-label">
{{ formData.amount_excluding_tax }}
</el-descriptions-item>
<el-descriptions-item label="质保金比例()" label-align="left" align="left"
label-class-name="my-label">
{{ formData.retention_money_rate }}
</el-descriptions-item>
<el-descriptions-item label="质保金" label-align="left" align="left"
label-class-name="my-label">
<el-descriptions-item label="质保金" label-align="left" align="left" label-class-name="my-label">
{{ formData.retention_money }}
</el-descriptions-item>
<el-descriptions-item label="备注" label-align="left" align="left"
label-class-name="my-label">
<el-descriptions-item label="备注" label-align="left" align="left" label-class-name="my-label">
{{ formData.remark }}
</el-descriptions-item>
<el-descriptions-item label="合同附件" label-align="left" align="left"
label-class-name="my-label">
<div v-if="formDataannex.length > 0">
<div v-for="(item, index) in formDataannex"
style="margin-left: 5px;display: block;">
<el-link style="margin-left: 10px; color: #4a5dff; align-self: flex-start"
:href="item.uri" target="_blank">文件{{ index + 1 }}查看</el-link>
</div>
</div>
<div v-else>
暂无附件
</div>
<el-descriptions-item label="合同附件" label-align="left" align="left" label-class-name="my-label">
<annexLink :annex="formData.annex"></annexLink>
</el-descriptions-item>
</el-descriptions>
</el-tab-pane>
@ -108,8 +86,7 @@
<div style="margin: 10px 0;">
<el-pagination v-model:current-page="pager1.page_no" v-model:page-size="pager1.page_size"
:page-sizes="[10, 20, 30, 40]" layout="total, sizes, prev, pager, next, jumper"
:total="total" @size-change="handleSizeChange1"
@current-change="handleCurrentChange1" />
:total="total" @size-change="handleSizeChange1" @current-change="handleCurrentChange1" />
</div>
</el-tab-pane>
<el-tab-pane label="收票记录" name="demo-tabs-3">
@ -129,8 +106,7 @@
<div style="margin: 10px 0;">
<el-pagination v-model:current-page="pager2.page_no" v-model:page-size="pager2.page_size"
:page-sizes="[10, 20, 30, 40]" layout="total, sizes, prev, pager, next, jumper"
:total="total1" @size-change="handleSizeChange2"
@current-change="handleCurrentChange2" />
:total="total1" @size-change="handleSizeChange2" @current-change="handleCurrentChange2" />
</div>
</el-tab-pane>
<el-tab-pane label="付款计划" name="demo-tabs-4">
@ -149,8 +125,7 @@
<div style="margin: 10px 0;">
<el-pagination v-model:current-page="pager3.page_no" v-model:page-size="pager3.page_size"
:page-sizes="[10, 20, 30, 40]" layout="total, sizes, prev, pager, next, jumper"
:total="total2" @size-change="handleSizeChange3"
@current-change="handleCurrentChange3" />
:total="total2" @size-change="handleSizeChange3" @current-change="handleCurrentChange3" />
</div>
</el-tab-pane>
<el-tab-pane label="付款记录" name="demo-tabs-5">
@ -172,8 +147,7 @@
<div style="margin: 10px 0;">
<el-pagination v-model:current-page="pager4.page_no" v-model:page-size="pager4.page_size"
:page-sizes="[10, 20, 30, 40]" layout="total, sizes, prev, pager, next, jumper"
:total="total3" @size-change="handleSizeChange4"
@current-change="handleCurrentChange4" />
:total="total3" @size-change="handleSizeChange4" @current-change="handleCurrentChange4" />
</div>
</el-tab-pane>
<el-tab-pane label="退款记录" name="demo-tabs-6">
@ -190,8 +164,7 @@
<div style="margin: 10px 0;">
<el-pagination v-model:current-page="pager5.page_no" v-model:page-size="pager5.page_size"
:page-sizes="[10, 20, 30, 40]" layout="total, sizes, prev, pager, next, jumper"
:total="total4" @size-change="handleSizeChange5"
@current-change="handleCurrentChange5" />
:total="total4" @size-change="handleSizeChange5" @current-change="handleCurrentChange5" />
</div>
</el-tab-pane>
</el-tabs>

View File

@ -69,17 +69,13 @@
</el-col>
<el-col :span="12">
<el-form-item label="签订保价表附件">
<el-link :href="item" target="_blank"
v-for="(item, index) in formData.negotiation_basis" :key="index" type="primary">
文件{{ index + 1 }}</el-link>
<annexLink :annex="formData.negotiation_basis"></annexLink>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="洽商依据附件">
<el-link :href="item" target="_blank" type="primary"
v-for="(item, index) in formData.negotiation_quotation" :key="index"> 文件{{ index +
1 }}</el-link>
<annexLink :annex="formData.negotiation_quotation"></annexLink>
</el-form-item>
</el-col>
</el-row>
@ -88,15 +84,6 @@
:submitApi="apisubcontracting_contract_negotiationApprove" :id="formData?.id" @off="handleClose">
</flowProcess>
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" />
<!-- import { apibid_bidding_decisionApprove, apibid_bidding_decisionFlows } from '@/api/flowSet.ts'
//
const flows = ref([])
const getbidDocumentExaminationFlows = async () => {
if (formData?.approve_id) return
let res = await apisubcontracting_contract_negotiationFlows()
flows.value = res
} -->
</el-form>
</popup>
</div>

View File

@ -51,7 +51,7 @@
<el-table-column label="洽商金额" prop="negotiation_amount" show-overflow-tooltip />
<el-table-column label="洽商类别" prop="negotiation_type_text" show-overflow-tooltip />
<el-table-column label="洽商质保金额" prop="warranty_amount" show-overflow-tooltip />
<el-table-column label="洽商质保到期时间" prop="warranty_expire_date" width="150" />
<el-table-column label="洽商质保到期时间" prop="warranty_expire_date" width="170" />
<el-table-column label="操作" width="160" fixed="right" align='center'>
<template #default="{ row }">
<el-button v-perms="['contract.subcontracting_contract_negotiation/edit']" type="primary" link

View File

@ -46,7 +46,7 @@
<el-table-column label="整改回复说明" prop="reply_content" show-overflow-tooltip />
<el-table-column label="复核意见" prop="review_opinions" show-overflow-tooltip />
<el-table-column label="附件" prop="annex" show-overflow-tooltip /> -->
<el-table-column label="操作" width="150" align="center" fixed="right">
<el-table-column label="操作" width="170" align="center" fixed="right">
<template #default="{ row }">
<el-button v-perms="['supervision_connect.supervision_company_check/edit']" type="primary" link

View File

@ -33,7 +33,7 @@
<el-table-column label="方案名称" prop="case_name" show-overflow-tooltip />
<el-table-column label="评审人员" prop="assessor" show-overflow-tooltip />
<el-table-column label="分部分项工程" prop="partial_project" show-overflow-tooltip />
<el-table-column label="操作" width="150" align="center" fixed="right">
<el-table-column label="操作" width="170" align="center" fixed="right">
<template #default="{ row }">
<el-button v-perms="['supervision_dangerous.supervision_dangerous_engineering_case/edit']"

View File

@ -38,7 +38,7 @@
<el-table-column label="告知人员" prop="notice_user" show-overflow-tooltip />
<el-table-column label="危大工程类型" prop="type" show-overflow-tooltip />
<el-table-column label="施工部位" prop="position" show-overflow-tooltip />
<el-table-column label="操作" width="150" align="center" fixed="right">
<el-table-column label="操作" width="170" align="center" fixed="right">
<template #default="{ row }">
<el-button

View File

@ -34,7 +34,7 @@
<el-table-column label="消除人" prop="eliminate_user" show-overflow-tooltip />
<el-table-column label="是否告知" prop="is_notice_text" show-overflow-tooltip />
<el-table-column label="施工部位" prop="position" show-overflow-tooltip />
<el-table-column label="操作" width="150" align="center" fixed="right">
<el-table-column label="操作" width="170" align="center" fixed="right">
<template #default="{ row }">
<el-button v-perms="['supervision_dangerous.supervision_dangerous_engineering_eliminate/edit']"

Some files were not shown because too many files have changed in this diff Show More