add
This commit is contained in:
parent
b6d80ee3cb
commit
5bfd95a64c
@ -1,7 +1,11 @@
|
||||
<template>
|
||||
<div class="edit-popup">
|
||||
<el-card>
|
||||
<el-descriptions :column="3" title="审批详情" border>
|
||||
{{ userInfo }}
|
||||
{{ formData?.check_status }}
|
||||
{{ formData.create_user }}
|
||||
{{ formData?.check_status == 0 && formData.create_user == userInfo.id }}
|
||||
<el-descriptions :column="3" title="审21批详情" border>
|
||||
<el-descriptions-item label="审批主题" label-align="left" align="left" label-class-name="my-label">
|
||||
{{ formData.title }}
|
||||
</el-descriptions-item>
|
||||
@ -26,6 +30,8 @@
|
||||
<el-steps :active="activeStep" simple :align-center="true">
|
||||
<el-step :title="getStep(item, index)" :icon="index == 0 ? Avatar : Clock"
|
||||
v-for="(item, index) in formData.step" :key="index" />
|
||||
<el-step :title="getStep(item, index)" :icon="index == 0 ? Avatar : Clock"
|
||||
v-for="(item, index) in formData.step" :key="index" />
|
||||
</el-steps>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="审批记录" label-align="left" align="left">
|
||||
@ -33,35 +39,39 @@
|
||||
style="margin-top: 20px">
|
||||
<el-step :title="item.check_time + item.title" v-for="(item, index) in formData.record"
|
||||
:key="index" />
|
||||
<el-step :title="item.check_time + item.title" v-for="(item, index) in formData.record"
|
||||
:key="index" />
|
||||
</el-steps>
|
||||
</el-descriptions-item>
|
||||
<div v-if="formData?.current_check_user_ids?.includes(String(userInfo.id))">
|
||||
<el-descriptions-item label="操作" label-align="left" align="left">
|
||||
<el-form-item label="意见">
|
||||
<el-input v-model="remark" clearable placeholder="请输入" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="审批">
|
||||
<el-button type="primary" @click="checkFn(1)">
|
||||
通过1212
|
||||
</el-button>
|
||||
<el-button @click="checkFn(2)">
|
||||
拒绝
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-descriptions-item>
|
||||
</div>
|
||||
|
||||
<el-descriptions-item label="操作" label-align="left" align="left"
|
||||
v-if="formData?.current_check_user_ids?.includes(String(userInfo.id))">
|
||||
<el-form-item label="意见">
|
||||
<el-input v-model="remark" clearable placeholder="请输入" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="审批">
|
||||
<el-button type="primary" @click="checkFn(1)">
|
||||
通过
|
||||
</el-button>
|
||||
<el-button @click="checkFn(2)">
|
||||
拒绝
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-descriptions-item>
|
||||
<!-- <div v-if="formData?.check_status == 0 && formData.create_user == userInfo.id">
|
||||
<el-descriptions-item label="操作1" label-align="left" align="left">
|
||||
<el-form-item label="意见">
|
||||
<el-input v-model="remark" clearable placeholder="请输入" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="审批">
|
||||
<el-button @click="revokeFn">
|
||||
撤销121212
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-descriptions-item>
|
||||
</div> -->
|
||||
|
||||
<el-descriptions-item label="操作" label-align="left" align="left"
|
||||
v-if="formData?.check_status == 0 && formData.create_user == userInfo.id">
|
||||
<el-form-item label="意见">
|
||||
<el-input v-model="remark" clearable placeholder="请输入" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="审批">
|
||||
<el-button @click="revokeFn">
|
||||
撤销
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</el-card>
|
||||
</div>
|
||||
@ -97,6 +107,7 @@ const formData = reactive({
|
||||
"current_check_user": "",
|
||||
"create_user_name": "admin",
|
||||
"copy_user": "admin",
|
||||
current_check_user_ids: [],
|
||||
"content": {
|
||||
|
||||
},
|
||||
|
@ -4,21 +4,32 @@
|
||||
<popup ref="popupRef" title="开票申请详情" :async="true" width="80%" @confirm="handleSubmit" @close="handleClose">
|
||||
<el-form ref="formRef" :model="formData" label-width="160px">
|
||||
<el-descriptions :column="3" title="基本信息" border>
|
||||
<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_code }}</el-descriptions-item>
|
||||
<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"> {{ 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>
|
||||
<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_code }}</el-descriptions-item>
|
||||
<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"> {{
|
||||
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>
|
||||
<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"> {{ formData.period_text }}</el-descriptions-item>
|
||||
<el-descriptions-item label="税率(%)" label-align="left" align="left" label-class-name="my-label"> {{ formData.tax_rate_text }}</el-descriptions-item>
|
||||
<el-descriptions-item label="发票类型" label-align="left" align="left" label-class-name="my-label"> {{ formData.invoice_type_text }}</el-descriptions-item>
|
||||
<el-descriptions-item label="开票金额(含税)" label-align="left" align="left" label-class-name="my-label"> {{ formData.amount_including_tax }}</el-descriptions-item>
|
||||
<el-descriptions-item label="期次" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.period_text }}</el-descriptions-item>
|
||||
<el-descriptions-item label="税率(%)" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.tax_rate_text }}</el-descriptions-item>
|
||||
<el-descriptions-item label="发票类型" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.invoice_type_text }}</el-descriptions-item>
|
||||
<el-descriptions-item label="开票金额(含税)" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.amount_including_tax }}</el-descriptions-item>
|
||||
<!-- <el-descriptions-item label="开票金额(税额)" label-align="left" align="left" label-class-name="my-label"> {{ formData.industry_text }}</el-descriptions-item> -->
|
||||
<el-descriptions-item label="开票内容" label-align="left" align="left" label-class-name="my-label"> {{ formData.content }}</el-descriptions-item>
|
||||
<el-descriptions-item label="发票编号" label-align="left" align="left" label-class-name="my-label"> {{ formData.invoice_no }}</el-descriptions-item>
|
||||
<el-descriptions-item label="开票内容" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.content }}</el-descriptions-item>
|
||||
<el-descriptions-item label="发票编号" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.invoice_no }}</el-descriptions-item>
|
||||
|
||||
|
||||
|
||||
@ -27,7 +38,8 @@
|
||||
<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;">
|
||||
<a style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item.uri" target="_blank">文件{{ index + 1 }} 查看</a>
|
||||
<a style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item.uri"
|
||||
target="_blank">文件{{ index + 1 }} 查看</a>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
@ -38,10 +50,14 @@
|
||||
|
||||
</el-descriptions>
|
||||
<el-descriptions :column="3" title="客户开票信息" border style="margin: 20px 0;">
|
||||
<el-descriptions-item label="开票公司名称" label-align="left" align="left" label-class-name="my-label">{{ formData.invoicing_company_name }}</el-descriptions-item>
|
||||
<el-descriptions-item label="纳税人识别号" label-align="left" align="left" label-class-name="my-label"> {{ formData.taxpayer_identification_number }}</el-descriptions-item>
|
||||
<el-descriptions-item label="开户银行" label-align="left" align="left" label-class-name="my-label">{{ formData.deposit_bank }}</el-descriptions-item>
|
||||
<el-descriptions-item label="账号" label-align="left" align="left" label-class-name="my-label"> {{ formData.bank_accnout }}</el-descriptions-item>
|
||||
<el-descriptions-item label="开票公司名称" label-align="left" align="left" label-class-name="my-label">{{
|
||||
formData.invoicing_company_name }}</el-descriptions-item>
|
||||
<el-descriptions-item label="纳税人识别号" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.taxpayer_identification_number }}</el-descriptions-item>
|
||||
<el-descriptions-item label="开户银行" label-align="left" align="left" label-class-name="my-label">{{
|
||||
formData.deposit_bank }}</el-descriptions-item>
|
||||
<el-descriptions-item label="账号" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.bank_accnout }}</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="开户地址及电话" label-align="left" align="left" label-class-name="my-label">
|
||||
{{ formData.address_phone }}
|
||||
@ -55,11 +71,16 @@
|
||||
|
||||
</el-descriptions>
|
||||
<el-descriptions :column="3" title="发票邮寄信息" border style="margin: 20px 0;">
|
||||
<el-descriptions-item label="收票地址" label-align="left" align="left" label-class-name="my-label">{{ formData.receiving_address }}</el-descriptions-item>
|
||||
<el-descriptions-item label="联系人" label-align="left" align="left" label-class-name="my-label"> {{ formData.contacts }}</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.mailing_type }}</el-descriptions-item>
|
||||
<el-descriptions-item label="邮寄方式" label-align="left" align="left" label-class-name="my-label"> {{ formData.mailing_type }}</el-descriptions-item>
|
||||
<el-descriptions-item label="收票地址" label-align="left" align="left" label-class-name="my-label">{{
|
||||
formData.receiving_address }}</el-descriptions-item>
|
||||
<el-descriptions-item label="联系人" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.contacts }}</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.mailing_type }}</el-descriptions-item>
|
||||
<el-descriptions-item label="邮寄方式" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.mailing_type }}</el-descriptions-item>
|
||||
<el-descriptions-item label="邮寄单号" label-align="left" align="left" label-class-name="my-label">
|
||||
{{ formData.mailing_no }}
|
||||
</el-descriptions-item>
|
||||
@ -71,6 +92,8 @@
|
||||
|
||||
|
||||
</el-descriptions>
|
||||
<flowDetail :approve_id="formData?.approve_id" />
|
||||
|
||||
</el-form>
|
||||
</popup>
|
||||
</div>
|
||||
|
@ -185,6 +185,9 @@ getlist1()
|
||||
getlist2()
|
||||
|
||||
|
||||
if (route.query?.listId) {
|
||||
handledetail({ id: route.query.listId })
|
||||
}
|
||||
getLists()
|
||||
</script>
|
||||
|
||||
|
@ -113,6 +113,8 @@
|
||||
</el-table>
|
||||
</el-row>
|
||||
<flowDetail :approve_id="formData?.approve_id" />
|
||||
<flowProcess></flowProcess>
|
||||
|
||||
</popup>
|
||||
</div>
|
||||
</template>
|
||||
|
@ -232,6 +232,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<flowProcess @confirm="flowFn" v-if="mode == 'add'"></flowProcess>
|
||||
<!-- const flowFn = (e: any) => {
|
||||
formData.approve_detail = e
|
||||
|
@ -62,6 +62,8 @@
|
||||
<el-descriptions-item label="开户名称" label-align="left" align="left" label-class-name="my-label">{{ formData.account_name }}</el-descriptions-item>
|
||||
<el-descriptions-item label="账号" label-align="left" align="left" label-class-name="my-label">{{ formData.account }}</el-descriptions-item>
|
||||
</el-descriptions> -->
|
||||
<flowDetail :approve_id="formData?.approve_id" />
|
||||
|
||||
</popup>
|
||||
</div>
|
||||
</template>
|
||||
@ -143,11 +145,13 @@ defineExpose({
|
||||
getDetail
|
||||
})
|
||||
</script>
|
||||
<style lang="scss" scoped>.tit {
|
||||
<style lang="scss" scoped>
|
||||
.tit {
|
||||
font-size: 1.2em;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
:deep(.my-label) {
|
||||
width: 150px;
|
||||
}</style>
|
||||
}
|
||||
</style>
|
||||
|
@ -145,6 +145,9 @@ const handledetail = async (data: any) => {
|
||||
detailRef.value?.setFormData(res)
|
||||
}
|
||||
|
||||
if (route.query?.listId) {
|
||||
handledetail({ id: route.query.listId })
|
||||
}
|
||||
|
||||
getLists()
|
||||
</script>
|
||||
|
@ -6,73 +6,94 @@
|
||||
<el-descriptions :column="2" border>
|
||||
|
||||
|
||||
<el-descriptions-item label="合同名称" label-align="left" align="left" label-class-name="my-label"> {{ formData.contract_name
|
||||
<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_code
|
||||
<el-descriptions-item label="合同编号" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.contract_code
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="项目名称" label-align="left" align="left" label-class-name="my-label"> {{ formData.project_name
|
||||
<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"> {{ formData.custom_name
|
||||
<el-descriptions-item label="客户名称" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.custom_name
|
||||
|
||||
}}</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="合同类型" label-align="left" align="left" label-class-name="my-label"> {{ formData.contract_type
|
||||
<el-descriptions-item label="合同类型" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.contract_type
|
||||
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="合同计价方式" label-align="left" align="left" label-class-name="my-label"> {{ formData.contract_pricing_method
|
||||
<el-descriptions-item label="合同计价方式" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.contract_pricing_method
|
||||
|
||||
}}</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="签约日期" label-align="left" align="left" label-class-name="my-label"> {{ formData.contract_date
|
||||
<el-descriptions-item label="签约日期" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.contract_date
|
||||
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="业务负责人" label-align="left" align="left" label-class-name="my-label"> {{ formData.business_director
|
||||
<el-descriptions-item label="业务负责人" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.business_director
|
||||
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="洽商单名称" label-align="left" align="left" label-class-name="my-label"> {{ formData.negotiation_name
|
||||
<el-descriptions-item label="洽商单名称" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.negotiation_name
|
||||
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="洽商编号" label-align="left" align="left" label-class-name="my-label"> {{ formData.negotiation_no
|
||||
<el-descriptions-item label="洽商编号" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.negotiation_no
|
||||
|
||||
}}</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="洽商类别" label-align="left" align="left" label-class-name="my-label"> {{ formData.negotiation_type_text
|
||||
<el-descriptions-item label="洽商类别" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.negotiation_type_text
|
||||
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="成本金额(人工)" label-align="left" align="left" label-class-name="my-label"> {{ formData.labor_costs
|
||||
<el-descriptions-item label="成本金额(人工)" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.labor_costs
|
||||
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="成本金额(材料)" label-align="left" align="left" label-class-name="my-label"> {{ formData.material_costs
|
||||
<el-descriptions-item label="成本金额(材料)" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.material_costs
|
||||
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="洽商质保金额" label-align="left" align="left" label-class-name="my-label"> {{ formData.warranty_amount
|
||||
<el-descriptions-item label="洽商质保金额" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.warranty_amount
|
||||
|
||||
}}</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="洽商质保到期时间" label-align="left" align="left" label-class-name="my-label"> {{ formData.warranty_expire_date
|
||||
<el-descriptions-item label="洽商质保到期时间" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.warranty_expire_date
|
||||
|
||||
}}</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="利润" label-align="left" align="left" label-class-name="my-label"> {{ formData.profit
|
||||
<el-descriptions-item label="利润" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.profit
|
||||
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="利润率(%)" label-align="left" align="left" label-class-name="my-label"> {{ formData.profit_rate
|
||||
<el-descriptions-item label="利润率(%)" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.profit_rate
|
||||
|
||||
}}</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="洽商内容" label-align="left" align="left" label-class-name="my-label"> {{ formData.negotiation_content
|
||||
<el-descriptions-item label="洽商内容" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.negotiation_content
|
||||
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="具体说明" label-align="left" align="left" label-class-name="my-label"> {{ formData.negotiation_detail
|
||||
<el-descriptions-item label="具体说明" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.negotiation_detail
|
||||
|
||||
}}</el-descriptions-item>
|
||||
|
||||
|
||||
<el-descriptions-item label="签证报价表" label-align="left" align="left" label-class-name="my-label">
|
||||
<div v-if="formData.negotiation_quotation.length > 0">
|
||||
<div v-for="(item, index) in formData.negotiation_quotation" 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 v-for="(item, index) in formData.negotiation_quotation"
|
||||
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>
|
||||
@ -82,8 +103,10 @@
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="洽商依据" label-align="left" align="left" label-class-name="my-label">
|
||||
<div v-if="formData.negotiation_basis.length > 0">
|
||||
<div v-for="(item, index) in formData.negotiation_basis" 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 v-for="(item, index) in formData.negotiation_basis"
|
||||
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>
|
||||
@ -92,6 +115,8 @@
|
||||
</div>
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
<flowDetail :approve_id="formData?.approve_id" />
|
||||
|
||||
</el-form>
|
||||
</popup>
|
||||
</div>
|
||||
|
@ -155,7 +155,11 @@ const handleDetail = async (data: any) => {
|
||||
detailRef.value?.open()
|
||||
detailRef.value?.setFormData(res)
|
||||
}
|
||||
|
||||
import { useRoute } from "vue-router";
|
||||
const route = useRoute()
|
||||
if (route.query?.listId) {
|
||||
handledetail({ id: route.query.listId })
|
||||
}
|
||||
getLists()
|
||||
</script>
|
||||
|
||||
|
@ -146,8 +146,10 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-card>
|
||||
<flowDetail :approve_id="formData?.approve_id" />
|
||||
|
||||
</el-form>
|
||||
|
||||
</popup>
|
||||
</div>
|
||||
</template>
|
||||
|
@ -180,7 +180,9 @@ const getlist1 = () => {
|
||||
})
|
||||
}
|
||||
getlist1()
|
||||
|
||||
if (route.query?.listId) {
|
||||
handledetail({ id: route.query.listId })
|
||||
}
|
||||
getLists()
|
||||
</script>
|
||||
|
||||
|
@ -85,6 +85,8 @@
|
||||
|
||||
</el-row>
|
||||
</el-card>
|
||||
<flowDetail :approve_id="formData?.approve_id" />
|
||||
|
||||
</el-form>
|
||||
</popup>
|
||||
</div>
|
||||
|
@ -165,6 +165,11 @@ const getlist1 = () => {
|
||||
list.value = res.lists
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
if (route.query?.listId) {
|
||||
handledetail({ id: route.query.listId })
|
||||
}
|
||||
getlist1()
|
||||
getLists()
|
||||
</script>
|
||||
|
@ -101,6 +101,8 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-card>
|
||||
<flowDetail :approve_id="formData?.approve_id" />
|
||||
|
||||
</el-form>
|
||||
</popup>
|
||||
</div>
|
||||
|
@ -152,6 +152,10 @@ const handledetail = async (data: any) => {
|
||||
}
|
||||
|
||||
|
||||
if (route.query?.listId) {
|
||||
handledetail({ id: route.query.listId })
|
||||
}
|
||||
|
||||
getLists()
|
||||
</script>
|
||||
|
||||
|
@ -50,8 +50,8 @@
|
||||
<el-form-item label="流程类型" prop="check_type" clearable :style="{ width: '100%' }">
|
||||
<el-radio-group v-model="formData.check_type" @change="checkTypeFn">
|
||||
<el-radio :label="1">固定审批</el-radio>
|
||||
<el-radio :label="2">授权审批人</el-radio>
|
||||
<el-radio :label="3">可回退审批 </el-radio>
|
||||
<!-- <el-radio :label="2">授权审批人</el-radio>
|
||||
<el-radio :label="3">可回退审批 </el-radio> -->
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
@ -4,17 +4,22 @@
|
||||
<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.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>
|
||||
<el-descriptions-item label="采购申请单号" label-align="left" align="left" label-class-name="my-label"> {{ formData.material_purchase_request_code }}</el-descriptions-item>
|
||||
<el-descriptions-item label="备注" label-align="left" align="left" label-class-name="my-label"> {{ formData.remark
|
||||
<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"> {{
|
||||
formData.project_code }}</el-descriptions-item>
|
||||
<el-descriptions-item label="采购申请单号" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.material_purchase_request_code }}</el-descriptions-item>
|
||||
<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;">
|
||||
<el-link style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item" target="_blank">文件{{ index + 1 }}查看</el-link>
|
||||
<el-link style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item"
|
||||
target="_blank">文件{{ index + 1 }}查看</el-link>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@ -44,8 +49,12 @@
|
||||
</el-table>
|
||||
</div>
|
||||
<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" />
|
||||
<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" />
|
||||
</div>
|
||||
<flowDetail :approve_id="formData?.approve_id" />
|
||||
|
||||
</popup>
|
||||
</div>
|
||||
</template>
|
||||
@ -174,5 +183,4 @@ defineExpose({
|
||||
|
||||
:deep(.my-label) {
|
||||
width: 150px;
|
||||
}
|
||||
</style>
|
||||
}</style>
|
||||
|
@ -138,6 +138,9 @@ const handledetail = async (data: any) => {
|
||||
}
|
||||
|
||||
|
||||
if (route.query?.listId) {
|
||||
handledetail({ id: route.query.listId })
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -39,6 +39,8 @@
|
||||
<!-- const flowFn = (e: any) => {
|
||||
formData.approve_detail = e
|
||||
} -->
|
||||
<flowDetail v-else :approve_id="formData?.approve_id" />
|
||||
|
||||
</el-form>
|
||||
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
||||
<projectDialog @customEvent="customEvent"></projectDialog>
|
||||
@ -95,7 +97,8 @@ const formData = reactive({
|
||||
"remark": "",
|
||||
"annex": [],
|
||||
project_name: "",
|
||||
approve_detail: {}
|
||||
approve_detail: {},
|
||||
approve_id: 0,
|
||||
})
|
||||
|
||||
const flowFn = (e: any) => {
|
||||
|
@ -51,7 +51,7 @@
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<div class="flex mt-4 justify-end">
|
||||
<div class="flex justify-end mt-4">
|
||||
<pagination v-model="pager" @change="getLists" />
|
||||
</div>
|
||||
</el-card>
|
||||
@ -115,6 +115,11 @@ const handleDelete = async (id: number | any[]) => {
|
||||
await apiProjectCostAdjustmentDelete({ id })
|
||||
getLists()
|
||||
}
|
||||
import { useRoute } from "vue-router";
|
||||
const route = useRoute()
|
||||
if (route.query?.listId) {
|
||||
handleEdit({ id: route.query.listId })
|
||||
}
|
||||
|
||||
getLists()
|
||||
</script>
|
||||
|
@ -94,6 +94,8 @@
|
||||
<!-- const flowFn = (e: any) => {
|
||||
formData.approve_detail = e
|
||||
} -->
|
||||
<flowDetail v-else :approve_id="formData?.approve_id" />
|
||||
|
||||
</el-form>
|
||||
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
||||
<projectDialog @customEvent="customEvent" :is_budget="1"></projectDialog>
|
||||
@ -162,7 +164,8 @@ const formData = reactive({
|
||||
"remark": ""
|
||||
}
|
||||
],
|
||||
approve_detail: {}
|
||||
approve_detail: {},
|
||||
approve_id: 0,
|
||||
})
|
||||
const flowFn = (e: any) => {
|
||||
formData.approve_detail = e
|
||||
|
@ -119,6 +119,11 @@ const handleDelete = async (id: number | any[]) => {
|
||||
await apiProjectCostBudgetDelete({ id })
|
||||
getLists()
|
||||
}
|
||||
import { useRoute } from "vue-router";
|
||||
const route = useRoute()
|
||||
if (route.query?.listId) {
|
||||
handleEdit({ id: route.query.listId })
|
||||
}
|
||||
|
||||
getLists()
|
||||
</script>
|
||||
|
@ -95,6 +95,8 @@
|
||||
</div>
|
||||
</el-col>
|
||||
<flowProcess @confirm="flowFn" v-if="mode == 'add'"></flowProcess>
|
||||
<flowDetail v-else :approve_id="formData?.approve_id" />
|
||||
|
||||
<!-- const flowFn = (e: any) => {
|
||||
formData.approve_detail = e
|
||||
} -->
|
||||
@ -172,7 +174,8 @@ const formData = reactive({
|
||||
"remark": ""
|
||||
}
|
||||
],
|
||||
approve_detail: {}
|
||||
approve_detail: {},
|
||||
approve_id: 0
|
||||
})
|
||||
const flowFn = (e: any) => {
|
||||
formData.approve_detail = e
|
||||
|
@ -54,7 +54,7 @@
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<div class="flex mt-4 justify-end">
|
||||
<div class="flex justify-end mt-4">
|
||||
<pagination v-model="pager" @change="getLists" />
|
||||
</div>
|
||||
</el-card>
|
||||
@ -119,6 +119,11 @@ const handleDelete = async (id: number | any[]) => {
|
||||
await apiProjectEquipmentBudgetDelete({ id })
|
||||
getLists()
|
||||
}
|
||||
import { useRoute } from "vue-router";
|
||||
const route = useRoute()
|
||||
if (route.query?.listId) {
|
||||
handleEdit({ id: route.query.listId })
|
||||
}
|
||||
|
||||
getLists()
|
||||
</script>
|
||||
|
@ -55,7 +55,7 @@
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<div class="flex mt-4 justify-end">
|
||||
<div class="flex justify-end mt-4">
|
||||
<pagination v-model="pager" @change="getLists" />
|
||||
</div>
|
||||
</el-card>
|
||||
@ -123,7 +123,11 @@ const handleDelete = async (id: number | any[]) => {
|
||||
await apiProjectExpenseReimbursementDelete({ id })
|
||||
getLists()
|
||||
}
|
||||
|
||||
import { useRoute } from "vue-router";
|
||||
const route = useRoute()
|
||||
if (route.query?.listId) {
|
||||
// handledetail({ id: route.query.listId })
|
||||
}
|
||||
getLists()
|
||||
</script>
|
||||
|
||||
|
@ -122,7 +122,11 @@ const handleDelete = async (id: number | any[]) => {
|
||||
await apiProjectLaborBudgetDelete({ id })
|
||||
getLists()
|
||||
}
|
||||
|
||||
import { useRoute } from "vue-router";
|
||||
const route = useRoute()
|
||||
if (route.query?.listId) {
|
||||
handledetail({ id: route.query.listId })
|
||||
}
|
||||
getLists()
|
||||
</script>
|
||||
|
||||
|
@ -128,7 +128,11 @@ const handleDelete = async (id: number | any[]) => {
|
||||
await apiProjectLoanApplyDelete({ id })
|
||||
getLists()
|
||||
}
|
||||
|
||||
import { useRoute } from "vue-router";
|
||||
const route = useRoute()
|
||||
if (route.query?.listId) {
|
||||
// handledetail({ id: route.query.listId })
|
||||
}
|
||||
getLists()
|
||||
</script>
|
||||
|
||||
|
@ -7,7 +7,8 @@
|
||||
<el-form-item label="类型" prop="budget_type">
|
||||
<el-select class="w-[280px]" v-model="queryParams.budget_type" clearable placeholder="请选择类型">
|
||||
<el-option label="全部" value=""></el-option>
|
||||
<el-option v-for="(item, index) in dictData.budget_type" :key="index" :label="item.name" :value="item.value" />
|
||||
<el-option v-for="(item, index) in dictData.budget_type" :key="index" :label="item.name"
|
||||
:value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
@ -23,7 +24,8 @@
|
||||
</template>
|
||||
新增
|
||||
</el-button>
|
||||
<el-button v-perms="['project.project/delete']" :disabled="!selectData.length" @click="handleDelete(selectData)">
|
||||
<el-button v-perms="['project.project/delete']" :disabled="!selectData.length"
|
||||
@click="handleDelete(selectData)">
|
||||
删除
|
||||
</el-button>
|
||||
|
||||
@ -44,7 +46,8 @@
|
||||
<el-button v-perms="['project.project/edit']" type="primary" link @click="handleEdit(row)">
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button v-perms="['project.project/delete']" type="danger" link @click="handleDelete(row.id)">
|
||||
<el-button v-perms="['project.project/delete']" type="danger" link
|
||||
@click="handleDelete(row.id)">
|
||||
删除
|
||||
</el-button>
|
||||
<el-button v-perms="['project.project/detail']" link @click="handledetail(row)">
|
||||
@ -137,7 +140,11 @@ const handledetail = async (data: any) => {
|
||||
detailRef.value?.setFormData(res)
|
||||
}
|
||||
|
||||
|
||||
import { useRoute } from "vue-router";
|
||||
const route = useRoute()
|
||||
if (route.query?.listId) {
|
||||
handledetail({ id: route.query.listId })
|
||||
}
|
||||
getLists()
|
||||
</script>
|
||||
|
||||
|
@ -136,7 +136,11 @@ const handledetail = async (data: any) => {
|
||||
detailRef.value?.open()
|
||||
detailRef.value?.setFormData(res)
|
||||
}
|
||||
|
||||
import { useRoute } from "vue-router";
|
||||
const route = useRoute()
|
||||
if (route.query?.listId) {
|
||||
handledetail({ id: route.query.listId })
|
||||
}
|
||||
|
||||
getLists()
|
||||
</script>
|
||||
|
@ -137,7 +137,11 @@ const handledetail = async (data: any) => {
|
||||
detailRef.value?.setFormData(res)
|
||||
}
|
||||
|
||||
|
||||
import { useRoute } from "vue-router";
|
||||
const route = useRoute()
|
||||
if (route.query?.listId) {
|
||||
handledetail({ id: route.query.listId })
|
||||
}
|
||||
getLists()
|
||||
</script>
|
||||
|
||||
|
@ -125,7 +125,11 @@ const handledetail = async (data: any) => {
|
||||
detailRef.value?.setFormData(res)
|
||||
}
|
||||
|
||||
|
||||
import { useRoute } from "vue-router";
|
||||
const route = useRoute()
|
||||
if (route.query?.listId) {
|
||||
handledetail({ id: route.query.listId })
|
||||
}
|
||||
getLists()
|
||||
</script>
|
||||
|
||||
|
@ -160,7 +160,11 @@ const handledetail = async (data: any) => {
|
||||
detailRef.value?.open()
|
||||
detailRef.value?.setFormData(res)
|
||||
}
|
||||
|
||||
import { useRoute } from "vue-router";
|
||||
const route = useRoute()
|
||||
if (route.query?.listId) {
|
||||
handledetail({ id: route.query.listId })
|
||||
}
|
||||
|
||||
getLists()
|
||||
</script>
|
||||
|
@ -62,7 +62,7 @@
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<div class="flex mt-4 justify-end">
|
||||
<div class="flex justify-end mt-4">
|
||||
<pagination v-model="pager" @change="getLists" />
|
||||
</div>
|
||||
</el-card>
|
||||
@ -132,6 +132,11 @@ const handleDelete = async (id: number | any[]) => {
|
||||
getLists()
|
||||
}
|
||||
|
||||
import { useRoute } from "vue-router";
|
||||
const route = useRoute()
|
||||
if (route.query?.listId) {
|
||||
// handledetail({ id: route.query.listId })
|
||||
}
|
||||
getLists()
|
||||
</script>
|
||||
|
||||
|
@ -136,6 +136,11 @@ const handleDelete = async (id: number | any[]) => {
|
||||
await apiProjectTripApplyDelete({ id })
|
||||
getLists()
|
||||
}
|
||||
import { useRoute } from "vue-router";
|
||||
const route = useRoute()
|
||||
if (route.query?.listId) {
|
||||
// handledetail({ id: route.query.listId })
|
||||
}
|
||||
|
||||
getLists()
|
||||
</script>
|
||||
|
@ -143,7 +143,11 @@ const handledetail = async (data: any) => {
|
||||
detailRef.value?.open()
|
||||
detailRef.value?.setFormData(res)
|
||||
}
|
||||
|
||||
import { useRoute } from "vue-router";
|
||||
const route = useRoute()
|
||||
if (route.query?.listId) {
|
||||
handledetail({ id: route.query.listId })
|
||||
}
|
||||
|
||||
getLists()
|
||||
</script>
|
||||
|
@ -144,7 +144,11 @@ const handledetail = async (data: any) => {
|
||||
detailRef.value?.setFormData(res)
|
||||
}
|
||||
|
||||
|
||||
import { useRoute } from "vue-router";
|
||||
const route = useRoute()
|
||||
if (route.query?.listId) {
|
||||
handledetail({ id: route.query.listId })
|
||||
}
|
||||
getLists()
|
||||
</script>
|
||||
|
||||
|
@ -141,7 +141,11 @@ const handledetail = async (data: any) => {
|
||||
detailRef.value?.setFormData(res)
|
||||
}
|
||||
|
||||
|
||||
import { useRoute } from "vue-router";
|
||||
const route = useRoute()
|
||||
if (route.query?.listId) {
|
||||
handledetail({ id: route.query.listId })
|
||||
}
|
||||
getLists()
|
||||
</script>
|
||||
|
||||
|
@ -153,7 +153,11 @@ const handledetail = async (data: any) => {
|
||||
detailRef.value?.setFormData(res)
|
||||
}
|
||||
|
||||
|
||||
import { useRoute } from "vue-router";
|
||||
const route = useRoute()
|
||||
if (route.query?.listId) {
|
||||
handledetail({ id: route.query.listId })
|
||||
}
|
||||
getLists()
|
||||
</script>
|
||||
|
||||
|
@ -147,7 +147,11 @@ const handledetail = async (data: any) => {
|
||||
detailRef.value?.setFormData(res)
|
||||
}
|
||||
|
||||
|
||||
import { useRoute } from "vue-router";
|
||||
const route = useRoute()
|
||||
if (route.query?.listId) {
|
||||
handledetail({ id: route.query.listId })
|
||||
}
|
||||
getLists()
|
||||
</script>
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user