|
@@ -33,12 +33,13 @@
|
|
|
总填报:
|
|
|
<span :style="parseFloat(item1.reportTime)>parseFloat(item1.calculateTime)+0.5?'color:red':''">{{item1.reportTime}}h</span>
|
|
|
</span>
|
|
|
- <span>系统智能统计:{{item1.calculateTime}}h</span>
|
|
|
+ <el-link v-if="user.role != 0" type="primary" :underline="false" @click="junpToDeskTop">系统智能统计:{{item1.calculateTime}}h</el-link>
|
|
|
+ <span v-else>系统智能统计:{{item1.calculateTime}}h</span>
|
|
|
</span>
|
|
|
<div class="checkbtn">
|
|
|
- <el-button type="primary" size="small" @click="submitDepartment">通过</el-button>
|
|
|
- <el-button type="danger" size="small" @click="submitDepartment">驳回</el-button>
|
|
|
- <el-button type="danger" size="small" @click="submitDepartment">驳回</el-button>
|
|
|
+ <el-button v-if="user.role != 0 && item1.state == 0" type="primary" :loading="logining" size="small" @click="approve(item1.id)">通过</el-button>
|
|
|
+ <el-button v-if="user.role != 0 && item1.state == 0" type="danger" :loading="logining" size="small" @click="deny(item1.id,0)">驳回</el-button>
|
|
|
+ <el-button v-if="user.role != 0 && item1.state == 1" type="danger" :loading="logining" size="small" @click="deny(item1.id,1)">撤销</el-button>
|
|
|
</div>
|
|
|
<div class="one_daily_body">
|
|
|
<el-timeline>
|
|
@@ -63,7 +64,7 @@
|
|
|
<el-form ref="workForm" :model="workForm" :rules="workRules" label-width="100px">
|
|
|
<el-form-item label="工作日期" prop="createDate">
|
|
|
<el-date-picker v-model="workForm.createDate" :editable="false" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
|
|
|
- @change="changeMonth()" :clearable="false" type="date" placeholder="选择工作日期" style="width:100%;"></el-date-picker>
|
|
|
+ @change="changeMonth()" :clearable="false" type="date" placeholder="选择工作日期"></el-date-picker>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="待分配时长" prop="name">
|
|
|
<span>{{report.time}}h</span>
|
|
@@ -72,28 +73,32 @@
|
|
|
<div v-for="(domain, index) in workForm.domains" :key="domain.id">
|
|
|
<el-form-item label="投入项目" :prop="'domains.' + index + '.projectId'"
|
|
|
:rules="{ required: true, message: '请选择投入项目', trigger: ['change','blur'] }">
|
|
|
- <el-select v-model="domain.projectId" placeholder="请选择" style="width:200px;">
|
|
|
+ <el-select v-model="domain.projectId" placeholder="请选择" style="width:200px;"
|
|
|
+ :disabled="workForm.domains.length!=0 && workForm.domains[0].state!=2">
|
|
|
<el-option v-for="item in projectList" :key="item.id" :label="item.projectName" :value="item.id"></el-option>
|
|
|
</el-select>
|
|
|
- <el-link v-if="index >= 1" type="primary" :underline="false" @click="delDomain(index)" style="float:right;margin-right:10px;">
|
|
|
+ <el-link v-if="index >= 1" type="primary" :underline="false" @click="delDomain(index)" style="float:right;margin-right:10px;"
|
|
|
+ :disabled="workForm.domains.length!=0 && workForm.domains[0].state!=2">
|
|
|
<i class="fa fa-trash" style="color: red;;font-size:18px;"></i>
|
|
|
</el-link>
|
|
|
</el-form-item>
|
|
|
|
|
|
<el-form-item label="投入时长" :prop="'domains.' + index + '.workingTime'"
|
|
|
:rules="{ required: true, message: '请输入投入时长', trigger: 'blur' }">
|
|
|
- <el-input v-model.number="domain.workingTime" placeholder="请输入投入时长" type='number' clearable style="width:200px;"></el-input>
|
|
|
+ <el-input v-model.number="domain.workingTime" placeholder="请输入投入时长" type='number' clearable style="width:200px;"
|
|
|
+ :disabled="workForm.domains.length!=0 && workForm.domains[0].state!=2"></el-input>
|
|
|
</el-form-item>
|
|
|
|
|
|
<el-form-item label="工作事项" :prop="'domains.' + index + '.content'" :rules="{ required: true, message: '请输入工作事项', trigger: 'blur' }">
|
|
|
- <el-input v-model="domain.content" type="textarea" :rows="4" placeholder="请输入投入时长" clearable></el-input>
|
|
|
+ <el-input v-model="domain.content" type="textarea" :rows="4" placeholder="请输入投入时长" clearable
|
|
|
+ :disabled="workForm.domains.length!=0 && workForm.domains[0].state!=2"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-divider v-if="workForm.domains.length>1"></el-divider>
|
|
|
</div>
|
|
|
</el-form>
|
|
|
<span slot="footer" class="dialog-footer">
|
|
|
<el-button @click="dialogVisible = false">取消</el-button>
|
|
|
- <el-button type="primary" @click="submitDepartment">提交</el-button>
|
|
|
+ <el-button type="primary" :disabled="workForm.domains.length!=0 && workForm.domains[0].state!=2" @click="submitDepartment">提交</el-button>
|
|
|
</span>
|
|
|
</el-dialog>
|
|
|
</section>
|
|
@@ -125,12 +130,15 @@
|
|
|
id: null,
|
|
|
projectId: "",
|
|
|
workingTime: "",
|
|
|
- content: ""
|
|
|
+ content: "",
|
|
|
+ state: "",
|
|
|
}],
|
|
|
},
|
|
|
workRules: {
|
|
|
createDate: [{ required: true, message: "请选择工作日期", trigger: "change" }],
|
|
|
- }
|
|
|
+ },
|
|
|
+
|
|
|
+ logining: false,
|
|
|
};
|
|
|
},
|
|
|
methods: {
|
|
@@ -273,7 +281,8 @@
|
|
|
id: list.report[i].id,
|
|
|
projectId: list.report[i].projectId,
|
|
|
workingTime: list.report[i].workingTime,
|
|
|
- content: list.report[i].content
|
|
|
+ content: list.report[i].content,
|
|
|
+ state: list.report[i].state
|
|
|
})
|
|
|
}
|
|
|
this.workForm = {
|
|
@@ -287,7 +296,8 @@
|
|
|
id: null,
|
|
|
projectId: "",
|
|
|
workingTime: "",
|
|
|
- content: ""
|
|
|
+ content: "",
|
|
|
+ state: "",
|
|
|
}],
|
|
|
}
|
|
|
}
|
|
@@ -376,6 +386,70 @@
|
|
|
});
|
|
|
},
|
|
|
|
|
|
+ // 跳转
|
|
|
+ junpToDeskTop() {
|
|
|
+ let day = this.choseDay > 9 ? "-" + (this.choseDay + 1) : "-0" + (this.choseDay + 1);
|
|
|
+ this.$router.push("/desktop/" + this.user.id + "/" + this.date +day);
|
|
|
+ },
|
|
|
+
|
|
|
+ // 通过日报
|
|
|
+ approve(id) {
|
|
|
+ this.logining = true;
|
|
|
+ let day = this.choseDay > 9 ? "-" + (this.choseDay + 1) : "-0" + (this.choseDay + 1);
|
|
|
+ this.http.post( this.port.report.approve, {id: id , date: this.date +day},
|
|
|
+ res => {
|
|
|
+ this.logining = false;
|
|
|
+ if (res.code == "ok") {
|
|
|
+ this.$message({
|
|
|
+ message: "审核成功",
|
|
|
+ type: "success"
|
|
|
+ });
|
|
|
+ this.getReportList();
|
|
|
+ } else {
|
|
|
+ this.$message({
|
|
|
+ message: res.msg,
|
|
|
+ type: "error"
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ error => {
|
|
|
+ this.logining = false;
|
|
|
+ this.$message({
|
|
|
+ message: error,
|
|
|
+ type: "error"
|
|
|
+ });
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ // 未通过日报
|
|
|
+ deny(id,i) {
|
|
|
+ this.logining = true;
|
|
|
+ let day = this.choseDay > 9 ? "-" + (this.choseDay + 1) : "-0" + (this.choseDay + 1);
|
|
|
+ this.http.post( this.port.report.deny, {id: id , date: this.date +day},
|
|
|
+ res => {
|
|
|
+ this.logining = false;
|
|
|
+ if (res.code == "ok") {
|
|
|
+ this.$message({
|
|
|
+ message: i==0?"驳回成功":"撤销成功",
|
|
|
+ type: "success"
|
|
|
+ });
|
|
|
+ this.getReportList();
|
|
|
+ } else {
|
|
|
+ this.$message({
|
|
|
+ message: res.msg,
|
|
|
+ type: "error"
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ error => {
|
|
|
+ this.logining = false;
|
|
|
+ this.$message({
|
|
|
+ message: error,
|
|
|
+ type: "error"
|
|
|
+ });
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
},
|
|
|
created() {
|
|
|
let height = window.innerHeight;
|