fix: 提交审核页面逻辑修改

This commit is contained in:
若拙_233 2025-12-18 22:38:13 +08:00
parent f17c1678c8
commit 4110dca428
3 changed files with 1647 additions and 1288 deletions

View File

@ -23,6 +23,7 @@ export default {
getHistoryList: (params) => request.get('/app-valuations/', { params }),
valuations: (data = {}) => request.post('/app-valuations/', data),
deleteValuations: (params = {}) => request.delete(`/app-valuations/${params.id}`),
getValuation: (id) => request.get(`/app-valuations/${id}`),
// profile
updatePassword: (data = {}) => request.post('/base/update_password', data),
// users

View File

@ -2,13 +2,17 @@
<div class="pages">
<AppHeader class="page-header" />
<!-- 页面初始化 loading -->
<div v-if="pageLoading" class="right" style="
<div
v-if="pageLoading"
class="right"
style="
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
text-align: center;
">
"
>
<n-spin size="large" />
<div style="font-size: 16px; color: #999999; margin-top: 20px">加载中...</div>
</div>
@ -23,7 +27,11 @@
</div>
</div> -->
<div v-if="!pageLoading && status == 'create'" class="right">
<StepProgressBar style="width: 800px; margin: auto; margin-top: 40px" :steps="steps" :currentStep="currentStep" />
<StepProgressBar
style="width: 800px; margin: auto; margin-top: 40px"
:steps="steps"
:currentStep="currentStep"
/>
<div class="line"></div>
<div class="form-title-box">
<div class="title-left"></div>
@ -33,8 +41,16 @@
<div v-if="currentStep == 3" class="title-form">非遗应用与推广</div>
<div v-if="currentStep == 4" class="title-form">非遗资产衍生商品信息</div>
</div>
<NForm class="form-container" ref="modalFormRef" label-placement="top" label-align="top" :label-width="80"
:model="modalForm" :rules="modalRules" require-mark-placement="left">
<NForm
class="form-container"
ref="modalFormRef"
label-placement="top"
label-align="top"
:label-width="80"
:model="modalForm"
:rules="modalRules"
require-mark-placement="left"
>
<n-grid v-if="currentStep == 0" :cols="24" :x-gap="24">
<n-form-item-gi :span="12" label="资产名称" path="asset_name">
<template #label>
@ -77,7 +93,10 @@
</n-tooltip>
</div>
</template>
<NInput v-model:value="modalForm.credit_code_or_id" placeholder="请输入统一社会信用代码/身份证号" />
<NInput
v-model:value="modalForm.credit_code_or_id"
placeholder="请输入统一社会信用代码/身份证号"
/>
</n-form-item-gi>
<n-form-item-gi :span="12" label="所属行业" path="industry">
<template #label>
@ -91,7 +110,12 @@
</n-tooltip>
</div>
</template>
<n-select v-model:value="modalForm.industry" placeholder="请选择所属行业" :options="industryOptions" filterable />
<n-select
v-model:value="modalForm.industry"
placeholder="请选择所属行业"
:options="industryOptions"
filterable
/>
</n-form-item-gi>
<n-gi :span="12"></n-gi>
<n-form-item-gi :span="24" label="业务/传承介绍" path="biz_intro">
@ -106,16 +130,24 @@
</n-tooltip>
</div>
</template>
<n-input v-model:value="modalForm.biz_intro" type="textarea"
<n-input
v-model:value="modalForm.biz_intro"
type="textarea"
placeholder="请在此处自由填写受评估单位/人的详细业务与项目情况。建议着重介绍与本次所评估非遗IP资产直接相关的背景信息例如主要业务范围、核心技艺、传承谱系、运营模式、市场定位、近年发展状况等。本部分是评估师理解评估对象价值内涵的重要依据请务必详尽、客观地描述。"
:autosize="{
minRows: 4,
maxRows: 8,
}" />
}"
/>
</n-form-item-gi>
</n-grid>
<n-grid v-if="currentStep == 1" :cols="24" :x-gap="0">
<n-form-item-gi :span="10" class="form-item" label="近12个月机构营收/万元" path="annual_revenue">
<n-form-item-gi
:span="10"
class="form-item"
label="近12个月机构营收/万元"
path="annual_revenue"
>
<template #label>
<div class="flex items-center gap-4">
<span>近12个月机构营收/万元</span>
@ -127,9 +159,18 @@
</n-tooltip>
</div>
</template>
<NInput v-model:value="modalForm.annual_revenue" placeholder="请输入近12个月机构营收" type="number" />
<NInput
v-model:value="modalForm.annual_revenue"
placeholder="请输入近12个月机构营收"
type="number"
/>
</n-form-item-gi>
<n-form-item-gi :span="12" class="form-item" label="近12个月机构研发投入/万元" path="rd_investment">
<n-form-item-gi
:span="12"
class="form-item"
label="近12个月机构研发投入/万元"
path="rd_investment"
>
<template #label>
<div class="flex items-center gap-4">
<span>近12个月机构研发投入/万元</span>
@ -141,9 +182,18 @@
</n-tooltip>
</div>
</template>
<NInput v-model:value="modalForm.rd_investment" placeholder="请输入近12个月机构研发投入" type="number" />
<NInput
v-model:value="modalForm.rd_investment"
placeholder="请输入近12个月机构研发投入"
type="number"
/>
</n-form-item-gi>
<n-form-item-gi :span="24" label="近三年机构收益/万元" path="three_year_income" style="margin-left: 20px">
<n-form-item-gi
:span="24"
label="近三年机构收益/万元"
path="three_year_income"
style="margin-left: 20px"
>
<template #label>
<div class="flex items-center gap-4">
<span>近三年机构收益/万元</span>
@ -155,12 +205,24 @@
</n-tooltip>
</div>
</template>
<NInput v-model:value="modalForm.three_year_income[0]" placeholder="第一年" style="width: 220px"
type="number" />
<NInput v-model:value="modalForm.three_year_income[1]" placeholder="第二年"
style="width: 220px; margin-left: 10px" type="number" />
<NInput v-model:value="modalForm.three_year_income[2]" placeholder="第三年"
style="width: 220px; margin-left: 10px" type="number" />
<NInput
v-model:value="modalForm.three_year_income[0]"
placeholder="第一年"
style="width: 220px"
type="number"
/>
<NInput
v-model:value="modalForm.three_year_income[1]"
placeholder="第二年"
style="width: 220px; margin-left: 10px"
type="number"
/>
<NInput
v-model:value="modalForm.three_year_income[2]"
placeholder="第三年"
style="width: 220px; margin-left: 10px"
type="number"
/>
</n-form-item-gi>
<n-form-item-gi :span="12" class="form-item" label="资产受资助情况" path="funding_status">
<template #label>
@ -174,11 +236,20 @@
</n-tooltip>
</div>
</template>
<n-select v-model:value="modalForm.funding_status" placeholder="请选择资产受资助情况" :options="fundingOptions" />
<n-select
v-model:value="modalForm.funding_status"
placeholder="请选择资产受资助情况"
:options="fundingOptions"
/>
</n-form-item-gi>
</n-grid>
<n-grid v-if="currentStep == 2" :cols="24" :x-gap="0">
<n-form-item-gi :span="24" class="form-item" label="非遗传承人等级" path="inheritor_level">
<n-form-item-gi
:span="24"
class="form-item"
label="非遗传承人等级"
path="inheritor_level"
>
<template #label>
<div class="flex items-center gap-4">
<span>非遗传承人等级</span>
@ -190,9 +261,18 @@
</n-tooltip>
</div>
</template>
<n-select v-model:value="modalForm.inheritor_level" placeholder="非遗传承人等级" :options="fundingOptions2" />
<n-select
v-model:value="modalForm.inheritor_level"
placeholder="非遗传承人等级"
:options="fundingOptions2"
/>
</n-form-item-gi>
<n-form-item-gi :span="24" label="非遗传承人年龄水平及数量" path="inheritor_age_count" style="margin-left: 20px">
<n-form-item-gi
:span="24"
label="非遗传承人年龄水平及数量"
path="inheritor_age_count"
style="margin-left: 20px"
>
<template #label>
<div class="flex items-center gap-4">
<span>非遗传承人年龄水平及数量</span>
@ -204,19 +284,43 @@
</n-tooltip>
</div>
</template>
<NInput v-model:value="modalForm.inheritor_age_count[0]" placeholder="请输入≤50岁传承人数量" style="width: 220px"
type="number" />
<NInput v-model:value="modalForm.inheritor_age_count[1]" placeholder="请输入50-70岁传承人数量"
style="width: 220px; margin-left: 10px" type="number" />
<NInput v-model:value="modalForm.inheritor_age_count[2]" placeholder="请输入≥70岁传承人数量"
style="width: 220px; margin-left: 10px" type="number" />
<NInput
v-model:value="modalForm.inheritor_age_count[0]"
placeholder="请输入≤50岁传承人数量"
style="width: 220px"
type="number"
/>
<NInput
v-model:value="modalForm.inheritor_age_count[1]"
placeholder="请输入50-70岁传承人数量"
style="width: 220px; margin-left: 10px"
type="number"
/>
<NInput
v-model:value="modalForm.inheritor_age_count[2]"
placeholder="请输入≥70岁传承人数量"
style="width: 220px; margin-left: 10px"
type="number"
/>
</n-form-item-gi>
<n-form-item-gi :span="24" class="form-item upload-item" label="非遗传承人等级证书" path="inheritor_certificates">
<n-form-item-gi
:span="24"
class="form-item upload-item"
label="非遗传承人等级证书"
path="inheritor_certificates"
>
<div class="upload-row">
<n-upload :action="actionUrl" :default-file-list="modalForm.inheritor_certificates" :max="uploadLimit"
list-type="image-card" :on-before-upload="
<n-upload
:action="actionUrl"
:default-file-list="modalForm.inheritor_certificates"
:max="uploadLimit"
list-type="image-card"
:on-before-upload="
(options) => handleBeforeUpload(options, 'inheritor_certificates')
" @finish="handleFinish3" @remove="delete3">
"
@finish="handleFinish3"
@remove="delete3"
>
<div>
<img style="width: 24px; height: 24px" src="@/assets/images/upload.png" alt="" />
<p style="font-size: 12px">添加图片</p>
@ -237,13 +341,29 @@
</n-tooltip>
</div>
</template>
<n-select v-model:value="modalForm.heritage_level" placeholder="非遗等级" :options="heritageOptions" />
<n-select
v-model:value="modalForm.heritage_level"
placeholder="非遗等级"
:options="heritageOptions"
/>
</n-form-item-gi>
<n-form-item-gi :span="12" class="form-item" label="非遗资产所用专利的申请号" path="patent_application_no">
<NInput v-model:value="modalForm.patent_application_no" placeholder="非遗资产所用专利的申请号" />
<n-form-item-gi
:span="12"
class="form-item"
label="非遗资产所用专利的申请号"
path="patent_application_no"
>
<NInput
v-model:value="modalForm.patent_application_no"
placeholder="非遗资产所用专利的申请号"
/>
</n-form-item-gi>
<n-form-item-gi :span="20" label="非遗资产历史证明证据及数量" path="historical_evidence"
style="margin-left: 20px; width: 800px">
<n-form-item-gi
:span="20"
label="非遗资产历史证明证据及数量"
path="historical_evidence"
style="margin-left: 20px; width: 800px"
>
<template #label>
<div class="flex items-center gap-4">
<span>非遗资产历史证明证据及数量</span>
@ -255,16 +375,37 @@
</n-tooltip>
</div>
</template>
<NInput v-model:value="modalForm.historical_evidence[0]" placeholder="请输入出土实物样本数量" style="width: 220px"
type="number" />
<NInput v-model:value="modalForm.historical_evidence[1]" placeholder="请输入古代文献样本数量"
style="width: 220px; margin-left: 10px" type="number" />
<NInput v-model:value="modalForm.historical_evidence[2]" placeholder="请输入传承人佐证样本数量"
style="width: 220px; margin-left: 10px" type="number" />
<NInput v-model:value="modalForm.historical_evidence[3]" placeholder="请输入现代研究样本数量"
style="width: 220px; margin-left: 10px" type="number" />
<NInput
v-model:value="modalForm.historical_evidence[0]"
placeholder="请输入出土实物样本数量"
style="width: 220px"
type="number"
/>
<NInput
v-model:value="modalForm.historical_evidence[1]"
placeholder="请输入古代文献样本数量"
style="width: 220px; margin-left: 10px"
type="number"
/>
<NInput
v-model:value="modalForm.historical_evidence[2]"
placeholder="请输入传承人佐证样本数量"
style="width: 220px; margin-left: 10px"
type="number"
/>
<NInput
v-model:value="modalForm.historical_evidence[3]"
placeholder="请输入现代研究样本数量"
style="width: 220px; margin-left: 10px"
type="number"
/>
</n-form-item-gi>
<n-form-item-gi :span="24" class="form-item upload-item" label="非遗资产所用专利的证书" path="patent_certificates">
<n-form-item-gi
:span="24"
class="form-item upload-item"
label="非遗资产所用专利的证书"
path="patent_certificates"
>
<template #label>
<div class="flex items-center gap-4">
<span>非遗资产所用专利的证书</span>
@ -277,9 +418,15 @@
</div>
</template>
<div class="upload-row">
<n-upload :action="actionUrl" :default-file-list="modalForm.patent_certificates" :max="uploadLimit"
@finish="handleFinish1" @remove="delete1" list-type="image-card"
:on-before-upload="(options) => handleBeforeUpload(options, 'patent_certificates')">
<n-upload
:action="actionUrl"
:default-file-list="modalForm.patent_certificates"
:max="uploadLimit"
@finish="handleFinish1"
@remove="delete1"
list-type="image-card"
:on-before-upload="(options) => handleBeforeUpload(options, 'patent_certificates')"
>
<div>
<img style="width: 24px; height: 24px" src="@/assets/images/upload.png" alt="" />
<p style="font-size: 12px">添加图片</p>
@ -288,7 +435,12 @@
<div class="upload-tip">只支持JPG/PNG单张不超过20M最多上传10张</div>
</div>
</n-form-item-gi>
<n-form-item-gi :span="24" class="form-item upload-item" label="非遗纹样图片" path="pattern_images">
<n-form-item-gi
:span="24"
class="form-item upload-item"
label="非遗纹样图片"
path="pattern_images"
>
<template #label>
<div class="flex items-center gap-4">
<span>非遗纹样图片</span>
@ -301,9 +453,15 @@
</div>
</template>
<div class="upload-row">
<n-upload :action="actionUrl" :default-file-list="modalForm.pattern_images" :max="uploadLimit"
@finish="handleFinish2" @remove="delete2" list-type="image-card"
:on-before-upload="(options) => handleBeforeUpload(options, 'pattern_images')">
<n-upload
:action="actionUrl"
:default-file-list="modalForm.pattern_images"
:max="uploadLimit"
@finish="handleFinish2"
@remove="delete2"
list-type="image-card"
:on-before-upload="(options) => handleBeforeUpload(options, 'pattern_images')"
>
<div>
<img style="width: 24px; height: 24px" src="@/assets/images/upload.png" alt="" />
<p style="font-size: 12px">添加图片</p>
@ -314,7 +472,12 @@
</n-form-item-gi>
</n-grid>
<n-grid v-if="currentStep == 3" :cols="24" :x-gap="0">
<n-form-item-gi :span="24" class="form-item" label="非遗资产应用成熟度" path="application_maturity">
<n-form-item-gi
:span="24"
class="form-item"
label="非遗资产应用成熟度"
path="application_maturity"
>
<template #label>
<div class="flex items-center gap-4">
<span>非遗资产应用成熟度</span>
@ -326,9 +489,18 @@
</n-tooltip>
</div>
</template>
<n-select v-model:value="modalForm.application_maturity" placeholder="请选择" :options="maturityOptions" />
<n-select
v-model:value="modalForm.application_maturity"
placeholder="请选择"
:options="maturityOptions"
/>
</n-form-item-gi>
<n-form-item-gi :span="9" class="form-item" label="非遗资产应用覆盖范围" path="application_coverage">
<n-form-item-gi
:span="9"
class="form-item"
label="非遗资产应用覆盖范围"
path="application_coverage"
>
<template #label>
<div class="flex items-center gap-4">
<span>非遗资产应用覆盖范围</span>
@ -340,9 +512,18 @@
</n-tooltip>
</div>
</template>
<n-select v-model:value="modalForm.application_coverage" placeholder="请选择" :options="coverageOptions" />
<n-select
v-model:value="modalForm.application_coverage"
placeholder="请选择"
:options="coverageOptions"
/>
</n-form-item-gi>
<n-form-item-gi :span="12" class="form-item" label="非遗资产跨界合作深度" path="cooperation_depth">
<n-form-item-gi
:span="12"
class="form-item"
label="非遗资产跨界合作深度"
path="cooperation_depth"
>
<template #label>
<div class="flex items-center gap-4">
<span>非遗资产跨界合作深度</span>
@ -354,9 +535,18 @@
</n-tooltip>
</div>
</template>
<n-select v-model:value="modalForm.cooperation_depth" placeholder="请选择" :options="depthOptions" />
<n-select
v-model:value="modalForm.cooperation_depth"
placeholder="请选择"
:options="depthOptions"
/>
</n-form-item-gi>
<n-form-item-gi :span="12" class="form-item" label="近12个月线下相关宣讲活动次数" path="offline_activities">
<n-form-item-gi
:span="12"
class="form-item"
label="近12个月线下相关宣讲活动次数"
path="offline_activities"
>
<template #label>
<div class="flex items-center gap-4">
<span>近12个月线下相关宣讲活动次数</span>
@ -368,9 +558,18 @@
</n-tooltip>
</div>
</template>
<NInput v-model:value="modalForm.offline_activities" placeholder="近12个月线下相关宣讲活动次数" type="number" />
<NInput
v-model:value="modalForm.offline_activities"
placeholder="近12个月线下相关宣讲活动次数"
type="number"
/>
</n-form-item-gi>
<n-form-item-gi :span="22" style="margin-left: 20px" label="线上相关宣传账号信息" path="online_accounts">
<n-form-item-gi
:span="22"
style="margin-left: 20px"
label="线上相关宣传账号信息"
path="online_accounts"
>
<template #label>
<div class="flex items-center gap-4">
<span>线上相关宣传账号信息</span>
@ -384,27 +583,55 @@
</template>
<div>
<div style="display: flex">
<n-select style="width: 220px" v-model:value="modalForm.online_accounts[0]" placeholder="请选择"
:options="accountsOptions" />
<NInput v-model:value="modalForm.online_accounts[1]" placeholder="请输入账号"
style="width: 220px; margin-left: 10px" />
<NInput v-model:value="modalForm.online_accounts[2]" placeholder="请输入点赞数量"
style="width: 220px; margin-left: 10px" type="number" />
<n-select
style="width: 220px"
v-model:value="modalForm.online_accounts[0]"
placeholder="请选择"
:options="accountsOptions"
/>
<NInput
v-model:value="modalForm.online_accounts[1]"
placeholder="请输入账号"
style="width: 220px; margin-left: 10px"
/>
<NInput
v-model:value="modalForm.online_accounts[2]"
placeholder="请输入点赞数量"
style="width: 220px; margin-left: 10px"
type="number"
/>
</div>
<div style="display: flex; margin-top: 12px">
<NInput v-model:value="modalForm.online_accounts[3]" placeholder="请输入评论数量" style="width: 220px"
type="number" />
<NInput v-model:value="modalForm.online_accounts[4]" placeholder="请输入分享数量"
style="width: 220px; margin-left: 10px" type="number" />
<NInput v-model:value="modalForm.online_accounts[5]" placeholder="请输入近七天点击量"
style="width: 220px; margin-left: 10px" type="number" />
<NInput
v-model:value="modalForm.online_accounts[3]"
placeholder="请输入评论数量"
style="width: 220px"
type="number"
/>
<NInput
v-model:value="modalForm.online_accounts[4]"
placeholder="请输入分享数量"
style="width: 220px; margin-left: 10px"
type="number"
/>
<NInput
v-model:value="modalForm.online_accounts[5]"
placeholder="请输入近七天点击量"
style="width: 220px; margin-left: 10px"
type="number"
/>
</div>
</div>
</n-form-item-gi>
</n-grid>
<n-grid v-if="currentStep == 4" :cols="24" :x-gap="0">
<n-form-item-gi :span="10" class="form-item" label="该商品近12个月销售量" path="sales_volume">
<n-form-item-gi
:span="10"
class="form-item"
label="该商品近12个月销售量"
path="sales_volume"
>
<template #label>
<div class="flex items-center gap-4">
<span>该商品近12个月销售量</span>
@ -418,7 +645,12 @@
</template>
<NInput v-model:value="modalForm.sales_volume" placeholder="请输入" type="number" />
</n-form-item-gi>
<n-form-item-gi :span="12" class="form-item" label="该商品近12个月的链接浏览量" path="link_views">
<n-form-item-gi
:span="12"
class="form-item"
label="该商品近12个月的链接浏览量"
path="link_views"
>
<template #label>
<div class="flex items-center gap-4">
<span>该商品近12个月的链接浏览量</span>
@ -444,10 +676,19 @@
</n-tooltip>
</div>
</template>
<n-select v-model:value="modalForm.circulation" placeholder="请选择" :options="circulationOptions"
:consistent-menu-width="false" />
<n-select
v-model:value="modalForm.circulation"
placeholder="请选择"
:options="circulationOptions"
:consistent-menu-width="false"
/>
</n-form-item-gi>
<n-form-item-gi :span="12" class="form-item" label="该商品最近一次市场活动时间" path="last_market_activity">
<n-form-item-gi
:span="12"
class="form-item"
label="该商品最近一次市场活动时间"
path="last_market_activity"
>
<template #label>
<div class="flex items-center gap-4">
<span>该商品最近一次市场活动时间</span>
@ -459,7 +700,11 @@
</n-tooltip>
</div>
</template>
<n-select v-model:value="modalForm.last_market_activity" placeholder="请选择" :options="activityOptions" />
<n-select
v-model:value="modalForm.last_market_activity"
placeholder="请选择"
:options="activityOptions"
/>
</n-form-item-gi>
<n-form-item-gi :span="10" class="form-item" label="月交易额" path="monthly_transaction">
<template #label>
@ -473,9 +718,18 @@
</n-tooltip>
</div>
</template>
<n-select v-model:value="modalForm.monthly_transaction" placeholder="请选择" :options="transactionOptions" />
<n-select
v-model:value="modalForm.monthly_transaction"
placeholder="请选择"
:options="transactionOptions"
/>
</n-form-item-gi>
<n-form-item-gi :span="6" class="form-item" label="该商品近30天价格波动区间" path="price_fluctuation">
<n-form-item-gi
:span="6"
class="form-item"
label="该商品近30天价格波动区间"
path="price_fluctuation"
>
<template #label>
<div class="flex items-center gap-4">
<span>该商品近30天价格波动区间</span>
@ -487,14 +741,27 @@
</n-tooltip>
</div>
</template>
<NInput v-model:value="modalForm.price_fluctuation[0]" placeholder="最低价" style="width: 220px" />
<NInput
v-model:value="modalForm.price_fluctuation[0]"
placeholder="最低价"
style="width: 220px"
/>
<span style="display: inline-block; margin: 0 8px">-</span>
<NInput v-model:value="modalForm.price_fluctuation[1]" placeholder="最高价" style="width: 220px" />
<NInput
v-model:value="modalForm.price_fluctuation[1]"
placeholder="最高价"
style="width: 220px"
/>
</n-form-item-gi>
</n-grid>
</NForm>
<div class="submit-box">
<div v-if="currentStep != 0" class="submit-btn2" style="cursor: pointer" @click="previousStep">
<div
v-if="currentStep != 0"
class="submit-btn2"
style="cursor: pointer"
@click="previousStep"
>
上一步
</div>
<div v-if="currentStep != 4" class="submit-btn">
@ -505,7 +772,7 @@
</div>
</div>
</div>
<div v-if="!pageLoading && status == 'success'" class="right">
<div v-if="!pageLoading && status != 'fail' && status != 'create'" class="right">
<div class="price-container" :style="{ backgroundImage: `url(${backgroundImg})` }">
<div>¥{{ parseInt(selectedObj?.calculation_result?.final_value_ab) }}</div>
<div style="font-size: 20px; color: #303133; line-height: 20px">最终评估结果</div>
@ -522,101 +789,145 @@
</div>
</div>
<div style="display: flex; margin: auto; margin-top: 24px; width: 1010px">
<div class="score-box" style="
<div
class="score-box"
style="
background: linear-gradient(90deg, #3196ff 0%, #165dff 100%);
color: #303133;
font-size: 14px;
" :style="{ backgroundImage: `url(${backgroundImg3})`, backgroundSize: 'contain' }">
"
:style="{ backgroundImage: `url(${backgroundImg3})`, backgroundSize: 'contain' }"
>
<div style="font-size: 18px; font-weight: bold">
<img style="width: 18px; height: 18px; transform: translate(-2px, 2px)" src="@/assets/images/cost.png"
alt="" />
<img
style="width: 18px; height: 18px; transform: translate(-2px, 2px)"
src="@/assets/images/cost.png"
alt=""
/>
经济价值评估
</div>
<div ref="economy" style="
<div
ref="economy"
style="
text-align: center;
font-size: 30px;
font-weight: bold;
margin-top: 10px;
height: 95px;
" :style="{
"
:style="{
backgroundImage: `url(${backgroundImg4})`,
backgroundSize: '167px 95px',
backgroundPosition: 'center 2px',
backgroundRepeat: 'no-repeat',
}"></div>
}"
></div>
<div style="margin-top: 20px">
基础价值评估<span style="font-weight: bold">优秀</span>
</div>
<div>流量因子评估<span style="font-weight: bold">良好</span></div>
<div>政策系数评估<span style="font-weight: bold; color: #165dff">极强</span></div>
</div>
<div class="score-box" style="background: #ffde1144; color: #303133; font-size: 14px"
:style="{ backgroundImage: `url(${backgroundImg2})` }">
<div
class="score-box"
style="background: #ffde1144; color: #303133; font-size: 14px"
:style="{ backgroundImage: `url(${backgroundImg2})` }"
>
<div style="font-size: 18px; font-weight: bold">
<img style="width: 18px; height: 18px; transform: translate(0, 2px)" src="@/assets/images/cost2.png"
alt="" />
<img
style="width: 18px; height: 18px; transform: translate(0, 2px)"
src="@/assets/images/cost2.png"
alt=""
/>
文化价值评估
</div>
<div ref="culture" style="
<div
ref="culture"
style="
text-align: center;
font-size: 30px;
font-weight: bold;
margin-top: 10px;
height: 95px;
" :style="{
"
:style="{
backgroundImage: `url(${backgroundImg5})`,
backgroundSize: '167px 95px',
backgroundPosition: 'center 2px',
backgroundRepeat: 'no-repeat',
}"></div>
}"
></div>
<div style="margin-top: 20px">
活态传承系数评估<span style="font-weight: bold">优秀</span>
</div>
<div>纹样基因熵值评估<span style="font-weight: bold">优秀</span></div>
</div>
<div class="score-box" style="background: #5bd77944; color: #303133; font-size: 14px"
:style="{ backgroundImage: `url(${backgroundImg1})` }">
<div
class="score-box"
style="background: #5bd77944; color: #303133; font-size: 14px"
:style="{ backgroundImage: `url(${backgroundImg1})` }"
>
<div style="font-size: 18px; font-weight: bold">
<img style="width: 18px; height: 18px; transform: translate(0, 2px)" src="@/assets/images/cost1.png"
alt="" />
<img
style="width: 18px; height: 18px; transform: translate(0, 2px)"
src="@/assets/images/cost1.png"
alt=""
/>
文化价值风险控制
</div>
<div ref="risk" style="
<div
ref="risk"
style="
text-align: center;
font-size: 30px;
font-weight: bold;
margin-top: 10px;
height: 95px;
" :style="{
"
:style="{
backgroundImage: `url(${backgroundImg6})`,
backgroundSize: '167px 95px',
backgroundPosition: 'center 2px',
backgroundRepeat: 'no-repeat',
}"></div>
}"
></div>
<div style="margin-top: 20px">
风险调整系数<span style="font-weight: bold; color: #2eae44"></span>
</div>
</div>
</div>
<div class="retry" @click="retry" style="background: #f8f8f8; color: #303133; line-height: 40px">
<img style="width: 16px; height: 16px; transform: translate(0, 2px); margin-right: 6px"
src="@/assets/images/retry.png" alt="" />
重新评估
<div style="display: flex; justify-content: center" ;>
<div class="retry" @click="gotoHome">返回首页</div>
<div
class="retry"
@click="gotoHistory"
style="background: #f8f8f8; color: #303133; line-height: 40px"
>
查看估值记录
</div>
</div>
</div>
<div v-if="!pageLoading && status == 'fail'" class="right" style="text-align: center">
<img style="width: 100px; height: 100px; margin-top: 30vh" src="@/assets/images/fail.png" alt="" />
<img
style="width: 100px; height: 100px; margin-top: 30vh"
src="@/assets/images/fail.png"
alt=""
/>
<div style="font-size: 20px">评估失败</div>
<div style="font-size: 14px; color: #999999; margin-top: 10px">
很抱歉您的知识产权和非物质文化遗产的价值评估失败请重新评估
</div>
<div class="retry" @click="retry">
<img style="width: 16px; height: 16px; transform: translate(0, 2px); margin-right: 6px"
src="@/assets/images/retry.png" alt="" />
<img
style="width: 16px; height: 16px; transform: translate(0, 2px); margin-right: 6px"
src="@/assets/images/retry.png"
alt=""
/>
重新评估
</div>
</div>
<div v-if="!pageLoading && status == 'pending'" class="right" style="
<!-- <div v-if="!pageLoading && status == 'pending'" class="right" style="
display: flex;
flex-direction: column;
align-items: center;
@ -628,7 +939,7 @@
<div style="font-size: 14px; color: #999999; margin-top: 10px">
您的知识产权和非物质文化遗产的价值正在评估中预计30秒到1分钟请耐心等候
</div>
</div>
</div> -->
</div>
</template>
@ -1216,7 +1527,7 @@
}
})
}
const submit = () => {
const submit = async () => {
const data = {
...modalForm,
industry: industryOptions.value.find((item) => item.value === modalForm.industry).label,
@ -1298,17 +1609,60 @@
}
}
data.inheritor_age_count = data.inheritor_ages
message.success('正在评估中,请前往历史记录查看')
loading.value = true
// message.success('')
pageLoading.value = true
api.valuations(data).then((res) => {
loading.value = false
getHistoryList()
message.success('评估完成 将于7个工作日内生成报告与证书 以短信形式通知')
router.push('/user-center')
// loading.value = false
// getHistoryList()
// message.success(' 7 ')
// router.push('/user-center')
// status.value = 'success'
// setTimeout(() => {
// window.location.reload()
// }, 1000)
//
const pollWithLimit = async (maxRetries = 60, valuation_id) => {
let retries = 0
const poll = async () => {
retries++
if (retries > maxRetries) {
return false
}
try {
const res = await api.getValuation(valuation_id)
if (res.data && res.data.calculation_result) {
pageLoading.value = false
selectTimeBox(res.data)
dialog.success({
title: '评估完成',
content: '将于7个工作日内生成报告与证书以短信形式通知',
positiveText: '我已知晓',
negativeText: '取消',
})
return true
} else {
return new Promise((resolve) => {
setTimeout(async () => {
resolve(await poll())
}, 2000)
})
}
} catch (error) {
return new Promise((resolve) => {
setTimeout(async () => {
resolve(await poll())
}, 2000)
})
}
}
await poll()
}
console.log(res)
if (res.code == 200) {
pollWithLimit(60, res.data.valuation_id)
}
})
}
const getHistoryList = () => {
@ -1352,6 +1706,14 @@
console.log(err)
}
}
function gotoHome() {
router.push('/home')
}
function gotoHistory() {
router.push('/user-center/history')
}
const dialog = useDialog()
const openSubmitConfirm = () => {
dialog.warning({
@ -1362,22 +1724,7 @@
onPositiveClick: () => submit(),
})
}
const deleteValuations = (item) => {
dialog.warning({
title: '确认删除',
content: '是否确认删除记录?',
positiveText: '确定',
negativeText: '取消',
draggable: true,
onPositiveClick: () => {
api.deleteValuations(item).then(() => {
message.success('删除成功')
getHistoryList()
status.value = 'create'
})
},
})
}
import * as echarts from 'echarts'
import type { ECharts, EChartsOption } from 'echarts'
import { useUserStore } from '@/store'
@ -1674,7 +2021,7 @@
.retry {
text-align: center;
margin: auto;
margin: 12px;
margin-top: 40px;
width: 180px;
height: 40px;
@ -1683,6 +2030,7 @@
font-size: 16px;
line-height: 40px;
color: #ffffff;
cursor: pointer;
}
.price-container {

View File

@ -141,7 +141,10 @@ const columns = [
NSpace,
{ size: 8, justify: 'center' },
{
default: () => [
default: () => {
let arr = []
if (row.report_download_urls.length) {
arr.push(
h(
NButton,
{
@ -154,7 +157,11 @@ const columns = [
},
},
{ default: () => '下载报告' }
),
)
)
}
if (row.certificate_download_urls.length)
arr.push(
h(
NButton,
{
@ -167,8 +174,11 @@ const columns = [
},
},
{ default: () => '下载证书' }
),
],
)
)
return arr
},
}
),
},