'修改保安培训项目'
This commit is contained in:
@ -47,7 +47,7 @@ const formList = reactive([
|
|||||||
])
|
])
|
||||||
|
|
||||||
const rules = {
|
const rules = {
|
||||||
pxgs: [{ required: true, message: "请输入考试成绩", trigger: "change" }],
|
pxgs: [{ required: true, message: "请选择培训公司", trigger: "change" }],
|
||||||
}
|
}
|
||||||
|
|
||||||
const open = (row = {}, type = 'updata') => {
|
const open = (row = {}, type = 'updata') => {
|
||||||
|
|||||||
@ -27,13 +27,8 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="培训开始时间" prop="kssj" style="width: 100%;">
|
<el-form-item label="培训时间" prop="kssjJssj" 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-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-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>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
@ -94,7 +89,7 @@
|
|||||||
</MyTable>
|
</MyTable>
|
||||||
</div>
|
</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>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -141,12 +136,15 @@ const pageData = reactive({
|
|||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const defaultSelectKeys = computed(() => {
|
||||||
|
return pageData.tableData?.map(i => i.id)
|
||||||
|
})
|
||||||
|
|
||||||
const rules = {
|
const rules = {
|
||||||
xmmc: [{ required: true, message: "请输入培训项目名称", trigger: "change" }],
|
xmmc: [{ required: true, message: "请输入培训项目名称", trigger: "change" }],
|
||||||
pxdz: [{ required: true, message: "请输入培训地址", trigger: "change" }],
|
pxdz: [{ required: true, message: "请输入培训地址", trigger: "change" }],
|
||||||
xxdz: [{ required: true, message: "请输入详细地址", trigger: "change" }],
|
xxdz: [{ required: true, message: "请输入详细地址", trigger: "change" }],
|
||||||
kssj: [{ required: true, message: "请输入培训开始时间", trigger: "change" }],
|
kssjJssj: [{ required: true, message: "请选择开始结束培训时间", trigger: "change" }],
|
||||||
jssj: [{ required: true, message: "请输入培训结束时间", trigger: "change" }],
|
|
||||||
pxrq: [{ required: true, message: "请输入培训日期", trigger: "change" }],
|
pxrq: [{ required: true, message: "请输入培训日期", trigger: "change" }],
|
||||||
kcmc: [{ required: true, message: "请输入课程名称", trigger: "change" }],
|
kcmc: [{ required: true, message: "请输入课程名称", trigger: "change" }],
|
||||||
zzdw: [{ required: true, message: "请输入组织单位", trigger: "change" }],
|
zzdw: [{ required: true, message: "请输入组织单位", trigger: "change" }],
|
||||||
@ -180,6 +178,7 @@ const init = () => {
|
|||||||
|
|
||||||
const close = () => {
|
const close = () => {
|
||||||
FormRef.value.resetFields()
|
FormRef.value.resetFields()
|
||||||
|
pageData.tableData = []
|
||||||
showDialog.value = false
|
showDialog.value = false
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -188,6 +187,12 @@ const handleDelItem = (row) => {
|
|||||||
pageData.tableData.splice(index, 1)
|
pageData.tableData.splice(index, 1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const handleTimeChange = (val) => {
|
||||||
|
const [start, end] = val
|
||||||
|
formData.value.kssj = start
|
||||||
|
formData.value.jssj = end
|
||||||
|
}
|
||||||
|
|
||||||
const handleChange = (val) => {
|
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)
|
||||||
}
|
}
|
||||||
@ -195,11 +200,14 @@ const handleChange = (val) => {
|
|||||||
const save = () => {
|
const save = () => {
|
||||||
if (pageData.tableData.length === 0) return proxy.$message.warning('请选择培训保安人员')
|
if (pageData.tableData.length === 0) return proxy.$message.warning('请选择培训保安人员')
|
||||||
const ryidList = pageData.tableData?.map(i => i?.id)
|
const ryidList = pageData.tableData?.map(i => i?.id)
|
||||||
const { pxkcList, pxxmid } = formData.value
|
const { pxkcList, ...rest } = formData.value
|
||||||
FormRef.value.validate( async (valid) => {
|
FormRef.value.validate( async (valid) => {
|
||||||
|
if (!valid) return
|
||||||
|
// 新增项目、修改项目
|
||||||
const url = !formData.value?.id ? `/mosty-base/baxx/pxxm/add` : `/mosty-base/baxx/pxxm/edit`
|
const url = !formData.value?.id ? `/mosty-base/baxx/pxxm/add` : `/mosty-base/baxx/pxxm/edit`
|
||||||
const res = await qcckPost(formData.value, url)
|
const res = await qcckPost({ ...rest }, url)
|
||||||
await qcckPost({ pxkcList, pxxmid: res?.id, ryidList }, !formData.value?.id ? `/mosty-base/baxx/pxkc/saveList` : `/mosty-base/baxx/pxkc/updateList`)
|
// 新增课程、修改课程
|
||||||
|
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('新增培训项目成功')
|
proxy.$message.success('新增培训项目成功')
|
||||||
emits("refresh");
|
emits("refresh");
|
||||||
close()
|
close()
|
||||||
|
|||||||
@ -24,7 +24,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { computed, ref, reactive, getCurrentInstance } from 'vue';
|
import { computed, ref, reactive, getCurrentInstance, watchEffect } from 'vue';
|
||||||
import { qcckPost } from "@/api/qcckApi.js";
|
import { qcckPost } from "@/api/qcckApi.js";
|
||||||
import MyTable from '@/components/aboutTable/MyTable.vue';
|
import MyTable from '@/components/aboutTable/MyTable.vue';
|
||||||
|
|
||||||
@ -58,6 +58,7 @@ const pageData = reactive({
|
|||||||
tableData: [{}],
|
tableData: [{}],
|
||||||
keyCount: 0,
|
keyCount: 0,
|
||||||
tableConfiger: {
|
tableConfiger: {
|
||||||
|
rowKey: "id",
|
||||||
rowHieght: 61,
|
rowHieght: 61,
|
||||||
showIndex: false,
|
showIndex: false,
|
||||||
showSelectType: "checkBox",
|
showSelectType: "checkBox",
|
||||||
@ -79,6 +80,10 @@ const pageData = reactive({
|
|||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
|
||||||
|
watchEffect(() => {
|
||||||
|
pageData.tableConfiger.defaultSelectKeys = props.defaultSelectKeys
|
||||||
|
})
|
||||||
|
|
||||||
const open = async () => {
|
const open = async () => {
|
||||||
pageData.tableConfiger.loading = true;
|
pageData.tableConfiger.loading = true;
|
||||||
|
|
||||||
@ -92,6 +97,7 @@ const open = async () => {
|
|||||||
pageData.total = res.total
|
pageData.total = res.total
|
||||||
visible.value = true
|
visible.value = true
|
||||||
}
|
}
|
||||||
|
|
||||||
} finally {
|
} finally {
|
||||||
pageData.tableConfiger.loading = false
|
pageData.tableConfiger.loading = false
|
||||||
}
|
}
|
||||||
@ -99,6 +105,7 @@ const open = async () => {
|
|||||||
|
|
||||||
const handleClose = () => {
|
const handleClose = () => {
|
||||||
selectList.value = []
|
selectList.value = []
|
||||||
|
pageData.tableData = []
|
||||||
visible.value = false
|
visible.value = false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -69,7 +69,7 @@ const searchConfiger = ref([
|
|||||||
]);
|
]);
|
||||||
|
|
||||||
const pageData = reactive({
|
const pageData = reactive({
|
||||||
tableData: [{}],
|
tableData: [],
|
||||||
keyCount: 0,
|
keyCount: 0,
|
||||||
tableConfiger: {
|
tableConfiger: {
|
||||||
rowHieght: 61,
|
rowHieght: 61,
|
||||||
|
|||||||
Reference in New Issue
Block a user