Browse Source

新增岗位绩效

main
renguanyu111 3 years ago
parent
commit
50448af5dc
  1. 2
      .env.production
  2. 5
      .env.staging
  3. 50
      src/api/duty/gwDingXing.js
  4. 91
      src/api/duty/oldGwDingXing.js
  5. 188
      src/api/duty/projectNew.js
  6. 16
      src/api/honer.js
  7. 70
      src/router/index.js
  8. 89
      src/views/assessmentProgram/gwQualitativeIndicators.vue
  9. 415
      src/views/assessmentProgram/qualitativeIndicators.vue
  10. 463
      src/views/assessmentProgram/qualitativeIndicatorsBase.vue
  11. 899
      src/views/basicInfo/gwProject copy.vue
  12. 274
      src/views/basicInfo/gwProject.vue
  13. 61
      src/views/basicInfo/project.vue
  14. 6
      src/views/basicInfo/projectBase.vue
  15. 4
      src/views/echarts/table.vue
  16. 89
      src/views/honor/index.vue
  17. 4
      src/views/hr/personnel.vue

2
.env.production

@ -4,4 +4,4 @@ ENV = 'production'
# base api # base api
VUE_APP_BASE_API = 'http://ginadmin.hxgk.group/api' VUE_APP_BASE_API = 'http://ginadmin.hxgk.group/api'
VUE_APP_BASE_API1 = 'http://ginadmin.hxgk.group/hrapi' VUE_APP_BASE_API1 = 'http://ginadmin.hxgk.group/hrapi'
VUE_APP_BASE_API2 = 'http://ginadmin.hxgk.group/fileapi'

5
.env.staging

@ -4,6 +4,7 @@ NODE_ENV = production
ENV = 'staging' ENV = 'staging'
# base api # base api
VUE_APP_BASE_API = '172.0.0.1:8888/api' VUE_APP_BASE_API = 'http://kpi.hxgk.net/api'
VUE_APP_BASE_API1 = '172.0.0.1:8888/hrapi' VUE_APP_BASE_API1 = 'http://kpi.hxgk.net/hrapi'
VUE_APP_BASE_API2 = 'http://kpi.hxgk.net/fileapi'

50
src/api/duty/gwDingXing.js

@ -0,0 +1,50 @@
import request from '@/utils/requestFile'
// 获取岗位方案内容列表
export function get_post_scheme(data) {
return request({
url: '/postpc/get_post_scheme',
method: 'post',
data
})
}
// 获取复制岗位考核方案
export function get_copy_sheme_infor(data) {
return request({
url: '/postpc/get_copy_sheme_infor',
method: 'post',
data
})
}
// 引用指标部门指标
export function quote_department_target(data) {
return request({
url: '/postpc/quote_department_target',
method: 'post',
data
})
}
// 提交岗位考核方案
export function submit_post_scheme(data) {
return request({
url: '/postpc/submit_post_scheme',
method: 'post',
data
})
}
// 获取岗位相关指标
export function getpostabouttarget(data) {
return request({
url: '/postpc/getpostabouttarget',
method: 'post',
data
})
}
// 添加岗位指标
export function add_post_target(data) {
return request({
url: '/postpc/add_post_target',
method: 'post',
data
})
}

91
src/api/duty/oldGwDingXing.js

@ -0,0 +1,91 @@
// 定性考核api
import request from '@/utils/request'
//岗位定性考核列表
export const posttargetsunlist = (data) => {
return request({
url: '/postkpi/posttargetsunlist',
method: 'post',
data: data
})
}
//添加岗位细则
export const addposttargetcont = (data) => {
return request({
url: '/postkpi/addposttargetcont',
method: 'post',
data: data
})
}
//修改定性指标关联岗位
export const editposttargetaual = (data) => {
return request({
url: '/postkpi/editposttargetaual',
method: 'post',
data: data
})
}
//获取指标关联的岗位
export const targetorglist = (data) => {
return request({
url: '/postkpi/targetorglist',
method: 'post',
data: data
})
}
//获取岗位考核子栏目内容
export const getsuntargetinfo = (data) => {
return request({
url: '/postkpi/getsuntargetinfo',
method: 'post',
data: data
})
}
//编辑定性考核子栏目
export const eidtsuntargetpost = (data) => {
return request({
url: '/postkpi/eidtsuntargetpost',
method: 'post',
data: data
})
}
//删除定性考核指标子栏目
export const delsuntarget = (data) => {
return request({
url: '/postkpi/delsuntarget',
method: 'post',
data: data
})
}
//添加单条定性指标细则
export const addpostdetacont = (data) => {
return request({
url: '/postkpi/addpostdetacont',
method: 'post',
data: data
})
}
//获取指标细则内容
export const getdetailscont = (data) => {
return request({
url: '/postkpi/getdetailscont',
method: 'post',
data: data
})
}
//修改定性考核指标细则
export const editdeatilscont = (data) => {
return request({
url: '/postkpi/editdeatilscont',
method: 'post',
data: data
})
}
//删除定性考核指标细则
export const eidtposttardetailsstrte = (data) => {
return request({
url: '/postkpi/eidtposttardetailsstrte',
method: 'post',
data: data
})
}

188
src/api/duty/projectNew.js

@ -0,0 +1,188 @@
import request from '@/utils/requestFile'
// 部门指标列表
export function departmenttargetlist(data) {
return request({
url: '/department_pc/departmenttargetlist',
method: 'post',
data
})
}
// 获取部门定性考核部门关联列表
export function getdepartabouttarget(data) {
return request({
url: '/department_pc/getdepartabouttarget',
method: 'post',
data
})
}
// 获取部门指标相关执行人
export function gettargetreport(data) {
return request({
url: '/department_pc/gettargetreport',
method: 'post',
data
})
}
// 修改子栏目标题名称级考核关联部门及提报人
export function editsontargetdepartmentreport(data) {
return request({
url: '/department_pc/editsontargetdepartmentreport',
method: 'post',
data
})
}
// 根据指标和部门获取相关岗位
export function basistargetdearpetmentgetpost(data) {
return request({
url: '/department_pc/basistargetdearpetmentgetpost',
method: 'post',
data
})
}
// 根据指标和部门获取相关岗位
export function delsontarget(data) {
return request({
url: '/department_pc/delsontarget',
method: 'post',
data
})
}
// 删除指标
export function deltarget(data) {
return request({
url: '/department_pc/deltarget',
method: 'post',
data
})
}
// 实验
export function shiyan(data) {
return request({
url: '/department_pc/shiyan',
method: 'post',
data
})
}
// 获取定性考核指标列表内容
export function getdepartmenttragetcontlist(data) {
return request({
url: '/department_pc/getdepartmenttragetcontlist',
method: 'post',
data
})
}
// 子栏目关联部门岗位
export function depar_son_target_about_post(data) {
return request({
url: '/department_pc/depar_son_target_about_post',
method: 'post',
data
})
}
// 获取单一指标细则内容
export function getonedetailedtarget(data) {
return request({
url: '/department_pc/getonedetailedtarget',
method: 'post',
data
})
}
// 获取部门指标岗位提交人
export function basistaegetdeparmentreport(data) {
return request({
url: '/department_pc/basistaegetdeparmentreport',
method: 'post',
data
})
}
// 根据指标栏目新增指标细则
export function basissontargetadddetailed(data) {
return request({
url: '/department_pc/basissontargetadddetailed',
method: 'post',
data
})
}
// 编辑单一部门指标
export function edit_one_target(data) {
return request({
url: '/department_pc/edit_one_target',
method: 'post',
data
})
}
// 指标细则关联部门岗位
export function depar_detaile_about_post(data) {
return request({
url: '/department_pc/depar_detaile_about_post',
method: 'post',
data
})
}
// 添加部门指标
export function add_department_target(data) {
return request({
url: '/department_pc/add_department_target',
method: 'post',
data
})
}
// 添加定性考核子栏目及细则
export function addsuntargetdetailed(data) {
return request({
url: '/department_pc/addsuntargetdetailed',
method: 'post',
data
})
}
// 获取单一指标详细内容
export function get_one_terget_info(data) {
return request({
url: '/department_pc/get_one_terget_info',
method: 'post',
data
})
}
// 指标关联岗位
export function deparment_target_about_post(data) {
return request({
url: '/department_pc/deparment_target_about_post',
method: 'post',
data
})
}
// 编辑单一指标细则内容
export function edit_one_detailed_target(data) {
return request({
url: '/department_pc/edit_one_detailed_target',
method: 'post',
data
})
}
// 获取子栏目基础信息
export function getsontargetcont(data) {
return request({
url: '/department_pc/getsontargetcont',
method: 'post',
data
})
}
// 删除单一指标细则
export function del_one_detailed_target(data) {
return request({
url: '/department_pc/del_one_detailed_target',
method: 'post',
data
})
}
// 获取岗位指标详情
export function get_post_target(data) {
return request({
url: '/postpc/get_post_target',
method: 'post',
data
})
}

16
src/api/honer.js

@ -63,3 +63,19 @@ export function eidycarrierstate(data) {
data data
}) })
} }
// 荣誉查看图片
export function reviewimage(data) {
return request({
url: '/honors/reviewimage',
method: 'post',
data
})
}
// 查询荣誉详情
export function gethonorscont(data) {
return request({
url: '/honors/gethonorscont',
method: 'post',
data
})
}

70
src/router/index.js

@ -230,25 +230,7 @@ export const constantRoutes = [
}, },
], ],
}, },
// 考核方案
{
path: '/assessmentProgram',
component: Layout,
children: [
// 当 /user/:id 匹配成功
// UserHome 将被渲染到 User 的 <router-view> 内部
{
path: 'departmentalAssessment',
component: () => import('@/views/assessmentProgram/departmentalAssessment'),
meta: { title: '定量考核'}
},
{
path: 'qualitativeIndicators',
component: () => import('@/views/assessmentProgram/qualitativeIndicators'),
meta: { title: '定性考核'}
},
],
},
// 基础信息 // 基础信息
{ {
path: '/basicInfo', path: '/basicInfo',
@ -349,56 +331,32 @@ export const constantRoutes = [
// } // }
// ] // ]
// }, // },
// 考核方案
{ {
path: '/assessmentProgram', path: '/assessmentProgram',
component: Layout, component: Layout,
redirect: '/assessmentProgram/departmentalAssessment',
name: 'Example',
meta: { title: '考核方案', icon: 'el-icon-s-help' },
children: [ children: [
// 当 /user/:id 匹配成功
// UserHome 将被渲染到 User 的 <router-view> 内部
{ {
path: 'departmentalAssessment', path: 'departmentalAssessment',
name: 'departmentalAssessment',
component: () => import('@/views/assessmentProgram/departmentalAssessment'), component: () => import('@/views/assessmentProgram/departmentalAssessment'),
meta: { title: '部门考核', icon: 'table' } meta: { title: '部门考核'}
}, },
// {
// path: 'jobAssessment',
// name: 'jobAssessment',
// component: () => import('@/views/assessmentProgram/jobAssessment'),
// meta: { title: '岗位考核', icon: 'tree' }
// },
{ {
path: 'qualitativeIndicators', path: 'gwQualitativeIndicators',
name: 'qualitativeIndicators', component: () => import('@/views/assessmentProgram/qualitativeIndicatorsBase'),
component: () => import('@/views/assessmentProgram/qualitativeIndicators'), meta: { title: '定性考核'}
meta: { title: '定性考核', icon: 'tree' }
}, },
{ {
path: 'gwQualitativeIndicators', path: 'qualitativeIndicators',
name: 'gwQualitativeIndicators', component: () => import('@/views/assessmentProgram/qualitativeIndicators'),
component: () => import('@/views/assessmentProgram/gwQualitativeIndicators'), meta: { title: '定性考核'}
meta: { title: '定性考核', icon: 'tree' }
}, },
// {
// path: 'quantitativeIndicators', ],
// name: 'quantitativeIndicators',
// component: () => import('@/views/assessmentProgram/quantitativeIndicators'),
// meta: { title: '定量考核', icon: 'tree' }
// },
// {
// path: 'subSection',
// name: 'subSection',
// component: () => import('@/views/assessmentProgram/subSection'),
// meta: { title: '定性考核子栏目', icon: 'tree' }
// },{
// path: 'rules',
// name: 'rules',
// component: () => import('@/views/assessmentProgram/rules'),
// meta: { title: '考核细则', icon: 'tree' }
// }
]
}, },
{ {
path: '/basicInfo', path: '/basicInfo',
component: Layout, component: Layout,

89
src/views/assessmentProgram/gwQualitativeIndicators.vue

@ -90,7 +90,6 @@
>删除</el-button> >删除</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> --> </el-table> -->
<el-table :data="tableData" border :span-method="targetSpanMethod"> <el-table :data="tableData" border :span-method="targetSpanMethod">
<el-table-column prop="targetname" label="考核指标"> <el-table-column prop="targetname" label="考核指标">
@ -176,6 +175,17 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<div class="gva-pagination">
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:page-sizes="[10, 30, 50, 100]"
:page-size="searchInfo.pagesize"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
>
</el-pagination>
</div>
</div> </div>
<!-- 新增弹框 --> <!-- 新增弹框 -->
<el-dialog :close-on-click-modal="false" :visible.sync="dialogFormVisible" :before-close="closeDialog" title="新增" width="80%"> <el-dialog :close-on-click-modal="false" :visible.sync="dialogFormVisible" :before-close="closeDialog" title="新增" width="80%">
@ -322,7 +332,6 @@
</el-select> </el-select>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="检查周期" label="检查周期"
align="center"> align="center">
@ -853,7 +862,8 @@
<script> <script>
import { dutyclasslist } from '@/api/duty/dimension' import { dutyclasslist } from '@/api/duty/dimension'
import { gettargetinfo,posttargetsunlist,editstate } from '@/api/duty/project' import { gettargetinfo,editstate } from '@/api/duty/project'
import { get_post_target } from '@/api/duty/projectNew'
import { delsuntardimeat,deldutytarget,gettasktarget, import { delsuntardimeat,deldutytarget,gettasktarget,
gettasktargetsun,gettasktargetcontary,addqualeval,getqualevallist,departmenttasklist, gettasktargetsun,gettasktargetcontary,addqualeval,getqualevallist,departmenttasklist,
delqualevalcont,deldepartmenttasklist,getrationlist,eitequalevalcont,getqualeval,dutydepartmentlist,selectdutylist, delqualevalcont,deldepartmenttasklist,getrationlist,eitequalevalcont,getqualeval,dutydepartmentlist,selectdutylist,
@ -862,6 +872,10 @@ neweitedetailedtarget,newdelsuntarget,newdeldetailedtarget,newdeltarget,getnewei
lookdutytargetinfo,getdutyrelationlist,adddutyrelation,getdepartforduty,eitedepartforduty } from '@/api/duty/duty' lookdutytargetinfo,getdutyrelationlist,adddutyrelation,getdepartforduty,eitedepartforduty } from '@/api/duty/duty'
import projectDialog from '@/components/projectDialog/index.vue' import projectDialog from '@/components/projectDialog/index.vue'
import { dutylist,getdutyinfo,eitedutyinfo,eitedutystate } from '@/api/duty/quantitativeIndicators' import { dutylist,getdutyinfo,eitedutyinfo,eitedutystate } from '@/api/duty/quantitativeIndicators'
import { editposttargetaual,addposttargetcont,posttargetsunlist,targetorglist,getsuntargetinfo,eidtsuntargetpost,delsuntarget,
addpostdetacont,getdetailscont,editdeatilscont,eidtposttardetailsstrte
} from '@/api/duty/oldGwDingXing'
import{ posttargetlist } from "@/api/duty/project";
import { import {
grouplist, grouplist,
departmentlist, departmentlist,
@ -870,6 +884,7 @@ import {
} from '@/api/duty/group' } from '@/api/duty/group'
export default { export default {
name: 'Dashboard', name: 'Dashboard',
props:['gwFromList'],
components: { components: {
projectDialog projectDialog
}, },
@ -1125,6 +1140,25 @@ export default {
}, },
watch: { watch: {
gwFromList:{
handler(newVal){
console.log("newVal");
console.log(newVal);
const list = []
list.push(this.gwFromList.gwId.toString())
this.searchInfo.postid=list
this.getDataList()
},
deep: true
},
// gwFromList(){
// console.log("gwId")
// console.log(this.gwFromList)
// const list = []
// list.push(this.gwFromList.gwId)
// this.searchInfo.postid=list
// this.getDataList()
// },
tableData() { tableData() {
this.$nextTick(() => { this.$nextTick(() => {
this.spanArr=[], this.spanArr=[],
@ -1194,10 +1228,10 @@ export default {
.then(async() => { .then(async() => {
const deleFrom={ const deleFrom={
// id: row.targetsun // id: row.targetsun
id: row.targetsun, //ID id: row.targetsun.toString(), //ID
assid: row.target //Id istrue:2
} }
const res = await newdelsuntarget(deleFrom) const res = await delsuntarget(deleFrom)
if (res.code === 0) { if (res.code === 0) {
this.$message({ this.$message({
type: 'success', type: 'success',
@ -1282,8 +1316,15 @@ export default {
}, },
// //
async selectdutylist(){ async selectdutylist(){
const res = await selectdutylist() console.log("下拉定性考核")
this.selectdutyList=res.data const from = {
page:1,
pagesize:100000,
type:1
}
const res = await posttargetlist(from)
console.log(res.data)
this.selectdutyList=res.data.list
}, },
// //
async deleteSmall(row){ async deleteSmall(row){
@ -1296,10 +1337,10 @@ export default {
console.log(row) console.log(row)
const deleFrom={ const deleFrom={
// outid: row.id // outid: row.id
id: row.detailedtarget, //ID id: row.detailedtarget.toString(), //ID
assid: row.dutyassessid //ID istrue:2
} }
const res = await newdeldetailedtarget(deleFrom) const res = await eidtposttardetailsstrte(deleFrom)
if (res.code === 0) { if (res.code === 0) {
this.$message({ this.$message({
type: 'success', type: 'success',
@ -1383,14 +1424,15 @@ export default {
async getzhilanmuList(){ async getzhilanmuList(){
this.methodData={ this.methodData={
//type: 1, //12 //type: 1, //12
group: this.rowZhiData.group, // // group: this.rowZhiData.group, //
//departmentid: this.rowZhiData.parentid, // // //departmentid: this.rowZhiData.parentid, //
dimension: this.rowZhiData.dimension, // // dimension: this.rowZhiData.dimension, //
targetid: this.rowZhiData.target, // // targetid: this.rowZhiData.target, //
id:this.rowZhiData.id.toString()
} }
console.log("this.methodData") console.log("this.methodData")
console.log(this.methodData) console.log(this.methodData)
const res = await lookdutytargetinfo(this.methodData) const res = await getsuntargetinfo(this.methodData)
if (res.code==0) { if (res.code==0) {
this.methodList=res.data this.methodList=res.data
@ -1854,13 +1896,11 @@ export default {
// //
async showEdit(row){ async showEdit(row){
const editFrom={ const editFrom={
group: row.group, // id:row.id
dimension: row.dimension, //
targetid: row.target //
} }
const res = await getdepartforduty(editFrom) const res = await get_post_target(editFrom)
this.bumenEdit = res.data this.bumenEdit = res.data
this.bumenEdit.departmentid=this.bumenEdit.departmentid.map(String) // this.bumenEdit.departmentid=this.bumenEdit.departmentid.map(String)
this.buMenEditDialog=true; this.buMenEditDialog=true;
}, },
// //
@ -2018,8 +2058,11 @@ export default {
// //
async getDataList() { async getDataList() {
const that = this const that = this
const res = await posttargetsunlist() const res = await posttargetsunlist(this.searchInfo)
this.tableData = res.data this.tableData = res.data.list
this.total = res.data.total;
this.searchInfo.page = res.data.page;
this.searchInfo.pagesize = res.data.pageSize;
// this.tableData.forEach(function(element, index) { // this.tableData.forEach(function(element, index) {
// that.$set(element,'treeData',{label:element.departmentmap[0].parentname,children:[]}), // that.$set(element,'treeData',{label:element.departmentmap[0].parentname,children:[]}),
// element.departmentmap.forEach(function(item, index) { // element.departmentmap.forEach(function(item, index) {

415
src/views/assessmentProgram/qualitativeIndicators.vue

@ -92,24 +92,29 @@
</el-table-column> </el-table-column>
</el-table> --> </el-table> -->
<el-table :data="tableData" border :span-method="targetSpanMethod"> <!-- <el-table :data="tableData" border :span-method="targetSpanMethod"> -->
<el-table-column prop="targetname" label="考核指标"> <el-table :data="tableData" border>
<el-table-column prop="title" label="考核指标">
<template slot-scope="scope"> <template slot-scope="scope">
<el-link type="primary" @click="showMethod(scope.row)">{{scope.row.targetname}}</el-link> <el-link v-if="scope.row.type==1" type="primary" @click="showMethod(scope.row)">{{scope.row.title}}</el-link>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="dimensiontitle" label="考核维度"/>
<el-table-column prop="dimensionname" label="考核维度"/>
<el-table-column align="left" label="部门"> <el-table-column align="left" label="部门">
<template #default="scope"> <template #default="scope">
<el-collapse> <!-- <el-collapse>
<el-collapse-item title="详情" name="1"> <el-collapse-item title="详情" name="1">
<div v-for="(iteam,index) in scope.row.departmentmap"> <div v-for="(iteam,index) in scope.row.departmentmap">
{{iteam.parentname}} {{iteam.parentname}}
</div> </div>
</el-collapse-item> </el-collapse-item>
</el-collapse> </el-collapse> -->
<el-button
icon="el-icon-view"
size="small"
type="text"
@click="showDepartmentList(scope.row)"
>查看</el-button>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="cycle" label="周期"> <el-table-column prop="cycle" label="周期">
@ -160,6 +165,17 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<div class="gva-pagination">
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:page-sizes="[10, 30, 50, 100]"
:page-size="searchInfo.pagesize"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
>
</el-pagination>
</div>
</div> </div>
<!-- 新增弹框 --> <!-- 新增弹框 -->
<el-dialog :close-on-click-modal="false" :visible.sync="dialogFormVisible" :before-close="closeDialog" title="新增" width="80%"> <el-dialog :close-on-click-modal="false" :visible.sync="dialogFormVisible" :before-close="closeDialog" title="新增" width="80%">
@ -306,7 +322,6 @@
</el-select> </el-select>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="检查周期" label="检查周期"
align="center"> align="center">
@ -520,11 +535,36 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-dialog> </el-dialog>
<!-- 人员弹框 -->
<el-dialog :visible.sync="showDepartabouttar" title="部门/岗位" width="45%">
<el-row>
<el-col :span="8">
<el-tree
:data="departabouttarData"
:props="defaultProps1"
@node-click="handleNodeClick"
></el-tree>
</el-col>
<el-col :span="8">
<el-tree
:data="postlist"
:props="defaultProps1"
@node-click="handlePostClick"
></el-tree>
</el-col>
<el-col :span="8">
<el-tree
:data="postUserlist"
:props="defaultProps2"
></el-tree>
</el-col>
</el-row>
</el-dialog>
<!-- 编辑部门弹框 --> <!-- 编辑部门弹框 -->
<el-dialog :close-on-click-modal="false" :visible.sync="buMenEditDialog" :before-close="bumeneditCloseDialog" title="修改" width="20%"> <el-dialog :close-on-click-modal="false" :visible.sync="buMenEditDialog" :before-close="bumeneditCloseDialog" title="修改" width="20%">
<el-form :model="bumenEdit" label-width="150px"> <el-form :model="bumenEdit" label-width="150px">
<el-form-item label="被考核部门"> <el-form-item label="被考核部门">
<el-cascader clearable v-model="bumenEdit.departmentid" :options="grouplist" :show-all-levels="false" :props="props"></el-cascader> <el-cascader clearable v-model="bumenEdit.acceptdepartmentid" :options="searchDepartmentList" :show-all-levels="false" :props="props"></el-cascader>
</el-form-item> </el-form-item>
</el-form> </el-form>
<template #footer> <template #footer>
@ -552,7 +592,6 @@
<el-form-item label="所属部门"> <el-form-item label="所属部门">
<el-cascader filterable clearable v-model="methodData.departid" :options="searchDepartmentList" :show-all-levels="false" :props="props1"></el-cascader> <el-cascader filterable clearable v-model="methodData.departid" :options="searchDepartmentList" :show-all-levels="false" :props="props1"></el-cascader>
<!-- <el-select v-model="searchfu.deaprtid" clearable placeholder="请选择"> <!-- <el-select v-model="searchfu.deaprtid" clearable placeholder="请选择">
<el-option <el-option
v-for="item in searchDepartmentList" v-for="item in searchDepartmentList"
:key="item.id" :key="item.id"
@ -575,7 +614,6 @@
<el-option label="半年" :value="7"></el-option> <el-option label="半年" :value="7"></el-option>
<el-option label="年" :value="6"></el-option> <el-option label="年" :value="6"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button size="mini" type="primary" icon="el-icon-search" @click="onSubmitsearchfu">查询</el-button> <el-button size="mini" type="primary" icon="el-icon-search" @click="onSubmitsearchfu">查询</el-button>
@ -590,20 +628,20 @@
</div> </div>
</template> </template>
</el-table-column> --> </el-table-column> -->
<el-table-column prop="targetsunname" label="考核项目" width="80"> <el-table-column prop="sontargetname" label="考核项目" width="80">
<template #default="scope"> <template #default="scope">
{{scope.row.targetsunname}} {{scope.row.sontargetname}}
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column prop="targetsunname" label="权重"></el-table-column> --> <!-- <el-table-column prop="targetsunname" label="权重"></el-table-column> -->
<el-table-column prop="detailedtargetname" label="考核内容"></el-table-column> <el-table-column prop="title" label="考核内容"></el-table-column>
<el-table-column prop="scoreing" label="考核标准" width="80" align="center"></el-table-column> <el-table-column prop="standard" label="考核标准" width="80" align="center"></el-table-column>
<el-table-column prop="unit" label="单位" width="80" align="center"> <el-table-column prop="unit" label="单位" width="80" align="center">
<template #default="scope"> <template #default="scope">
<div v-if="scope.row.unit==0"> <div v-if="scope.row.company==0">
</div> </div>
<div v-if="scope.row.unit!=0"> <div v-if="scope.row.company!=0">
{{scope.row.unit}} {{scope.row.company}}
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
@ -619,17 +657,17 @@
<el-table-column prop="censorcont" label="客观证据" width="120" align="center"/> <el-table-column prop="censorcont" label="客观证据" width="120" align="center"/>
<el-table-column label="检查周期" width="80" align="center"> <el-table-column label="检查周期" width="80" align="center">
<template #default="scope"> <template #default="scope">
<div v-if="scope.row.censorrate==='0'"></div> <div v-if="scope.row.cycle==='0'"></div>
<div v-else-if="scope.row.cycledettar==='0'"></div> <div v-else-if="scope.row.cycle==='0'"></div>
<div v-else> <div v-else>
{{scope.row.censorrate}} / {{scope.row.censorrate}} /
<span v-if="scope.row.cycledettar==1"></span> <span v-if="scope.row.cycle==1"></span>
<span v-if="scope.row.cycledettar==2"></span> <span v-if="scope.row.cycle==2"></span>
<span v-if="scope.row.cycledettar==3"></span> <span v-if="scope.row.cycle==3"></span>
<span v-if="scope.row.cycledettar==4"></span> <span v-if="scope.row.cycle==4"></span>
<span v-if="scope.row.cycledettar==5">季度</span> <span v-if="scope.row.cycle==5">季度</span>
<span v-if="scope.row.cycledettar==7">半年</span> <span v-if="scope.row.cycle==7">半年</span>
<span v-if="scope.row.cycledettar==6"></span> <span v-if="scope.row.cycle==6"></span>
</div> </div>
</template> </template>
@ -686,13 +724,13 @@
<el-dialog :close-on-click-modal="false" :visible.sync="showzhiming" title="修改" width="40%"> <el-dialog :close-on-click-modal="false" :visible.sync="showzhiming" title="修改" width="40%">
<el-form :model="nameFrom" label-width="150px"> <el-form :model="nameFrom" label-width="150px">
<el-form-item label="考核项目名称" prop="title"> <el-form-item label="考核项目名称" prop="title">
<el-input v-model="nameFrom.name" autocomplete="off" /> <el-input v-model="nameFrom.title" autocomplete="off" />
</el-form-item> </el-form-item>
<el-form-item label="被考核部门"> <el-form-item label="被考核部门">
<el-cascader filterable clearable v-model="nameFrom.departmentmap" :options="grouplist" :show-all-levels="false" :props="props"></el-cascader> <el-cascader filterable clearable v-model="nameFrom.departmentid" :options="searchDepartmentList" :show-all-levels="false" :props="props"></el-cascader>
</el-form-item> </el-form-item>
<el-form-item label="执行人"> <el-form-item label="执行人">
<el-cascader filterable clearable v-model="nameFrom.operator" :options="grouplistBackup" :show-all-levels="false" :props="userProps"></el-cascader> <el-cascader filterable clearable v-model="nameFrom.userkey" :options="grouplistBackup" :show-all-levels="false" :props="userProps"></el-cascader>
</el-form-item> </el-form-item>
</el-form> </el-form>
<template #footer> <template #footer>
@ -709,7 +747,7 @@
type="textarea" type="textarea"
autosize autosize
placeholder="请输入内容" placeholder="请输入内容"
v-model="xizeData.detailedtargetname"> v-model="xizeData.title">
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="考核标准" prop="score"> <el-form-item label="考核标准" prop="score">
@ -717,7 +755,7 @@
type="textarea" type="textarea"
autosize autosize
placeholder="请输入内容" placeholder="请输入内容"
v-model="xizeData.score"> v-model="xizeData.referencescore">
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="单位" prop="unit"> <el-form-item label="单位" prop="unit">
@ -731,7 +769,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="操作类型" prop="addorreduce"> <el-form-item label="操作类型" prop="addorreduce">
<el-select v-model="xizeData.addreduce" placeholder="请选择"> <el-select v-model="xizeData.addorreduce" placeholder="请选择">
<el-option label="加分" :value=2></el-option> <el-option label="加分" :value=2></el-option>
<el-option label="减分" :value=1></el-option> <el-option label="减分" :value=1></el-option>
<el-option label="加减分" :value=3></el-option> <el-option label="加减分" :value=3></el-option>
@ -769,14 +807,14 @@
type="textarea" type="textarea"
autosize autosize
placeholder="请输入内容" placeholder="请输入内容"
v-model="xizeData.detailedtargetcontent"> v-model="xizeData.content">
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="被考核部门"> <el-form-item label="被考核部门">
<el-cascader clearable v-model="xizeData.departmentid" :options="grouplist" :show-all-levels="false" :props="props"></el-cascader> <el-cascader clearable v-model="xizeData.departmentlist" :options="grouplist" :show-all-levels="false" :props="props"></el-cascader>
</el-form-item> </el-form-item>
<el-form-item label="执行人" prop="title"> <el-form-item label="执行人" prop="title">
<el-cascader filterable clearable v-model="xizeData.operator" :options="grouplistBackup" :show-all-levels="false" :props="userProps"></el-cascader> <el-cascader filterable clearable v-model="xizeData.userlist" :options="grouplistBackup" :show-all-levels="false" :props="userProps"></el-cascader>
</el-form-item> </el-form-item>
</el-form> </el-form>
<template #footer> <template #footer>
@ -788,20 +826,20 @@
<!-- 新增 --> <!-- 新增 -->
<el-dialog :close-on-click-modal="false" :visible.sync="addbiao" title="新增" width="40%"> <el-dialog :close-on-click-modal="false" :visible.sync="addbiao" title="新增" width="40%">
<el-form :model="xizeDataFrom" label-width="150px"> <el-form :model="xizeDataFrom" label-width="150px">
<el-form-item label="考核内容" prop="detailedtargetname"> <el-form-item label="考核内容" prop="title">
<el-input <el-input
type="textarea" type="textarea"
autosize autosize
placeholder="请输入内容" placeholder="请输入内容"
v-model="xizeDataFrom.detailedtargetname"> v-model="xizeDataFrom.title">
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="考核标准" prop="score"> <el-form-item label="考核标准" prop="referencescore">
<el-input <el-input
type="textarea" type="textarea"
autosize autosize
placeholder="请输入内容" placeholder="请输入内容"
v-model="xizeDataFrom.score"> v-model="xizeDataFrom.referencescore">
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="单位" prop="unit"> <el-form-item label="单位" prop="unit">
@ -814,16 +852,49 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="备注说明" prop="detailedtargetcontent"> <el-form-item label="备注说明" prop="content">
<el-input <el-input
type="textarea" type="textarea"
autosize autosize
placeholder="请输入内容" placeholder="请输入内容"
v-model="xizeDataFrom.detailedtargetcontent"> v-model="xizeDataFrom.content">
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="执行人" prop="operator"> <el-form-item label="操作类型" prop="userlist">
<el-cascader filterable clearable v-model="xizeDataFrom.operator" :options="grouplistBackup" :show-all-levels="false" :props="userProps"></el-cascader> <el-select v-model="xizeDataFrom.addorreduce" placeholder="请选择">
<el-option label="加分" :value=2></el-option>
<el-option label="减分" :value=1></el-option>
<el-option label="加减分" :value=3></el-option>
</el-select>
</el-form-item>
<el-form-item label="检查方式" prop="userlist">
<el-select multiple v-model="xizeDataFrom.censortype" clearable placeholder="请选择">
<el-option label="现场检查" :value=1></el-option>
<el-option label="资料审查" :value=2></el-option>
<el-option label="事件触发" :value=3></el-option>
</el-select>
</el-form-item>
<el-form-item label="统计周期" prop="userlist">
<el-select v-model="xizeDataFrom.cycle" clearable placeholder="请选择">
<el-option label="月" :value=4></el-option>
<el-option label="季度" :value=5></el-option>
<el-option label="半年" :value=7></el-option>
<el-option label="年" :value=6></el-option>
</el-select>
</el-form-item>
<el-form-item label="客观证据">
<el-input
type="textarea"
autosize
placeholder="请输入内容"
v-model="xizeDataFrom.censorcont">
</el-input>
</el-form-item>
<el-form-item label="检查频次" prop="userlist">
<el-input v-model.number="xizeDataFrom.censorrate"></el-input>
</el-form-item>
<el-form-item label="执行人" prop="userlist">
<el-cascader filterable clearable v-model="xizeDataFrom.userlist" :options="grouplistBackup" :show-all-levels="false" :props="userProps"></el-cascader>
</el-form-item> </el-form-item>
</el-form> </el-form>
<template #footer> <template #footer>
@ -846,14 +917,22 @@ neweitedetailedtarget,newdelsuntarget,newdeldetailedtarget,newdeltarget,getnewei
lookdutytargetinfo,getdutyrelationlist,adddutyrelation,getdepartforduty,eitedepartforduty } from '@/api/duty/duty' lookdutytargetinfo,getdutyrelationlist,adddutyrelation,getdepartforduty,eitedepartforduty } from '@/api/duty/duty'
import projectDialog from '@/components/projectDialog/index.vue' import projectDialog from '@/components/projectDialog/index.vue'
import { dutylist,getdutyinfo,eitedutyinfo,eitedutystate } from '@/api/duty/quantitativeIndicators' import { dutylist,getdutyinfo,eitedutyinfo,eitedutystate } from '@/api/duty/quantitativeIndicators'
import {
departmenttargetlist,getdepartabouttarget,gettargetreport,shiyan,getdepartmenttragetcontlist,basistargetdearpetmentgetpost,basistaegetdeparmentreport,
delsontarget,basissontargetadddetailed,del_one_detailed_target,
getsontargetcont,editsontargetdepartmentreport,getonedetailedtarget,
get_one_terget_info,edit_one_target
} from '@/api/duty/projectNew'
import { import {
grouplist, grouplist,
departmentlist, departmentlist,
getgroupdepartmap, getgroupdepartmap,
getgroupuser getgroupuser,
} from '@/api/duty/group' } from '@/api/duty/group'
export default { export default {
name: 'Dashboard', name: 'Dashboard',
props:['bmId'],
components: { components: {
projectDialog projectDialog
}, },
@ -861,6 +940,7 @@ export default {
return { return {
methodData:{}, methodData:{},
searchfu:{}, searchfu:{},
searchDepartmentList:[], searchDepartmentList:[],
unitDataList:[ unitDataList:[
{ {
@ -917,6 +997,7 @@ export default {
}, },
], ],
bumenEdit:{}, bumenEdit:{},
postlist:[],
treeData:[], treeData:[],
// //
treeData:{ treeData:{
@ -930,7 +1011,9 @@ export default {
xizeDig:false, xizeDig:false,
xizeData:'', xizeData:'',
// //
nameFrom:{}, nameFrom:{
targetsunid:''
},
// //
showzhiming:false, showzhiming:false,
// //
@ -1053,7 +1136,9 @@ export default {
tableData:[], tableData:[],
// //
searchInfo: { searchInfo: {
type:1 class:1,
page:1,
pagesize:10
}, },
spanArr:[], spanArr:[],
spanArr1:[], spanArr1:[],
@ -1066,6 +1151,7 @@ export default {
methodSpanArr:[], methodSpanArr:[],
methodSpanArr1:[], methodSpanArr1:[],
methodPos1:'', methodPos1:'',
postUserlist:[],
rulesObjectCopy:{}, rulesObjectCopy:{},
// //
rules: { rules: {
@ -1078,13 +1164,26 @@ export default {
children: "children", children: "children",
emitPath:false, emitPath:false,
}, },
defaultProps1: {
children: "child",
label: "name",
},
defaultProps2: {
children: "child",
label: "name"+'number',
},
postID:'',
rowZhiData:{}, rowZhiData:{},
methodList:[], methodList:[],
departabouttarData:[],
xizeDataFrom:{}, xizeDataFrom:{},
zhibiaoID:'',
pos:'', pos:'',
pos1:'', pos1:'',
pos2:'', pos2:'',
parentidArr:[], parentidArr:[],
showDepartabouttar:false,
parentidpos:'', parentidpos:'',
methodPos:'', methodPos:'',
editRules:{ editRules:{
@ -1092,7 +1191,7 @@ export default {
} }
} }
}, },
created() { async created() {
// if (this.$store.state.user.token=='') { // if (this.$store.state.user.token=='') {
// this.$router.push('/login') // this.$router.push('/login')
// } // }
@ -1106,9 +1205,18 @@ export default {
this.getDutyclasslist() this.getDutyclasslist()
this.getSystemadminlist() this.getSystemadminlist()
this.selectdutylist() this.selectdutylist()
}, // const res = await shiyan()
},
watch: { watch: {
bmId(){
console.log("bmid变化")
// console.log(this.bmId)
// const list = []
// list.push(this.bmId)
this.searchInfo.departmentid=this.bmId
this.getDataList()
},
tableData() { tableData() {
this.$nextTick(() => { this.$nextTick(() => {
this.spanArr=[], this.spanArr=[],
@ -1140,6 +1248,47 @@ export default {
}, },
}, },
methods: { methods: {
//
async handlePostClick(val){
const from = {
targetid:this.zhibiaoID.toString(),
departmentid:this.postID,
post:val.id.toString()
}
const res = await basistaegetdeparmentreport(from)
this.postUserlist=res.data.peoplelist
},
//
async handleNodeClick(val){
this.postID=val.id.toString()
const from = {
targetid:this.zhibiaoID.toString(),
departmentid:val.id.toString()
}
const res = await basistargetdearpetmentgetpost(from)
this.postlist=res.data.postlist
},
//
async showUserList(row){
this.showUser=true
const from = {
targetid:row.id.toString()
}
const res = await gettargetreport(from)
this.userlistary=res.data.userlistary
},
// /
async showDepartmentList(row){
this.zhibiaoID=row.id
const from = {
id:row.id.toString()
}
const res = await getdepartabouttarget(from)
this.departabouttarData=res.data
this.showDepartabouttar=true
console.log("getdepartabouttargetRes")
console.log(res)
},
// //
async deleteSun(row){ async deleteSun(row){
this.$confirm('此操作将永久删除, 是否继续?', '提示', { this.$confirm('此操作将永久删除, 是否继续?', '提示', {
@ -1150,10 +1299,11 @@ export default {
.then(async() => { .then(async() => {
const deleFrom={ const deleFrom={
// id: row.targetsun // id: row.targetsun
id: row.targetsun, //ID id: row.parentidsun.toString(), //ID
assid: row.target //Id // assid: row.target //Id
} }
const res = await newdelsuntarget(deleFrom) // const res = await newdelsuntarget(deleFrom)
const res = await delsontarget(deleFrom)
if (res.code === 0) { if (res.code === 0) {
this.$message({ this.$message({
type: 'success', type: 'success',
@ -1162,19 +1312,20 @@ export default {
this.getzhilanmuList() this.getzhilanmuList()
} }
}) })
}, },
// //
async addxize(){ async addxize(){
const resa = await neweitedetailedtarget(this.xizeDataFrom) this.xizeDataFrom.id=this.xizeDataFrom.id.toString()
this.xizeDataFrom.censortype=this.xizeDataFrom.censortype.map(String);
const res = await basissontargetadddetailed(this.xizeDataFrom)
this.xizeDataFrom={} this.xizeDataFrom={}
this.getzhilanmuList() this.getzhilanmuList()
this.addbiao=false this.addbiao=false
}, },
// //
showaddbiao(row){ showaddbiao(row){
this.$set(this.xizeDataFrom,'assid',row.dutyassessid) // this.$set(this.xizeDataFrom,'assid',row.dutyassessid)
this.$set(this.xizeDataFrom,'id','') this.$set(this.xizeDataFrom,'id',row.parentidsun)
this.addbiao=true this.addbiao=true
}, },
// //
@ -1252,10 +1403,11 @@ export default {
console.log(row) console.log(row)
const deleFrom={ const deleFrom={
// outid: row.id // outid: row.id
id: row.detailedtarget, //ID id: row.id.toString(), //ID
assid: row.dutyassessid //ID // assid: row.dutyassessid //ID
} }
const res = await newdeldetailedtarget(deleFrom) // const res = await newdeldetailedtarget(deleFrom)
const res = await del_one_detailed_target(deleFrom)
if (res.code === 0) { if (res.code === 0) {
this.$message({ this.$message({
type: 'success', type: 'success',
@ -1325,7 +1477,7 @@ export default {
} }
// const res = await lookdutytargetinfo(methodData) // const res = await lookdutytargetinfo(methodData)
const res = await lookdutytargetinfo(this.methodData) const res = await getdepartmenttragetcontlist(this.methodData)
// this.methodData.censortype=this.methodData.censortype.map(Number) // this.methodData.censortype=this.methodData.censortype.map(Number)
// this.$delete(this.methodData,'censorrate') // this.$delete(this.methodData,'censorrate')
if (res.code==0) { if (res.code==0) {
@ -1338,25 +1490,30 @@ export default {
// //
async getzhilanmuList(){ async getzhilanmuList(){
this.methodData={ this.methodData={
//type: 1, //12 // //type: 1, //12
group: this.rowZhiData.group, // // group: this.rowZhiData.group, //
//departmentid: this.rowZhiData.parentid, // // //departmentid: this.rowZhiData.parentid, //
dimension: this.rowZhiData.dimension, // // dimension: this.rowZhiData.dimension, //
targetid: this.rowZhiData.target, // // targetid: this.rowZhiData.target, //
// page:1,
// pagesize:200,
targetid:this.rowZhiData.id.toString(),//ID
// departmentid:this.rowZhiData.relevantdepartments,//ID
// reportperson:this.rowZhiData.report,//
// cycle:this.rowZhiData.cycle,//
// targetsunid:this.rowZhiData.group//
} }
console.log("this.methodData") console.log("this.methodData")
console.log(this.methodData) console.log(this.methodData)
const res = await lookdutytargetinfo(this.methodData) // const res = await lookdutytargetinfo(this.methodData)
const res = await getdepartmenttragetcontlist(this.methodData)
if (res.code==0) { if (res.code==0) {
this.methodList=res.data this.methodList=res.data.list
} }
}, },
//
showUserList(row){
this.showUser=true
this.userlistary=row.userlistary
},
getMethodSpanArr(data) { getMethodSpanArr(data) {
// data // data
for (var i = 0; i < data.length; i++) { for (var i = 0; i < data.length; i++) {
@ -1365,7 +1522,7 @@ export default {
this.methodPos = 0; this.methodPos = 0;
} else { } else {
// //
if (data[i].targetsun === data[i - 1].targetsun) { if (data[i].parentidsun === data[i - 1].parentidsun) {
this.methodSpanArr[this.methodPos] += 1; this.methodSpanArr[this.methodPos] += 1;
this.methodSpanArr.push(0); this.methodSpanArr.push(0);
} else { } else {
@ -1585,6 +1742,7 @@ export default {
this.rulesList=JSON.parse(JSON.stringify(res.data)) this.rulesList=JSON.parse(JSON.stringify(res.data))
this.rulesCopyList=JSON.parse(JSON.stringify(res.data)) this.rulesCopyList=JSON.parse(JSON.stringify(res.data))
this.tableShow=true this.tableShow=true
} }
}, },
// //
@ -1741,13 +1899,13 @@ export default {
.then(async() => { .then(async() => {
const deleFrom={ const deleFrom={
// type: 1, //12 // type: 1, //12
group: row.group, // // group: row.group, //
// departmentid: row.parentid, // // // departmentid: row.parentid, //
dimension: row.dimension, // // dimension: row.dimension, //
targetid: row.target, // id: row.id.toString(), //
//targetsun: row.targetsun // //targetsun: row.targetsun //
} }
const res = await newdeltarget(deleFrom) const res = await deltarget(deleFrom)
if (res.code === 0) { if (res.code === 0) {
this.$message({ this.$message({
type: 'success', type: 'success',
@ -1766,43 +1924,49 @@ export default {
async showxize(row){ async showxize(row){
const from = { const from = {
// outid:row.id // outid:row.id
id: row.detailedtarget, //ID id: row.id.toString(), //ID
assid: row.dutyassessid //ID // assid: row.dutyassessid //ID
} }
const res = await getneweitedetailedtarget(from) // const res = await getneweitedetailedtarget(from)
const res = await getonedetailedtarget(from)
this.xizeData=res.data this.xizeData=res.data
console.log("this.xizeData.addorreduce")
console.log(this.xizeData.addorreduce)
console.log(this.xizeData.addorreduce)
this.xizeData.censortype=this.xizeData.censortype.map(Number) this.xizeData.censortype=this.xizeData.censortype.map(Number)
this.xizeDig=true this.xizeDig=true
}, },
// //
async showEditming(row){ async showEditming(row){
// const editDataFrom={
// group: row.group, //
// dimension: row.dimension, //
// targetid: row.target, //
// suntargetid: row.targetsun //
// }
console.log("row")
console.log(row)
const editDataFrom={ const editDataFrom={
group: row.group, // id: row.parentidsun.toString() //
dimension: row.dimension, // }
targetid: row.target, // // const res = await geteitesuntarterinfo(editDataFrom)
suntargetid: row.targetsun // const res = await getsontargetcont(editDataFrom)
} this.nameFrom=res.data
const res = await geteitesuntarterinfo(editDataFrom) this.nameFrom.targetsunid=row.parentidsun.toString()
console.log(this.nameFrom)
this.nameFrom={ // this.nameFrom={
id:row.targetsun, // id:row.targetsun,
name:row.targetsunname, // name:row.targetsunname,
group:row.group, // group:row.group,
dimension:row.dimension, // dimension:row.dimension,
targetid:row.target, // targetid:row.target,
departmentmap:row.departidmap, // departmentmap:row.departidmap,
operator:res.data // operator:res.data
} // }
this.showzhiming=true this.showzhiming=true
}, },
// //
async xiuzhiming(){ async xiuzhiming(){
this.nameFrom.departmentmap=this.nameFrom.departmentmap.map(String) this.nameFrom.acceptdepartmentid=this.nameFrom.departmentid.map(String)
const res = await eitesuntargetname(this.nameFrom) this.nameFrom.userlist=this.nameFrom.userkey.map(String)
const res = await editsontargetdepartmentreport(this.nameFrom)
this.nameFrom={} this.nameFrom={}
this.getzhilanmuList() this.getzhilanmuList()
this.showzhiming=false this.showzhiming=false
@ -1810,24 +1974,30 @@ export default {
// //
async showEdit(row){ async showEdit(row){
const editFrom={ const editFrom={
group: row.group, // // group: row.group, //
dimension: row.dimension, // // dimension: row.dimension, //
targetid: row.target // id: row.id.toString() //
} }
const res = await getdepartforduty(editFrom) // const editFrom={
// id:row.parentidsun
// }
// const res = await getdepartforduty(editFrom)
// const res = await getsontargetcont(editFrom)
const res = await get_one_terget_info(editFrom)
this.bumenEdit = res.data this.bumenEdit = res.data
this.bumenEdit.departmentid=this.bumenEdit.departmentid.map(String) // this.bumenEdit.departmentid=this.bumenEdit.departmentid.map(String)
this.buMenEditDialog=true; this.buMenEditDialog=true;
}, },
// //
async buMenTi(){ async buMenTi(){
const editFrom={ // const editFrom={
group: this.bumenEdit.group, // // group: this.bumenEdit.group, //
dimension: this.bumenEdit.dimension, // // dimension: this.bumenEdit.dimension, //
targetid: this.bumenEdit.target, // // targetid: this.bumenEdit.target, //
departary: this.bumenEdit.departmentid.map(String) // departary: this.bumenEdit.departmentid.map(String)
} // }
const res = await eitedepartforduty(editFrom) this.bumenEdit.acceptdepartmentid=this.bumenEdit.acceptdepartmentid.map(String)
const res = await edit_one_target(this.bumenEdit)
if (res.code === 0) { if (res.code === 0) {
this.$message({ this.$message({
type: 'success', type: 'success',
@ -1880,7 +2050,8 @@ export default {
this.form.parentid=this.form.parentid.map(String); this.form.parentid=this.form.parentid.map(String);
// this.form.parentid=this.form.evaluationlist.censortype.map(String); // this.form.parentid=this.form.evaluationlist.censortype.map(String);
// const res = await addqualeval(this.form) // const res = await addqualeval(this.form)
const res = await adddutyrelation(this.form) // const res = await adddutyrelation(this.form)
const res = await addsuntargetdetailed(this.form)
if (res.code === 0) { if (res.code === 0) {
this.$message({ this.$message({
type: 'success', type: 'success',
@ -1974,8 +2145,14 @@ export default {
// //
async getDataList() { async getDataList() {
const that = this const that = this
const res = await getdutyrelationlist() this.searchInfo.class=1
this.tableData = res.data const res = await departmenttargetlist(this.searchInfo)
this.tableData = res.data.list
console.log("this.tableData")
console.log(this.tableData)
this.total = res.data.total;
this.searchInfo.page = res.data.page;
this.searchInfo.pagesize = res.data.pageSize;
// this.tableData.forEach(function(element, index) { // this.tableData.forEach(function(element, index) {
// that.$set(element,'treeData',{label:element.departmentmap[0].parentname,children:[]}), // that.$set(element,'treeData',{label:element.departmentmap[0].parentname,children:[]}),
// element.departmentmap.forEach(function(item, index) { // element.departmentmap.forEach(function(item, index) {

463
src/views/assessmentProgram/qualitativeIndicatorsBase.vue

@ -0,0 +1,463 @@
<template>
<!-- 考核指标录入 -->
<div class="dashboard-container">
<div class="gva-table-box">
<el-container>
<!-- 左侧内容 -->
<el-aside
width="300px"
style="border-right: 1px solid rgb(220, 223, 230);height: 850px"
>
<el-tree
:data="GovthreeList2"
:props="defaultProps1"
@node-click="handleNodeClick"
></el-tree>
</el-aside>
<el-aside
width="200px"
style="border-right: 1px solid rgb(220, 223, 230);height: 850px"
>
<el-tree
:data="postList"
:props="defaultProps1"
@node-click="NodePostClick"
></el-tree>
</el-aside>
<!-- 右侧内容 -->
<el-main style="padding: 10px">
<div v-if="tableGWShow">
<gwQualitativeIndicators :gwFromList="gwFromList"></gwQualitativeIndicators>
</div>
<div v-if="tableBMShow">
<qualitativeIndicators :bmId="bmId"></qualitativeIndicators>
</div>
</el-main>
</el-container>
</div>
</div>
</template>
<script>
import { govthree, positionlist } from "@/api/personnel/post";
import { dutyclasslist } from "@/api/duty/dimension";
import qualitativeIndicators from "@/views/assessmentProgram/qualitativeIndicators.vue";
import gwQualitativeIndicators from "@/views/assessmentProgram/gwQualitativeIndicators.vue";
import {
posttargetlist,
addtarget,
gettargetinfo,
eiteassessinfo,
eitetarget,
deltarget,
editposttarget,
editstate,
addposttarget,
} from "@/api/duty/project";
import { getgroupdepartmap, getgroupuser } from "@/api/duty/group";
export default {
components: {
qualitativeIndicators,
gwQualitativeIndicators
},
name: "Dashboard",
data() {
return {
gwFromList:{
gwId:1,
bmId:1
},
tableGWShow: false,
tableBMShow: true,
gwId:1,
bmId:1,
GovthreeList2: [],
defaultProps1: {
children: "child",
label: "name",
},
grouplistBackup: [],
grouplist: [],
props: {
checkStrictly: true,
value: "id",
label: "name",
children: "children",
emitPath: false,
// multiple: true
},
userProps: {
value: "key",
label: "name",
children: "govlist",
emitPath: false,
multiple: true,
},
dutyclasslist: {},
searchList: {
page: 1,
pagesize: 10000,
},
//
editFrom: {},
//
switchFrom: {},
//
deleFrom: {},
//
editAdd: {
unittitle: "",
parentId: "",
},
assessList: {},
//
form: {
share: 2,
cycleattr: 1,
scoringmethod: 1,
},
//
dialogFormVisible: false,
//
editDialogFormVisible: false,
total: 0,
postListAdd: [],
postList: [],
tableData: [],
//
searchInfo: {
page: 1,
pagesize: 10,
},
//
abc: {
aaa: "111",
bbb: "222",
},
};
},
created() {
console.log(this.$store.state.user.token);
if (this.$store.state.user.token == "") {
this.$router.push("/login");
}
//
this.getDataList();
this.getDutyclasslist();
this.getSystemadminlist();
this.getGrouplist();
this.getGovthree2();
},
methods: {
//
NodePostClick(val) {
this.gwId=val.id
this.gwFromList.gwId=val.id
this.tableGWShow=true
this.tableBMShow=false
console.log('岗位')
console.log(this.gwFromList);
},
//
async getPost(val) {
const from = {
organization: val.toString(),
page: 1,
pagesize: 10,
};
const res = await positionlist(from);
this.postList = res.data.list;
},
//
handleNodeClick(val) {
// this.searchInfo.organization=val.id
// this.searchInfo.organization=this.searchInfo.organization.toString()
this.getPost(val.id);
this.bmId=val.id
this.gwFromList.bmId=val.id
console.log('行政组织')
this.tableGWShow=false
this.tableBMShow=true
console.log(val);
},
//
async departChange(val) {
console.log(val);
// this.searchInfo.organization=val.id
// this.searchInfo.organization=this.searchInfo.organization.toString()
const from = {
organization: val.toString(),
page: 1,
pagesize: 10,
};
const res = await positionlist(from);
this.postListAdd = res.data.list;
console.log(val);
},
//
async getGovthree2() {
const res = await govthree();
this.GovthreeList2 = res.data[0].child;
console.log("this.GovthreeList2");
console.log(res.data[0].child);
},
//
async getSystemadminlist() {
const from = {
level: 4,
};
const res = await getgroupuser(from);
this.grouplistBackup = res.data;
this.grouplistBackup.forEach((item) => {
if (item.govlist != null) {
// this.digui(item);
item.govlist.forEach((items) => {
// forEach,itemthis.digui(item);
this.digui(items); //
//
console.log(items, "看我查看完整的数据哦");
// children
});
} else {
item.govlist = item.child;
//
}
});
console.log(this.grouplistBackup);
},
//
async getGrouplist() {
const res = await getgroupdepartmap();
this.grouplist = res.data;
},
//
async getDutyclasslist() {
const res = await dutyclasslist(this.searchList);
this.dutyclasslist = res.data.list;
},
//
async deleteOperate(row) {
this.$confirm("此操作将永久删除, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(async () => {
this.deleFrom.state = 3;
this.deleFrom.id = row.id;
this.deleFrom.id = this.deleFrom.id.toString();
const res = await editstate(this.deleFrom);
if (res.code === 0) {
this.$message({
type: "success",
message: "删除成功!",
});
this.getDataList();
}
});
},
//
digui(item) {
//
if (item.govlist != null) {
// valuelabel,
item.govlist.forEach((ff) => {
// children
this.digui(ff);
});
} else {
// children西
// valuelabel,
// --------------------------线---------------------------------
item.govlist = item.child;
}
//
},
//
showAdd() {
this.dialogFormVisible = true;
console.log(this.dialogFormVisible);
},
//
async showEdit(row) {
this.editFrom.outid = row.outid;
const res = await gettargetinfo(this.editFrom);
this.editAdd = res.data;
console.log("this.editAdd");
console.log(this.editAdd);
this.editDialogFormVisible = true;
},
//
async changeVal(val, id) {
this.switchFrom.id = id;
this.switchFrom.id = this.switchFrom.id.toString();
if (val == 1) {
this.switchFrom.state = 1;
const res = await editstate(this.switchFrom);
if (res.code === 0) {
this.$message({
type: "success",
message: "修改状态成功",
showClose: true,
});
this.getDataList();
}
} else {
this.switchFrom.state = 2;
const res = await editstate(this.switchFrom);
if (res.code === 0) {
this.$message({
type: "success",
message: "修改状态成功",
showClose: true,
});
this.getDataList();
}
}
},
//
onReset() {
this.searchInfo = {};
},
//
onSubmit() {
this.searchInfo.page = 1;
this.searchInfo.pagesize = 10;
this.getDataList();
},
//
formatDate(nS) {
return new Date(parseInt(nS) * 1000)
.toLocaleString()
.replace(/:\d{1,2}$/, " ");
},
//
async enterDialog() {
this.$refs.addForm.validate(async (valid) => {
if (valid) {
this.form.relevantDepartments =
this.form.relevantDepartments.toString();
if (this.form.departmentsPost != null) {
this.form.departmentsPost = this.form.departmentsPost.map(String);
}
this.form.cycleattr = parseInt(this.form.cycleattr);
const res = await addposttarget(this.form);
if (res.code === 0) {
this.$message({
type: "success",
message: "添加成功",
showClose: true,
});
}
this.getDataList();
this.closeDialog();
}
});
},
//
async editEnterDialog() {
this.$refs.editForm.validate(async (valid) => {
if (valid) {
if (this.editAdd.relevantdepartmentsmap != null) {
this.editAdd.relevantdepartments =
this.editAdd.relevantdepartmentsmap.map(String);
}
if (this.editAdd.relevantdepartmentsmap == null) {
this.editAdd.relevantdepartments =
this.editAdd.relevantdepartments.split(",");
}
if (this.editAdd.visiblerangedepartmap == null) {
this.editAdd.visiblerange = this.editAdd.visiblerange.split(",");
}
if (this.editAdd.visiblerangegroupmap == null) {
this.editAdd.visiblerangegroup =
this.editAdd.visiblerangegroup.split(",");
}
console.log(this.editAdd.relevantdepartments);
if (this.editAdd.share == 1) {
this.editAdd.relevantdepartments = [];
this.editAdd.relevantdepartmentsmap = [];
this.$delete(this.editAdd, "relevantdepartments");
this.$delete(this.editAdd, "relevantdepartmentsmap");
}
this.editAdd.report = this.editAdd.reportmap;
this.editAdd.dimension = this.editAdd.dimensionidstr;
this.editAdd.cycleattr = parseInt(this.editAdd.cycleattr);
const res = await eitetarget(this.editAdd);
if (res.code === 0) {
this.$message({
type: "success",
message: "编辑成功",
showClose: true,
});
}
this.getDataList();
this.editCloseDialog();
}
});
},
//
closeDialog() {
console.log("closeDialog");
this.initForm();
this.dialogFormVisible = false;
},
//
editCloseDialog() {
this.editInitForm();
this.editDialogFormVisible = false;
},
//
initForm() {
console.log("initForm");
this.$refs.addForm.resetFields();
this.form = {};
console.log(this.form);
},
//
editInitForm() {
this.$refs.editForm.resetFields();
this.editAdd = {};
},
// pageSize
handleSizeChange(val) {
this.searchInfo.pagesize = val;
this.getDataList(this.searchInfo);
},
// page
handleCurrentChange(val) {
this.searchInfo.page = val;
this.getDataList(this.searchInfo);
},
//
async getDataList() {
if (this.searchInfo.relevantdepartments != null) {
this.searchInfo.relevantdepartments =
this.searchInfo.relevantdepartments.map(String);
}
const res = await posttargetlist(this.searchInfo);
this.tableData = res.data.list;
this.total = res.data.total;
this.searchInfo.page = res.data.page;
this.searchInfo.pagesize = res.data.pageSize;
},
},
};
</script>
<style lang="scss" scoped>
.dashboard {
&-container {
margin: 30px;
}
&-text {
font-size: 30px;
line-height: 46px;
}
}
</style>

899
src/views/basicInfo/gwProject copy.vue

@ -0,0 +1,899 @@
<template>
<!-- 岗位考核指标录入 -->
<div class="dashboard-container">
<div class="gva-search-box">
<el-form ref="searchForm" :inline="true" :model="searchInfo">
<el-form-item label="考核指标">
<el-input
placeholder="请输入名称"
v-model="searchInfo.title"
clearable
>
</el-input>
</el-form-item>
<!-- <el-form-item label="是否通用" prop="share">
<el-select v-model="searchInfo.share" placeholder="请选择是否通用">
<el-option label="通用指标" :value=1></el-option>
<el-option label="个性指标" :value=2></el-option>
</el-select>
</el-form-item> -->
<!-- <el-form-item v-if="searchInfo.share==2" label="关联部门" prop="relevantdepartments">
<el-cascader clearable v-model="searchInfo.relevantdepartments" :options="grouplist" :show-all-levels="false" :props="props"></el-cascader>
</el-form-item> -->
<!-- <el-form-item label="关联部门" prop="relevantdepartments">
<el-cascader filterable clearable v-model="searchInfo.relevantdepartments" :options="grouplist" :show-all-levels="false" :props="props"></el-cascader>
</el-form-item> -->
<el-form-item label="指标维度" prop="dimension">
<el-select
v-model="searchInfo.dimension"
clearable
placeholder="请选择考核维度"
>
<el-option
v-for="item in dutyclasslist"
:key="item.outId"
:label="item.title"
:value="item.outId"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="指标性质" prop="type">
<el-select v-model="searchInfo.type" placeholder="请选择指标性质">
<el-option label="定性指标" :value="1"></el-option>
<el-option label="定量指标" :value="2"></el-option>
</el-select>
</el-form-item>
<!-- <el-form-item label="状态">
<el-select v-model="searchInfo.state" clearable placeholder="请选择状态">
<el-option :value=1 label="正常">正常</el-option>
<el-option :value=2 label="禁止">禁止</el-option>
</el-select>
</el-form-item> -->
<el-form-item>
<el-button
size="mini"
type="primary"
icon="el-icon-search"
@click="onSubmit"
>查询</el-button
>
<el-button size="mini" icon="el-icon-refresh" @click="onReset"
>重置</el-button
>
</el-form-item>
</el-form>
</div>
<div class="gva-table-box">
<div class="gva-btn-list">
<el-button
size="mini"
type="primary"
icon="el-icon-plus"
@click="showAdd()"
>新增</el-button
>
</div>
<el-container>
<!-- 左侧内容 -->
<el-aside
width="300px"
style="border-right: 1px solid rgb(220, 223, 230);height: 750px"
>
<el-tree
:data="GovthreeList2"
:props="defaultProps1"
@node-click="handleNodeClick"
></el-tree>
</el-aside>
<el-aside
width="200px"
style="border-right: 1px solid rgb(220, 223, 230);height: 750px"
>
<el-tree
:data="postList"
:props="defaultProps1"
@node-click="NodePostClick"
></el-tree>
</el-aside>
<!-- 右侧内容 -->
<el-main style="padding: 10px">
<div v-if="tableGWShow">
<project></project>
</div>
<div v-if="tableBMShow">
<el-table :data="tableData">
<el-table-column align="left" label="考核指标" prop="title" />
<el-table-column
align="left"
label="考核维度"
prop="dimensionname"
/>
<el-table-column align="left" label="指标性质">
<template #default="scope">
<div v-if="scope.row.type == 1">定性指标</div>
<div v-if="scope.row.type == 2">定量指标</div>
</template>
</el-table-column>
<!-- <el-table-column align="left" label="是否通用">
<template #default="scope">
<div v-if="scope.row.share==1">通用指标</div>
<div v-if="scope.row.share==2">个性指标</div>
</template>
</el-table-column> -->
<el-table-column align="left" label="单位" prop="unit" />
<el-table-column align="left" label="考核周期" prop="outId">
<template #default="scope">
<el-tag v-if="scope.row.cycle == 1"></el-tag>
<el-tag v-if="scope.row.cycle == 2"></el-tag>
<el-tag v-if="scope.row.cycle == 3"></el-tag>
<el-tag v-if="scope.row.cycle == 4"></el-tag>
<el-tag v-if="scope.row.cycle == 5">季度</el-tag>
<el-tag v-if="scope.row.cycle == 6"></el-tag>
</template>
</el-table-column>
<el-table-column align="left" label="计分方式" prop="outId">
<template #default="scope">
<el-tag v-if="scope.row.scoringmethod == 1">自动计分</el-tag>
<el-tag v-if="scope.row.scoringmethod == 2">手动计分</el-tag>
</template>
</el-table-column>
<el-table-column align="left" label="关联岗位">
<template #default="scope">
<el-collapse>
<el-collapse-item title="详情" name="1">
<div v-for="(iteam, index) in scope.row.postary">
{{ iteam.name }}
</div>
</el-collapse-item>
</el-collapse>
<!-- <div v-for="item in scope.row.relevantdepartmentsmap" :key="item.key">{{item.title}}</div> -->
</template>
</el-table-column>
<el-table-column align="left" label="数据提交">
<template #default="scope">
<div v-for="item in scope.row.reportary" :key="item.key">
{{ item.name }}
</div>
</template>
</el-table-column>
<el-table-column align="left" label="辅助计数" prop="cycleattr" />
<el-table-column align="left" label="状态">
<template #default="scope">
<el-switch
inline-prompt
v-model="scope.row.state"
active-color="#13ce66"
inactive-color="#ff4949"
:active-value="1"
:inactive-value="2"
@change="changeVal($event, scope.row.id)"
/>
</template>
</el-table-column>
<el-table-column label="操作" width="200">
<template #default="scope">
<el-button
icon="el-icon-edit"
size="small"
type="text"
@click="showEdit(scope.row)"
>编辑</el-button
>
<el-button
icon="el-icon-delete"
size="small"
type="text"
@click="deleteOperate(scope.row)"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
<div class="gva-pagination">
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:page-sizes="[10, 30, 50, 100]"
:page-size="searchInfo.pagesize"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
>
</el-pagination>
</div>
</div>
</el-main>
</el-container>
</div>
<!-- 新增弹框 -->
<el-dialog
:close-on-click-modal="false"
:visible.sync="dialogFormVisible"
:before-close="closeDialog"
title="新增"
width="30%"
>
<el-form ref="addForm" :model="form" label-width="150px">
<el-form-item label="指标名称" prop="title">
<el-input v-model="form.title" autocomplete="off" />
</el-form-item>
<!-- <el-form-item label="是否通用" prop="share">
<el-select v-model="form.share" placeholder="请选择是否通用">
<el-option label="通用指标" :value=1></el-option>
<el-option label="个性指标" :value=2></el-option>
</el-select>
</el-form-item> -->
<!-- <el-form-item v-if="form.share==2" label="关联部门" prop="relevantdepartments">
<el-cascader clearable v-model="form.relevantdepartments" :options="grouplist" :show-all-levels="false" :props="props"></el-cascader>
</el-form-item> -->
<el-form-item label="关联部门" prop="relevantDepartments">
<el-cascader
filterable
clearable
v-model="form.relevantDepartments"
:options="grouplist"
:show-all-levels="false"
:props="props"
@change="departChange"
></el-cascader>
</el-form-item>
<el-form-item label="相关岗位" prop="departmentsPost">
<el-select
clearable
multiple
v-model="form.departmentsPost"
filterable
placeholder="请选择"
>
<el-option
v-for="item in postListAdd"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="指标维度" prop="dimension">
<el-select
v-model="form.dimension"
clearable
placeholder="请选择考核维度"
>
<el-option
v-for="item in dutyclasslist"
:key="item.outId"
:label="item.title"
:value="item.outId"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="指标性质" prop="type">
<el-select v-model="form.type" placeholder="请选择指标性质">
<el-option label="定性指标" :value="1"></el-option>
<el-option label="定量指标" :value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item label="计量单位" prop="unites">
<el-input v-model="form.unit" autocomplete="off" />
</el-form-item>
<el-form-item label="数据提交" prop="report">
<!-- <el-cascader clearable v-model="form.report" :options="grouplistBackup" :show-all-levels="false" :props="userProps"></el-cascader> -->
<el-cascader
filterable
clearable
v-model="form.report"
:options="grouplistBackup"
:show-all-levels="false"
:props="userProps"
></el-cascader>
</el-form-item>
<el-form-item label="辅助计数" prop="cycleattr">
<el-input v-model="form.cycleattr" autocomplete="off" />
</el-form-item>
<el-form-item label="计分方式" prop="type">
<el-select v-model="form.scoringmethod" placeholder="请选择指标性质">
<el-option label="自动计分" :value="1"></el-option>
<el-option label="手动计分" :value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item label="考核周期" prop="cycle">
<el-select v-model="form.cycle" placeholder="请选择考核周期">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button size="small" @click="closeDialog"> </el-button>
<el-button size="small" type="primary" @click="enterDialog"
> </el-button
>
</div>
</template>
</el-dialog>
<!-- 编辑弹框 -->
<el-dialog
:close-on-click-modal="false"
:visible.sync="editDialogFormVisible"
:before-close="editCloseDialog"
title="修改"
width="20%"
>
<el-form
ref="editForm"
:model="editAdd"
:rules="editRules"
label-width="150px"
>
<el-form-item label="指标名称" prop="title">
<el-input v-model="editAdd.title" autocomplete="off" />
</el-form-item>
<!-- <el-form-item label="是否通用" prop="share">
<el-select v-model="editAdd.share" placeholder="请选择是否通用">
<el-option label="通用指标" :value=1></el-option>
<el-option label="个性指标" :value=2></el-option>
</el-select>
</el-form-item> -->
<!-- <el-form-item v-if="editAdd.share==2" label="关联部门" prop="relevantdepartmentsmap">
<el-cascader clearable v-model="editAdd.relevantdepartmentsmap" :options="grouplist" :show-all-levels="false" :props="props"></el-cascader>
</el-form-item> -->
<el-form-item label="关联部门" prop="relevantdepartmentsmap">
<el-cascader
filterable
clearable
v-model="editAdd.relevantdepartmentsmap"
:options="grouplist"
:show-all-levels="false"
:props="props"
></el-cascader>
</el-form-item>
<el-form-item label="指标维度" prop="dimensionidstr">
<el-select
v-model="editAdd.dimensionidstr"
clearable
placeholder="请选择考核维度"
>
<el-option
v-for="item in dutyclasslist"
:key="item.outId"
:label="item.title"
:value="item.outId"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="指标性质" prop="type">
<el-select v-model="editAdd.type" placeholder="请选择指标性质">
<el-option label="定性指标" :value="1"></el-option>
<el-option label="定量指标" :value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item label="计量单位" prop="unites">
<el-input v-model="editAdd.unites" autocomplete="off" />
</el-form-item>
<el-form-item label="数据提交" prop="report">
<el-cascader
filterable
clearable
v-model="editAdd.reportmap"
:options="grouplistBackup"
:show-all-levels="false"
:props="userProps"
></el-cascader>
</el-form-item>
<el-form-item label="辅助计数" prop="cycleattr">
<el-input v-model="editAdd.cycleattr" autocomplete="off" />
</el-form-item>
<el-form-item label="计分方式" prop="type">
<el-select
v-model="editAdd.scoringmethod"
placeholder="请选择指标性质"
>
<el-option label="自动计分" :value="1"></el-option>
<el-option label="手动计分" :value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item label="考核周期" prop="cycle">
<el-select v-model="editAdd.cycle" placeholder="请选择考核周期">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button size="small" @click="editCloseDialog"> </el-button>
<el-button size="small" type="primary" @click="editEnterDialog"
> </el-button
>
</div>
</template>
</el-dialog>
</div>
</template>
<script>
import { govthree, positionlist } from "@/api/personnel/post";
import { dutyclasslist } from "@/api/duty/dimension";
import project from "@/views/basicInfo/project.vue";
import {
posttargetlist,
addtarget,
gettargetinfo,
eiteassessinfo,
eitetarget,
deltarget,
editposttarget,
editstate,
addposttarget,
} from "@/api/duty/project";
import { getgroupdepartmap, getgroupuser } from "@/api/duty/group";
export default {
components: {
project,
},
name: "Dashboard",
props:['gwId'],
data() {
return {
tableGWShow: true,
tableBMShow: false,
GovthreeList2: [],
defaultProps1: {
children: "child",
label: "name",
},
grouplistBackup: [],
grouplist: [],
// 123456
options: [
// {
// value: 1,
// label: ''
// }, {
// value: 2,
// label: ''
// }, {
// value: 3,
// label: ''
// },
{
value: 4,
label: "月",
},
{
value: 5,
label: "季度",
},
{
value: 6,
label: "年",
},
],
props: {
checkStrictly: true,
value: "id",
label: "name",
children: "children",
emitPath: false,
// multiple: true
},
userProps: {
value: "key",
label: "name",
children: "govlist",
emitPath: false,
multiple: true,
},
dutyclasslist: {},
searchList: {
page: 1,
pagesize: 10000,
},
//
editFrom: {},
//
switchFrom: {},
//
deleFrom: {},
//
editAdd: {
unittitle: "",
parentId: "",
},
assessList: {},
//
form: {
share: 2,
cycleattr: 1,
scoringmethod: 1,
},
//
dialogFormVisible: false,
//
editDialogFormVisible: false,
total: 0,
postListAdd: [],
postList: [],
tableData: [],
//
searchInfo: {
page: 1,
pagesize: 10,
},
//
abc: {
aaa: "111",
bbb: "222",
},
//
rules: {
title: [{ required: true, message: "必填", trigger: "blur" }],
type: [{ required: true, message: "必填", trigger: "blur" }],
// share: [{ required: true, message: '', trigger: 'blur' }],
relevantdepartments: [
{ required: true, message: "必填", trigger: "blur" },
],
dimension: [{ required: true, message: "必填", trigger: "blur" }],
report: [{ required: true, message: "必填", trigger: "blur" }],
unites: [{ required: true, message: "必填", trigger: "blur" }],
cycle: [{ required: true, message: "必填", trigger: "blur" }],
cycleattr: [{ required: true, message: "必填", trigger: "blur" }],
},
editRules: {
title: [{ required: true, message: "必填", trigger: "blur" }],
type: [{ required: true, message: "必填", trigger: "blur" }],
// share: [{ required: true, message: '', trigger: 'blur' }],
relevantdepartments: [
{ required: true, message: "必填", trigger: "blur" },
],
dimension: [{ required: true, message: "必填", trigger: "blur" }],
report: [{ required: true, message: "必填", trigger: "blur" }],
unites: [{ required: true, message: "必填", trigger: "blur" }],
cycle: [{ required: true, message: "必填", trigger: "blur" }],
cycleattr: [{ required: true, message: "必填", trigger: "blur" }],
},
};
},
created() {
console.log(this.$store.state.user.token);
if (this.$store.state.user.token == "") {
this.$router.push("/login");
}
//
this.getDataList();
this.getDutyclasslist();
this.getSystemadminlist();
this.getGrouplist();
this.getGovthree2();
console.log("this.gwId")
console.log(this.gwId)
},
watch:{
gwId(){
console.log("bmid变化")
console.log(this.gwId)
// const list = []
// list.push(this.gwId)
this.searchInfo.departmentsPost=this.gwId.toString()
this.getDataList()
},
},
methods: {
//
NodePostClick(val) {
console.log(val);
},
//
async getPost(val) {
const from = {
organization: val.toString(),
page: 1,
pagesize: 10,
};
const res = await positionlist(from);
this.postList = res.data.list;
},
//
handleNodeClick(val) {
// this.searchInfo.organization=val.id
// this.searchInfo.organization=this.searchInfo.organization.toString()
this.getPost(val.id);
console.log(val);
},
//
async departChange(val) {
console.log(val);
// this.searchInfo.organization=val.id
// this.searchInfo.organization=this.searchInfo.organization.toString()
const from = {
organization: val.toString(),
page: 1,
pagesize: 10,
};
const res = await positionlist(from);
this.postListAdd = res.data.list;
console.log(val);
},
//
async getGovthree2() {
const res = await govthree();
this.GovthreeList2 = res.data[0].child;
console.log("this.GovthreeList2");
console.log(res.data[0].child);
},
//
async getSystemadminlist() {
const from = {
level: 4,
};
const res = await getgroupuser(from);
this.grouplistBackup = res.data;
this.grouplistBackup.forEach((item) => {
if (item.govlist != null) {
// this.digui(item);
item.govlist.forEach((items) => {
// forEach,itemthis.digui(item);
this.digui(items); //
//
console.log(items, "看我查看完整的数据哦");
// children
});
} else {
item.govlist = item.child;
//
}
});
console.log(this.grouplistBackup);
},
//
async getGrouplist() {
const res = await getgroupdepartmap();
this.grouplist = res.data;
},
//
async getDutyclasslist() {
const res = await dutyclasslist(this.searchList);
this.dutyclasslist = res.data.list;
},
//
async deleteOperate(row) {
this.$confirm("此操作将永久删除, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(async () => {
this.deleFrom.state = 3;
this.deleFrom.id = row.id;
this.deleFrom.id = this.deleFrom.id.toString();
const res = await editstate(this.deleFrom);
if (res.code === 0) {
this.$message({
type: "success",
message: "删除成功!",
});
this.getDataList();
}
});
},
//
digui(item) {
//
if (item.govlist != null) {
// valuelabel,
item.govlist.forEach((ff) => {
// children
this.digui(ff);
});
} else {
// children西
// valuelabel,
// --------------------------线---------------------------------
item.govlist = item.child;
}
//
},
//
showAdd() {
this.dialogFormVisible = true;
console.log(this.dialogFormVisible);
},
//
async showEdit(row) {
this.editFrom.outid = row.outid;
const res = await gettargetinfo(this.editFrom);
this.editAdd = res.data;
console.log("this.editAdd");
console.log(this.editAdd);
this.editDialogFormVisible = true;
},
//
async changeVal(val, id) {
this.switchFrom.id = id;
this.switchFrom.id = this.switchFrom.id.toString();
if (val == 1) {
this.switchFrom.state = 1;
const res = await editstate(this.switchFrom);
if (res.code === 0) {
this.$message({
type: "success",
message: "修改状态成功",
showClose: true,
});
this.getDataList();
}
} else {
this.switchFrom.state = 2;
const res = await editstate(this.switchFrom);
if (res.code === 0) {
this.$message({
type: "success",
message: "修改状态成功",
showClose: true,
});
this.getDataList();
}
}
},
//
onReset() {
this.searchInfo = {};
},
//
onSubmit() {
this.searchInfo.page = 1;
this.searchInfo.pagesize = 10;
this.getDataList();
},
//
formatDate(nS) {
return new Date(parseInt(nS) * 1000)
.toLocaleString()
.replace(/:\d{1,2}$/, " ");
},
//
async enterDialog() {
this.$refs.addForm.validate(async (valid) => {
if (valid) {
this.form.relevantDepartments =
this.form.relevantDepartments.toString();
if (this.form.departmentsPost != null) {
this.form.departmentsPost = this.form.departmentsPost.map(String);
}
this.form.cycleattr = parseInt(this.form.cycleattr);
const res = await addposttarget(this.form);
if (res.code === 0) {
this.$message({
type: "success",
message: "添加成功",
showClose: true,
});
}
this.getDataList();
this.closeDialog();
}
});
},
//
async editEnterDialog() {
this.$refs.editForm.validate(async (valid) => {
if (valid) {
if (this.editAdd.relevantdepartmentsmap != null) {
this.editAdd.relevantdepartments =
this.editAdd.relevantdepartmentsmap.map(String);
}
if (this.editAdd.relevantdepartmentsmap == null) {
this.editAdd.relevantdepartments =
this.editAdd.relevantdepartments.split(",");
}
if (this.editAdd.visiblerangedepartmap == null) {
this.editAdd.visiblerange = this.editAdd.visiblerange.split(",");
}
if (this.editAdd.visiblerangegroupmap == null) {
this.editAdd.visiblerangegroup =
this.editAdd.visiblerangegroup.split(",");
}
console.log(this.editAdd.relevantdepartments);
if (this.editAdd.share == 1) {
this.editAdd.relevantdepartments = [];
this.editAdd.relevantdepartmentsmap = [];
this.$delete(this.editAdd, "relevantdepartments");
this.$delete(this.editAdd, "relevantdepartmentsmap");
}
this.editAdd.report = this.editAdd.reportmap;
this.editAdd.dimension = this.editAdd.dimensionidstr;
this.editAdd.cycleattr = parseInt(this.editAdd.cycleattr);
const res = await eitetarget(this.editAdd);
if (res.code === 0) {
this.$message({
type: "success",
message: "编辑成功",
showClose: true,
});
}
this.getDataList();
this.editCloseDialog();
}
});
},
//
closeDialog() {
console.log("closeDialog");
this.initForm();
this.dialogFormVisible = false;
},
//
editCloseDialog() {
this.editInitForm();
this.editDialogFormVisible = false;
},
//
initForm() {
console.log("initForm");
this.$refs.addForm.resetFields();
this.form = {};
console.log(this.form);
},
//
editInitForm() {
this.$refs.editForm.resetFields();
this.editAdd = {};
},
// pageSize
handleSizeChange(val) {
this.searchInfo.pagesize = val;
this.getDataList(this.searchInfo);
},
// page
handleCurrentChange(val) {
this.searchInfo.page = val;
this.getDataList(this.searchInfo);
},
//
async getDataList() {
if (this.searchInfo.relevantdepartments != null) {
this.searchInfo.relevantdepartments =
this.searchInfo.relevantdepartments.map(String);
}
const res = await posttargetlist(this.searchInfo);
this.tableData = res.data.list;
this.total = res.data.total;
this.searchInfo.page = res.data.page;
this.searchInfo.pagesize = res.data.pageSize;
},
},
};
</script>
<style lang="scss" scoped>
.dashboard {
&-container {
margin: 30px;
}
&-text {
font-size: 30px;
line-height: 46px;
}
}
</style>

274
src/views/basicInfo/gwProject.vue

@ -39,7 +39,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="指标性质" prop="type"> <el-form-item label="指标性质" prop="type">
<el-select v-model="searchInfo.type" placeholder="请选择指标性质"> <el-select clearable v-model="searchInfo.type" placeholder="请选择指标性质">
<el-option label="定性指标" :value="1"></el-option> <el-option label="定性指标" :value="1"></el-option>
<el-option label="定量指标" :value="2"></el-option> <el-option label="定量指标" :value="2"></el-option>
</el-select> </el-select>
@ -56,11 +56,7 @@
type="primary" type="primary"
icon="el-icon-search" icon="el-icon-search"
@click="onSubmit" @click="onSubmit"
>查询</el-button >查询</el-button>
>
<el-button size="mini" icon="el-icon-refresh" @click="onReset"
>重置</el-button
>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
@ -71,38 +67,12 @@
type="primary" type="primary"
icon="el-icon-plus" icon="el-icon-plus"
@click="showAdd()" @click="showAdd()"
>新增</el-button >新增</el-button>
>
</div> </div>
<el-container> <el-container>
<!-- 左侧内容 -->
<el-aside
width="300px"
style="border-right: 1px solid rgb(220, 223, 230);height: 750px"
>
<el-tree
:data="GovthreeList2"
:props="defaultProps1"
@node-click="handleNodeClick"
></el-tree>
</el-aside>
<el-aside
width="200px"
style="border-right: 1px solid rgb(220, 223, 230);height: 750px"
>
<el-tree
:data="postList"
:props="defaultProps1"
@node-click="NodePostClick"
></el-tree>
</el-aside>
<!-- 右侧内容 --> <!-- 右侧内容 -->
<el-main style="padding: 10px"> <el-main style="padding: 10px">
<div v-if="tableGWShow">
<project></project>
</div>
<div v-if="tableBMShow">
<el-table :data="tableData"> <el-table :data="tableData">
<el-table-column align="left" label="考核指标" prop="title" /> <el-table-column align="left" label="考核指标" prop="title" />
<el-table-column <el-table-column
@ -140,7 +110,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="left" label="关联岗位"> <!-- <el-table-column align="left" label="关联岗位">
<template #default="scope"> <template #default="scope">
<el-collapse> <el-collapse>
<el-collapse-item title="详情" name="1"> <el-collapse-item title="详情" name="1">
@ -149,9 +119,9 @@
</div> </div>
</el-collapse-item> </el-collapse-item>
</el-collapse> </el-collapse>
<!-- <div v-for="item in scope.row.relevantdepartmentsmap" :key="item.key">{{item.title}}</div> -->
</template> </template>
</el-table-column> </el-table-column> -->
<el-table-column align="left" label="数据提交"> <el-table-column align="left" label="数据提交">
<template #default="scope"> <template #default="scope">
<div v-for="item in scope.row.reportary" :key="item.key"> <div v-for="item in scope.row.reportary" :key="item.key">
@ -203,7 +173,6 @@
> >
</el-pagination> </el-pagination>
</div> </div>
</div>
</el-main> </el-main>
</el-container> </el-container>
</div> </div>
@ -213,21 +182,12 @@
:visible.sync="dialogFormVisible" :visible.sync="dialogFormVisible"
:before-close="closeDialog" :before-close="closeDialog"
title="新增" title="新增"
width="30%" width="40%"
> >
<el-form ref="addForm" :model="form" label-width="150px"> <el-form ref="addForm" :model="form" label-width="150px">
<el-form-item label="指标名称" prop="title"> <el-form-item label="指标名称" prop="title">
<el-input v-model="form.title" autocomplete="off" /> <el-input v-model="form.title" autocomplete="off" />
</el-form-item> </el-form-item>
<!-- <el-form-item label="是否通用" prop="share">
<el-select v-model="form.share" placeholder="请选择是否通用">
<el-option label="通用指标" :value=1></el-option>
<el-option label="个性指标" :value=2></el-option>
</el-select>
</el-form-item> -->
<!-- <el-form-item v-if="form.share==2" label="关联部门" prop="relevantdepartments">
<el-cascader clearable v-model="form.relevantdepartments" :options="grouplist" :show-all-levels="false" :props="props"></el-cascader>
</el-form-item> -->
<el-form-item label="关联部门" prop="relevantDepartments"> <el-form-item label="关联部门" prop="relevantDepartments">
<el-cascader <el-cascader
filterable filterable
@ -239,7 +199,7 @@
@change="departChange" @change="departChange"
></el-cascader> ></el-cascader>
</el-form-item> </el-form-item>
<el-form-item label="相关岗位" prop="departmentsPost"> <!-- <el-form-item label="相关岗位" prop="departmentsPost">
<el-select <el-select
clearable clearable
multiple multiple
@ -255,6 +215,62 @@
> >
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> -->
<el-form-item label="岗位/人员" prop="departmentsPost">
<el-table
:data="relevantpostsman"
style="width: 100%">
<el-table-column
prop="date"
label="关联岗位"
width="180">
<template slot-scope="scope">
<el-select
clearable
v-model="scope.row.id"
filterable
placeholder="请选择"
>
<el-option
v-for="item in postListAdd"
:key="item.idstr"
:label="item.name"
:value="item.idstr"
>
</el-option>
</el-select>
</template>
</el-table-column>
<el-table-column
prop="name"
label="提报人"
width="180">
<template slot-scope="scope">
<el-cascader
filterable
clearable
v-model="scope.row.operator"
:options="grouplistBackup"
:show-all-levels="false"
:props="userProps"
></el-cascader>
</template>
</el-table-column>
<el-table-column
prop="address"
label="操作">
<template slot-scope="scope">
<el-button @click="jiaArr" type="primary" icon="el-icon-plus" circle size="mini"></el-button>
<el-button
icon="el-icon-delete"
size="small"
type="text"
@click="deleteRulesList(scope)"
>删除</el-button>
</template>
</el-table-column>
</el-table>
</el-form-item> </el-form-item>
<el-form-item label="指标维度" prop="dimension"> <el-form-item label="指标维度" prop="dimension">
<el-select <el-select
@ -280,17 +296,6 @@
<el-form-item label="计量单位" prop="unites"> <el-form-item label="计量单位" prop="unites">
<el-input v-model="form.unit" autocomplete="off" /> <el-input v-model="form.unit" autocomplete="off" />
</el-form-item> </el-form-item>
<el-form-item label="数据提交" prop="report">
<!-- <el-cascader clearable v-model="form.report" :options="grouplistBackup" :show-all-levels="false" :props="userProps"></el-cascader> -->
<el-cascader
filterable
clearable
v-model="form.report"
:options="grouplistBackup"
:show-all-levels="false"
:props="userProps"
></el-cascader>
</el-form-item>
<el-form-item label="辅助计数" prop="cycleattr"> <el-form-item label="辅助计数" prop="cycleattr">
<el-input v-model="form.cycleattr" autocomplete="off" /> <el-input v-model="form.cycleattr" autocomplete="off" />
</el-form-item> </el-form-item>
@ -327,7 +332,7 @@
:visible.sync="editDialogFormVisible" :visible.sync="editDialogFormVisible"
:before-close="editCloseDialog" :before-close="editCloseDialog"
title="修改" title="修改"
width="20%" width="40%"
> >
<el-form <el-form
ref="editForm" ref="editForm"
@ -335,32 +340,80 @@
:rules="editRules" :rules="editRules"
label-width="150px" label-width="150px"
> >
<el-form-item label="指标名称" prop="title"> <el-form-item label="指标名称" prop="title">
<el-input v-model="editAdd.title" autocomplete="off" /> <el-input v-model="editAdd.title" autocomplete="off" />
</el-form-item> </el-form-item>
<!-- <el-form-item label="是否通用" prop="share"> <el-form-item label="关联部门" prop="relevantDepartments">
<el-select v-model="editAdd.share" placeholder="请选择是否通用">
<el-option label="通用指标" :value=1></el-option>
<el-option label="个性指标" :value=2></el-option>
</el-select>
</el-form-item> -->
<!-- <el-form-item v-if="editAdd.share==2" label="关联部门" prop="relevantdepartmentsmap">
<el-cascader clearable v-model="editAdd.relevantdepartmentsmap" :options="grouplist" :show-all-levels="false" :props="props"></el-cascader>
</el-form-item> -->
<el-form-item label="关联部门" prop="relevantdepartmentsmap">
<el-cascader <el-cascader
filterable filterable
clearable clearable
v-model="editAdd.relevantdepartmentsmap" v-model="editAdd.relevantDepartments"
:options="grouplist" :options="grouplist"
:show-all-levels="false" :show-all-levels="false"
:props="props" :props="props"
@change="departChange"
></el-cascader> ></el-cascader>
</el-form-item> </el-form-item>
<el-form-item label="指标维度" prop="dimensionidstr"> <el-form-item label="岗位/人员" prop="departmentsPost">
<el-table
:data="editAdd.relevantpostsman"
style="width: 100%">
<el-table-column
prop="date"
label="关联岗位"
width="180">
<template slot-scope="scope">
<el-select
clearable
v-model="scope.row.id"
filterable
placeholder="请选择"
>
<el-option
v-for="item in postListAdd"
:key="item.idstr"
:label="item.name"
:value="item.idstr"
>
</el-option>
</el-select>
</template>
</el-table-column>
<el-table-column
prop="name"
label="提报人"
width="180">
<template slot-scope="scope">
<el-cascader
filterable
clearable
v-model="scope.row.operator"
:options="grouplistBackup"
:show-all-levels="false"
:props="userProps"
></el-cascader>
</template>
</el-table-column>
<el-table-column
prop="address"
label="操作">
<template slot-scope="scope">
<el-button @click="jiaArr" type="primary" icon="el-icon-plus" circle size="mini"></el-button>
<el-button
icon="el-icon-delete"
size="small"
type="text"
@click="deleteRulesList(scope)"
>删除</el-button>
</template>
</el-table-column>
</el-table>
</el-form-item>
<el-form-item label="指标维度" prop="dimension">
<el-select <el-select
v-model="editAdd.dimensionidstr" v-model="editAdd.dimension"
clearable clearable
placeholder="请选择考核维度" placeholder="请选择考核维度"
> >
@ -380,27 +433,13 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="计量单位" prop="unites"> <el-form-item label="计量单位" prop="unites">
<el-input v-model="editAdd.unites" autocomplete="off" /> <el-input v-model="editAdd.unit" autocomplete="off" />
</el-form-item>
<el-form-item label="数据提交" prop="report">
<el-cascader
filterable
clearable
v-model="editAdd.reportmap"
:options="grouplistBackup"
:show-all-levels="false"
:props="userProps"
></el-cascader>
</el-form-item> </el-form-item>
<el-form-item label="辅助计数" prop="cycleattr"> <el-form-item label="辅助计数" prop="cycleattr">
<el-input v-model="editAdd.cycleattr" autocomplete="off" /> <el-input v-model="editAdd.cycleattr" autocomplete="off" />
</el-form-item> </el-form-item>
<el-form-item label="计分方式" prop="type"> <el-form-item label="计分方式" prop="type">
<el-select <el-select v-model="editAdd.scoringmethod" placeholder="请选择指标性质">
v-model="editAdd.scoringmethod"
placeholder="请选择指标性质"
>
<el-option label="自动计分" :value="1"></el-option> <el-option label="自动计分" :value="1"></el-option>
<el-option label="手动计分" :value="2"></el-option> <el-option label="手动计分" :value="2"></el-option>
</el-select> </el-select>
@ -416,6 +455,9 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-form> </el-form>
<template #footer> <template #footer>
<div class="dialog-footer"> <div class="dialog-footer">
@ -445,6 +487,8 @@ import {
addposttarget, addposttarget,
} from "@/api/duty/project"; } from "@/api/duty/project";
import { getgroupdepartmap, getgroupuser } from "@/api/duty/group"; import { getgroupdepartmap, getgroupuser } from "@/api/duty/group";
import { add_post_target } from "@/api/duty/gwDingXing";
import { get_post_target } from '@/api/duty/projectNew'
export default { export default {
components: { components: {
project, project,
@ -453,6 +497,13 @@ export default {
props:['gwId'], props:['gwId'],
data() { data() {
return { return {
//
relevantpostsman:[{
// id
id:'',
//
operator:[]
}],
tableGWShow: true, tableGWShow: true,
tableBMShow: false, tableBMShow: false,
GovthreeList2: [], GovthreeList2: [],
@ -586,7 +637,30 @@ export default {
console.log("this.gwId") console.log("this.gwId")
console.log(this.gwId) console.log(this.gwId)
}, },
watch:{
gwId(){
console.log("bmid变化")
console.log(this.gwId)
// const list = []
// list.push(this.gwId)
this.searchInfo.departmentsPost=this.gwId.toString()
this.getDataList()
},
},
methods: { methods: {
//
jiaArr(){
this.relevantpostsman.push({
// id
id:'',
//
operator:[]
})
},
//
deleteRulesList(row){
this.relevantpostsman.splice(row.$index,1);
},
// //
NodePostClick(val) { NodePostClick(val) {
console.log(val); console.log(val);
@ -616,7 +690,7 @@ export default {
const from = { const from = {
organization: val.toString(), organization: val.toString(),
page: 1, page: 1,
pagesize: 10, pagesize: 10000,
}; };
const res = await positionlist(from); const res = await positionlist(from);
this.postListAdd = res.data.list; this.postListAdd = res.data.list;
@ -709,11 +783,14 @@ export default {
}, },
// //
async showEdit(row) { async showEdit(row) {
this.editFrom.outid = row.outid; this.editFrom.id = row.id.toString();
const res = await gettargetinfo(this.editFrom); const res = await get_post_target(this.editFrom);
this.editAdd = res.data; this.editAdd = res.data;
console.log("this.editAdd"); console.log("this.editAdd");
console.log(this.editAdd); console.log(this.editAdd);
this.editAdd.relevantDepartments=this.editAdd.reledepart
this.departChange(this.editAdd.relevantDepartments)
this.editAdd.dimension=this.editAdd.dimension.toString()
this.editDialogFormVisible = true; this.editDialogFormVisible = true;
}, },
// //
@ -770,8 +847,11 @@ export default {
if (this.form.departmentsPost != null) { if (this.form.departmentsPost != null) {
this.form.departmentsPost = this.form.departmentsPost.map(String); this.form.departmentsPost = this.form.departmentsPost.map(String);
} }
console.log("this.relevantpostsman")
console.log(this.relevantpostsman)
this.form.relevantpostsman=this.relevantpostsman
this.form.cycleattr = parseInt(this.form.cycleattr); this.form.cycleattr = parseInt(this.form.cycleattr);
const res = await addposttarget(this.form); const res = await add_post_target(this.form);
if (res.code === 0) { if (res.code === 0) {
this.$message({ this.$message({
type: "success", type: "success",
@ -830,6 +910,12 @@ export default {
// //
closeDialog() { closeDialog() {
console.log("closeDialog"); console.log("closeDialog");
this.relevantpostsman=[
{
id:'',
operator:[]
}
]
this.initForm(); this.initForm();
this.dialogFormVisible = false; this.dialogFormVisible = false;
}, },

61
src/views/basicInfo/project.vue

@ -86,7 +86,6 @@
<el-tag v-if="scope.row.scoringmethod==2">手动计分</el-tag> <el-tag v-if="scope.row.scoringmethod==2">手动计分</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="left" label="关联部门"> <el-table-column align="left" label="关联部门">
<template #default="scope"> <template #default="scope">
<el-collapse> <el-collapse>
@ -149,8 +148,8 @@
<!-- 新增弹框 --> <!-- 新增弹框 -->
<el-dialog :close-on-click-modal="false" :visible.sync="dialogFormVisible" :before-close="closeDialog" title="新增" width="30%"> <el-dialog :close-on-click-modal="false" :visible.sync="dialogFormVisible" :before-close="closeDialog" title="新增" width="30%">
<el-form ref="addForm" :model="form" :rules="rules" label-width="150px"> <el-form ref="addForm" :model="form" :rules="rules" label-width="150px">
<el-form-item label="指标名称" prop="title"> <el-form-item label="指标名称" prop="name">
<el-input v-model="form.title" autocomplete="off" /> <el-input v-model="form.name" autocomplete="off" />
</el-form-item> </el-form-item>
<!-- <el-form-item label="是否通用" prop="share"> <!-- <el-form-item label="是否通用" prop="share">
<el-select v-model="form.share" placeholder="请选择是否通用"> <el-select v-model="form.share" placeholder="请选择是否通用">
@ -161,8 +160,8 @@
<!-- <el-form-item v-if="form.share==2" label="关联部门" prop="relevantdepartments"> <!-- <el-form-item v-if="form.share==2" label="关联部门" prop="relevantdepartments">
<el-cascader clearable v-model="form.relevantdepartments" :options="grouplist" :show-all-levels="false" :props="props"></el-cascader> <el-cascader clearable v-model="form.relevantdepartments" :options="grouplist" :show-all-levels="false" :props="props"></el-cascader>
</el-form-item> --> </el-form-item> -->
<el-form-item label="关联部门" prop="relevantdepartments"> <el-form-item label="关联部门" prop="acceptdepartmentid">
<el-cascader filterable clearable v-model="form.relevantdepartments" :options="grouplist" :show-all-levels="false" :props="props"></el-cascader> <el-cascader filterable clearable v-model="form.acceptdepartmentid" :options="grouplist" :show-all-levels="false" :props="props"></el-cascader>
</el-form-item> </el-form-item>
<el-form-item label="指标维度" prop="dimension"> <el-form-item label="指标维度" prop="dimension">
<el-select v-model="form.dimension" clearable placeholder="请选择考核维度"> <el-select v-model="form.dimension" clearable placeholder="请选择考核维度">
@ -174,23 +173,23 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="指标性质" prop="type"> <el-form-item label="指标性质" prop="nature">
<el-select v-model="form.type" placeholder="请选择指标性质"> <el-select v-model="form.nature" placeholder="请选择指标性质">
<el-option label="定性指标" :value=1></el-option> <el-option label="定性指标" :value=1></el-option>
<el-option label="定量指标" :value=2></el-option> <el-option label="定量指标" :value=2></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="计量单位" prop="unites"> <el-form-item label="计量单位" prop="unit">
<el-input v-model="form.unites" autocomplete="off" /> <el-input v-model="form.unit" autocomplete="off" />
</el-form-item> </el-form-item>
<el-form-item label="数据提交" prop="report"> <el-form-item label="数据提交" prop="userlist">
<!-- <el-cascader clearable v-model="form.report" :options="grouplistBackup" :show-all-levels="false" :props="userProps"></el-cascader> --> <!-- <el-cascader clearable v-model="form.report" :options="grouplistBackup" :show-all-levels="false" :props="userProps"></el-cascader> -->
<el-cascader filterable clearable v-model="form.report" :options="grouplistBackup" :show-all-levels="false" :props="userProps"></el-cascader> <el-cascader filterable clearable v-model="form.userlist" :options="grouplistBackup" :show-all-levels="false" :props="userProps"></el-cascader>
</el-form-item> </el-form-item>
<el-form-item label="辅助计数" prop="cycleattr"> <el-form-item label="辅助计数" prop="cycleattr">
<el-input v-model="form.cycleattr" autocomplete="off" /> <el-input v-model="form.cycleattr" autocomplete="off" />
</el-form-item> </el-form-item>
<el-form-item label="计分方式" prop="type"> <el-form-item label="计分方式" prop="scoringmethod">
<el-select v-model="form.scoringmethod" placeholder="请选择指标性质"> <el-select v-model="form.scoringmethod" placeholder="请选择指标性质">
<el-option label="自动计分" :value=1></el-option> <el-option label="自动计分" :value=1></el-option>
<el-option label="手动计分" :value=2></el-option> <el-option label="手动计分" :value=2></el-option>
@ -217,8 +216,8 @@
<!-- 编辑弹框 --> <!-- 编辑弹框 -->
<el-dialog :close-on-click-modal="false" :visible.sync="editDialogFormVisible" :before-close="editCloseDialog" title="修改" width="20%"> <el-dialog :close-on-click-modal="false" :visible.sync="editDialogFormVisible" :before-close="editCloseDialog" title="修改" width="20%">
<el-form ref="editForm" :model="editAdd" :rules="editRules" label-width="150px"> <el-form ref="editForm" :model="editAdd" :rules="editRules" label-width="150px">
<el-form-item label="指标名称" prop="title"> <el-form-item label="指标名称" prop="name">
<el-input v-model="editAdd.title" autocomplete="off" /> <el-input v-model="editAdd.name" autocomplete="off" />
</el-form-item> </el-form-item>
<!-- <el-form-item label="是否通用" prop="share"> <!-- <el-form-item label="是否通用" prop="share">
<el-select v-model="editAdd.share" placeholder="请选择是否通用"> <el-select v-model="editAdd.share" placeholder="请选择是否通用">
@ -231,10 +230,10 @@
<el-cascader clearable v-model="editAdd.relevantdepartmentsmap" :options="grouplist" :show-all-levels="false" :props="props"></el-cascader> <el-cascader clearable v-model="editAdd.relevantdepartmentsmap" :options="grouplist" :show-all-levels="false" :props="props"></el-cascader>
</el-form-item> --> </el-form-item> -->
<el-form-item label="关联部门" prop="relevantdepartmentsmap"> <el-form-item label="关联部门" prop="relevantdepartmentsmap">
<el-cascader filterable clearable v-model="editAdd.relevantdepartmentsmap" :options="grouplist" :show-all-levels="false" :props="props"></el-cascader> <el-cascader filterable clearable v-model="editAdd.acceptdepartmentid" :options="grouplist" :show-all-levels="false" :props="props"></el-cascader>
</el-form-item> </el-form-item>
<el-form-item label="指标维度" prop="dimensionidstr"> <el-form-item label="指标维度" prop="dimensionidstr">
<el-select v-model="editAdd.dimensionidstr" clearable placeholder="请选择考核维度"> <el-select v-model="editAdd.dimension" clearable placeholder="请选择考核维度">
<el-option <el-option
v-for="item in dutyclasslist" v-for="item in dutyclasslist"
:key="item.outId" :key="item.outId"
@ -243,23 +242,23 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="指标性质" prop="type"> <el-form-item label="指标性质" prop="nature">
<el-select v-model="editAdd.type" placeholder="请选择指标性质"> <el-select v-model="editAdd.nature" placeholder="请选择指标性质">
<el-option label="定性指标" :value=1></el-option> <el-option label="定性指标" :value=1></el-option>
<el-option label="定量指标" :value=2></el-option> <el-option label="定量指标" :value=2></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="计量单位" prop="unites"> <el-form-item label="计量单位" prop="unit">
<el-input v-model="editAdd.unites" autocomplete="off" /> <el-input v-model="editAdd.unit" autocomplete="off" />
</el-form-item> </el-form-item>
<el-form-item label="数据提交" prop="report"> <el-form-item label="数据提交" prop="report">
<el-cascader filterable clearable v-model="editAdd.reportmap" :options="grouplistBackup" :show-all-levels="false" :props="userProps"></el-cascader> <el-cascader filterable clearable v-model="editAdd.userlist" :options="grouplistBackup" :show-all-levels="false" :props="userProps"></el-cascader>
</el-form-item> </el-form-item>
<el-form-item label="辅助计数" prop="cycleattr"> <el-form-item label="辅助计数" prop="cycleattr">
<el-input v-model="editAdd.cycleattr" autocomplete="off" /> <el-input v-model="editAdd.cycleattr" autocomplete="off" />
</el-form-item> </el-form-item>
<el-form-item label="计分方式" prop="type"> <el-form-item label="计分方式" prop="scoringmethod">
<el-select v-model="editAdd.scoringmethod" placeholder="请选择指标性质"> <el-select v-model="editAdd.scoringmethod" placeholder="请选择指标性质">
<el-option label="自动计分" :value=1></el-option> <el-option label="自动计分" :value=1></el-option>
<el-option label="手动计分" :value=2></el-option> <el-option label="手动计分" :value=2></el-option>
@ -288,6 +287,7 @@
<script> <script>
import { dutyclasslist } from '@/api/duty/dimension' import { dutyclasslist } from '@/api/duty/dimension'
import { add_department_target,get_one_terget_info } from '@/api/duty/projectNew'
import { gettarget,addtarget,gettargetinfo,eiteassessinfo,eitetarget,deltarget } from '@/api/duty/project' import { gettarget,addtarget,gettargetinfo,eiteassessinfo,eitetarget,deltarget } from '@/api/duty/project'
import { import {
getgroupdepartmap, getgroupdepartmap,
@ -356,7 +356,7 @@ export default {
assessList:{}, assessList:{},
// //
form:{ form:{
share:2, share:0,
cycleattr:1, cycleattr:1,
scoringmethod:1 scoringmethod:1
}, },
@ -475,7 +475,6 @@ export default {
type: 'success', type: 'success',
message: '删除成功!' message: '删除成功!'
}) })
this.getDataList() this.getDataList()
} }
}) })
@ -506,8 +505,9 @@ export default {
}, },
// //
async showEdit(row){ async showEdit(row){
this.editFrom.outid=row.outid this.editFrom.id=row.outid
const res = await gettargetinfo(this.editFrom) // const res = await gettargetinfo(this.editFrom)
const res = await get_one_terget_info(this.editFrom)
this.editAdd = res.data this.editAdd = res.data
console.log("this.editAdd") console.log("this.editAdd")
console.log(this.editAdd) console.log(this.editAdd)
@ -556,17 +556,16 @@ export default {
formatDate(nS) { formatDate(nS) {
return new Date(parseInt(nS) * 1000).toLocaleString().replace(/:\d{1,2}$/,' '); return new Date(parseInt(nS) * 1000).toLocaleString().replace(/:\d{1,2}$/,' ');
}, },
// //
async enterDialog(){ async enterDialog(){
this.$refs.addForm.validate(async valid => { this.$refs.addForm.validate(async valid => {
if (valid) { if (valid) {
if(this.form.relevantdepartments!=null){ if(this.form.acceptdepartmentid!=null){
this.form.relevantdepartments=this.form.relevantdepartments.map(String) this.form.acceptdepartmentid=this.form.acceptdepartmentid.map(String)
} }
this.form.cycleattr =parseInt(this.form.cycleattr) this.form.cycleattr =parseInt(this.form.cycleattr)
const res = await addtarget(this.form) // const res = await addtarget(this.form)
const res = await add_department_target(this.form)
if (res.code === 0) { if (res.code === 0) {
this.$message({ this.$message({
type: 'success', type: 'success',

6
src/views/basicInfo/projectBase.vue

@ -45,7 +45,7 @@
import { govthree, positionlist } from "@/api/personnel/post"; import { govthree, positionlist } from "@/api/personnel/post";
import { dutyclasslist } from "@/api/duty/dimension"; import { dutyclasslist } from "@/api/duty/dimension";
import project from "@/views/basicInfo/project.vue"; import project from "@/views/basicInfo/project.vue";
// import gwProject from "@/views/basicInfo/gwProject.vue"; import gwProject from "@/views/basicInfo/gwProject.vue";
import { import {
posttargetlist, posttargetlist,
addtarget, addtarget,
@ -61,7 +61,7 @@ import { getgroupdepartmap, getgroupuser } from "@/api/duty/group";
export default { export default {
components: { components: {
project, project,
// gwProject gwProject
}, },
name: "Dashboard", name: "Dashboard",
data() { data() {
@ -150,6 +150,7 @@ export default {
methods: { methods: {
// //
NodePostClick(val) { NodePostClick(val) {
console.log('gangwei')
this.gwId=val.id this.gwId=val.id
this.tableGWShow=true this.tableGWShow=true
this.tableBMShow=false this.tableBMShow=false
@ -170,6 +171,7 @@ export default {
// this.searchInfo.organization=val.id // this.searchInfo.organization=val.id
// this.searchInfo.organization=this.searchInfo.organization.toString() // this.searchInfo.organization=this.searchInfo.organization.toString()
this.getPost(val.id); this.getPost(val.id);
console.log('bumen ')
this.bmId=val.id this.bmId=val.id
this.tableGWShow=false this.tableGWShow=false
this.tableBMShow=true this.tableBMShow=true

4
src/views/echarts/table.vue

@ -439,13 +439,13 @@
<!-- 定性详情历史记录 --> <!-- 定性详情历史记录 -->
<el-dialog :visible.sync="dxdialogFormVisible" title="详情" width="40%"> <el-dialog :visible.sync="dxdialogFormVisible" title="详情" width="40%">
<el-table :data="dingxingOldData" border style="width: 100%"> <el-table :data="dingxingOldData" border style="width: 100%">
<el-table-column align="center" prop="addorsubtract" label="得分类型"> <el-table-column align="center" prop="addorsubtract" label="考核类型">
<template #default="scope"> <template #default="scope">
<div v-if="scope.row.addorsubtract==1">加分</div> <div v-if="scope.row.addorsubtract==1">加分</div>
<div v-if="scope.row.addorsubtract==2">减分</div> <div v-if="scope.row.addorsubtract==2">减分</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" prop="score" label="分"> <el-table-column align="center" prop="score" label="分">
</el-table-column> </el-table-column>
<el-table-column align="center" prop="count" label="原因"> <el-table-column align="center" prop="count" label="原因">
</el-table-column> </el-table-column>

89
src/views/honor/index.vue

@ -36,13 +36,10 @@
<el-table :data="tableData"> <el-table :data="tableData">
<el-table-column align="left" label="名称" prop="name"/> <el-table-column align="left" label="名称" prop="name"/>
<el-table-column align="left" label="发放单位" prop="issuingunit"/> <el-table-column align="left" label="发放单位" prop="issuingunit"/>
<el-table-column align="left" label="载体" prop="carrier"/> <el-table-column align="left" label="载体" prop="carriername"/>
<el-table-column align="left" label="获奖时间" prop="awardtimebegin"> <el-table-column align="left" label="获奖时间" prop="awardtimestr">
<template #default="scope">
{{scope.row.awardtimeend}}
</template>
</el-table-column> </el-table-column>
<el-table-column align="left" label="有效期限" prop="awardtimeend"/> <el-table-column align="left" label="有效期限" prop="termvaliditytr"/>
<el-table-column align="left" label="图片" prop="sort"> <el-table-column align="left" label="图片" prop="sort">
<template #default="scope"> <template #default="scope">
<el-button <el-button
@ -53,7 +50,7 @@
>查看</el-button> >查看</el-button>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="left" label="备注" prop="remark"/> <el-table-column align="left" label="备注" prop="contet"/>
<el-table-column align="left" label="状态"> <el-table-column align="left" label="状态">
<template #default="scope"> <template #default="scope">
<el-switch <el-switch
@ -99,8 +96,8 @@
</div> </div>
</div> </div>
<!-- 新增弹框 --> <!-- 新增弹框 -->
<el-dialog :visible.sync="dialogFormVisible" :before-close="closeDialog" title="新增" width="30%"> <el-dialog :visible.sync="dialogFormVisible" title="新增" width="30%">
<el-form ref="addForm" :model="form" :rules="rules" label-width="150px"> <el-form ref="form" :model="form" label-width="150px">
<el-form-item label="名称" prop="name"> <el-form-item label="名称" prop="name">
<el-input v-model="form.name" autocomplete="off" /> <el-input v-model="form.name" autocomplete="off" />
</el-form-item> </el-form-item>
@ -168,25 +165,48 @@
</template> </template>
</el-dialog> </el-dialog>
<!-- 编辑弹框 --> <!-- 编辑弹框 -->
<el-dialog :visible.sync="editDialogFormVisible" :before-close="editCloseDialog" title="修改" width="20%"> <el-dialog :visible.sync="editDialogFormVisible" title="修改" width="30%">
<!-- <el-form ref="editForm" :model="editAdd" :rules="editRules" label-width="150px"> <el-form ref="form" :model="editAdd" label-width="150px">
<el-form-item label="名称" prop="title"> <el-form-item label="名称" prop="name">
<el-input v-model="editForm.title" autocomplete="off" /> <el-input v-model="editAdd.name" autocomplete="off" />
</el-form-item> </el-form-item>
<el-form-item label="载体" prop="sort"> <el-form-item label="载体" prop="sort">
<el-input v-model="editForm.carrier" autocomplete="off" /> <el-select v-model="editAdd.carrier" filterable placeholder="请选择">
<el-option
v-for="item in carrierList"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="发放单位" prop="sort"> <el-form-item label="发放单位" prop="sort">
<el-input v-model="editForm.unit" autocomplete="off" /> <el-input v-model="editAdd.issuingunit" autocomplete="off" />
</el-form-item> </el-form-item>
<el-form-item label="发放单位" prop="sort"> <el-form-item label="获奖部门" prop="sort">
<el-input v-model="editForm.unit" autocomplete="off" /> <el-cascader filterable clearable v-model="editAdd.organization" :options="grouplist" :show-all-levels="false" :props="props"></el-cascader>
</el-form-item>
<el-form-item label="获奖人员" prop="report">
<el-cascader filterable clearable v-model="editAdd.userid" :options="grouplistBackup" :show-all-levels="false" :props="userProps"></el-cascader>
</el-form-item> </el-form-item>
<el-form-item label="获奖时间" prop="sort"> <el-form-item label="获奖时间" prop="sort">
<el-input v-model="editForm.unit" autocomplete="off" /> <el-date-picker
v-model="editAdd.awardtimestr"
type="date"
placeholder="选择日期"
format="yyyy 年 MM 月 dd 日"
value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="有效期限" prop="sort"> <el-form-item label="有效期限" prop="sort">
<el-input v-model="editForm.efficientDate" autocomplete="off" /> <el-date-picker
v-model="editAdd.termvaliditytr"
type="date"
format="yyyy 年 MM 月 dd 日"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
<!-- <el-input v-model="form.efficientDate" autocomplete="off" /> -->
</el-form-item> </el-form-item>
<el-form-item label="图片" prop="sort"> <el-form-item label="图片" prop="sort">
<el-upload <el-upload
@ -202,9 +222,9 @@
</el-upload> </el-upload>
</el-form-item> </el-form-item>
<el-form-item label="备注" prop="sort"> <el-form-item label="备注" prop="sort">
<el-input v-model="editForm.remark" autocomplete="off" /> <el-input v-model="editAdd.contet" autocomplete="off" />
</el-form-item> </el-form-item>
</el-form> --> </el-form>
<template #footer> <template #footer>
<div class="dialog-footer"> <div class="dialog-footer">
<el-button size="small" @click="editCloseDialog"> </el-button> <el-button size="small" @click="editCloseDialog"> </el-button>
@ -212,6 +232,10 @@
</div> </div>
</template> </template>
</el-dialog> </el-dialog>
<!-- 图片详情弹框 -->
<el-dialog :visible.sync="detailsDialogFormVisible" title="图片详情" width="40%">
<img v-for="(iteam,index) in imgData" :src="iteam.url" alt="" :key="index">
</el-dialog>
</div> </div>
</template> </template>
@ -220,7 +244,7 @@ import {
getgroupdepartmap, getgroupdepartmap,
getgroupuser getgroupuser
} from '@/api/duty/group' } from '@/api/duty/group'
import { carrierlist,honorlist,addhonorcont,eidyhonorcont,eidyhonorcontstate } from '@/api/honer' import { gethonorscont,reviewimage,carrierlist,honorlist,addhonorcont,eidyhonorcont,eidyhonorcontstate } from '@/api/honer'
export default { export default {
name: 'Dashboard', name: 'Dashboard',
filters: {//data filters: {//data
@ -238,6 +262,7 @@ export default {
data() { data() {
return { return {
fileList:[], fileList:[],
imgData:{},
uploadActionUrl:'/api/upordown', uploadActionUrl:'/api/upordown',
// //
detailsData:{}, detailsData:{},
@ -476,10 +501,11 @@ export default {
// //
async showDetails(row){ async showDetails(row){
const from = { const from = {
id:row.id id:row.uuid
} }
const res = await getdutyclassinfo(from) const res = await reviewimage(from)
this.detailsData = res.data this.imgData = res.data
console.log(this.imgData)
this.detailsDialogFormVisible=true; this.detailsDialogFormVisible=true;
}, },
// //
@ -511,11 +537,12 @@ export default {
}, },
// //
async showEdit(row){ async showEdit(row){
this.editFrom.outid=row.outId this.editFrom.id=row.uuid
const res = await getdutyclassinfo(this.editFrom) const res = await gethonorscont(this.editFrom)
this.editAdd = res.data this.editAdd = res.data
this.editDialogFormVisible=true; this.editDialogFormVisible=true;
}, },
// //
async changeVal(val,id){ async changeVal(val,id){
@ -564,8 +591,7 @@ export default {
// //
async enterDialog(){ async enterDialog(){
this.$refs.addForm.validate(async valid => {
if (valid) {
const res = await addhonorcont(this.form) const res = await addhonorcont(this.form)
if (res.code === 0) { if (res.code === 0) {
this.$message({ this.$message({
@ -576,8 +602,7 @@ export default {
} }
this.getDataList(); this.getDataList();
this.closeDialog(); this.closeDialog();
}
})
}, },
// //
@ -600,7 +625,7 @@ export default {
// //
closeDialog() { closeDialog() {
console.log("closeDialog") console.log("closeDialog")
this.initForm() this.form={}
this.dialogFormVisible = false this.dialogFormVisible = false
}, },
// //

4
src/views/hr/personnel.vue

@ -919,11 +919,11 @@
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item> <el-descriptions-item>
<template slot="label">参加工作日期</template> <template slot="label">参加工作日期</template>
{{staffInfo.jobstartdate|dataFormat}} {{staffInfo.jobstartdatestr}}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item> <el-descriptions-item>
<template slot="label">入职日期</template> <template slot="label">入职日期</template>
{{staffInfo.entrydatetime}} {{staffInfo.entrydatestr}}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item> <el-descriptions-item>
<template slot="label">试用期</template> <template slot="label">试用期</template>

Loading…
Cancel
Save