|
|
@@ -1,65 +1,102 @@
|
|
|
<template>
|
|
|
<div>
|
|
|
- <el-table highlight-current-row :data="entityList" border height="calc(100vh - 243px)" style="width: 100%" @sort-change="orderby">
|
|
|
- <el-table-column
|
|
|
- property="SequenceNo"
|
|
|
- label="序号"
|
|
|
- header-align="center"
|
|
|
- width="80">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span v-if="scope.row.type=='SUM'" style="font-weight: bold">{{scope.row.SequenceNo}}</span>
|
|
|
- <span v-else>{{scope.row.SequenceNo}}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- property="Content"
|
|
|
- header-align="center"
|
|
|
- label="评价内容">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span v-if="scope.row.type=='SUM'" style="font-weight: bold">{{scope.row.Content}}</span>
|
|
|
- <span v-else>{{scope.row.Content}}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- property="NormalScore"
|
|
|
- label="标准分值"
|
|
|
- header-align="center"
|
|
|
- width="120">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span v-if="scope.row.type=='SUM'" style="font-weight: bold">{{scope.row.NormalScore}}</span>
|
|
|
- <span v-else-if="scope.row.NormalScore==0" style="font-weight: bold"></span>
|
|
|
- <span v-else>{{scope.row.NormalScore}}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- property="Score"
|
|
|
- label="实得分数"
|
|
|
- header-align="center"
|
|
|
- width="120">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span v-if="scope.row.type=='SUM'" style="font-weight: bold">{{scope.row.Score}}</span>
|
|
|
- <el-input v-else size="mini" placeholder="实得分数" v-model="scope.row.Score"></el-input>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
+ <el-form ref="form" :model="entityListData" label-width="0px" :rules="rules">
|
|
|
|
|
|
- <el-table-column
|
|
|
- property="Reason"
|
|
|
- label="不合格原因"
|
|
|
- header-align="center"
|
|
|
- width="120">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span style="font-weight: bold"><el-tag size="mini">不合格原因</el-tag></span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
|
|
|
+ <el-table highlight-current-row :data="entityListData.entityList" border height="calc(100vh - 243px)" style="width: 100%" @sort-change="orderby">
|
|
|
+ <el-table-column
|
|
|
+ property="SequenceNo"
|
|
|
+ label="序号"
|
|
|
+ header-align="center"
|
|
|
+ width="80">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span v-if="scope.row.LevelCode==1" style="font-weight: bold">{{scope.row.SequenceNo}}</span>
|
|
|
+ <span v-else>{{scope.row.SequenceNo}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ property="Content"
|
|
|
+ header-align="center"
|
|
|
+ label="评价内容">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span v-if="scope.row.LevelCode==1" style="font-weight: bold">{{scope.row.content}}</span>
|
|
|
+ <span v-else>{{scope.row.content}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ property="NormalScore"
|
|
|
+ label="标准分值"
|
|
|
+ header-align="center"
|
|
|
+ width="120">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span v-if="scope.row.LevelCode==1" style="font-weight: bold">{{scope.row.NormalScore}}</span>
|
|
|
+ <span v-else-if="scope.row.NormalScore==0" style="font-weight: bold"></span>
|
|
|
+ <span v-else>{{scope.row.NormalScore}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ property="Score"
|
|
|
+ label="实得分数"
|
|
|
+ header-align="center"
|
|
|
+ width="120">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-form-item style="margin-bottom: 0px;" :prop="'entityList.' + scope.$index + '.Score'" :rules="rules.relation">
|
|
|
+ <span v-if="scope.row.LevelCode==1" style="font-weight: bold">{{scoreFun(scope.row.typeStatus)}}</span>
|
|
|
+ <el-input v-else size="mini" type="number" placeholder="实得分数" v-model="scope.row.Score" @input="onInputFen(scope.$index,scope.row.NormalScore)"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ property="Reason"
|
|
|
+ label="不合格原因"
|
|
|
+ header-align="center"
|
|
|
+ width="120"
|
|
|
+ align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-popover
|
|
|
+ placement="top-start"
|
|
|
+ title="原因"
|
|
|
+ width="200"
|
|
|
+ trigger="hover"
|
|
|
+ :content="scope.row.Remark==''||scope.row.Remark==null?'空':scope.row.Remark">
|
|
|
+ <el-button slot="reference" v-if="scope.row.LevelCode!=1" type="primary" icon="el-icon-edit" size="mini" @click="onDialogVisible(scope.row,scope.$index)">编辑</el-button>
|
|
|
+ </el-popover>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+
|
|
|
+ </el-form>
|
|
|
+
|
|
|
+ <div style="display: flex;justify-content: flex-end; margin: 20px 0;">
|
|
|
+ <el-button type="primary" size="mini" @click="activeName = '1'">上一步<i class="el-icon-arrow-right el-icon--right"></i></el-button>
|
|
|
+ <el-button type="primary" size="mini" @click="activeName = '3'">下一步<i class="el-icon-arrow-right el-icon--right"></i></el-button>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <!-- <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
|
|
|
:page-sizes="[10, 15, 20, 25]" :page-size="size" layout="total, sizes, prev, pager, next, jumper" :total="currentItemCount">
|
|
|
- </el-pagination>
|
|
|
+ </el-pagination> -->
|
|
|
+
|
|
|
+ <el-dialog
|
|
|
+ title="不合格原因"
|
|
|
+ :visible.sync="dialogBoolean"
|
|
|
+ width="60%"
|
|
|
+ >
|
|
|
+ <el-input type="textarea" placeholder="请输入" v-model="textareaValue" ></el-input>
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click="dialogBoolean = false" size="small">取 消</el-button>
|
|
|
+ <el-button type="primary" @click="onTrueDialog" size="small">确 定</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
|
import { mapGetters } from 'vuex';
|
|
|
- import api from '@/api/oilcontract/contractEvaluationItems';
|
|
|
+ import api from '@/api/oilcontract/contract'
|
|
|
+ // import api from '@/api/oilcontract/contractEvaluationItems';
|
|
|
|
|
|
export default {
|
|
|
computed: {
|
|
|
@@ -68,12 +105,77 @@
|
|
|
})
|
|
|
},
|
|
|
name: 'oilcontractevaluationitems',
|
|
|
-
|
|
|
+ props: {
|
|
|
+ // 从合同进来还是从编辑进来 1合同2编辑
|
|
|
+ type: {
|
|
|
+ type: null,
|
|
|
+ default: 1,
|
|
|
+ },
|
|
|
+ // 评价id
|
|
|
+ evaluateId: {
|
|
|
+ type: null,
|
|
|
+ default:'',
|
|
|
+ },
|
|
|
+ // 类型 0 二级部门创建 1 专业处创建
|
|
|
+ category: {
|
|
|
+ type: null,
|
|
|
+ default:'',
|
|
|
+ },
|
|
|
+ },
|
|
|
+ computed:{
|
|
|
+ scoreFun:function(){
|
|
|
+ return function(type){
|
|
|
+ var num = 0;
|
|
|
+ var list = this.entityListData.entityList
|
|
|
+ for(var index = 0 ; index < list.length ; index++){
|
|
|
+ var code = Number(list[index].LevelCode)
|
|
|
+ if(type == list[index].typeStatus&&code==2){
|
|
|
+ num = num + Number(list[index].Score)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return num
|
|
|
+ }
|
|
|
+ },
|
|
|
+ },
|
|
|
data() {
|
|
|
+ var validatePass = (rule, value, callback) => {
|
|
|
+ var num = Number(value)
|
|
|
+ if (num === '') {
|
|
|
+ this.fractionBoolean = false
|
|
|
+ callback(new Error('请输入分值'));
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if (num > this.branchNum) {
|
|
|
+ this.fractionBoolean = false
|
|
|
+ callback(new Error('不能大于规定的分值'));
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if ( num < 0) {
|
|
|
+ this.fractionBoolean = false
|
|
|
+ callback(new Error('不能为负数'));
|
|
|
+ return
|
|
|
+ }
|
|
|
+ this.fractionBoolean = true
|
|
|
+ callback();
|
|
|
+ };
|
|
|
return {
|
|
|
+ fractionBoolean:true,
|
|
|
+ dialogVisibleCom: false,
|
|
|
+ loading: false,
|
|
|
+ UnitOrgOptions: [],
|
|
|
+ textareaValue:'',//不合格原因
|
|
|
+ dialogBoolean:false,
|
|
|
+ rules:{
|
|
|
+ relation: [
|
|
|
+ { validator: validatePass, trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ },
|
|
|
dialogVisible: false,
|
|
|
//列表数据
|
|
|
- entityList: [],
|
|
|
+ entityListData:{
|
|
|
+ entityList:[],
|
|
|
+ },
|
|
|
+
|
|
|
//分页参数
|
|
|
size: 10,
|
|
|
currentPage: 1,
|
|
|
@@ -101,403 +203,101 @@
|
|
|
ModifiedUserId: '',
|
|
|
ModifiedBy: '',
|
|
|
|
|
|
- }
|
|
|
+ },
|
|
|
+ auditform: {
|
|
|
+ FirstAuditName: '',
|
|
|
+ SecondAudit: '',
|
|
|
+ ThirdAudit: '',
|
|
|
+ CertId: '',
|
|
|
+ AuditRemark: '',
|
|
|
+ TypeCode: '03'
|
|
|
+ },
|
|
|
+ entityListItemIndex:'',
|
|
|
+
|
|
|
}
|
|
|
},
|
|
|
created() {
|
|
|
- //查询条件初始值备份
|
|
|
- Object.assign(this.searchFormReset, this.searchForm);
|
|
|
- //查询列表
|
|
|
- //this.initDatas();
|
|
|
+ //数据列表
|
|
|
+ // 判断是编辑状态还是新增状态
|
|
|
+ if(this.type==1){
|
|
|
+ this.initDatas();
|
|
|
+ }else{
|
|
|
+ this.editDatas();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
//this.getDictOptions()
|
|
|
|
|
|
- this.entityList = [
|
|
|
- {
|
|
|
- SequenceNo: '1.',
|
|
|
- type: 'SUM',
|
|
|
- Content: '项目组织实施',
|
|
|
- NormalScore: 10,
|
|
|
- Score: 10
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '1.1',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '是否建立并实现了项目的总体目标',
|
|
|
- NormalScore: 2,
|
|
|
- Score: 2
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '1.2',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '项目组织机构是否健全,管理职责是否明确',
|
|
|
- NormalScore: 2,
|
|
|
- Score: 2
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '1.3',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '是否制定了科学、合理的项目实施方案并能有效实施',
|
|
|
- NormalScore: 2,
|
|
|
- Score: 2
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '1.4',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '是否建立完善的工程变更管理程序并有效实施',
|
|
|
- NormalScore: 2,
|
|
|
- Score: 2
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '1.5',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '项目资源配置是否符合合同约定并满足项目实施需要',
|
|
|
- NormalScore: 2,
|
|
|
- Score: 2
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '2.',
|
|
|
- type: 'SUM',
|
|
|
- Content: '项目质量管理',
|
|
|
- NormalScore: 20,
|
|
|
- Score: 20
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '2.1',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '是否针对项目实际建立了质量管理体系并有效运行,项目质量计划是否得到有效实施',
|
|
|
- NormalScore: 4,
|
|
|
- Score: 4
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '2.2',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '主要质量特性指标是否能够满足相关标准规范的要求,项目已完工部分是否存在质量缺陷或隐患',
|
|
|
- NormalScore: 4,
|
|
|
- Score: 4
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '2.3',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '是否确定质量控制点,制定并实施质量控制措施',
|
|
|
- NormalScore: 3,
|
|
|
- Score: 3
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '2.4',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '质量相关证明文件、记录、资料是否真实、完整',
|
|
|
- NormalScore: 3,
|
|
|
- Score: 3
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '2.5',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '是否存在违反有关法律法规及强制性标准等行为',
|
|
|
- NormalScore: 3,
|
|
|
- Score: 3
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '2.6',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '是否存在被质量监督机构处理或记录在案的不良行为',
|
|
|
- NormalScore: 3,
|
|
|
- Score: 3
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '2.7',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '是否发生一般质量事故或严重质量问题(扣除1-10分)',
|
|
|
- NormalScore: 0,
|
|
|
- Score: 0
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '3.',
|
|
|
- type: 'SUM',
|
|
|
- Content: '项目职业健康安全与环境管理',
|
|
|
- NormalScore: 20,
|
|
|
- Score: 20
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '3.1',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '是否针对项目实际建立了职业健康安全与环境管理体系并有效运行,管理计划是否得到有效实施,职业健康安全与环境管理目标及指标是否完成',
|
|
|
- NormalScore: 4,
|
|
|
- Score: 4
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '3.2',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '职业健康安全与环境管理投入是否满足有关规定及项目实施需要',
|
|
|
- NormalScore: 3,
|
|
|
- Score: 3
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '3.3',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '施工现场是否做到各种标志齐全、防护设施完备、物料摆放规范、管理有序、文明施工',
|
|
|
- NormalScore: 3,
|
|
|
- Score: 3
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '3.4',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '是否及时进行安全风险识别,制定并实施风险削减措施',
|
|
|
- NormalScore: 3,
|
|
|
- Score: 3
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '3.5',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '是否结合项目实际制定了相应的应急预案并配备了相应的应急物资,组织进行应急培训和演练',
|
|
|
- NormalScore: 3,
|
|
|
- Score: 3
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '3.6',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '是否存在违反建设工程安全管理条例、安全操作规程及集团公司安全管理禁令等情况',
|
|
|
- NormalScore: 2,
|
|
|
- Score: 2
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '3.7',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '是否受到过安全、环保监督机构、相关部门的处理及相关方举报或投诉',
|
|
|
- NormalScore: 2,
|
|
|
- Score: 2
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '3.8',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '是否发生了一般生产安全事故或环境污染事件(酌情扣除1-10分)',
|
|
|
- NormalScore: 0,
|
|
|
- Score: 0
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '4.',
|
|
|
- type: 'SUM',
|
|
|
- Content: '项目成本管理',
|
|
|
- NormalScore: 5,
|
|
|
- Score: 5
|
|
|
- },{
|
|
|
- SequenceNo: '4.1',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '工程报价是否合理',
|
|
|
- NormalScore: 1,
|
|
|
- Score: 1
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '4.2',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '项目经营风险识别是否切合实际',
|
|
|
- NormalScore: 1,
|
|
|
- Score: 1
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '4.3',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '是否制定了项目成本控制措施并有效落实',
|
|
|
- NormalScore: 1,
|
|
|
- Score: 1
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '4.4',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '项目成本核销是否符合财务相关规定',
|
|
|
- NormalScore: 1,
|
|
|
- Score: 1
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '4.5',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '项目成本控制目标是否实现',
|
|
|
- NormalScore: 1,
|
|
|
- Score: 1
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '5.',
|
|
|
- type: 'SUM',
|
|
|
- Content: '项目进度管理',
|
|
|
- NormalScore: 10,
|
|
|
- Score: 10
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '5.5',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '是否编制切合实际的项目进度计划及相应的控制措施',
|
|
|
- NormalScore: 3,
|
|
|
- Score: 3
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '5.2',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '是否能够认真实施项目进度计划,组织措施、技术措施、合同措施、经济措施和信息管理等控制措施是否有效实施,偏差得以及时纠正',
|
|
|
- NormalScore: 3,
|
|
|
- Score: 3
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '5.3',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '工期是否满足合同约定',
|
|
|
- NormalScore: 4,
|
|
|
- Score: 4
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '6.',
|
|
|
- type: 'SUM',
|
|
|
- Content: '项目分包管理',
|
|
|
- NormalScore: 15,
|
|
|
- Score: 15
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '6.1',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '是否建立了分包管理制度及程序',
|
|
|
- NormalScore: 3,
|
|
|
- Score: 3
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '6.2',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '分包行为是否符合有关法律法规及集团公司相关规定,分包方案事先经业主同意',
|
|
|
- NormalScore: 2,
|
|
|
- Score: 2
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '6.3',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '分包招标活动是否符合有关法律法规及相关程序',
|
|
|
- NormalScore: 2,
|
|
|
- Score: 2
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '6.4',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '所选用的分包商是否取得集团公司工程建设承包商准入资格证书或已经按照有关规定履行了审批备案手续',
|
|
|
- NormalScore: 2,
|
|
|
- Score: 2
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '6.5',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '是否存在拖欠分包商工程款项行为',
|
|
|
- NormalScore: 2,
|
|
|
- Score: 2
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '6.6',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '是否对分包商实施了有效的管理,完全履行了分包合同中规定的权利、义务和责任',
|
|
|
- NormalScore: 2,
|
|
|
- Score: 2
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '6.7',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '分包工程质量是否符合有关验收标准、规范要求',
|
|
|
- NormalScore: 2,
|
|
|
- Score: 2
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '7.',
|
|
|
- type: 'SUM',
|
|
|
- Content: '信息资料管理',
|
|
|
- NormalScore: 10,
|
|
|
- Score: 10
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '7.1',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '是否建立了信息资料的管理程序及保密制度并能严格执行',
|
|
|
- NormalScore: 2,
|
|
|
- Score: 2
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '7.2',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '是否积极采用先进的信息管理技术或管理系统',
|
|
|
- NormalScore: 1,
|
|
|
- Score: 1
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '7.3',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '是否及时建立、收集、整理并妥善保管项目实施过程中形成的各类记录、证明、资料等',
|
|
|
- NormalScore: 2,
|
|
|
- Score: 2
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '7.4',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '信息和资料内容是否真实、完整、准确、可追溯',
|
|
|
- NormalScore: 2,
|
|
|
- Score: 2
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '7.5',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '能否及时提交符合规定要求的项目完/竣工资料',
|
|
|
- NormalScore: 3,
|
|
|
- Score: 3
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '8.',
|
|
|
- type: 'SUM',
|
|
|
- Content: '诚信履约',
|
|
|
- NormalScore: 10,
|
|
|
- Score: 10
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '8.1',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '是否遵守了诚实信用原则,对合同约定的责任、权利和义务是否得到全面履行',
|
|
|
- NormalScore: 3,
|
|
|
- Score: 3
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '8.2',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '对合同执行中存在的问题、纠纷,能采用正确的方式妥善解决,是否发生过严重违约行为',
|
|
|
- NormalScore: 3,
|
|
|
- Score: 3
|
|
|
- },
|
|
|
- {
|
|
|
- SequenceNo: '8.3',
|
|
|
- type: 'ITEM',
|
|
|
- Content: '是否全面实现了合同约定目标',
|
|
|
- NormalScore: 4,
|
|
|
- Score: 4
|
|
|
- }
|
|
|
- ]
|
|
|
},
|
|
|
methods: {
|
|
|
+ //初始数据
|
|
|
initDatas() {
|
|
|
- //分页及列表条件
|
|
|
- let params = {
|
|
|
- _currentPage: this.currentPage,
|
|
|
- _size: this.size,
|
|
|
- Order: this.Column.Order,
|
|
|
- Prop: this.Column.Prop,
|
|
|
- }
|
|
|
- let myCreateOn = []
|
|
|
- // 解析时间
|
|
|
- if (this.CreateOn.length == 2) {
|
|
|
- this.CreateOn[1].setHours(23)
|
|
|
- this.CreateOn[1].setMinutes(59)
|
|
|
- this.CreateOn[1].setSeconds(59)
|
|
|
- myCreateOn.push(this.formatDateTime(this.CreateOn[0]))
|
|
|
- myCreateOn.push(this.formatDateTime(this.CreateOn[1]))
|
|
|
+ api.evaluationItemsOnelist(this.type,this.$axios).then(res => {
|
|
|
+ console.log('上级节点内容',res)
|
|
|
+ var data = res.data.items
|
|
|
+ var list = []
|
|
|
+ for(var index = 0 ; index < data.length ; index++){
|
|
|
+ data[index].typeStatus = index
|
|
|
+ list.push(data[index])
|
|
|
+ if(data[index].Son!=null&&data[index].Son!=undefined){
|
|
|
+ for(var k = 0 ; k < data[index].Son.length ; k++){
|
|
|
+ data[index].Son[k].typeStatus = index
|
|
|
+ data[index].Son[k].Score = 0
|
|
|
+ list.push(data[index].Son[k])
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.entityListData.entityList = list
|
|
|
+ console.log('处理完的数据',list)
|
|
|
+ }).catch(err => {
|
|
|
+ console.error(err)
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //初始数据
|
|
|
+ editDatas() {
|
|
|
+ var data = {
|
|
|
+ ContentReviewId:this.evaluateId,
|
|
|
+ Category:this.category,
|
|
|
}
|
|
|
- //查询条件
|
|
|
- Object.assign(params, this.searchForm)
|
|
|
- //访问接口
|
|
|
- api.getList(myCreateOn.join(','), params, this.$axios).then(res => {
|
|
|
- this.entityList = res.data.items
|
|
|
- this.currentItemCount = res.data.currentItemCount
|
|
|
+ api.contractEvaluationTree(data,this.$axios).then(res => {
|
|
|
+ console.log('上级节点内容',res)
|
|
|
+ var data = res.data.items
|
|
|
+ var list = []
|
|
|
+ for(var index = 0 ; index < data.length ; index++){
|
|
|
+ data[index].typeStatus = index
|
|
|
+ list.push(data[index])
|
|
|
+ if(data[index].Son!=null&&data[index].Son!=undefined){
|
|
|
+ for(var k = 0 ; k < data[index].Son.length ; k++){
|
|
|
+ data[index].Son[k].typeStatus = index
|
|
|
+ data[index].Son[k].Score = 0
|
|
|
+ list.push(data[index].Son[k])
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.entityListData.entityList = list
|
|
|
+ console.log('处理完的数据',list)
|
|
|
}).catch(err => {
|
|
|
console.error(err)
|
|
|
})
|
|
|
},
|
|
|
+ // 弹窗
|
|
|
+ onDialogVisible(item,index){
|
|
|
+ console.log(item)
|
|
|
+ this.entityListItemIndex = index
|
|
|
+ this.textareaValue = item.Remark
|
|
|
+ this.dialogBoolean = true
|
|
|
+ },
|
|
|
+ //确认编辑内容
|
|
|
+ onTrueDialog(){
|
|
|
+ this.entityListData.entityList[this.entityListItemIndex].Remark = this.textareaValue
|
|
|
+ this.dialogBoolean = false
|
|
|
+ },
|
|
|
+ // 分数校验
|
|
|
+ onInputFen(index,fen){
|
|
|
+ this.branchNum = fen
|
|
|
+ // this.entityListData.entityList[index].Score = fen
|
|
|
+ },
|
|
|
+
|
|
|
|
|
|
getDictOptions() {
|
|
|
api.getDictList(this.$axios).then(res => {
|
|
|
@@ -590,7 +390,36 @@
|
|
|
var minute = date.getMinutes();
|
|
|
minute = minute < 10 ? ('0' + minute) : minute;
|
|
|
return y + '-' + m + '-' + d + ' ' + h + ':' + minute;
|
|
|
- }
|
|
|
+ },
|
|
|
+ orgunitChange (val) {
|
|
|
+ let deptid = val
|
|
|
+ let auditstepcode = 'SUB_OFFICE_JF'
|
|
|
+ api.getAuditerByDept(deptid, auditstepcode, this.$axios).then(res => {
|
|
|
+ this.orgauditOptions = res.data.item
|
|
|
+ }).catch(err => {
|
|
|
+ console.error(err)
|
|
|
+ })
|
|
|
+ },
|
|
|
+ getDictOptions () {
|
|
|
+ let params = {
|
|
|
+ status: this.formData.Status,
|
|
|
+ majorAduit: this.formData.ThirdAudit
|
|
|
+ }
|
|
|
+ api.getDictListByStatus(params, this.$axios).then(res => {
|
|
|
+ this.dictData = res.data.items
|
|
|
+ this.organizeOption = res.data.items['Organizes']
|
|
|
+ this.orgtreelist = window.toolfun_gettreejson(res.data.items['ProOrgList'], 'id', 'pId', 'id,name')
|
|
|
+ this.UnitOrgOptions = res.data.items['UnitOrgList']
|
|
|
+ this.UnitOrg = res.data.items['Register'].CheckUnitId
|
|
|
+ this.allorgunitOptions = res.data.items['Allunitorglist']
|
|
|
+ this.orgunitChange(this.UnitOrg)
|
|
|
+ /* this.UnitRelationOptions = res.data.items['UnitRelation']
|
|
|
+ this.getCityList(res.data.items['GaodeMapChinaAreas'])
|
|
|
+ this.CompanyTypeOptions = res.data.items['CompanyType'] */
|
|
|
+ }).catch(err => {
|
|
|
+ console.error(err)
|
|
|
+ })
|
|
|
+ },
|
|
|
}
|
|
|
}
|
|
|
|