|
@@ -191,8 +191,16 @@
|
|
|
<el-table :data="tableList" style="width: 100%" height="90%">
|
|
|
<el-table-column prop="ownerName" label="出差人员" width="100" fixed="left" align="center"></el-table-column>
|
|
|
<el-table-column prop="reason" label="出差事由" width="150" header-align="center"></el-table-column>
|
|
|
- <el-table-column prop="projectName" label="投入项目" width="150" align="center"></el-table-column>
|
|
|
- <el-table-column prop="degreeName" :label="wuduData.customDegreeName" width="150" align="center"></el-table-column>
|
|
|
+ <el-table-column prop="projectName" label="投入项目" width="150" align="center" show-overflow-tooltip>
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span v-for="item in scope.row.projectList" :key="item.projectId">{{item.projectName + ','}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="degreeName" :label="wuduData.customDegreeName" width="150" align="center" show-overflow-tooltip>
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span v-for="item in scope.row.projectList" :key="item.projectId">{{item.degreeName == null ? '' : item.degreeName + ','}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
<el-table-column label="交通工具" width="120" align="center">
|
|
|
<template slot-scope="scope">
|
|
|
<span v-if="scope.row.way == 0">飞机</span>
|
|
@@ -525,10 +533,14 @@
|
|
|
<!-- 钉钉环境交互效果切换 -->
|
|
|
<el-dialog title="项目关联信息" v-if="DingdingEditDialog" :close-on-click-modal="false" :visible.sync="DingdingEditDialog" width="800px" customClass="customWidth">
|
|
|
|
|
|
- <el-table data="" :loading="DingdingTableLoading">
|
|
|
- <el-table-column label="时间段"></el-table-column>
|
|
|
- <el-table-column label="关联项目"></el-table-column>
|
|
|
- <el-table-column :label="wuduData.customDegreeName"></el-table-column>
|
|
|
+ <el-table :data="relationList" :loading="DingdingTableLoading">
|
|
|
+ <el-table-column label="时间段">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{scope.row.startDate + '至' + scope.row.endDate}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="关联项目" prop="projectName" show-overflow-tooltip></el-table-column>
|
|
|
+ <el-table-column :label="wuduData.customDegreeName" prop="degreeName" show-overflow-tooltip></el-table-column>
|
|
|
<el-table-column label="操作" width="150">
|
|
|
<template slot-scope="scope">
|
|
|
<el-button size="small" type="primary" @click="DingdingAddorMod(scope.row)">编辑</el-button>
|
|
@@ -541,28 +553,48 @@
|
|
|
<el-button type="primary" @click="DingdingAddorMod()">新增关联项目</el-button>
|
|
|
</div>
|
|
|
|
|
|
- <el-dialog append-to-body title="新增/修改关联项目" v-if="appendAddorModDialog" :visible.sync="appendAddorModDialog" width="600px" customClass="customWidth">
|
|
|
- <el-form label-width="100" :inline="true" style="margin-top:20px">
|
|
|
- <el-form-item label="开始日期">
|
|
|
+ <el-dialog append-to-body title="新增/修改关联项目" v-if="appendAddorModDialog" :visible.sync="appendAddorModDialog" width="700px" customClass="customWidth">
|
|
|
+ <el-form label-width="100" :inline="true" style="margin-top:20px" :model="relationItem" :rules="relationItemRules" ref="relationItemForm">
|
|
|
+ <el-form-item label="开始日期" prop="startDate">
|
|
|
<el-date-picker
|
|
|
- style="width:150px"
|
|
|
+ style="width:220px"
|
|
|
v-model="relationItem.startDate"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
type="date"
|
|
|
+ @change="datechg3(1)"
|
|
|
placeholder="请选择日期"></el-date-picker>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="结束日期" style="margin-left:50px">
|
|
|
+ <el-form-item label="结束日期" prop="endDate" style="margin-left:35px">
|
|
|
<el-date-picker
|
|
|
- style="width:150px"
|
|
|
+ style="width:220px"
|
|
|
v-model="relationItem.endDate"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
type="date"
|
|
|
+ @change="datechg3(0)"
|
|
|
placeholder="请选择日期"></el-date-picker>
|
|
|
</el-form-item><br>
|
|
|
- <el-form-item label="关联项目"></el-form-item>
|
|
|
- <el-form-item label="自定义维度" style="margin-left:50px"></el-form-item>
|
|
|
+ <el-form-item label="关联项目" prop="projectId">
|
|
|
+ <el-select v-model="relationItem.projectId" placeholder="请选择项目" @change="getwuduList(2)" style="width:220px">
|
|
|
+ <el-option
|
|
|
+ v-for="item in projectList"
|
|
|
+ :key="item.id"
|
|
|
+ :value="item.id"
|
|
|
+ :label="item.projectName"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item :label="wuduData.customDegreeName" prop="degreeId" style="margin-left:44.5px">
|
|
|
+ <el-select v-model="relationItem.degreeId" :placeholder="'请选择' + wuduData.customDegreeName" style="width:220px">
|
|
|
+ <el-option
|
|
|
+ v-for="item in wuduList"
|
|
|
+ :key="item.id"
|
|
|
+ :value="item.id"
|
|
|
+ :label="item.name"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
</el-form>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
<el-button @click="appendAddorModDialog = false">取消</el-button>
|
|
|
- <el-button type="primary" @click="appendAddorModSure()">提交</el-button>
|
|
|
+ <el-button type="primary" @click="appendAddorModSure('relationItemForm')">提交</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
</el-dialog>
|
|
@@ -683,13 +715,20 @@ export default {
|
|
|
DingdingEditDialog: false,
|
|
|
DingdingTableLoading: false,
|
|
|
appendAddorModDialog: false,
|
|
|
+ relationList: [],
|
|
|
relationItem: {
|
|
|
- bustripId: '', //出差记录id
|
|
|
- startDate: '',
|
|
|
- endDate: '',
|
|
|
- projectId: '',
|
|
|
- degreeId: ''
|
|
|
- }
|
|
|
+ bustripId: null, //出差记录id
|
|
|
+ startDate: null,
|
|
|
+ endDate: null,
|
|
|
+ projectId: null,
|
|
|
+ degreeId: null
|
|
|
+ },
|
|
|
+ relationItemRules: {
|
|
|
+ startDate:[{required: true,message: '请选择开始日期',trigger: 'change'}],
|
|
|
+ endDate:[{required: true,message: '请选择结束日期',trigger: 'change'}],
|
|
|
+ projectId:[{required: true,message: '请选择要关联的项目',trigger: 'change'}],
|
|
|
+ },
|
|
|
+ relationItemTemporaryDate: {}
|
|
|
}
|
|
|
},
|
|
|
created(){
|
|
@@ -717,14 +756,24 @@ export default {
|
|
|
methods: {
|
|
|
// 钉钉环境交互
|
|
|
DingdingEditor(e){
|
|
|
+ console.log(e);
|
|
|
this.DingdingEditDialog = true
|
|
|
+ this.relationItem.bustripId = e.id
|
|
|
+ this.relationItemTemporaryDate = {
|
|
|
+ startDate: e.startDate,
|
|
|
+ endDate: e.endDate
|
|
|
+ }
|
|
|
+ this.getRelationList()
|
|
|
+ },
|
|
|
+ getRelationList(){
|
|
|
this.DingdingTableLoading = true
|
|
|
this.http.post('/bustrip-project/list',{
|
|
|
- bustripId: e.id
|
|
|
+ bustripId: this.relationItem.bustripId
|
|
|
},res => {
|
|
|
if(res.code == 'ok'){
|
|
|
this.DingdingTableLoading = false
|
|
|
console.log('getlist',res.data);
|
|
|
+ this.relationList = res.data
|
|
|
}else {
|
|
|
this.DingdingTableLoading = false
|
|
|
this.$message({
|
|
@@ -740,30 +789,77 @@ export default {
|
|
|
})
|
|
|
})
|
|
|
},
|
|
|
- DingdingAddorMod(){
|
|
|
+ DingdingAddorMod(row){
|
|
|
this.appendAddorModDialog = true
|
|
|
-
|
|
|
+ if(row == null){
|
|
|
+ this.relationItem.startDate = this.relationItemTemporaryDate.startDate
|
|
|
+ this.relationItem.endDate = this.relationItemTemporaryDate.endDate
|
|
|
+ this.relationItem.projectId = null
|
|
|
+ this.relationItem.degreeId = null
|
|
|
+ }else {
|
|
|
+ this.relationItem.id = row.id
|
|
|
+ this.relationItem.projectId = row.projectId
|
|
|
+ this.getwuduList(2,1)
|
|
|
+ this.relationItem.startDate = row.startDate
|
|
|
+ this.relationItem.endDate = row.endDate
|
|
|
+ this.relationItem.degreeId = row.degreeId == null ? row.degreeId : row.degreeId.toString()
|
|
|
+ // console.log('degreeId',this.relationItem.degreeId);
|
|
|
+
|
|
|
+ }
|
|
|
},
|
|
|
- appendAddorModSure(){
|
|
|
- this.http.post('/bustrip-project/addOrMod',{
|
|
|
- bustripId: '', //出差记录id
|
|
|
- startDate: '',
|
|
|
- endDate: '',
|
|
|
- projectId: '',
|
|
|
- degreeId: ''
|
|
|
- },res => {
|
|
|
- if(res.code == 'ok'){
|
|
|
-
|
|
|
+ appendAddorModSure(formname){
|
|
|
+ this.$refs[formname].validate((valid)=>{
|
|
|
+ if(valid){
|
|
|
+ this.http.post('/bustrip-project/addOrMod',this.relationItem,
|
|
|
+ res => {
|
|
|
+ if(res.code == 'ok'){
|
|
|
+ this.appendAddorModDialog = false
|
|
|
+ this.getRelationList()
|
|
|
+ }else {
|
|
|
+ this.$message({
|
|
|
+ message: res.msg,
|
|
|
+ type: 'error'
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },err => {
|
|
|
+ this.$message({
|
|
|
+ message: err,
|
|
|
+ type: 'error'
|
|
|
+ })
|
|
|
+ })
|
|
|
}else {
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
+ },
|
|
|
+ DingdingDelete(row){
|
|
|
+ console.log('row',row);
|
|
|
+ this.$confirm('是否确认删除?','提示',{
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning'
|
|
|
+ }).then(()=>{
|
|
|
+ this.http.post('/bustrip-project/delete',{
|
|
|
+ id:row.id
|
|
|
+ },res => {
|
|
|
+ if(res.code == 'ok'){
|
|
|
+ // this.$message({
|
|
|
+ // message: '删除成功',
|
|
|
+ // type: 'success'
|
|
|
+ // })
|
|
|
+ this.getRelationList()
|
|
|
+ }else {
|
|
|
+ this.$message({
|
|
|
+ message: res.msg,
|
|
|
+ type: 'error'
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },err => {
|
|
|
this.$message({
|
|
|
- message: res.msg,
|
|
|
+ message: err,
|
|
|
type: 'error'
|
|
|
})
|
|
|
- }
|
|
|
- },err => {
|
|
|
- this.$message({
|
|
|
- message: err,
|
|
|
- type: 'error'
|
|
|
})
|
|
|
})
|
|
|
},
|
|
@@ -945,6 +1041,18 @@ export default {
|
|
|
this.editItemForm.dayCount = null
|
|
|
}
|
|
|
},
|
|
|
+ datechg3(e){
|
|
|
+ if(this.relationItem.endDate != null && this.relationItem.startDate != null){
|
|
|
+ let days = this.autoCountDay(this.relationItem.startDate,this.relationItem.endDate)
|
|
|
+ if(days <= 0){
|
|
|
+ if(e){
|
|
|
+ this.relationItem.endDate = this.relationItem.startDate
|
|
|
+ }else{
|
|
|
+ this.relationItem.startDate = this.relationItem.endDate
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
// 自动计算天数
|
|
|
autoCountDay(st,ed){
|
|
|
let differDay = new Date(ed).getTime() - new Date(st).getTime()
|
|
@@ -1387,7 +1495,7 @@ export default {
|
|
|
res => {
|
|
|
if (res.code == "ok") {
|
|
|
this.projectList = res.data;
|
|
|
- // console.log("项目列表",this.projectList);
|
|
|
+ console.log("项目列表",this.projectList);
|
|
|
} else {
|
|
|
this.$message({
|
|
|
message: res.msg,
|
|
@@ -1419,6 +1527,12 @@ export default {
|
|
|
}
|
|
|
var pId = this.editItemForm.projectId
|
|
|
}else{
|
|
|
+ if(i != 1){this.relationItem.degreeId = null}
|
|
|
+
|
|
|
+ if(this.relationItem.projectId == '' || this.relationItem.projectId == null){
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var pId = this.relationItem.projectId
|
|
|
// if(i == 1){
|
|
|
// this.DingdingForm.degreeId = null
|
|
|
// }
|
|
@@ -1433,9 +1547,8 @@ export default {
|
|
|
},
|
|
|
res => {
|
|
|
if (res.code == "ok") {
|
|
|
- // console.log("维度数据",res.data);
|
|
|
+ console.log("维度数据",res.data[0].id);
|
|
|
this.wuduList = res.data
|
|
|
- this.$forceUpdate()
|
|
|
}
|
|
|
},
|
|
|
error => {
|