12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079 |
- <template>
- <div class="taskEvalFrom">
- <el-dialog title="考评详情" v-model="dialogVisible" :fullscreen="true" :close-on-click-modal="false">
- <div class="startDetail">
- <p class="starttitleSty">单据信息:</p>
- <el-row class="danjuMsg">
- <el-col :span="6">
- <div class="danjuMsg_data">
- <span class="data_tit">业务编号:</span>
- <span>{{receiptMsg.code}}</span>
- </div>
- <div class="danjuMsg_data">
- <span class="data_tit">创建日期:</span>
- <span>{{receiptMsg.createDate}}</span>
- </div>
- </el-col>
- <el-col :span="6">
- <div class="danjuMsg_data">
- <span class="data_tit">业务简述:</span>
- <span>{{receiptMsg.des}}</span>
- </div>
- <div class="danjuMsg_data">
- <span class="data_tit">业务类别:</span>
- <span>{{receiptMsg.type}}</span>
- </div>
- </el-col>
- <el-col :span="6">
- <div class="danjuMsg_data">
- <span class="data_tit">流程状态:</span>
- <span>{{receiptMsg.stage}}</span>
- </div>
- <div class="danjuMsg_data">
- <span class="data_tit">年度:</span>
- <span>{{receiptMsg.year}}</span>
- </div>
- </el-col>
- <el-col :span="6">
- <div class="danjuMsg_data">
- <span class="data_tit">创建人:</span>
- <span>{{receiptMsg.createName}}</span>
- </div>
- <div class="danjuMsg_data">
- <span class="data_tit">单据状态:</span>
- <span>{{receiptMsg.recStage}}</span>
- </div>
- </el-col>
- </el-row>
- <div class="monthQuarterYear">
- <el-tabs v-model="activeName" class="tableMain" @tab-click="handleClick">
- <el-tab-pane v-for="it in stageData" :key="it.id" :label="it.stageName" :name="it.stageCode">
- <div class="detailsHeader">
- <div class="headerLeft">
- <el-tag v-for="tag in indicatorList" :key="tag.id" size="large" class="tagArr"
- effect="dark" :type="tag.id === isClickTagId ? '': 'info'" @click="handleShowPage(tag)">
- <span>{{ tag.indicator_name }}</span>
- </el-tag>
- </div>
- <div class="headerRight">
- <div class="seachFor">
- <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"
- v-if="(activeName === 'ZDZX' || activeName === 'GLSX') && indicatorList.length > 0">
- <img :src="addIcon" alt="">
- <span>新增</span>
- </div>
- <div class="tableBtn save" @click="saveAddDetail"
- v-if="(activeName === 'ZDZX' || activeName === 'GLSX') && indicatorList.length > 0">
- <img :src="saveIcon" alt="">
- <span>保存</span>
- </div> -->
- <div class="tableBtn save" @click="saveDetail">
- <img :src="saveIcon" alt="">
- <span>保存</span>
- </div>
- <div class="tableBtn import" @click="handleImport">
- <img :src="importIcon" alt="">
- <span>导入</span>
- </div>
- <div class="tableBtn export" @click="handleExport">
- <img :src="exportIcon" alt="">
- <span>导出</span>
- </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">
- <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>
- <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>
- </el-table>
- </el-tab-pane>
- </el-tabs>
- <div class="tableSeach">
- <div class="seachType" v-for="item in titleMsgArr" :key="item.isName"
- :class="item.showClick? 'seachTypeCha':''" @click="changType(item)">
- <img :src="item.img" alt="" v-if="!item.showClick">
- <img :src="item.clickImg" alt="" v-else>
- <p :style="item.showClick? 'color: #3B7AD1' : ''">{{item.isName}}</p>
- </div>
- </div>
- </div>
- <div>
- <p class="starttitleSty">审批意见:</p>
- <el-input v-model="descMsg" :rows="3" type="textarea" placeholder="请输入审批意见"></el-input>
- </div>
- </div>
- <!-- <template #footer>
- <span class="dialog-footer">
- <el-button type="primary" @click="dialogVisible = false">取 消</el-button>
- </span>
- </template> -->
- <template #footer>
- <span class="dialog-footer">
- <el-button type="primary" @click="examineAndApprove('agree')">同 意</el-button>
- <el-button @click="examineAndApprove('reject')">拒 绝</el-button>
- </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>
- <script>
- import importDailog from '../importPage/importDailog.vue'
- import {apiGetEvaluationIndicatorList,apiGetgetEvaluationInfoDataList,apiGetbinsectionList, apiGetbinstageList,apiGetExportMsg,
- apiPostorganizationUpdateEvaluationInfo, apiPostorganizationUpdateAddEvaluationInfo,apiGetHeaderOrganizationEvaluation,
- apiPostIsdoAction, apiGetorganizationevaluationcommoninfo, apiPostsaveEvaluationCommonInfo, apiPostremoveEvaluationCommonInfo} from '../../api/api'
- import * as XLSX from 'xlsx'
- import { saveAs } from 'file-saver'
- import * as XLSXD from 'xlsx-js-style'
- import sectionDef from '../../assets/benchmarkImg/sectionDef.png'
- import sectionCha from '../../assets/benchmarkImg/sectionCha.png'
- import addIcon from '../../assets/btnIcon/add.png'
- import saveIcon from '../../assets/btnIcon/save.png'
- import exportIcon from '../../assets/btnIcon/export.png'
- import importIcon from '../../assets/btnIcon/import.png'
- export default {
- components: {
- importDailog
- },
- data() {
- return {
- dialogVisible: false,
- detailVisible: false,
- activeName: '',
- monthQuarterYearData: [],
- monthQuarterYearHeader: [],
- monthQuarterYearDetailData: [],
- monthQuarterYearDetailHeader: [],
- indicatorList: [],
- isClickTagId: '',
- compNameSa: '',
- receiptMsg: {
- code: '',
- des: '',
- stage: '',
- createName: '',
- createDate: '',
- type: '',
- year: '',
- recStage: ''
- },
- rowMsg: {},
- moduleData: [],
- stageData: [],
- titleMsgArr: [],
- binSectionStr: '',
- addIcon: addIcon,
- saveIcon: saveIcon,
- exportIcon: exportIcon,
- importIcon: importIcon,
- addstageId: '',
- tastbizKey: '',
- taskDefKey: '',
- instanceChild: {},
- descMsg: '',
- statusData: [],
- organizationData: [],
- detailMsg: {}
- }
- },
- created() {
- this.statusData = [
- {
- name: '已确认',
- id: '1'
- },
- {
- name: '待确认',
- id: '0'
- },
- {
- name: '不合格',
- id: '-1'
- }
- ]
- },
- methods: {
- init(row, allData) {
- this.dialogVisible = true
- this.instanceChild = allData
- this.tastbizKey = allData.bizKey
- this.taskDefKey = allData.defKey
- this.getevalHeaderDetails(this.tastbizKey, this.taskDefKey)
- this.getModelData(this.taskDefKey)
- this.rowMsg = row
- },
- sortMethods(a, b, it) {
- if (a[it] < b[it]) {
- return -1
- }
- },
- //获取头部详情
- getevalHeaderDetails(id, defKey) {
- let that = this
- let params = {
- id: id
- }
- apiGetHeaderOrganizationEvaluation(params).then(datas =>{
- that.getDataMsg(defKey, datas)
- })
- },
- getDataMsg(types, datas) {
- if (datas && datas.data) {
- let item = datas.data
- this.receiptMsg = {
- code: types === 'dwkpmbqd'?item.responsibilityCode:item.organizationEvaluationCode,
- des: item.des,
- stage: item.stage,
- createName: item.createName,
- createDate: item.createTime,
- type: item.checkCycle === 'YDKP'?'月度考评':item.checkCycle === 'JDKP'?'季度考评':'年度考评',
- year: item.year,
- recStage: '有效'
- }
- }
- },
- // 获取业务属性
- getModelData(type) {
- let that = this
- that.titleMsgArr = []
- let params = {
- type: type === 'nddwkplc' ? '3' : '2'
- }
- apiGetbinsectionList(params).then(datas =>{
- if (datas && datas.data) {
- that.moduleData = datas.data
- that.moduleData.forEach(item =>{
- let obj = {
- id: item.id,
- isName: item.sectionName === '新能源(光电)' ? '新能源光电' : item.sectionName === '新能源(风电)' ? '新能源风电' : item.sectionName,
- isNameEn: item.sectionCode,
- showClick: false,
- isClass: 'sectionDef',
- img: sectionDef,
- isClassC: 'sectionCha',
- clickImg: sectionCha
- }
- that.titleMsgArr.push(obj)
- })
- that.titleMsgArr[0].showClick = true
- that.binSectionStr = that.titleMsgArr[0].id
- that.getStageData(type)
- that.getorganizationData(type)
- }
- })
- },
- //获取单位数据
- getorganizationData(type) {
- let that = this
- let params = {
- evaluationCycle: type ==='nddwkplc' ? 'NDKP': type ==='jddwkplc' ? 'JDKP' : 'YDKP',
- organizationType: 'DWKP',
- binSection: that.binSectionStr
- }
- apiGetOrganizationListAll(params).then(datas => {
- if (datas && datas.data) {
- that.organizationData = datas.data
- }
- })
- },
- //根据业务属性获取业务阶段
- getStageData(type) {
- let that = this
- let params = {}
- if (type !== 'nddwkplc') {
- params = {
- type: '3'
- }
- }
- apiGetbinstageList(params).then(datas =>{
- if (datas && datas.data) {
- that.stageData = datas.data
- that.activeName = datas.data[0].stageCode
- that.getTableHeaderData(datas.data[0].id)
- }
- })
- },
- //获取指标数据
- getTableHeaderData(id) {
- let that = this
- that.monthQuarterYearHeader = []
- that.monthQuarterYearData = []
- that.isClickTagId = ''
- let params = {
- organizationEvaluationId: that.tastbizKey,
- binSection: that.binSectionStr,
- binStage: id
- }
- apiGetEvaluationIndicatorList(params).then(datas =>{
- if (datas && datas.data) {
- that.indicatorList = datas.data
- if (datas.data.length>0) {
- that.isClickTagId = datas.data[0].id
- that.getTableData(that.isClickTagId)
- }
- }
- })
- },
- tableRowClassName(row, rowIndex) {
- if (!row.row.valueFlag) {
- return 'error-row'
- }
- },
- handleClick(val) {
- let stageId = ''
- this.stageData.forEach(it =>{
- if (it.stageCode === val.props.name) {
- stageId = it.id
- }
- })
- this.getTableHeaderData(stageId)
- },
- //获取表格数据
- getTableData(id) {
- let that = this
- let params = {
- organizationEvaluationId: that.tastbizKey,
- indicatorId: id,
- organizationShortName: that.compNameSa
- }
- apiGetgetEvaluationInfoDataList(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.monthQuarterYearHeader = header
- }
- that.monthQuarterYearData = datas.data.value
- }
- })
- },
- handleShowPage(tag) {
- this.isClickTagId = tag.id
- this.monthQuarterYearHeader = []
- this.monthQuarterYearData = []
- this.getTableData(tag.id)
- },
- changType(data) {
- this.titleMsgArr.forEach(it =>{
- it.showClick = false
- if (it.isName === data.isName) {
- it.showClick = true
- this.binSectionStr = it.id
- }
- })
- let stageId = ''
- this.stageData.forEach(it =>{
- if (it.stageCode === this.activeName) {
- stageId = it.id
- }
- })
- this.getTableHeaderData(stageId)
- this.getorganizationData(this.taskDefKey)
- },
- addTableDetail() {
- console.log('表头数据11====>>>>>>>', this.monthQuarterYearHeader)
- if (this.monthQuarterYearHeader.length>0) {
- let headerArr = []
- this.monthQuarterYearHeader.forEach(item =>{
- headerArr = headerArr.concat(item.children)
- })
- console.log('表头数据22====>>>>>>>', headerArr)
- this.addstageId = ''
- this.stageData.forEach(it =>{
- if (it.stageCode === this.activeName) {
- this.addstageId = it.id
- }
- })
- let obj = {
- isAdd: true,
-
- }
- headerArr.forEach(it =>{
- obj[it.code] = ''
- obj['IS_LH_'+it.code] = it.flag
- })
- this.monthQuarterYearData.unshift(obj)
- }
- console.log('表格数据====>>>>>>>', this.monthQuarterYearData)
- },
- saveAddDetail() {
- let that = this
- let addParams = []
- let saveParams = []
- let addObj = {
- organizationEvaluationId: that.tastbizKey,
- indicatorId: that.isClickTagId,
- binSection: that.binSectionStr,
- binStage: that.addstageId,
- optionMap: {}
- }
- that.monthQuarterYearData.forEach(it =>{
- if (it.isAdd) {
- addObj.organizationId = it.organizationShortName
- addObj.optionMap = it
- addParams.push(addObj)
- } else {
- saveParams.push(it)
- }
- })
- if (addParams.length > 0) {
- apiPostorganizationUpdateAddEvaluationInfo(addParams).then(datas =>{
- if (datas) {
- that.responseData(datas)
- }
- })
- }
- if (saveParams.length > 0) {
- apiPostorganizationUpdateEvaluationInfo(saveParams).then(datas =>{
- if (datas) {
- that.responseData(datas)
- }
- })
- }
- },
- // 返回数据
- responseData(datas) {
- if (datas.message === '成功') {
- this.$message({
- message: '考评详情信息保存成功',
- type: 'success'
- });
- } else {
- this.$message({
- message: datas.message,
- type: 'error'
- });
- }
- this.getTableData(this.isClickTagId)
- },
- saveDetail() {
- let that = this
- apiPostorganizationUpdateEvaluationInfo(that.monthQuarterYearData).then(datas =>{
- if (datas) {
- if (datas.message === '成功') {
- that.$message({
- message: '考评详情信息保存成功',
- type: 'success'
- });
- } else {
- that.$message({
- message: datas.message,
- type: 'error'
- });
- }
- that.getTableData(that.isClickTagId)
- }
- })
- },
- handleImport() {
- this.$refs.importPage.upload.title = "考评详情信息导入"
- this.$refs.importPage.upload.open = true
- this.$refs.importPage.upload.url = '/organization-evaluation-info/import-excel'
- },
- successImport(val) {
- that.getTableData(that.isClickTagId)
- },
- handleExport() {
- let that = this
- let url = 'organization-evaluation-info/download-excel'
- let params = {
- organizationEvaluationId: that.tastbizKey,
- indicatorId: that.isClickTagId
- }
- apiGetExportMsg(url,params).then(datas =>{
- let blob = new Blob([datas])
- saveAs(blob, '考评详情数据导出.xlsx')
- }).catch((r) => {
- console.error(r)
- })
- },
- examineAndApprove(type) {
- let that = this
- let actionCS = ''
- if (type === 'agree') {
- if (that.rowMsg.taskType === 'SIGN') {
- actionCS = 'signAgree'
- } else if (that.rowMsg.taskType === 'NORMAL') {
- actionCS = 'agree'
- }
- } else {
- // if (that.rowMsg.taskType === 'SIGN') {
- // actionCS = 'signReject'
- // } else if (that.rowMsg.taskType === 'NORMAL') {
- // }
- actionCS = 'reject'
- }
- let params = {
- taskId: that.rowMsg.id, //任务ID
- nodeId: that.rowMsg.nodeId, //节点ID
- action: actionCS, //固定值
- instanceId: that.rowMsg.instId, //流程实例ID
- opinion: that.descMsg, //审批意见
- iamCode: window.localStorage.getItem('code'), //认证后code值
- taskName: that.rowMsg.name,
- defKey: that.instanceChild.defKey,
- bizKey: that.instanceChild.bizKey
- }
- apiPostIsdoAction(params).then(datas =>{
- if (datas && datas.data) {
- if (datas.data.isOk) {
- that.$message({
- message: datas.data.data,
- type: 'success'
- })
- that.dialogVisible = false
- that.$emit('approveMsg', datas.data.isOk)
- } else {
- that.$message({
- message: datas.data.msg,
- type: 'error'
- })
- }
- }
- })
- },
- 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>
- <style lang="less">
- .taskEvalFrom{
- .el-overlay{
- .el-dialog{
- // margin-top: 7vh;
- .el-dialog__body{
- padding: 0 20px !important;
- .startDetail{
- .starttitleSty{
- font-size: 18px;
- font-family: Microsoft YaHei;
- font-weight: bold;
- color: #3B7AD1;
- // line-height: 12px;
- margin: 20px 0 20px 10px;
- }
- .danjuMsg{
- border: 1px solid #D6DBEA;
- padding: 10px 20px;
- border-radius: 10px;
- // margin-bottom: 20px;
- .danjuMsg_data{
- padding: 5px 0 10px 0;
- .data_tit{
- margin-right: 10px;
- font-weight: bold;
- font-size: 14px;
- font-family: Microsoft YaHei;
- color: #8991B0;
- }
- .data_tit_wd{
- display: inline-block;
- width: 90px;
- }
- .el-form-item--small{
- .el-input{
- height: 25px;
- width: 160px;
- }
- margin-bottom: 0;
- .el-input-number{
- height: 25px;
- .el-input-number__decrease, .el-input-number__increase{
- right: -39px;
- }
- }
- }
- }
- }
- .el-select, .el-input{
- width: 100%;
- }
- .monthQuarterYear{
- display: flex;
- width: 100%;
- margin-top: 20px;
- .tableMain{
- width: calc(100% - 100px);
- .el-tabs__header{
- .el-tabs__nav{
- .el-tabs__item{
- font-size: 18px;
- font-family: Microsoft YaHei;
- font-weight: bold;
- margin: 0 10px;
- color: #8991B0;
- }
- .is-active{
- font-size: 18px;
- font-family: Microsoft YaHei;
- font-weight: bold;
- color: #3B7AD1;
- margin: 0 10px;
- }
- }
- }
- .detailsHeader{
- width: 100%;
- display: flex;
- justify-content: space-between;
- .headerLeft{
- display: flex;
- width: 65%;
- overflow-x: auto;
- .tagArr {
- height: 33px;
- margin-right: 10px;
- cursor: pointer;
- margin-bottom: 10px;
- }
- .el-tag--dark {
- background-color: #184FB4;
- border: 1px solid #184FB4;
- }
- .el-tag--info {
- background-color: #E6EBF5;
- border: 1px solid #E6EBF5;
- color: #9DA5BE;
- .el-tag__close {
- color: #9DA5BE;
- }
- }
- }
- .headerRight{
- display: flex;
- justify-content: end;
- width: 35%;
- margin-bottom: 5px;
- .seachFor{
- display: flex;
- .el-input{
- height: 30px;
- .el-input__inner{
- height:30px;
- }
- .el-input__suffix{
- .el-select__caret{
- line-height:30px;
- }
- }
- }
- .el-icon{
- margin: 5px 10px 0 10px;
- cursor: pointer;
- }
- }
- .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;
- }
- }
- .import{
- cursor: pointer;
- span{
- color: #ce1e78;
- }
- }
- .export{
- cursor: pointer;
- span{
- color: #2baa8a;
- }
- }
- }
- }
- .el-table {
- .el-table__header-wrapper{
- .el-table__header{
- .el-table__cell {
- border-bottom: none !important;
- }
- thead{
- tr{
- th{
- .cell{
- line-height: 16px;
- }
- }
- }
- }
- }
- }
- .el-table__body-wrapper {
- height: 35vh !important;
- .el-scrollbar{
- .is-horizontal{
- .el-scrollbar__thumb{
- // width: 100% !important;
- }
- }
- .el-table__body{
- .error-row {
- --el-table-tr-bg-color: #fdecec;
- &:hover > td{
- background: #fdecec !important;
- }
- }
- tr{
- td{
- padding: 0;
- .cell{
- // background: #F6F7FA;
- line-height: 47px;
- height: 47px;
- }
- }
- td:hover {
- line-height: 45px;
- height: 45px;
- }
- }
- }
- }
- }
- .el-table--border .el-table__cell{
- border: none;
- }
- .el-table thead.is-group th.el-table__cell{
- background: transparent;
- }
-
- .tooltipCC {
- width: 180px;
- display: inline-block;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- }
- }
- .el-pagination {
- margin-top: 20px;
- text-align: end;
- position: relative;
- }
- }
- .tableSeach{
- width: 88px;
- height: 50vh;
- margin-left: 10px;
- margin-top: 37px;
- border: 1px solid #D6DBEA;
- padding: 5px 0;
- border-radius: 5px;
- overflow-y: auto;
- .seachType{
- width: 78px;
- height: 78px;
- cursor: pointer;
- border-left: 3px solid transparent;
- img{
- margin-top: 17px;
- margin-left: 27px;
- }
- p{
- text-align: center;
- font-size: 14px;
- }
- }
- .seachTypeCha{
- background: #E6EBF5;
- cursor: pointer;
- border-left: 3px solid #3B7AD1;
- }
- }
- }
- }
- .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{
- display: flex;
- justify-content: center;
- .el-button{
- width: 180px !important;
- height: 40px !important;
- }
- }
- }
- }
- }
-
- }
- </style>
|