This commit is contained in:
caoqianming 2023-06-28 10:09:17 +08:00
commit 672ee5c32a
8 changed files with 134 additions and 67 deletions

View File

@ -261,7 +261,13 @@ export function getMyTask2Do(query) {
params: query
})
}
//删除该任务下的执行组织
export function deleteTask2Do(id) {
return request({
url: `/supervision/task2do/${id}/`,
method: 'delete'
})
}
//pt
export function getPtList(query) {
return request({

View File

@ -4,6 +4,7 @@ const getters = {
token: state => state.user.token,
avatar: state => state.user.avatar,
dept: state => state.user.dept,
dept_name: state => state.user.dept_name,
name: state => state.user.name,
perms: state => state.user.perms,
permission_routes: state => state.permission.routes

View File

@ -8,7 +8,8 @@ const getDefaultState = () => {
name: '',
avatar: '',
perms: [],
dept:''
dept:'',
dept_name:'',
}
}
@ -32,7 +33,10 @@ const mutations = {
},
SET_DEPT: (state, dept) => {
state.dept = dept
}
},
SET_DEPTNAME: (state, dept_name) => {
state.dept_name = dept_name
},
}
const actions = {
@ -51,6 +55,7 @@ const actions = {
})
})
},
fulllogin({ commit }, userInfo) {
const { username, password } = userInfo
return new Promise((resolve, reject) => {
@ -104,7 +109,7 @@ const actions = {
reject('验证失败,重新登陆.')
}
const { perms, name, avatar, dept } = data
const { perms, name, avatar, dept, dept_name} = data
// perms must be a non-empty array
if (!perms || perms.length <= 0) {
@ -115,6 +120,7 @@ const actions = {
commit('SET_NAME', name)
commit('SET_AVATAR', avatar)
commit('SET_DEPT', dept)
commit('SET_DEPTNAME', dept_name)
resolve(data)
}).catch(error => {
reject(error)

View File

@ -74,23 +74,23 @@
</el-date-picker>
</el-form-item>
<el-form-item label="重大质量事故" prop="pgoal_1">
<el-input v-model="form.pgoal_1" type="number" style="width:90%"/>
<el-input-number style="width:90%" v-model="form.pgoal_1" :precision="0" :min="0" controls-position="right" size="large"/>
<span></span>
</el-form-item>
<el-form-item label="报告/证书合格率" prop="pgoal_2">
<el-input v-model="form.pgoal_2" type="number" style="width:90%"/>
<el-input-number style="width:90%" v-model="form.pgoal_2" :precision="1" :min="0" :max="100" controls-position="right" size="large"/>
<span>%</span>
</el-form-item>
<el-form-item label="报告/证书及时率" prop="pgoal_3">
<el-input v-model="form.pgoal_3" type="number" style="width:90%"/>
<el-input-number style="width:90%" v-model="form.pgoal_3" :precision="1" :min="0" :max="100" controls-position="right" size="large"/>
<span>%</span>
</el-form-item>
<el-form-item label="能力验证满意率" prop="pgoal_4">
<el-input v-model="form.pgoal_4" type="number" style="width:90%"/>
<el-input-number style="width:90%" v-model="form.pgoal_4" :precision="1" :min="0" :max="100" controls-position="right" size="large"/>
<span>%</span>
</el-form-item>
<el-form-item label="客户投诉处理满意率" prop="pgoal_5">
<el-input v-model="form.pgoal_5" type="number" style="width:90%"/>
<el-input-number style="width:90%" v-model="form.pgoal_5" :precision="1" :min="0" :max="100" controls-position="right" size="large"/>
<span>%</span>
</el-form-item>
<el-form-item label="模板文件" prop="template" v-if="dialogVisible">
@ -242,12 +242,6 @@
}
},
handleUpSuccess1(res, file, filelist) {
debugger;
console.log(res)
console.log(file)
console.log(filelist)
// this.form.pgoal_1_file = res.data.id;
console.log(filelist)
this.form.pgoal_1_file = '';
this.form.pgoal_2_file = '';
this.form.pgoal_3_file = '';
@ -261,15 +255,11 @@
this.form[key] = filelist[i].id;
}
}
console.log(this.form)
},
// handleUpSuccess2(res, file, filelist) {
// this.form.pgoal_2_file = res.data.id;
// },
handleRemove1(file, filelist){
debugger;
console.log(file)
console.log(filelist)
this.form.pgoal_1_file = '';
this.form.pgoal_2_file = '';
this.form.pgoal_3_file = '';
@ -292,7 +282,33 @@
this.listLoading = true;
getPgoalList(this.listQuery).then((response) => {
if (response.data) {
this.dataList = response.data;
let data = response.data.results;
for(let i=0;i<data.length;i++){
let
pgoal_2 = data[i].pgoal_2+'',
pgoal_3 = data[i].pgoal_3+'',
pgoal_4 = data[i].pgoal_4+'',
pgoal_5 = data[i].pgoal_5+'';
if(pgoal_2.indexOf('.')>-1){}else{
pgoal_2 = pgoal_2+'.0';
data[i].pgoal_2 = pgoal_2;
}
if(pgoal_3.indexOf('.')>-1){}else{
pgoal_3 = pgoal_3+'.0';
data[i].pgoal_3 = pgoal_3;
}
if(pgoal_4.indexOf('.')>-1){}else{
pgoal_4 = pgoal_4+'.0';
data[i].pgoal_4 = pgoal_4;
}
if(pgoal_5.indexOf('.')>-1){}else{
pgoal_5 = pgoal_5+'.0';
data[i].pgoal_5 = pgoal_5;
}
}
this.dataList.results = data;
this.dataList.count = response.data.count;
}
this.listLoading = false;
});
@ -306,7 +322,6 @@
});
},
handleEdit(scope) {
debugger;
this.form = Object.assign({}, scope.row); // copy obj
this.form.year = ''+this.form.year;
this.fileList1=[];
@ -370,15 +385,12 @@
});
},
confirm(form) {
debugger;
console.log(this.form)
this.$refs[form].validate((valid) => {
if (valid) {
const isEdit = this.dialogType === "edit";
if (isEdit) {
updatePgoal(this.form.id, this.form).then((res) => {
if (res.code >= 200) {
debugger;
this.getList();
this.dialogVisible = false;
this.$message.success("成功");
@ -387,7 +399,6 @@
} else {
createPgoal(this.form).then((res) => {
if (res.code >= 200) {
debugger;
this.getList();
this.dialogVisible = false;
this.$message.success("成功");

View File

@ -65,6 +65,7 @@
page: 0,
year:'',
goal_key__in:'pgoal_1,pgoal_2,pgoal_3,pgoal_4,pgoal_5',
belong_dept__in:''
},
taskList:[],
heightTable:null,
@ -72,7 +73,7 @@
};
},
mounted(){
this.getList();
this.getOrgList();
let height = document.getElementsByClassName('app-main')[0].clientHeight;
this.heightTable = height-90;
},
@ -84,8 +85,9 @@
if (that.checkPermission(["record_confirm"])) {
getOrgList({ can_supervision: true }).then((res) => {
let data = res.data;
debugger;
for(let i=0;i<data.length;i++){
ids= ids+item.id+',';
ids= ids+data[i].id+',';
}
that.listQuery.belong_dept__in=ids;
that.getList();
@ -93,8 +95,9 @@
} else {
getSubOrgList().then((res) => {
let data = res.data;
debugger;
for(let i=0;i<data.length;i++){
ids= ids+item.id+',';
ids= ids+data[i].id+',';
}
that.listQuery.belong_dept__in=ids;
that.getList();
@ -111,7 +114,8 @@
let date = new Date();
that.listQuery.year = date.getFullYear()+'';
}
that.listQuery.page=0;
// console.log(that.listQuery)
getPgoalDeptList(that.listQuery).then((res) => {
if (res.data) {
let data0 = res.data;
@ -133,21 +137,34 @@
alreadyId.push(data[i].belong_dept)
}
index = alreadyId.length-1;
let goal_value_b = '',goal_value_a = '';
goal_value_a = data[i].goal_value_a+'';
if(goal_value_a.indexOf('.')>-1){}else{
goal_value_a = goal_value_a+'.0';
}
goal_value_b = data[i].goal_value_b+'';
if(data[i].goal_value_b!==null){
if(goal_value_b.indexOf('.')>-1){}else{
goal_value_b = goal_value_b+'.0';
}
}else{
goal_value_b = ''
}
if(data[i].goal_key=='pgoal_1'){
dataList[0].pgoal_1=data[i].goal_value_a;
dataList[index].pgoal_1=data[i].goal_value_b;
dataList[index].pgoal_1=data[i].goal_value_b!==null?data[i].goal_value_b:'';
}else if(data[i].goal_key=='pgoal_2'){
dataList[0].pgoal_2=data[i].goal_value_a;
dataList[index].pgoal_2=data[i].goal_value_b;
dataList[0].pgoal_2=goal_value_a;
dataList[index].pgoal_2=goal_value_b;
}else if(data[i].goal_key=='pgoal_3'){
dataList[0].pgoal_3=data[i].goal_value_a;
dataList[index].pgoal_3=data[i].goal_value_b;
dataList[0].pgoal_3=goal_value_a;
dataList[index].pgoal_3=goal_value_b;
}else if(data[i].goal_key=='pgoal_4'){
dataList[0].pgoal_4=data[i].goal_value_a;
dataList[index].pgoal_4=data[i].goal_value_b;
dataList[0].pgoal_4=goal_value_a;
dataList[index].pgoal_4=goal_value_b;
}else if(data[i].goal_key=='pgoal_5'){
dataList[0].pgoal_5=data[i].goal_value_a;
dataList[index].pgoal_5=data[i].goal_value_b;
dataList[0].pgoal_5=goal_value_a;
dataList[index].pgoal_5=goal_value_b;
}
}
that.dataList.results = dataList;

View File

@ -5,7 +5,7 @@
<el-card :style="{height:leftHeight+'px'}" class="leftCard">
<h5>任务列表</h5>
<el-select
v-model="listQuery.dept"
v-model="listQuery.belong_dept"
placeholder="报送部门"
@change="handleFilter"
>
@ -146,12 +146,14 @@
</el-col>
<el-col :span="12">
<p>公司目标
<el-input v-model="item.goal_value_b" type="number" style="width:100px"/>
<el-input-number v-if="item.goal_name=='重大质量事故'" style="width:120px" v-model="item.goal_value_b" :precision="0" :min="0" :max="100" controls-position="right" size="large"/>
<el-input-number v-else style="width:120px" v-model="item.goal_value_b" :precision="1" :min="0" :max="100" controls-position="right" size="large"/>
<!-- <el-input v-model="item.goal_value_b" type="number" style="width:100px"/> -->
</p>
</el-col>
<el-col :span="24">
<div style="display:flex;position:relative">
<span style="display: inline-block;line-height: 33px;">公司文件</span>
<span style="display: inline-block;line-height: 33px;">相应实施细则</span>
<el-upload
ref="upload1"
:action="upUrl"
@ -653,7 +655,7 @@ import user from "@/store/modules/user";
},
listQuery:{
page: 1,
dept:null,
belong_dept:null,
page_size: 20,
},
typeOptions:{
@ -713,7 +715,7 @@ import user from "@/store/modules/user";
mounted(){
let height1 = document.getElementsByClassName('app-main')[0].clientHeight;
this.leftHeight = height1-15;
this.listQuery.dept =this.$store.getters.dept;
this.listQuery.belong_dept =this.$store.getters.dept;
this.getOrgList();
this.getList();
},
@ -725,7 +727,7 @@ import user from "@/store/modules/user";
getOrgList({ can_supervision: true }).then((res) => {
that.orgData = res.data;
that.orgData.filter(item=>{
if(item.id==that.listQuery.dept){
if(item.id==that.listQuery.belong_dept){
that.deptName = item.name;
}
})
@ -734,7 +736,7 @@ import user from "@/store/modules/user";
getSubOrgList().then((res) => {
that.orgData = res.data;
that.orgData.filter(item=>{
if(item.id==that.listQuery.dept){
if(item.id==that.listQuery.belong_dept){
that.deptName = item.name;
}
})
@ -747,8 +749,7 @@ import user from "@/store/modules/user";
this.dataList.count =0;
getMyTask2Do(this.listQuery).then((response) => {
if (response.data) {
this.dataList.results = response.data;
this.dataList.count = response.data.length;
this.dataList = response.data;
}
this.listLoading = false;
});
@ -767,7 +768,7 @@ import user from "@/store/modules/user";
that.numbers.num_issue = '';
that.listQuery.page = 1;
that.orgData.filter(item=>{
if(item.id==that.listQuery.dept){
if(item.id==that.listQuery.belong_dept){
that.deptName = item.name;
}
})
@ -776,13 +777,13 @@ import user from "@/store/modules/user";
resetFilter() {
this.listQuery = {
page: 1,
search:'',
belong_dept:'',
page_size: 20,
}
this.getList();
},
itemClick(item){
console.log(item);
// console.log(item);
let that = this;
that.task2Item = item;
that.task2do = item.id;
@ -810,8 +811,8 @@ import user from "@/store/modules/user";
//获取集团指导文件
getPgoalList({year:item.task2_.year,page:0}).then(resp=>{
that.task= resp.data[0];
console.log(that.task)
debugger;
// console.log(that.task)
// debugger;
})
}else{//日常监督
this.numbers.num_expect = item.num_expect;
@ -885,7 +886,7 @@ import user from "@/store/modules/user";
delGoal(item,index){
if(item.id){
deletePgoalDept(item.id).then(res=>{
console.log(res)
// console.log(res)
if(res.code>=200){
this.subData.splice(index,1)
this.$message.success('删除成功')
@ -895,7 +896,7 @@ import user from "@/store/modules/user";
this.subData.splice(index,1)
}
},
saveGoal(item){
saveGoal(item){
this.saveLoading = true;
let obj = {};
obj.year = item.year;

View File

@ -36,7 +36,7 @@
>
</el-row>
</el-card>
<el-card style="margin-top:10px">
<el-card style="margin-top:6px">
<div ref="print" id="myReport" class="printContainer">
<!-- <el-table
ref="tableRef"
@ -71,8 +71,8 @@
<template slot-scope="scope" v-if="scope.row.all">{{ scope.row.all }}</template>
</el-table-column>
</el-table> -->
<h3 style="text-align: center;">{{ fileName }}</h3>
<p v-if="fileName!==''" style="text-align: center;">{{ listQuery.task2__year }} 112月质量目标双月报</p>
<h3 style="text-align: center;">{{ deptName }}</h3>
<p v-if="deptName!==''" style="text-align: center;">{{ listQuery.task2__year }} 112月质量目标双月报</p>
<table border="1" width="1000" cellspacing="0" :key="timeStamp" id="numTable">
<thead style="background: #efefef;height: 40px;">
<tr>
@ -310,7 +310,6 @@
],
orgData:[],
barChart1:null,
bar1option:{},
barchart2:null,
lineChart1:null,
lineChart2:null,
@ -332,16 +331,31 @@
};
},
mounted() {
this.getGroup();
this.supTate = this.checkPermission(["record_confirm"]);
if(this.supTate ){
}else{
let date = new Date();
this.listQuery.task2__year = date.getFullYear()+'';
this.deptName = this.$store.getters.dept_name;
this.listQuery.belong_dept = this.$store.getters.dept;
this.handleFilter();
}
this.optionSet();
this.getGroup();
},
methods: {
belongDeptChange(a){
this.fileName = '';
let selectItem = this.orgData.filter(item=>{
return item.id==a
})
this.deptName = selectItem[0].name;
this.bar1Data=[];
this.bar2Data=[];
this.line1Data=[];
this.line2Data =[];
this.line3Data=[];
this.line4Data=[];
this.tableDatas=[[],[],[],[],[],[],[],[],[],[],[],[],[]];
},
optionSet(){
let chartDom1 = document.getElementById('bar1');
@ -405,9 +419,11 @@
text: '报告/证书合格率(%)'
},
tooltip: {
trigger: 'axis'
trigger: 'axis',
},
legend: {
right:30,
data: ['报告/证书合格率']
},
grid: {
@ -454,6 +470,7 @@
trigger: 'axis'
},
legend: {
right:30,
data: ['报告/证书及时率']
},
grid: {
@ -500,6 +517,7 @@
trigger: 'axis'
},
legend: {
right:30,
data: ['能力验证满意率']
},
grid: {
@ -546,6 +564,7 @@
trigger: 'axis'
},
legend: {
right:30,
data: ['客户投诉处理满意率']
},
grid: {
@ -593,7 +612,6 @@
that.line2Data = [];
that.line3Data = [];
that.line4Data = [];
that.fileName = that.deptName;
that.tableData1 = [];
that.tableDatas = [ [],[],[],[],[],[],[],[],[],[],[],[],[]];
getTask2Do(that.listQuery).then(res=>{
@ -746,7 +764,6 @@
}else{
this.$message.warning('请选择部门')
}
},
handlePrint() {
this.$PRINT('#myReport');

View File

@ -457,7 +457,7 @@
</style>
<script>
import { getOrgList } from "@/api/org";
import { getTask2, addDeptsTask2, getTask2Do, startTask2, confirmTaskdept ,deleteTaskdept,
import { getTask2, addDeptsTask2, getTask2Do, startTask2, confirmTaskdept ,deleteTask2Do,
getPgoalDeptList,getRcList,getPtList,getRiskList,getComplaintList,getOinspectList} from "@/api/task";
import Pagination from "@/components/Pagination";
import checkPermission from "@/utils/permission";
@ -745,9 +745,17 @@ export default {
},
handleDeleteDept(scope){
deleteTaskdept(scope.row.id).then(res=>{
this.gettaskdeptall()
})
this.$confirm("确认删除该部门吗?", "提示")
.then(async () => {
deleteTask2Do(scope.row.id).then(res=>{
this.gettaskdeptall();
this.$message.success("成功");
})
})
.catch((err) => {
console.error(err);
});
},
handleUp2(){
if (this.selectRecords.length) {