Merge branch 'master' of http://61.139.16.27:26684/maojiacai/ba_web
This commit is contained in:
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<header class="headerWrapper">
|
<header class="headerWrapper">
|
||||||
<div class="logo flex align-center" @click="goToHome"><img width="45" class="mr10" src="@/assets/images/jinghui.png" alt="">保安管理</div>
|
<div class="logo flex align-center"><img width="45" class="mr10" src="@/assets/images/jinghui.png" alt="">保安管理</div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<div><img src="@/assets/images/peo.png" /></div>
|
<div><img src="@/assets/images/peo.png" /></div>
|
||||||
<div class="detail">
|
<div class="detail">
|
||||||
@ -19,9 +19,6 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-dropdown>
|
</el-dropdown>
|
||||||
</div>
|
</div>
|
||||||
<!-- <div @click="goToHome">
|
|
||||||
<img src="@/assets/images/meun.png" />
|
|
||||||
</div> -->
|
|
||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
</template>
|
</template>
|
||||||
@ -41,12 +38,6 @@ onMounted(() => {
|
|||||||
deptName.value = localStorage.getItem("deptId") ? JSON.parse(localStorage.getItem("deptId"))[0].deptName : ''
|
deptName.value = localStorage.getItem("deptId") ? JSON.parse(localStorage.getItem("deptId"))[0].deptName : ''
|
||||||
})
|
})
|
||||||
|
|
||||||
// 路由跳转
|
|
||||||
function goToHome() {
|
|
||||||
router.push(`/unitInformation`);
|
|
||||||
// window.location.href = "/";
|
|
||||||
}
|
|
||||||
|
|
||||||
const active = ref("");
|
const active = ref("");
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
//登陆用户信息
|
//登陆用户信息
|
||||||
|
|||||||
@ -42,7 +42,7 @@ export const publicRoutes = [
|
|||||||
component: () => import("@/views/login/index")
|
component: () => import("@/views/login/index")
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: "/",
|
path: "/homeMy",
|
||||||
name: "homeMy",
|
name: "homeMy",
|
||||||
component: () => import("@/views/homeMy/index") //街面巡防
|
component: () => import("@/views/homeMy/index") //街面巡防
|
||||||
},
|
},
|
||||||
@ -56,6 +56,161 @@ export const publicRoutes = [
|
|||||||
component: layout,
|
component: layout,
|
||||||
redirect: "/user/department-ist",
|
redirect: "/user/department-ist",
|
||||||
children: [
|
children: [
|
||||||
|
|
||||||
|
{
|
||||||
|
path: "/",
|
||||||
|
name: "unitInformation",
|
||||||
|
component: () =>
|
||||||
|
import("@/views/securityManagement/unitInformation/index"),
|
||||||
|
meta: {
|
||||||
|
title: "单位信息",
|
||||||
|
icon: "personnel"
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/personnelManagement",
|
||||||
|
name: "personnelManagement",
|
||||||
|
meta: {
|
||||||
|
title: "人员管理",
|
||||||
|
icon: "personnel"
|
||||||
|
},
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
path: "/personnelManagement/practitioner",
|
||||||
|
name: "practitioner",
|
||||||
|
component: () =>
|
||||||
|
import("@/views/securityManagement/personnelManagement/practitioner/index"),
|
||||||
|
meta: {
|
||||||
|
title: "从业人员管理",
|
||||||
|
icon: "personnel"
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/personnelManagement/applicantPersonnel",
|
||||||
|
name: "applicantPersonnel",
|
||||||
|
component: () =>
|
||||||
|
import("@/views/securityManagement/personnelManagement/applicantPersonnel/index"),
|
||||||
|
meta: {
|
||||||
|
title: "申请人员",
|
||||||
|
icon: "personnel"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/trainingManagement",
|
||||||
|
name: "/trainingManagement",
|
||||||
|
meta: {
|
||||||
|
title: "培训管理",
|
||||||
|
icon: "personnel"
|
||||||
|
},
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
path: "/trainingManagement/trainer",
|
||||||
|
name: "trainer",
|
||||||
|
component: () =>
|
||||||
|
import("@/views/securityManagement/trainingManagement/trainer/index"),
|
||||||
|
meta: {
|
||||||
|
title: "培训人员",
|
||||||
|
icon: "personnel"
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/trainingManagement/personnelTraining",
|
||||||
|
name: "personnelTraining",
|
||||||
|
component: () =>
|
||||||
|
import("@/views/securityManagement/trainingManagement/personnelTraining/index"),
|
||||||
|
meta: {
|
||||||
|
title: "保安待培训人员管理",
|
||||||
|
icon: "personnel"
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/trainingManagement/trainingProject",
|
||||||
|
name: "trainingProject",
|
||||||
|
component: () =>
|
||||||
|
import("@/views/securityManagement/trainingManagement/trainingProject/index"),
|
||||||
|
meta: {
|
||||||
|
title: "保安培训项目管理",
|
||||||
|
icon: "personnel"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/examManagement",
|
||||||
|
name: "examManagement",
|
||||||
|
component: () =>
|
||||||
|
import("@/views/securityManagement/examManagement/index"),
|
||||||
|
meta: {
|
||||||
|
title: "保安考试管理",
|
||||||
|
icon: "personnel"
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/training",
|
||||||
|
name: "training",
|
||||||
|
meta: {
|
||||||
|
title: "培训中心",
|
||||||
|
icon: "personnel"
|
||||||
|
},
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
path: "/training/securityTrainingVideo",
|
||||||
|
name: "securityTrainingVideo",
|
||||||
|
component: () => import("@/views/Training/SecurityTrainingVideo/index"),
|
||||||
|
meta: {
|
||||||
|
title: "保安培训视频",
|
||||||
|
icon: "personnel"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/training/securityQuestionBank",
|
||||||
|
name: "securityQuestionBank",
|
||||||
|
component: () => import("@/views/Training/SecurityQuestionBank/index"),
|
||||||
|
meta: {
|
||||||
|
title: "保安题库",
|
||||||
|
icon: "personnel"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/training/securityTrainingSyllabus",
|
||||||
|
name: "securityTrainingSyllabus",
|
||||||
|
component: () => import("@/views/Training/SecurityTrainingSyllabus/index"),
|
||||||
|
meta: {
|
||||||
|
title: "保安培训教学大纲",
|
||||||
|
icon: "personnel"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/training/annualInspectionTraining",
|
||||||
|
name: "annualInspectionTraining",
|
||||||
|
component: () => import("@/views/Training/AnnualInspectionTraining/index"),
|
||||||
|
meta: {
|
||||||
|
title: "年检培训",
|
||||||
|
icon: "personnel"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/training/annualInspectionApplicants",
|
||||||
|
name: "annualInspectionApplicants",
|
||||||
|
component: () => import("@/views/Training/AnnualInspectionApplicants/index"),
|
||||||
|
meta: {
|
||||||
|
title: "年检申请人员",
|
||||||
|
icon: "personnel"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/training/annualInspection",
|
||||||
|
name: "annualInspection",
|
||||||
|
component: () => import("@/views/Training/AnnualInspection/index"),
|
||||||
|
meta: {
|
||||||
|
title: "年检",
|
||||||
|
icon: "personnel"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: "/systemConfig",
|
path: "/systemConfig",
|
||||||
name: "systemConfigModel",
|
name: "systemConfigModel",
|
||||||
@ -305,160 +460,6 @@ export const publicRoutes = [
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
path: "/unitInformation",
|
|
||||||
name: "unitInformation",
|
|
||||||
component: () =>
|
|
||||||
import("@/views/securityManagement/unitInformation/index"),
|
|
||||||
meta: {
|
|
||||||
title: "单位信息",
|
|
||||||
icon: "personnel"
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: "/personnelManagement",
|
|
||||||
name: "personnelManagement",
|
|
||||||
meta: {
|
|
||||||
title: "人员管理",
|
|
||||||
icon: "personnel"
|
|
||||||
},
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
path: "/personnelManagement/practitioner",
|
|
||||||
name: "practitioner",
|
|
||||||
component: () =>
|
|
||||||
import("@/views/securityManagement/personnelManagement/practitioner/index"),
|
|
||||||
meta: {
|
|
||||||
title: "从业人员管理",
|
|
||||||
icon: "personnel"
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: "/personnelManagement/applicantPersonnel",
|
|
||||||
name: "applicantPersonnel",
|
|
||||||
component: () =>
|
|
||||||
import("@/views/securityManagement/personnelManagement/applicantPersonnel/index"),
|
|
||||||
meta: {
|
|
||||||
title: "申请人员",
|
|
||||||
icon: "personnel"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: "/trainingManagement",
|
|
||||||
name: "/trainingManagement",
|
|
||||||
meta: {
|
|
||||||
title: "培训管理",
|
|
||||||
icon: "personnel"
|
|
||||||
},
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
path: "/trainingManagement/trainer",
|
|
||||||
name: "trainer",
|
|
||||||
component: () =>
|
|
||||||
import("@/views/securityManagement/trainingManagement/trainer/index"),
|
|
||||||
meta: {
|
|
||||||
title: "培训人员",
|
|
||||||
icon: "personnel"
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: "/trainingManagement/personnelTraining",
|
|
||||||
name: "personnelTraining",
|
|
||||||
component: () =>
|
|
||||||
import("@/views/securityManagement/trainingManagement/personnelTraining/index"),
|
|
||||||
meta: {
|
|
||||||
title: "保安待培训人员管理",
|
|
||||||
icon: "personnel"
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: "/trainingManagement/trainingProject",
|
|
||||||
name: "trainingProject",
|
|
||||||
component: () =>
|
|
||||||
import("@/views/securityManagement/trainingManagement/trainingProject/index"),
|
|
||||||
meta: {
|
|
||||||
title: "保安培训项目管理",
|
|
||||||
icon: "personnel"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: "/examManagement",
|
|
||||||
name: "examManagement",
|
|
||||||
component: () =>
|
|
||||||
import("@/views/securityManagement/examManagement/index"),
|
|
||||||
meta: {
|
|
||||||
title: "保安考试管理",
|
|
||||||
icon: "personnel"
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: "/training",
|
|
||||||
name: "training",
|
|
||||||
meta: {
|
|
||||||
title: "培训中心",
|
|
||||||
icon: "personnel"
|
|
||||||
},
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
path: "/training/securityTrainingVideo",
|
|
||||||
name: "securityTrainingVideo",
|
|
||||||
component: () => import("@/views/Training/SecurityTrainingVideo/index"),
|
|
||||||
meta: {
|
|
||||||
title: "保安培训视频",
|
|
||||||
icon: "personnel"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: "/training/securityQuestionBank",
|
|
||||||
name: "securityQuestionBank",
|
|
||||||
component: () => import("@/views/Training/SecurityQuestionBank/index"),
|
|
||||||
meta: {
|
|
||||||
title: "保安题库",
|
|
||||||
icon: "personnel"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: "/training/securityTrainingSyllabus",
|
|
||||||
name: "securityTrainingSyllabus",
|
|
||||||
component: () => import("@/views/Training/SecurityTrainingSyllabus/index"),
|
|
||||||
meta: {
|
|
||||||
title: "保安培训教学大纲",
|
|
||||||
icon: "personnel"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: "/training/annualInspectionTraining",
|
|
||||||
name: "annualInspectionTraining",
|
|
||||||
component: () => import("@/views/Training/AnnualInspectionTraining/index"),
|
|
||||||
meta: {
|
|
||||||
title: "年检培训",
|
|
||||||
icon: "personnel"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: "/training/annualInspectionApplicants",
|
|
||||||
name: "annualInspectionApplicants",
|
|
||||||
component: () => import("@/views/Training/AnnualInspectionApplicants/index"),
|
|
||||||
meta: {
|
|
||||||
title: "年检申请人员",
|
|
||||||
icon: "personnel"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: "/training/annualInspection",
|
|
||||||
name: "annualInspection",
|
|
||||||
component: () => import("@/views/Training/AnnualInspection/index"),
|
|
||||||
meta: {
|
|
||||||
title: "年检",
|
|
||||||
icon: "personnel"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
]
|
|
||||||
}
|
|
||||||
// {
|
// {
|
||||||
// path: "/basicsmanage",
|
// path: "/basicsmanage",
|
||||||
// name: "/basicsmanage",
|
// name: "/basicsmanage",
|
||||||
|
|||||||
@ -3,79 +3,131 @@
|
|||||||
<div class="head_box">
|
<div class="head_box">
|
||||||
<span class="title">保安题库{{ title }}</span>
|
<span class="title">保安题库{{ title }}</span>
|
||||||
<div>
|
<div>
|
||||||
<el-button size="small" v-if="openType != 'detail'" @click="save" type="primary" :loading="loading">保存</el-button>
|
<el-button size="small" v-if="title != '详情'" @click="save" type="primary" :loading="loading">保存</el-button>
|
||||||
<el-button size="small" @click="close">关闭</el-button>
|
<el-button size="small" @click="close">关闭</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="cntinfo">
|
<div class="cntinfo">
|
||||||
<FormMessage ref="FormRef" v-model="listQuery" :disabled="openType == 'detail'" :rules="rules" :formList="formList">
|
<el-form :model="listQuery" ref="FormRef" label-position="right" :rules="rules" label-width="100">
|
||||||
</FormMessage>
|
<el-row>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="题型" prop="type" >
|
||||||
|
<el-select v-model="listQuery.type" placeholder="请选择题型" style="width:100%" @change="changeType">
|
||||||
|
<el-option v-for="item in props.dic.D_BAXX_KTLX" :key="item" :label="item.zdmc" :value="item.dm"></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="题目" style="width:100%" prop="tm">
|
||||||
|
<el-input v-model="listQuery.tm" placeholder="请输入题目" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<!-- 单选 和多选 和判断 -->
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="选项A">
|
||||||
|
<el-input v-model="listQuery.optionA" placeholder="请输入选项A" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="选项B">
|
||||||
|
<el-input v-model="listQuery.optionB" placeholder="请输入选项B" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="选项C">
|
||||||
|
<el-input v-model="listQuery.optionC" placeholder="请输入选项C" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="选项D">
|
||||||
|
<el-input v-model="listQuery.optionD" placeholder="请输入选项D" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="选项E">
|
||||||
|
<el-input v-model="listQuery.optionE" placeholder="请输入选项E" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
</el-row>
|
||||||
|
<!-- 答案 -->
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="答案" style="width:100%" v-if="listQuery.type == '01' || listQuery.type == '02'">
|
||||||
|
<el-select v-model="listQuery.correctAnswer" placeholder="请选择答案" :multiple="multiple" style="width:100%">
|
||||||
|
<el-option v-for="item in props.dic.D_BA_TKDA" :key="item" :label="item.zdmc" :value="item.dm"></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="答案" style="width:100%" prop="isTrue" v-else>
|
||||||
|
<el-input v-model="listQuery.isTrue" placeholder="请输入答案" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { qcckPost , qcckGet} from "@/api/qcckApi.js";
|
import { qcckPost , qcckGet} from "@/api/qcckApi.js";
|
||||||
import FormMessage from "@/components/aboutTable/FormMessage.vue";
|
import { ref, reactive,defineEmits,defineProps,getCurrentInstance } from 'vue';
|
||||||
import { ref, reactive,defineEmits,getCurrentInstance } from 'vue';
|
|
||||||
|
|
||||||
const emit = defineEmits(["refresh"]);
|
|
||||||
|
|
||||||
const { proxy } = getCurrentInstance();
|
|
||||||
const { D_BAXX_KTLX } = proxy.$dict("D_BAXX_KTLX");
|
|
||||||
|
|
||||||
const dialogForm = ref(false);
|
|
||||||
const title = ref('');
|
|
||||||
const FormRef = ref();
|
|
||||||
const loading = ref(false);
|
|
||||||
const listQuery = ref({});
|
|
||||||
const openType = ref("")
|
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
dict: {
|
dic: {
|
||||||
type: Object,
|
type: Object,
|
||||||
default: () => {}
|
default: () => {}
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
const emit = defineEmits(["refresh"]);
|
||||||
|
|
||||||
|
const { proxy } = getCurrentInstance();
|
||||||
|
|
||||||
|
const dialogForm = ref(false);
|
||||||
|
const title = ref('');
|
||||||
|
const listQuery = ref({})
|
||||||
|
const FormRef = ref();
|
||||||
|
const loading = ref(false);
|
||||||
|
const multiple = ref(false)
|
||||||
const rules = reactive({
|
const rules = reactive({
|
||||||
tm: [{ required: true, message: "请输入题目", trigger: "blur" }],
|
tm: [{ required: true, message: "请输入题目", trigger: "blur" }],
|
||||||
type: [{ required: true, message: "请选择题型", trigger: "blur" }],
|
type: [{ required: true, message: "请选择题型", trigger: "blur" }],
|
||||||
});
|
});
|
||||||
|
|
||||||
const formList = reactive([
|
|
||||||
[
|
|
||||||
{ label: "题型", prop: "type", type: "select", options: D_BAXX_KTLX, },
|
|
||||||
{ label: "题目", prop: "tm", type: "input" },
|
|
||||||
],
|
|
||||||
[
|
|
||||||
{ label: "选项A", prop: "optionA", type: "input" },
|
|
||||||
{ label: "选项B", prop: "optionB", type: "input" },
|
|
||||||
],
|
|
||||||
[
|
|
||||||
{ label: "选项C", prop: "optionC", type: "input" },
|
|
||||||
{ label: "选项D", prop: "optionD", type: "input" },
|
|
||||||
],
|
|
||||||
[
|
|
||||||
{ label: "选项E", prop: "optionE", type: "input" },
|
|
||||||
{ label: "答案", prop: "dw", type: "input" }
|
|
||||||
],
|
|
||||||
])
|
|
||||||
|
|
||||||
|
|
||||||
// 初始化数据
|
// 初始化数据
|
||||||
const init = (type, row = {}) => {
|
const init = (type, row) => {
|
||||||
dialogForm.value = true;
|
dialogForm.value = true;
|
||||||
openType.value = type;
|
title.value = type == "add" ? "新增" : type == "edit" ? "编辑" : "详情";
|
||||||
title.value = type == "add" ? "新增" : "编辑";
|
if(row){
|
||||||
listQuery.value = { ...row }
|
qcckPost({},`/mosty-base/baxx/tkgl/getInfo/${row.id}`).then(res=>{
|
||||||
|
res.correctAnswer = res.type == '02'? res.correctAnswer.split(','):res.correctAnswer;
|
||||||
|
multiple.value = res.type == '02' ? true:false;
|
||||||
|
listQuery.value = res
|
||||||
|
})
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const changeType = (val) => {
|
||||||
|
multiple.value = val == '02' ? true : false;
|
||||||
|
switch (val) {
|
||||||
|
case '01':
|
||||||
|
case '02':
|
||||||
|
listQuery.value.isTrue = ''
|
||||||
|
break;
|
||||||
|
case '03':
|
||||||
|
listQuery.value.correctAnswer = []
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const save = () => {
|
const save = () => {
|
||||||
FormRef.value.submit(()=>{
|
FormRef.value.validate((valid)=>{
|
||||||
|
if (!valid) return;
|
||||||
loading.value = true;
|
loading.value = true;
|
||||||
let url = title.value == '新增' ? `/mosty-base/baxx/tkgl/addd` : `/mosty-base/baxx/tkgl/edit`;
|
let url = title.value == '新增' ? `/mosty-base/baxx/tkgl/add` : `/mosty-base/baxx/tkgl/edit`;
|
||||||
qcckPost(listQuery.value, url).then(() => {
|
let params = { ...listQuery.value }
|
||||||
|
params.correctAnswer = Array.isArray(params.correctAnswer) ? params.correctAnswer.join(','):params.correctAnswer;
|
||||||
|
qcckPost(params, url).then(() => {
|
||||||
loading.value = false;
|
loading.value = false;
|
||||||
proxy.$message.success("保存成功");
|
proxy.$message.success("保存成功");
|
||||||
emit("refresh");
|
emit("refresh");
|
||||||
@ -88,6 +140,8 @@ const save = () => {
|
|||||||
|
|
||||||
const close = () => {
|
const close = () => {
|
||||||
dialogForm.value = false;
|
dialogForm.value = false;
|
||||||
|
listQuery.value = { }
|
||||||
|
multiple.value = false;
|
||||||
FormRef.value.reset()
|
FormRef.value.reset()
|
||||||
};;
|
};;
|
||||||
|
|
||||||
@ -96,10 +150,8 @@ defineExpose({init})
|
|||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "@/assets/css/layout.scss";
|
@import "@/assets/css/layout.scss";
|
||||||
.mapBox{
|
.cntinfo{
|
||||||
width: calc(100% - 24rem);
|
padding: 4rem 12rem;
|
||||||
height:500px;
|
box-sizing: border-box;
|
||||||
overflow: hidden;
|
|
||||||
margin: 0 12rem;
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
<div>
|
<div>
|
||||||
<div class="titleBox">
|
<div class="titleBox">
|
||||||
<PageTitle title="保安题库">
|
<PageTitle title="保安题库">
|
||||||
<el-button type="primary" @click="addEdit('add', '')">
|
<el-button type="primary" @click="addEdit('add', null)">
|
||||||
<el-icon style="vertical-align: middle">
|
<el-icon style="vertical-align: middle">
|
||||||
<CirclePlus />
|
<CirclePlus />
|
||||||
</el-icon>
|
</el-icon>
|
||||||
@ -22,11 +22,19 @@
|
|||||||
<template #type="{ row }">
|
<template #type="{ row }">
|
||||||
<DictTag :value="row.type" :tag="false" :options="D_BAXX_KTLX" />
|
<DictTag :value="row.type" :tag="false" :options="D_BAXX_KTLX" />
|
||||||
</template>
|
</template>
|
||||||
|
<template #answer="{ row }">
|
||||||
|
<span v-if="row.type == '01' || row.type == '02'">
|
||||||
|
<span v-for="val in row.correctAnswer" class="flex items-center just-center">
|
||||||
|
<DictTag :value="val" :tag="false" :options="D_BA_TKDA" />、
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
|
<span v-else>{{ row.isTrue }}</span>
|
||||||
|
</template>
|
||||||
<!-- 操作 -->
|
<!-- 操作 -->
|
||||||
<template #controls="{ row }">
|
<template #controls="{ row }">
|
||||||
<el-link type="primary" link @click="addEdit('edit', row)">编辑</el-link>
|
<el-link type="primary" link @click="addEdit('edit', row)">编辑</el-link>
|
||||||
<el-link type="primary" link @click="addEdit('detail', row)">详情</el-link>
|
<el-link type="primary" link @click="addEdit('detail', row)">详情</el-link>
|
||||||
<el-link type="danger" link @click="handleDelete(row.id)">删除</el-link>
|
<el-link type="danger" link @click="handleDelete([row.id])">删除</el-link>
|
||||||
</template>
|
</template>
|
||||||
</MyTable>
|
</MyTable>
|
||||||
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight" :pageConfiger="{
|
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight" :pageConfiger="{
|
||||||
@ -35,7 +43,7 @@
|
|||||||
}"></Pages>
|
}"></Pages>
|
||||||
</div>
|
</div>
|
||||||
<!-- 详情 -->
|
<!-- 详情 -->
|
||||||
<DetailForm ref="detailDiloag" @refresh="getList" />
|
<DetailForm ref="detailDiloag" :dic="{D_BAXX_KTLX,D_BA_TKDA,D_BA_TKDA_PDT}" @refresh="getList" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -45,13 +53,13 @@ import MyTable from "@/components/aboutTable/MyTable.vue";
|
|||||||
import Pages from "@/components/aboutTable/Pages.vue";
|
import Pages from "@/components/aboutTable/Pages.vue";
|
||||||
import Search from "@/components/aboutTable/Search.vue";
|
import Search from "@/components/aboutTable/Search.vue";
|
||||||
import DetailForm from "./components/detailForm.vue";
|
import DetailForm from "./components/detailForm.vue";
|
||||||
import { qcckGet, qcckPost, qcckDelete } from "@/api/qcckApi.js";
|
import { qcckPost } from "@/api/qcckApi.js";
|
||||||
import { reactive, ref, onMounted, getCurrentInstance, nextTick } from "vue";
|
import { reactive, ref, onMounted, getCurrentInstance, nextTick } from "vue";
|
||||||
const { proxy } = getCurrentInstance();
|
const { proxy } = getCurrentInstance();
|
||||||
|
const { D_BAXX_KTLX,D_BA_TKDA,D_BA_TKDA_PDT } = proxy.$dict("D_BAXX_KTLX",'D_BA_TKDA','D_BA_TKDA_PDT');
|
||||||
|
|
||||||
const detailDiloag = ref();
|
const detailDiloag = ref();
|
||||||
const searchBox = ref(); //搜索框
|
const searchBox = ref(); //搜索框
|
||||||
const baseUrl = 'data:image/jpeg;base64,'
|
|
||||||
const searchConfiger = ref([
|
const searchConfiger = ref([
|
||||||
{
|
{
|
||||||
label: "题目",
|
label: "题目",
|
||||||
@ -84,7 +92,7 @@ const pageData = reactive({
|
|||||||
{ label: "选项C", prop: "optionC" },
|
{ label: "选项C", prop: "optionC" },
|
||||||
{ label: "选项D", prop: "optionD" },
|
{ label: "选项D", prop: "optionD" },
|
||||||
{ label: "选项E", prop: "optionE" },
|
{ label: "选项E", prop: "optionE" },
|
||||||
{ label: "答案", prop: "answer"}
|
{ label: "答案", prop: "answer", showSolt: true}
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -114,7 +122,11 @@ const getList = () => {
|
|||||||
pageData.tableConfiger.loading = true;
|
pageData.tableConfiger.loading = true;
|
||||||
let data = { ...pageData.pageConfiger, ...queryFrom.value };
|
let data = { ...pageData.pageConfiger, ...queryFrom.value };
|
||||||
qcckPost(data, "/mosty-base/baxx/tkgl/page").then((res) => {
|
qcckPost(data, "/mosty-base/baxx/tkgl/page").then((res) => {
|
||||||
pageData.tableData = res.records || [];
|
let arr = res.records || []
|
||||||
|
arr.forEach(item => {
|
||||||
|
item.correctAnswer = item.correctAnswer.split(',')
|
||||||
|
});
|
||||||
|
pageData.tableData = arr;
|
||||||
pageData.total = res.total;
|
pageData.total = res.total;
|
||||||
pageData.tableConfiger.loading = false;
|
pageData.tableConfiger.loading = false;
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
@ -126,7 +138,7 @@ const getList = () => {
|
|||||||
// 删除
|
// 删除
|
||||||
const handleDelete = (ids) => {
|
const handleDelete = (ids) => {
|
||||||
proxy.$modal.confirm("是否确认删除该题目?").then(() => {
|
proxy.$modal.confirm("是否确认删除该题目?").then(() => {
|
||||||
qcckPost({ ids }, "/mosty-base/baxx/tkgl/remove").then(() => {
|
qcckPost(ids, "/mosty-base/baxx/tkgl/remove").then(() => {
|
||||||
proxy.$modal.msgSuccess("删除成功");
|
proxy.$modal.msgSuccess("删除成功");
|
||||||
getList();
|
getList();
|
||||||
});
|
});
|
||||||
|
|||||||
@ -40,7 +40,6 @@ const formList = reactive([
|
|||||||
],
|
],
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|
||||||
// 初始化数据
|
// 初始化数据
|
||||||
const init = (type, row = {}) => {
|
const init = (type, row = {}) => {
|
||||||
dialogForm.value = true;
|
dialogForm.value = true;
|
||||||
|
|||||||
@ -141,8 +141,7 @@ const handleLogin = () => {
|
|||||||
loading.value = false;
|
loading.value = false;
|
||||||
// 登录后操作;
|
// 登录后操作;
|
||||||
if (res.deptList.length === 1) {
|
if (res.deptList.length === 1) {
|
||||||
router.push("/user/department-ist");
|
window.location.href = "/";
|
||||||
// window.location.href = "/";
|
|
||||||
} else {
|
} else {
|
||||||
deptList.value = [...res.deptList];
|
deptList.value = [...res.deptList];
|
||||||
loginDialog.value = true;
|
loginDialog.value = true;
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
<div class="head_box">
|
<div class="head_box">
|
||||||
<span class="title">{{ title }}</span>
|
<span class="title">{{ title }}</span>
|
||||||
<div>
|
<div>
|
||||||
<el-button size="small" @click="save" type="primary" :loading="loading">保存</el-button>
|
<!-- <el-button size="small" @click="save" type="primary" :loading="loading">保存</el-button> -->
|
||||||
<el-button size="small" @click="close">关闭</el-button>
|
<el-button size="small" @click="close">关闭</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -25,10 +25,13 @@
|
|||||||
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn"
|
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn"
|
||||||
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth"
|
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth"
|
||||||
>
|
>
|
||||||
|
<template #xxpxsc="{ row }">
|
||||||
|
<span>{{ row.xxpxsc }}h</span>
|
||||||
|
</template>
|
||||||
<!-- 操作 -->
|
<!-- 操作 -->
|
||||||
<template #controls="{ row }">
|
<template #controls="{ row }">
|
||||||
<el-link v-if="!visible && row?.ksfs >= 60" @click="handleCertificate(row)">申请证件</el-link>
|
<el-link v-if="!visible && row?.ksfs >= 60" @click="handleCertificate(row)">申请证件</el-link>
|
||||||
<template v-if="visible">
|
<template v-if="visible && row?.ksfs ==='01'">
|
||||||
<el-link v-if="!row?.ksfs" type="primary" @click="addEdit('updata', row)">上传成绩</el-link>
|
<el-link v-if="!row?.ksfs" type="primary" @click="addEdit('updata', row)">上传成绩</el-link>
|
||||||
<el-link v-else type="primary" @click="addEdit('view', row)">查看成绩</el-link>
|
<el-link v-else type="primary" @click="addEdit('view', row)">查看成绩</el-link>
|
||||||
</template>
|
</template>
|
||||||
@ -49,9 +52,7 @@ import viewAndUploadDialog from './viewAndUploadDialog.vue';
|
|||||||
const { proxy } = getCurrentInstance()
|
const { proxy } = getCurrentInstance()
|
||||||
const { D_BAXX_KSFS } = proxy.$dict("D_BAXX_KSFS")
|
const { D_BAXX_KSFS } = proxy.$dict("D_BAXX_KSFS")
|
||||||
const title = ref('保安线下考试详情')
|
const title = ref('保安线下考试详情')
|
||||||
const loading = ref(false)
|
|
||||||
const disabled = ref(false)
|
const disabled = ref(false)
|
||||||
const FormRef = ref(null)
|
|
||||||
const visible = ref(true)
|
const visible = ref(true)
|
||||||
const viewAndUploadRef = ref(null)
|
const viewAndUploadRef = ref(null)
|
||||||
const viewAndUploadVisible = ref(false)
|
const viewAndUploadVisible = ref(false)
|
||||||
@ -96,8 +97,8 @@ const pageData = reactive({
|
|||||||
{ label: "姓名", prop: "xm" },
|
{ label: "姓名", prop: "xm" },
|
||||||
{ label: "证件号码", prop: "sfzh" },
|
{ label: "证件号码", prop: "sfzh" },
|
||||||
{ label: "联系方式", prop: "lxdh" },
|
{ label: "联系方式", prop: "lxdh" },
|
||||||
{ label: "线上培训时间", prop: "xspxsc" },
|
{ label: "线上培训时间", prop: "xxpxsc", showSolt: true },
|
||||||
{ label: "线下培训课程", prop: "xxpxsc" },
|
{ label: "线下培训课程", prop: "xxpxkc" },
|
||||||
{ label: "考试成绩", prop: "ksfs" },
|
{ label: "考试成绩", prop: "ksfs" },
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
@ -113,7 +114,7 @@ const getList = async ({ id = "" }, type = '') => {
|
|||||||
const res = await qcckPost({
|
const res = await qcckPost({
|
||||||
...pageData.pageConfiger,
|
...pageData.pageConfiger,
|
||||||
// sfcjpx: 1,
|
// sfcjpx: 1,
|
||||||
ksglid: id
|
// ksglid: id
|
||||||
}, `/mosty-base/baxx/ksry/list`)
|
}, `/mosty-base/baxx/ksry/list`)
|
||||||
if (res) {
|
if (res) {
|
||||||
pageData.tableData = res.records || [];
|
pageData.tableData = res.records || [];
|
||||||
@ -128,7 +129,7 @@ const open = (row = {}, type = 'add') => {
|
|||||||
dialogVisible.value = true
|
dialogVisible.value = true
|
||||||
formData.value = { ...row }
|
formData.value = { ...row }
|
||||||
if (type === 'view') {
|
if (type === 'view') {
|
||||||
title.value = '保安线下考试详情'
|
title.value = `保安线${formData.value?.ksfs ==='01' ? '下' : '上'}考试详情`
|
||||||
visible.value = true
|
visible.value = true
|
||||||
} else if (type === 'edit') {
|
} else if (type === 'edit') {
|
||||||
title.value = '保安证申请'
|
title.value = '保安证申请'
|
||||||
@ -136,21 +137,6 @@ const open = (row = {}, type = 'add') => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const save = () => {
|
|
||||||
FormRef.value.submit(() => {
|
|
||||||
loading.value = true;
|
|
||||||
const url = !formData.value?.id ? `/mosty-base/baxx/cyry/add` : `/mosty-base/baxx/cyry/edit`;
|
|
||||||
qcckPost(formData.value, url).then(() => {
|
|
||||||
loading.value = false;
|
|
||||||
proxy.$message.success("保存成功");
|
|
||||||
emits("refresh");
|
|
||||||
close();
|
|
||||||
}).catch(() => {
|
|
||||||
loading.value = false;
|
|
||||||
})
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
const addEdit = (type, row) => {
|
const addEdit = (type, row) => {
|
||||||
viewAndUploadRef.value?.open(row, type)
|
viewAndUploadRef.value?.open(row, type)
|
||||||
}
|
}
|
||||||
@ -174,8 +160,13 @@ defineExpose({ open })
|
|||||||
@import "@/assets/css/layout.scss";
|
@import "@/assets/css/layout.scss";
|
||||||
|
|
||||||
.label {
|
.label {
|
||||||
|
height: 40px;
|
||||||
|
line-height: 40px;
|
||||||
|
text-align: center;
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
color: #000;
|
color: #000;
|
||||||
|
font-weight: bold;
|
||||||
|
background: var(--el-fill-color-light);
|
||||||
}
|
}
|
||||||
|
|
||||||
.cntinfo {
|
.cntinfo {
|
||||||
|
|||||||
@ -14,6 +14,9 @@
|
|||||||
<template #bxxLx="{ row }">
|
<template #bxxLx="{ row }">
|
||||||
<DictTag :value="row.bxxLx" :tag="false" :options="D_BZ_BXDLX" />
|
<DictTag :value="row.bxxLx" :tag="false" :options="D_BZ_BXDLX" />
|
||||||
</template>
|
</template>
|
||||||
|
<template #ksfs="{ row }">
|
||||||
|
<DictTag :value="row.ksfs" :options="D_BAXX_KSFS" />
|
||||||
|
</template>
|
||||||
<!-- 操作 -->
|
<!-- 操作 -->
|
||||||
<template #controls="{ row }">
|
<template #controls="{ row }">
|
||||||
<el-link type="primary" @click="addEdit('view', row)">详情</el-link>
|
<el-link type="primary" @click="addEdit('view', row)">详情</el-link>
|
||||||
@ -79,7 +82,7 @@ const pageData = reactive({
|
|||||||
{ label: "考试时间", prop: "kssj" },
|
{ label: "考试时间", prop: "kssj" },
|
||||||
{ label: "监考民警", prop: "jkmj" },
|
{ label: "监考民警", prop: "jkmj" },
|
||||||
{ label: "考试地址", prop: "ksdz" },
|
{ label: "考试地址", prop: "ksdz" },
|
||||||
{ label: "考试方式", prop: "ksfs" },
|
{ label: "考试方式", prop: "ksfs", showSolt: true },
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -111,7 +114,7 @@ const getList = async () => {
|
|||||||
}, `/mosty-base/baxx/ksgl/page`)
|
}, `/mosty-base/baxx/ksgl/page`)
|
||||||
|
|
||||||
if(res) {
|
if(res) {
|
||||||
pageData.tableData = [{}];
|
pageData.tableData = res.records || [];
|
||||||
pageData.total = res.total;
|
pageData.total = res.total;
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
@ -23,6 +23,8 @@ import { qcckPost } from "@/api/qcckApi.js";
|
|||||||
import FormMessage from '@/components/aboutTable/FormMessage.vue'
|
import FormMessage from '@/components/aboutTable/FormMessage.vue'
|
||||||
|
|
||||||
const { proxy } = getCurrentInstance()
|
const { proxy } = getCurrentInstance()
|
||||||
|
const { D_BAXX_GWLX } = proxy.$dict("D_BAXX_GWLX")
|
||||||
|
|
||||||
const title = ref('新增培训人员')
|
const title = ref('新增培训人员')
|
||||||
const loading = ref(false)
|
const loading = ref(false)
|
||||||
const disabled = ref(false)
|
const disabled = ref(false)
|
||||||
@ -59,7 +61,7 @@ const formList = reactive([
|
|||||||
[
|
[
|
||||||
{ label: "居住地址", prop: "jzdz", type: "input" },
|
{ label: "居住地址", prop: "jzdz", type: "input" },
|
||||||
{ label: "申请时间", prop: "xtCjsj", type: "date" },
|
{ label: "申请时间", prop: "xtCjsj", type: "date" },
|
||||||
{ label: "岗位", prop: "gw", type: "input" },
|
{ label: "岗位", prop: "gw", type: "select", options: D_BAXX_GWLX },
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{ label: "身份证正面", prop: "ryzpzm", type: "upload", limit: 1 },
|
{ label: "身份证正面", prop: "ryzpzm", type: "upload", limit: 1 },
|
||||||
|
|||||||
@ -1,82 +0,0 @@
|
|||||||
<template>
|
|
||||||
<el-dialog class="dialogWerapper" width="30%" v-model="modelValue" :title="title" @close="handleClose">
|
|
||||||
<form-message ref="FormRef" :disabled="disabled" v-model="formData" :rules="rules" :formList="formList" />
|
|
||||||
|
|
||||||
<template #footer>
|
|
||||||
<el-button type="primary" v-if="!disabled" :loading="loading" @click="handleSubmit">确定</el-button>
|
|
||||||
<el-button @click="handleClose">取消</el-button>
|
|
||||||
</template>
|
|
||||||
</el-dialog>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script setup>
|
|
||||||
import { computed, ref, reactive, getCurrentInstance } from 'vue';
|
|
||||||
import FormMessage from '@/components/aboutTable/FormMessage.vue'
|
|
||||||
import { qcckGet, qcckPost, qcckDelete } from "@/api/qcckApi.js";
|
|
||||||
|
|
||||||
const { proxy } = getCurrentInstance();
|
|
||||||
const { D_BAXX_DWLX } = proxy.$dict("D_BAXX_DWLX")
|
|
||||||
const props = defineProps({
|
|
||||||
modelValue: {
|
|
||||||
type: Boolean,
|
|
||||||
default: false
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
const emits = defineEmits(['update:modelValue', 'refresh'])
|
|
||||||
|
|
||||||
const visible = computed({
|
|
||||||
get() {
|
|
||||||
return props.modelValue
|
|
||||||
},
|
|
||||||
set(val) {
|
|
||||||
emits('update:modelValue', val)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
const title = ref('上传资料')
|
|
||||||
const loading = ref(false)
|
|
||||||
const disabled = ref(false)
|
|
||||||
const FormRef = ref(null)
|
|
||||||
const formData = ref({})
|
|
||||||
|
|
||||||
const formList = reactive([
|
|
||||||
[
|
|
||||||
{ label: "上传资料", prop: "zl", type: "upload", limit: 3 },
|
|
||||||
],
|
|
||||||
])
|
|
||||||
|
|
||||||
const rules = {
|
|
||||||
zl: [{ required: true, message: "请上传资料", trigger: "change" }],
|
|
||||||
}
|
|
||||||
|
|
||||||
const open = (row = {}, type = 'updata') => {
|
|
||||||
visible.value = true
|
|
||||||
disabled.value = false
|
|
||||||
formData.value = { ...row }
|
|
||||||
}
|
|
||||||
|
|
||||||
const handleClose = () => {
|
|
||||||
FormRef.value?.reset()
|
|
||||||
visible.value = false
|
|
||||||
}
|
|
||||||
|
|
||||||
const handleSubmit = async () => {
|
|
||||||
try {
|
|
||||||
loading.value = true
|
|
||||||
await FormRef.value.submit(async () => {
|
|
||||||
await qcckPost({ ...formData.value }, `/mosty-base/baxx/basq/edit`)
|
|
||||||
proxy.$message.success('上传资料成功')
|
|
||||||
emits('refresh')
|
|
||||||
visible.value = false
|
|
||||||
})
|
|
||||||
} catch (error) {
|
|
||||||
console.log(error)
|
|
||||||
proxy.$message.error('上传资料失败')
|
|
||||||
} finally {
|
|
||||||
loading.value = false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
defineExpose({ open })
|
|
||||||
</script>
|
|
||||||
@ -13,14 +13,17 @@
|
|||||||
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
|
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
|
||||||
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth">
|
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth">
|
||||||
<template #pxgs="{ row }">
|
<template #pxgs="{ row }">
|
||||||
{{ row?.pxgs === '01' ? `是` : `否` }}
|
{{ row?.ryzpzm && row?.ryzpfm && row?.tjbg && row?.wfzzmjl ? `是` : `否` }}
|
||||||
</template>
|
</template>
|
||||||
<template #sfpx="{ row }">
|
<template #sfpx="{ row }">
|
||||||
{{ row?.sfpx === '01' ? `否` : `是` }}
|
{{ row?.sfpx === '01' ? `否` : `是` }}
|
||||||
</template>
|
</template>
|
||||||
|
<template #gw="{ row }">
|
||||||
|
<DictTag :value="row.gw" :options="D_BAXX_GWLX" />
|
||||||
|
</template>
|
||||||
<!-- 操作 -->
|
<!-- 操作 -->
|
||||||
<template #controls="{ row }">
|
<template #controls="{ row }">
|
||||||
<el-link type="success" v-if="row?.pxgs !== '01'" @click="addEdit('upload', row)">上传资料</el-link>
|
<el-link type="success" @click="addEdit('upload', row)">上传资料</el-link>
|
||||||
<el-link type="danger" @click="handleDelete([row.id])">删除</el-link>
|
<el-link type="danger" @click="handleDelete([row.id])">删除</el-link>
|
||||||
<el-link type="warning" @click="addEdit('view', row)">详情</el-link>
|
<el-link type="warning" @click="addEdit('view', row)">详情</el-link>
|
||||||
<el-link type="primary" @click="addEdit('select', row)">提交培训公司</el-link>
|
<el-link type="primary" @click="addEdit('select', row)">提交培训公司</el-link>
|
||||||
@ -35,7 +38,6 @@
|
|||||||
|
|
||||||
<add-trainer-dialog v-model="isVisible" ref="trainerRef" @refresh="getList" />
|
<add-trainer-dialog v-model="isVisible" ref="trainerRef" @refresh="getList" />
|
||||||
<select-ttaning-dialog ref="selectTtaningRef" v-model="dialogVisible" @refresh="getList" />
|
<select-ttaning-dialog ref="selectTtaningRef" v-model="dialogVisible" @refresh="getList" />
|
||||||
<upload-data-dialog ref="uploadDataRef" v-model="uploadVisible" @refresh="getList" />
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -47,16 +49,14 @@ import Search from '@/components/aboutTable/Search.vue';
|
|||||||
import { qcckGet, qcckPost, qcckDelete } from "@/api/qcckApi.js";
|
import { qcckGet, qcckPost, qcckDelete } from "@/api/qcckApi.js";
|
||||||
import PageTitle from "@/components/aboutTable/PageTitle.vue";
|
import PageTitle from "@/components/aboutTable/PageTitle.vue";
|
||||||
import AddTrainerDialog from "./components/addTrainerDialog.vue";
|
import AddTrainerDialog from "./components/addTrainerDialog.vue";
|
||||||
import UploadDataDialog from "./components/uploadDataDialog.vue";
|
|
||||||
import selectTtaningDialog from "./components/selectTtaningDialog.vue";
|
import selectTtaningDialog from "./components/selectTtaningDialog.vue";
|
||||||
|
|
||||||
const { proxy } = getCurrentInstance();
|
const { proxy } = getCurrentInstance();
|
||||||
|
const { D_BAXX_GWLX } = proxy.$dict("D_BAXX_GWLX")
|
||||||
const trainerRef = ref(null);
|
const trainerRef = ref(null);
|
||||||
const selectTtaningRef = ref(null);
|
const selectTtaningRef = ref(null);
|
||||||
const uploadDataRef = ref(null);
|
|
||||||
const queryFrom = ref({});
|
const queryFrom = ref({});
|
||||||
const isVisible = ref(false);
|
const isVisible = ref(false);
|
||||||
const uploadVisible = ref(false);
|
|
||||||
const dialogVisible = ref(false);
|
const dialogVisible = ref(false);
|
||||||
const searchBox = ref(null);
|
const searchBox = ref(null);
|
||||||
const searchConfiger = ref([
|
const searchConfiger = ref([
|
||||||
@ -98,7 +98,7 @@ const pageData = reactive({
|
|||||||
{ label: "姓名", prop: "xm" },
|
{ label: "姓名", prop: "xm" },
|
||||||
{ label: "证件号码", prop: "zjhm" },
|
{ label: "证件号码", prop: "zjhm" },
|
||||||
{ label: "联系方式", prop: "lxdh" },
|
{ label: "联系方式", prop: "lxdh" },
|
||||||
{ label: "岗位", prop: "gw" },
|
{ label: "岗位", prop: "gw", showSolt: true },
|
||||||
{ label: "申请时间", prop: "xtCjsj" },
|
{ label: "申请时间", prop: "xtCjsj" },
|
||||||
{ label: "是否上传资料", prop: "pxgs", showSolt: true },
|
{ label: "是否上传资料", prop: "pxgs", showSolt: true },
|
||||||
{ label: "是否线上培训", prop: "sfpx", showSolt: true },
|
{ label: "是否线上培训", prop: "sfpx", showSolt: true },
|
||||||
@ -117,8 +117,6 @@ const tabHeightFn = () => {
|
|||||||
const addEdit = (type, row) => {
|
const addEdit = (type, row) => {
|
||||||
if (type === 'select') {
|
if (type === 'select') {
|
||||||
selectTtaningRef.value.open(row, type);
|
selectTtaningRef.value.open(row, type);
|
||||||
} else if (type === 'upload') {
|
|
||||||
uploadDataRef.value.open(row, type);
|
|
||||||
} else {
|
} else {
|
||||||
trainerRef.value.open(row, type);
|
trainerRef.value.open(row, type);
|
||||||
}
|
}
|
||||||
@ -151,7 +149,7 @@ const handleDelete = async (ids) => {
|
|||||||
await proxy.$modal.confirm("是否确认删除该培训人员?")
|
await proxy.$modal.confirm("是否确认删除该培训人员?")
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await qcckPost({ ids }, `/mosty-base/baxx/basq/remove`)
|
await qcckPost({ idList: ids }, `/mosty-base/baxx/basq/remove`)
|
||||||
proxy.$modal.msgSuccess("删除成功");
|
proxy.$modal.msgSuccess("删除成功");
|
||||||
await getList();
|
await getList();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|||||||
@ -23,7 +23,7 @@ import { qcckPost } from "@/api/qcckApi.js";
|
|||||||
import FormMessage from '@/components/aboutTable/FormMessage.vue'
|
import FormMessage from '@/components/aboutTable/FormMessage.vue'
|
||||||
|
|
||||||
const { proxy } = getCurrentInstance()
|
const { proxy } = getCurrentInstance()
|
||||||
const { D_BZ_WHCD } = proxy.$dict("D_BZ_WHCD");
|
const { D_BZ_WHCD, D_BAXX_GWLX } = proxy.$dict("D_BZ_WHCD", "D_BAXX_GWLX");
|
||||||
const title = ref('新增从业人员')
|
const title = ref('新增从业人员')
|
||||||
const loading = ref(false)
|
const loading = ref(false)
|
||||||
const disabled = ref(false)
|
const disabled = ref(false)
|
||||||
@ -64,7 +64,7 @@ const formList = reactive([
|
|||||||
{ label: "资格证类型", prop: "zgzlx", type: "input" },
|
{ label: "资格证类型", prop: "zgzlx", type: "input" },
|
||||||
{ label: "资格证起始日期", prop: "zgzKssj", type: "date" },
|
{ label: "资格证起始日期", prop: "zgzKssj", type: "date" },
|
||||||
{ label: "资格证截至日期", prop: "zgzJssj", type: "date" },
|
{ label: "资格证截至日期", prop: "zgzJssj", type: "date" },
|
||||||
{ label: "岗位", prop: "gw", type: "input" },
|
{ label: "岗位", prop: "gw", type: "select", options: D_BAXX_GWLX },
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{ label: "外派单位", prop: "wpdw", type: "input" },
|
{ label: "外派单位", prop: "wpdw", type: "input" },
|
||||||
|
|||||||
@ -13,7 +13,10 @@
|
|||||||
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
|
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
|
||||||
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth">
|
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth">
|
||||||
<template #sflz="{ row }">
|
<template #sflz="{ row }">
|
||||||
<DictTag :value="row.sflz" :tag="false" :options="D_BZ_SF" />
|
<DictTag :value="row.newSflz" :options="D_BZ_SF" />
|
||||||
|
</template>
|
||||||
|
<template #gw="{ row }">
|
||||||
|
<DictTag :value="row.gw" :options="D_BAXX_GWLX" />
|
||||||
</template>
|
</template>
|
||||||
<!-- 操作 -->
|
<!-- 操作 -->
|
||||||
<template #controls="{ row }">
|
<template #controls="{ row }">
|
||||||
@ -43,7 +46,7 @@ import { qcckGet, qcckPost, qcckDelete } from "@/api/qcckApi.js";
|
|||||||
import AddPractitionerDialog from "./components/addPractitionerDialog.vue";
|
import AddPractitionerDialog from "./components/addPractitionerDialog.vue";
|
||||||
|
|
||||||
const { proxy } = getCurrentInstance();
|
const { proxy } = getCurrentInstance();
|
||||||
const { D_BZ_SF } = proxy.$dict("D_BZ_SF");
|
const { D_BZ_SF, D_BAXX_GWLX } = proxy.$dict("D_BZ_SF", "D_BAXX_GWLX");
|
||||||
const addPractitionerRef = ref(null);
|
const addPractitionerRef = ref(null);
|
||||||
const queryFrom = ref({});
|
const queryFrom = ref({});
|
||||||
const isVisible = ref(false);
|
const isVisible = ref(false);
|
||||||
@ -94,7 +97,7 @@ const pageData = reactive({
|
|||||||
{ label: "姓名", prop: "xm" },
|
{ label: "姓名", prop: "xm" },
|
||||||
{ label: "证件号码", prop: "sfzh" },
|
{ label: "证件号码", prop: "sfzh" },
|
||||||
{ label: "联系方式", prop: "lxdh" },
|
{ label: "联系方式", prop: "lxdh" },
|
||||||
{ label: "岗位", prop: "gw" },
|
{ label: "岗位", prop: "gw", showSolt: true },
|
||||||
{ label: "入职时间", prop: "rzsj" },
|
{ label: "入职时间", prop: "rzsj" },
|
||||||
{ label: "外派单位", prop: "wpdw", },
|
{ label: "外派单位", prop: "wpdw", },
|
||||||
{ label: "是否在职", prop: "sflz", showSolt: true },
|
{ label: "是否在职", prop: "sflz", showSolt: true },
|
||||||
@ -138,7 +141,7 @@ const handleDelete = async (ids) => {
|
|||||||
await proxy.$modal.confirm("是否确认删除该从业人员?")
|
await proxy.$modal.confirm("是否确认删除该从业人员?")
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await qcckPost({ ids }, "/mosty-base/baxx/cyry/remove")
|
await qcckPost({ idList: ids }, "/mosty-base/baxx/cyry/remove")
|
||||||
proxy.$modal.msgSuccess("删除成功");
|
proxy.$modal.msgSuccess("删除成功");
|
||||||
getList();
|
getList();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
@ -155,7 +158,8 @@ const getList = async () => {
|
|||||||
}, `/mosty-base/baxx/cyry/page`)
|
}, `/mosty-base/baxx/cyry/page`)
|
||||||
|
|
||||||
if(res) {
|
if(res) {
|
||||||
pageData.tableData = res.records || [];
|
// 处理sflz为null默认为0
|
||||||
|
pageData.tableData = res.records?.map(i => ({ ...i, newSflz: i?.sflz === null ? 0 : i.sflz })) || [];
|
||||||
pageData.total = res.total;
|
pageData.total = res.total;
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
@ -12,7 +12,9 @@
|
|||||||
<el-descriptions-item label="姓名">{{ formData.xm }}</el-descriptions-item>
|
<el-descriptions-item label="姓名">{{ formData.xm }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="身份证号">{{ formData.sfzh }}</el-descriptions-item>
|
<el-descriptions-item label="身份证号">{{ formData.sfzh }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="联系电话">{{ formData.lxdh }}</el-descriptions-item>
|
<el-descriptions-item label="联系电话">{{ formData.lxdh }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="所属保安公司">{{ formData.ssbags }}</el-descriptions-item>
|
<el-descriptions-item label="所属保安公司">
|
||||||
|
<DictTag :value="formData.ssbags" :options="D_BAXX_DWLX" />
|
||||||
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="线上培训时长">{{ formData.pxsc }}</el-descriptions-item>
|
<el-descriptions-item label="线上培训时长">{{ formData.pxsc }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="提交日期">{{ formData.tjrq }}</el-descriptions-item>
|
<el-descriptions-item label="提交日期">{{ formData.tjrq }}</el-descriptions-item>
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
@ -25,6 +27,8 @@ import { ref, computed, getCurrentInstance } from 'vue'
|
|||||||
import { qcckPost } from "@/api/qcckApi.js";
|
import { qcckPost } from "@/api/qcckApi.js";
|
||||||
|
|
||||||
const { proxy } = getCurrentInstance()
|
const { proxy } = getCurrentInstance()
|
||||||
|
const { D_BAXX_DWLX } = proxy.$dict("D_BAXX_DWLX")
|
||||||
|
|
||||||
const title = ref('保安考试申请')
|
const title = ref('保安考试申请')
|
||||||
const loading = ref(false)
|
const loading = ref(false)
|
||||||
const disabled = ref(false)
|
const disabled = ref(false)
|
||||||
@ -35,10 +39,6 @@ const props = defineProps({
|
|||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false
|
default: false
|
||||||
},
|
},
|
||||||
dic: {
|
|
||||||
type: Object,
|
|
||||||
default: () => ({})
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
|
|
||||||
const emits = defineEmits(['update:modelValue'])
|
const emits = defineEmits(['update:modelValue'])
|
||||||
|
|||||||
@ -11,8 +11,8 @@
|
|||||||
<div class="tabBox">
|
<div class="tabBox">
|
||||||
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
|
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
|
||||||
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth">
|
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth">
|
||||||
<template #bxxLx="{ row }">
|
<template #ssbags="{ row }">
|
||||||
<DictTag :value="row.bxxLx" :tag="false" :options="D_BZ_BXDLX" />
|
<DictTag :value="row.ssbags" :options="D_BAXX_DWLX" />
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template #pxsc="{ row }">
|
<template #pxsc="{ row }">
|
||||||
@ -49,7 +49,6 @@ const trainerRef = ref(null);
|
|||||||
const queryFrom = ref({});
|
const queryFrom = ref({});
|
||||||
const isVisible = ref(false);
|
const isVisible = ref(false);
|
||||||
const searchBox = ref(null);
|
const searchBox = ref(null);
|
||||||
const D_BZ_BXDLX = ref([]);
|
|
||||||
const searchConfiger = ref([
|
const searchConfiger = ref([
|
||||||
{
|
{
|
||||||
label: "姓名",
|
label: "姓名",
|
||||||
@ -127,7 +126,7 @@ const handleDelete = async (ids) => {
|
|||||||
await proxy.$modal.confirm("是否确认删除该培训人员?")
|
await proxy.$modal.confirm("是否确认删除该培训人员?")
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await qcckPost({ ids }, "/mosty-base/baxx/pxry/remove")
|
await qcckPost({ idList: ids }, "/mosty-base/baxx/pxry/remove")
|
||||||
proxy.$modal.msgSuccess("删除成功");
|
proxy.$modal.msgSuccess("删除成功");
|
||||||
await getList();
|
await getList();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|||||||
@ -25,6 +25,8 @@ import { qcckPost } from "@/api/qcckApi.js";
|
|||||||
import FormMessage from '@/components/aboutTable/FormMessage.vue'
|
import FormMessage from '@/components/aboutTable/FormMessage.vue'
|
||||||
|
|
||||||
const { proxy } = getCurrentInstance()
|
const { proxy } = getCurrentInstance()
|
||||||
|
const { D_BAXX_GWLX, D_BAXX_DWLX } = proxy.$dict("D_BAXX_GWLX", "D_BAXX_DWLX")
|
||||||
|
|
||||||
const title = ref('新增培训人员')
|
const title = ref('新增培训人员')
|
||||||
const loading = ref(false)
|
const loading = ref(false)
|
||||||
const disabled = ref(false)
|
const disabled = ref(false)
|
||||||
@ -61,10 +63,10 @@ const formList = reactive([
|
|||||||
[
|
[
|
||||||
{ label: "居住地址", prop: "jzdz", type: "input" },
|
{ label: "居住地址", prop: "jzdz", type: "input" },
|
||||||
{ label: "申请时间", prop: "sqsj", type: "date" },
|
{ label: "申请时间", prop: "sqsj", type: "date" },
|
||||||
{ label: "岗位", prop: "gw", type: "select" },
|
{ label: "岗位", prop: "gw", type: "select", options: D_BAXX_GWLX },
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{ label: "所属保安公司", prop: "ssbags", type: "select" },
|
{ label: "所属保安公司", prop: "ssbags", type: "select", options: D_BAXX_DWLX },
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{ label: "身份证正面", prop: "ryzpzm", type: "upload", limit: 1 },
|
{ label: "身份证正面", prop: "ryzpzm", type: "upload", limit: 1 },
|
||||||
|
|||||||
@ -12,8 +12,11 @@
|
|||||||
<div class="tabBox">
|
<div class="tabBox">
|
||||||
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
|
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
|
||||||
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth">
|
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth">
|
||||||
<template #bxxLx="{ row }">
|
<template #gw="{ row }">
|
||||||
<DictTag :value="row.bxxLx" :tag="false" :options="D_BZ_BXDLX" />
|
<DictTag :value="row.gw" :options="D_BAXX_GWLX" />
|
||||||
|
</template>
|
||||||
|
<template #ssbags="{ row }">
|
||||||
|
<DictTag :value="row.ssbags" :options="D_BAXX_DWLX" />
|
||||||
</template>
|
</template>
|
||||||
<!-- 操作 -->
|
<!-- 操作 -->
|
||||||
<template #controls="{ row }">
|
<template #controls="{ row }">
|
||||||
@ -42,11 +45,12 @@ import PageTitle from "@/components/aboutTable/PageTitle.vue";
|
|||||||
import AddTrainerDialog from "./components/addTrainerDialog.vue";
|
import AddTrainerDialog from "./components/addTrainerDialog.vue";
|
||||||
|
|
||||||
const { proxy } = getCurrentInstance()
|
const { proxy } = getCurrentInstance()
|
||||||
|
const { D_BAXX_GWLX, D_BAXX_DWLX } = proxy.$dict("D_BAXX_GWLX", "D_BAXX_DWLX")
|
||||||
|
|
||||||
const trainerRef = ref(null);
|
const trainerRef = ref(null);
|
||||||
const queryFrom = ref({});
|
const queryFrom = ref({});
|
||||||
const isVisible = ref(false);
|
const isVisible = ref(false);
|
||||||
const searchBox = ref(null);
|
const searchBox = ref(null);
|
||||||
const D_BZ_BXDLX = ref([]);
|
|
||||||
const searchConfiger = ref([
|
const searchConfiger = ref([
|
||||||
{
|
{
|
||||||
label: "人员姓名",
|
label: "人员姓名",
|
||||||
@ -86,8 +90,8 @@ const pageData = reactive({
|
|||||||
{ label: "姓名", prop: "xm" },
|
{ label: "姓名", prop: "xm" },
|
||||||
{ label: "证件号码", prop: "sfzh" },
|
{ label: "证件号码", prop: "sfzh" },
|
||||||
{ label: "联系方式", prop: "lxdh" },
|
{ label: "联系方式", prop: "lxdh" },
|
||||||
{ label: "岗位", prop: "gw" },
|
{ label: "岗位", prop: "gw", showSolt: true },
|
||||||
{ label: "所属保安公司", prop: "ssbags" },
|
{ label: "所属保安公司", prop: "ssbags", showSolt: true },
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -132,7 +136,7 @@ const handleDelete = async (ids) => {
|
|||||||
await proxy.$modal.confirm("是否确认删除该培训人员?")
|
await proxy.$modal.confirm("是否确认删除该培训人员?")
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await qcckPost({ ids }, "/mosty-base/baxx/pxry/remove")
|
await qcckPost({ idList: ids }, "/mosty-base/baxx/pxry/remove")
|
||||||
proxy.$modal.msgSuccess("删除成功");
|
proxy.$modal.msgSuccess("删除成功");
|
||||||
await getList();
|
await getList();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|||||||
@ -12,8 +12,8 @@
|
|||||||
<div class="tabBox">
|
<div class="tabBox">
|
||||||
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
|
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
|
||||||
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth">
|
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth">
|
||||||
<template #bxxLx="{ row }">
|
<template #pxgs="{ row }">
|
||||||
<DictTag :value="row.bxxLx" :tag="false" :options="D_BZ_BXDLX" />
|
<DictTag :value="row.pxgs" :options="D_BAXX_DWLX" />
|
||||||
</template>
|
</template>
|
||||||
<!-- 操作 -->
|
<!-- 操作 -->
|
||||||
<template #controls="{ row }">
|
<template #controls="{ row }">
|
||||||
@ -35,7 +35,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { onMounted, reactive, ref } from "vue";
|
import { onMounted, reactive, ref, getCurrentInstance } from "vue";
|
||||||
import MyTable from '@/components/aboutTable/MyTable.vue';
|
import MyTable from '@/components/aboutTable/MyTable.vue';
|
||||||
import Pages from '@/components/aboutTable/Pages.vue';
|
import Pages from '@/components/aboutTable/Pages.vue';
|
||||||
import Search from '@/components/aboutTable/Search.vue';
|
import Search from '@/components/aboutTable/Search.vue';
|
||||||
@ -44,7 +44,10 @@ import PageTitle from "@/components/aboutTable/PageTitle.vue";
|
|||||||
import ViewProjectDetailsDialog from "./components/viewProjectDetailsDialog.vue";
|
import ViewProjectDetailsDialog from "./components/viewProjectDetailsDialog.vue";
|
||||||
import AddPxxm from './components/addPxxm.vue'
|
import AddPxxm from './components/addPxxm.vue'
|
||||||
import PrejectDetailsDialog from "./components/prejectDetailsDialog.vue";
|
import PrejectDetailsDialog from "./components/prejectDetailsDialog.vue";
|
||||||
import { get } from "lodash";
|
|
||||||
|
const { proxy } = getCurrentInstance()
|
||||||
|
const { D_BAXX_DWLX } = proxy.$dict("D_BAXX_DWLX");
|
||||||
|
|
||||||
const addPxxmRef = ref()
|
const addPxxmRef = ref()
|
||||||
const prejectDetailsRef = ref(null);
|
const prejectDetailsRef = ref(null);
|
||||||
const viewProjectDetailsRef = ref(null)
|
const viewProjectDetailsRef = ref(null)
|
||||||
@ -52,7 +55,6 @@ const queryFrom = ref({});
|
|||||||
const isVisible = ref(false);
|
const isVisible = ref(false);
|
||||||
const dialogVisible = ref(false)
|
const dialogVisible = ref(false)
|
||||||
const searchBox = ref(null);
|
const searchBox = ref(null);
|
||||||
const D_BZ_BXDLX = ref([]);
|
|
||||||
const searchConfiger = ref([
|
const searchConfiger = ref([
|
||||||
{
|
{
|
||||||
label: "培训项目名称",
|
label: "培训项目名称",
|
||||||
@ -86,7 +88,7 @@ const pageData = reactive({
|
|||||||
{ label: "培训项目名称", prop: "xmmc" },
|
{ label: "培训项目名称", prop: "xmmc" },
|
||||||
{ label: "培训开始时间", prop: "kssj" },
|
{ label: "培训开始时间", prop: "kssj" },
|
||||||
{ label: "培训结束时间", prop: "jssj" },
|
{ label: "培训结束时间", prop: "jssj" },
|
||||||
{ label: "培训公司", prop: "pxgs" },
|
{ label: "培训公司", prop: "pxgs", showSolt: true },
|
||||||
{ label: "培训地址", prop: "pxdz" },
|
{ label: "培训地址", prop: "pxdz" },
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user