This commit is contained in:
lcw
2025-09-25 10:37:28 +08:00
11 changed files with 207 additions and 146 deletions

View File

@ -69,10 +69,12 @@ function getDateById (id) {
}
const save = () => {
FormRef.value.submit(()=>{
FormRef.value.submit((val)=>{
loading.value = true;
let url = title.value == '新增' ? `/mosty-base/baxx/jxda/add` : `/mosty-base/baxx/jxda/edit`;
qcckPost(listQuery.value, url).then(() => {
let params = { ...val }
params.fj = params.fj ? params.fj.join(','):''
qcckPost(params, url).then(() => {
loading.value = false;
proxy.$message.success("保存成功");
emit("refresh");
@ -84,7 +86,7 @@ const save = () => {
}
const close = () => {
dialogForm.value = false;
listQuery.value = {fj:''}
listQuery.value = {fj:[]}
FormRef.value.reset()
};;

View File

@ -36,7 +36,7 @@ const formList = reactive([
{ label: "视频标题", prop: "spbt", type: "input" },
],
[
{ label: "附件", prop: "fjid", type: "upload"},
{ label: "附件", prop: "fjid", type: "upload",isImg:false,showBtn:true,limit:2 ,isAll:true},
],
])
@ -46,14 +46,23 @@ const init = (type, row = {}) => {
dialogForm.value = true;
openType.value = type;
title.value = type == "add" ? "新增" : "编辑";
listQuery.value = { ...row }
if(row) getDateById(row.id)
};
const getDateById = (id) =>{
qcckPost({},'/mosty-base/baxx/sok/getInfo/'+id).then(res=>{
res.fjid = res.fjid ? JSON.parse(res.fjid):[];
listQuery.value = res || {}
})
}
const save = () => {
FormRef.value.submit(()=>{
FormRef.value.submit((val)=>{
loading.value = true;
let url = title.value == '新增' ? `/mosty-base/baxx/sok/add` : `/mosty-base/baxx/sok/edit`;
qcckPost(listQuery.value, url).then(() => {
let params = {...val }
params.fjid = params.fjid ? JSON.stringify(params.fjid):''
qcckPost(params, url).then(() => {
loading.value = false;
proxy.$message.success("保存成功");
emit("refresh");
@ -65,6 +74,7 @@ const save = () => {
}
const close = () => {
dialogForm.value = false;
listQuery.value.fjid = []
FormRef.value.reset()
};;

View File

@ -23,7 +23,7 @@
<template #controls="{ row }">
<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="danger" link @click="handleDelete(row.id)">删除</el-link>
<el-link type="danger" link @click="handleDelete([row.id])">删除</el-link>
</template>
</MyTable>
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight" :pageConfiger="{
@ -115,7 +115,7 @@ const getList = () => {
// 删除
const handleDelete = (ids) => {
proxy.$modal.confirm("是否确认删除该视频?").then(() => {
qcckPost({ ids }, "/mosty-base/baxx/sok/remove").then(() => {
qcckPost(ids, "/mosty-base/baxx/sok/remove").then(() => {
proxy.$modal.msgSuccess("删除成功");
getList();
});

View File

@ -47,7 +47,7 @@ const formList = reactive([
])
const rules = {
pxgs: [{ required: true, message: "请输入考试成绩", trigger: "change" }],
pxgs: [{ required: true, message: "请选择培训公司", trigger: "change" }],
}
const open = (row = {}, type = 'updata') => {

View File

@ -27,13 +27,8 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="培训开始时间" prop="kssj" style="width: 100%;">
<el-date-picker v-model="formData.kssj" type="datetime" value-format="YYYY-MM-DD HH:mm:ss" placeholder="请输入培训开始时间" style="width: 100%;" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="培训结束时间" prop="jssj" style="width: 100%;">
<el-date-picker v-model="formData.jssj" type="datetime" value-format="YYYY-MM-DD HH:mm:ss" placeholder="请输入培训结束时间" style="width: 100%;" />
<el-form-item label="培训时间" prop="kssjJssj" style="width: 100%;">
<el-date-picker v-model="formData.kssjJssj" type="datetimerange" value-format="YYYY-MM-DD HH:mm:ss" start-placeholder="选择开始时间" end-placeholder="选择结束时间" placeholder="请输入培训开始时间" style="width: 100%;" @change="handleTimeChange" />
</el-form-item>
</el-col>
</el-row>
@ -94,7 +89,7 @@
</MyTable>
</div>
<select-personnel-dialog ref="selectPersonnelRef" v-model="visible" @change="handleChange" />
<select-personnel-dialog ref="selectPersonnelRef" v-model="visible" :default-select-keys="defaultSelectKeys" @change="handleChange" />
</div>
</template>
@ -141,12 +136,15 @@ const pageData = reactive({
]
});
const defaultSelectKeys = computed(() => {
return pageData.tableData?.map(i => i.id)
})
const rules = {
xmmc: [{ required: true, message: "请输入培训项目名称", trigger: "change" }],
pxdz: [{ required: true, message: "请输入培训地址", trigger: "change" }],
xxdz: [{ required: true, message: "请输入详细地址", trigger: "change" }],
kssj: [{ required: true, message: "请输入培训开始时间", trigger: "change" }],
jssj: [{ required: true, message: "请输入培训结束时间", trigger: "change" }],
kssjJssj: [{ required: true, message: "请选择开始结束培训时间", trigger: "change" }],
pxrq: [{ required: true, message: "请输入培训日期", trigger: "change" }],
kcmc: [{ required: true, message: "请输入课程名称", trigger: "change" }],
zzdw: [{ required: true, message: "请输入组织单位", trigger: "change" }],
@ -180,6 +178,7 @@ const init = () => {
const close = () => {
FormRef.value.resetFields()
pageData.tableData = []
showDialog.value = false
}
@ -188,18 +187,27 @@ const handleDelItem = (row) => {
pageData.tableData.splice(index, 1)
}
const handleTimeChange = (val) => {
const [start, end] = val
formData.value.kssj = start
formData.value.jssj = end
}
const handleChange = (val) => {
pageData.tableData = [...pageData.tableData, ...val]?.filter((i, index, arr) => arr?.findIndex(s => i?.id === s?.id) === index)
pageData.tableData = [...pageData.tableData, ...val]?.filter((i, index, arr) => arr?.findIndex(s => i?.id === s?.id) === index)
}
const save = () => {
if (pageData.tableData.length === 0) return proxy.$message.warning('请选择培训保安人员')
const ryidList = pageData.tableData?.map(i => i?.id)
const { pxkcList, pxxmid } = formData.value
const { pxkcList, ...rest } = formData.value
FormRef.value.validate( async (valid) => {
if (!valid) return
// 新增项目、修改项目
const url = !formData.value?.id ? `/mosty-base/baxx/pxxm/add` : `/mosty-base/baxx/pxxm/edit`
const res = await qcckPost(formData.value, url)
await qcckPost({ pxkcList, pxxmid: res?.id, ryidList }, !formData.value?.id ? `/mosty-base/baxx/pxkc/saveList` : `/mosty-base/baxx/pxkc/updateList`)
const res = await qcckPost({ ...rest }, url)
// 新增课程、修改课程
await qcckPost({ pxkcList: formData.value.pxkcList, pxxmid: res?.id, ryidList }, !formData.value?.id ? `/mosty-base/baxx/pxkc/saveList` : `/mosty-base/baxx/pxkc/updateList`)
proxy.$message.success('新增培训项目成功')
emits("refresh");
close()

View File

@ -24,7 +24,7 @@
</template>
<script setup>
import { computed, ref, reactive, getCurrentInstance } from 'vue';
import { computed, ref, reactive, getCurrentInstance, watchEffect } from 'vue';
import { qcckPost } from "@/api/qcckApi.js";
import MyTable from '@/components/aboutTable/MyTable.vue';
@ -58,6 +58,7 @@ const pageData = reactive({
tableData: [{}],
keyCount: 0,
tableConfiger: {
rowKey: "id",
rowHieght: 61,
showIndex: false,
showSelectType: "checkBox",
@ -79,6 +80,10 @@ const pageData = reactive({
]
});
watchEffect(() => {
pageData.tableConfiger.defaultSelectKeys = props.defaultSelectKeys
})
const open = async () => {
pageData.tableConfiger.loading = true;
@ -92,6 +97,7 @@ const open = async () => {
pageData.total = res.total
visible.value = true
}
} finally {
pageData.tableConfiger.loading = false
}
@ -99,6 +105,7 @@ const open = async () => {
const handleClose = () => {
selectList.value = []
pageData.tableData = []
visible.value = false
}

View File

@ -69,7 +69,7 @@ const searchConfiger = ref([
]);
const pageData = reactive({
tableData: [{}],
tableData: [],
keyCount: 0,
tableConfiger: {
rowHieght: 61,