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

View File

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

View File

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

View File

@ -107,7 +107,7 @@
<script> <script>
import { getOriginalList } from "@/api/report/originalReport"; import { getOriginalList } from "@/api/report/originalReport";
import { exportAttRecord } from "@/api/report/attReport"; 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 Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css"; import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default { export default {
@ -177,7 +177,7 @@ export default {
return `${year}-${month}-${day} ${weekday}`; // return `${year}-${month}-${day} ${weekday}`; //
}, },
getDeptList(){ getDeptList(){
listDept().then(response => { listDeptUser().then(response => {
this.deptOptions = this.handleTree(response.data, "id"); this.deptOptions = this.handleTree(response.data, "id");
}); });
}, },

View File

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