提交 112d4c3d authored 作者: CRS's avatar CRS

合并分支 'crs' 到 'master'

new 查看合并请求 !125
......@@ -7,7 +7,7 @@
<p class="title">{{systemName}}</p>
<p class="title">{{reportName}}</p>
<div>
<table border="1" cellspacing="0" style="width: 100%">
<table border="1" cellspacing="0" style="width: 100%;margin-top: 90px;">
<tr>
<td style="width: 12px; text-align: center;padding: 0;">序号</td>
<td style="width: 80px; text-align: center;padding: 0;">概要信息</td>
......@@ -42,48 +42,48 @@
<div class="page">
<p class="list">目录</p>
<div class="listContent">
<p class="child">目录....................................................I</p>
<p class="child">1. 评估报告声明.........................................3</p>
<p class="child">1.1. 报告组成........................................3</p>
<p class="child">1.2. 报告作用........................................4</p>
<p class="child">1.3. 其他注意事项....................................4</p>
<p class="child">2. 评估标准和方法.......................................6</p>
<p class="child">2.1. 参照标准........................................6</p>
<p class="child">2.1.1. “912工程”相关政策法规....................6</p>
<p class="child">2.1.2. “912工程”相关国家标准与规范..............6</p>
<p class="child">2.1.3. “L77软件工程”国家分类标准................6</p>
<p class="child">2.1.4. 其他编制依据...............................6</p>
<p class="child">2.2. 评估流程与方法.................................11</p>
<p class="child">2.2.1. 基本评估流程...............................11</p>
<p class="child">2.2.2. 结合国家标准L77类目下的度量说明............12</p>
<p class="child">2.2.3. 递归的精度与误差说明.......................17</p>
<p class="child">3. 原应用系统评估......................................19</p>
<p class="child">3.1. 原应用系统概要.................................19</p>
<p class="child">3.1.1. 基本信息...................................19</p>
<p class="child">3.1.2. 原系统代码规模.............................{{pageList[0]}}</p>
<p class="child">3.2. 关键技术依赖...................................{{pageList[0]}}</p>
<p class="child">3.2.1. 可优化的项.................................{{pageList[1]}}</p>
<p class="child">3.2.2. 必须替换的项...............................{{pageList[2]}}</p>
<p class="child">3.2.3. 需要验证修改的项...........................{{pageList[3]}}</p>
<p class="child">目录..................................................<span>I</span></p>
<p class="child">1. 评估报告声明.......................................<span>3</span></p>
<p class="child">1.1. 报告组成......................................<span>3</span></p>
<p class="child">1.2. 报告作用......................................<span>4</span></p>
<p class="child">1.3. 其他注意事项..................................<span>4</span></p>
<p class="child">2. 原应用系统评估....................................<span>6</span></p>
<p class="child">2.1. 原应用系统概要...............................<span>6</span></p>
<p class="child">2.1.1. 基本信息.................................<span>6</span></p>
<p class="child">2.1.2. 原系统代码规模...........................<span>{{pageList[0]}}</span></p>
<p class="child">2.2. 关键技术依赖.................................<span>{{pageList[0]}}</span></p>
<p class="child">2.2.1. 可优化的项...............................<span>{{pageList[1]}}</span></p>
<p class="child">2.2.2. 必须替换的项.............................<span>{{pageList[2]}}</span></p>
<p class="child">2.2.3. 需要验证修改的项.........................<span>{{pageList[3]}}</span></p>
<p class="child">2.3. 难度系数和综合系数修正.......................<span>{{pageList[4]}}</span></p>
<p class="child">2.4. 人工月估算...................................<span>{{pageList[4]}}</span></p>
<p class="child">2.5. 额外申请.....................................<span>{{pageList[4]}}</span></p>
<p class="child">2.6. 预算建议.....................................<span>{{pageList[5]}}</span></p>
<p class="child">3. 评估标准和方法....................................<span>{{pageList[6]}}</span></p>
<p class="child">3.1. 参照标准......................................<span>{{pageList[6]}}</span></p>
<p class="child">3.1.1. “912工程”相关政策法规..................<span>{{pageList[6]}}</span></p>
<p class="child">3.1.2. “912工程”相关国家标准与规范............<span>{{pageList[7]}}</span></p>
<p class="child">3.1.3. “L77软件工程”国家分类标准..............<span>{{pageList[9]}}</span></p>
<p class="child">3.1.4. 其他编制依据.............................<span>{{pageList[10]}}</span></p>
</div>
<p class="pageIndex">1</p>
</div>
<div class="page">
<div class="listContent">
<p class="child">3.3. 难度系数和综合系数修正.........................{{pageList[4]}}</p>
<p class="child">3.4. 人工月估算.....................................{{pageList[4]}}</p>
<p class="child">3.5. 额外申请.......................................{{pageList[4]}}</p>
<p class="child">3.6. 预算建议.......................................{{pageList[5]}}</p>
<p class="child">4. 评估建议............................................{{pageList[6]}}</p>
<p class="child">4.1. 适配/改造路线选择..............................{{pageList[6]}}</p>
<p class="child">4.2. 关键工作与方法.................................{{pageList[6]}}</p>
<p class="child">4.2.1. 开发框架解决方法...........................{{pageList[6]}}</p>
<p class="child">4.2.2. 浏览器的适配兼容性改造解决方法.............{{pageList[7]}}</p>
<p class="child">4.2.3. 浏览器功能组件的替换和适配解决方法.........{{pageList[7]}}</p>
<p class="child">4.2.4. B/S结构下的重构............................{{pageList[8]}}</p>
<p class="child">4.2.5. C/S结构下的重构............................{{pageList[8]}}</p>
<p class="child">4.2.6. 部署和迁移策略.............................{{pageList[8]}}</p>
<p class="child">5. 附件...............................................{{pageList[11]}}</p>
<p class="child">3.2. 评估流程与方法...............................<span>{{pageList[11]}}</span></p>
<p class="child">3.2.1. 基本评估流程.............................<span>{{pageList[11]}}</span></p>
<p class="child">3.2.2. 结合国家标准L77类目下的度量说明..........<span>{{pageList[12]}}</span></p>
<p class="child">3.2.3. 递归的精度与误差说明.....................<span>{{pageList[17]}}</span></p>
<p class="child">4. 评估建议..........................................<span>{{pageList[19]}}</span></p>
<p class="child">4.1. 适配/改造路线选择............................<span>{{pageList[19]}}</span></p>
<p class="child">4.2. 关键工作与方法...............................<span>{{pageList[19]}}</span></p>
<p class="child">4.2.1. 开发框架解决方法.........................<span>{{pageList[19]}}</span></p>
<p class="child">4.2.2. 浏览器的适配兼容性改造解决方法...........<span>{{pageList[20]}}</span></p>
<p class="child">4.2.3. 浏览器功能组件的替换和适配解决方法.......<span>{{pageList[20]}}</span></p>
<p class="child">4.2.4. B/S结构下的重构..........................<span>{{pageList[21]}}</span></p>
<p class="child">4.2.5. C/S结构下的重构..........................<span>{{pageList[21]}}</span></p>
<p class="child">4.2.6. 部署和迁移策略...........................<span>{{pageList[21]}}</span></p>
<p class="child">5. 附件.............................................<span>{{pageList[24]}}</span></p>
</div>
<p class="pageIndex">2</p>
</div>
......@@ -104,104 +104,13 @@
<p class="contentList" v-for="item of reportOther2">{{item}}</p>
<p class="pageIndex">5</p>
</div>
<!-- 2-->
<div class="page">
<p class="title1">2.&nbsp;评估标准和方法</p>
<p class="title2">2.1.&nbsp;参照标准</p>
<p class="title3">2.1.1.&nbsp;“912工程”相关政策法规</p>
<p class="contentList" style="letter-spacing:1px; text-indent:0em;" v-for="item of regulations">{{item}}</p>
<p class="title1">2.&nbsp;原应用系统评估</p>
<p class="title2">2.1.&nbsp;原应用系统概要</p>
<p class="title3">2.1.1.&nbsp;基本信息</p>
<p class="pageIndex">6</p>
</div>
<div class="page">
<p class="contentList" style="letter-spacing:1px;text-indent:0em;" v-for="item of regulations">{{item}}</p>
<p class="contentList" style="letter-spacing:1px;text-indent:0em;" v-for="item of supplement">{{item}}</p>
<p class="title3">2.1.2.&nbsp;“912工程”相关国家标准与规范</p>
<p class="contentList" style="letter-spacing:1px;text-indent:0em;" v-for="item of nationalNorms">{{item}}</p>
<p class="pageIndex">7</p>
</div>
<div class="page">
<p class="contentList" style="letter-spacing:1px;text-indent:0em;" v-for="item of nationalNorms2">{{item}}</p>
<p class="pageIndex">8</p>
</div>
<div class="page">
<p class="contentList" style="letter-spacing:1px;text-indent:0em;" v-for="item of nationalNorms3">{{item}}</p>
<p class="title3">2.1.3.&nbsp;“L77软件工程”国家分类标准</p>
<p class="contentList" style="letter-spacing:1px;text-indent:0em;" v-for="item of classificationCriteria">{{item}}</p>
<p class="pageIndex">9</p>
</div>
<div class="page">
<p class="contentList" style="letter-spacing:1px;text-indent:0em;" v-for="item of classificationCriteria2">{{item}}</p>
<p class="title3">2.1.4.&nbsp;其他编制依据</p>
<p class="contentList" style="letter-spacing:1px;text-indent:0em;" v-for="item of otherEstablishments">{{item}}</p>
<p class="pageIndex">10</p>
</div>
<div class="page">
<p class="contentList" style="letter-spacing:1px;text-indent:0em;" v-for="item of otherEstablishments2">{{item}}</p>
<p class="title2">2.2.&nbsp;评估流程与方法</p>
<p class="title3">2.2.1.&nbsp;基本评估流程</p>
<p>
<img src="./img/1.png" style="width: 100%">
</p>
<p class="contentList" v-for="item of evaluationProcess">{{item}}</p>
<p class="pageIndex">11</p>
</div>
<div class="page">
<p class="contentList" v-for="item of evaluationProcess2">{{item}}</p>
<p class="title3">2.2.2.&nbsp;结合国家标准L77类目下的度量说明</p>
<p class="contentList" v-for="item of metricDescription">{{item}}</p>
<p class="title4">2.2.2.1.&nbsp;规模测算</p>
<p class="contentList" v-for="item of scaleConversion">{{item}}</p>
<p class="pageIndex">12</p>
</div>
<div class="page">
<p class="contentList">笼统的算法如下式计算:</p>
<p class="contentList" style="text-align:center;">S = US*CF</p>
<p class="contentList" v-for="item of scaleConversion2">{{item}}</p>
<p class="title4">2.2.2.2.&nbsp;工作量测算</p>
<p class="contentList">根据GB/T 36964-2018的流程,规模测算完成的结果,将指导和约束工作量测算和成本测算。</p>
<p>
<img src="./img/2.png" style="width: 100%">
</p>
<p class="contentList">工作量测算在自动化评估中采用GB/T36964-2018的方程法、类比法、类推法3种方法。包含对未知技术依赖的不确定工作量和测试</p>
<p class="pageIndex">13</p>
</div>
<div class="page">
<p class="contentList" style="text-indent:0em;">修改的不可预见工作量。</p>
<p class="contentList" v-for="item of workloadCalculation">{{item}}</p>
<p class="pageIndex">14</p>
</div>
<div class="page">
<p class="contentList" v-for="item of workloadCalculation2">{{item}}</p>
<p class="pageIndex">15</p>
</div>
<div class="page">
<p class="contentList" v-for="item of workloadCalculation3">{{item}}</p>
<p class="title4">2.2.2.3.&nbsp;人工月单价测算</p>
<p class="contentList" v-for="item of unitPriceCalculation">{{item}}</p>
<p class="pageIndex">16</p>
</div>
<div class="page">
<p class="contentList" style="text-indent:0em;">1.5万元/人工月,允许委托单位输入时补充额外金额申请。</p>
<p class="title3">2.2.3.&nbsp;递归的精度与误差说明</p>
<p class="contentList" v-for="item of recursivePrecision">{{item}}</p>
<p class="title4">2.2.3.1.&nbsp;整体类比法</p>
<p class="contentList" v-for="item of overallAnalogy">{{item}}</p>
<p class="pageIndex">17</p>
</div>
<div class="page">
<p class="contentList" style="text-indent:0em;">码或文件。功能非相关的和功能不启用的部分,交由委托单位现场确认。确认后删除或保留。如发现完整性严重缺失,委托单位重新提交。</p>
<p class="contentList">而后二次导入,进行自动化评估。该方法将最大程度筛查和杜绝各种原因造成的调研数据错误、代码文件无关参杂的情况。也是确保评估误差可控的前提。</p>
<p class="title4">2.2.3.1.&nbsp;开发时间固定百分比法</p>
<p class="contentList" v-for="item of fixedDevelopment">{{item}}</p>
<p class="pageIndex">18</p>
</div>
<!-- 3-->
<div class="page">
<p class="contentList" style="text-indent:0em;">推算的预算建议,将作为宁波市安可办的审核依据和预算约束。</p>
<p class="title1">3.&nbsp;原应用系统评估</p>
<p class="title2">3.1.&nbsp;原应用系统概要</p>
<p class="title3">3.1.1.&nbsp;基本信息</p>
<p class="pageIndex">19</p>
</div>
<div v-for="(item,itemIndex) of messageList">
<div class="pageOther" v-for="(arr,index) of item.val">
<p class="contentList" style="text-indent:0em;" v-if="index ===0">{{item.name}}</p>
......@@ -215,7 +124,7 @@
</table>
</div>
<p class="pageIndex" v-for="item of messagePage">
<span v-if="item.itemIndex === itemIndex && item.arrIndex === index">{{19 + item.page}}</span>
<span v-if="item.itemIndex === itemIndex && item.arrIndex === index">{{6 + item.page}}</span>
</p>
</div>
</div>
......@@ -276,13 +185,13 @@
</tr>
</table>
<p class="pageIndex" v-for="item of optimizedPage">
<span v-if="item.itemIndex === itemInd && item.arrIndex === index">{{20 + item.page + page1}}</span>
<span v-if="item.itemIndex === itemInd && item.arrIndex === index">{{7 + item.page + page1}}</span>
</p>
</div>
</div>
</div>
<div class="page" v-if="optimized.length === 0">
<p class="title3">3.2.1.&nbsp;可优化的项</p>
<p class="title3">2.2.1.&nbsp;可优化的项</p>
<p>暂无</p>
<p class="pageIndex">{{pageList[1]}}</p>
</div>
......@@ -313,14 +222,14 @@
</tr>
</table>
<p class="pageIndex" v-for="item of replacedPage">
<span v-if="item.itemIndex === itemInd && item.arrIndex === index && optimized.length !== 0">{{20 + item.page + page1 + page2}}</span>
<span v-if="item.itemIndex === itemInd && item.arrIndex === index && optimized.length === 0">{{20 + item.page + page1 + 1}}</span>
<span v-if="item.itemIndex === itemInd && item.arrIndex === index && optimized.length !== 0">{{7 + item.page + page1 + page2}}</span>
<span v-if="item.itemIndex === itemInd && item.arrIndex === index && optimized.length === 0">{{7 + item.page + page1 + 1}}</span>
</p>
</div>
</div>
</div>
<div class="page" v-if="replaced.length === 0">
<p class="title3">3.2.2.&nbsp;必须替换的项</p>
<p class="title3">2.2.2.&nbsp;必须替换的项</p>
<p>暂无</p>
<p class="pageIndex">{{pageList[2]}}</p>
</div>
......@@ -351,21 +260,21 @@
</tr>
</table>
<p class="pageIndex" v-for="item of verificationPage">
<span v-if="item.itemIndex === itemInd && item.arrIndex === index && optimized.length !== 0 && replaced.length !== 0">{{20 + item.page + page1 + page2 + page3}}</span>
<span v-if="item.itemIndex === itemInd && item.arrIndex === index && optimized.length === 0 && replaced.length !== 0">{{20 + item.page + page1 + 1 + page3}}</span>
<span v-if="item.itemIndex === itemInd && item.arrIndex === index && optimized.length !== 0 && replaced.length === 0">{{20 + item.page + page1 + 1 + page2}}</span>
<span v-if="item.itemIndex === itemInd && item.arrIndex === index && optimized.length === 0 && replaced.length === 0">{{20 + item.page + page1 + 2}}</span>
<span v-if="item.itemIndex === itemInd && item.arrIndex === index && optimized.length !== 0 && replaced.length !== 0">{{7 + item.page + page1 + page2 + page3}}</span>
<span v-if="item.itemIndex === itemInd && item.arrIndex === index && optimized.length === 0 && replaced.length !== 0">{{7 + item.page + page1 + 1 + page3}}</span>
<span v-if="item.itemIndex === itemInd && item.arrIndex === index && optimized.length !== 0 && replaced.length === 0">{{7 + item.page + page1 + 1 + page2}}</span>
<span v-if="item.itemIndex === itemInd && item.arrIndex === index && optimized.length === 0 && replaced.length === 0">{{7 + item.page + page1 + 2}}</span>
</p>
</div>
</div>
</div>
<div class="page" v-if="verification.length === 0">
<p class="title3">3.2.3.&nbsp;需要验证修改的项</p>
<p class="title3">2.2.3.&nbsp;需要验证修改的项</p>
<p>暂无</p>
<p class="pageIndex">{{pageList[3]}}</p>
</div>
<div class="page">
<p class="title2">3.3.&nbsp;难度系数和综合系数修正</p>
<p class="title2">2.3.&nbsp;难度系数和综合系数修正</p>
<div>
<table border="1" cellspacing="0" style="margin-top: 10px;width: 100%">
<tr>
......@@ -393,7 +302,7 @@
</tr>
</table>
</div>
<p class="title2">3.4.&nbsp;人工月估算</p>
<p class="title2">2.4.&nbsp;人工月估算</p>
<div>
<table border="1" cellspacing="0" style="margin-top: 10px;width: 100%">
<tr>
......@@ -424,7 +333,7 @@
</tr>
</table>
</div>
<p class="title2">3.5.&nbsp;额外申请</p>
<p class="title2">2.5.&nbsp;额外申请</p>
<div>
<table border="1" cellspacing="0" style="margin-top: 10px;width: 100%;">
<tr>
......@@ -440,7 +349,7 @@
<p class="pageIndex">{{pageList[4]}}</p>
</div>
<div class="page">
<p class="title2">3.6.&nbsp;预算建议</p>
<p class="title2">2.6.&nbsp;预算建议</p>
<p class="contentList">
由于不同地区、不同行业甚至不同功能项的软件开发人工月单价存在浮动,请在表格内调节该参数。调整后预算费用: {{newCost.cost.now}} 万元,
难度系数:<span v-if="degreeOfDifficulty">{{degreeOfDifficulty}}</span>
......@@ -450,7 +359,7 @@
<tr>
<td></td>
<td>默认值</td>
<td>操作</td>
<td>人工审核</td>
<td>调整后</td>
</tr>
<tr>
......@@ -481,6 +390,97 @@
</div>
<p class="pageIndex">{{pageList[5]}}</p>
</div>
<!-- 3-->
<div class="page">
<p class="title1">3.&nbsp;评估标准和方法</p>
<p class="title2">3.1.&nbsp;参照标准</p>
<p class="title3">3.1.1.&nbsp;“912工程”相关政策法规</p>
<p class="contentList" style="letter-spacing:1px; text-indent:0em;" v-for="item of regulations">{{item}}</p>
<p class="pageIndex">{{pageList[6]}}</p>
</div>
<div class="page">
<p class="contentList" style="letter-spacing:1px;text-indent:0em;" v-for="item of regulations">{{item}}</p>
<p class="contentList" style="letter-spacing:1px;text-indent:0em;" v-for="item of supplement">{{item}}</p>
<p class="title3">2.1.2.&nbsp;“912工程”相关国家标准与规范</p>
<p class="contentList" style="letter-spacing:1px;text-indent:0em;" v-for="item of nationalNorms">{{item}}</p>
<p class="pageIndex">{{pageList[7]}}</p>
</div>
<div class="page">
<p class="contentList" style="letter-spacing:1px;text-indent:0em;" v-for="item of nationalNorms2">{{item}}</p>
<p class="pageIndex">{{pageList[8]}}</p>
</div>
<div class="page">
<p class="contentList" style="letter-spacing:1px;text-indent:0em;" v-for="item of nationalNorms3">{{item}}</p>
<p class="title3">3.1.3.&nbsp;“L77软件工程”国家分类标准</p>
<p class="contentList" style="letter-spacing:1px;text-indent:0em;" v-for="item of classificationCriteria">{{item}}</p>
<p class="pageIndex">{{pageList[9]}}</p>
</div>
<div class="page">
<p class="contentList" style="letter-spacing:1px;text-indent:0em;" v-for="item of classificationCriteria2">{{item}}</p>
<p class="title3">3.1.4.&nbsp;其他编制依据</p>
<p class="contentList" style="letter-spacing:1px;text-indent:0em;" v-for="item of otherEstablishments">{{item}}</p>
<p class="pageIndex">{{pageList[10]}}</p>
</div>
<div class="page">
<p class="contentList" style="letter-spacing:1px;text-indent:0em;" v-for="item of otherEstablishments2">{{item}}</p>
<p class="title2">3.2.&nbsp;评估流程与方法</p>
<p class="title3">3.2.1.&nbsp;基本评估流程</p>
<p>
<img src="./img/1.png" style="width: 100%">
</p>
<p class="contentList" v-for="item of evaluationProcess">{{item}}</p>
<p class="pageIndex">{{pageList[11]}}</p>
</div>
<div class="page">
<p class="contentList" v-for="item of evaluationProcess2">{{item}}</p>
<p class="title3">3.2.2.&nbsp;结合国家标准L77类目下的度量说明</p>
<p class="contentList" v-for="item of metricDescription">{{item}}</p>
<p class="title4">3.2.2.1.&nbsp;规模测算</p>
<p class="contentList" v-for="item of scaleConversion">{{item}}</p>
<p class="pageIndex">{{pageList[12]}}</p>
</div>
<div class="page">
<p class="contentList">笼统的算法如下式计算:</p>
<p class="contentList" style="text-align:center;">S = US*CF</p>
<p class="contentList" v-for="item of scaleConversion2">{{item}}</p>
<p class="title4">3.2.2.2.&nbsp;工作量测算</p>
<p class="contentList">根据GB/T 36964-2018的流程,规模测算完成的结果,将指导和约束工作量测算和成本测算。</p>
<p>
<img src="./img/2.png" style="width: 100%">
</p>
<p class="contentList">工作量测算在自动化评估中采用GB/T36964-2018的方程法、类比法、类推法3种方法。包含对未知技术依赖的不确定工作量和测试</p>
<p class="pageIndex">{{pageList[13]}}</p>
</div>
<div class="page">
<p class="contentList" style="text-indent:0em;">修改的不可预见工作量。</p>
<p class="contentList" v-for="item of workloadCalculation">{{item}}</p>
<p class="pageIndex">{{pageList[14]}}</p>
</div>
<div class="page">
<p class="contentList" v-for="item of workloadCalculation2">{{item}}</p>
<p class="pageIndex">{{pageList[15]}}</p>
</div>
<div class="page">
<p class="contentList" v-for="item of workloadCalculation3">{{item}}</p>
<p class="title4">3.2.2.3.&nbsp;人工月单价测算</p>
<p class="contentList" v-for="item of unitPriceCalculation">{{item}}</p>
<p class="pageIndex">{{pageList[16]}}</p>
</div>
<div class="page">
<p class="contentList" style="text-indent:0em;">1.5万元/人工月,允许委托单位输入时补充额外金额申请。</p>
<p class="title3">3.2.3.&nbsp;递归的精度与误差说明</p>
<p class="contentList" v-for="item of recursivePrecision">{{item}}</p>
<p class="title4">3.2.3.1.&nbsp;整体类比法</p>
<p class="contentList" v-for="item of overallAnalogy">{{item}}</p>
<p class="pageIndex">{{pageList[17]}}</p>
</div>
<div class="page">
<p class="contentList" style="text-indent:0em;">码或文件。功能非相关的和功能不启用的部分,交由委托单位现场确认。确认后删除或保留。如发现完整性严重缺失,委托单位重新提交。</p>
<p class="contentList">而后二次导入,进行自动化评估。该方法将最大程度筛查和杜绝各种原因造成的调研数据错误、代码文件无关参杂的情况。也是确保评估误差可控的前提。</p>
<p class="title4">3.2.3.1.&nbsp;开发时间固定百分比法</p>
<p class="contentList" v-for="item of fixedDevelopment">{{item}}</p>
<p class="pageIndex">{{pageList[18]}}</p>
</div>
<!-- 4-->
<div class="page">
<p class="title1">4.&nbsp;评估建议</p>
......@@ -490,7 +490,7 @@
<p class="title3">4.2.1.&nbsp;开发框架解决方法</p>
<p class="contentList">J2EE和类似跨平台的开发框架,可通过适配和代码改造,完全移植到国产化环境下。</p>
<p class="contentList">基于.NET体系下使用VB、Delphi、VC、C++、C#等语言,完全依</p>
<p class="pageIndex">{{pageList[6]}}</p>
<p class="pageIndex">{{pageList[19]}}</p>
</div>
<div class="page">
<p class="contentList" style="text-indent:0em;">赖Window组件和库的应用系统,需要换框架重构。</p>
......@@ -498,7 +498,7 @@
<p class="contentList" v-for="item of adaptationCompatible">{{item}}</p>
<p class="title3">4.2.3.&nbsp;浏览器功能组件的替换和适配解决方法</p>
<p class="contentList" v-for="item of replacementAndAdaptation">{{item}}</p>
<p class="pageIndex">{{pageList[7]}}</p>
<p class="pageIndex">{{pageList[20]}}</p>
</div>
<div class="page">
<p class="title3">4.2.4.&nbsp;B/S结构下的重构</p>
......@@ -508,7 +508,7 @@
<p class="contentList">如改造后允许以B/S结构部署,则改造工作量和不可预见问题将大为减少。</p>
<p class="title3">4.2.6.&nbsp;部署和迁移策略</p>
<p class="contentList" v-for="item of deploymentAndMigration">{{item}}</p>
<p class="pageIndex">{{pageList[8]}}</p>
<p class="pageIndex">{{pageList[21]}}</p>
</div>
<div class="page">
<p class="contentList" v-for="item of deploymentAndMigration2" style="text-indent:0em;">{{item}}</p>
......@@ -516,20 +516,19 @@
<img src="./img/3.png" style="width: 50%">
</p>
<p class="contentList" v-for="item of deploymentAndMigration3">{{item}}</p>
<p class="pageIndex">{{pageList[9]}}</p>
<p class="pageIndex">{{pageList[22]}}</p>
</div>
<div class="page">
<p class="contentList" v-for="item of deploymentAndMigration4" style="text-indent:0em;">{{item}}</p>
<p class="contentList">最后要监测解决冲突,及时对异常数据进行处理。由于数据库双向可写,需监控监测冲突,并做好对应的日志记录。当出现异常数据,例如要求插入的数据,数据库中已经存在;或者更新数据,发现数据记录并不存在,需根据预定义的规则进行相应的处理。</p>
<p class="pageIndex">{{pageList[10]}}</p>
<p class="pageIndex">{{pageList[23]}}</p>
</div>
<div class="page">
<p class="title1">5.&nbsp;附件</p>
<p class="contentList" v-for="item of annex" style="text-indent:0em;">{{item}}</p>
<p class="pageIndex">{{pageList[11]}}</p>
<p class="pageIndex">{{pageList[24]}}</p>
</div>
</div>
</div>
</div>
</template>
......@@ -747,7 +746,7 @@ export default {
'评估工具会自动使用该方法。首先,扫描代码并分析开发工作量测算出理论值A1。不可预见量、难度系数、综合系数叠加运算出理论值A2,A2的加权系数为0.6。再按照使用GB/T36964-2018提供的方程法估算出对比值B1,然后使用GB/T36964-2018提供的类比法和类推法来推算并限制对比值B1,形成对比值B2。B2的加权系数为0.4。',
'如A2/B2在±10%内,取A2值;反之取A2、B2的加权平均值。',
'这种方法的精确度取决于输入调研表数据和代码文件的完整性,其结果误差在本次评估中被限定在+10%以内,对预算影响被限定在+4.5%以内。',
'综上,误差控制和误差范围可接受。本评估报告计算的工作量和'
'综上,误差控制和误差范围可接受。本评估报告计算的工作量和推算的预算建议,将作为宁波市安可办的审核依据和预算约束。'
],
routeSelection:[
'B/S应用系统的浏览器前端部分,主要面临编译结果在不同内核下标准兼容的问题,在安可操作系统上主要针对火狐浏览器(52版本)、360安全浏览器上的兼容性适配,主要工作集中在前端代码的筛查和轻度改造。',
......@@ -827,7 +826,7 @@ export default {
},
other:{
normal: 0,
operating: '同意',
operating: '/',
now: 0
},
cost:{
......@@ -860,23 +859,24 @@ export default {
methods:{
// 获取页码
getPage() {
for (let i = 1; i <= 12; i++) {
for (let i = 1; i <= 25; i++) {
if (i === 1 || i === 2) {
this.pageList.push(i + this.page1 + 19)
this.pageList.push(i + this.page1 + 6)
} else if (i === 3) {
this.pageList.push(i + this.page1 + 19 + this.page2)
this.pageList.push(i + this.page1 + 6 + this.page2)
} else if (i === 4) {
if (this.page2 !== 0 && this.page3 !== 0) {
this.pageList.push(i + this.page1 + 19 + this.page2 + this.page3 - 2)
this.pageList.push(i + this.page1 + 6 + this.page2 + this.page3 - 2)
} else if (this.page2 !== 0 || this.page3 !== 0) {
this.pageList.push(i + this.page1 + 19 + this.page2 + this.page3 - 1)
this.pageList.push(i + this.page1 + 6 + this.page2 + this.page3 - 1)
} else if (this.page2 === 0 && this.page3 === 0) {
this.pageList.push(i + this.page1 + 19 + this.page2 + this.page3)
this.pageList.push(i + this.page1 + 6 + this.page2 + this.page3)
}
} else {
this.pageList.push(i + this.page1 + 19 + this.pageAll - this.del)
this.pageList.push(i + this.page1 + 6 + this.pageAll - this.del)
}
}
console.log(this.pageList)
},
// 获取打印时间
imeDayFilter () {
......@@ -899,11 +899,13 @@ export default {
}
this.$server.getTechnology(val).then(res => {
// console.log('数据请求结果', res.data)
console.log(this.$route.query.agree)
if (res.data !== 500) {
this.systemName = res.data.sysName;
this.reportName =res.data.type === 2 ? '适配' : '改造' + '工作评估报告';
this.reportName = '在国产化安全自主可控环境下的' + this.reportName;
this.htmlTitle = this.reportName;
console.log(res.data.sysScale)
this.sysScale.codeNum = res.data.sysScale.code.num === -1 ? '-' : res.data.sysScale.code.num;
this.sysScale.modelNum = res.data.sysScale.mode.num === -1 ? '-' : res.data.sysScale.mode.num;
this.sysScale.fileNum = res.data.sysScale.file.num === -1 ? '-' : res.data.sysScale.file.num;
......@@ -939,7 +941,8 @@ export default {
this.newCost.work.normal = res.data.manufacturingCost === '' ? 0 : res.data.manufacturingCost.workLoad.calculation;
this.newCost.work.now = res.data.manufacturingCost === '' ? 0 : res.data.manufacturingCost.workLoad.calculation;
this.newCost.other.normal = res.data.manufacturingCost === '' ? 0 : res.data.manufacturingCost.apply.calculation;
this.newCost.other.now = res.data.manufacturingCost === '' ? 0 : res.data.manufacturingCost.apply.calculation;
this.newCost.other.operating = this.$route.query.agree === 'true' ? '同意' : 0;
this.newCost.other.now = this.$route.query.agree === 'true' ? res.data.manufacturingCost.apply.calculation : 0;
this.newCost.cost.now = res.data.manufacturingCost === '' ? 0 : ( ( (Number(this.newCost.person.normal) + Number(this.newCost.person.operating)) * Number(this.newCost.work.now) ) + Number(this.newCost.other.now) ).toFixed(3)
this.degreeOfDifficulty = res.data.manufacturingCost.degreeOfDifficulty.calculation;
this.tableTitle[0].val = this.title; // 单位名称
......@@ -1166,6 +1169,10 @@ export default {
.otherPdf .listContent .child{
text-align: right;
}
.otherPdf .listContent .child span{
display: inline-block;
width: 25px;
}
.otherPdf .title1{
font-size: 22px;
line-height: 1.5;
......
......@@ -888,7 +888,8 @@ export default {
query: {
username: this.$route.query.username,
id: this.$route.query.id,
popp: this.popp.basic
popp: this.popp.basic,
agree: this.isAgree
}
});
window.open(href, '_blank');
......
// 导出页面为PDF格式
import Vue from 'vue'
let v = new Vue();
import html2Canvas from 'html2canvas'
import JsPDF from 'jspdf'
export default {
import {
Loading
} from 'element-ui'
let loading;
export default{
install (Vue, options) {
Vue.prototype.getPdf = function () {
loading = Loading.service({
lock: true,
text: '正在下载pdf...',
background: 'rgba(0,0,0,.5)'
});
let title = this.htmlTitle
v.$message.info('正在生成pdf文件!请稍等')
html2Canvas(document.querySelector('#pdfDom'), {
allowTaint: true
}).then(function (canvas) {
......@@ -32,6 +38,7 @@ export default {
}
}
}
loading.close();
PDF.save(title + '.pdf')
})
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论