|
|
@@ -4,25 +4,25 @@
|
|
|
<div class="ConferenceTask-Search-ul">
|
|
|
<div class="ConferenceTask-Search-li">
|
|
|
<label>选择团组:</label>
|
|
|
- <el-select size="small" style="width:200px" v-model="Groupid" filterable placeholder="请选择">
|
|
|
- <el-option v-for="item in GroupidArr" :key="item.id" :label="item.name" :value="item.id">
|
|
|
+ <el-select @change="ConfProcessDetails" size="small" style="width:200px" v-model="Groupid" filterable placeholder="请选择">
|
|
|
+ <el-option v-for="item in GroupidArr" :key="item.id" :label="item.groupName" :value="item.id">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</div>
|
|
|
<div class="ConferenceTask-Search-li">
|
|
|
<label>情况选择:</label>
|
|
|
- <el-select size="small" style="width:200px" v-model="Situation" filterable placeholder="请选择">
|
|
|
- <el-option v-for="item in SituationArr" :key="item.id" :label="item.name" :value="item.id">
|
|
|
+ <el-select :disabled="SituationEditing" @change="ConfProcessChangeNodeTempSave" size="small" style="width:200px" v-model="Situation" filterable placeholder="请选择">
|
|
|
+ <el-option v-for="item in SituationArr" :key="item.tempId" :label="item.tempName" :value="item.tempId">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <el-button size="small" type="primary">保存</el-button>
|
|
|
+ <!-- <el-button size="small" type="primary">保存</el-button> -->
|
|
|
</div>
|
|
|
- <div class="ConferenceTask-diagram">
|
|
|
- <div :class="item.statusText == '已完成' ? 'ConferenceTask-diagram-' + activities.length + 's' : 'ConferenceTask-diagram-' + activities.length"
|
|
|
- v-for="(item, index) in activities" :key="index">
|
|
|
- <el-popover v-if="item.nodeDescTips != ''" placement="top-start" title="PS" width="200" trigger="hover"
|
|
|
+ <div class="ConferenceTask-diagram" v-for="(items, index) in activities" :key="index">
|
|
|
+ <div :class="item.statusText == '已完成' ? 'ConferenceTask-diagram-' + items.nodes.length + 's' : 'ConferenceTask-diagram-' + items.nodes.length"
|
|
|
+ v-for="(item, index) in items.nodes" :key="index">
|
|
|
+ <el-popover @click="ConfProcessUpdateNodeStatus(item)" v-if="item.nodeDescTips != ''" placement="top-start" title="PS" width="200" trigger="hover"
|
|
|
:content="item.nodeDescTips">
|
|
|
<div style="white-space: pre-wrap;">{{ item.nodeDescTips }}</div>
|
|
|
<div slot="reference">
|
|
|
@@ -31,11 +31,17 @@
|
|
|
<div>{{ item.operator }}</div>
|
|
|
<!-- <div>{{item.opeateTime}}</div> -->
|
|
|
<div @click.stop="">
|
|
|
- <el-date-picker style="width: 100%;"
|
|
|
+ <el-date-picker @change="ConfProcessSetActualDone(item)" style="width: 100%;margin-top: 10px;"
|
|
|
size="mini" v-model="item.actualDone" type="datetime" placeholder="选择实际完成时间">
|
|
|
</el-date-picker>
|
|
|
- <div v-if="item.isEnaPartBtn" @click.stop=""
|
|
|
- style="display: flex;align-items: center;margin-top: 5px;">
|
|
|
+ <el-select @change="ConfProcessSetActualDone(item)" style="width: 100%;margin-top: 10px;" size="mini" v-model="item.participators" multiple collapse-tags
|
|
|
+ placeholder="请选择">
|
|
|
+ <el-option v-for="item in options" :key="item.userId" :label="item.userName"
|
|
|
+ :value="item.userId">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ <!-- <div v-if="item.isEnaPartBtn" @click.stop=""
|
|
|
+ style="display: flex;align-items: center;margin-top: 10px;">
|
|
|
<label style="line-height: 1;margin-right: 5px;">是否参与:</label>
|
|
|
<el-radio-group v-model="item.isPart">
|
|
|
<el-radio :label="true">是</el-radio>
|
|
|
@@ -43,17 +49,17 @@
|
|
|
</el-radio-group>
|
|
|
</div>
|
|
|
<div v-if="item.isEnaAssistBtn" @click.stop=""
|
|
|
- style="display: flex;align-items: center;margin-top: 5px">
|
|
|
+ style="display: flex;align-items: center;margin-top: 10px;">
|
|
|
<label style="line-height: 1;margin-right: 5px;">财务是否协助:</label>
|
|
|
<el-radio-group v-model="item.isAssist">
|
|
|
<el-radio :label="true">是</el-radio>
|
|
|
<el-radio :label="false">否</el-radio>
|
|
|
</el-radio-group>
|
|
|
- </div>
|
|
|
+ </div> -->
|
|
|
<div v-if="item.isEnaFileUpBtn" @click.stop=""
|
|
|
- style="display: flex;align-items: center;margin-top: 5px;">
|
|
|
+ style="display: flex;align-items: center;margin-top: 10px;">
|
|
|
<label style="line-height: 1;margin-right: 5px;">是否上传文件:</label>
|
|
|
- <el-radio-group v-model="item.isFileUp">
|
|
|
+ <el-radio-group v-model="item.isFileUp" @change="ConfProcessSetActualDone(item)">
|
|
|
<el-radio :label="true">是</el-radio>
|
|
|
<el-radio :label="false">否</el-radio>
|
|
|
</el-radio-group>
|
|
|
@@ -61,17 +67,23 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-popover>
|
|
|
- <div v-else>
|
|
|
+ <div v-else @click="ConfProcessUpdateNodeStatus(item)">
|
|
|
<div style="font-weight: 600;font-size: 12px;">{{ item.nodeName }}</div>
|
|
|
<div>{{ item.statusText }}</div>
|
|
|
<div>{{ item.operator }}</div>
|
|
|
<!-- <div>{{item.opeateTime}}</div> -->
|
|
|
<div @click.stop="">
|
|
|
- <el-date-picker style="width: 100%;" size="mini"
|
|
|
+ <el-date-picker @change="ConfProcessSetActualDone(item)" style="width: 100%;margin-top: 10px;" size="mini"
|
|
|
v-model="item.actualDone" type="datetime" placeholder="选择实际完成时间">
|
|
|
</el-date-picker>
|
|
|
- <div v-if="item.isEnaPartBtn" @click.stop=""
|
|
|
- style="display: flex;align-items: center;margin-top: 5px;">
|
|
|
+ <el-select @change="ConfProcessSetActualDone(item)" style="width: 100%;margin-top: 10px;" size="mini" v-model="item.participators" multiple
|
|
|
+ collapse-tags placeholder="请选择">
|
|
|
+ <el-option v-for="item in options" :key="item.userId" :label="item.userName"
|
|
|
+ :value="item.userId">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ <!-- <div v-if="item.isEnaPartBtn" @click.stop=""
|
|
|
+ style="display: flex;align-items: center;margin-top: 10px;">
|
|
|
<label style="line-height: 1;margin-right: 5px;">是否参与:</label>
|
|
|
<el-radio-group v-model="item.isPart">
|
|
|
<el-radio :label="true">是</el-radio>
|
|
|
@@ -79,17 +91,17 @@
|
|
|
</el-radio-group>
|
|
|
</div>
|
|
|
<div v-if="item.isEnaAssistBtn" @click.stop=""
|
|
|
- style="display: flex;align-items: center;margin-top: 5px;">
|
|
|
+ style="display: flex;align-items: center;margin-top: 10px;">
|
|
|
<label style="line-height: 1;margin-right: 5px;">财务是否协助:</label>
|
|
|
<el-radio-group v-model="item.isAssist">
|
|
|
<el-radio :label="true">是</el-radio>
|
|
|
<el-radio :label="false">否</el-radio>
|
|
|
</el-radio-group>
|
|
|
- </div>
|
|
|
+ </div> -->
|
|
|
<div v-if="item.isEnaFileUpBtn" @click.stop=""
|
|
|
- style="display: flex;align-items: center;margin-top: 5px;">
|
|
|
+ style="display: flex;align-items: center;margin-top:10px;">
|
|
|
<label style="line-height: 1;margin-right: 5px;">是否上传文件:</label>
|
|
|
- <el-radio-group v-model="item.isFileUp">
|
|
|
+ <el-radio-group v-model="item.isFileUp" @change="ConfProcessSetActualDone(item)">
|
|
|
<el-radio :label="true">是</el-radio>
|
|
|
<el-radio :label="false">否</el-radio>
|
|
|
</el-radio-group>
|
|
|
@@ -103,18 +115,18 @@
|
|
|
<div class="ConferenceTask-Search-ul">
|
|
|
<div class="ConferenceTask-Search-li">
|
|
|
<label>选择月份:</label>
|
|
|
- <el-date-picker @change="CompanyDailyKpiInfo" size="small" style="width:200px" v-model="months" type="month" placeholder="选择月">
|
|
|
+ <el-date-picker @change="PlanningDailyKpiInfo" size="small" style="width:200px" v-model="months" type="month" placeholder="选择月">
|
|
|
</el-date-picker>
|
|
|
</div>
|
|
|
<div class="ConferenceTask-Search-li">
|
|
|
<label>人员名称:</label>
|
|
|
- <el-select @change="CompanyDailyKpiInfo" size="small" style="width:200px" v-model="value" filterable placeholder="请选择">
|
|
|
- <el-option v-for="item in options" :key="item.id" :label="item.name" :value="item.id">
|
|
|
+ <el-select @change="PlanningDailyKpiInfo" size="small" style="width:200px" v-model="value" filterable placeholder="请选择">
|
|
|
+ <el-option v-for="item in optionss" :key="item.id" :label="item.name" :value="item.id">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <el-button @click="CompanyDailyKpiSave" size="small" type="primary">保存</el-button>
|
|
|
+ <el-button @click="PlanningDailyKpiSave" size="small" type="primary">保存</el-button>
|
|
|
</div>
|
|
|
<div class="ConferenceTask-Search-table">
|
|
|
<el-table :data="tableData" border style="width: 100%">
|
|
|
@@ -153,147 +165,151 @@ export default {
|
|
|
GroupidArr:[],
|
|
|
Situation:'',
|
|
|
SituationArr:[],
|
|
|
- activities:[
|
|
|
- {
|
|
|
- id: 1,
|
|
|
- ConferenceTaskId: 1,
|
|
|
- nodeOrder: 1,
|
|
|
- nodeName: "报批基础资料准备",
|
|
|
- overallStatus: 2,
|
|
|
- statusText: "进行中",
|
|
|
- operator: "-",
|
|
|
- opeateTime: "-",
|
|
|
- actualDone: "",
|
|
|
- nodeDescTips: "更新报批行程和请示,提供其他报批所需材料,4个工作日内完成。",
|
|
|
- isEnaAssistBtn: false,
|
|
|
- isAssist: false,
|
|
|
- isEnaFileUpBtn: false,
|
|
|
- isFileUp: false,
|
|
|
- isEnaPartBtn: false,
|
|
|
- isPart: false,
|
|
|
- visaSubNodes: []
|
|
|
- },
|
|
|
- {
|
|
|
- id: 2,
|
|
|
- ConferenceTaskId: 1,
|
|
|
- nodeOrder: 2,
|
|
|
- nodeName: "报批邀请函资料准备",
|
|
|
- overallStatus: 2,
|
|
|
- statusText: "进行中",
|
|
|
- operator: "-",
|
|
|
- opeateTime: "-",
|
|
|
- actualDone: "",
|
|
|
- nodeDescTips: "客户提供完整名单后,2周内取得邀请函(翻译件)。",
|
|
|
- isEnaAssistBtn: false,
|
|
|
- isAssist: false,
|
|
|
- isEnaFileUpBtn: false,
|
|
|
- isFileUp: false,
|
|
|
- isEnaPartBtn: false,
|
|
|
- isPart: false,
|
|
|
- visaSubNodes: []
|
|
|
- },
|
|
|
- {
|
|
|
- id: 3,
|
|
|
- ConferenceTaskId: 1,
|
|
|
- nodeOrder: 3,
|
|
|
- nodeName: "获得批件",
|
|
|
- overallStatus: 2,
|
|
|
- statusText: "进行中",
|
|
|
- operator: "-",
|
|
|
- opeateTime: "-",
|
|
|
- actualDone: "",
|
|
|
- nodeDescTips: "提供完整的报批全套资源。",
|
|
|
- isEnaAssistBtn: false,
|
|
|
- isAssist: false,
|
|
|
- isEnaFileUpBtn: false,
|
|
|
- isFileUp: false,
|
|
|
- isEnaPartBtn: false,
|
|
|
- isPart: false,
|
|
|
- visaSubNodes: []
|
|
|
- },
|
|
|
- {
|
|
|
- id: 4,
|
|
|
- ConferenceTaskI: 1,
|
|
|
- nodeOrder: 4,
|
|
|
- nodeName: "对接公务",
|
|
|
- overallStatus: 2,
|
|
|
- statusText: "进行中",
|
|
|
- operator: "-",
|
|
|
- opeateTime: "-",
|
|
|
- actualDone: "",
|
|
|
- nodeDescTips: "请于2026年05月12日内完成该项工作(按进度实际公务活动落实情况,出发前5日落实公务)",
|
|
|
- isEnaAssistBtn: false,
|
|
|
- isAssist: false,
|
|
|
- isEnaFileUpBtn: false,
|
|
|
- isFileUp: false,
|
|
|
- isEnaPartBtn: false,
|
|
|
- isPart: false,
|
|
|
- visaSubNodes: []
|
|
|
- },
|
|
|
- {
|
|
|
- id: 5,
|
|
|
- ConferenceTaskId: 1,
|
|
|
- nodeOrder: 5,
|
|
|
- nodeName: "参与翻译对接",
|
|
|
- overallStatus: 2,
|
|
|
- statusText: "进行中",
|
|
|
- operator: "-",
|
|
|
- opeateTime: "-",
|
|
|
- actualDone: "",
|
|
|
- nodeDescTips: "",
|
|
|
- isEnaAssistBtn: false,
|
|
|
- isAssist: false,
|
|
|
- isEnaFileUpBtn: false,
|
|
|
- isFileUp: false,
|
|
|
- isEnaPartBtn: true,
|
|
|
- isPart: true,
|
|
|
- visaSubNodes: []
|
|
|
- },
|
|
|
- {
|
|
|
- id: 6,
|
|
|
- ConferenceTaskId: 1,
|
|
|
- nodeOrder: 6,
|
|
|
- nodeName: "商邀文案配合",
|
|
|
- overallStatus: 2,
|
|
|
- statusText: "进行中",
|
|
|
- operator: "-",
|
|
|
- opeateTime: "-",
|
|
|
- actualDone: "",
|
|
|
- nodeDescTips: "",
|
|
|
- isEnaAssistBtn: false,
|
|
|
- isAssist: false,
|
|
|
- isEnaFileUpBtn: false,
|
|
|
- isFileUp: false,
|
|
|
- isEnaPartBtn: false,
|
|
|
- isPart: false,
|
|
|
- visaSubNodes: []
|
|
|
- },
|
|
|
- {
|
|
|
- id: 7,
|
|
|
- ConferenceTaskId: 1,
|
|
|
- nodeOrder: 7,
|
|
|
- nodeName: "票据上传(相关票据)",
|
|
|
- overallStatus: 2,
|
|
|
- statusText: "进行中",
|
|
|
- operator: "-",
|
|
|
- opeateTime: "-",
|
|
|
- actualDone: "",
|
|
|
- nodeDescTips: "请于2026年05月17日内完成该项工作(团组结束前完成)",
|
|
|
- isEnaAssistBtn: false,
|
|
|
- isAssist: false,
|
|
|
- isEnaFileUpBtn: true,
|
|
|
- isFileUp: true,
|
|
|
- isEnaPartBtn: false,
|
|
|
- isPart: false,
|
|
|
- visaSubNodes: []
|
|
|
- }
|
|
|
- ]
|
|
|
+ activities:[],
|
|
|
+ SituationEditing:false,
|
|
|
+
|
|
|
+ optionss:[],
|
|
|
+ values:'',
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
+ //获取团组列表
|
|
|
+ ConfProcessGroupNames() {
|
|
|
+ var url = "/api/Groups/ConfProcessGroupNames";
|
|
|
+ var that = this;
|
|
|
+ this.$axios({
|
|
|
+ method: 'get',
|
|
|
+ url: url,
|
|
|
+ headers: {
|
|
|
+ Authorization: 'Bearer '
|
|
|
+ }
|
|
|
+ }).then(function (res) {
|
|
|
+ if (res.data.code == 200) {
|
|
|
+ that.GroupidArr=res.data.data.groupNames;
|
|
|
+ that.options=res.data.data.participators;
|
|
|
+ if(that.Groupid==''){
|
|
|
+ that.Groupid=that.GroupidArr[0].id;
|
|
|
+ }
|
|
|
+ that.ConfProcessNodeTempInfos();
|
|
|
+ } else {
|
|
|
+ that.$message.error(res.data.msg);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //获取模版列表
|
|
|
+ ConfProcessNodeTempInfos() {
|
|
|
+ var url = "/api/Groups/ConfProcessNodeTempInfos?groupId="+this.Groupid+"&currUserId="+this.userId;
|
|
|
+ var that = this;
|
|
|
+ this.$axios({
|
|
|
+ method: 'get',
|
|
|
+ url: url,
|
|
|
+ headers: {
|
|
|
+ Authorization: 'Bearer '
|
|
|
+ }
|
|
|
+ }).then(function (res) {
|
|
|
+ if (res.data.code == 200) {
|
|
|
+ that.SituationArr=res.data.data;
|
|
|
+ if(that.Situation==''){
|
|
|
+ that.Situation=that.SituationArr[0].tempId;
|
|
|
+ }
|
|
|
+ that.ConfProcessDetails();
|
|
|
+ } else {
|
|
|
+ that.$message.error(res.data.msg);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //获取详情
|
|
|
+ ConfProcessDetails() {
|
|
|
+ var url = "/api/Groups/ConfProcessDetails?groupId="+this.Groupid+"&currUserId="+this.userId;
|
|
|
+ var that = this;
|
|
|
+ this.$axios({
|
|
|
+ method: 'get',
|
|
|
+ url: url,
|
|
|
+ headers: {
|
|
|
+ Authorization: 'Bearer '
|
|
|
+ }
|
|
|
+ }).then(function (res) {
|
|
|
+ if (res.data.code == 200) {
|
|
|
+ that.activities=res.data.data.confProcess;
|
|
|
+ that.Situation=res.data.data.tempId;
|
|
|
+ that.SituationEditing=!res.data.data.isNodeTemplSwitchable;
|
|
|
+ } else {
|
|
|
+ that.$message.error(res.data.msg);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //获取流程
|
|
|
+ ConfProcessChangeNodeTempSave() {
|
|
|
+ var url = "/api/Groups/ConfProcessChangeNodeTempSave?groupId="+this.Groupid+"&nodeTempId="+this.Situation+"&currUserId="+this.userId;
|
|
|
+ var that = this;
|
|
|
+ this.$axios({
|
|
|
+ method: 'get',
|
|
|
+ url: url,
|
|
|
+ headers: {
|
|
|
+ Authorization: 'Bearer '
|
|
|
+ }
|
|
|
+ }).then(function (res) {
|
|
|
+ if (res.data.code == 200) {
|
|
|
+ that.activities=res.data.data.confProcess;
|
|
|
+ that.Situation=res.data.data.tempId;
|
|
|
+ that.SituationEditing=!res.data.data.isNodeTemplSwitchable;
|
|
|
+ } else {
|
|
|
+ that.$message.error(res.data.msg);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //流程更新
|
|
|
+ ConfProcessUpdateNodeStatus(val) {
|
|
|
+ var url = "/api/Groups/ConfProcessUpdateNodeStatus";
|
|
|
+ var that = this;
|
|
|
+ this.$axios({
|
|
|
+ method: 'post',
|
|
|
+ url: url,
|
|
|
+ headers: {
|
|
|
+ Authorization: 'Bearer '
|
|
|
+ },
|
|
|
+ data:{
|
|
|
+ nodeId:val.id,
|
|
|
+ currUserId:that.userId
|
|
|
+ }
|
|
|
+ }).then(function (res) {
|
|
|
+ if (res.data.code == 200) {
|
|
|
+ that.$message.success(res.data.msg);
|
|
|
+ that.ConfProcessDetails();
|
|
|
+ } else {
|
|
|
+ that.$message.error(res.data.msg);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //设置完成时间
|
|
|
+ ConfProcessSetActualDone(val) {
|
|
|
+ var url = "/api/Groups/ConfProcessSetActualDone";
|
|
|
+ var that = this;
|
|
|
+ this.$axios({
|
|
|
+ method: 'post',
|
|
|
+ url: url,
|
|
|
+ headers: {
|
|
|
+ Authorization: 'Bearer '
|
|
|
+ },
|
|
|
+ data:{
|
|
|
+ nodeId:val.id,
|
|
|
+ participators:val.participators,
|
|
|
+ isFileUp:val.isFileUp,
|
|
|
+ actualDone:val.actualDone==''?'':that.disposeTime(val.actualDone),
|
|
|
+ currUserId:that.userId
|
|
|
+ }
|
|
|
+ }).then(function (res) {
|
|
|
+ if (res.data.code == 200) {
|
|
|
+ that.$message.success(res.data.msg);
|
|
|
+ that.ConfProcessDetails();
|
|
|
+ } else {
|
|
|
+ that.$message.error(res.data.msg);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
//获取人员名单
|
|
|
- CompanyDailyKpiInit() {
|
|
|
- var url = "/api/PersonnelModule/CompanyDailyKpiInit";
|
|
|
+ PlanningDailyKpiInit() {
|
|
|
+ var url = "/api/PersonnelModule/PlanningDailyKpiInit";
|
|
|
var that = this;
|
|
|
this.$axios({
|
|
|
method: 'get',
|
|
|
@@ -303,11 +319,11 @@ export default {
|
|
|
}
|
|
|
}).then(function (res) {
|
|
|
if (res.data.code == 200) {
|
|
|
- that.options=res.data.data;
|
|
|
- if(that.value==''){
|
|
|
- that.value=that.options[0].id;
|
|
|
+ that.optionss=res.data.data;
|
|
|
+ if(that.values==''){
|
|
|
+ that.value=that.optionss[0].id;
|
|
|
}
|
|
|
- that.CompanyDailyKpiInfo();
|
|
|
+ that.PlanningDailyKpiInfo();
|
|
|
} else {
|
|
|
that.$message.error(res.data.msg);
|
|
|
}
|
|
|
@@ -321,14 +337,31 @@ export default {
|
|
|
var d=date.getDate()>=10?date.getDate():'0'+(date.getDate()).toString();
|
|
|
return y+'-'+m
|
|
|
},
|
|
|
+ //处理时间
|
|
|
+ disposeTime(val){
|
|
|
+ var date = new Date(val);
|
|
|
+ var y = date.getFullYear();
|
|
|
+ var m = date.getMonth() + 1;
|
|
|
+ m = m < 10 ? ('0' + m) : m;
|
|
|
+ var d = date.getDate();
|
|
|
+ d = d < 10 ? ('0' + d) : d;
|
|
|
+ var hh = date.getHours();
|
|
|
+ hh = hh < 10 ? ('0' + hh) : hh;
|
|
|
+ var mm = date.getMinutes();
|
|
|
+ mm = mm < 10 ? ('0' + mm) : mm;
|
|
|
+ var ss = date.getSeconds();
|
|
|
+ ss = ss < 10 ? ('0' + ss) : ss;
|
|
|
+ let time = y + '-' + m + '-' + d+' '+hh+':'+mm+':'+ss;
|
|
|
+ return time
|
|
|
+ },
|
|
|
//获取任务明细
|
|
|
- CompanyDailyKpiInfo() {
|
|
|
+ PlanningDailyKpiInfo() {
|
|
|
this.SPLoading=true;
|
|
|
if (this.months==''||this.months==null){
|
|
|
this.$message.error('请选择月份!');
|
|
|
return
|
|
|
}
|
|
|
- var url = "/api/PersonnelModule/CompanyDailyKpiInfo?month="+this.datetime(this.months)+"&evaluator="+this.value;
|
|
|
+ var url = "/api/PersonnelModule/PlanningDailyKpiInfo?month="+this.datetime(this.months)+"&evaluator="+this.value;
|
|
|
var that = this;
|
|
|
this.$axios({
|
|
|
method: 'get',
|
|
|
@@ -347,9 +380,9 @@ export default {
|
|
|
})
|
|
|
},
|
|
|
//保存任务
|
|
|
- CompanyDailyKpiSave() {
|
|
|
+ PlanningDailyKpiSave() {
|
|
|
this.SPLoading=true;
|
|
|
- var url = "/api/PersonnelModule/CompanyDailyKpiSave";
|
|
|
+ var url = "/api/PersonnelModule/PlanningDailyKpiSave";
|
|
|
var that = this;
|
|
|
this.$axios({
|
|
|
method: 'post',
|
|
|
@@ -364,7 +397,7 @@ export default {
|
|
|
}).then(function (res) {
|
|
|
if (res.data.code == 200) {
|
|
|
that.$message.success(res.data.msg);
|
|
|
- that.CompanyDailyKpiInfo();
|
|
|
+ that.PlanningDailyKpiInfo();
|
|
|
} else {
|
|
|
that.SPLoading=false;
|
|
|
that.$message.error(res.data.msg);
|
|
|
@@ -374,7 +407,8 @@ export default {
|
|
|
},
|
|
|
mounted() {
|
|
|
this.userId = JSON.parse(localStorage.getItem('userinif')).userInfo.userId;
|
|
|
- this.CompanyDailyKpiInit();
|
|
|
+ this.ConfProcessGroupNames();
|
|
|
+ this.PlanningDailyKpiInit();
|
|
|
}
|
|
|
}
|
|
|
</script>
|