lcw
This commit is contained in:
224
src/components/steps.vue
Normal file
224
src/components/steps.vue
Normal file
@ -0,0 +1,224 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-dialog class="steps-dialog" title="审核流程" v-model="dialogForm" width="420px">
|
||||
<div class="steps-body">
|
||||
<el-steps direction="vertical" :active="active" :space="90">
|
||||
<el-step title="保安公司审核">
|
||||
<template #description>
|
||||
<div class="audit-description">
|
||||
<div class="audit-time">{{ dataForm.bakkShsj || '未审核' }}<span class="audit-status"
|
||||
v-if="dataForm.bakkShsj"
|
||||
:class="{ 'status-pending': dataForm.bakkShzt == 0, 'status-pass': dataForm.bakkShzt == 1, 'status-reject': dataForm.bakkShzt == 2 }">{{
|
||||
dataForm.bakkShzt == 0 ? '待审核' : dataForm.bakkShzt == 1 ? '通过' : '驳回' }}</span></div>
|
||||
<div v-if="dataForm.bakkShzt == 2" class="reject-reason">
|
||||
<span class="reject-label">驳回原因:</span>
|
||||
<span>{{ dataForm.bhyy || '未审核' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="培训公司审核">
|
||||
<template #description>
|
||||
<div class="audit-description">
|
||||
<div class="audit-time">{{ dataForm.pxgsShsj || '未审核' }}
|
||||
<span class="audit-status" v-if="dataForm.pxgsShsj"
|
||||
:class="{ 'status-pending': dataForm.pxgsShzt == 0, 'status-pass': dataForm.pxgsShzt == 1, 'status-reject': dataForm.pxgsShzt == 2 }">{{
|
||||
dataForm.pxgsShzt == 0 ? '待审核' : dataForm.pxgsShzt == 1 ? '通过' : '驳回' }}</span>
|
||||
</div>
|
||||
<div v-if="dataForm.pxgsShsj == 2" class="reject-reason">
|
||||
<span class="reject-label">驳回原因:</span>
|
||||
<span>{{ dataForm.pxgsBhyy || '未审核' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="公安局审核" :description="dataForm.gonganShsj || '未审核'">
|
||||
<template #description>
|
||||
<div class="audit-description">
|
||||
<div class="audit-time">{{ dataForm.gonganShsj || '未审核' }}
|
||||
<span class="audit-status" v-if="dataForm.gonganShsj"
|
||||
:class="{ 'status-pending': dataForm.gonganShzt == 0, 'status-pass': dataForm.gonganShzt == 1, 'status-reject': dataForm.gonganShzt == 2 }">{{
|
||||
dataForm.gonganShzt == 0 ? '待审核' : dataForm.gonganShzt == 1 ? '通过' : '驳回' }}</span>
|
||||
</div>
|
||||
<div v-if="dataForm.gonganShsj == 2" class="reject-reason">
|
||||
<span class="reject-label">驳回原因:</span>
|
||||
<span>{{ dataForm.gonganBhyy || '未审核' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-step>
|
||||
</el-steps>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<!-- :description="dataForm.pxgsShsj || '未审核'" -->
|
||||
|
||||
<script setup>
|
||||
import { qcckPost } from "@/api/qcckApi.js";
|
||||
import { ref, defineExpose } from 'vue';
|
||||
const dialogForm = ref(false);
|
||||
const active = ref(0)
|
||||
const dataForm = ref({})
|
||||
const init = (row) => {
|
||||
let ids = [row.id]
|
||||
qcckPost(ids, "/mosty-base/bans/njxx/getAuditStatusList").then(res => {
|
||||
dialogForm.value = true;
|
||||
let obj = res ? res[0] : {};
|
||||
dataForm.value = obj;
|
||||
active.value = Number(obj.currentAuditStage) - 1;
|
||||
})
|
||||
}
|
||||
|
||||
defineExpose({
|
||||
init
|
||||
})
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.steps-body {
|
||||
height: 300px;
|
||||
padding: 6px 10px 10px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.audit-description {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 4px;
|
||||
margin: 10px 0;
|
||||
}
|
||||
|
||||
.audit-time {
|
||||
font-size: 16px;
|
||||
color: #9AA8B6;
|
||||
line-height: 20px;
|
||||
}
|
||||
|
||||
.reject-reason {
|
||||
font-size: 14px;
|
||||
line-height: 18px;
|
||||
margin-top: 4px;
|
||||
padding: 6px 10px;
|
||||
background-color: #fef2f2;
|
||||
border-left: 3px solid #f87171;
|
||||
border-radius: 0 4px 4px 0;
|
||||
color: #dc2626;
|
||||
}
|
||||
|
||||
.reject-label {
|
||||
font-weight: 600;
|
||||
margin-right: 4px;
|
||||
}
|
||||
|
||||
.audit-status {
|
||||
margin-left: 8px;
|
||||
padding: 2px 8px;
|
||||
border-radius: 10px;
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.status-pending {
|
||||
background-color: #f3f4f6;
|
||||
color: #6b7280;
|
||||
}
|
||||
|
||||
.status-pass {
|
||||
background-color: #d1fae5;
|
||||
color: #065f46;
|
||||
}
|
||||
|
||||
.status-reject {
|
||||
background-color: #fee2e2;
|
||||
color: #b91c1c;
|
||||
}
|
||||
|
||||
:deep(.steps-dialog .el-dialog__header) {
|
||||
text-align: center;
|
||||
padding: 20px 20px 10px;
|
||||
}
|
||||
|
||||
:deep(.steps-dialog .el-dialog__title) {
|
||||
font-size: 24px;
|
||||
font-weight: 700;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
:deep(.steps-dialog .el-dialog__body) {
|
||||
padding: 0 20px 20px;
|
||||
}
|
||||
|
||||
:deep(.steps-dialog .el-step__title) {
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
color: #333;
|
||||
line-height: 22px;
|
||||
}
|
||||
|
||||
:deep(.steps-dialog .el-step__description) {
|
||||
font-size: 16px;
|
||||
color: #9AA8B6;
|
||||
line-height: 20px;
|
||||
margin-top: 8px;
|
||||
}
|
||||
|
||||
:deep(.steps-dialog .el-step__line) {
|
||||
left: 8px;
|
||||
background-color: transparent;
|
||||
border-left: 1px dashed #dadada;
|
||||
}
|
||||
|
||||
:deep(.steps-dialog .el-step.is-vertical .el-step__head) {
|
||||
width: 24px;
|
||||
}
|
||||
|
||||
:deep(.steps-dialog .el-step__icon) {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
:deep(.steps-dialog .el-step__head.is-process .el-step__icon),
|
||||
:deep(.steps-dialog .el-step__head.is-process .el-step__icon.is-text) {
|
||||
background: #2e6bff;
|
||||
border: none;
|
||||
box-shadow: 0 0 0 5px rgba(46, 107, 255, 0.15);
|
||||
}
|
||||
|
||||
:deep(.steps-dialog .el-step.is-wait .el-step__icon),
|
||||
:deep(.steps-dialog .el-step.is-finish .el-step__icon) {
|
||||
background: #fff;
|
||||
border: 1px solid #dadada;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
:deep(.steps-dialog .el-step__icon-inner) {
|
||||
display: none;
|
||||
}
|
||||
|
||||
::v-deep .is-finish .el-step__icon {
|
||||
background: #86b6f1;
|
||||
}
|
||||
|
||||
::v-deep .el-dialog__close {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
color: #fff;
|
||||
|
||||
svg {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
}
|
||||
}
|
||||
|
||||
::v-deep .el-dialog__headerbtn {
|
||||
top: auto;
|
||||
bottom: -60px;
|
||||
border: 2px solid #fff;
|
||||
color: #fff;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
border-radius: 50%;
|
||||
}
|
||||
</style>
|
||||
@ -99,7 +99,7 @@ import { ref, computed, defineEmits, getCurrentInstance,defineProps } from 'vue'
|
||||
import { qcckPost } from "@/api/qcckApi.js";
|
||||
const emit = defineEmits(["refresh"]);
|
||||
const { proxy } = getCurrentInstance();
|
||||
const baseUrl = '/bagl/mosty-base/minio/image/download'
|
||||
const baseUrl = '/bagl/mosty-base/minio/image/download/'
|
||||
const props = defineProps({
|
||||
dic: {
|
||||
default: [[]], //二维数组
|
||||
@ -174,7 +174,7 @@ defineExpose({ init })
|
||||
color: #0072FF;
|
||||
border: 5px solid #0072FF;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.desc {
|
||||
|
||||
@ -3,14 +3,56 @@
|
||||
<el-dialog class="steps-dialog" title="审核流程" v-model="dialogForm" width="420px">
|
||||
<div class="steps-body">
|
||||
<el-steps direction="vertical" :active="active" :space="90">
|
||||
<el-step title="保安公司审核" :description="dataForm.bakkShsj || '未审核'" />
|
||||
<el-step title="培训公司审核" :description="dataForm.pxgsShsj || '未审核'" />
|
||||
<el-step title="公安局审核" :description="dataForm.gonganShsj || '未审核'" />
|
||||
<el-step title="保安公司审核">
|
||||
<template #description>
|
||||
<div class="audit-description">
|
||||
<div class="audit-time">{{ dataForm.bakkShsj || '未审核' }}<span class="audit-status"
|
||||
v-if="dataForm.bakkShsj"
|
||||
:class="{ 'status-pending': dataForm.bakkShzt == 0, 'status-pass': dataForm.bakkShzt == 1, 'status-reject': dataForm.bakkShzt == 2 }">{{
|
||||
dataForm.bakkShzt == 0 ? '待审核' : dataForm.bakkShzt == 1 ? '通过' : '驳回' }}</span></div>
|
||||
<div v-if="dataForm.bakkShzt == 2" class="reject-reason">
|
||||
<span class="reject-label">驳回原因:</span>
|
||||
<span>{{ dataForm.bhyy || '未审核' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="培训公司审核">
|
||||
<template #description>
|
||||
<div class="audit-description">
|
||||
<div class="audit-time">{{ dataForm.pxgsShsj || '未审核' }}
|
||||
<span class="audit-status" v-if="dataForm.pxgsShsj"
|
||||
:class="{ 'status-pending': dataForm.pxgsShzt == 0, 'status-pass': dataForm.pxgsShzt == 1, 'status-reject': dataForm.pxgsShzt == 2 }">{{
|
||||
dataForm.pxgsShzt == 0 ? '待审核' : dataForm.pxgsShzt == 1 ? '通过' : '驳回' }}</span>
|
||||
</div>
|
||||
<div v-if="dataForm.pxgsShsj == 2" class="reject-reason">
|
||||
<span class="reject-label">驳回原因:</span>
|
||||
<span>{{ dataForm.pxgsBhyy || '未审核' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="公安局审核" :description="dataForm.gonganShsj || '未审核'">
|
||||
<template #description>
|
||||
<div class="audit-description">
|
||||
<div class="audit-time">{{ dataForm.gonganShsj || '未审核' }}
|
||||
<span class="audit-status" v-if="dataForm.gonganShsj"
|
||||
:class="{ 'status-pending': dataForm.gonganShzt == 0, 'status-pass': dataForm.gonganShzt == 1, 'status-reject': dataForm.gonganShzt == 2 }">{{
|
||||
dataForm.gonganShzt == 0 ? '待审核' : dataForm.gonganShzt == 1 ? '通过' : '驳回' }}</span>
|
||||
</div>
|
||||
<div v-if="dataForm.gonganShsj == 2" class="reject-reason">
|
||||
<span class="reject-label">驳回原因:</span>
|
||||
<span>{{ dataForm.gonganBhyy || '未审核' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-step>
|
||||
</el-steps>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<!-- :description="dataForm.pxgsShsj || '未审核'" -->
|
||||
|
||||
<script setup>
|
||||
import { qcckPost } from "@/api/qcckApi.js";
|
||||
@ -20,7 +62,7 @@ const active = ref(0)
|
||||
const dataForm = ref({})
|
||||
const init = (row) => {
|
||||
let ids = [row.id]
|
||||
qcckPost(ids,"/mosty-base/bans/njxx/getAuditStatusList").then(res=>{
|
||||
qcckPost(ids, "/mosty-base/bans/njxx/getAuditStatusList").then(res => {
|
||||
dialogForm.value = true;
|
||||
let obj = res ? res[0] : {};
|
||||
dataForm.value = obj;
|
||||
@ -35,11 +77,63 @@ defineExpose({
|
||||
|
||||
<style scoped lang="scss">
|
||||
.steps-body {
|
||||
height: 260px;
|
||||
height: 300px;
|
||||
padding: 6px 10px 10px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.audit-description {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 4px;
|
||||
margin: 10px 0;
|
||||
}
|
||||
|
||||
.audit-time {
|
||||
font-size: 16px;
|
||||
color: #9AA8B6;
|
||||
line-height: 20px;
|
||||
}
|
||||
|
||||
.reject-reason {
|
||||
font-size: 14px;
|
||||
line-height: 18px;
|
||||
margin-top: 4px;
|
||||
padding: 6px 10px;
|
||||
background-color: #fef2f2;
|
||||
border-left: 3px solid #f87171;
|
||||
border-radius: 0 4px 4px 0;
|
||||
color: #dc2626;
|
||||
}
|
||||
|
||||
.reject-label {
|
||||
font-weight: 600;
|
||||
margin-right: 4px;
|
||||
}
|
||||
|
||||
.audit-status {
|
||||
margin-left: 8px;
|
||||
padding: 2px 8px;
|
||||
border-radius: 10px;
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.status-pending {
|
||||
background-color: #f3f4f6;
|
||||
color: #6b7280;
|
||||
}
|
||||
|
||||
.status-pass {
|
||||
background-color: #d1fae5;
|
||||
color: #065f46;
|
||||
}
|
||||
|
||||
.status-reject {
|
||||
background-color: #fee2e2;
|
||||
color: #b91c1c;
|
||||
}
|
||||
|
||||
:deep(.steps-dialog .el-dialog__header) {
|
||||
text-align: center;
|
||||
padding: 20px 20px 10px;
|
||||
@ -102,19 +196,23 @@ defineExpose({
|
||||
:deep(.steps-dialog .el-step__icon-inner) {
|
||||
display: none;
|
||||
}
|
||||
::v-deep .is-finish .el-step__icon{
|
||||
|
||||
::v-deep .is-finish .el-step__icon {
|
||||
background: #86b6f1;
|
||||
}
|
||||
::v-deep .el-dialog__close{
|
||||
|
||||
::v-deep .el-dialog__close {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
color: #fff;
|
||||
svg{
|
||||
|
||||
svg {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
}
|
||||
}
|
||||
::v-deep .el-dialog__headerbtn{
|
||||
|
||||
::v-deep .el-dialog__headerbtn {
|
||||
top: auto;
|
||||
bottom: -60px;
|
||||
border: 2px solid #fff;
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
<div class="titleBox">
|
||||
<PageTitle title="保安员年检管理" >
|
||||
<el-button type="primary" @click="onBatchAudit(selectedRows)">批量审核</el-button>
|
||||
<el-button type="primary" @click="handleItemSp(selectedRows)">批量送培</el-button>
|
||||
<!-- <el-button type="primary" @click="handleItemSp(selectedRows)">批量送培</el-button> -->
|
||||
</PageTitle>
|
||||
</div>
|
||||
<!-- 搜索 -->
|
||||
@ -32,7 +32,7 @@
|
||||
<!--currentAuditStage 当前审核阶段:1-保安公司审核阶段,2-培训公司审核阶段,3-公安局审核阶段,4-审核完成 -->
|
||||
<el-link type="primary" link @click="onBatchAudit([row.id])" v-if="row.bakkShzt == 0">立即审核</el-link>
|
||||
<el-link type="primary" link @click="addEdit('RefSteap', row)">审核流程</el-link>
|
||||
<el-link type="primary" link @click="handleItemSp([row.id])" v-if="row.sptz == 0 && row.bakkShzt == 1">送培</el-link>
|
||||
<!-- <el-link type="primary" link @click="handleItemSp([row.id])" v-if="row.sptz == 0 && row.bakkShzt == 1">送培</el-link> -->
|
||||
<el-link type="primary" link @click="addEdit('detail', row)">详情</el-link>
|
||||
</template>
|
||||
</MyTable>
|
||||
@ -57,7 +57,8 @@ import MyTable from "@/components/aboutTable/MyTable.vue";
|
||||
import Pages from "@/components/aboutTable/Pages.vue";
|
||||
import Search from "@/components/aboutTable/Search.vue";
|
||||
import DetailForm from "./components/detailForm.vue";
|
||||
import Steps from "./components/steps.vue";
|
||||
// import Steps from "./components/steps.vue";
|
||||
import Steps from '@/components/steps.vue'
|
||||
import ShForm from "./components/shForm.vue";
|
||||
import { qcckPost } from "@/api/qcckApi.js";
|
||||
import { reactive, ref, onMounted, getCurrentInstance, nextTick } from "vue";
|
||||
|
||||
@ -1,21 +1,22 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-dialog v-model="visible" title="批量送培" width="80%" @close="close">
|
||||
<MyTable
|
||||
:tableData="pageData.tableData"
|
||||
:tableColumn="pageData.tableColumn"
|
||||
<MyTable
|
||||
:tableData="pageData.tableData"
|
||||
:tableColumn="pageData.tableColumn"
|
||||
:tableHeight="pageData.tableHeight"
|
||||
:key="pageData.keyCount"
|
||||
:tableConfiger="pageData.tableConfiger"
|
||||
:key="pageData.keyCount"
|
||||
:tableConfiger="pageData.tableConfiger"
|
||||
@chooseData="chooseData"
|
||||
>
|
||||
</MyTable>
|
||||
<div class="flex just-center mt10">
|
||||
<el-button type="primary" @click="close">取消</el-button>
|
||||
<el-button type="primary" @click="onBatchAudit">确定</el-button>
|
||||
<el-button type="primary" @click="changePxgs">确定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
<TrainingCompany ref="trainingCompany" @onBatchAudit="onBatchAudit"/>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
@ -23,6 +24,7 @@ import { ElMessage } from "element-plus";
|
||||
import { getItem } from '@/utils/storage.js'
|
||||
import { qcckPost } from "@/api/qcckApi.js";
|
||||
import MyTable from "@/components/aboutTable/MyTable.vue";
|
||||
import TrainingCompany from "./trainingCompany.vue";
|
||||
import { ref , reactive , defineExpose , getCurrentInstance, defineEmits} from 'vue'
|
||||
const userInfo = getItem('userInfo');
|
||||
const emit = defineEmits(['refresh'])
|
||||
@ -74,10 +76,12 @@ const init = () => {
|
||||
pageData.tableConfiger.loading = false;
|
||||
})
|
||||
}
|
||||
const onBatchAudit = () => {
|
||||
// 送培
|
||||
const trainingCompany=ref()
|
||||
const onBatchAudit = (val) => {
|
||||
if (ids.value.length === 0) return ElMessage.warning("请选择要送培的人员");
|
||||
proxy.$modal.confirm("是否确认送培?").then(() => {
|
||||
let params = { ssbakk:userInfo.pxgs, ssbakkId:userInfo.pxgsid, ids:ids.value }
|
||||
let params = { ids:ids.value ,...val}
|
||||
qcckPost(params,'/mosty-base/bans/njxx/sendTraining').then(res=>{
|
||||
ElMessage.success("送培成功");
|
||||
emit('refresh');
|
||||
@ -85,6 +89,11 @@ const onBatchAudit = () => {
|
||||
})
|
||||
});
|
||||
}
|
||||
const changePxgs = () => {
|
||||
trainingCompany.value.init()
|
||||
}
|
||||
|
||||
|
||||
const close = () => {
|
||||
visible.value = false;
|
||||
ids.value = [];
|
||||
@ -97,4 +106,4 @@ defineExpose({
|
||||
|
||||
<style scoped lang="scss">
|
||||
|
||||
</style>
|
||||
</style>
|
||||
|
||||
@ -0,0 +1,54 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-dialog v-model="visible" title="选择培训公司" width="20%" @close="close">
|
||||
<div>
|
||||
<el-select v-model="dataValue" placeholder="请选择" filterable clearable>
|
||||
<el-option v-for="item in dataList" :key="item.companyId" :label="item.companyName" :value="item.companyId" />
|
||||
</el-select>
|
||||
<div class="flex just-center mt10">
|
||||
<el-button type="primary" @click="close">取消</el-button>
|
||||
<el-button type="primary" @click="onBatchAudit">确定</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { qcckPost } from "@/api/qcckApi.js";
|
||||
import { ref, reactive, defineExpose, getCurrentInstance, defineEmits } from 'vue'
|
||||
const visible = ref(false);
|
||||
const dataList = ref()
|
||||
const dataValue = ref()
|
||||
const emit = defineEmits(['onBatchAudit'])
|
||||
const init = () => {
|
||||
visible.value = true;
|
||||
let promes = {
|
||||
pageNum: 1,
|
||||
pageSize: 9999,
|
||||
}
|
||||
qcckPost(promes, '/mosty-base/baxx/dwgl/list').then((res) => {
|
||||
dataList.value = res.map(item => {
|
||||
return {
|
||||
companyName: item.dwmc,
|
||||
companyId: item.id
|
||||
}
|
||||
}) || []
|
||||
}).catch((err) => {
|
||||
})
|
||||
}
|
||||
const onBatchAudit = () => {
|
||||
const data=dataList.value.find(item=>item.ssbakkId===dataValue.value)
|
||||
emit('onBatchAudit', data)
|
||||
close()
|
||||
}
|
||||
const close = () => {
|
||||
visible.value = false;
|
||||
dataList.value = []
|
||||
}
|
||||
defineExpose({
|
||||
init
|
||||
})
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss"></style>
|
||||
@ -43,7 +43,7 @@ import MyTable from "@/components/aboutTable/MyTable.vue";
|
||||
import Pages from "@/components/aboutTable/Pages.vue";
|
||||
import Search from "@/components/aboutTable/Search.vue";
|
||||
import DetailForm from "./components/detailForm.vue";
|
||||
import Steps from "./components/steps.vue";
|
||||
import Steps from "@/components/steps.vue";
|
||||
import AddSp from "./components/addSp.vue";
|
||||
import {getItem} from '@/utils/storage.js'
|
||||
import { qcckPost } from "@/api/qcckApi.js";
|
||||
@ -142,7 +142,7 @@ const getList = () => {
|
||||
|
||||
const chooseData = (rows) => {
|
||||
selectedRows.value = Array.isArray(rows) ? rows.map(v=>v.id) : [];
|
||||
};
|
||||
};
|
||||
|
||||
const onBatchAudit = () => {
|
||||
addSpDiloag.value.init();
|
||||
|
||||
Reference in New Issue
Block a user