小程序打卡数据

This commit is contained in:
lSun 2024-12-04 18:27:57 +08:00
parent adcdd1d5ad
commit 1a8882edce
6 changed files with 78 additions and 84 deletions

View File

@ -76,7 +76,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="出时长(天)" align="center" prop="leaveDuration" :show-overflow-tooltip="true" <el-table-column label="时长(天)" align="center" prop="leaveDuration" :show-overflow-tooltip="true"
width="180"/> width="180"/>
<el-table-column label="操作" align="center" class-name="small-padding"> <el-table-column label="操作" align="center" class-name="small-padding">
<template slot-scope="scope"> <template slot-scope="scope">

View File

@ -76,7 +76,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="外出时长(天)" align="center" prop="leaveDuration" :show-overflow-tooltip="true" <el-table-column label="休假时长(天)" align="center" prop="leaveDuration" :show-overflow-tooltip="true"
width="180"/> width="180"/>
<el-table-column label="操作" align="center" class-name="small-padding"> <el-table-column label="操作" align="center" class-name="small-padding">
<template slot-scope="scope"> <template slot-scope="scope">

View File

@ -131,7 +131,7 @@
<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>
@ -152,20 +152,13 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="变更后部门:" prop="newOrgId" > <el-form-item label="变更后部门:" prop="newOrgId" >
<el-select v-model="form.newOrgId" @change="changDept" :disabled="isView" style="width: 100%"> <treeselect v-model="form.newOrgId" :options="deptOptions" :normalizer="normalizer" placeholder="选择变更后部门" :disabled="isView" />
<el-option
v-for="item in orgList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="考勤规则组变更:" prop="isChangeAttGroup"> <el-form-item label="考勤规则组变更:" prop="isChangeAttGroup">
<el-radio-group v-model="form.isChangeAttGroup"> <el-radio-group v-model="form.isChangeAttGroup" :disabled="isView">
<el-radio <el-radio
v-for="item in isAgreeList" v-for="item in isAgreeList"
:key="item.id" :key="item.id"
@ -179,7 +172,7 @@
<el-row v-if="form.isChangeAttGroup == '1'"> <el-row v-if="form.isChangeAttGroup == '1'">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="变更前规则组:" prop="attGroupName"> <el-form-item label="变更前规则组:" prop="attGroupName">
<el-input v-model="form.attGroupName" :readonly="true" /> <el-input v-model="form.attGroupName" :disabled="isView" />
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -203,7 +196,8 @@
<el-date-picker <el-date-picker
v-model="form.changeEffectiveDate" :clearable="false" :disabled="isView" v-model="form.changeEffectiveDate" :clearable="false" :disabled="isView"
type="date" value-format="yyyy-MM-dd" style="width: 100%;" type="date" value-format="yyyy-MM-dd" style="width: 100%;"
placeholder="变更生效日期" > placeholder="变更生效日期"
:picker-options="pickerOptions">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -211,7 +205,7 @@
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="备注:"> <el-form-item label="备注:">
<el-input type="textarea" placeholder="输入内容" v-model="form.remark" maxlength="100" :readonly="isView"></el-input> <el-input type="textarea" placeholder="输入内容" v-model="form.remark" maxlength="100" :disabled="isView"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -219,7 +213,7 @@
<el-row> <el-row>
<el-col :span="24" v-if="form.checkOpinion"> <el-col :span="24" v-if="form.checkOpinion">
<el-form-item label="审批意见:" prop="checkOpinion"> <el-form-item label="审批意见:" prop="checkOpinion">
<el-input type="textarea" v-model="form.checkOpinion" maxlength="100" ></el-input> <el-input type="textarea" v-model="form.checkOpinion" maxlength="100" :disabled="isView"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -237,9 +231,12 @@
listOrg, getOrg, delOrg, addOrg, updateOrg, changeOrgStatus, exportOrg, getPostName, listOrg, getOrg, delOrg, addOrg, updateOrg, changeOrgStatus, exportOrg, getPostName,
getAttGroupList, getAttGroupList,
} from "@/api/process/orgApply"; } from "@/api/process/orgApply";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css"; import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import {listDept} from "@/api/system/dept";
export default { export default {
name: "OrgApply", name: "OrgApply",
components: { Treeselect },
data() { data() {
return { return {
// //
@ -306,19 +303,22 @@
isChangeAttGroup:[ isChangeAttGroup:[
{ required: true, message: "是否考勤规则组变更不能为空", trigger: "blur" } { required: true, message: "是否考勤规则组变更不能为空", trigger: "blur" }
], ],
attGroupName:[
{ required: true, message: "变更前规则组不能为空", trigger: "blur" }
],
newAttGroup:[ newAttGroup:[
{ required: true, message: "变更后规则组不能为空", trigger: "blur" } { required: true, message: "变更后规则组不能为空", trigger: "blur" }
] ]
}, },
// //
endPickerOptions: { deptOptions: [],
disabledDate: (v) => { pickerOptions: {
if(this.form.changeEffectiveDate) { disabledDate(time) {
return v.getTime() < new Date(this.form.changeEffectiveDate).getTime() - 86400000; // - 86400000 // true
} return time.getTime() < Date.now() - 86400000; //
}, }
}, }
}; };
}, },
created() { created() {
@ -401,25 +401,33 @@
getPostName(Id).then(response => { getPostName(Id).then(response => {
this.form.postName = response.data.postName; this.form.postName = response.data.postName;
// //
console.log(this.$store.state.user.attGroupId)
console.log(this.$store.state.user.attGroupName)
this.form.attGroupId = this.$store.state.user.attGroupId; this.form.attGroupId = this.$store.state.user.attGroupId;
this.form.attGroupName = this.$store.state.user.attGroupName; this.form.attGroupName = this.$store.state.user.attGroupName;
this.open = true; console.log(this.form.attGroupName)
this.isView = false; listDept().then(response => {
this.title = "新增"; this.deptOptions = this.handleTree(response.data, "id");
this.open = true;
this.isView = false;
this.title = "新增";
});
}); });
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(row) {
this.reset(); this.reset();
const Id = row.id const Id = row.id
listDept().then(response => {
this.deptOptions = this.handleTree(response.data, "id");
});
getOrg(Id).then(orgResponse => { getOrg(Id).then(orgResponse => {
// org // org
this.form ={ this.form ={
...orgResponse.data, ...orgResponse.data,
newAttGroup:orgResponse.data.newAttGroup?Number(orgResponse.data.newAttGroup):"" newAttGroup:orgResponse.data.newAttGroup?Number(orgResponse.data.newAttGroup):""
}; };
this.form.attGroupName = orgResponse.data.oldOrgName; this.form.attGroupName = orgResponse.data.oldAttGroupName;
// //
this.open = true; this.open = true;
this.isView = false; this.isView = false;
@ -429,17 +437,21 @@
handleView(row) { handleView(row) {
this.reset(); this.reset();
const Id = row.id const Id = row.id
listDept().then(response => {
this.deptOptions = this.handleTree(response.data, "id");
});
getOrg(Id).then(orgResponse => { getOrg(Id).then(orgResponse => {
// org // org
this.form ={ this.form ={
...orgResponse.data, ...orgResponse.data,
newAttGroup:orgResponse.data.newAttGroup?Number(orgResponse.data.newAttGroup):"" newAttGroup:orgResponse.data.newAttGroup?Number(orgResponse.data.newAttGroup):""
}; };
this.form.attGroupName = orgResponse.data.oldOrgName; this.form.attGroupName = orgResponse.data.oldAttGroupName;
// //
this.open = true; this.open = true;
this.isView = true; this.isView = true;
this.title = "查看"; this.title = "查看";
}); });
}, },
// //
@ -507,6 +519,25 @@
}) })
}, },
/** 转换部门数据结构 */
normalizer(node) {
if (node.children && !node.children.length) {
delete node.children;
}
return {
id: node.id,
label: node.orgName,
children: node.children
};
},
} }
}; };
</script> </script>
<style scoped>
.vue-treeselect__option--highlighted {
background-color: initial; /* 或者你想要的任何颜色 */
color: initial; /* 或者你想要的任何颜色 */
}
</style>

View File

@ -36,17 +36,6 @@
</el-form> </el-form>
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['att:org:change:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
type="warning" type="warning"
@ -120,20 +109,13 @@
<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="oldOrgId" > <el-form-item label="变更前部门:" prop="oldOrgId" >
<el-select v-model="form.oldOrgId" @change="changDept" :disabled="isView" style="width: 100%"> <el-input v-model="form.oldOrgName" disabled></el-input>
<el-option
v-for="item in orgList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -141,20 +123,13 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="变更后部门:" prop="newOrgId" > <el-form-item label="变更后部门:" prop="newOrgId" >
<el-select v-model="form.newOrgId" @change="changDept" :disabled="isView" style="width: 100%"> <el-input v-model="form.newOrgName" disabled></el-input>
<el-option
v-for="item in orgList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="考勤规则组变更:" prop="isChangeAttGroup"> <el-form-item label="考勤规则组变更:" prop="isChangeAttGroup">
<el-radio-group v-model="form.isChangeAttGroup"> <el-radio-group v-model="form.isChangeAttGroup" disabled>
<el-radio <el-radio
v-for="item in isAgreeList" v-for="item in isAgreeList"
:key="item.id" :key="item.id"
@ -168,20 +143,13 @@
<el-row v-if="form.isChangeAttGroup == '1'"> <el-row v-if="form.isChangeAttGroup == '1'">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="变更前规则组:" prop="attGroupName"> <el-form-item label="变更前规则组:" prop="attGroupName">
<el-input v-model="form.attGroupName" :readonly="true" /> <el-input v-model="form.oldAttGroupName" disabled />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="变更后规则组:" prop="newAttGroup"> <el-form-item label="变更后规则组:" prop="newAttGroup">
<el-select v-model="form.newAttGroup" placeholder="请选择" filterable style="width: 100%;" :disabled="isView"> <el-input v-model="form.newAttGroupName" disabled />
<el-option
v-for="item in userList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -190,7 +158,7 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="变更生效日期:" prop="changeEffectiveDate"> <el-form-item label="变更生效日期:" prop="changeEffectiveDate">
<el-date-picker <el-date-picker
v-model="form.changeEffectiveDate" :clearable="false" :disabled="isView" v-model="form.changeEffectiveDate" :clearable="false" disabled
type="date" value-format="yyyy-MM-dd" style="width: 100%;" type="date" value-format="yyyy-MM-dd" style="width: 100%;"
placeholder="变更生效日期" > placeholder="变更生效日期" >
</el-date-picker> </el-date-picker>
@ -200,7 +168,7 @@
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="备注:"> <el-form-item label="备注:">
<el-input type="textarea" placeholder="输入内容" v-model="form.remark" maxlength="100" :readonly="isView"></el-input> <el-input type="textarea" placeholder="输入内容" v-model="form.remark" maxlength="100" disabled></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -208,7 +176,7 @@
<el-row> <el-row>
<el-col :span="24" v-if="form.checkOpinion"> <el-col :span="24" v-if="form.checkOpinion">
<el-form-item label="审批意见:" prop="checkOpinion"> <el-form-item label="审批意见:" prop="checkOpinion">
<el-input type="textarea" v-model="form.checkOpinion" maxlength="100" ></el-input> <el-input type="textarea" v-model="form.checkOpinion" maxlength="100" disabled ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>

View File

@ -16,11 +16,6 @@
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button <el-button
type="warning" type="warning"
plain plain
@ -29,8 +24,10 @@
@click="handleExport" @click="handleExport"
>导出 >导出
</el-button> </el-button>
</el-col> </el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> </el-row>
@ -61,7 +58,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="出时长(天)" align="center" prop="leaveDuration" :show-overflow-tooltip="true" <el-table-column label="时长(天)" align="center" prop="leaveDuration" :show-overflow-tooltip="true"
width="180"/> width="180"/>
<el-table-column label="操作" align="center" class-name="small-padding"> <el-table-column label="操作" align="center" class-name="small-padding">
<template slot-scope="scope"> <template slot-scope="scope">

View File

@ -16,11 +16,7 @@
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button <el-button
type="warning" type="warning"
plain plain
@ -29,8 +25,10 @@
@click="handleExport" @click="handleExport"
>导出 >导出
</el-button> </el-button>
</el-col> </el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> </el-row>
@ -61,7 +59,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="外出时长(天)" align="center" prop="leaveDuration" :show-overflow-tooltip="true" <el-table-column label="休假时长(天)" align="center" prop="leaveDuration" :show-overflow-tooltip="true"
width="180"/> width="180"/>
<el-table-column label="操作" align="center" class-name="small-padding"> <el-table-column label="操作" align="center" class-name="small-padding">
<template slot-scope="scope"> <template slot-scope="scope">