系统数据隔离,bug修改

This commit is contained in:
lSun 2024-12-26 15:59:04 +08:00
parent a0ec62f296
commit fe9dff60a1
7 changed files with 67 additions and 48 deletions

View File

@ -78,3 +78,13 @@ export function getUserList(id) {
method: 'get'
})
}
// 计算时间
export function getDaysDate(data) {
return request({
url: '/system/leaveReporting/getDays',
method: 'post',
data: data
})
}

View File

@ -86,3 +86,10 @@ export function getUserList(id) {
method: 'get'
})
}
export function getUserListCheck(id) {
return request({
url: '/system/leaveReporting/getUserListCheck/' + id,
method: 'get'
})
}

View File

@ -489,10 +489,6 @@ export default {
pageSize: 10
},
personOptions: [],
typeList: [{id: '病假', name: '病假'}, {id: '年休假', name: '年休假'}, {id: '探亲假', name: '探亲假'},
{id: '事假', name: '事假'}, {id: '产假', name: '产假'}, {id: '婚假', name: '婚假'}, {id: '丧假', name: '丧假'}],
//
form: {},
//
@ -761,8 +757,10 @@ export default {
if (valid) {
var lists = this.form.orgHeadUserIdList.join(",");
var idsArray = lists.split(",")
console.log("idsArray",idsArray)
const Ids = this.$store.state.user.id+"";
const containsIds = idsArray.includes(Ids);
console.log("containsIds",containsIds)
var filteredIds;
if(containsIds){
//
@ -771,6 +769,11 @@ export default {
this.$modal.msgError("出行人需要添加申请人");
return ;
}
if (filteredIds.length === 0) {
this.$modal.msgError("出行人需要添加申请人以外的人员。");
return ;
}
console.log(filteredIds)
this.form.travelers = filteredIds.join(",");
console.log(this.form.travelers)

View File

@ -395,7 +395,8 @@ import {
updateLeaveReporting,
getPostName,
getUserList,
exportLeaveReporting
exportLeaveReporting,
getDaysDate
} from "@/api/process/leaveReporting";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
@ -496,6 +497,7 @@ export default {
}
},
},
daysNumber:"",
};
},
created() {
@ -503,30 +505,24 @@ export default {
this.getUserLists();
},
methods: {
handleDateChange() {
async handleDateChange() {
this.form.leaveStartInterval = 1;
this.form.leaveEndInterval = 2;
if (this.form.leaveStartDate && this.form.leaveEndDate) {
let daysNumber = this.daysBetween(this.form.leaveStartDate, this.form.leaveEndDate)
// console.log(daysNumber)
if (this.form.leaveStartInterval == 1 && this.form.leaveEndInterval == 1) {
this.form.leaveDuration = daysNumber + 0.5
} else if (this.form.leaveStartInterval == 1 && this.form.leaveEndInterval == 2) {
this.form.leaveDuration = daysNumber + 1
} else if (this.form.leaveStartInterval == 2 && this.form.leaveEndInterval == 2) {
this.form.leaveDuration = daysNumber + 0.5
} else if (this.form.leaveStartInterval == 2 && this.form.leaveEndInterval == 1) {
this.form.leaveDuration = daysNumber
}
await this.daysBetween(this.form.leaveStartDate, this.form.leaveEndDate)
console.log(this.daysNumber)
this.form.leaveDuration = this.daysNumber
}
},
daysBetween(date1, date2) {
const oneDay = 24 * 60 * 60 * 1000;
const date1Ms = new Date(date1).getTime()
const date2Ms = new Date(date2).getTime()
const diff = Math.abs(date1Ms - date2Ms); //
return diff / oneDay; //
async daysBetween(date1, date2) {
var data = {
"leaveStartDate":date1,
"leaveEndDate":date2,
}
await getDaysDate(data).then(response => {
this.daysNumber = response.data.date;
});
},
/** 查询列表 */
getList() {

View File

@ -92,12 +92,12 @@
<el-row>
<el-col :span="12">
<el-form-item label="申请人员:" prop="userName">
<el-input v-model="form.userName" :readonly="true" />
<el-input v-model="form.userName" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="职务:" prop="postName">
<el-input v-model="form.postName" :readonly="true" />
<el-input v-model="form.postName" disabled />
</el-form-item>
</el-col>
@ -105,7 +105,8 @@
<el-row>
<el-col :span="12">
<el-form-item label="所属部门:" prop="orgId">
<el-select v-model="form.orgId" disabled>
<el-input v-model="form.orgName" disabled />
<el-select v-model="form.orgId" disabled style="width: 100%; display: none">
<el-option
v-for="item in orgList"
:key="item.id"
@ -117,14 +118,14 @@
</el-col>
<el-col :span="12">
<el-form-item label="申请时间:" prop="createTime">
<el-input v-model="form.createTime" :readonly="true" />
<el-input v-model="form.createTime" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="外出开始时间:" prop="leaveStartDate">
<el-input v-model="form.leaveStartDate" :readonly="true" style="width: 70%;"/>
<el-input v-model="form.leaveStartDate" disabled style="width: 70%;"/>
<el-select v-model="form.leaveStartInterval" style="width: 25%;margin-left: 10px;" disabled>
<el-option
v-for="item in timeStatusList"
@ -137,7 +138,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="外出结束时间:" prop="leaveEndDate">
<el-input v-model="form.leaveEndDate" :readonly="true" style="width: 70%;"/>
<el-input v-model="form.leaveEndDate" disabled style="width: 70%;"/>
<el-select v-model="form.leaveEndInterval" style="width: 25%;margin-left: 10px;" disabled>
<el-option
v-for="item in timeStatusList"
@ -152,13 +153,13 @@
<el-row>
<el-col :span="12">
<el-form-item label="外出时长(天)" prop="leaveDuration">
<el-input v-model="form.leaveDuration" :readonly="true" />
<el-input v-model="form.leaveDuration" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="地点:">
<el-input
v-model="form.location" :clearable="false" style="width: 100%;"
v-model="form.location" :clearable="false" disabled style="width: 100%;"
placeholder="请输入地点">
</el-input>
</el-form-item>
@ -168,7 +169,7 @@
<el-col :span="12">
<el-form-item label="是否请示领导同意:" prop="isAgree">
<el-radio-group v-model="form.isAgree">
<el-radio
<el-radio disabled
v-for="item in isAgreeList"
:key="item.id"
:label="item.id"
@ -178,8 +179,8 @@
</el-col>
<el-col :span="12">
<el-form-item label="代理主持工作人员:" prop="hostUserId">
<el-select v-model="form.hostUserId" multiple placeholder="请选择" filterable clearable>
<el-option
<el-select v-model="form.hostUserId" multiple placeholder="请选择" filterable clearable style="width: 100%;">
<el-option disabled
v-for="item in userList"
:key="item.userId"
:label="item.userName"
@ -192,21 +193,21 @@
<el-row>
<el-col :span="24">
<el-form-item label="外出事由:" prop="leaveReason">
<el-input type="textarea" v-model="form.leaveReason" maxlength="100" :readonly="true"></el-input>
<el-input type="textarea" disabled v-model="form.leaveReason" maxlength="100" :readonly="true"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="备注:">
<el-input type="textarea" v-model="form.remark" maxlength="100" :readonly="isView"></el-input>
<el-input type="textarea" disabled v-model="form.remark" maxlength="100" :readonly="isView"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24" v-if="form.examineOpinion">
<el-form-item label="审批意见:" prop="examineOpinion">
<el-input type="textarea" v-model="form.examineOpinion" maxlength="100" :readonly="true"></el-input>
<el-input type="textarea" disabled v-model="form.examineOpinion" maxlength="100" ></el-input>
</el-form-item>
</el-col>
</el-row>
@ -221,7 +222,7 @@
</template>
<script>
import { checkListHoliday,getHoliday,changeHolidayStatus,exportHoliday,getPostName,getUserList} from "@/api/process/rest";
import { checkListHoliday,getHoliday,changeHolidayStatus,exportHoliday,getPostName,getUserListCheck} from "@/api/process/rest";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
@ -309,7 +310,7 @@ export default {
},
getUserLists(){
const Id = this.$store.state.user.id;
getUserList(Id).then(response => {
getUserListCheck(Id).then(response => {
this.userList = response.data.data;
console.log("userList",this.userList)
});

View File

@ -100,16 +100,16 @@
</div>
</template>
<script>
<script>
import { getOriginalList } from "@/api/report/originalReport";
import { exportAttRecord } from "@/api/report/attReport";
import { listDept } from "@/api/system/dept";
import { listDeptUser} from "@/api/system/dept";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
name: "Dict",
dicts: ['att_status'],
@ -157,10 +157,10 @@ export default {
const now = new Date();
const dayOfWeek = now.getDay();
const dayOffset = dayOfWeek === 0 ? -6 : 1 - dayOfWeek;
const monday = new Date(now);
monday.setDate(monday.getDate() + dayOffset);
const sunday = new Date(monday);
sunday.setDate(sunday.getDate() + 6);
this.dateRange[0]=monday.toISOString().split('T')[0];
@ -177,7 +177,7 @@ export default {
return `${year}-${month}-${day} ${weekday}`; //
},
getDeptList(){
listDept().then(response => {
listDeptUser().then(response => {
this.deptOptions = this.handleTree(response.data, "id");
});
},
@ -228,9 +228,9 @@ export default {
exportAttRecord(this.queryParams).then(res => {
this.downloadFile({ fileName: `原始记录_${new Date().getTime()}.xlsx`, fileData: res, fileType: 'application/vnd.ms-excel;charset=utf-8' })
})
},
}
};
</script>
</script>

View File

@ -500,6 +500,7 @@
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.userId != undefined) {
console.log("人员修改",this.form);
updateUser(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
@ -507,6 +508,7 @@
this.getList();
});
} else {
console.log("新增成功",this.form);
addUser(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;