浏览代码

任务中心新增导入导出,目标责任书增加导入导出

SunZehao 2 年之前
父节点
当前提交
0672fc1bf6

+ 4 - 1
src/components/assessment/evaluationMonthPage.vue

@@ -265,13 +265,16 @@ export default {
         //新增/修改考评启动数据
         saveAndEditIndicatorData() {
             let that = this
+            let userMes = JSON.parse(window.sessionStorage.getItem('user'))
             let params = {
                 organizationType: that.ruleForm.organizationType,
                 checkCycle: that.ruleForm.evaluationCycle,
                 // organizationEvaluationRuleId: that.ruleForm.evaluateRule,
                 year: that.ruleForm.year,
                 month: that.ruleForm.month,
-                des: that.ruleForm.desc
+                des: that.ruleForm.desc,
+                createBy: userMes.id,
+                createName: userMes.name
             }
             if (that.isSave) {
                 params.id = this.evalradio.id

+ 6 - 3
src/components/assessment/evaluationQuarterPage.vue

@@ -265,13 +265,16 @@ export default {
         //新增/修改考评启动数据
         saveAndEditIndicatorData() {
             let that = this
+            let userMes = JSON.parse(window.sessionStorage.getItem('user'))
             let params = {
                 organizationType: that.ruleForm.organizationType,
                 checkCycle: that.ruleForm.evaluationCycle,
                 // organizationEvaluationRuleId: that.ruleForm.evaluateRule,
                 year: that.ruleForm.year,
                 month: that.ruleForm.month,
-                des: that.ruleForm.desc
+                des: that.ruleForm.desc,
+                createBy: userMes.id,
+                createName: userMes.name
             }
             if (that.isSave) {
                 params.id = this.evalradio.id
@@ -303,10 +306,10 @@ export default {
         agetdeptresponsibility(row) {
             let that = this
             let par = {
-                defKey: "yddwkplc",
+                defKey: "jddwkplc",
                 businessKey: row.id,
                 action: "start",
-                opinion: "度单位考评",
+                opinion: "度单位考评",
                 iamCode: window.localStorage.getItem('code')
             }
             apiGetdoAction(par).then(datas =>{

+ 6 - 10
src/components/assessment/evaluationStartFrom.vue

@@ -37,7 +37,7 @@
                     <el-col :span="6">
                         <div class="danjuMsg_data">
                             <span class="data_tit">创建人:</span>
-                            <span>{{receiptMsg.creator}}</span>
+                            <span>{{receiptMsg.createName}}</span>
                         </div>
                         <div class="danjuMsg_data">
                             <span class="data_tit">单据状态:</span>
@@ -76,7 +76,7 @@
                             <el-table-column label="指标分类" prop="typeName" />
                             <el-table-column label="业务阶段" prop="stageName" />
                             <el-table-column label="业务属性" prop="sectionName" />
-                            <el-table-column label="指标名称" prop="childName" />
+                            <el-table-column label="指标名称" prop="indicatorName" />
                             <el-table-column label="填报部门"  prop="deptName" width="260" />
                             <el-table-column label="目标值">
                                 <template #default="scope">
@@ -241,7 +241,7 @@ export default {
                 code: '',
                 des: '',
                 stage: '',
-                creator: '',
+                creatName: '',
                 createDate: '',
                 type: '',
                 year: '',
@@ -507,15 +507,10 @@ export default {
         handleImport() {
             this.$refs.importPage.upload.title = "考评目标信息导入"
             this.$refs.importPage.upload.open = true
-            this.$refs.importPage.upload.url = '/predict/api/smpmc/standardPointManagementImport'
-            this.$refs.importPage.upload.urlName = 'standardPointManagementImport'
-            this.$refs.importPage.upload.proName = '考评目标信息模板.xlsx'
+            this.$refs.importPage.upload.url = '/responsibility-indicator-info/import'
         },
         successImport(val) {
-            that.getDetails(that.rowMsg.id)
-        },
-        importLoading(val) {
-            
+            this.getDetails(this.rowMsg.id)
         },
         handleExport() {
             let data = []  //接口返回数据
@@ -524,6 +519,7 @@ export default {
             //根据数据自己调整
             let colums = []
             colums = [
+                { header: 'ID', key: 'id', width: 26 },
                 { header: '单位名称', key: 'organizationName', width: 26 },
                 { header: '指标分类', key: 'typeName', width: 18 },
                 { header: '业务阶段', key: 'stageName', width: 18 },

+ 4 - 1
src/components/assessment/evaluationStartPage.vue

@@ -285,12 +285,15 @@ export default {
         //新增/修改考评启动数据
         saveAndEditIndicatorData() {
             let that = this
+            let userMes = JSON.parse(window.sessionStorage.getItem('user'))
             let params = {
                 organizationType: that.ruleForm.organizationType,
                 checkCycle: that.ruleForm.evaluationCycle,
                 // organizationEvaluationRuleId: that.ruleForm.evaluateRule,
                 year: that.ruleForm.year,
-                des: that.ruleForm.desc
+                des: that.ruleForm.desc,
+                createBy: userMes.id,
+                createName: userMes.name
             }
             if (that.isSave) {
                 params.id = this.evalradio.id

+ 1 - 1
src/components/assessment/evaluationYearFrom.vue

@@ -37,7 +37,7 @@
                     <el-col :span="6">
                         <div class="danjuMsg_data">
                             <span class="data_tit">创建人:</span>
-                            <span>{{receiptMsg.creator}}</span>
+                            <span>{{receiptMsg.createName}}</span>
                         </div>
                         <div class="danjuMsg_data">
                             <span class="data_tit">单据状态:</span>

+ 4 - 1
src/components/assessment/evaluationYearPage.vue

@@ -261,11 +261,14 @@ export default {
         //新增/修改考评启动数据
         saveAndEditIndicatorData() {
             let that = this
+            let userMes = JSON.parse(window.sessionStorage.getItem('user'))
             let params = {
                 organizationType: that.ruleForm.organizationType,
                 checkCycle: that.ruleForm.evaluationCycle,
                 year: that.ruleForm.year,
-                des: that.ruleForm.desc
+                des: that.ruleForm.desc,
+                createBy: userMes.id,
+                createName: userMes.name
             }
             if (that.isSave) {
                 params.id = this.evalradio.id

+ 4 - 4
src/components/assessment/monthQuarterFrom.vue

@@ -37,7 +37,7 @@
                     <el-col :span="6">
                         <div class="danjuMsg_data">
                             <span class="data_tit">创建人:</span>
-                            <span>{{receiptMsg.creator}}</span>
+                            <span>{{receiptMsg.createName}}</span>
                         </div>
                         <div class="danjuMsg_data">
                             <span class="data_tit">单据状态:</span>
@@ -220,7 +220,7 @@
                 </span>
             </template>
         </el-dialog>
-        <import-dailog ref="importPage" @successImport="successImport" @importLoading="importLoading"></import-dailog>
+        <import-dailog ref="importPage" @successImport="successImport"></import-dailog>
     </div>
 </template>
 
@@ -251,7 +251,7 @@ export default {
                 code: '',
                 des: '',
                 stage: '',
-                creator: '',
+                creatName: '',
                 createDate: '',
                 type: '',
                 year: '',
@@ -470,7 +470,7 @@ export default {
             this.$refs.importPage.upload.proName = '月/季度单位信息模板.xlsx'
         },
         successImport(val) {
-            that.getDetails(that.rowMsg.id)
+            this.getDetails(this.rowMsg.id)
         },
         importLoading(val) {
             

+ 2 - 2
src/components/evaluationSystem/evaluationIndexPage.vue

@@ -43,12 +43,12 @@
                     <el-table-column type="selection" label="操作" align="center"></el-table-column>
                     <el-table-column label="指标编码" prop="indicatorCode" width="200" />
                     <el-table-column label="指标名称" prop="indicatorName" width="300" />
-                    <el-table-column label="指标类型" prop="indicatorTypeName" width="250" />
+                    <el-table-column label="指标类型" prop="indicatorTypeName" width="200" />
                     <el-table-column label="指标单位" prop="unit" />
                     <el-table-column label="业务阶段" prop="binStageName" />
                     <el-table-column label="业务属性" prop="binSectionName" />
                     <!-- <el-table-column label="公司" prop="company" /> -->
-                    <el-table-column label="部门" prop="dept" />
+                    <el-table-column label="部门" prop="deptName" width="150" />
                     <el-table-column label="是否专项" prop="isAdditional" />
                     <el-table-column label="是否量化" prop="isQuantified" />
                     <el-table-column label="是否子指标">

+ 8 - 5
src/components/evaluationSystem/evaluationRulesPage.vue

@@ -40,7 +40,7 @@
                     <el-table-column label="规则名称" prop="ruleName" />
                     <el-table-column label="业务阶段" prop="binStageName" />
                     <el-table-column label="业务属性" prop="binSectionName" />
-                    <el-table-column label="创建者" prop="createBy" width="120" />
+                    <el-table-column label="创建者" prop="createName" width="120" />
                     <el-table-column label="创建时间" prop="createTime" />
                     <el-table-column label="描述">
                         <template #default="scope">
@@ -225,14 +225,17 @@ export default {
         //新增/修改指标数据
         saveAndEditRuleData() {
             let that = this
+            let userMes = JSON.parse(window.sessionStorage.getItem('user'))
             let params = {
                 ruleName: that.ruleForm.ruleName,
                 binSection: that.ruleForm.binSection,
                 binStage: that.ruleForm.binStage,
-                des: that.ruleForm.desc
+                des: that.ruleForm.desc,
+                createBy: userMes.id,
+                createName: userMes.name
             }
             if (that.isSave) {
-                params.id = this.evalradio.id
+                params.id = that.evalradio.id
             }
             apiGetevaluateRuleSaveList(params).then(datas =>{
                 if (!datas.success) {
@@ -243,12 +246,12 @@ export default {
                 } else {
                     if (!that.isSave) {
                         that.$message({
-                            message: '指标新增成功',
+                            message: '考评规则新增成功',
                             type: 'success'
                         });
                     } else {
                         that.$message({
-                            message: '指标修改成功',
+                            message: '考评规则修改成功',
                             type: 'success'
                         });
                     }

+ 5 - 2
src/components/evaluationSystem/ruleDetailPage.vue

@@ -51,7 +51,7 @@
                         <el-table :data="ruleDetailData" style="width: 100%" @select="rowClick" @select-all="rowClick">
                             <el-table-column type="selection" label="操作" align="center"></el-table-column>
                             <el-table-column label="指标名称" prop="indicatorName" />
-                            <el-table-column label="创建者" prop="createBy" />
+                            <el-table-column label="创建者" prop="createName" />
                             <el-table-column label="创建时间" prop="createTime" />
                             <el-table-column label="描述">
                                 <template #default="scope">
@@ -215,10 +215,13 @@ export default {
         //新增/修改指标数据
         saveAndEditIndicatorData() {
             let that = this
+            let userMes = JSON.parse(window.sessionStorage.getItem('user'))
             let params = {
                 indicatorId: that.itemForm.indicator,
                 orderNum: that.itemForm.orderNum,
-                des: that.itemForm.desc
+                des: that.itemForm.desc,
+                createBy: userMes.id,
+                createName: userMes.name
             }
             if (that.isSave) {
                 params.id = that.evalradio.id

+ 6 - 5
src/components/importPage/importDailog.vue

@@ -89,20 +89,21 @@ export default {
             this.upload.isUploading = false;
             this.$refs.upload.clearFiles();
             // this.$alert(response.msg, "导入结果", { dangerouslyUseHTMLString: true });
-            if (response.code === 500) {
-                if (response.msg.indexOf('运行时异常') !== -1) {
+            debugger
+            if (!response.success) {
+                if (response.message.indexOf('运行时异常') !== -1) {
                     this.$message.error('模板数据不匹配,请使用模板导入');
                     this.importTemplate()
                 } else {
-                    this.$message.error(response.msg);
+                    this.$message.error(response.message);
                 }
             } else {
                 this.$message({
-                    message: response.msg,
+                    message: response.message,
                     type: 'success'
                 });
+                this.$emit('successImport', response)
             }
-            this.$emit('successImport', response)
             // this.getList();
         },
         handleFileError(response, file, fileList) {

+ 97 - 5
src/components/taskCenter/taskCenterEvlFrom.vue

@@ -62,6 +62,14 @@
                         <img :src="deleteIcon" 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>
                 <el-tabs v-model="activeName" class="tasktabs" @tab-click="handleClick">
                     <el-tab-pane label="考评指标项内容" name="first">
@@ -72,8 +80,8 @@
                             <el-table-column label="单位名称" prop="organizationName" width="300" />
                             <el-table-column label="填报部门"  prop="deptName" width="260" />
                             <el-table-column label="指标分类" prop="typeName" />
-                            <el-table-column label="指标名称" prop="childName" v-if="instanceChild.defKey === 'yddwkplc'" />
-                            <el-table-column label="指标项" prop="optionName" v-if="instanceChild.defKey === 'yddwkplc'" />
+                            <el-table-column label="指标名称" prop="childName" v-if="instanceChild.defKey === 'yddwkplc' || instanceChild.defKey === 'jddwkplc'" />
+                            <el-table-column label="指标项" prop="optionName" v-if="instanceChild.defKey === 'yddwkplc' || instanceChild.defKey === 'jddwkplc'" />
                             <el-table-column label="计划值" width="150">
                                 <template #default="scope">
                                     <el-input-number v-model="scope.row.quantifiedValue"
@@ -233,10 +241,12 @@
                 </span>
             </template>
         </el-dialog>
+        <import-dailog ref="importPage" @successImport="successImport" @importLoading="importLoading"></import-dailog>
     </div>
 </template>
 
 <script>
+import importDailog from '../importPage/importDailog.vue'
 import {apiGettaskevalStartDetail,apiGettaskmothAyearDetail,apiGetindicatorsaveBatchDto, 
 apiPostIsdoAction, apiPostgetInstanceAndChildren, apiGetindicatorListAll,apiGetscoreCountList,apiPostScoreCountSave,
  apiGetOrganizationRule, apiGetbinstageList, apiGetIndicatorTypeList, apiGetOrgEvaInfoBatchDto} from '../../api/api'
@@ -246,6 +256,9 @@ import editIcon from '../../assets/btnIcon/edit.png'
 import deleteIcon from '../../assets/btnIcon/delete.png'
 import { getToken } from '../../api/auth'
 export default {
+    components: {
+        importDailog
+    },
     data() {
         return {
             dialogVisible: false,
@@ -347,7 +360,7 @@ export default {
             let params = {
                 id: id
             }
-            if (defKey === 'yddwkplc') {
+            if (defKey === 'yddwkplc' || defKey === 'jddwkplc') {
                 apiGettaskmothAyearDetail(params).then(datas =>{
                     that.getDataMsg(defKey, datas)
                 })
@@ -582,6 +595,73 @@ export default {
                 }
             })
         },
+        handleImport() {
+            let title = ''
+            let url = ''
+            if (that.instanceChild.defKey === 'yddwkplc' || that.instanceChild.defKey === 'jddwkplc') {
+                title = '月/季度单位信息导入'
+                url = '/organization-evaluation-info/import'
+            } else {
+                title = '考评目标信息导入'
+                url = '/responsibility-indicator-info/import'
+            }
+            this.$refs.importPage.upload.title = title
+            this.$refs.importPage.upload.open = true
+            this.$refs.importPage.upload.url = url
+        },
+        successImport(val) {
+            this.getevalStartDetails(this.rowMsg.id, this.instanceChild.defKey)
+        },
+        handleExport() {
+            let data = []  //接口返回数据
+            const workbook = new ExcelJS.Workbook()
+            const worksheet = workbook.addWorksheet('Sheet1')
+            //根据数据自己调整
+            let colums = []
+            colums = [
+                { header: 'ID', key: 'id', width: 26 },
+                { header: '单位名称', key: 'organizationName', width: 26 },
+                { header: '指标分类', key: 'typeName', width: 18 },
+                { header: '业务阶段', key: 'stageName', width: 18 },
+                { header: '业务属性', key: 'sectionName', width: 18 },
+                { header: '指标名称', key: 'childName', width: 18 },
+                { header: '填报部门', key: 'deptName', width: 26 },
+            ]
+            if (this.activeName === 'first') {
+                colums.push(
+                    { header: '目标值', key: 'quantifiedValue', width: 18 },
+                    { header: '单位', key: 'unit', width: 18 },
+                    { header: '审核状态', key: 'state', width: 18 }
+                )
+                this.quantifiedList.forEach(item =>{
+                    if (item.updateMark) {
+                        data.push(item)
+                    }
+                })
+            } else {
+                colums.push(
+                    { header: '值', key: 'nonQuantifiedValue', width: 18 },
+                    { header: '审核状态', key: 'state', width: 18 }
+                )
+                this.nonQuantifiedList.forEach(item =>{
+                    if (item.updateMark) {
+                        data.push(item)
+                    }
+                })
+            }
+            worksheet.columns = colums
+            worksheet.getRow(1).font = {
+                size: 12,
+                bold: true
+            }
+            worksheet.addRows(data)
+
+            workbook.xlsx.writeBuffer().then(buffer => {
+                //这里为type
+                const blob = new Blob([buffer], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8' })
+                fileSave(blob, `数据导出.xlsx`)
+            })
+        },
     }
 }
 </script>
@@ -639,10 +719,10 @@ export default {
                     }
                     .detaTableBtns{
                         display: flex;
-                        width: 500px;
+                        width: 340px;
                         position: relative;
                         top: 32px;
-                        left: 90vw;
+                        left: 80vw;
                         z-index: 11111;
                         .tableBtn {
                             display: flex;
@@ -680,6 +760,18 @@ export default {
                                 color: #F65177;
                             }
                         }
+                        .export{
+                            cursor: pointer;
+                            span{
+                                color: #2baa8a;
+                            }
+                        }
+                        .import{
+                            cursor: pointer;
+                            span{
+                                color: #ce1e78;
+                            }
+                        }
                     }
                     .tasktabs{
                         .el-tabs__header{