Browse Source

绩效考核

yjf_v3
DESKTOP-CUI7KST\HXGK 2 years ago
parent
commit
ffbf220912
  1. 19
      src/api/opk/api.ts
  2. 3
      src/api/opk/opk/api.ts
  3. 8
      src/api/opk/type.ts
  4. 1
      src/api/opk/zxc/iop/api.ts
  5. 7
      src/types/components.d.ts
  6. 16
      src/views/opk/asd/news/bb.vue
  7. 16
      src/views/opk/asd/news/cc.vue
  8. 194
      src/views/opk/asd/news/dialog.vue
  9. 287
      src/views/opk/asd/news/dialog2.vue
  10. 5
      src/views/opk/asd/news/dialoglog.vue
  11. 53
      src/views/opk/asd/news/hyr.vue
  12. 8
      src/views/opk/asd/news/index.vue
  13. 10
      src/views/opk/asd/news/xd.vue
  14. 10
      src/views/opk/asd/news/ycy.vue
  15. 2
      src/views/opk/asd/news/yg.vue
  16. 13
      src/views/opk/yui/new/aa.vue
  17. 25
      src/views/opk/yui/new/bb.vue
  18. 2
      src/views/opk/yui/new/daialog.vue
  19. 371
      src/views/opk/yui/new/dialog.vue
  20. 119
      src/views/opk/yui/new/diolog.vue
  21. 89
      src/views/opk/yui/new/edcialog.vue
  22. 64
      src/views/opk/yui/new/eddialog.vue
  23. 32
      src/views/opk/yui/new/editdialog.vue
  24. 129
      src/views/opk/yui/new/lc.vue
  25. 146
      src/views/opk/yui/new/lzq.vue
  26. 61
      src/views/opk/yui/new/ta.vue
  27. 119
      src/views/opk/yui/new/wyc.vue
  28. 142
      src/views/opk/yui/new/xy.vue
  29. 186
      src/views/opk/yui/new/zjr.vue
  30. 71
      src/views/opk/yui/new/zz.vue
  31. 86
      src/views/opk/yui/public/aa.vue
  32. 187
      src/views/opk/yui/public/dialog.vue
  33. 146
      src/views/opk/yui/public/editduty.vue
  34. 13
      src/views/opk/zjr/news/index.vue
  35. 30
      src/views/opk/zjr/opk/aa.vue
  36. 33
      src/views/opk/zjr/opk/bb.vue
  37. 67
      src/views/opk/zjr/opk/cc.vue
  38. 20
      src/views/opk/zjr/opk/ee.vue
  39. 41
      src/views/opk/zxc/iop/index.vue
  40. 38
      src/views/opk/zxc/news/index.vue
  41. 49
      src/views/opk/zxc/news/viewss.vue
  42. 43
      src/views/opk/zxc/public/index.vue

19
src/api/opk/api.ts

@ -1,5 +1,5 @@
import request from '@/utils/request';
import { postinfp,tarData,addlist,deltarget,getgroupData,edittarget, position, getgroup, organd, postsss, addposttar, searchorgpos, setposttarget, table_base_post_target, getdetails, neweditposttarget, get_organdpost_ary, look_work_flowcont, quantechart, gettarget, getquantechartorgandyear, summaryplanrecord, get_post_target } from './type';
import { postinfp,govthreeing,tarData,addlist,deltarget,getgroupData,edittarget, position, getgroup,get_org_everyone, organd, postsss, addposttar, searchorgpos, setposttarget, table_base_post_target, getdetails, neweditposttarget, get_organdpost_ary, look_work_flowcont, quantechart, gettarget, getquantechartorgandyear, summaryplanrecord, get_post_target } from './type';
export function addPostCont(url:string,method:string,data?: postinfp){
return request({
url: url,
@ -7,6 +7,14 @@ export function addPostCont(url:string,method:string,data?: postinfp){
data: data
});
}
//行政组织列表
export function govthree(data?:govthreeing){
return request({
url:'hrapi/org/govthreeing',
method:'post',
data:data
})
}
export function tarlist(data?:tarData){
return request({
url:'/kpiapi/department_pc/new_depart_tar_list',
@ -56,6 +64,15 @@ export function getgroupuser(data?:getgroup){
data:data
})
}
//员工姓名
export function get_org(data?:get_org_everyone){
return request({
url:'hrapi/org/get_org_everyone_people',
method:'post',
data:data
})
}
//行政组织树(岗位)
export function organdpost(data?:organd){
return request({
url:'/hrapi/org/get_organdpost_three',

3
src/api/opk/opk/api.ts

@ -1,5 +1,7 @@
import request from '@/utils/request';
import { addtabledetailslist, delsontarget, del_son_tar, edit_details_cont, edit_details_state, edit_newson_target, edit_post_detailscont, edit_table_depart_man, eidtposttardetailsstrte, getcompanydeparment, getdetail, getnew_target_depart_postman, getonedetailed, getplanversionvalid, getsontargetcont, get_organdpost_three, govthreeing, look_scheme_for_deparment, newsummarydetails, orgtrant, summarydetail, summaryplanrecord, table_add_detailses } from './type';
//成绩表
export function orgtranscript(data?:orgtrant){
return request({
url:'kpiapi/strtistics/orgtranscript',
@ -21,6 +23,7 @@ export function newsummary(data?:newsummarydetails){
data:data
})
}
//行政组织列表
export function govthree(data?:govthreeing){
return request({
url:'hrapi/org/govthreeing',

8
src/api/opk/type.ts

@ -20,6 +20,10 @@ export interface postinfp{
child?: null,
type?:number;
}
export interface govthreeing{
all: number,
id: number;
}
export interface tarData{
page?:number;
pageSize?:number;
@ -72,6 +76,10 @@ export interface getgroup{
id?:number;
level?:number;
}
export interface get_org_everyone{
id:string;
all:number;
}
export interface organd{
all?:number;
id?:string;

1
src/api/opk/zxc/iop/api.ts

@ -14,6 +14,7 @@ export function get_quantitative(data?:get_quantitative_takes){
data:data
})
}
//审核记录
export function get_approval(data?:get_approval_record){
return request({
url:'/kpiapi/workflow/get_approval_record',

7
src/types/components.d.ts

@ -27,7 +27,6 @@ declare module '@vue/runtime-core' {
ElBreadcrumb: typeof import('element-plus/es')['ElBreadcrumb']
ElBreadcrumbItem: typeof import('element-plus/es')['ElBreadcrumbItem']
ElButton: typeof import('element-plus/es')['ElButton']
ElButtonGroup: typeof import('element-plus/es')['ElButtonGroup']
ElCard: typeof import('element-plus/es')['ElCard']
ElCarousel: typeof import('element-plus/es')['ElCarousel']
ElCarouselItem: typeof import('element-plus/es')['ElCarouselItem']
@ -48,7 +47,6 @@ declare module '@vue/runtime-core' {
ElDropdown: typeof import('element-plus/es')['ElDropdown']
ElDropdownItem: typeof import('element-plus/es')['ElDropdownItem']
ElDropdownMenu: typeof import('element-plus/es')['ElDropdownMenu']
ElEmpty: typeof import('element-plus/es')['ElEmpty']
ElForm: typeof import('element-plus/es')['ElForm']
ElFormItem: typeof import('element-plus/es')['ElFormItem']
ElHeader: typeof import('element-plus/es')['ElHeader']
@ -68,12 +66,11 @@ declare module '@vue/runtime-core' {
ElRadio: typeof import('element-plus/es')['ElRadio']
ElRadioButton: typeof import('element-plus/es')['ElRadioButton']
ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup']
ElResult: typeof import('element-plus/es')['ElResult']
ElRow: typeof import('element-plus/es')['ElRow']
ElScrollbar: typeof import('element-plus/es')['ElScrollbar']
ElSelect: typeof import('element-plus/es')['ElSelect']
ElSlider: typeof import('element-plus/es')['ElSlider']
ElStep: typeof import('element-plus/es')['ElStep']
ElSteps: typeof import('element-plus/es')['ElSteps']
ElSubMenu: typeof import('element-plus/es')['ElSubMenu']
ElSwitch: typeof import('element-plus/es')['ElSwitch']
ElTable: typeof import('element-plus/es')['ElTable']
@ -82,8 +79,6 @@ declare module '@vue/runtime-core' {
ElTabs: typeof import('element-plus/es')['ElTabs']
ElTag: typeof import('element-plus/es')['ElTag']
ElText: typeof import('element-plus/es')['ElText']
ElTimeline: typeof import('element-plus/es')['ElTimeline']
ElTimelineItem: typeof import('element-plus/es')['ElTimelineItem']
ElTimePicker: typeof import('element-plus/es')['ElTimePicker']
ElTooltip: typeof import('element-plus/es')['ElTooltip']
ElTree: typeof import('element-plus/es')['ElTree']

16
src/views/opk/asd/news/bb.vue

@ -1,7 +1,9 @@
<!--
@ 作者: 鲁智强
@ 时间: 2023-09-19 09:13:14
@ 备注:
* @作者: 鲁智强
* @生成时间: 2023-09-19 09:13:14
* @修改时间: 2024-05-22
* @修改人: 袁纪菲
* @备注: 方案生成-部门方案
-->
<script lang="ts" setup>
import { ref, reactive, onMounted } from "vue";
@ -53,7 +55,7 @@ function jjjs() {
tableData.value = data.data[2].child[22].child;
})
.catch((error) => {
console.error("Error fetching data:", error);
console.error("获取数据错误:", error);
});
}
jjjs();
@ -72,7 +74,7 @@ const formdate = reactive({
attribute: "",
orgidlist: "",
type: "",
value1: "2023",
value1: new Date().getFullYear().toString(),
});
//
const tableq = ref([]);
@ -261,8 +263,8 @@ onMounted(() => {
header-align="center"
align="center"
/>
<el-table-column prop="key" label="版本号" width="400" />
<el-table-column prop="time" label="时间" width="400" />
<el-table-column prop="key" label="版本号" width="300" />
<el-table-column prop="time" label="时间" width="200" />
<el-table-column
prop="state"
label="状态"

16
src/views/opk/asd/news/cc.vue

@ -1,7 +1,9 @@
<!--
@ 作者: 鲁智强
@ 时间: 2023-09-19 09:13:14
@ 备注:
* @作者: 鲁智强
* @生成时间: 2023-09-19 09:13:14
* @修改时间: 2024-05-22
* @修改人: 袁纪菲
* @备注: 方案生成-岗位方案
-->
<script lang="ts" setup>
import { ref, reactive, onMounted } from "vue";
@ -15,7 +17,7 @@ import {
get_scheme,
} from "@/api/opk/news/api";
import { formItemValidateStates, TableV2SortOrder } from "element-plus";
import Dialog from "./dialog.vue";
import Dialog from "./dialog2.vue";
// eslint-disable-next-line vue/require-prop-types
const { addShow, title } = defineProps(["addShow", "title"]);
const data = reactive({
@ -69,7 +71,7 @@ const formdate = reactive({
attribute: "",
orgidlist: "",
type: "",
value1: "2023",
value1:new Date().getFullYear().toString(),
});
//
const tableq = ref([]);
@ -163,7 +165,7 @@ onMounted(() => {
class="orgTree"
:data="tableData"
:props="orgTreeProps"
:check-strictly="true"
:check-strictly=true
@node-click="handle"
/>
</div>
@ -190,7 +192,7 @@ onMounted(() => {
</el-form-item>
</el-container>
<el-table class="m-1" :data="tableq" border style="width: 100%">
<el-table-column prop="deaprtname" label="部门" width="299" />
<el-table-column prop="deaprtname" label="行政组织" width="299" />
<el-table-column
prop="year"
label="年度"

194
src/views/opk/asd/news/dialog.vue

@ -1,102 +1,10 @@
<!--
@ 作者: 鲁智强
@ 时间: 2023-08-15 11:34:38
@ 备注:
* @作者: 鲁智强
* @生成时间: 2023-08-15 11:34:38
* @修改时间: 2024-05-24
* @修改人: 袁纪菲
* @备注: 新增部门方案
-->
<template>
<el-dialog
:model-value="true"
title="新增方案"
style="width: 40%"
@close="handleClose"
>
<el-form
ref="ruleFormRef"
:model="formData"
label-width="80px"
class="demo-ruleForm"
style="width: 100%"
>
<el-form-item label="行政组织">
<el-tree-select
ref="orgTreeRef"
v-model="formData.deaprtname"
show-checkbox
clearable
node-key="id"
class="orgTree"
:data="tableData"
:props="orgTreeProps"
:render-after-expand="false"
@check="ge_adds"
/>
<el-form-item label="年度">
<el-date-picker v-model="formData.value1" type="year" />
</el-form-item>
</el-form-item>
<el-form-item v-loading="isshow" :data="tablea">
<el-row>
<el-col
v-for="(item, index) in tablea"
:key="index"
label="item.name"
style="width: 200px"
>
<el-card>
<template #header>
<div>
<el-text>考核维度{{ item.name }}</el-text>
<span class="tyu">指标合计分</span>
{{ formData.sums[2] }}
<!-- <el-text>{{item.zhiFraction}}</el-text> -->
</div>
<el-table
border
:summary-method="getSummaries"
show-summary
:data="item.child"
>
<el-table-column label="指标名称" prop="name" />
<el-table-column label="说明" prop="content">
<template #default="scope">
<el-input v-model="scope.row.content" />
</template>
</el-table-column>
<el-table-column label="指标权重" prop="referencescore">
<template #default="scope">
<el-input
v-model="scope.row.referencescore"
@change = "yui"
@blur="
scope.row.referencescore = Number(
scope.row.referencescore
)
"
/>
</template>
</el-table-column>
<el-table-column label="状态" prop="status">
<template #default="scope">
<el-select v-model="scope.row.status">
<el-option label="使用" :value="1" />
<el-option label="禁用" :value="2" />
<el-option label="观察" :value="3" />
</el-select>
</template>
</el-table-column>
</el-table>
</template>
</el-card>
</el-col>
</el-row>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm()">确定</el-button>
</el-form-item>
</el-form>
</el-dialog>
</template>
<script lang="ts" setup>
import { reactive } from "vue";
import {
@ -257,6 +165,98 @@ const submitForm = () => {
}
};
</script>
<template>
<el-dialog
:model-value="true"
title="新增部门方案"
style="width: 75%"
@close="handleClose"
>
<el-form
ref="ruleFormRef"
:model="formData"
label-width="80px"
class="demo-ruleForm"
style="width: 100%"
>
<el-form-item label="行政组织">
<el-tree-select
ref="orgTreeRef"
v-model="formData.deaprtname"
show-checkbox
clearable
node-key="id"
class="orgTree"
:data="tableData"
:props="orgTreeProps"
:render-after-expand="false"
@check="ge_adds"
/>
<el-form-item label="年度">
<el-date-picker v-model="formData.value1" type="year" />
</el-form-item>
</el-form-item>
<el-form-item v-loading="isshow" :data="tablea">
<el-row>
<el-col
v-for="(item, index) in tablea"
:key="index"
label="item.name"
style="width: 200px"
>
<el-card>
<template #header>
<div>
<el-text>考核维度{{ item.name }}</el-text>
<span class="tyu">指标合计分</span>
{{ formData.sums[2] }}
<!-- <el-text>{{item.zhiFraction}}</el-text> -->
</div>
<el-table
border
:summary-method="getSummaries"
show-summary
:data="item.child"
>
<el-table-column label="指标名称" prop="name" />
<el-table-column label="说明" prop="content">
<template #default="scope">
<el-input v-model="scope.row.content" />
</template>
</el-table-column>
<el-table-column label="指标权重" prop="referencescore">
<template #default="scope">
<el-input
v-model="scope.row.referencescore"
@blur="
scope.row.referencescore = Number(
scope.row.referencescore
)
"
/>
</template>
</el-table-column>
<el-table-column label="状态" prop="status">
<template #default="scope">
<el-select v-model="scope.row.status">
<el-option label="使用" :value="1" />
<el-option label="禁用" :value="2" />
<el-option label="观察" :value="3" />
</el-select>
</template>
</el-table-column>
</el-table>
</template>
</el-card>
</el-col>
</el-row>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm()">确定</el-button>
</el-form-item>
</el-form>
</el-dialog>
</template>
<style scoped>
.avatar-uploader .avatar {

287
src/views/opk/asd/news/dialog2.vue

@ -0,0 +1,287 @@
<!--
* @作者: 袁纪菲
* @生成时间: 2024-05-28
* @备注: 新建岗位方案
-->
<script lang="ts" setup>
import { reactive } from "vue";
import { addPostCont , organdpost } from "@/api/opk/api";
import { ge_add } from "@/api/opk/news/api";
import { create_scheme } from "@/api/opk/zxy/news/api";
const getSummaries = (param: any) => {
const { columns, data } = param;
columns.forEach((column:any, index:any) => {
if (index === 0) {
formData.sums[index] = "合计";
return;
}
const values = data.map((item:any) => Number(item[column.property]));
if (!values.every((value:any) => Number.isNaN(value))) {
formData.sums[2] = ` ${values.reduce((prev:any, curr:any) => {
const value = Number(curr);
if (!Number.isNaN(value)) {
return prev + curr;
} else {
return prev;
}
}, 0)}`;
}
});
return formData.sums;
};
interface FormInfo {
id: string;
age: string;
name: string;
sex: string;
ccc: string;
ade: string;
sort: number;
title: string;
type: number;
}
const isshow = ref(false);
const props = defineProps({
title: {
type: String,
default: "",
},
addPostBox: {
type: Boolean,
default: false,
},
addrowInfo: {
type: Object as () => FormInfo,
default() {
return {};
},
},
arrayNum: {
type: Number,
default: 0,
},
});
const orgTreeProps = {
label: "name",
children: "child",
};
const orgTreeProp = {
label: "title",
children: "children",
};
const emit = defineEmits(["update:addPostBox", "editRow", "addRow"]);
const formData = reactive({
deaprtname: "",
value1: "",
asd: [] as string[],
lzq: "",
zhiFraction: "",
sums: [] as string[],
});
//
const tableData = ref<any>([]);
function jjjs() {
organdpost({ id: "309", levelL: 0 })
.then((data) => {
tableData.value = data.data.list;
})
.catch((error) => {
console.error("Error fetching data:", error);
});
}
jjjs();
const handle = (data: any) => {
formData.deaprtname = data.id;
ge_adds();
};
//
const tablea = ref<any>([]);
function ge_adds() {
const add = formData.deaprtname.toString();
ge_add({ id: add })
.then((data) => {
tablea.value = data.data;
})
.catch((error) => {
console.error("Error fetching data:", error);
})
.finally(() => {
isshow.value = false;
});
}
ge_adds();
//
const handleClose = () => {
emit("update:addPostBox", false);
};
const handleDel = (val: any) => {
ElMessageBox.confirm("你确定删除这条信息吗?", "提示", {
confirmButtonText: "确认",
cancelButtonText: "取消",
type: "warning",
});
handleSure(val);
console.log(val.id);
};
const handleSure = (val: any) => {
const index = tableData.value.findIndex((item: any) => item.id === val.id);
if (index != -1) {
tableData.value.splice(index, 1);
}
};
const submitForm = () => {
const add = formData.deaprtname.toString();
const ess = new Date(formData.value1).getFullYear();
const see = ess.toString();
// tablea.zhiFraction = formData.sums[2]
if (props.addrowInfo.name) {
//
const id = props.addrowInfo; // ID
emit("editRow", formData);
} else {
//
create_scheme({ orgid: add, year: see, child: tablea._value }).then(
(response: any) => {
if (response.code === 200) {
ElMessage.success("新增成功");
emit("addRow", formData);
} else {
ElMessage.error("新增成功");
handleClose();
}
}
);
}
};
</script>
<template>
<el-dialog
:model-value="true"
title="新增岗位方案"
style="width: 75%"
@close="handleClose"
>
<el-form
ref="ruleFormRef"
:model="formData"
label-width="80px"
class="demo-ruleForm"
style="width: 100%"
>
<el-form-item label="岗位">
<el-tree-select
ref="orgTreeRef"
v-model="formData.deaprtname"
show-checkbox
clearable
node-key="id"
class="orgTree"
:data="tableData"
:props="orgTreeProps"
:render-after-expand="false"
@check="ge_adds"
/>
<el-form-item label="年度">
<el-date-picker v-model="formData.value1" type="year" />
</el-form-item>
</el-form-item>
<el-form-item v-loading="isshow" :data="tablea">
<el-row>
<el-col
v-for="(item, index) in tablea"
:key="index"
label="item.name"
style="width: 200px"
>
<el-card>
<template #header>
<div>
<el-text>考核维度{{ item.name }}</el-text>
<span class="tyu">指标合计分</span>
{{ formData.sums[2] }}
<!-- <el-text>{{item.zhiFraction}}</el-text> -->
</div>
<el-table
border
:summary-method="getSummaries"
show-summary
:data="item.child"
>
<el-table-column label="指标名称" prop="name" />
<el-table-column label="说明" prop="content">
<template #default="scope">
<el-input v-model="scope.row.content" />
</template>
</el-table-column>
<el-table-column label="指标权重" prop="referencescore">
<template #default="scope">
<el-input
v-model="scope.row.referencescore"
@blur="
scope.row.referencescore = Number(
scope.row.referencescore
)
"
/>
</template>
</el-table-column>
<el-table-column label="状态" prop="status">
<template #default="scope">
<el-select v-model="scope.row.status">
<el-option label="使用" :value="1" />
<el-option label="禁用" :value="2" />
<el-option label="观察" :value="3" />
</el-select>
</template>
</el-table-column>
</el-table>
</template>
</el-card>
</el-col>
</el-row>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm()">确定</el-button>
</el-form-item>
</el-form>
</el-dialog>
</template>
<style scoped>
.avatar-uploader .avatar {
display: block;
width: 178px;
height: 178px;
}
</style>
<style lang="scss">
.avatar-uploader .el-upload {
position: relative;
overflow: hidden;
cursor: pointer;
border: 1px dashed var(--el-border-color);
border-radius: 6px;
transition: var(--el-transition-duration-fast);
}
.avatar-uploader .el-upload:hover {
border-color: var(--el-color-primary);
}
.el-icon.avatar-uploader-icon {
width: 178px;
height: 178px;
font-size: 28px;
color: #8c939d;
text-align: center;
}
.el-dialog {
width: 1200px;
}
.tyu {
margin: 0 0 0 100px;
}
</style>

5
src/views/opk/asd/news/dialoglog.vue

@ -1,8 +1,7 @@
<!-- eslint-disable vue/no-parsing-error -->
<!--
@ 作者: 鲁智强
@ 时间: 2023-08-15 11:34:38
@ 备注:
@ 时间: 2023-09-19 15:01:23
@ 备注: 复制方案
-->
<template>
<el-dialog destroy-on-close :model-value="true" title="复制方案" @close="handleClose">

53
src/views/opk/asd/news/hyr.vue

@ -1,30 +1,11 @@
<!--
@ 作者: 鲁智强
@ 时间: 2023-08-15 11:34:38
@ 备注:
* @作者: 鲁智强
* @生成时间: 2023-08-15 11:34:38
* @修改时间: 2024-05-25
* @修改人: 袁纪菲
* @备注: 查看方案详情内的修改对话框
-->
<template>
<el-dialog :model-value="true" title="编辑指标" @close="handleClose">
<el-form ref="ruleFormRef" :model="formData" label-width="120px" class="demo-ruleForm">
<el-form-item label="说明">
<el-input v-model="formData.content" type="textarea" />
</el-form-item>
<el-form-item label="状态">
<el-select v-model="formData.state">
<el-option label="使用" :value="1"/>
<el-option label="禁止" :value="3"/>
</el-select>
</el-form-item>
<el-form-item label="执行人">
<el-tree-select ref="orgTreeRef" v-model="formData.uio" show-checkbox multiple node-key="id" :data="lcx" :props="orgTreeProps" :render-after-expand="false"/>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm()">确定</el-button>
</el-form-item>
</el-form>
</el-dialog>
</template>
<script lang="ts" setup>
<script lang="ts" setup>
import { reactive } from "vue"
import {ElMessage} from "element-plus"
import {get_runman,get_org,edit_scheme } from '@/api/opk/zxy/news/api'
@ -108,4 +89,26 @@ get_orgs()
Object.assign(formData,props.rowInfo);
})
</script>
<template>
<el-dialog :model-value="true" title="编辑指标" style="width:90%" @close="handleClose">
<el-form ref="ruleFormRef" :model="formData" label-width="120px" class="demo-ruleForm">
<el-form-item label="说明">
<el-input v-model="formData.content" type="textarea" />
</el-form-item>
<el-form-item label="状态">
<el-select v-model="formData.state">
<el-option label="使用" :value="1"/>
<el-option label="禁止" :value="3"/>
</el-select>
</el-form-item>
<el-form-item label="执行人">
<el-tree-select ref="orgTreeRef" v-model="formData.uio" clearable show-checkbox multiple node-key="id" :data="lcx" :props="orgTreeProps" :render-after-expand="false"/>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm()">确定</el-button>
</el-form-item>
</el-form>
</el-dialog>
</template>

8
src/views/opk/asd/news/index.vue

@ -1,7 +1,9 @@
<!--
@ 作者: 鲁智强
@ 时间: 2023-09-19 15:01:23
@ 备注:
* @作者: 鲁智强
* @生成时间: 2023-09-19 15:01:23
* @修改时间: 2024-05-25
* @修改人: 袁纪菲
* @备注: 方案生成
-->
<script lang='ts' setup>
import cc from './cc.vue'

10
src/views/opk/asd/news/xd.vue

@ -1,10 +1,12 @@
<!--
@ 作者: 鲁智强
@ 时间: 2023-08-15 11:34:38
@ 备注:
* @作者: 鲁智强
* @生成时间: 2023-08-15 11:34:38
* @修改时间: 2024-05-25
* @修改人: 袁纪菲
* @备注: 查看方案详情内的查看对话框
-->
<template>
<el-dialog :model-value="true" title="执行人" @close="handleClose">
<el-dialog :model-value="true" title="执行人" style="width:90%" @close="handleClose">
<el-table :data="tablea" label-width="120px" class="demo-ruleForm" style="width:100%">
<el-table-column label="照片">
<template #default="scope">

10
src/views/opk/asd/news/ycy.vue

@ -1,10 +1,12 @@
<!--
@ 作者: 鲁智强
@ 时间: 2023-08-15 11:34:38
@ 备注:
* @作者: 鲁智强
* @生成时间: 2023-08-15 11:34:38
* @修改时间: 2024-05-25
* @修改人: 袁纪菲
* @备注: 查看方案详情内的考核细则
-->
<template>
<el-dialog :model-value="true" title="考核细则" @close="handleClose">
<el-dialog :model-value="true" title="考核细则" style="width:90%" @close="handleClose">
<el-table :data="tablea" border :span-method="objectSpanMethod" label-width="120px" class="demo-ruleForm" style="width:100%">
<el-table-column prop="tablename" label="考核项目" width="120" />
<el-table-column prop="targetname" label="考核内容" width="700"/>

2
src/views/opk/asd/news/yg.vue

@ -1,7 +1,7 @@
<!--
@ 作者: 鲁智强
@ 时间: 2023-08-15 11:34:38
@ 备注:
@ 备注: 查看方案详情
-->
<template>

13
src/views/opk/yui/new/aa.vue

@ -1,7 +1,9 @@
<!--
@ 作者: 鲁智强
@ 时间: 2023-09-19 09:13:14
@ 备注:
* @作者: 鲁智强
* @生成时间: 2023-09-19 09:13:14
* @修改时间: 2024-05-23
* @修改人: 袁纪菲
* @备注: 部门指标
-->
<script lang="ts" setup>
import { ref, reactive, onMounted } from "vue";
@ -84,7 +86,7 @@ const newtarlist = () => {
total.value = data.data.total;
})
.catch((error) => {
console.error("Error fetching data:", error);
console.error("获取数据失败:", error.response ? error.response.data : error);
});
};
newtarlist();
@ -265,7 +267,7 @@ onMounted(() => {
align="center"
>
<template #default="scope">
<el-select v-model="formdat.someProp" placeholder="详情">
<el-select placeholder="详情" >
<el-option
v-for="item in scope.row.relevantdepartmentsmap"
:key="item.key"
@ -301,7 +303,6 @@ onMounted(() => {
:active-value="2"
inline-prompt
style="
--el-switch-on-color: #ff4949;
--el-switch-off-color: #13ce66;
"

25
src/views/opk/yui/new/bb.vue

@ -1,14 +1,16 @@
<!--
@ 作者: 鲁智强
@ 时间: 2023-09-19 09:13:14
@ 备注:
* @作者: 鲁智强
* @生成时间: 2023-09-19 09:13:14
* @修改时间: 2024-05-29
* @修改人: 袁纪菲
* @备注: 岗位指标
-->
<script lang="ts" setup>
import { ref, reactive, onMounted } from "vue";
import Dialog from "./dialog.vue";
import ED from "./eddialog.vue";
import Daid from "./daialog.vue";
import { organdpost, posttarget, set_posttarget } from "@/api/opk/api";
import { organdpost, posttarget, set_posttarget} from "@/api/opk/api";
import { editPostCont } from "@/api/opk/pulic/api";
import { formItemValidateStates, TableV2SortOrder } from "element-plus";
import { getDictFormData } from "@/api/dict";
@ -47,7 +49,7 @@ function jjjs() {
tableData.value = data.data.list;
})
.catch((error) => {
console.error("Error fetching data:", error);
console.error("获取数据失败:", error);
});
}
jjjs();
@ -144,7 +146,8 @@ const handleedit = (val: any) => {
(data.editPostCont = true), (rowInfo.value = val);
};
const handleErd = (val: any) => {
(data.edPostCont = true), (rowInfo.value = val);
data.edPostCont = true;
rowInfo.value = val
};
const cancelDialog = (val: any) => {
data.addPost = true;
@ -167,6 +170,7 @@ onMounted(() => {
v-model="formdate.orgidlist"
node-key="id"
class="orgTree"
multiple
:data="tableData"
:props="orgTreeProps"
:default-expand-all="false"
@ -221,8 +225,7 @@ onMounted(() => {
v-if="scope.row.scoringmethod == 1"
class="hjk"
@click="cancelDialog(scope.row)"
>{{ scope.row.title }}</a
>
>{{ scope.row.title }}</a>
<a v-if="scope.row.scoringmethod == 2">{{ scope.row.title }}</a>
</template>
</el-table-column>
@ -266,7 +269,7 @@ onMounted(() => {
</template>
</el-table-column>
<el-table-column prop="cycleattr" label="辅助计数" align="center" />
<el-table-column prop="state" label="状态" width="70">
<el-table-column prop="state" label="状态" width="70" align="center">
<template #default="scope">
<el-switch
v-model="scope.row.state"
@ -321,14 +324,14 @@ onMounted(() => {
v-model="data.edPostCont"
:row-info="rowInfo"
:title="title"
:array-num="tableData.ength"
:array-num="tableData.length"
></ED>
<Daid
v-if="data.addPost"
v-model="data.addPost"
:row-info="rowInfo"
:title="title"
:array-num="tableData.ength"
:array-num="tableData.length"
></Daid>
</div>
</template>

2
src/views/opk/yui/new/daialog.vue

@ -7,7 +7,7 @@
<el-dialog :model-value="true" title="考核方法明细" style="width:90%" @close="handleClose" >
<el-container class="yui">
<el-form-item label="岗位">
<el-tree-select ref="orgTreeRef" v-model="formData.postlist" clearable check-strictly=true node-key="id" :data="tableDats" :props="orgTreeProps" :render-after-expand="false"/>
<el-tree-select ref="orgTreeRef" v-model="formData.postlist" clearable :check-strictly=true node-key="id" :data="tableDats" :props="orgTreeProps" :render-after-expand="false"/>
</el-form-item>
<el-form-item label="检查方式" label-width="90">
<el-select v-model="formData.inspect" label="检查方式">

371
src/views/opk/yui/new/dialog.vue

@ -1,8 +1,189 @@
<!--
@ 作者: 鲁智强
@ 时间: 2023-08-15 11:34:38
@ 备注: 岗位指标添加
* @作者: 鲁智强
* @生成时间: 2023-08-15 11:34:38
* @修改时间: 2024-05-29
* @修改人: 袁纪菲
* @备注: 新增岗位指标
-->
<script lang="ts" setup>
import { reactive } from "vue";
import {tarlist,addPostCont,addtarget,getgroupuser,addposttargetcont,search_orgpost,positionlist,get_org} from '@/api/opk/api'
import {editPostCont} from '@/api/opk/pulic/api'
import {govthree} from '@/api/opk/opk/api'
interface FormInfo {
id: string;
age: string;
name: string;
sex: string;
ccc: string;
ade: string;
sort: number;
title: string;
type: number;
}
const isshow = ref(false)
const props= defineProps( {
title: {
type: String,
default: "",
},
addPostBox: {
type: Boolean,
default: false,
},
addrowInfo: {
type: Object as () => FormInfo,
default() {
return {};
},
},
arrayNum: {
type: Number,
default: 0,
},
});
const num =ref(1);
const orgTreeLoadings = ref([]); //
const orgTreeProps ={
label: 'name',
children:'child',
}
const orgTreeProp = {
label:'title',
children:'children'
}
const emit = defineEmits(["update:addPostBox","editRow","addRow"])
const formData = reactive({
"title": "", // 1
"acceptdepartmentid": [] as String[], //1
"userlist": [] as String[],
"dimension":"", //1
"unit": "", // 1
"cycle": 4,
"cycleattr": 1,
"otherposttarget":"",
"type":1,
"scoringmethod": 1,
"name":"",
"gov":"",
"lzq":"",
"yrb":"",
"departmentPostOther":[] as any
})
const yui = reactive([{
}])
//
const iop = reactive([{
orgid:"",
postid:'' as unknown,
operator:[
]
}])
const tableData = ref<any>([])
//APItableData
function jjjs(){
addPostCont("/hrapi/org/govthree","post")
.then(data => {
tableData.value = data.data[3].child[14].child;
})
.catch(error => {
console.error('获取数据错误:', error);
});
}
jjjs()
const tables = ref([])
function editPost(){
editPostCont()
.then(data => {
tables.value = data.data.list;
})
}
editPost()
//tablee
const tablee = ref([])
function orgpost(){
search_orgpost({name:"1",orgid:"309"})
.then(data =>{
tablee.value = data.data;
})
.finally(()=>{
isshow.value = false
})
}
orgpost()
const chl = ()=>{
formData.departmentPostOther = zjr
}
//tablea
const tablea = ref([])
function getgrou(){
get_org({id:"309",all:1})
.then(data => {
tablea.value = data.data;
console.log(tablea.value)
})
}
getgrou()
//IDlzq
const lzq = ref([])
function govthrees(){
govthree({id:309,all:1})
.then(data=>{
lzq.value = data.data
})
}
govthrees()
//IDzjr
const zjr = ref([])
const position = ()=>{
const add = iop[0].orgid.toString()
positionlist({page:1,pagesize:100000,organization:add})
.then(data=>{
zjr.value = data.data.list;
})
}
//
const handleClose = ()=> {
emit("update:addPostBox", false);
}
const handleDel = (val:any) => {
ElMessageBox.confirm("你确定删除这条信息吗?", "提示", {
confirmButtonText: "确认",
cancelButtonText: "取消",
type: "warning",
})
handleSure(val)
console.log(val.id)
};
const handleSure = (val:any)=> {
const index = tableData.value.findIndex((item:any) => item.id === val.id);
if(index!=-1){
tableData.value.splice(index, 1);
}
}
const submitForm=()=> {
const add = formData.acceptdepartmentid.toString()
formData.acceptdepartmentid = add.split(',')
formData.dimension = formData.dimension.toString()
const edd = formData.userlist.toString()
formData.userlist = edd.split(',')
const err = new Number(iop[0].postid)
iop[0].postid = err
addposttargetcont({title:formData.title,type:formData.type,unit:formData.unit,scoringmethod:1,dimension:formData.dimension,cycle:formData.scoringmethod,cycleattr:num.value,
departmentPostOther:formData.departmentPostOther,otherposttarget:iop})
.then((response:any) => {
//
if (response.code === 200) {
ElMessage.success("新增成功");
emit("addRow", formData);
} else {
//
ElMessage.success("新增成功");
}
})
handleClose()
}
</script>
<template>
<el-dialog :model-value="true" :title="title" @close="handleClose">
<el-form ref="ruleFormRef" :model="formData" label-width="120px" class="demo-ruleForm">
@ -11,9 +192,9 @@
</el-form-item>
<el-form-item v-model="formData.otherposttarget" label="岗位/人员:" prop="name">
<div>
<el-tree-select ref="orgTreeRef" v-model="iop[0].orgid" clearable show-checkbox check-strictly=true node-key="id" :data="lzq" :props="orgTreeProps" :render-after-expand="false" @check="position"/>
<el-tree-select ref="orgTreeRef" v-model="iop[0].postid" clearable multiple show-checkbox node-key="id" :data="zjr" :props="orgTreeProps" :render-after-expand="false" @check="chl"/>
<el-tree-select ref="orgTreeRef" v-model="iop[0].operator" clearable multiple show-checkbox node-key="key" :data="tablea" :props="orgTreeProps" :render-after-expand="false"/>
<el-tree-select ref="orgTreeRef" v-model="iop[0].orgid" placeholder="请选择行政组织" clearable show-checkbox :check-strictly=true node-key="id" :data="lzq" :props="orgTreeProps" :render-after-expand="false" @check="position"/>
<el-tree-select ref="orgTreeRef" v-model="iop[0].postid" placeholder="请选择相关岗位" clearable multiple show-checkbox node-key="id" :data="zjr" :props="orgTreeProps" :render-after-expand="false" @check="chl"/>
<el-tree-select ref="orgTreeRef" v-model="iop[0].operator" placeholder="请选择提报人" clearable multiple show-checkbox node-key="key" :data="tablea" :props="orgTreeProps" :render-after-expand="false"/>
</div>
</el-form-item>
<el-form-item label="指标维度:" prop="sex">
@ -53,184 +234,8 @@
</el-form>
</el-dialog>
</template>
<script lang="ts" setup>
import { reactive } from "vue";
import {tarlist,addPostCont,addtarget,getgroupuser,addposttargetcont,search_orgpost,positionlist} from '@/api/opk/api'
import {editPostCont} from '@/api/opk/pulic/api'
import {govthree} from '@/api/opk/opk/api'
interface FormInfo {
id: string;
age: string;
name: string;
sex: string;
ccc: string;
ade: string;
sort: number;
title: string;
type: number;
}
const isshow = ref(false)
const props= defineProps( {
title: {
type: String,
default: "",
},
adddPostBox: {
type: Boolean,
default: false,
},
addrowInfo: {
type: Object as () => FormInfo,
default() {
return {};
},
},
arrayNum: {
type: Number,
default: 0,
},
});
const num =ref(1);
const orgTreeLoadings = ref([]); //
const orgTreeProps ={
label: 'name',
children:'child',
}
const orgTreeProp = {
label:'title',
children:'children'
}
const emit = defineEmits(["update:adddPostBox","editRow","addRow"])
const formData = reactive({
"title": "", // 1
"acceptdepartmentid": [] as String[], //1
"userlist": [] as String[],
"dimension":"", //1
"unit": "", // 1
"cycle": 4,
"cycleattr": 1,
"otherposttarget":"",
"type":1,
"scoringmethod": 1,
"name":"",
"gov":"",
"lzq":"",
"yrb":"",
"departmentPostOther":[] as any
})
const yui = reactive([{
}])
const iop = reactive([{
orgid:"",
postid:'' as unknown,
operator:[
]
}])
const tableData = ref<any>([])
function jjjs(){
addPostCont("/hrapi/org/govthree","post")
.then(data => {
tableData.value = data.data[3].child[14].child;
})
.catch(error => {
console.error('Error fetching data:', error);
});
}
jjjs()
const tables = ref([])
function editPost(){
editPostCont()
.then(data => {
tables.value = data.data.list;
})
}
editPost()
const tablee = ref([])
function orgpost(){
search_orgpost({name:"1",orgid:"309"})
.then(data =>{
tablee.value = data.data;
})
.finally(()=>{
isshow.value = false
})
}
orgpost()
const chl = ()=>{
formData.departmentPostOther = zjr
}
const tablea = ref([])
function getgrou(){
getgroupuser({id:309,level:4})
.then(data => {
tablea.value = data.data;
console.log(tablea.value)
})
}
getgrou()
const lzq = ref([])
function govthrees(){
govthree({id:309,all:1})
.then(data=>{
lzq.value = data.data
})
}
govthrees()
const zjr = ref([])
const position = ()=>{
const add = iop[0].orgid.toString()
positionlist({page:1,pagesize:100000,organization:add})
.then(data=>{
zjr.value = data.data.list;
})
}
//
const handleClose = ()=> {
emit("update:adddPostBox", false);
}
const handleDel = (val:any) => {
ElMessageBox.confirm("你确定删除这条信息吗?", "提示", {
confirmButtonText: "确认",
cancelButtonText: "取消",
type: "warning",
})
handleSure(val)
console.log(val.id)
};
const handleSure = (val:any)=> {
const index = tableData.value.findIndex((item:any) => item.id === val.id);
if(index!=-1){
tableData.value.splice(index, 1);
}
}
const submitForm=()=> {
const add = formData.acceptdepartmentid.toString()
formData.acceptdepartmentid = add.split(',')
formData.dimension = formData.dimension.toString()
const edd = formData.userlist.toString()
formData.userlist = edd.split(',')
const err = new Number(iop[0].postid)
iop[0].postid = err
addposttargetcont({title:formData.title,type:formData.type,unit:formData.unit,scoringmethod:1,dimension:formData.dimension,cycle:formData.scoringmethod,cycleattr:num.value,
departmentPostOther:formData.departmentPostOther,otherposttarget:iop})
.then((response:any) => {
//
if (response.code === 200) {
ElMessage.success("新增成功");
emit("addRow", formData);
} else {
//
ElMessage.success("新增成功");
}
})
handleClose()
}
</script>
<style scoped>
.avatar-uploader .avatar {
display: block;
width: 178px;
@ -260,7 +265,7 @@ const handleSure = (val:any)=> {
text-align: center;
}
.el-dialog{
width:1200px;
width:800px;
}
</style>

119
src/views/opk/yui/new/diolog.vue

@ -1,56 +1,13 @@
<!--
@ 作者: 鲁智强
@ 时间: 2023-08-15 11:34:38
@ 备注: 部门指标添加
* @作者: 鲁智强
* @生成时间: 2023-08-15 11:34:38
* @修改时间: 2024-05-24
* @修改人: 袁纪菲
* @备注: 新增部门指标
-->
<template>
<el-dialog :model-value="true" :title="title" @close="handleClose">
<el-form ref="ruleFormRef" :model="formData" label-width="120px" class="demo-ruleForm">
<el-form-item label="指标名称:" prop="name">
<el-input v-model="formData.name" placeholder="请输入指标名称"></el-input>
</el-form-item>
<el-form-item label="关联部门:" prop="sort">
<el-tree-select ref="orgTreeRef" v-model="formData.acceptdepartmentid" clearable multiple node-key="id" :data="tableData" :props="orgTreeProps" :render-after-expand="false"/>
</el-form-item>
<el-form-item label="指标维度:" prop="sex">
<el-tree-select ref="orgTreeRef" v-model="formData.dimension" clearable multiple node-key="id" :data="tables" :props="orgTreeProp" :render-after-expand="false"/>
</el-form-item>
<el-form-item label="指标性质:" prop="state">
<el-select v-model="formData.nature">
<el-option label="定性指标" :value="1" />
<el-option label="定量指标" :value="2" />
</el-select>
</el-form-item>
<el-form-item label="计量单位:" prop="unites">
<el-input v-model="formData.unit" placeholder="请输入计量单位"/>
</el-form-item>
<el-form-item label="数据提交:" prop="sorts">
<el-tree-select ref="orgTreeRef" v-model="formData.userlist" node-key="key" :data="tablea" :props="orgTreeProps" :render-after-expand="false"/>
</el-form-item>
<el-form-item label="计分方式:" prop="iop">
<el-select v-model="formData.cycleattr">
<el-option label="自动计分" :value="1" />
<el-option label="手动计分" :value="2" />
</el-select>
</el-form-item><el-form-item label="" prop="uio">
<el-select v-model="formData.scoringmethod">
<el-option label="月" :value="1" />
<el-option label="季度" :value="2" />
<el-option label="年" :value="3" />
</el-select>
</el-form-item>
<el-form-item label="辅助计数:" prop="state">
<el-input-number v-model="num" :min="1"/>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm()">确定</el-button>
</el-form-item>
</el-form>
</el-dialog>
</template>
<script lang="ts" setup>
<script lang="ts" setup>
import { reactive } from "vue";
import {tarlist,addPostCont,addtarget,getgroupuser} from '@/api/opk/api'
import {tarlist,addPostCont,govthree,addtarget,getgroupuser,get_org} from '@/api/opk/api'
import {editPostCont} from '@/api/opk/pulic/api'
interface FormInfo {
@ -109,17 +66,19 @@ const formData = reactive({
"visiblerangedepart": [], //1
"unit":""
})
//
const tableData = ref<any>([])
function jjjs(){
addPostCont("/hrapi/org/govthree","post")
.then(data => {
tableData.value = data.data[3].child[14].child;
govthree({id:309,all:1})
.then(data=>{
tableData.value = data.data;
})
.catch(error => {
console.error('Error fetching data:', error);
console.error('获取数据失败:', error);
});
}
jjjs()
//
const tables = ref([])
function editPost(){
editPostCont()
@ -128,9 +87,10 @@ function editPost(){
})
}
editPost()
//
const tablea = ref([])
function getgrou(){
getgroupuser({id:309,level:4})
get_org({id:"309",all:1})
.then(data => {
tablea.value = data.data;
console.log(tablea.value)
@ -141,6 +101,7 @@ getgrou()
const handleClose = ()=> {
emit("update:adddPostBox", false);
}
//
const submitForm=()=> {
handleClose()
const add = formData.acceptdepartmentid.toString()
@ -163,12 +124,54 @@ getgrou()
}
})
}
</script>
<template>
<el-dialog :model-value="true" :title="title" @close="handleClose">
<el-form ref="ruleFormRef" :model="formData" label-width="120px" class="demo-ruleForm">
<el-form-item label="指标名称:" prop="name">
<el-input v-model="formData.name" placeholder="请输入指标名称"></el-input>
</el-form-item>
<el-form-item label="关联部门:" prop="sort">
<el-tree-select ref="orgTreeRef" v-model="formData.acceptdepartmentid" clearable show-checkbox :check-strictly=true multiple node-key="id" :data="tableData" :props="orgTreeProps" :render-after-expand="false"/>
</el-form-item>
<el-form-item label="指标维度:" prop="sex">
<el-tree-select ref="orgTreeRef" v-model="formData.dimension" clearable node-key="id" :data="tables" :props="orgTreeProp" :render-after-expand="false"/>
</el-form-item>
<el-form-item label="指标性质:" prop="state">
<el-select v-model="formData.nature">
<el-option label="定性指标" :value="1" />
<el-option label="定量指标" :value="2" />
</el-select>
</el-form-item>
<el-form-item label="计量单位:" prop="unites">
<el-input v-model="formData.unit" placeholder="请输入计量单位"/>
</el-form-item>
<el-form-item label="数据提交:" prop="sorts">
<el-tree-select ref="orgTreeRef" v-model="formData.userlist" clearable show-checkbox multiple node-key="key" :data="tablea" :props="orgTreeProps" :render-after-expand="false"/>
</el-form-item>
<el-form-item label="计分方式:" prop="iop">
<el-select v-model="formData.cycleattr">
<el-option label="自动计分" :value="1" />
<el-option label="手动计分" :value="2" />
</el-select>
</el-form-item><el-form-item label="" prop="uio">
<el-select v-model="formData.scoringmethod">
<el-option label="月" :value="1" />
<el-option label="季度" :value="2" />
<el-option label="年" :value="3" />
</el-select>
</el-form-item>
<el-form-item label="辅助计数:" prop="state">
<el-input-number v-model="num" :min="1"/>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm()">确定</el-button>
</el-form-item>
</el-form>
</el-dialog>
</template>
<style scoped>
.avatar-uploader .avatar {
display: block;
width: 178px;

89
src/views/opk/yui/new/edcialog.vue

@ -1,41 +1,14 @@
<!--
@ 作者: 鲁智强
@ 时间: 2023-08-15 11:34:38
@ 备注: 部门指标关联部门
* @作者: 鲁智强
* @生成时间: 2023-08-15 11:34:38
* @修改时间: 2024-06-05
* @修改人: 袁纪菲
* @备注: 部门指标关联部门
-->
<template>
<el-dialog :model-value="true" :title="title" @close="handleClose">
<el-form ref="ruleFormRef" :model="formData" label-width="120px" class="demo-ruleForm">
<el-form-item label="部门:" prop="reportmap[0].title">
<el-tree-select ref="orgTreeRef" v-model="formData.reportmap" show-checkbox clearable multiple node-key="id" :data="tablea" :props="orgTreeProps" :render-after-expand="false" @check="hendlll"/>
</el-form-item>
<el-form-item>
<span style='width:30%;'>关联部门</span>
<span style='width:30%;'>提报人</span>
<span style='width:30%;'>操作</span>
</el-form-item>
</el-form>
<el-divider/>
<el-container>
<el-form-item prop="reportmap[0].title" label-width="120">
<el-tree-select ref="orgTreeRef" v-model="formData.zjr" clearable multiple node-key="id" :data="table" :props="orgTreeProps" :render-after-expand="false"/>
</el-form-item>
<el-form-item label-width="90">
<el-tree-select ref="orgTreeRef" v-model="formData.getgroup" clearable multiple node-key="id" :data="Tables" :props="orgTreeProp" :render-after-expand="false"/>
</el-form-item>
<el-form-item label-width="100">
<el-button type="primary" @click="submitForm()">确定</el-button>
</el-form-item>
</el-container>
<el-divider>已关联部门</el-divider>
</el-dialog>
</template>
<script lang="ts" setup>
import { reactive } from "vue";
import { getgroupusers,positionlist,getgroupuser } from '@/api/opk/api'
import {editPostCont} from '@/api/opk/pulic/api'
<script lang="ts" setup>
import { reactive } from "vue";
import { getgroupusers,positionlist,getgroupuser,get_org } from '@/api/opk/api'
import {editPostCont} from '@/api/opk/pulic/api'
import form from "@/api/DesignForm/form";
import { TableV2SortOrder } from "element-plus";
@ -94,13 +67,13 @@ function getgrou(){
}
getgrou()
const Tables = ref([])
function getgroup(){
getgroupuser({id:309,level:4})
.then(data => {
Tables.value = data.data;
})
}
getgroup()
function get_orgs(){
get_org({id:"309",all:1})
.then((data) => {
Tables.value = data.data;
})
}
get_orgs()
const table = ref([])
const hendlll = (data:any)=>{
formData.organization = data.id.toString();
@ -125,10 +98,36 @@ const hendlll = (data:any)=>{
}
}
</script>
<style scoped>
<template>
<el-dialog :model-value="true" :title="title" style="width:90%" @close="handleClose">
<el-form ref="ruleFormRef" :model="formData" label-width="120px" class="demo-ruleForm">
<el-form-item label="部门:" prop="reportmap[0].title">
<el-tree-select ref="orgTreeRef" v-model="formData.reportmap" show-checkbox clearable multiple node-key="id" :data="tablea" :props="orgTreeProps" :render-after-expand="false" @check="hendlll"/>
</el-form-item>
<el-form-item>
<span style='width:30%;'>关联部门</span>
<span style='width:30%;'>提报人</span>
<span style='width:30%;'>操作</span>
</el-form-item>
</el-form>
<el-divider/>
<el-container>
<el-form-item prop="reportmap[0].title" label-width="120">
<el-tree-select ref="orgTreeRef" v-model="formData.zjr" clearable multiple node-key="id" :data="table" :props="orgTreeProps" :render-after-expand="false"/>
</el-form-item>
<el-form-item label-width="90">
<el-tree-select ref="orgTreeRef" v-model="formData.getgroup" show-checkbox clearable multiple node-key="id" :data="Tables" :props="orgTreeProp" :render-after-expand="false"/>
</el-form-item>
<el-form-item label-width="100">
<el-button type="primary" @click="submitForm()">确定</el-button>
</el-form-item>
</el-container>
<el-divider>已关联部门</el-divider>
</el-dialog>
</template>
<style scoped>
.avatar-uploader .avatar {
display: block;
width: 178px;

64
src/views/opk/yui/new/eddialog.vue

@ -1,10 +1,12 @@
<!--
@ 作者: 鲁智强
@ 时间: 2023-09-28 15:32:37
@ 备注: 岗位指标编辑
* @作者: 鲁智强
* @生成时间: 2023-09-28 15:32:37
* @修改时间: 2024-05-30
* @修改人: 袁纪菲
* @备注: 岗位指标编辑
-->
<script lang='ts' setup>
import { addPostCont,getgroupusers,neweditpost,getgroupuser,search_orgpost,get_post,get_organdpost } from '@/api/opk/api'
import { addPostCont,getgroupusers,neweditpost,getgroupuser,get_org ,search_orgpost,get_post,get_organdpost,govthree } from '@/api/opk/api'
// eslint-disable-next-line vue/no-dupe-keys
import { editPostCont } from '@/api/opk/pulic/api'
const formData = reactive({
@ -26,15 +28,15 @@ const formData = reactive({
})
const tableData = ref<any>([])
function jjjs(){
addPostCont("/hrapi/org/govthree","post")
govthree({id:309,all:1})
.then(data => {
tableData.value = data.data[3].child[14].child;
tableData.value = data.data;
})
.catch(error => {
console.error('Error fetching data:', error);
console.error('获取数据错误:', error);
});
}
jjjs()
const tables = ref<any>([])
function editPost(){
editPostCont()
@ -42,7 +44,8 @@ function editPost(){
tables.value = data.data.list;
})
}
editPost()
//
const tablea = ref([])
function getgrou(){
getgroupusers({ id:309,all:1 })
@ -51,15 +54,17 @@ function getgrou(){
console.log(tablea.value)
})
}
getgrou()
//
const tablee = ref([])
function getuser(){
getgroupuser({id:309,level:4})
get_org({id:"309",all:1})
.then(data => {
tablee.value = data.data;
console.log(tablee.value)
})
}
getuser()
const tableq = ref([])
const isshows = ref(false)
function orgpost(){
@ -67,21 +72,24 @@ function orgpost(){
get_post({id:err})
.then(data =>{
tableq.value = data.data.otherposttarget;
console.log(tableq.value)
})
.finally(()=>{
isshows.value = false
})
}
orgpost()
const table = ref([])
function orgposts (){
const ess = props.rowInfo.postary[0].name
search_orgpost({name:ess,orgid:"309"})
.then(data =>{
table.value = data.data;
console.log(table.value)
})
}
orgposts()
//
const tableee = ref([] as any[])
function orgpostsae (){
get_organdpost({id:"272"})
@ -89,7 +97,7 @@ function orgpostsae (){
tableee.value = data.data.postlist;
})
}
orgpostsae()
const props = defineProps({
title:{
type:String,
@ -99,6 +107,10 @@ const props = defineProps({
type:Boolean,
default:false,
},
edPostCont:{
type:Boolean,
default:false,
},
rowInfo:{
type:Object,
default(){
@ -122,10 +134,20 @@ const orgTreePropa ={
label:'name',
children:'children'
}
onMounted(()=>{
Object.assign(formData,props.rowInfo);
jjjs()
editPost()
getgrou()
getuser()
orgpost()
orgposts()
orgpostsae()
})
const num =ref(1)
const emit = defineEmits(["update:editPostCont"])
const emit = defineEmits(["update:edPostCont"])
const handClose=()=>{
emit("update:editPostCont",false)
emit("update:edPostCont",false)
}
const submitForm = ()=>{
const yuu = new Number(formData.deaprtname)
@ -141,12 +163,10 @@ const submitForm = ()=>{
handClose()
jjjs()
}
onMounted(()=>{
Object.assign(formData,props.rowInfo);
})
</script>
<template>
<el-dialog :model-value="true" :title="title" style="width:40%" @close="handClose">
<el-dialog :model-value="true" :title="title" style="width:60%" @close="handClose">
<el-form ref="ruleFormRef" :model="formData" label-width="120px" class="demo-ruleForm">
<el-form-item label="指标名称:" prop="title">
<el-input v-model="formData.title" placeholder="请输入名称"/>
@ -166,7 +186,7 @@ onMounted(()=>{
</template>
</el-table-column>
<el-table-column label="提报人">
<el-tree-select ref="orgTreeRef" v-model="formData.name" multiple show-checkbox node-key="key" class="orgTree" :data="tablee" :props="orgTreeProp" :render-after-expand="false"/>
<el-tree-select ref="orgTreeRef" v-model="formData.name" clearable multiple show-checkbox node-key="key" class="orgTree" :data="tablee" :props="orgTreeProp" :render-after-expand="false"/>
</el-table-column>
</el-table>
</el-form-item>

32
src/views/opk/yui/new/editdialog.vue

@ -4,7 +4,7 @@
@ 备注: 部门指标编辑
-->
<script lang='ts' setup>
import { addPostCont,getgroupusers,edittarget,getgroupuser } from '@/api/opk/api'
import { addPostCont,getgroupusers,edittarget,getgroupuser,govthree,get_org } from '@/api/opk/api'
// eslint-disable-next-line vue/no-dupe-keys
import { editPostCont } from '@/api/opk/pulic/api'
const formData = reactive({
@ -21,12 +21,12 @@ const formData = reactive({
})
const tableData = ref<any>([])
function jjjs(){
addPostCont("/hrapi/org/govthree","post")
govthree({id:309,all:1})
.then(data => {
tableData.value = data.data[3].child[14].child;
tableData.value = data.data;
})
.catch(error => {
console.error('Error fetching data:', error);
console.error('获取数据错误:', error);
});
}
jjjs()
@ -38,18 +38,18 @@ function editPost(){
})
}
editPost()
const tablea = ref([])
function getgrou(){
getgroupusers({id:3,all:0})
.then(data => {
tablea.value = data.data;
console.log(tablea.value)
})
}
getgrou()
// const tablea = ref([])
// function getgrou(){
// getgroupusers({id:3,all:0})
// .then(data => {
// tablea.value = data.data;
// console.log(tablea.value)
// })
// }
// getgrou()
const tableas = ref([])
function getgrous(){
getgroupuser({id:309,level:4})
get_org({id:"309",all:1})
.then(data => {
tableas.value = data.data;
console.log(tableas.value)
@ -107,13 +107,13 @@ onMounted(()=>{
})
</script>
<template>
<el-dialog :model-value="true" :title="title" style="width:40%" @close="handClose">
<el-dialog :model-value="true" :title="title" style="width:60%" @close="handClose">
<el-form ref="ruleFormRef" :model="formData" label-width="120px" class="demo-ruleForm">
<el-form-item label="指标名称:" prop="title">
<el-input v-model="formData.title" placeholder="请输入名称"/>
</el-form-item>
<el-form-item label="关联部门:" prop="relevantdepartments">
<el-tree-select ref="orgTreeRef" v-model="formData.relevantdepartments" clearable multiple node-key="id" :data="tableData" :props="orgTreeProp" :render-after-expand="false"/>
<el-tree-select ref="orgTreeRef" v-model="formData.relevantdepartments" clearable show-checkbox :check-strictly=true multiple node-key="id" :data="tableData" :props="orgTreeProp" :render-after-expand="false"/>
</el-form-item>
<el-form-item label="指标性质:" prop="">
<el-select v-model="formData.uio">

129
src/views/opk/yui/new/lc.vue

@ -1,69 +1,12 @@
<!--
@ 作者: 鲁智强
@ 时间: 2023-08-15 11:34:38
@ 备注: 岗位指标项目操作新增
@ 备注: 岗位指标项目操作-添加指标细则
-->
<template>
<el-dialog :model-value="true" title="添加指标细则" @close="handleClose">
<el-form ref="ruleFormRef" :model="formData" class="demo-ruleForm">
<el-form-item label="考核内容" label-width="100px">
<el-input v-model="formDatas.title" :row="2" type="textarea" />
</el-form-item>
<el-form-item label-width="100px" label="操作属性">
<el-select v-model="formData.punishmode">
<el-option label="分数" :value="1" />
<el-option label="现金" :value="2" />
<el-option label="分数和现金" :value="3" />
</el-select>
</el-form-item>
<el-form-item label="考核标准" label-width="100px">
<el-input v-model="formDatas.standard" :row="2" type="textarea" />
</el-form-item>
<el-form-item label="单位" label-width="100px">
<el-input v-model="formData.company"/>
</el-form-item>
<el-form-item label="现金标准" label-width="100px">
<el-input v-model="formData.censorcont"/>
</el-form-item>
<el-form-item label-width="100px" label="操作类型">
<el-select v-model="formData.addreduce">
<el-option label="扣除" :value="1" />
<el-option label="增加" :value="2" />
<el-option label="现场确认扣除/增加" :value="3" />
</el-select>
</el-form-item>
<el-form-item label-width="100px" label="检查方式">
<el-select v-model="formData.censortype" multiple>
<el-option label="现场检查" :value="1" />
<el-option label="资料审查" :value="2" />
<el-option label="事件触发" :value="3" />
</el-select>
</el-form-item>
<el-form-item label="检查频次:" label-width="100px">
<el-input-number v-model="num" :min="1" />
</el-form-item>
<el-form-item label="检查依据" label-width="100px">
<el-input v-model="formDatas.evidenve" :row="2" type="textarea" />
</el-form-item>
<el-form-item label="备注说明" label-width="100px">
<el-input v-model="formDatas.remarks" :row="2" type="textarea" />
</el-form-item>
<el-form-item label="被考核部门" label-width="100px">
<el-tree-select ref="orgTreeRef" v-model="formDatas.department" :data="rty" node-key="id" :props="orgTreeProp" />
</el-form-item>
<el-form-item label-width="100px" label="执行人">
<el-tree-select ref="orgTreeRef" v-model="formDatas.executor" multiple :data="chl" node-key="key" :props="orgTreeProps" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm()">确定</el-button>
</el-form-item>
</el-form>
</el-dialog>
</template>
<script lang="ts" setup>
import { reactive } from "vue";
import { getsontarget,table_add,getnew_target,addtabledetail,get_organdpost } from '@/api/opk/opk/api'
import { getgroupuser } from '@/api/opk/api'
<script lang="ts" setup>
import { reactive } from "vue";
import { getsontarget,table_add,getnew_target,addtabledetail,get_organdpost } from '@/api/opk/opk/api'
import { getgroupuser,get_org } from '@/api/opk/api'
const isshow = ref(false)
const uio = ref("")
@ -139,7 +82,7 @@ function getoneds(){
getoneds()
const chl = ref([])
function getgroup(){
getgroupuser({id:309,level:4})
get_org({id:"309",all:1})
.then(data=>{
chl.value = data.data
})
@ -170,7 +113,63 @@ onMounted(()=>{
console.log(formData.parentid)
})
</script>
<style scoped>
<template>
<el-dialog :model-value="true" title="添加指标细则" style="width: 60%;" @close="handleClose">
<el-form ref="ruleFormRef" :model="formData" class="demo-ruleForm">
<el-form-item label="考核内容" label-width="100px">
<el-input v-model="formDatas.title" :row="2" type="textarea" />
</el-form-item>
<el-form-item label-width="100px" label="操作属性">
<el-select v-model="formData.punishmode">
<el-option label="分数" :value="1" />
<el-option label="现金" :value="2" />
<el-option label="分数和现金" :value="3" />
</el-select>
</el-form-item>
<el-form-item label="考核标准" label-width="100px">
<el-input v-model="formDatas.standard" :row="2" type="textarea" />
</el-form-item>
<el-form-item label="单位" label-width="100px">
<el-input v-model="formData.company"/>
</el-form-item>
<el-form-item label="现金标准" label-width="100px">
<el-input v-model="formData.censorcont"/>
</el-form-item>
<el-form-item label-width="100px" label="操作类型">
<el-select v-model="formData.addreduce">
<el-option label="扣除" :value="1" />
<el-option label="增加" :value="2" />
<el-option label="现场确认扣除/增加" :value="3" />
</el-select>
</el-form-item>
<el-form-item label-width="100px" label="检查方式">
<el-select v-model="formData.censortype" multiple>
<el-option label="现场检查" :value="1" />
<el-option label="资料审查" :value="2" />
<el-option label="事件触发" :value="3" />
</el-select>
</el-form-item>
<el-form-item label="检查频次:" label-width="100px">
<el-input-number v-model="num" :min="1" />
</el-form-item>
<el-form-item label="检查依据" label-width="100px">
<el-input v-model="formDatas.evidenve" :row="2" type="textarea" />
</el-form-item>
<el-form-item label="备注说明" label-width="100px">
<el-input v-model="formDatas.remarks" :row="2" type="textarea" />
</el-form-item>
<el-form-item label="被考核部门" label-width="100px">
<el-tree-select ref="orgTreeRef" v-model="formDatas.department" show-checkbox multiple :data="rty" node-key="id" :props="orgTreeProp" />
</el-form-item>
<el-form-item label-width="100px" label="执行人">
<el-tree-select ref="orgTreeRef" v-model="formDatas.executor" clearable show-checkbox multiple :data="chl" node-key="key" :props="orgTreeProps" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm()">确定</el-button>
</el-form-item>
</el-form>
</el-dialog>
</template>
<style scoped>
</style>

146
src/views/opk/yui/new/lzq.vue

@ -1,67 +1,15 @@
<!--
@ 作者: 鲁智强
@ 时间: 2023-08-15 11:34:38
@ 备注: 部门指标点击考核指标点击修改
* @作者: 鲁智强
* @生成时间: 2023-08-15 11:34:38
* @修改时间: 2024-06-05
* @修改人: 袁纪菲
* @备注: 部门指标点击考核指标点击修改
-->
<template>
<el-dialog :model-value="true" title="编辑细则内容" style="width:40%" @close="handleClose">
<el-form ref="ruleFormRef" :data="zjr" class="demo-ruleForm">
<el-form-item label-width="100px" label="考核内容">
<el-input v-model="formData.title"/>
</el-form-item>
<el-form-item label-width="100px" label="考核标准">
<el-input v-model="formData.standard"/>
</el-form-item>
<el-form-item label-width="100px" label="计量单位">
<el-input v-model="formData.company"/>
</el-form-item>
<el-form-item label-width="100px" label="操作类型">
<el-select v-model="zjr.censorrate">
<el-option label="减分" :value="1" />
<el-option label="加分" :value="2" />
<el-option label="加减分" :value="3" />
</el-select>
</el-form-item>
<el-form-item label-width="100px" label="检查方式">
<el-select v-model="zjr.addorreduce">
<el-option label="现场检查" :value="1" />
<el-option label="资料审查" :value="2" />
<el-option label="事件触发" :value="3" />
</el-select>
</el-form-item>
<el-form-item label-width="100px" label="检查周期">
<el-select v-model="zjr.cycle">
<el-option label="月" :value="4" />
<el-option label="季度" :value="5" />
<el-option label="年" :value="6" />
</el-select>
</el-form-item>
<el-form-item label="辅助计数:" label-width="100px">
<el-input-number v-model="num" :min="1" />
</el-form-item>
<el-form-item label-width="100px" label="检查依据">
<el-input v-model="zjr.content" placeholder="请输入检查依据"/>
</el-form-item>
<el-form-item label-width="100px" label="备注说明">
<el-input v-model="zjr.censorcont" placeholder="请输入备注说明" />
</el-form-item>
<el-form-item label-width="100px" label="接受考核部门">
<el-tree-select ref="orgTreeRef" v-model="zjr.departmentidlist" show-checkbox multiple :data="lzq" node-key="id" :props="orgTreeProps" />
</el-form-item>
<el-form-item label-width="100px" label="执行人">
<el-tree-select ref="orgTreeRef" v-model="zjr.reportmanlist" show-checkbox multiple :data="chl" node-key="key" :props="orgTreeProps" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm()">确定</el-button>
</el-form-item>
</el-form>
</el-dialog>
</template>
<script lang="ts" setup>
import { reactive } from "vue";
import {get_target_details} from '@/api/opk/news/api'
import { addPostCont,getgroupuser } from '@/api/opk/api'
import { getonedetailedtarget,getcompany,edit_detail } from '@/api/opk/opk/api'
<script lang="ts" setup>
import { reactive } from "vue";
import {get_target_details} from '@/api/opk/news/api'
import { addPostCont,getgroupuser,get_org } from '@/api/opk/api'
import { getonedetailedtarget,getcompany,edit_detail } from '@/api/opk/opk/api'
const isshow = ref(false)
const num = (1)
@ -113,6 +61,7 @@ function getoned(){
})
}
getoned()
//
const lzq = ref<any>([])
function getcomp(){
getcompany({id:309,idstr:309})
@ -123,7 +72,7 @@ function getcomp(){
getcomp()
const chl = ref([])
function getgroup(){
getgroupuser({id:309,level:4})
get_org({id:"309",all:1})
.then(data=>{
chl.value = data.data
})
@ -136,14 +85,14 @@ function jjjs(){
tableData.value = data.data[3].child[14].child;
})
.catch(error => {
console.error('Error fetching data:', error);
console.error('获取数据错误:', error);
});
}
jjjs()
//
const handleClose = ()=> {
const handleClose = ()=> {
emit("update:lzqPostBox", false);
}
}
const handleDel = (val:any) => {
ElMessageBox.confirm("你确定删除这条信息吗?", "提示", {
confirmButtonText: "确认",
@ -159,7 +108,7 @@ const handleSure = (val:any)=> {
tableData.value.splice(index, 1);
}
}
const submitForm=()=> {
const submitForm=()=> {
const add = zjr._value.departmentidlist.toString(',').split(',')
const yrb = zjr._value.id
const chl = zjr._value.addorreduce.toString().split(',')
@ -176,12 +125,65 @@ const handleSure = (val:any)=> {
})
})
handleClose()
}
}
onMounted(()=>{
Object.assign(formData,props.rowInfo);
})
</script>
<style scoped>
</style>
</script>
<template>
<el-dialog :model-value="true" title="编辑细则内容" style="width:60%" @close="handleClose">
<el-form ref="ruleFormRef" :data="zjr" class="demo-ruleForm">
<el-form-item label-width="100px" label="考核内容">
<el-input v-model="formData.title"/>
</el-form-item>
<el-form-item label-width="100px" label="考核标准">
<el-input v-model="formData.standard"/>
</el-form-item>
<el-form-item label-width="100px" label="计量单位">
<el-input v-model="formData.company"/>
</el-form-item>
<el-form-item label-width="100px" label="操作类型">
<el-select v-model="zjr.censorrate">
<el-option label="减分" :value="1" />
<el-option label="加分" :value="2" />
<el-option label="加减分" :value="3" />
</el-select>
</el-form-item>
<el-form-item label-width="100px" label="检查方式">
<el-select v-model="zjr.addorreduce">
<el-option label="现场检查" :value="1" />
<el-option label="资料审查" :value="2" />
<el-option label="事件触发" :value="3" />
</el-select>
</el-form-item>
<el-form-item label-width="100px" label="检查周期">
<el-select v-model="zjr.cycle">
<el-option label="月" :value="4" />
<el-option label="季度" :value="5" />
<el-option label="年" :value="6" />
</el-select>
</el-form-item>
<el-form-item label="辅助计数:" label-width="100px">
<el-input-number v-model="num" :min="1" />
</el-form-item>
<el-form-item label-width="100px" label="检查依据">
<el-input v-model="zjr.content" placeholder="请输入检查依据"/>
</el-form-item>
<el-form-item label-width="100px" label="备注说明">
<el-input v-model="zjr.censorcont" placeholder="请输入备注说明" />
</el-form-item>
<el-form-item label-width="100px" label="接受考核部门">
<el-tree-select ref="orgTreeRef" v-model="zjr.departmentidlist" show-checkbox multiple :data="lzq" node-key="id" :props="orgTreeProps" />
</el-form-item>
<el-form-item label-width="100px" label="执行人">
<el-tree-select ref="orgTreeRef" v-model="zjr.reportmanlist" show-checkbox multiple :data="chl" node-key="key" :props="orgTreeProps" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm()">确定</el-button>
</el-form-item>
</el-form>
</el-dialog>
</template>
<style scoped>
</style>

61
src/views/opk/yui/new/ta.vue

@ -1,30 +1,14 @@
<!--
@ 作者: 鲁智强
@ 时间: 2023-08-15 11:34:38
@ 备注: 岗位指标点击考核指标点击修改
* @作者: 鲁智强
* @生成时间: 2023-08-15 11:34:38
* @修改时间: 2024-06-06
* @修改人: 袁纪菲
* @备注: 岗位指标点击考核指标项目操作点击修改
-->
<template>
<el-dialog :model-value="true" :title="title" @close="handleClose">
<el-form ref="ruleFormRef" :data="zjr">
<el-form-item label-width="100px" label="考核内容">
<el-input v-model="formData.columnName"/>
</el-form-item>
<el-form-item label-width="100px" label="接受考核部门">
<el-tree-select ref="orgTreeRef" v-model="formData.departments" :data="rty" node-key="id" :props="orgTreeProps" @check="getNodeKeys"/>
</el-form-item>
<el-form-item label-width="100px" label="执行人">
<el-tree-select ref="orgTreeRef" v-model="formData.reportary" show-checkbox multiple :data="chl" node-key="id" :props="orgTreeProps" @check="getNodeKey" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm()">确定</el-button>
</el-form-item>
</el-form>
</el-dialog>
</template>
<script lang="ts" setup>
import { reactive } from "vue";
import { getsontarget,table_add,edit_newson,getnew_target,get_organdpost } from '@/api/opk/opk/api'
import { getgroupuser,addPostCont } from '@/api/opk/api'
<script lang="ts" setup>
import { reactive } from "vue";
import { getsontarget,table_add,edit_newson,getnew_target,get_organdpost } from '@/api/opk/opk/api'
import { getgroupuser,addPostCont,get_org } from '@/api/opk/api'
const isshow = ref(false)
const num = ref(0)
@ -102,7 +86,7 @@ function getcomp(){
getcomp()
const chl = ref([])
function getgroup(){
getgroupuser({id:309,level:4})
get_org({id:"309",all:1})
.then(data=>{
chl.value = data.data
})
@ -128,9 +112,26 @@ getgroup()
}
})
}
</script>
<template>
<el-dialog :model-value="true" :title="title" style="width: 60%;" @close="handleClose">
<el-form ref="ruleFormRef" :data="zjr">
<el-form-item label-width="100px" label="项目名称">
<el-input v-model="formData.columnName"/>
</el-form-item>
<el-form-item label-width="100px" label="接受考核岗位">
<el-tree-select ref="orgTreeRef" v-model="formData.departments" multiple clearable :data="rty" node-key="id" :props="orgTreeProps" @check="getNodeKeys"/>
</el-form-item>
<el-form-item label-width="100px" label="执行人">
<el-tree-select ref="orgTreeRef" v-model="formData.reportary" clearable multiple :data="chl" node-key="id" :props="orgTreeProps" @check="getNodeKey" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm()">确定</el-button>
</el-form-item>
</el-form>
</el-dialog>
</template>
</script>
<style scoped>
</style>
<style scoped>
</style>

119
src/views/opk/yui/new/wyc.vue

@ -1,59 +1,14 @@
<!--
@ 作者: 鲁智强
@ 时间: 2023-08-15 11:34:38
@ 备注: 项目操作新增
* @作者: 鲁智强
* @生成时间: 2023-08-15 11:34:38
* @修改时间: 2024-06-03
* @修改人: 袁纪菲
* @备注: 部门指标项目操作新增
-->
<template>
<el-dialog :model-value="true" title="添加指标细则" style="width:30%" @close="handleClose">
<el-form ref="ruleFormRef" :model="formDatas" class="demo-ruleForm">
<el-form-item label="考核内容" label-width="100px">
<el-input v-model="formDatas.title" :row="2" type="textarea" />
</el-form-item>
<el-form-item label="考核标准" label-width="100px">
<el-input v-model="formDatas.standard" :row="2" type="textarea" />
</el-form-item>
<el-form-item label="单位" label-width="100px">
<el-input v-model="formDatas.unit"/>
</el-form-item>
<el-form-item label-width="100px" label="操作类型">
<el-select v-model="formDatas.types">
<el-option label="减分" :value="1" />
<el-option label="加分" :value="2" />
<el-option label="加减分" :value="3" />
</el-select>
</el-form-item>
<el-form-item label-width="100px" label="检查方式">
<el-select v-model="uio">
<el-option label="现场检查" value="1" />
<el-option label="资料审查" value="2" />
<el-option label="事件触发" value="3" />
</el-select>
</el-form-item>
<el-form-item label="辅助计数:" label-width="100px">
<el-input-number v-model="num" :min="1" />
</el-form-item>
<el-form-item label="检查依据" label-width="100px">
<el-input v-model="formDatas.evidenve" :row="2" type="textarea" />
</el-form-item>
<el-form-item label="备注说明" label-width="100px">
<el-input v-model="formDatas.remarks" :row="2" type="textarea" />
</el-form-item>
<el-form-item label="被考核部门" label-width="100px">
<el-tree-select ref="orgTreeRef" v-model="formDatas.department" multiple :data="zjr" node-key="id" :props="orgTreeProps" />
</el-form-item>
<el-form-item label-width="100px" label="执行人">
<el-tree-select ref="orgTreeRef" v-model="formDatas.executor" multiple :data="chl" node-key="key" :props="orgTreeProps" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm()">确定</el-button>
</el-form-item>
</el-form>
</el-dialog>
</template>
<script lang="ts" setup>
import { reactive } from "vue";
import {getsontarget,table_add} from '@/api/opk/opk/api'
import { getgroupuser } from '@/api/opk/api'
<script lang="ts" setup>
import { reactive } from "vue";
import {getsontarget,table_add,getcompany} from '@/api/opk/opk/api'
import { getgroupuser,get_org } from '@/api/opk/api'
const isshow = ref(false)
const uio = ref("")
@ -103,18 +58,18 @@ const formDatas = reactive({
const formData = reactive({
frequency:"",
})
//
const zjr = ref([])
function getsont(){
const add = props.rowInfo.parentid.toString()
getsontarget({id:add})
getcompany({id:309,idstr:309})
.then(data=>{
zjr.value = data.data.departmentcont
zjr.value = data.data
})
}
getsont()
const chl = ref([])
function getgroup(){
getgroupuser({id:309,level:4})
get_org({id:"309",all:1})
.then(data=>{
chl.value = data.data
})
@ -148,6 +103,54 @@ const submitForm=()=> {
Object.assign(formData,props.rowInfo);
})
</script>
<template>
<el-dialog :model-value="true" title="添加指标细则" style="width:60%" @close="handleClose">
<el-form ref="ruleFormRef" :model="formDatas" class="demo-ruleForm">
<el-form-item label="考核内容" label-width="100px">
<el-input v-model="formDatas.title" :row="2" type="textarea" />
</el-form-item>
<el-form-item label="考核标准" label-width="100px">
<el-input v-model="formDatas.standard" :row="2" type="textarea" />
</el-form-item>
<el-form-item label="单位" label-width="100px">
<el-input v-model="formDatas.unit"/>
</el-form-item>
<el-form-item label-width="100px" label="操作类型">
<el-select v-model="formDatas.types">
<el-option label="减分" :value="1" />
<el-option label="加分" :value="2" />
<el-option label="加减分" :value="3" />
</el-select>
</el-form-item>
<el-form-item label-width="100px" label="检查方式">
<el-select v-model="uio">
<el-option label="现场检查" value="1" />
<el-option label="资料审查" value="2" />
<el-option label="事件触发" value="3" />
</el-select>
</el-form-item>
<el-form-item label="辅助计数:" label-width="100px">
<el-input-number v-model="num" :min="1" />
</el-form-item>
<el-form-item label="检查依据" label-width="100px">
<el-input v-model="formDatas.evidenve" :row="2" type="textarea" />
</el-form-item>
<el-form-item label="备注说明" label-width="100px">
<el-input v-model="formDatas.remarks" :row="2" type="textarea" />
</el-form-item>
<el-form-item label="被考核部门" label-width="100px">
<el-tree-select ref="orgTreeRef" v-model="formDatas.department" show-checkbox multiple :data="zjr" node-key="id" :props="orgTreeProps" />
</el-form-item>
<el-form-item label-width="100px" label="执行人">
<el-tree-select ref="orgTreeRef" v-model="formDatas.executor" clearable show-checkbox multiple :data="chl" node-key="key" :props="orgTreeProps" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm()">确定</el-button>
</el-form-item>
</el-form>
</el-dialog>
</template>
<style scoped>
</style>

142
src/views/opk/yui/new/xy.vue

@ -1,77 +1,12 @@
<!--
@ 作者: 鲁智强
@ 时间: 2023-08-15 11:34:38
@ 备注: 岗位指标点击考核指标点击修改
@ 备注: 岗位指标点击考核指标点击修改指标细则
-->
<template>
<el-dialog :model-value="true" title="修改指标细则" @close="handleClose">
<el-form ref="ruleFormRef" :data="zjr" class="demo-ruleForm">
<el-form-item label-width="100px" label="考核内容">
<el-input v-model="zjr.title"/>
</el-form-item>
<el-form-item label-width="100px" label="操作属性">
<el-select v-model="zjr.punishmode">
<el-option label="分数" :value="1" />
<el-option label="现金" :value="2" />
<el-option label="分数和现金" :value="3" />
</el-select>
</el-form-item>
<el-form-item label-width="100px" label="考核标准">
<el-input v-model="zjr.referencescore"/>
</el-form-item>
<el-form-item label-width="100px" label="计量单位">
<el-input v-model="zjr.unit"/>
</el-form-item>
<el-form-item label-width="100px" label="现金标准">
<el-input v-model="zjr.cashstandard"/>
</el-form-item>
<el-form-item label-width="100px" label="操作类型">
<el-select v-model="zjr.class">
<el-option label="扣除" :value="1" />
<el-option label="增加" :value="2" />
<el-option label="现场确认扣除/增加" :value="3" />
</el-select>
</el-form-item>
<el-form-item label-width="100px" label="检查方式">
<el-select v-model="zjr.inspectint" multiple>
<el-option label="现场检查" :value="1" />
<el-option label="资料审查" :value="2" />
<el-option label="事件触发" :value="3" />
</el-select>
</el-form-item>
<el-form-item label-width="100px" label="检查周期">
<el-select v-model="zjr.cycleattr">
<el-option label="月" :value="1" />
<el-option label="季度" :value="2" />
<el-option label="年" :value="3" />
</el-select>
</el-form-item>
<el-form-item label="辅助计数:" label-width="100px">
<el-input-number v-model="num" :min="1" />
</el-form-item>
<el-form-item label-width="100px" label="检查依据">
<el-input v-model="zjr.evidence" placeholder="请输入检查依据"/>
</el-form-item>
<el-form-item label-width="100px" label="备注说明">
<el-input v-model="zjr.explain" placeholder="请输入备注说明" />
</el-form-item>
<el-form-item label-width="100px" label="岗位/提报人">
<span>关联岗位</span>
<el-tree-select ref="orgTreeRef" v-model="formData.value1" show-checkbox clearable node-key="id" class="orgTree" :data="rty" :props="orgTreeProps" :render-after-expand="false"/>
<span>提报人</span>
<el-tree-select ref="orgTreeRef" v-model="formData.xf" show-checkbox multiple clearable node-key="id" class="orgTree" :data="ert" :props="orgTreeProps" :render-after-expand="false"/>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm()">确定</el-button>
</el-form-item>
</el-form>
</el-dialog>
</template>
<script lang="ts" setup>
import { reactive } from "vue";
import { getdetailscont,getnew_target,edit_post,get_organdpost } from '@/api/opk/opk/api'
import {getgroupuser} from '@/api/opk/api'
<script lang="ts" setup>
import { reactive } from "vue";
import { getdetailscont,getnew_target,edit_post,get_organdpost } from '@/api/opk/opk/api'
import {getgroupuser,get_org} from '@/api/opk/api'
const isshow = ref(false)
const num = (1)
@ -131,7 +66,7 @@ function getoneds(){
getoneds()
const ert = ref([])
function getgroup(){
getgroupuser({id:309,level:4})
get_org({id:"309",all:1})
.then(data=>{
ert.value = data.data
})
@ -181,6 +116,71 @@ const handleDel = (val:any) => {
Object.assign(formData,props.rowInfo);
})
</script>
<template>
<el-dialog :model-value="true" title="修改指标细则" style="width: 60%;" @close="handleClose">
<el-form ref="ruleFormRef" :data="zjr" class="demo-ruleForm">
<el-form-item label-width="100px" label="考核内容">
<el-input v-model="zjr.title"/>
</el-form-item>
<el-form-item label-width="100px" label="操作属性">
<el-select v-model="zjr.punishmode">
<el-option label="分数" :value="1" />
<el-option label="现金" :value="2" />
<el-option label="分数和现金" :value="3" />
</el-select>
</el-form-item>
<el-form-item label-width="100px" label="考核标准">
<el-input v-model="zjr.referencescore"/>
</el-form-item>
<el-form-item label-width="100px" label="计量单位">
<el-input v-model="zjr.unit"/>
</el-form-item>
<el-form-item label-width="100px" label="现金标准">
<el-input v-model="zjr.cashstandard"/>
</el-form-item>
<el-form-item label-width="100px" label="操作类型">
<el-select v-model="zjr.class">
<el-option label="扣除" :value="1" />
<el-option label="增加" :value="2" />
<el-option label="现场确认扣除/增加" :value="3" />
</el-select>
</el-form-item>
<el-form-item label-width="100px" label="检查方式">
<el-select v-model="zjr.inspectint" multiple>
<el-option label="现场检查" :value="1" />
<el-option label="资料审查" :value="2" />
<el-option label="事件触发" :value="3" />
</el-select>
</el-form-item>
<el-form-item label-width="100px" label="检查周期">
<el-select v-model="zjr.cycleattr">
<el-option label="月" :value="1" />
<el-option label="季度" :value="2" />
<el-option label="年" :value="3" />
</el-select>
</el-form-item>
<el-form-item label="辅助计数:" label-width="100px">
<el-input-number v-model="num" :min="1" />
</el-form-item>
<el-form-item label-width="100px" label="检查依据">
<el-input v-model="zjr.evidence" placeholder="请输入检查依据"/>
</el-form-item>
<el-form-item label-width="100px" label="备注说明">
<el-input v-model="zjr.explain" placeholder="请输入备注说明" />
</el-form-item>
<el-form-item label-width="100px" label="岗位/提报人">
<span>关联岗位</span>
<el-tree-select ref="orgTreeRef" v-model="formData.value1" show-checkbox multiple clearable node-key="id" class="orgTree" :data="rty" :props="orgTreeProps" :render-after-expand="false"/>
<span>提报人</span>
<el-tree-select ref="orgTreeRef" v-model="formData.xf" show-checkbox multiple clearable node-key="id" class="orgTree" :data="ert" :props="orgTreeProps" :render-after-expand="false"/>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm()">确定</el-button>
</el-form-item>
</el-form>
</el-dialog>
</template>
<style scoped>
</style>

186
src/views/opk/yui/new/zjr.vue

@ -1,95 +1,14 @@
<!--
@ 作者: 鲁智强
@ 时间: 2023-08-15 11:34:38
@ 备注: 部门指标点击考核指标
* @作者: 鲁智强
* @生成时间: 2023-08-15 11:34:38
* @修改时间: 2024-05-31
* @修改人: 袁纪菲
* @备注: 部门指标点击考核指标
-->
<template>
<el-dialog :model-value="true" :title="titles" style="width:85%" @close="handleClose">
<el-form ref="ruleFormRef" :model="formData" class="demo-ruleForm">
<el-form-item label-width="100px" label="行政组织:">
<el-container>
<el-form>
<el-tree-select ref="orgTreeRef" v-model="formData.organization" check-strictly show-checkbox clearable multiple node-key="id" class="orgTree" :data="tableData" :props="orgTreeProps" :default-expand-all="false"/>
</el-form>
<el-form>
<el-form-item label-width="100px" label="检查方式:">
<el-select v-model="formData.manner">
<el-option label="现场检查" :value="1" />
<el-option label="资料审查" :value="2" />
<el-option label="事件触发" :value="3" />
</el-select>
</el-form-item>
</el-form>
<el-form>
<el-form-item label-width="100px" label="检查周期:">
<el-select v-model="formData.cycle">
<el-option label="月" :value="4" />
<el-option label="季度" :value="5" />
<el-option label="年" :value="6" />
</el-select>
</el-form-item>
</el-form>
<el-form>
<el-form-item label-width="10px">
<el-button type="primary" @click="get_target"><el-icon><Search /></el-icon></el-button>
</el-form-item>
</el-form>
</el-container>
</el-form-item>
<el-form-item label-width="10px">
<el-table :span-method="objectSpanMethod" :data="zjr" border>
<el-table-column prop="columnname" label="考核项目" width="90"/>
<el-table-column prop="jibuqi" label="序号" width="60"/>
<el-table-column prop="title" label="考核内容" width="400"/>
<el-table-column prop="standard" label="考核标准"/>
<el-table-column prop="company" label="单位"/>
<el-table-column prop="censortype" label="检查方式">
<template #default="scope">
<span v-for="(item,index) in scope.row.censortype" :key="index">
<el-tag v-if="item== '1'">现场检查</el-tag>
<el-tag v-if="item== '2'" type="warning">资料审查</el-tag>
<el-tag v-if="item== '3'" type="danger">事件触发</el-tag>
</span>
</template>
</el-table-column>
<el-table-column prop="censorcont" label="客观证据"/>
<el-table-column prop="addreduce" label="检查周期">
<template #default="scope">
<span v-if="scope.row.addreduce== 1">一次/</span>
<span v-if="scope.row.addreduce== 2">一次/</span>
</template>
</el-table-column>
<el-table-column prop="content" label="备注说明"/>
<el-table-column prop="" label="状态" width="70">
<template #default="scope">
<el-switch v-model="scope.row.status" class="ml-2" inline-prompt style="--el-switch-on-color: #ff4949; --el-switch-off-color: #13ce66" @change="editPostState(scope.row.id,scope.row.state)"/>
</template>
</el-table-column>
<el-table-column fixed="right" label="操作" width="135">
<template #default="{ row }">
<el-button type="primary" link @click="handleErd(row)"><el-icon><EditPen /></el-icon></el-button>
<el-button type="primary" link @click="handleDel(row)"><el-icon><Delete /></el-icon></el-button>
</template>
</el-table-column>
<el-table-column fixed="right" label="项目操作" width="200">
<template #default="{ row }">
<el-button type="primary" link @click="zjrhandleadd(row)"><el-icon><Plus /></el-icon></el-button>
<el-button type="primary" link @click="zjrhandleErd(row)"><el-icon><EditPen /></el-icon></el-button>
<el-button type="primary" link @click="zjrhandleDel(row)"><el-icon><Delete /></el-icon></el-button>
</template>
</el-table-column>
</el-table>
</el-form-item>
</el-form>
<Lzq v-if="data.lzqPostBox" v-model="data.lzqPostBox" :title="title" :row-info="rowInfo"></Lzq>
<Wyc v-if="data.wycPostBox" v-model="data.wycPostBox" :title="title" :row-info="rowInfo"></Wyc>
<Zz v-if="data.zzPostBox" v-model="data.zzPostBox" :title="title" :row-info="rowInfo"></Zz>
</el-dialog>
</template>
<script lang="ts" setup>
<script lang="ts" setup>
import { reactive } from "vue";
import { get_target_details } from '@/api/opk/news/api'
import { addPostCont } from '@/api/opk/api'
import { addPostCont,govthree } from '@/api/opk/api'
import { edit_details,delsontar } from '@/api/opk/opk/api'
import Wyc from './wyc.vue'
import Lzq from './lzq.vue'
@ -184,12 +103,12 @@ function get_target(){
get_target()
const tableData = ref<any>([])
function jjjs(){
addPostCont("/hrapi/org/govthree","post")
.then(data => {
tableData.value = data.data[3].child[14].child;
govthree({id:309,all:1})
.then(data=>{
tableData.value = data.data;
})
.catch(error => {
console.error('Error fetching data:', error);
console.error('获取数据错误:', error);
});
}
jjjs()
@ -278,6 +197,89 @@ function objectSpanMethod({row, column, rowIndex, columnIndex}:any){
Object.assign(formData,props.rowInfo);
})
</script>
<template>
<el-dialog :model-value="true" :title="titles" style="width:90%" @close="handleClose">
<el-form ref="ruleFormRef" :model="formData" class="demo-ruleForm">
<el-form-item label-width="100px" label="行政组织:">
<el-container>
<el-form>
<el-tree-select ref="orgTreeRef" v-model="formData.organization" :check-strictly="true" show-checkbox clearable multiple node-key="id" class="orgTree" :data="tableData" :props="orgTreeProps" :default-expand-all="false"/>
</el-form>
<el-form>
<el-form-item label-width="100px" label="检查方式:">
<el-select v-model="formData.manner">
<el-option label="现场检查" :value="1" />
<el-option label="资料审查" :value="2" />
<el-option label="事件触发" :value="3" />
</el-select>
</el-form-item>
</el-form>
<el-form>
<el-form-item label-width="100px" label="检查周期:">
<el-select v-model="formData.cycle">
<el-option label="月" :value="4" />
<el-option label="季度" :value="5" />
<el-option label="年" :value="6" />
</el-select>
</el-form-item>
</el-form>
<el-form>
<el-form-item label-width="10px">
<el-button type="primary" @click="get_target"><el-icon><Search /></el-icon></el-button>
</el-form-item>
</el-form>
</el-container>
</el-form-item>
<el-form-item label-width="10px">
<el-table :span-method="objectSpanMethod" :data="zjr" border>
<el-table-column prop="columnname" label="考核项目" width="90"/>
<el-table-column prop="jibuqi" label="序号" width="60"/>
<el-table-column prop="title" label="考核内容" width="400"/>
<el-table-column prop="standard" label="考核标准"/>
<el-table-column prop="company" label="单位"/>
<el-table-column prop="censortype" label="检查方式">
<template #default="scope">
<span v-for="(item,index) in scope.row.censortype" :key="index">
<el-tag v-if="item== '1'">现场检查</el-tag>
<el-tag v-if="item== '2'" type="warning">资料审查</el-tag>
<el-tag v-if="item== '3'" type="danger">事件触发</el-tag>
</span>
</template>
</el-table-column>
<el-table-column prop="censorcont" label="客观证据"/>
<el-table-column prop="addreduce" label="检查周期">
<template #default="scope">
<span v-if="scope.row.addreduce== 1">一次/</span>
<span v-if="scope.row.addreduce== 2">一次/</span>
</template>
</el-table-column>
<el-table-column prop="content" label="备注说明"/>
<el-table-column prop="" label="状态" width="70">
<template #default="scope">
<el-switch v-model="scope.row.status" class="ml-2" inline-prompt style="--el-switch-on-color: #ff4949; --el-switch-off-color: #13ce66" @change="editPostState(scope.row.id,scope.row.state)"/>
</template>
</el-table-column>
<el-table-column fixed="right" label="操作" width="135">
<template #default="{ row }">
<el-button type="primary" link @click="handleErd(row)"><el-icon><EditPen /></el-icon></el-button>
<el-button type="primary" link @click="handleDel(row)"><el-icon><Delete /></el-icon></el-button>
</template>
</el-table-column>
<el-table-column fixed="right" label="项目操作" width="200">
<template #default="{ row }">
<el-button type="primary" link @click="zjrhandleadd(row)"><el-icon><Plus /></el-icon></el-button>
<el-button type="primary" link @click="zjrhandleErd(row)"><el-icon><EditPen /></el-icon></el-button>
<el-button type="primary" link @click="zjrhandleDel(row)"><el-icon><Delete /></el-icon></el-button>
</template>
</el-table-column>
</el-table>
</el-form-item>
</el-form>
<Lzq v-if="data.lzqPostBox" v-model="data.lzqPostBox" :title="title" :row-info="rowInfo"></Lzq>
<Wyc v-if="data.wycPostBox" v-model="data.wycPostBox" :title="title" :row-info="rowInfo"></Wyc>
<Zz v-if="data.zzPostBox" v-model="data.zzPostBox" :title="title" :row-info="rowInfo"></Zz>
</el-dialog>
</template>
<style scoped>
</style>

71
src/views/opk/yui/new/zz.vue

@ -1,30 +1,14 @@
<!--
@ 作者: 鲁智强
@ 时间: 2023-08-15 11:34:38
@ 备注: 部门指标点击考核指标点击修改
* @作者: 鲁智强
* @生成时间: 2023-08-15 11:34:38
* @修改时间: 2024-06-03
* @修改人: 袁纪菲
* @备注: 部门指标点击考核指标项目操作点击修改
-->
<template>
<el-dialog :model-value="true" :title="title" style="width:15%" @close="handleClose">
<el-form ref="ruleFormRef" :data="zjr" class="demo-ruleForm">
<el-form-item label-width="100px" label="考核内容">
<el-input v-model="formData.columnname"/>
</el-form-item>
<el-form-item label-width="100px" label="接受考核部门">
<el-tree-select ref="orgTreeRef" v-model="formData.paretment" show-checkbox clearable multiple :data="lzq" node-key="id" :props="orgTreeProps" />
</el-form-item>
<el-form-item label-width="100px" label="执行人">
<el-tree-select ref="orgTreeRef" v-model="formData.reportary" show-checkbox clearable multiple :data="chl" node-key="id" :props="orgTreeProps" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm()">确定</el-button>
</el-form-item>
</el-form>
</el-dialog>
</template>
<script lang="ts" setup>
import { reactive } from "vue";
import { getsontarget,table_add,edit_table } from '@/api/opk/opk/api'
import { getgroupuser,addPostCont } from '@/api/opk/api'
<script lang="ts" setup>
import { reactive } from "vue";
import { getsontarget,table_add,edit_table } from '@/api/opk/opk/api'
import { getgroupuser,addPostCont,govthree,get_org } from '@/api/opk/api'
const isshow = ref(false)
const num = ref(1)
@ -74,15 +58,18 @@ function getoned(){
getoned()
const lzq = ref([])
function getcomp(){
addPostCont("/hrapi/org/govthree","post")
.then(data => {
lzq.value = data.data[3].child[14].child;
})
govthree({id:309,all:1})
.then(data=>{
lzq.value = data.data;
})
.catch(error => {
console.error('获取数据错误:', error);
});
}
getcomp()
const chl = ref([])
function getgroup(){
getgroupuser({id:309,level:4})
get_org({id:"309",all:1})
.then(data=>{
chl.value = data.data
})
@ -113,7 +100,25 @@ getgroup()
Object.assign(formData,props.rowInfo);
})
</script>
<style scoped>
</style>
<template>
<el-dialog :model-value="true" title="编辑项目" style="width:60%" @close="handleClose">
<el-form ref="ruleFormRef" :data="zjr" class="demo-ruleForm">
<el-form-item label-width="100px" label="项目名称">
<el-input v-model="formData.columnname"/>
</el-form-item>
<el-form-item label-width="100px" label="接受考核部门">
<el-tree-select ref="orgTreeRef" v-model="formData.paretment" show-checkbox clearable multiple :data="lzq" node-key="id" :props="orgTreeProps" />
</el-form-item>
<el-form-item label-width="100px" label="执行人">
<el-tree-select ref="orgTreeRef" v-model="formData.reportary" show-checkbox clearable multiple :data="chl" node-key="id" :props="orgTreeProps" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm()">确定</el-button>
</el-form-item>
</el-form>
</el-dialog>
</template>
<style scoped>
</style>

86
src/views/opk/yui/public/aa.vue

@ -1,7 +1,9 @@
<!--
@ 作者: 鲁智强
@ 时间: 2023-09-18 10:12:43
@ 备注: 考核维度
* @作者: 鲁智强
* @生成时间: 2023-09-18 10:12:43
* @修改时间: 2024-05-23
* @修改人: 袁纪菲
* @备注: 考核维度
-->
<script lang='ts' setup>
import {ref,reactive} from 'vue'
@ -13,11 +15,13 @@ const formInline = reactive({
region:'',
user:'',
})
//
const data = reactive({
addPostBox: false,
editPostCont: false,
addrowinfo:{},
})
//
let rowInfo = ref<any>({})
interface posts {
title:string;
@ -26,38 +30,55 @@ const addCont = ()=>{
data.addPostBox = true;
}
const tableData = ref<any>([])
//
const posts = reactive({
page:1,
pagesize:20,
title:"",
state:1,
})
//
const total = ref(0); //
const handlePageChange = (currentPage: number) => {
posts.page = currentPage;
editPost();
};
//
const editPost = () => {
editPostCont(posts)
.then(data => {
tableData.value = data.data.list;
//
total.value = data.data.total; //
})
.catch(error => {
console.error('Error fetching data:', error);
console.error('获取数据错误:', error);
});
}
editPost()
const postIds = ref<number[]>([])
//
const handleEdit = (val:any)=>{
data.editPostCont= true,
rowInfo = val;
}
//
function editPostState(classId:number,outIDs:string,state?:number){
//
async function editPostState(classId:number,outIDs:string,state?:number){
console.log("改变状态--------->",classId,status)
let statusVal = 1
if(state == 1) statusVal = 2;
handleCont({id:classId,outID:outIDs,state:statusVal,isdel:0})
editPostCont()
try {
// API
await handleCont({ id: classId, outID: outIDs, state: statusVal, isdel: 0 });
// 2
if (statusVal === 2) {
handleSure({ id: classId, outId: outIDs }); //
}
//
editPost();
} catch (error) {
console.error('更改状态错误:', error);
}
}
//
//
const handleDel = (val:any)=>{
const dictTypeIds = [val.outID || postIds.value].join(",");
let dictTypeIdAry = dictTypeIds.split(",")
@ -76,18 +97,33 @@ const handleDel = (val:any)=>{
})
}
//
const handleSure=(val:any)=>{
const index = tableData.value.findIndex((item:any)=>item.id === val.id)
if(index!=-1){
tableData.value.splice(index, 1);
}
}
//
const editRow = (val:any)=> {
let index = tableData.findIndex(
(item: { id: any; }, index: any) => item.id === val.id
);
tableData.splice(index, 1, val);
}
//
const refreshDataList = () => {
editPostCont().then(data => {
tableData.value = data.data.list;
console.log('获取的数据:', data.data.list);
}).catch(error => {
console.error('获取数据错误:', error);
});
};
onMounted(() => {
//
refreshDataList();
});
</script>
<template>
<el-col class="yui" :span="24">
@ -97,8 +133,8 @@ const editRow = (val:any)=> {
<el-form-item label="考核维度名称">
<el-input v-model="posts.title" placeholder="请输入名称" clearable />
</el-form-item>
<el-form-item label="指标名称" v-model="posts">
<el-select v-model="posts.state" placeholder="请输入名称" clearable>
<el-form-item label="考核维度状态" v-model="posts">
<el-select v-model="posts.state" placeholder="请选择状态" clearable>
<el-option label="正常" :value="1" />
<el-option label="禁止" :value="2" />
</el-select>
@ -108,7 +144,7 @@ const editRow = (val:any)=> {
<el-button><el-icon><Refresh /></el-icon></el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="addCont"><el-icon><CirclePlus /></el-icon></el-button>
<el-button type="primary" @click="addCont"><el-icon><Plus /></el-icon></el-button>
</el-form-item>
</el-form>
</div>
@ -119,7 +155,14 @@ const editRow = (val:any)=> {
<el-table-column prop="sort" label="排序"/>
<el-table-column prop="state" label="状态" width="70">
<template #default="scope">
<el-switch v-model="scope.row.status" class="ml-2" inline-prompt style="--el-switch-on-color: #ff4949; --el-switch-off-color: #13ce66" active-text="禁用" inactive-text="启用" @change="editPostState(scope.row.id,scope.row.outId,scope.row.state)"/>
<el-switch
v-model="scope.row.status"
class="ml-2"
inline-prompt
style="--el-switch-on-color: #ff4949; --el-switch-off-color: #13ce66"
active-text="禁用"
inactive-text="启用"
@change="editPostState(scope.row.id,scope.row.outId,scope.row.state)"/>
</template>
</el-table-column>
<el-table-column fixed="right" label="操作">
@ -129,9 +172,17 @@ const editRow = (val:any)=> {
</template>
</el-table-column>
</el-table>
<el-pagination
v-model:current-page="posts.page"
v-model:page-size="posts.pagesize"
:page-sizes="[10, 20, 30, 40]"
:total="total"
layout="total,sizes,prev, pager, next, jumper"
@current-change="handlePageChange"
/>
</el-col>
<Dialog v-if="data.addPostBox" v-model="data.addPostBox" :row-info="data.addrowinfo" :title="title" :array-num="tableData.length" @restdatalist="editPost" ></Dialog>
<Edit v-if="data.editPostCont" v-model="data.editPostCont" :row-info="rowInfo" :title="title" :array-num="tableData.length" @restdatalist="editPost" @edit-row="editRow"></Edit>
<Dialog v-if="data.addPostBox" v-model="data.addPostBox" :row-info="data.addrowinfo" :title="title" :array-num="tableData.length" @restdatalist="editPost" @update:addPostBox="(value) => (data.addPostBox = value)" @add-row="editPost"></Dialog>
<Edit v-if="data.editPostCont" v-model="data.editPostCont" :row-info="rowInfo" :title="title" :array-num="tableData.length" @restdatalist="editPost" @edit-row="editRow" @update:editPostCont="(value) => (data.editPostCont = value)" @edit-done="editPost" @updateDataList="refreshDataList"></Edit>
</template>
<style lang='scss' scoped>
.el-switch {
@ -143,5 +194,6 @@ const editRow = (val:any)=> {
}
.yui{
background-color: #fff;
height: calc(100vh - 100px);
}
</style>

187
src/views/opk/yui/public/dialog.vue

@ -1,10 +1,101 @@
<!--
@ 作者: 鲁智强
@ 时间: 2023-08-15 11:34:38
@ 备注:
* @作者: 鲁智强
* @生成时间: 2023-08-15 11:34:38
* @修改时间: 2024-05-28
* @修改人: 袁纪菲
* @备注: 新增考核维度
-->
<script lang="ts" setup>
import { reactive } from "vue";
import {adddutyclass,editPostCont} from '@/api/opk/pulic/api'
//
interface FormInfo {
id: string;
age: string;
name: string;
sex: string;
ccc: string;
ade: string;
sort: number;
title: string;
type: number;
}
//
interface formData {
type: number;
title: string;
sort: number;
}
const props= defineProps( {
title: {
type: String,
default: "",
},
adddPostBox: {
type: Boolean,
default: false,
},
addrowInfo: {
type: Object as () => FormInfo,
default() {
return {};
},
},
arrayNum: {
type: Number,
default: 0,
},
});
const emit = defineEmits(["update:addPostBox","editRow","addRow"])
const formData = reactive({
title:"",
type: 1,
sort: props.arrayNum+1,
})
const tableData = ref<any>([])
function jjjs(){
editPostCont()
.then(data => {
tableData.value = data.data.list;
//
console.log('获取的数据:',tableData.value);
})
.catch(error => {
console.error('获取数据错误:', error);
});
}
jjjs()
//
const handleClose = ()=> {
emit("update:addPostBox", false);
}
const submitForm=()=> {
handleClose()
if (props.addrowInfo.name) {
//
const id = props.addrowInfo; // ID
emit("editRow", formData);
} else {
//
adddutyclass(formData)
.then((response:any) => {
//
if (response.code === 200) {
ElMessage.success("");
emit("addRow", formData);
jjjs(); //
} else {
//
ElMessage.error("新增失败");
}
})
}
}
</script>
<template>
<el-dialog :model-value="true" :title="title" @close="handleClose" style="width:20%">
<el-dialog :model-value="true" :title="title" @close="handleClose" style="width:50%">
<el-form
ref="ruleFormRef"
:model="formData"
@ -15,7 +106,7 @@
<el-input v-model="formData.title" placeholder="请输入标题"></el-input>
</el-form-item>
<el-form-item label="排序:" prop="sort">
<el-input v-model="formData.sort" placeholder="请输入标题"></el-input>
<el-input v-model="formData.sort" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm()">确定</el-button>
@ -23,93 +114,7 @@
</el-form>
</el-dialog>
</template>
<script lang="ts" setup>
import { reactive } from "vue";
import {adddutyclass,editPostCont} from '@/api/opk/pulic/api'
interface FormInfo {
id: string;
age: string;
name: string;
sex: string;
ccc: string;
ade: string;
sort: number;
title: string;
type: number;
}
interface formData {
type: number;
title: string;
sort: number;
}
const props= defineProps( {
title: {
type: String,
default: "",
},
adddPostBox: {
type: Boolean,
default: false,
},
addrowInfo: {
type: Object as () => FormInfo,
default() {
return {};
},
},
arrayNum: {
type: Number,
default: 0,
},
});
const emit = defineEmits(["update:adddPostBox","editRow","addRow"])
const formData = reactive({
title:"",
type: 1,
sort: props.arrayNum+1,
})
const addPost = false;
const tableData = ref<any>([])
function jjjs(){
editPostCont()
.then(data => {
tableData.value = data.data.list;
//
console.log('获取的数据:',tableData.value);
})
.catch(error => {
console.error('Error fetching data:', error);
});
}
jjjs()
//
const handleClose = ()=> {
emit("update:adddPostBox", false);
}
const submitForm=()=> {
handleClose()
if (props.addrowInfo.name) {
//
const id = props.addrowInfo; // ID
emit("editRow", formData);
} else {
//
adddutyclass(formData)
.then((response:any) => {
//
if (response.code === 200) {
ElMessage.success("");
emit("addRow", formData);
} else {
//
ElMessage.error("新增成功");
}
})
}
}
</script>
<style lang="scss">
</style>

146
src/views/opk/yui/public/editduty.vue

@ -1,10 +1,76 @@
<!--
@ 作者: 鲁智强
@ 时间: 2023-08-15 11:34:38
@ 备注:
* @作者: 鲁智强
* @生成时间: 2023-08-15 11:34:38
* @修改时间: 2024-05-29
* @修改人: 袁纪菲
* @备注: 编辑考核维度
-->
<script lang="ts" setup>
import { reactive } from "vue";
import {adddutyclass,editPostCont,getdutyclassinfo,eitedutyclassinfo} from '@/api/opk/pulic/api'
interface FormInfo {
id: number;
sort: number;
title: string;
type: number;
outId:string;
}
const props= defineProps( {
title: {
type: String,
default: "",
},
editPostCont: {
type: Boolean,
default: false,
},
rowInfo: {
type: Object as () => FormInfo,
default() {
return {};
},
},
arrayNum: {
type: Number,
default: 0,
},
});
const emit = defineEmits(["update:editPostCont","editRow","addRow"])
const addPost = false;
const tableData = ref<any>([])
function jjjs(){
editPostCont()
.then(data => {
tableData.value = data.data.list;
//
console.log('获取的数据:',tableData.value);
})
.catch(error => {
console.error('Error fetching data:', error);
});
}
const formData = reactive({
title:"",
outId:"",
sort: 1,
})
//
const handleClose = ()=> {
emit("update:editPostCont", false);
}
const submitForm=(val:any)=> {
eitedutyclassinfo(formData).then(()=>
ElMessage.success("编辑成功"))
handleClose()
jjjs()
}
onMounted(()=>{
Object.assign(formData, props.rowInfo);
})
</script>
<template>
<el-dialog :model-value="true" :title="title" @close="handleClose" style="width:30%">
<el-dialog :model-value="true" :title="title" @close="handleClose" style="width:60%">
<el-form ref="ruleFormRef" :model="formData" label-width="120px" class="demo-ruleForm">
<el-form-item label="考核维度名称:" prop="title">
<el-input v-model="formData.title" placeholder="请输入标题"></el-input>
@ -20,75 +86,9 @@
</el-form-item>
</el-form>
</el-dialog>
</template>
<script lang="ts" setup>
import { reactive } from "vue";
import {adddutyclass,editPostCont,getdutyclassinfo,eitedutyclassinfo} from '@/api/opk/pulic/api'
</template>
interface FormInfo {
id: number;
sort: number;
title: string;
type: number;
outId:string;
}
const props= defineProps( {
title: {
type: String,
default: "",
},
editPostCont: {
type: Boolean,
default: false,
},
rowInfo: {
type: Object as () => FormInfo,
default() {
return {};
},
},
arrayNum: {
type: Number,
default: 0,
},
});
const emit = defineEmits(["update:editPostCont","editRow","addRow"])
const addPost = false;
const tableData = ref<any>([])
function jjjs(){
editPostCont()
.then(data => {
tableData.value = data.data.list;
//
console.log('获取的数据:',tableData.value);
})
.catch(error => {
console.error('Error fetching data:', error);
});
}
const formData = reactive({
title:"",
outId:"",
sort: 1,
})
//
const handleClose = ()=> {
emit("update:editPostCont", false);
}
const submitForm=(val:any)=> {
eitedutyclassinfo(formData).then(()=>
ElMessage.success("编辑成功"))
handleClose()
jjjs()
}
onMounted(()=>{
Object.assign(formData, props.rowInfo);
})
</script>
<style scoped>
<style scoped>
.avatar-uploader .avatar {
display: block;
width: 178px;
@ -120,5 +120,5 @@ onMounted(()=>{
.el-dialog{
width:1200px;
}
</style>
</style>

13
src/views/opk/zjr/news/index.vue

@ -1,7 +1,9 @@
<!--
@ 作者: 鲁智强
@ 时间: 2023-11-01 13:04:53
@ 备注:
* @作者: 鲁智强
* @生成时间: 2023-11-01 13:04:53
* @修改时间: 2024-05-22
* @修改人: 袁纪菲
* @备注: 指标分析
-->
<script lang="ts" setup>
import { ref, reactive } from "vue";
@ -146,6 +148,7 @@ onMounted(() => {
<el-tree-select
ref="orgTreeRef"
v-model="form.name"
placeholder="请选择考核指标"
multiple
clearable
node-key="id"
@ -172,7 +175,7 @@ onMounted(() => {
<el-form-item label="时间" style="width: 200px">
<el-select
v-model="form.zjr"
placeholder="请选择核算方式"
placeholder="请选择时间"
style="width: 200px"
>
<el-option
@ -187,6 +190,8 @@ onMounted(() => {
<el-select
v-model="form.lzq"
placeholder="请选择核算方式"
multiple
clearable
style="width: 200px"
>
<el-option label="合计值" :value="1" />

30
src/views/opk/zjr/opk/aa.vue

@ -1,3 +1,18 @@
<script lang="ts" setup>
import bb from "./bb.vue";
import cc from "./cc.vue";
import ee from "./ee.vue";
const number = ref(0);
const chnage = () => {
console.log(formData.uio);
const iou = Number(formData.uio)
number.value = iou;
};
const formData = reactive({
uio:""
})
</script>
<template>
<div class="qwe">
<el-text class="mx-1">报表类别</el-text>
@ -17,20 +32,7 @@
<ee></ee>
</div>
</template>
<script lang="ts" setup>
import bb from "./bb.vue";
import cc from "./cc.vue";
import ee from "./ee.vue";
const number = ref(0);
const chnage = () => {
console.log(formData.uio);
const iou = Number(formData.uio)
number.value = iou;
};
const formData = reactive({
uio:""
})
</script>
<style lang="scss" scoped>
.qwe{
margin: 0 0px 0 10px;

33
src/views/opk/zjr/opk/bb.vue

@ -1,16 +1,21 @@
<!-- eslint-disable vue/no-unused-components -->
<!--
@ 作者: 鲁智强
@ 时间: 2023-09-18 10:12:43
@ 备注: 成绩表
* @作者: 鲁智强
* @生成时间: 2023-09-18 10:12:43
* @修改时间: 2024-05-22
* @修改人: 袁纪菲
* @备注: 成绩表
-->
<script lang='ts' setup>
import { ref,onBeforeMount } from 'vue'
import Dailog from './dialog.vue'
import { orgtranscript } from '@/api/opk/opk/api'
const formdate = reactive({
year:"2023",
})
// 使 getCurrentYear
const getCurrentYear = (): number => {
return new Date().getFullYear();
};
const formdate = ref({
year: getCurrentYear().toString(), // 使
});
const data = reactive({
addPostBox:false,
})
@ -18,14 +23,12 @@ const rowInfo = ref([] as any[])
const tableData = ref([])
const table = ref([])
function orgtran(){
const dee = new Date(formdate.year)
const ess = dee.getFullYear();
const eee = ess.toString()
orgtranscript({year:eee})
.then(data=>{
tableData.value = data.data.readStatisticsData;
})
}
const ess = parseInt(formdate.value.year); //
orgtranscript({ year: ess.toString() }) // API
.then(data => {
tableData.value = data.data.readStatisticsData;
});
};
const cancelDialog=(val:any,item:any,obj:any)=>{
data.addPostBox=true;
rowInfo.value[0] = val

67
src/views/opk/zjr/opk/cc.vue

@ -1,7 +1,9 @@
<!--
@ 作者: 鲁智强
@ 时间: 2023-09-18 10:12:43
@ 备注: 汇总表
* @作者: 鲁智强
* @生成时间: 2023-09-18 10:12:43
* @修改时间: 2024-05-22
* @修改人: 袁纪菲
* @备注: 汇总表
-->
<script lang='ts' setup>
import {ref,reactive} from 'vue'
@ -13,58 +15,9 @@ const orgTreeProps ={
}
const formData = reactive({
gov:"",
year:"2023",
// 使 getCurrentYear
year:new Date().getFullYear().toString(),
})
const yueList=reactive([
{
title:'1月',
},
{
title:'2月',
},
{
title:'3月',
},
{
title:'4月',
},
{
title:'5月',
},
{
title:'6月',
},
{
title:'7月',
},
{
title:'8月',
},
{
title:'9月',
},
{
title:'10月',
},
{
title:'11月',
},
{
title:'12月',
}
])
const data = reactive({
cliPostBox:false,
})
@ -162,7 +115,7 @@ function objectSpanMethod({row, column, rowIndex, columnIndex}:any){
<template>
<el-container class="acd">
<el-form-item label="所属行政组织:" style="width:250px">
<el-tree-select ref="orgTreeRef" v-model="formData.gov" clearable show-checkbox check-strictly=true node-key="id" :data="lzq" :props="orgTreeProps" :render-after-expand="false"/>
<el-tree-select ref="orgTreeRef" v-model="formData.gov" clearable show-checkbox :check-strictly=true node-key="id" :data="lzq" :props="orgTreeProps" :render-after-expand="false"/>
</el-form-item>
<el-form-item label="年度:" label-width="60" style="width:200px">
<el-date-picker v-model="formData.year" type="year" placeholder="选择年"/>
@ -179,8 +132,8 @@ function objectSpanMethod({row, column, rowIndex, columnIndex}:any){
<a v-if="scope.row.type == 1" style="color:blue">{{scope.row.targetname}}</a>
</template>
</el-table-column>
<el-table-column prop="dimensionweight" label="唯独权重"/>
<el-table-column prop="targetname" label="考核标" />
<el-table-column prop="dimensionweight" label="维度权重"/>
<el-table-column prop="targetname" label="考核标" />
<el-table-column prop="targetweight" label="指标权重" />
<el-table-column prop="unit" label="单位" />
<el-table-column prop="cycle" label="周期" >

20
src/views/opk/zjr/opk/ee.vue

@ -1,7 +1,9 @@
<!--
@ 作者: 鲁智强
@ 时间: 2023-09-18 10:12:43
@ 备注: 汇总表
* @作者: 鲁智强
* @生成时间: 2023-09-18 10:12:43
* @修改时间: 2024-05-22
* @修改人: 袁纪菲
* @备注: 明细表
-->
<script lang='ts' setup>
import {ref,reactive} from 'vue'
@ -13,10 +15,10 @@ const orgTreeProps ={
}
const formData = reactive({
gov:"",
value1:"",
value1:new Date().getFullYear().toString(),
class:"",
title:"",
})
const data = reactive({
cliPostBox:false,
@ -115,7 +117,7 @@ function objectSpanMethod({row, column, rowIndex, columnIndex}:any){
<template>
<el-container class="acd">
<el-form-item label="所属行政组织:" label-width="120" style="width:250px">
<el-tree-select ref="orgTreeRef" v-model="formData.gov" clearable show-checkbox check-strictly=true node-key="id" :data="lzq" :props="orgTreeProps" :render-after-expand="false"/>
<el-tree-select ref="orgTreeRef" v-model="formData.gov" clearable show-checkbox :check-strictly=true node-key="id" :data="lzq" :props="orgTreeProps" :render-after-expand="false"/>
</el-form-item>
<el-form-item label="年度:" label-width="70" style="width:200px">
<el-date-picker v-model="formData.value1" type="year" placeholder="选择年"/>
@ -136,9 +138,9 @@ function objectSpanMethod({row, column, rowIndex, columnIndex}:any){
</el-container>
<el-table :data="tableData" border :span-method="objectSpanMethod" style="width: 100%">
<el-table-column prop="departmentname" label="部门"/>
<el-table-column prop="dimensionname" label="考核维"/>
<el-table-column prop="dimensionweight" label="唯独权重"/>
<el-table-column prop="targetname" label="考核标">
<el-table-column prop="dimensionname" label="考核维"/>
<el-table-column prop="dimensionweight" label="维度权重"/>
<el-table-column prop="targetname" label="考核标">
<template #default="scope">
<span v-if="scope.row.type == 2">{{scope.row.targetname}}</span>
<a v-if="scope.row.type == 1" style="color:blue">{{scope.row.targetname}}</a>

41
src/views/opk/zxc/iop/index.vue

@ -1,7 +1,9 @@
<!--
@ 作者: 鲁智强
@ 时间: 2023-09-18 10:12:43
@ 备注: 定量考核
* @作者: 鲁智强
* @生成时间: 2023-09-18 10:12:43
* @修改时间: 2024-05-22
* @修改人: 袁纪菲
* @备注: 定量考核
-->
<script lang="ts" setup>
import { ref, reactive } from "vue";
@ -10,7 +12,7 @@ const formInline = reactive({
region: "",
user: "",
name: "",
time: "2023-01",
time: "",
password: "",
});
const orgTreeProp = {
@ -18,6 +20,25 @@ const orgTreeProp = {
children: "children",
};
const lzq = ref([]);
function setCurrentMonth() {
// YYYY-MM
formInline.time = `${new Date().getFullYear()}-${String(new Date().getMonth() + 1).padStart(2, '0')}`;
}
//
const validateMonth = (date: Date | string) => {
if (date instanceof Date) {
date = `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(2, '0')}`;
}
const selectedMonth = new Date(date).getTime();
const now = new Date().getTime();
if (selectedMonth > now) {
ElMessage.warning("只能选择当前及之前的月份");
nextTick(() => {
formInline.time = `${new Date().getFullYear()}-${String(new Date().getMonth() + 1).padStart(2, '0')}`;
});
}
};
function zjr() {
departmentlist({ id: 313, outid: "2", level: 4 }).then((data) => {
lzq.value = data.data;
@ -39,6 +60,11 @@ function chl() {
);
}
chl();
onMounted(() => {
zjr();
setCurrentMonth(); //
chl(); //
});
</script>
<template>
<el-col :span="24">
@ -50,6 +76,7 @@ chl();
ref="orgTreeRef"
v-model="formInline.user"
clearable
:check-strictly=true
node-key="id"
:data="lzq"
:props="orgTreeProp"
@ -63,12 +90,14 @@ chl();
clearable
/>
</el-form-item>
<el-form-item label="年度:">
<el-form-item label="日期:">
<el-date-picker
v-model="formInline.time"
type="month"
placeholder="选择"
placeholder="选择日期"
formdat="YYYY-MM"
clearable
@change="validateMonth"
/>
</el-form-item>
<el-form-item>

38
src/views/opk/zxc/news/index.vue

@ -1,14 +1,16 @@
<!--
@ 作者: 鲁智强
@ 时间: 2023-09-18 10:12:43
@ 备注: 审核记录
* @作者: 鲁智强
* @生成时间: 2023-09-18 10:12:43
* @修改时间: 2024-06-07
* @修改人: 袁纪菲
* @备注: 审核记录
-->
<script lang='ts' setup>
import {ref,reactive} from 'vue'
import {get_approval} from '@/api/opk/zxc/iop/api'
import View from "./viewss.vue"
const formInline = reactive({
region:'',
region:'全部',
user:'',
page:0,
pagesize:10,
@ -18,15 +20,27 @@ const data = reactive({
})
const total =ref(0)
const rowInfo = ref<any>({})
const value1 = ref('')
const tableData = ref([])
function get_approvals(){
const edd = new Number(formInline.region)
get_approval({nameornumber:"",page:formInline.page,pagesize:formInline.pagesize,state:edd,title:formInline.user})
get_approval({
nameornumber:"",
page:formInline.page,
pagesize:formInline.pagesize,
state:edd,
title:formInline.user
})
.then(data=>{
tableData.value = data.data.list
tableData.value = data.data.list;
total.value = data.data.total;
console.log(tableData.value)
})
.catch(error => {
console.error('API调用失败:', error || '未知错误'); // messagemessage
if (error.response && error.response.data) {
console.error('更多错误详情:', error.response.data);
}
});
}
get_approvals()
//
@ -39,13 +53,13 @@ const Views = (val:any)=>{
<el-container class="acd">
<div class="uio">
<el-form :inline="true" :model="formInline" class="demo-form-inline">
<el-form-item label="指标名称">
<el-input v-model="formInline.user" placeholder="请选择" clearable />
<el-form-item label="考核名称">
<el-input v-model="formInline.user" placeholder="请输入考核名称" clearable />
</el-form-item>
<el-form-item label="指标名称">
<el-form-item label="流程状态">
<el-select
v-model="formInline.region"
placeholder="请输入名称"
placeholder="请选择流程状态"
clearable
>
<el-option label="全部" :value="0"/>
@ -59,7 +73,7 @@ const Views = (val:any)=>{
<el-button type="primary" @click="get_approvals"><el-icon><Search /></el-icon></el-button>
</el-form-item>
</el-form>
</div>
</div>
</el-container>
<el-table :data="tableData" border style="width: 100%">
<el-table-column prop="orderkey" label="业务编号"/>

49
src/views/opk/zxc/news/viewss.vue

@ -3,27 +3,9 @@
@ 时间: 2023-08-15 11:34:38
@ 备注:
-->
<template>
<el-dialog :model-value="true" title="得分详情" @close="handleClose">
<el-table v-model="formData.lzq" border :data="tablea">
<el-table-column prop="creatername" label="提报人"/>
<el-table-column prop="departmentname" label="考核部门"/>
<el-table-column prop="dingxinglist[0].dimension" label="考核维度">
</el-table-column>
<el-table-column prop="dingxinglist[0].tablename" label="考核栏目"/>
<el-table-column prop="dingxinglist[0].target" label="考核指标"/>
<el-table-column prop="dingxinglist[0].detailedtarget" label="考核详情"/>
<el-table-column prop="dingxinglist[0].standard" label="考核标准"></el-table-column>
<el-table-column prop="dingxinglist[0].plusminusscore" label="减分"/>
<el-table-column prop="creationdate" label="发生时间"/>
<el-table-column prop="dingxinglist[0].cause" label="原因"/>
<el-table-column prop="dingxinglist[0].enclosure" label="附件"/>
</el-table>
</el-dialog>
</template>
<script lang="ts" setup>
import { reactive } from "vue";
import {look_work} from '@/api/opk/api'
<script lang="ts" setup>
import { reactive } from "vue";
import {look_work} from '@/api/opk/api'
const isshow = ref(false)
const props= defineProps( {
title: {
@ -59,10 +41,27 @@ function newsum(){
}
newsum()
//
const handleClose = ()=> {
emit("update:ewPostBox", false);
const handleClose = ()=> {
emit("update:ewPostBox", false);
}
onMounted(() => {
Object.assign(formData,props.rowInfo)
})
</script>
})
</script>
<template>
<el-dialog :model-value="true" title="得分详情" @close="handleClose">
<el-table v-model="formData.lzq" border :data="tablea">
<el-table-column prop="creatername" label="提报人"/>
<el-table-column prop="departmentname" label="考核部门"/>
<el-table-column prop="dingxinglist[0].dimension" label="考核维度"/>
<el-table-column prop="dingxinglist[0].tablename" label="考核栏目"/>
<el-table-column prop="dingxinglist[0].target" label="考核指标"/>
<el-table-column prop="dingxinglist[0].detailedtarget" label="考核详情"/>
<el-table-column prop="dingxinglist[0].standard" label="考核标准"></el-table-column>
<el-table-column prop="dingxinglist[0].plusminusscore" label="减分"/>
<el-table-column prop="creationdate" label="发生时间"/>
<el-table-column prop="dingxinglist[0].cause" label="原因"/>
<el-table-column prop="dingxinglist[0].enclosure" label="附件"/>
</el-table>
</el-dialog>
</template>

43
src/views/opk/zxc/public/index.vue

@ -1,11 +1,13 @@
<!--
@ 作者: 鲁智强
@ 时间: 2023-09-18 10:12:43
@ 备注: 定性考核
* @作者: 鲁智强
* @生成时间: 2023-09-18 10:12:43
* @修改时间: 2024-05-22
* @修改人: 袁纪菲
* @备注: 定性考核
-->
<script lang='ts' setup>
import {ref,reactive} from 'vue'
import { addPostCont } from '@/api/opk/api'
import { govthree } from '@/api/opk/api'
import {get_quality} from '@/api/opk/zxc/pulic/api'
const formInline = reactive({
region:'',
@ -18,16 +20,20 @@ const orgTreeProp = {
children:'child'
}
const tableData = ref([])
function setCurrentMonth() {
// YYYY-MM
formInline.time = `${new Date().getFullYear()}-${String(new Date().getMonth() + 1).padStart(2, '0')}`;
}
function jjjs(){
addPostCont("/hrapi/org/govthree","post")
govthree({id:309,all:1})
.then(data => {
tableData.value = data.data[3].child[14].child;
tableData.value = data.data;
})
.catch(error => {
console.error('Error fetching data:', error);
console.error('获取数据错误:', error);
});
}
jjjs()
const lzq = ref([])
function zjr(){
const add =formInline.user.toString();
@ -40,20 +46,25 @@ function zjr(){
lzq.value=data.data
})
}
zjr()
onMounted(() => {
jjjs();
setCurrentMonth(); //
zjr(); //
});
</script>
<template>
<el-container class="acd">
<div class="uio">
<el-form :inline="true" :model="formInline" class="demo-form-inline">
<el-form-item label="所属行政组织">
<el-tree-select ref="orgTreeRef" v-model="formInline.user" clearable node-key="id" :data="tableData" :props="orgTreeProp" :render-after-expand="false"/>
<el-form-item label="所属行政组织">
<el-tree-select ref="orgTreeRef" v-model="formInline.user" show-checkbox :check-strictly=true clearable node-key="id" :data="tableData" :props="orgTreeProp" :render-after-expand="false"/>
</el-form-item>
<el-form-item label="考核名称">
<el-input v-model="formInline.name" placeholder="请输入名称" clearable />
<el-form-item label="考核指标">
<el-input v-model="formInline.name" placeholder="请输入" clearable />
</el-form-item>
<el-form-item label="年度:">
<el-date-picker v-model="formInline.time" type="month" placeholder="选择" formdat="YYYY-MM"/>
<el-form-item label="日期">
<el-date-picker v-model="formInline.time" type="month" placeholder="选择日期" formdat="YYYY-MM"/>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="zjr"><el-icon><Search /></el-icon></el-button>
@ -64,7 +75,7 @@ zjr()
</el-container>
<el-table :data="lzq" border style="width: 100%">
<el-table-column prop="" label="行政组织" width="200" />
<el-table-column prop="" label="指标" width="1100" />
<el-table-column prop="" label="指标" width="400" />
<el-table-column prop="" label="加分" width="200"/>
<el-table-column prop="" label="减分" />
</el-table>

Loading…
Cancel
Save