|
@@ -60,7 +60,7 @@
|
|
|
<el-input v-model="compNameSa" placeholder="请输入单位名称" @keyup.enter="getTableData(isClickTagId)"></el-input>
|
|
|
<!-- <el-icon :size="20" color="#3B7AD1" @click="getTableData(isClickTagId)"><Search /></el-icon> -->
|
|
|
</div>
|
|
|
- <div class="tableBtn add" @click="addTableDetail"
|
|
|
+ <!-- <div class="tableBtn add" @click="addTableDetail"
|
|
|
v-if="(activeName === 'ZDZX' || activeName === 'GLSX') && indicatorList.length > 0">
|
|
|
<img :src="addIcon" alt="">
|
|
|
<span>新增</span>
|
|
@@ -69,8 +69,8 @@
|
|
|
v-if="(activeName === 'ZDZX' || activeName === 'GLSX') && indicatorList.length > 0">
|
|
|
<img :src="saveIcon" alt="">
|
|
|
<span>保存</span>
|
|
|
- </div>
|
|
|
- <div class="tableBtn save" @click="saveDetail" v-else>
|
|
|
+ </div> -->
|
|
|
+ <div class="tableBtn save" @click="saveDetail">
|
|
|
<img :src="saveIcon" alt="">
|
|
|
<span>保存</span>
|
|
|
</div>
|
|
@@ -84,7 +84,47 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <el-table :data="monthQuarterYearData" style="width: 100%" ref="monthQuarterYearTT"
|
|
|
+ v-if="activeName === 'ZDZX' || activeName === 'GLSX'"
|
|
|
+ :row-class-name="tableRowClassName" :border="true" >
|
|
|
+ <el-table-column type="index" label="排名" align="center"></el-table-column>
|
|
|
+ <el-table-column label="考评单位" prop="organizationShortName" width="300">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-select v-model="scope.row.organizationShortName" placeholder="请选择审核状态">
|
|
|
+ <el-option
|
|
|
+ v-for="item in organizationData"
|
|
|
+ :key="item.organizationId"
|
|
|
+ :label="item.organizationShortName"
|
|
|
+ :value="item.organizationId">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column v-for="(it, index) in monthQuarterYearHeader" :key="index"
|
|
|
+ :label="it.name" align="center">
|
|
|
+ <el-table-column v-for="(iv, index) in it.children" :key="index" :label="iv.key"
|
|
|
+ align="center" width="150" sortable :sort-method="(a,b)=>sortMethods(a,b,iv.code)">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-select v-model="scope.row[iv.code]" class="selectSty" placeholder="请选择审核状态" v-if="scope.row['IS_LH_'+iv.code] === '3'">
|
|
|
+ <el-option
|
|
|
+ v-for="item in statusData"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.id">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ <span class="inputSty" v-else>{{scope.row[iv.code]}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="操作" width="100">
|
|
|
+ <template #default="scope">
|
|
|
+ <span class="indicitem" @click="changeDetail(scope.row)">详情</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
<el-table :data="monthQuarterYearData" style="width: 100%" ref="monthQuarterYearTT"
|
|
|
+ v-else
|
|
|
:row-class-name="tableRowClassName" :border="true" >
|
|
|
<el-table-column type="index" label="排名" align="center"></el-table-column>
|
|
|
<el-table-column label="考评单位" prop="organizationShortName" width="300">
|
|
@@ -99,11 +139,12 @@
|
|
|
</el-select>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column v-for="(it, index) in monthQuarterYearHeader" :key="index" :label="it.name" align="center">
|
|
|
+ <el-table-column v-for="(it, index) in monthQuarterYearHeader" :key="index"
|
|
|
+ :label="it.name" align="center">
|
|
|
<el-table-column v-for="(iv, index) in it.children" :key="index" :label="iv.key"
|
|
|
align="center" width="150" sortable :sort-method="(a,b)=>sortMethods(a,b,iv.code)">
|
|
|
<template #default="scope">
|
|
|
- <el-select v-model="scope.row[iv.code]" placeholder="请选择审核状态" v-if="scope.row['IS_LH_'+iv.code] === '3'">
|
|
|
+ <el-select v-model="scope.row[iv.code]" class="selectSty" placeholder="请选择审核状态" v-if="scope.row['IS_LH_'+iv.code] === '3'">
|
|
|
<el-option
|
|
|
v-for="item in statusData"
|
|
|
:key="item.id"
|
|
@@ -111,8 +152,8 @@
|
|
|
:value="item.id">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
- <el-input v-model="scope.row[iv.code]" v-else-if="scope.row['IS_LH_'+iv.code] === '2'"></el-input>
|
|
|
- <el-input-number v-model="scope.row[iv.code]" :precision="2" :step="0.1" v-else />
|
|
|
+ <el-input v-model="scope.row[iv.code]" class="inputSty" v-else-if="scope.row['IS_LH_'+iv.code] === '2'"></el-input>
|
|
|
+ <el-input-number v-model="scope.row[iv.code]" class="numberSty" :precision="2" :step="0.1" v-else />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table-column>
|
|
@@ -145,6 +186,37 @@
|
|
|
</span>
|
|
|
</template>
|
|
|
</el-dialog>
|
|
|
+ <el-dialog title="详情填报" v-model="detailVisible" :fullscreen="true" :close-on-click-modal="false">
|
|
|
+ <div class="detailSeach">
|
|
|
+ <div class="tableBtn add" @click="addTableDetailInfo">
|
|
|
+ <img :src="addIcon" alt="">
|
|
|
+ <span>新增</span>
|
|
|
+ </div>
|
|
|
+ <div class="tableBtn save" @click="saveAddDetailInfo">
|
|
|
+ <img :src="saveIcon" alt="">
|
|
|
+ <span>保存</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <el-table :data="monthQuarterYearDetailData" style="width: 100%" ref="monthQuarterYearTT"
|
|
|
+ :row-class-name="tableRowClassName" :border="true" >
|
|
|
+ <el-table-column type="index" label="序号" align="center"></el-table-column>
|
|
|
+ <el-table-column label="部门名称" prop="deptName" align="center" width="200"></el-table-column>
|
|
|
+ <el-table-column v-for="(it, index) in monthQuarterYearDetailHeader" :key="index"
|
|
|
+ :label="it.name" align="center">
|
|
|
+ <el-table-column v-for="(iv, index) in it.children" :key="index" :label="iv.key" align="center">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-input v-model="scope.row[iv.code]" class="inputSty" v-if="scope.row['IS_LH_'+iv.code] === '2'"></el-input>
|
|
|
+ <el-input-number v-model="scope.row[iv.code]" class="numberSty" :precision="2" :step="0.1" v-else-if="scope.row['IS_LH_'+iv.code] === '1'" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="操作" width="100">
|
|
|
+ <template #default="scope">
|
|
|
+ <span class="indicitem" @click="removeDetailData(scope.row)">删除</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </el-dialog>
|
|
|
<import-dailog ref="importPage" @successImport="successImport"></import-dailog>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -153,7 +225,7 @@
|
|
|
import importDailog from '../importPage/importDailog.vue'
|
|
|
import {apiGetEvaluationIndicatorList,apiGetgetEvaluationInfoDataList,apiGetbinsectionList, apiGetbinstageList,apiGetExportMsg,
|
|
|
apiPostorganizationUpdateEvaluationInfo, apiPostorganizationUpdateAddEvaluationInfo,apiGetHeaderOrganizationEvaluation,
|
|
|
-apiPostIsdoAction} from '../../api/api'
|
|
|
+apiPostIsdoAction, apiGetorganizationevaluationcommoninfo, apiPostsaveEvaluationCommonInfo, apiPostremoveEvaluationCommonInfo} from '../../api/api'
|
|
|
import * as XLSX from 'xlsx'
|
|
|
import { saveAs } from 'file-saver'
|
|
|
import * as XLSXD from 'xlsx-js-style'
|
|
@@ -174,9 +246,12 @@ export default {
|
|
|
data() {
|
|
|
return {
|
|
|
dialogVisible: false,
|
|
|
+ detailVisible: false,
|
|
|
activeName: '',
|
|
|
monthQuarterYearData: [],
|
|
|
monthQuarterYearHeader: [],
|
|
|
+ monthQuarterYearDetailData: [],
|
|
|
+ monthQuarterYearDetailHeader: [],
|
|
|
indicatorList: [],
|
|
|
isClickTagId: '',
|
|
|
compNameSa: '',
|
|
@@ -206,6 +281,7 @@ export default {
|
|
|
descMsg: '',
|
|
|
statusData: [],
|
|
|
organizationData: [],
|
|
|
+ detailMsg: {}
|
|
|
}
|
|
|
},
|
|
|
created() {
|
|
@@ -572,6 +648,95 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
+ changeDetail(row) {
|
|
|
+ this.detailVisible = true
|
|
|
+ this.detailMsg = row
|
|
|
+ this.changeDetailList(row)
|
|
|
+ },
|
|
|
+ changeDetailList(row) {
|
|
|
+ let that = this
|
|
|
+ let params = {
|
|
|
+ organizationEvaluationId: that.tastbizKey,
|
|
|
+ indicatorId: that.isClickTagId,
|
|
|
+ organizationId: row.organizationId
|
|
|
+ }
|
|
|
+ apiGetorganizationevaluationcommoninfo(params).then(datas =>{
|
|
|
+ if (datas && datas.data) {
|
|
|
+ if (datas.data.title) {
|
|
|
+ let header = []
|
|
|
+ for(let i in datas.data.title) {
|
|
|
+ let obj = {
|
|
|
+ name: i,
|
|
|
+ children: datas.data.title[i]
|
|
|
+ }
|
|
|
+ header.push(obj)
|
|
|
+ }
|
|
|
+ that.monthQuarterYearDetailHeader = header
|
|
|
+ }
|
|
|
+ that.monthQuarterYearDetailData = datas.data.value
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ addTableDetailInfo() {
|
|
|
+ if (this.monthQuarterYearDetailHeader.length>0) {
|
|
|
+ let headerArr = []
|
|
|
+ this.monthQuarterYearDetailHeader.forEach(item =>{
|
|
|
+ headerArr = headerArr.concat(item.children)
|
|
|
+ })
|
|
|
+
|
|
|
+ let obj = {
|
|
|
+ isAdd: true,
|
|
|
+ deptName: this.userMes.deptName
|
|
|
+ }
|
|
|
+ headerArr.forEach(it =>{
|
|
|
+ if (it.flag === '1') {
|
|
|
+ obj[it.code] = '1.00'
|
|
|
+ } else {
|
|
|
+ obj[it.code] = ''
|
|
|
+ }
|
|
|
+ obj['IS_LH_'+it.code] = it.flag
|
|
|
+ })
|
|
|
+ this.monthQuarterYearDetailData.unshift(obj)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ saveAddDetailInfo() {
|
|
|
+ let that = this
|
|
|
+ let addParams = []
|
|
|
+ let addObj = {}
|
|
|
+ that.monthQuarterYearDetailData.forEach(it =>{
|
|
|
+ addObj.organizationEvaluationId = that.tastbizKey
|
|
|
+ addObj.indicatorId = that.isClickTagId
|
|
|
+ addObj.organizationId = that.detailMsg.organizationId
|
|
|
+ addObj.optionMap = it
|
|
|
+ addParams.push(addObj)
|
|
|
+ })
|
|
|
+ apiPostsaveEvaluationCommonInfo(addParams).then(datas =>{
|
|
|
+ if (datas) {
|
|
|
+ that.detailVisible = false
|
|
|
+ that.responseData(datas)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ removeDetailData(row) {
|
|
|
+ this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning'
|
|
|
+ }).then(() => {
|
|
|
+ let that = this
|
|
|
+ let parArr = []
|
|
|
+ for(let i in row) {
|
|
|
+ if (i.indexOf('ID_') !== -1) {
|
|
|
+ parArr.push(row[i])
|
|
|
+ }
|
|
|
+ }
|
|
|
+ apiPostremoveEvaluationCommonInfo(parArr.join(',')).then(datas =>{
|
|
|
+ if (datas) {
|
|
|
+ that.changeDetailList(that.detailMsg)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ })
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
@@ -850,6 +1015,52 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ .detailSeach{
|
|
|
+ display: flex;
|
|
|
+ justify-content: flex-end;
|
|
|
+ margin: 15px 0;
|
|
|
+ .tableBtn {
|
|
|
+ display: flex;
|
|
|
+ height: 20px;
|
|
|
+ margin: 5px 8px 0 8px;
|
|
|
+ // width: 20%;
|
|
|
+ width: fit-content;
|
|
|
+ img{
|
|
|
+ margin-right: 5px;
|
|
|
+ margin-top: 1px;
|
|
|
+ }
|
|
|
+ span{
|
|
|
+ display: inline-block;
|
|
|
+ width: 35px;
|
|
|
+ font-size: 14px;
|
|
|
+ font-family: Microsoft YaHei;
|
|
|
+ font-weight: 400;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .add{
|
|
|
+ cursor: pointer;
|
|
|
+ span{
|
|
|
+ color: #3B7AD1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .save{
|
|
|
+ cursor: pointer;
|
|
|
+ span{
|
|
|
+ color: #50C14E;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .el-table {
|
|
|
+ .indicitem{
|
|
|
+ color: #409EFF;
|
|
|
+ font-size: 12px;
|
|
|
+ margin-right: 20px;
|
|
|
+ cursor:pointer;
|
|
|
+ &:hover{
|
|
|
+ text-decoration: underline;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
.el-dialog__footer{
|
|
|
.dialog-footer{
|