|
@@ -1,151 +1,181 @@
|
|
|
<script setup>
|
|
|
-import { closeToast, showLoadingToast, showToast } from 'vant'
|
|
|
-import { userInfo } from '~/store/user'
|
|
|
+import { closeToast, showLoadingToast, showToast } from "vant";
|
|
|
+import { userInfo } from "~/store/user";
|
|
|
|
|
|
-const { uo_type, user_id } = userInfo
|
|
|
-const isBureau = ref(false)// 当前用户是否局端
|
|
|
-isBureau.value = uo_type === '1'
|
|
|
+const { uo_type, user_id } = userInfo;
|
|
|
+const isBureau = ref(false); // 当前用户是否局端
|
|
|
+isBureau.value = uo_type === "1";
|
|
|
|
|
|
-const router = useRouter()
|
|
|
+const router = useRouter();
|
|
|
function cellClick(jjmk_id, url) {
|
|
|
- router.push({ path: url, query: { jjmk_id } })
|
|
|
+ router.push({ path: url, query: { jjmk_id } });
|
|
|
}
|
|
|
|
|
|
// 我申请的
|
|
|
-const listMyApplyFor = ref([])
|
|
|
-const loadingMyApplyFor = ref(false)
|
|
|
-const finishedMyApplyFor = ref(false)
|
|
|
-let pageMyApplyFor = 1
|
|
|
+const listMyApplyFor = ref([]);
|
|
|
+const loadingMyApplyFor = ref(false);
|
|
|
+const finishedMyApplyFor = ref(false);
|
|
|
+let pageMyApplyFor = 1;
|
|
|
+const paramMyApplyFor = $ref({
|
|
|
+ keyword: "",
|
|
|
+});
|
|
|
function onLoadMyApplyFor() {
|
|
|
- loadingMyApplyFor.value = true
|
|
|
+ loadingMyApplyFor.value = true;
|
|
|
request({
|
|
|
- url: '/jdbg/jsldgl_myjsjxkh_khhz/index',
|
|
|
+ url: "/jdbg/jsldgl_myjsjxkh_khhz/index",
|
|
|
data: {
|
|
|
page: pageMyApplyFor,
|
|
|
limit: 20,
|
|
|
create_user_id: user_id,
|
|
|
+ ...paramMyApplyFor,
|
|
|
},
|
|
|
}).then((res) => {
|
|
|
- const data = res.data
|
|
|
- listMyApplyFor.value = [...listMyApplyFor.value, ...data.page_data]
|
|
|
- finishedMyApplyFor.value = data.total_page === pageMyApplyFor
|
|
|
- pageMyApplyFor++
|
|
|
- loadingMyApplyFor.value = false
|
|
|
- })
|
|
|
+ const data = res.data;
|
|
|
+ listMyApplyFor.value = [...listMyApplyFor.value, ...data.page_data];
|
|
|
+ finishedMyApplyFor.value = data.total_page === pageMyApplyFor;
|
|
|
+ pageMyApplyFor++;
|
|
|
+ loadingMyApplyFor.value = false;
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
+function onClickMyApplyForSearch() {
|
|
|
+ reGetMyApplyForList();
|
|
|
+}
|
|
|
+function reGetMyApplyForList() {
|
|
|
+ pageMyApplyFor = 1;
|
|
|
+ listMyApplyFor.value = [];
|
|
|
+ finishedMyApplyFor.value = false;
|
|
|
+ onLoadMyApplyForr();
|
|
|
+}
|
|
|
// 我审核的
|
|
|
-const listMyAuditFor = ref([])
|
|
|
-const loadingMyMyAuditFor = ref(false)
|
|
|
-const finishedMyAuditFor = ref(false)
|
|
|
-let pageMyAuditFor = 1
|
|
|
+const listMyAuditFor = ref([]);
|
|
|
+const loadingMyMyAuditFor = ref(false);
|
|
|
+const finishedMyAuditFor = ref(false);
|
|
|
+let pageMyAuditFor = 1;
|
|
|
+const paramMyAuditFor = $ref({
|
|
|
+ keyword: "",
|
|
|
+});
|
|
|
function onLoadMyAuditFor() {
|
|
|
- loadingMyApplyFor.value = true
|
|
|
- let data = {}
|
|
|
+ loadingMyApplyFor.value = true;
|
|
|
+ let data = {};
|
|
|
if (isBureau.value) {
|
|
|
data = {
|
|
|
page: pageMyAuditFor,
|
|
|
limit: 20,
|
|
|
- jjmkl_jdshqk: '2',
|
|
|
- jjmkl_xdshqk: '1,3,4,5,6,7',
|
|
|
- }
|
|
|
- }
|
|
|
- else {
|
|
|
+ jjmkl_jdshqk: "2",
|
|
|
+ jjmkl_xdshqk: "1,3,4,5,6,7",
|
|
|
+ ...paramMyAuditFor,
|
|
|
+ };
|
|
|
+ } else {
|
|
|
data = {
|
|
|
page: pageMyAuditFor,
|
|
|
limit: 20,
|
|
|
- jjmkl_xdshqk: '2',
|
|
|
- }
|
|
|
+ jjmkl_xdshqk: "2",
|
|
|
+ ...paramMyAuditFor,
|
|
|
+ };
|
|
|
}
|
|
|
request({
|
|
|
- url: '/jdbg/jsldgl_myjsjxkh_khhz/index',
|
|
|
+ url: "/jdbg/jsldgl_myjsjxkh_khhz/index",
|
|
|
data,
|
|
|
}).then((res) => {
|
|
|
- const data = res.data
|
|
|
- listMyAuditFor.value = [...listMyAuditFor.value, ...data.page_data]
|
|
|
- finishedMyAuditFor.value = data.total_page === pageMyAuditFor
|
|
|
- pageMyAuditFor++
|
|
|
- loadingMyMyAuditFor.value = false
|
|
|
- })
|
|
|
+ const data = res.data;
|
|
|
+ listMyAuditFor.value = [...listMyAuditFor.value, ...data.page_data];
|
|
|
+ finishedMyAuditFor.value = data.total_page === pageMyAuditFor;
|
|
|
+ pageMyAuditFor++;
|
|
|
+ loadingMyAuditFor.value = false;
|
|
|
+ });
|
|
|
}
|
|
|
-
|
|
|
-const auditOptions10 = [{
|
|
|
- v: '1',
|
|
|
- n: '优秀',
|
|
|
-}, {
|
|
|
- v: '3',
|
|
|
- n: '良好',
|
|
|
-}, {
|
|
|
- v: '4',
|
|
|
- n: '合格',
|
|
|
-}, {
|
|
|
- v: '5',
|
|
|
- n: '不合格',
|
|
|
-}]
|
|
|
-const auditOptions1 = [{
|
|
|
- v: '6',
|
|
|
- n: '符合',
|
|
|
-}, {
|
|
|
- v: '7',
|
|
|
- n: '不符合',
|
|
|
-}]
|
|
|
-const auditchecked = ref('')
|
|
|
-const auditOptions = ref([])
|
|
|
-const auditDialogShow = ref(false)
|
|
|
-const jjmkl_jdshqk_clyj = ref('')
|
|
|
-let operaItem = {}
|
|
|
+function onClickMyAuditForSearch() {
|
|
|
+ reGetMyAuditForList();
|
|
|
+}
|
|
|
+function reGetMyAuditForList() {
|
|
|
+ pageMyAuditFor = 1;
|
|
|
+ listMyAuditFor.value = [];
|
|
|
+ finishedMyAuditFor.value = false;
|
|
|
+ onLoadMyAuditFor();
|
|
|
+}
|
|
|
+const auditOptions10 = [
|
|
|
+ {
|
|
|
+ v: "1",
|
|
|
+ n: "优秀",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ v: "3",
|
|
|
+ n: "良好",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ v: "4",
|
|
|
+ n: "合格",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ v: "5",
|
|
|
+ n: "不合格",
|
|
|
+ },
|
|
|
+];
|
|
|
+const auditOptions1 = [
|
|
|
+ {
|
|
|
+ v: "6",
|
|
|
+ n: "符合",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ v: "7",
|
|
|
+ n: "不符合",
|
|
|
+ },
|
|
|
+];
|
|
|
+const auditchecked = ref("");
|
|
|
+const auditOptions = ref([]);
|
|
|
+const auditDialogShow = ref(false);
|
|
|
+const jjmkl_jdshqk_clyj = ref("");
|
|
|
+let operaItem = {};
|
|
|
function clickAudit(item) {
|
|
|
- operaItem = item
|
|
|
- auditchecked.value = ''
|
|
|
- jjmkl_jdshqk_clyj.value = ''
|
|
|
- if (item.jjmkl_jjmkl_id_1 == '10')
|
|
|
- auditOptions.value = auditOptions10
|
|
|
- else if (item.jjmkl_jjmkl_id_1 == '1')
|
|
|
- auditOptions.value = auditOptions1
|
|
|
+ operaItem = item;
|
|
|
+ auditchecked.value = "";
|
|
|
+ jjmkl_jdshqk_clyj.value = "";
|
|
|
+ if (item.jjmkl_jjmkl_id_1 == "10") auditOptions.value = auditOptions10;
|
|
|
+ else if (item.jjmkl_jjmkl_id_1 == "1") auditOptions.value = auditOptions1;
|
|
|
|
|
|
- auditDialogShow.value = true
|
|
|
+ auditDialogShow.value = true;
|
|
|
}
|
|
|
function beforeCloseDialog(action) {
|
|
|
- if (action == 'confirm') {
|
|
|
- if (auditchecked.value == '') {
|
|
|
- showToast('请选择审核结果')
|
|
|
- return false
|
|
|
- }
|
|
|
- else if ((auditchecked.value == '5' || auditchecked.value == '7') && jjmkl_jdshqk_clyj.value == '') {
|
|
|
- showToast('请填写意见')
|
|
|
- return false
|
|
|
+ if (action == "confirm") {
|
|
|
+ if (auditchecked.value == "") {
|
|
|
+ showToast("请选择审核结果");
|
|
|
+ return false;
|
|
|
+ } else if (
|
|
|
+ (auditchecked.value == "5" || auditchecked.value == "7") &&
|
|
|
+ jjmkl_jdshqk_clyj.value == ""
|
|
|
+ ) {
|
|
|
+ showToast("请填写意见");
|
|
|
+ return false;
|
|
|
+ } else {
|
|
|
+ dialogSubmit();
|
|
|
+ return true;
|
|
|
}
|
|
|
- else {
|
|
|
- dialogSubmit()
|
|
|
- return true
|
|
|
- }
|
|
|
- }
|
|
|
- else {
|
|
|
- return true
|
|
|
+ } else {
|
|
|
+ return true;
|
|
|
}
|
|
|
}
|
|
|
function dialogSubmit() {
|
|
|
- let transObj = {}
|
|
|
+ let transObj = {};
|
|
|
if (!isBureau.value) {
|
|
|
transObj = {
|
|
|
jjmk_id: operaItem.jjmk_id,
|
|
|
jjmkl_xdshqk: auditchecked.value,
|
|
|
jjmkl_xdshqk_clyj: jjmkl_jdshqk_clyj.value,
|
|
|
- }
|
|
|
- }
|
|
|
- else if (isBureau.value) {
|
|
|
+ };
|
|
|
+ } else if (isBureau.value) {
|
|
|
transObj = {
|
|
|
jjmk_id: operaItem.jjmk_id,
|
|
|
jjmkl_jdshqk: auditchecked.value,
|
|
|
jjmkl_jdshqk_clyj: jjmkl_jdshqk_clyj.value,
|
|
|
- }
|
|
|
+ };
|
|
|
}
|
|
|
showLoadingToast({
|
|
|
- message: '提交中...',
|
|
|
+ message: "提交中...",
|
|
|
forbidClick: true,
|
|
|
- })
|
|
|
+ });
|
|
|
request({
|
|
|
- url: '/jdbg/jsldgl_myjsjxkh_khhz/edit',
|
|
|
+ url: "/jdbg/jsldgl_myjsjxkh_khhz/edit",
|
|
|
data: {
|
|
|
jjmk_id: transObj.jjmk_id,
|
|
|
jdbg_jsldgl_myjsjxkh_khhz: {
|
|
@@ -156,36 +186,49 @@ function dialogSubmit() {
|
|
|
},
|
|
|
},
|
|
|
}).then((res) => {
|
|
|
- closeToast()
|
|
|
+ closeToast();
|
|
|
if (res.code == 1) {
|
|
|
- showToast(res.msg)
|
|
|
- listMyAuditFor.value = []
|
|
|
- pageMyAuditFor = 1
|
|
|
- onLoadMyAuditFor()
|
|
|
+ showToast(res.msg);
|
|
|
+ listMyAuditFor.value = [];
|
|
|
+ pageMyAuditFor = 1;
|
|
|
+ onLoadMyAuditFor();
|
|
|
}
|
|
|
- })
|
|
|
+ });
|
|
|
}
|
|
|
// 考核汇总
|
|
|
-const listPerformanceSum = ref([])
|
|
|
-const loadingPerformanceSum = ref(false)
|
|
|
-const finishedPerformanceSum = ref(false)
|
|
|
-let pagePerformanceSum = 1
|
|
|
-
|
|
|
+const listPerformanceSum = ref([]);
|
|
|
+const loadingPerformanceSum = ref(false);
|
|
|
+const finishedPerformanceSum = ref(false);
|
|
|
+let pagePerformanceSum = 1;
|
|
|
+const paramPerformanceSum = $ref({
|
|
|
+ keyword: "",
|
|
|
+});
|
|
|
function onLoadPerformanceSum() {
|
|
|
- loadingPerformanceSum.value = true
|
|
|
+ loadingPerformanceSum.value = true;
|
|
|
request({
|
|
|
- url: '/jdbg/jsldgl_myjsjxkh_khhz/index',
|
|
|
+ url: "/jdbg/jsldgl_myjsjxkh_khhz/index",
|
|
|
data: {
|
|
|
page: pagePerformanceSum,
|
|
|
limit: 20,
|
|
|
+ ...paramPerformanceSum,
|
|
|
},
|
|
|
}).then((res) => {
|
|
|
- const data = res.data
|
|
|
- listPerformanceSum.value = [...listPerformanceSum.value, ...data.page_data]
|
|
|
- finishedPerformanceSum.value = data.total_page === pagePerformanceSum
|
|
|
- pagePerformanceSum++
|
|
|
- loadingPerformanceSum.value = false
|
|
|
- })
|
|
|
+ const data = res.data;
|
|
|
+ listPerformanceSum.value = [...listPerformanceSum.value, ...data.page_data];
|
|
|
+ finishedPerformanceSum.value = data.total_page === pagePerformanceSum;
|
|
|
+ pagePerformanceSum++;
|
|
|
+ loadingPerformanceSum.value = false;
|
|
|
+ });
|
|
|
+}
|
|
|
+
|
|
|
+function onClickPerformanceSumSearch() {
|
|
|
+ reGetPerformanceSumList();
|
|
|
+}
|
|
|
+function reGetPerformanceSumList() {
|
|
|
+ pagePerformanceSum = 1;
|
|
|
+ listPerformanceSum.value = [];
|
|
|
+ finishedPerformanceSum.value = false;
|
|
|
+ onLoadPerformanceSum();
|
|
|
}
|
|
|
</script>
|
|
|
|
|
@@ -193,29 +236,73 @@ function onLoadPerformanceSum() {
|
|
|
<div>
|
|
|
<van-tabs :sticky="true">
|
|
|
<van-tab v-if="isBureau" title="我申请的">
|
|
|
+ <van-search
|
|
|
+ v-model="paramMyApplyFor.keyword"
|
|
|
+ :clearable="false"
|
|
|
+ show-action
|
|
|
+ placeholder="请输入搜索关键词"
|
|
|
+ @search="onClickMyApplyForSearch"
|
|
|
+ >
|
|
|
+ <template #action>
|
|
|
+ <div @click="onClickMyApplyForSearch">搜索</div>
|
|
|
+ </template>
|
|
|
+ </van-search>
|
|
|
<van-list
|
|
|
- v-model:loading="loadingMyApplyFor" :finished="finishedMyApplyFor" finished-text="没有更多了"
|
|
|
+ v-model:loading="loadingMyApplyFor"
|
|
|
+ :finished="finishedMyApplyFor"
|
|
|
+ finished-text="没有更多了"
|
|
|
@load="onLoadMyApplyFor"
|
|
|
>
|
|
|
<van-cell
|
|
|
- v-for="item in listMyApplyFor" :key="item"
|
|
|
- :title="`${item.jjmk_uo_name}\u00A0\u00A0\u00A0${item.jjmk_xm}`" :label="item.jjmkl_jjmkl_name_1"
|
|
|
- @click="cellClick(item.jjmk_id, '/techerFlowManager/teacherPerformanceAssessment/detailMyApplyFor')"
|
|
|
+ v-for="item in listMyApplyFor"
|
|
|
+ :key="item"
|
|
|
+ :title="`${item.jjmk_uo_name}\u00A0\u00A0\u00A0${item.jjmk_xm}`"
|
|
|
+ :label="item.jjmkl_jjmkl_name_1"
|
|
|
+ @click="
|
|
|
+ cellClick(
|
|
|
+ item.jjmk_id,
|
|
|
+ '/techerFlowManager/teacherPerformanceAssessment/detailMyApplyFor'
|
|
|
+ )
|
|
|
+ "
|
|
|
/>
|
|
|
</van-list>
|
|
|
</van-tab>
|
|
|
<van-tab title="我审核的">
|
|
|
+ <van-search
|
|
|
+ v-model="paramMyAuditFor.keyword"
|
|
|
+ :clearable="false"
|
|
|
+ show-action
|
|
|
+ placeholder="请输入搜索关键词"
|
|
|
+ @search="onClickMyAuditForSearch"
|
|
|
+ >
|
|
|
+ <template #action>
|
|
|
+ <div @click="onClickMyAuditForSearch">搜索</div>
|
|
|
+ </template>
|
|
|
+ </van-search>
|
|
|
<van-list
|
|
|
- v-model:loading="loadingMyMyAuditFor" :finished="finishedMyAuditFor" finished-text="没有更多了"
|
|
|
+ v-model:loading="loadingMyMyAuditFor"
|
|
|
+ :finished="finishedMyAuditFor"
|
|
|
+ finished-text="没有更多了"
|
|
|
@load="onLoadMyAuditFor"
|
|
|
>
|
|
|
<van-cell
|
|
|
- v-for="item in listMyAuditFor" :key="item"
|
|
|
- :title="`${item.jjmk_uo_name}\u00A0\u00A0\u00A0${item.jjmk_xm}`" :label="item.jjmkl_jjmkl_name_1"
|
|
|
- @click="cellClick(item.jjmk_id, '/techerFlowManager/teacherPerformanceAssessment/detailMyAuditFor')"
|
|
|
+ v-for="item in listMyAuditFor"
|
|
|
+ :key="item"
|
|
|
+ :title="`${item.jjmk_uo_name}\u00A0\u00A0\u00A0${item.jjmk_xm}`"
|
|
|
+ :label="item.jjmkl_jjmkl_name_1"
|
|
|
+ @click="
|
|
|
+ cellClick(
|
|
|
+ item.jjmk_id,
|
|
|
+ '/techerFlowManager/teacherPerformanceAssessment/detailMyAuditFor'
|
|
|
+ )
|
|
|
+ "
|
|
|
>
|
|
|
<template #value>
|
|
|
- <van-button class="rightButton" type="primary" @click.stop="clickAudit(item)">
|
|
|
+ <van-button
|
|
|
+ class="rightButton"
|
|
|
+ type="primary"
|
|
|
+ @click.stop="clickAudit(item)"
|
|
|
+ >
|
|
|
审核
|
|
|
</van-button>
|
|
|
</template>
|
|
@@ -223,27 +310,56 @@ function onLoadPerformanceSum() {
|
|
|
</van-list>
|
|
|
</van-tab>
|
|
|
<van-tab title="考核汇总">
|
|
|
+ <van-search
|
|
|
+ v-model="paramPerformanceSum.keyword"
|
|
|
+ :clearable="false"
|
|
|
+ show-action
|
|
|
+ placeholder="请输入搜索关键词"
|
|
|
+ @search="onClickPerformanceSumSearch"
|
|
|
+ >
|
|
|
+ <template #action>
|
|
|
+ <div @click="onClickPerformanceSumSearch">搜索</div>
|
|
|
+ </template>
|
|
|
+ </van-search>
|
|
|
<van-list
|
|
|
- v-model:loading="loadingPerformanceSum" :finished="finishedPerformanceSum" finished-text="没有更多了"
|
|
|
+ v-model:loading="loadingPerformanceSum"
|
|
|
+ :finished="finishedPerformanceSum"
|
|
|
+ finished-text="没有更多了"
|
|
|
@load="onLoadPerformanceSum"
|
|
|
>
|
|
|
<van-cell
|
|
|
- v-for="item in listPerformanceSum" :key="item"
|
|
|
- :title="`${item.jjmk_uo_name}\u00A0\u00A0\u00A0${item.jjmk_xm}`" :label="item.jjmkl_jjmkl_name_1"
|
|
|
- @click="cellClick(item.jjmk_id, '/techerFlowManager/teacherPerformanceAssessment/detailMyApplyFor')"
|
|
|
+ v-for="item in listPerformanceSum"
|
|
|
+ :key="item"
|
|
|
+ :title="`${item.jjmk_uo_name}\u00A0\u00A0\u00A0${item.jjmk_xm}`"
|
|
|
+ :label="item.jjmkl_jjmkl_name_1"
|
|
|
+ @click="
|
|
|
+ cellClick(
|
|
|
+ item.jjmk_id,
|
|
|
+ '/techerFlowManager/teacherPerformanceAssessment/detailMyApplyFor'
|
|
|
+ )
|
|
|
+ "
|
|
|
/>
|
|
|
</van-list>
|
|
|
</van-tab>
|
|
|
</van-tabs>
|
|
|
|
|
|
<van-dialog
|
|
|
- v-model:show="auditDialogShow" title="审核" confirm-button-text="提交" show-cancel-button
|
|
|
+ v-model:show="auditDialogShow"
|
|
|
+ title="审核"
|
|
|
+ confirm-button-text="提交"
|
|
|
+ show-cancel-button
|
|
|
:before-close="beforeCloseDialog"
|
|
|
>
|
|
|
<div class="dialogDiv">
|
|
|
<van-radio-group v-model="auditchecked">
|
|
|
<van-cell-group inset>
|
|
|
- <van-cell v-for="item of auditOptions" :key="item" :title="item.n" clickable @click="auditchecked = item.v">
|
|
|
+ <van-cell
|
|
|
+ v-for="item of auditOptions"
|
|
|
+ :key="item"
|
|
|
+ :title="item.n"
|
|
|
+ clickable
|
|
|
+ @click="auditchecked = item.v"
|
|
|
+ >
|
|
|
<template #right-icon>
|
|
|
<van-radio :name="item.v" />
|
|
|
</template>
|
|
@@ -251,8 +367,12 @@ function onLoadPerformanceSum() {
|
|
|
</van-cell-group>
|
|
|
</van-radio-group>
|
|
|
<van-field
|
|
|
- v-if="auditchecked === '5' || auditchecked === '7'" v-model="jjmkl_jdshqk_clyj" rows="3" autosize
|
|
|
- type="textarea" placeholder="填写意见"
|
|
|
+ v-if="auditchecked === '5' || auditchecked === '7'"
|
|
|
+ v-model="jjmkl_jdshqk_clyj"
|
|
|
+ rows="3"
|
|
|
+ autosize
|
|
|
+ type="textarea"
|
|
|
+ placeholder="填写意见"
|
|
|
/>
|
|
|
</div>
|
|
|
</van-dialog>
|
|
@@ -269,6 +389,6 @@ function onLoadPerformanceSum() {
|
|
|
}
|
|
|
|
|
|
:deep(.van-field__body) {
|
|
|
- background: #F2F2F2;
|
|
|
+ background: #f2f2f2;
|
|
|
}
|
|
|
</style>
|