This commit is contained in:
2025-09-26 17:09:01 +08:00
125 changed files with 2069 additions and 2564 deletions

View File

@ -106,7 +106,7 @@ 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`;
const url = !formData.value?.id ? `/bagl/mosty-base/baxx/cyry/add` : `/bagl/mosty-base/baxx/cyry/edit`;
qcckPost(formData.value, url).then(() => {
loading.value = false;
proxy.$message.success("保存成功");

View File

@ -83,7 +83,7 @@ const pageData = reactive({
// 初始化数据
const init = async (type, id) => {
dialogForm.value = true;
const res = await qcckGet({},`/mosty-base/baxx/njpx/getInfo/${id}`)
const res = await qcckGet({},`/bagl/mosty-base/baxx/njpx/getInfo/${id}`)
console.log(res,'=========');
listQuery.value.pxkcList = res.pxkcList || []
pageData.tableData = res.pxryList || []

View File

@ -93,7 +93,7 @@ const changeSize = (val) => {
const getList = () => {
pageData.tableConfiger.loading = true;
let data = { ...pageData.pageConfiger, ...queryFrom.value };
qcckPost(data, "/mosty-base/baxx/njpx/page").then((res) => {
qcckPost(data, "/bagl/mosty-base/baxx/njpx/page").then((res) => {
pageData.tableData = res.records || [];
pageData.total = res.total;
pageData.tableConfiger.loading = false;

View File

@ -25,12 +25,12 @@
</el-row>
<!-- 单选 和多选 和判断 -->
<el-row>
<el-col :span="8">
<el-form-item label="选项A">
<el-input v-model="listQuery.optionA" placeholder="请输入选项A" />
<el-col :span="8" v-for="(item,index) in options" :key="index">
<el-form-item :label="`${item.zdmc}`" >
<el-input v-model="listQuery['option'+item.dm]" :placeholder="`请输入选项${item.zdmc}`" />
</el-form-item>
</el-col>
<el-col :span="8">
<!-- <el-col :span="8">
<el-form-item label="选项B">
<el-input v-model="listQuery.optionB" placeholder="请输入选项B" />
</el-form-item>
@ -49,20 +49,25 @@
<el-form-item label="选项E">
<el-input v-model="listQuery.optionE" placeholder="请输入选项E" />
</el-form-item>
</el-col>
</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-form-item label="答案" style="width:100%" v-if="listQuery.type == '01'|| listQuery.type == '02'">
<el-select v-model="listQuery.correctAnswer" placeholder="请选择答案" :multiple="listQuery.type == '02'" style="width:100%">
<el-option v-for="item in options" :key="item" :label="item.dm" :value="item.dm"></el-option>
</el-select>
</el-form-item >
<el-form-item label="答案" style="width:100%" v-else>
<el-select v-model="listQuery.isTrue" placeholder="请选择答案" :multiple="multiple" style="width:100%">
<el-option v-for="item in options" :key="item" :label="item.dm" :value="item.dm"></el-option>
</el-select>
</el-form-item>
<el-form-item label="答案" style="width:100%" prop="isTrue" v-else>
<!-- <el-form-item label="答案" style="width:100%" prop="isTrue" v-else>
<el-input v-model="listQuery.isTrue" placeholder="请输入答案" />
</el-form-item>
</el-form-item> -->
</el-col>
</el-row>
</el-form>
@ -79,6 +84,22 @@ const props = defineProps({
default: () => {}
},
})
const AnswerDictionary = [
{ dm: 'A', zdmc: '选项A' },
{ dm: 'B', zdmc: '选项B' },
{ dm: 'C', zdmc: '选项C' },
{ dm: 'D', zdmc: '选项D' },
{ dm: 'E', zdmc: '选项E' },
]
const emit = defineEmits(["refresh"]);
const { proxy } = getCurrentInstance();
@ -86,9 +107,10 @@ const { proxy } = getCurrentInstance();
const dialogForm = ref(false);
const title = ref('');
const listQuery = ref({})
const FormRef = ref();
const FormRef = ref(null);
const loading = ref(false);
const multiple = ref(false)
const options=ref([])
const rules = reactive({
tm: [{ required: true, message: "请输入题目", trigger: "blur" }],
type: [{ required: true, message: "请选择题型", trigger: "blur" }],
@ -98,8 +120,11 @@ const rules = reactive({
const init = (type, row) => {
dialogForm.value = true;
title.value = type == "add" ? "新增" : type == "edit" ? "编辑" : "详情";
if(row){
qcckPost({},`/mosty-base/baxx/tkgl/getInfo/${row.id}`).then(res=>{
if (row) {
console.log(row);
changeType(row.type);
qcckPost({},`/bagl/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
@ -111,10 +136,15 @@ const changeType = (val) => {
multiple.value = val == '02' ? true : false;
switch (val) {
case '01':
options.value = AnswerDictionary.slice(0, 4)
listQuery.value.isTrue = ''
break
case '02':
options.value=AnswerDictionary
listQuery.value.isTrue = ''
break;
case '03':
options.value=AnswerDictionary.slice(0,2)
listQuery.value.correctAnswer = []
break;
}
@ -124,7 +154,7 @@ const save = () => {
FormRef.value.validate((valid)=>{
if (!valid) return;
loading.value = true;
let url = title.value == '新增' ? `/mosty-base/baxx/tkgl/add` : `/mosty-base/baxx/tkgl/edit`;
let url = title.value == '新增' ? `/bagl/mosty-base/baxx/tkgl/add` : `/bagl/mosty-base/baxx/tkgl/edit`;
let params = { ...listQuery.value }
params.correctAnswer = Array.isArray(params.correctAnswer) ? params.correctAnswer.join(','):params.correctAnswer;
qcckPost(params, url).then(() => {
@ -142,7 +172,7 @@ const close = () => {
dialogForm.value = false;
listQuery.value = { }
multiple.value = false;
FormRef.value.reset()
// FormRef.value.reset()
};;
defineExpose({init})

View File

@ -8,6 +8,12 @@
</el-icon>
<span style="vertical-align: middle">新增</span>
</el-button>
<el-button type="primary" @click="handleDelete(ids)">
<el-icon style="vertical-align: middle">
<CirclePlus />
</el-icon>
<span style="vertical-align: middle">批量删除</span>
</el-button>
</PageTitle>
</div>
<!-- 搜索 -->
@ -24,8 +30,8 @@
</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 v-for="(val,idx) in row.correctAnswer" >
{{val}}<span v-if="row.correctAnswer.length - 1 != idx">,</span>
</span>
</span>
<span v-else>{{ row.isTrue }}</span>
@ -75,7 +81,7 @@ const pageData = reactive({
keyCount: 0,
tableConfiger: {
rowHieght: 61,
showSelectType: "null",
showSelectType: "checkBox",
loading: false
},
total: 0,
@ -92,7 +98,7 @@ const pageData = reactive({
{ label: "选项C", prop: "optionC" },
{ label: "选项D", prop: "optionD" },
{ label: "选项E", prop: "optionE" },
{ label: "答案", prop: "answer", showSolt: true}
{ label: "答案", prop: "answer", showSolt: true }
]
});
@ -107,7 +113,10 @@ const onSearch = (val) => {
pageData.pageConfiger.pageCurrent = 1;
getList();
};
const ids=ref()
const chooseData = (val) => {
ids.value=val.map(item=>item.id)
}
const changeNo = (val) => {
pageData.pageConfiger.pageNum = val;
getList();
@ -121,7 +130,9 @@ const changeSize = (val) => {
const getList = () => {
pageData.tableConfiger.loading = true;
let data = { ...pageData.pageConfiger, ...queryFrom.value };
qcckPost(data, "/mosty-base/baxx/tkgl/page").then((res) => {
qcckPost(data, "/bagl/mosty-base/baxx/tkgl/page").then((res) => {
console.log(res);
let arr = res.records || []
arr.forEach(item => {
item.correctAnswer = item.correctAnswer.split(',')
@ -138,7 +149,7 @@ const getList = () => {
// 删除
const handleDelete = (ids) => {
proxy.$modal.confirm("是否确认删除该题目?").then(() => {
qcckPost(ids, "/mosty-base/baxx/tkgl/remove").then(() => {
qcckPost({idList:ids}, "/bagl/mosty-base/baxx/tkgl/remove").then(() => {
proxy.$modal.msgSuccess("删除成功");
getList();
});

View File

@ -49,7 +49,7 @@ const formList = reactive([
{ label: "学时安排", prop: "gksc", type: "input" },
],
[
{ label: "上传附件", prop: "fj", type: "upload" },
{ label: "上传附件", prop: "fj", type: "upload", isAll: true, showBtn: true, isImg: false },
],
])
@ -64,7 +64,7 @@ const init = (type, id,) => {
function getDateById (id) {
qcckPost({},`/mosty-base/baxx/jxda/getInfo/${id}`).then((res) => {
res.fj = res.fj ? res.fj.split(','):[]
res.fj = res.fj ? JSON.parse(res.fj):[]
listQuery.value = res || {};
})
}
@ -72,9 +72,10 @@ function getDateById (id) {
const save = () => {
FormRef.value.submit((val)=>{
loading.value = true;
let url = title.value == '新增' ? `/mosty-base/baxx/jxda/add` : `/mosty-base/baxx/jxda/edit`;
let url = title.value == '新增' ? `/bagl/mosty-base/baxx/jxda/add` : `/bagl/mosty-base/baxx/jxda/edit`;
let params = { ...val }
params.fj = params.fj ? params.fj.join(','):''
params.fj = params.fj ? JSON.stringify(params.fj):''
qcckPost(params, url).then(() => {
loading.value = false;
proxy.$message.success("保存成功");
@ -87,7 +88,7 @@ const save = () => {
}
const close = () => {
dialogForm.value = false;
listQuery.value = {fj:[]}
listQuery.value.fj = []
FormRef.value.reset()
};;

View File

@ -108,7 +108,7 @@ const changeSize = (val) => {
const getList = () => {
pageData.tableConfiger.loading = true;
let data = { ...pageData.pageConfiger, ...queryFrom.value };
qcckPost(data, "/mosty-base/baxx/jxda/page").then((res) => {
qcckPost(data, "/bagl/mosty-base/baxx/jxda/page").then((res) => {
pageData.tableData = res.records || [];
pageData.total = res.total;
pageData.tableConfiger.loading = false;
@ -121,7 +121,7 @@ const getList = () => {
// 删除
const handleDelete = (ids) => {
proxy.$modal.confirm("是否确认删除?").then(() => {
qcckPost(ids, "/mosty-base/baxx/jxda/remove").then(() => {
qcckPost(ids, "/bagl/mosty-base/baxx/jxda/remove").then(() => {
proxy.$modal.msgSuccess("删除成功");
getList();
});

View File

@ -49,7 +49,7 @@ const init = (type, row = {}) => {
};
const getDateById = (id) =>{
qcckPost({},'/mosty-base/baxx/sok/getInfo/'+id).then(res=>{
qcckPost({},'/bagl/mosty-base/baxx/sok/getInfo/'+id).then(res=>{
res.fjid = res.fjid ? JSON.parse(res.fjid):[];
listQuery.value = res || {}
})
@ -58,7 +58,7 @@ const getDateById = (id) =>{
const save = () => {
FormRef.value.submit((val)=>{
loading.value = true;
let url = title.value == '新增' ? `/mosty-base/baxx/sok/add` : `/mosty-base/baxx/sok/edit`;
let url = title.value == '新增' ? `/bagl/mosty-base/baxx/sok/add` : `/bagl/mosty-base/baxx/sok/edit`;
let params = {...val }
params.fjid = params.fjid ? JSON.stringify(params.fjid):''
qcckPost(params, url).then(() => {

View File

@ -102,7 +102,7 @@ const changeSize = (val) => {
const getList = () => {
pageData.tableConfiger.loading = true;
let data = { ...pageData.pageConfiger, ...queryFrom.value };
qcckPost(data, "/mosty-base/baxx/sok/page").then((res) => {
qcckPost(data, "/bagl/mosty-base/baxx/sok/page").then((res) => {
pageData.tableData = res.records || [];
pageData.total = res.total;
pageData.tableConfiger.loading = false;
@ -115,7 +115,7 @@ const getList = () => {
// 删除
const handleDelete = (ids) => {
proxy.$modal.confirm("是否确认删除该视频?").then(() => {
qcckPost(ids, "/mosty-base/baxx/sok/remove").then(() => {
qcckPost(ids, "/bagl/mosty-base/baxx/sok/remove").then(() => {
proxy.$modal.msgSuccess("删除成功");
getList();
});

View File

@ -1,236 +0,0 @@
<template>
<div class="dialog" v-if="dialogForm">
<div class="head_box">
<span class="title">巡逻路线{{ title }}</span>
<div>
<el-button size="small" @click="save" type="primary" :loading="loading">保存</el-button>
<el-button size="small" @click="close">关闭</el-button>
</div>
</div>
<div class="cntinfo">
<FormMessage ref="FormRef" v-model="listQuery" :rules="rules" :formList="formList" :labelWidth='120'>
<template #zb>
<el-input v-model="listQuery.zb" placeholder="请选择巡逻路线">
<template #append><el-button type="primary" @click="chackLat">开始绘制</el-button></template>
</el-input>
</template>
<div class="mapBox relative mb10">
<GdMap></GdMap>
</div>
<template #bxds>
<el-input v-model="listQuery.bxdsl" placeholder="关联点位数量">
<template #append><el-button type="primary" @click="addEditPoint('add', row)">新增点位</el-button></template>
</el-input>
</template>
</FormMessage>
<div style="padding: 0 12rem;">
<MyTable :tableData="listQuery.bxds" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth">
<template #ewm="{ row }">
<el-image :src="`${baseUrl}${row.ewm}`" preview-teleported>
</el-image>
</template>
<template #bxdLx="{ row }">
<DictTag :value="row.bxdLx" :tag="false" :options="dic.D_BZ_BXDLX" />
</template>
<template #controls="{ row }">
<el-link type="primary" @click="addEditPoint('edit', row)">编辑</el-link>
<el-link type="primary" @click="chooseJwd(row)">选择经纬度</el-link>
<el-link type="danger" @click="deleteRow(row)">删除</el-link>
</template>
</MyTable>
</div>
</div>
</div>
<DetectionPoints ref="addPoint" v-if="showMap" @changeDxd="changeDxd" :dic="{ D_BZ_BXDLX: dic.D_BZ_BXDLX }"></DetectionPoints>
</template>
<script setup>
import DetectionPoints from "./detectionPoints";
import GdMap from "@/components/GdMap/index.vue";
import emitter from "@/utils/eventBus.js";
import MyTable from "@/components/aboutTable/MyTable.vue";
import { qcckPost, qcckGet } from "@/api/qcckApi.js";
import FormMessage from "@/components/aboutTable/FormMessage.vue";
import { ref, defineProps, reactive, defineEmits, getCurrentInstance, nextTick, onMounted, onUnmounted, watch } from 'vue';
const emit = defineEmits(["refresh"]);
const { proxy } = getCurrentInstance();
const baseUrl = 'data:image/jpeg;base64,'
const props = defineProps({
dic: {
type: Object,
default: () => ({})
}
});
const showMap = ref(false); // 控制地图显示
const addPoint = ref();
const dialogForm = ref(false);
const title = ref('');
const FormRef = ref();
const loading = ref(false);
const changeItem = ref({});
const listQuery = ref({
bxds: []
});
const rules = reactive({
bxxMc: [{ required: true, message: "请输入巡逻路线名称", trigger: "blur" }],
bxxLx: [{ required: true, message: "请选择巡逻路线类型", trigger: "blur" }],
});
const formList = reactive([
[
{ label: "巡逻路线名称", prop: "bxxMc", type: "input" },
{ label: "巡逻路线类型", prop: "bxxLx", type: "select", options: props.dic.D_BZ_BXDLX },
{ label: "所属辖区", prop: "ssbmdm", type: "department" },
],
[
{ label: "巡逻路线", prop: "zb", type: "slot",width:'100%' },
],
{ label: "", prop: "map", type: "slot",width:'100%' },
[
{ label: "巡逻点位", prop: "bxds", type: "slot",width:'100%' },
]
])
const pageData = reactive({
keyCount: 0,
tableConfiger: {
rowHieght: 61,
showSelectType: "null",
},
tableHeight: 400,
controlsWidth: 200,
tableColumn: [
{ label: "巡逻点位名称", prop: "bxdMc"},
{ label: "经度", prop: "jd"},
{ label: "纬度", prop: "wd"},
{ label: "二维码", prop: "ewm",showSolt: true },
{ label: "巡逻点位类型", prop: "bxdLx", showSolt: true },
]
});
// 初始化数据
const init = (type, row,) => {
title.value = type == "add" ? "新增" : "编辑";
dialogForm.value = true;
if (row) getDateById(row.id) ;
};
// 获取详情
const getDateById = (id) => {
qcckGet({ id }, `/mosty-jmxf/jbldBxx/selectById`).then((res) => {
emitter.emit("echoLine", { coords: [{coords:[res.zb]}],type:'solid', flag: 'bxx'});
res.bxds = res.bxds ? res.bxds : [];
res.bxds.forEach((item) => {
let icon = require('@/assets/point/zsdw.png');
emitter.emit("addPointArea", { coords: [item], icon, flag: 'bxd'+item.id });
});
listQuery.value = res || {};
})
};
// 详情
const addEditPoint = (type, row) => {
if(!listQuery.value.zb) return proxy.$message.warning("请先选择巡逻路线");
showMap.value = true;
nextTick(() => {
addPoint.value.init(type, row,listQuery.value.zb);
});
};
// 新增或者编辑比巡店
const changeDxd = (val) => {
if(val.type == 'add') {
listQuery.value.bxds.push(val.data);
} else {
let index = listQuery.value.bxds.findIndex(item => item.id == val.data.id);
listQuery.value.bxds.splice(index, 1, val.data);
}
listQuery.bxdsl = listQuery.value.bxds.length;
pageData.keyCount++;
if(val.data.jd && val.data.wd) {
emitter.emit("deletePointArea", 'bxd' + val.data.id);
let icon = require('@/assets/point/zsdw.png');
emitter.emit("addPointArea", { coords: [{jd:val.data.jd,wd:val.data.wd}], icon, flag: 'bxd'+val.data.id });
}
};
// 选择经纬度
const chooseJwd = (row) => {
changeItem.value = row;
emitter.emit("deletePointArea", 'bxd' + row.id);
emitter.emit("removePlot", 'point'+row.id);
emitter.emit("drawShape", { type: 'point', flag: 'point'+row.id});
};
// 选择巡逻路线
const chackLat = () => {
emitter.emit("removeAll");
listQuery.value.zb = [];
emitter.emit("drawShape", { type: 'line', flag: 'bxx', isclear: true })
}
// 保存
const save = () => {
FormRef.value.submit(() => {
loading.value = true;
let url = title.value == '新增' ? `/mosty-jmxf/jbldBxx/addBxx` : `/mosty-jmxf/jbldBxx/updateBxx`;
qcckPost(listQuery.value, url).then(() => {
loading.value = false;
proxy.$message.success("保存成功");
emit("refresh");
close();
}).catch(() => {
loading.value = false;
})
});
}
// 删除
const deleteRow = (row) => {
listQuery.value.bxds.splice(row, 1);
emitter.emit("deletePointArea", 'bxd' + row.id);
emitter.emit("removePlot", 'point' + row.id);
};
// 关闭
const close = () => {
dialogForm.value = false;
FormRef.value.reset()
};
onMounted(() => {
emitter.on("coordString", (res => {
if (res?.flag == 'bxx') listQuery.value.zb = res.coord;
if(res.type == 'point') {
listQuery.value.bxds.forEach((item) => {
if (item.id == changeItem.value.id) {
item.jd = res.coord[0];
item.wd = res.coord[1];
}
});
let icon = require('@/assets/point/zsdw.png');
emitter.emit("showPoint", { coords: [{jd:res.coord[0],wd:res.coord[1]}], icon, flag: 'bxd'+changeItem.value.id });
}
}))
})
defineExpose({ init })
onUnmounted(() => {
emitter.off("coordString")
})
</script>
<style lang="scss" scoped>
@import "@/assets/css/layout.scss";
.cntinfo{
height: calc(100% - 70px);
overflow: hidden;
overflow-y: auto;
}
.mapBox {
width: 100%;
height: 400px;
overflow: hidden;
}
</style>

View File

@ -1,230 +0,0 @@
<template>
<div>
<el-dialog custom-class="zdy-dialog-bbd" :destroy-on-close="true" v-model="dialogForm" :title="`巡逻点位${title}`"
width="600px" @close="close">
<FormMessage ref="FormRef" v-model="listQuery" :rules="rules" :formList="formList">
<template #suoso>
<div class="flex align-center ww100 just-center">
<el-select ref="selectRef" v-model="pegPoint" filterable remote reserve-keyword placeholder="请选择巡逻点位"
:popper-append-to-body="false" remote-show-suffix :remote-method="changePoint" clearable @change="changeSelect">
<el-option v-for="(item, index) in dateList" :key="item.dzid" :label="item.dzmc" :value="item.dzid" />
</el-select>
</div>
</template>
</FormMessage>
<div class="tc mt10">
<el-button type="primary" @click="save">保存</el-button>
<el-button @click="close">关闭</el-button>
</div>
</el-dialog>
</div>
</template>
<script setup>
import FormMessage from "@/components/aboutTable/FormMessage.vue";
import { ref, defineProps, reactive, defineEmits, onMounted, nextTick } from 'vue';
import { doBzdzSelect } from '@/api/solrSearcher'
const emit = defineEmits(["refresh"]);
const props = defineProps({
dic: {
type: Object,
default: () => ({})
}
});
const dialogForm = ref(false);
const title = ref('');
const FormRef = ref();
const listQuery = ref({});
const rules = reactive({
bxdMc: [{ required: true, message: "请输入巡逻点位名称", trigger: "blur" }],
bxdLx: [{ required: true, message: "请输入巡逻点位类型", trigger: "blur" }],
});
const formList = reactive([
[
{ label: "", prop: "suoso", type: "slot" },
],
[
{ label: "巡逻点位名称", prop: "bxdMc", type: "input",labelWidth:"120px" },
], [
{ label: "巡逻点位类型", prop: "bxdLx", type: "select", options: props.dic.D_BZ_BXDLX,labelWidth:"120px" },
], [
{ label: "经度", prop: "jd", type: "input",disabled:false,labelWidth:"120px" }
], [
{ label: "纬度", prop: "wd", type: "input",disabled:false,labelWidth:"120px" },
]
])
// 初始化数据
const init = (type, row) => {
dialogForm.value = true;
title.value = type == "add" ? "新增" : "编辑";
listQuery.value = row ? { ...row } : {};
initScrollListener()
getData()
};
const save = () => {
FormRef.value.submit(() => {
let data = JSON.parse(JSON.stringify(listQuery.value));
data.id = data.id || new Date().getTime();
let obj = {
data: data,
type: title.value == "新增" ? "add" : "edit"
}
emit("changeDxd", obj);
close();
});
}
const close = () => {
dialogForm.value = false;
pegPoint.value=''
FormRef.value.reset()
removeScrollListener()
};
const pegPoint = ref()
const queryFrom = reactive({
page: 1,
rows: 20
})
const dateList = ref()
const total = ref(0)
const screenData = ref()
const loadingLock = ref(false)
const changePoint = (val) => {
screenData.value = val
dateList.value=[]
queryFrom.page = 1
if (loadingLock.value) return
loadingLock.value = true
getData()
// 添加短暂延迟后再释放锁
setTimeout(() => {
loadingLock.value = false
}, 300)
}
const getData = () => {
const promes = {
...queryFrom,
dzmc: screenData.value
}
doBzdzSelect(promes).then((res) => {
dateList.value = queryFrom.page == 1 ? res.rows : [...dateList.value, ...res.rows]
total.value = res.total
}).catch((err) => {
}).finally(() => {
// dialogForm.value = false;
});
}
defineExpose({ init })
const dropdownElement = ref()
const scrollHandler = ref(null)
const selectRef = ref()
const getDropdownElement=()=> {
if (selectRef.value) {
return selectRef.value.$el.querySelector('.el-select-dropdown .el-scrollbar__wrap')
}
return null
}
const changeSelect = (e) => {
const data = dateList.value.find(item => item.dzid == e)
listQuery.value.bxdMc = data.dzmc
// listQuery.value.jd = data.dzmc
// listQuery.value.wd=data.dzmc
}
// 初始化滚动监听
const initScrollListener=() =>{
nextTick(() => {
dropdownElement.value = getDropdownElement()
if (dropdownElement.value) {
addScrollListener()
}
})
}
// 添加滚动监听
function addScrollListener() {
if (dropdownElement.value && !scrollHandler.value) {
scrollHandler.value = handleScroll
dropdownElement.value.addEventListener('scroll', scrollHandler.value)
}
}
// 移除滚动监听
const removeScrollListener=() =>{
if (dropdownElement.value && scrollHandler.value) {
dropdownElement.value.removeEventListener('scroll', scrollHandler.value)
scrollHandler.value = null
}
}
// 滚动处理
const handleScroll=(event) =>{
const target = event.target
const { scrollTop, scrollHeight, clientHeight } = target
// 距离底部阈值时触发加载
if (scrollHeight - scrollTop - clientHeight <= 10) {
console.log(scrollHeight - scrollTop - clientHeight);
loadMore()
}
}
const loadMore = () => {
if (loadingLock.value) return
loadingLock.value = true
queryFrom.page++
if (dateList.value.length < total.value) {
getData()
}
// 添加短暂延迟后再释放锁
setTimeout(() => {
loadingLock.value = false
}, 300)
}
</script>
<style lang="scss" scoped>
@import "@/assets/css/layout.scss";
.mapBox {
width: 100%;
height: 400px;
}
::v-deep .el-form--inline .el-form-item {
margin-right: 0;
}
::v-deep .el-dialog {
--el-dialog-bg-color: #fff;
}
::v-deep .el-dialog__title {
color: #333;
font-size: 16px;
}
</style>
<style lang="scss" scoped>
::v-deep .zdy-dialog-bbd {
--el-dialog-bg-color: #fff !important;
background: #fff !important;
::v-deep .el-dialog__header {
background-color: #f7fafb;
border-bottom: 1px solid #e3e7ed;
}
.el-dialog__title {
color: #333;
font-size: 16px;
}
}
::v-deep .el-select__popper.el-popper {
background-color: #fff !important;
}
</style>

View File

@ -1,227 +0,0 @@
<template>
<div class="patrol-line-dialog">
<el-dialog v-model="isShow" title="下发任务" width="800px" :show-close="true" :center="true"
:before-close="handleClose">
<div class="uplodBox">
<el-form ref="formRef" :model="formData" :rules="rules" label-width="80px">
<el-row>
<el-col :span="12">
<el-form-item prop="rwbt" label="任务名称">
<el-input v-model="formData.rwbt" placeholder="请输入任务名称"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="rwsj" label="任务时间">
<el-date-picker @change="handleChangeTime" v-model="formData.rwsj" type="datetimerange" unlink-panels range-separator="至"
:start-placeholder="'开始时间'" :end-placeholder="'结束时间'" value-format="YYYY-MM-DD HH:mm:ss" />
</el-form-item>
</el-col>
</el-row>
<el-divider> 巡逻人员 </el-divider>
<el-row>
<el-col :span="24">
<el-form-item prop="fzrxm" label="负责人">
<el-input v-model="formData.fzrxm" readonly placeholder="请选择负责人" @click="handleClick('fzr','选择负责人')"></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item prop="mjlist" label="民警">
<div class="tagBox" @click="handleClick('mj','选择民警','mjlist')">
<span class="txet" v-if="!formData.mjlist || formData.mjlist.length == 0">请选择民警</span>
<span class="txet" v-else>
<el-tag v-for="item in formData.mjlist" :key="item.id" closable @close.stop="removeTag(item, 'mjlist')">{{item.xm}}</el-tag>
</span>
</div>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item prop="fjlist" label="辅警">
<div class="tagBox" @click="handleClick('fj','选择辅警','fjlist')">
<span class="txet" v-if="!formData.fjlist || formData.fjlist.length == 0">请选择辅警</span>
<span class="txet" v-else>
<el-tag v-for="item in formData.fjlist" :key="item.id" closable @close.stop="removeTag(item, 'fjlist')">{{item.xm}}</el-tag>
</span>
</div>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item prop="baryList" label="保安">
<div class="tagBox" @click="handleClick('ba','选择保安','baryList')">
<span class="txet" v-if="!formData.baryList || formData.baryList.length == 0">请选择保安</span>
<span class="txet" v-else>
<el-tag v-for="item in formData.baryList" :key="item.id" closable @close.stop="removeTag(item, 'baryList')">{{item.xm}}</el-tag>
</span>
</div>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item prop="wgyjson" label="网格员">
<div class="tagBox" @click="handleClick('wgy','选择网格员','wgyjson')">
<span class="txet" v-if="!formData.wgyjson || formData.wgyjson.length == 0">请选择网格员</span>
<span class="txet" v-else>
<el-tag v-for="item in formData.wgyjson" :key="item.id" closable @close.stop="removeTag(item, 'wgyjson')">{{item.xm}}</el-tag>
</span>
</div>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item prop="qfqzjson" label="群防群治">
<div class="tagBox" @click="handleClick('qfqz','选择群防群治','qfqzjson')">
<span class="txet" v-if="!formData.qfqzjson || formData.qfqzjson.length == 0">请选择群防群治</span>
<span class="txet" v-else>
<el-tag v-for="item in formData.qfqzjson" :key="item.id" closable @close.stop="removeTag(item, 'qfqzjson')">{{item.xm}}</el-tag>
</span>
</div>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<div class="foot tc">
<el-button @click="handleClose">取消</el-button>
<el-button type="primary" :loading="loading" @click="onComfirm">确认</el-button>
</div>
</el-dialog>
<!-- 选择人员列表 -->
<ChooseList :data="chooseType" v-model="showDialog" @choosed="choosedList"></ChooseList>
</div>
</template>
<script setup>
import { ElMessage } from "element-plus";
import { qcckPost, qcckGet } from "@/api/qcckApi.js";
import ChooseList from "@/components/ChooseList/index.vue";
import { reactive, ref, defineEmits } from "vue";
const isShow = ref(false);
const formData = ref({});
const rules = reactive({
rwbt: [{ required: true, message: "请输入任务名称", trigger: "blur" }],
rwsj: [{ required: true, message: "请选择任务时间", trigger: "change" }],
fzrxm: [{ required: true, message: "请选择负责人", trigger: "change" }],
mjlist: [{ required: true, message: "请选择民警", trigger: "change" }],
fjlist: [{ required: true, message: "请选择辅警", trigger: "change" }],
});
const loading = ref(false)
const showDialog = ref(false);
const chooseType = reactive({
title:'选择列表',
type:'user',//选择类型
Single:false,//是否单选
roleIds:[],//回显的数据
});
const formRef = ref()
// 点击选择数据
function handleClick (type,title,val){
chooseType.type = type;
chooseType.title = title;
chooseType.roleIds = [];
chooseType.Single = type == 'fzr' ? true : false;
if (!formData.value[val]) formData.value[val] = [];
chooseType.roleIds = formData.value[val].map(item => item.id);
showDialog.value = true;
}
// 选择数据
function choosedList(data) {
switch (chooseType.type) {
case 'fzr':
formData.value.fzrxm = data[0].xm;
formData.value.fzrlxfs = data[0].lxdh;
formData.value.fzrsfzh = data[0].sfzh;
break;
case 'mj':
formData.value.mjlist = data;
break;
case 'fj':
formData.value.fjlist = data;
break;
case 'ba':
formData.value.baryList = data;
break;
case 'wgy':
formData.value.wgyjson = data;
break;
case 'qfqz':
formData.value.qfqzjson = data;
break;
}
}
// 删除数据
function removeTag(item, type) {
formData.value[type] = formData.value[type].filter((i) => i.id !== item.id);
}
// 关闭弹窗
function handleClose() {
isShow.value = false;
formData.value = {};
formRef.value.resetFields();
}
function handleChangeTime(val){
formData.value.rwkssj = val ? val[0] :'';
formData.value.rwjssj = val ? val[1] :'';
}
// 提交
function onComfirm (){
formRef.value.validate((valid) => {
if (!valid) return;
loading.value = true;
let params = { ...formData.value }
params.basl = params.baryList ? params.baryList.length : 0 ;
params.baxm = params.baryList ? params.baryList.map(item => item.xm).join(',') : '';
params.jlryList = [...params.mjlist, ...params.fjlist];
params.mjsl = params.mjlist ? params.mjlist.length : 0;
params.fjsl = params.fjlist ? params.fjlist.length : 0;
params.mjxm = params.mjlist ? params.mjlist.map(item => item.xm).join(',') : '';
params.fjxm = params.fjlist ? params.fjlist.map(item => item.xm).join(',') : '';
params.wgyxm = params.wgyjson ? params.wgyjson.map(item => item.xm).join(',') : '';
params.wgyjson = params.wgyjson ? JSON.stringify(params.wgyjson) : '';
params.qfqz = params.qfqzjson ? params.qfqzjson.map(item => item.xm).join(',') : '';
params.qfqzjson = params.qfqzjson ? JSON.stringify(params.qfqzjson) : '';
qcckPost(params, "/mosty-jmxf/bxxRwxx/addEndity").then((res) => {
ElMessage({ message: "保存成功", type: "success", });
loading.value = false;
handleClose();
}).catch(() => {
loading.value = false;
})
});
}
const init = (row) => {
formData.value.xlid = row.id;
formData.value.xlmc = row.bxxMc;
isShow.value = true;
}
defineExpose({init})
</script>
<style lang="scss" scoped>
.tagBox {
width: 100%;
min-height: 24px;
border: 1px solid #dcdfe6;
border-radius: 4px;
padding: 2px 5px;
box-sizing: border-box;
.txet {
color: #999;
font-size: 14px;
}
}
</style>
<style lang="scss">
.patrol-line-dialog {
.el-date-editor .el-range-separator {
color: #333 !important;
}
}
</style>

View File

@ -1,177 +0,0 @@
<template>
<div>
<div class="titleBox">
<PageTitle title="巡逻路线管理" />
<el-button type="primary" @click="addEdit('add', row)">新增</el-button>
</div>
<!-- 搜索 -->
<div ref="searchBox">
<Search :searchArr="searchConfiger" @submit="onSearch"></Search>
</div>
<!-- 表格 -->
<div class="tabBox">
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth">
<template #bxxLx="{ row }">
<DictTag :value="row.bxxLx" :tag="false" :options="D_BZ_BXDLX" />
</template>
<template #bxds="{ row }">
<div>{{ row.bxds?.length }}</div>
</template>
<!-- 操作 -->
<template #controls="{ row }">
<el-link type="primary" @click="addEdit('edit', row)">编辑</el-link>
<el-link type="danger" @click="handleDelete([row.id])">删除</el-link>
<el-link type="warning" @click="handleXfrw(row)">下发任务</el-link>
</template>
</MyTable>
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight" :pageConfiger="{
...pageData.pageConfiger,
total: pageData.total
}"></Pages>
</div>
<!-- 详情 -->
<DetailForm ref="detailDiloag" v-if="showDetail" @refresh="getList" :dic="{ D_BZ_BXDLX }" />
<!-- 下发任务 -->
<XfrwDialog ref="xfDiloag"></XfrwDialog>
</div>
</template>
<script setup>
import PageTitle from "@/components/aboutTable/PageTitle.vue";
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 XfrwDialog from "./components/xfrwDialog.vue";
import { qcckGet, qcckPost, qcckDelete } from "@/api/qcckApi.js";
import { reactive, ref, onMounted, getCurrentInstance, nextTick } from "vue";
import { getCokie } from '@/api/base.js'
const { proxy } = getCurrentInstance();
const { D_BZ_BXDLX } = proxy.$dict("D_BZ_BXDLX");
const detailDiloag = ref();
const xfDiloag = ref();
const searchBox = ref(); //搜索框
const showDetail = ref(false); // 控制详情弹窗显示
const searchConfiger = ref([
{
label: "巡逻路线名称",
prop: "bxxMc",
placeholder: "巡逻路线名称",
showType: "input"
},
{
label: "所属辖区",
prop: "ssbmdm",
placeholder: "分县局",
showType: "department"
}
]);
const queryFrom = ref({});
const pageData = reactive({
tableData: [],
keyCount: 0,
tableConfiger: {
rowHieght: 61,
showSelectType: "null",
loading: false
},
total: 5,
pageConfiger: {
pageSize: 20,
pageCurrent: 1
},
controlsWidth: 180,
tableColumn: [
{ label: "巡逻路线名称", prop: "bxxMc" },
{ label: "所属辖区", prop: "ssbm" },
{ label: "巡逻路线类型", prop: "bxxLx", showSolt: true },
{ label: "巡逻点位数量", prop: "bxds", showSolt: true }
]
});
onMounted(() => {
getList();
tabHeightFn();
getCokieData()
});
// 搜索
const onSearch = (val) => {
queryFrom.value = { ...val };
pageData.pageConfiger.pageCurrent = 1;
getList();
};
const changeNo = (val) => {
pageData.pageConfiger.pageNum = val;
getList();
};
const changeSize = (val) => {
pageData.pageConfiger.pageSize = val;
getList();
};
// 获取列表
const getList = () => {
pageData.tableConfiger.loading = true;
let data = { zdxllx:0,...pageData.pageConfiger, ...queryFrom.value };
qcckGet(data, "/mosty-jmxf/jbldBxx/queryList").then((res) => {
pageData.tableData = res.records || [];
pageData.total = res.total;
pageData.tableConfiger.loading = false;
}).catch(() => {
pageData.tableConfiger.loading = false;
});
};
// 详情
const addEdit = (type, row) => {
showDetail.value = true;
nextTick(() => {
detailDiloag.value.init(type, row);
});
};
// 删除
const handleDelete = (ids) => {
proxy.$confirm("确认删除该记录吗?", "提示", { confirmButtonText: "确定", cancelButtonText: "取消", type: "warning" }).then(() => {
qcckPost(ids, "/mosty-jmxf/jbldBxx/deleteBxx").then((res) => {
proxy.$message({ type: "success", message: "删除成功!" });
getList();
}).catch(() => {
pageData.tableConfiger.loading = false;
});
});
};
// 下发
const handleXfrw = (row) => {
xfDiloag.value.init(row);
}
// 表格高度计算
const tabHeightFn = () => {
pageData.tableHeight =
window.innerHeight - searchBox.value.offsetHeight - 250;
window.onresize = function () {
tabHeightFn();
};
};
const idEntityCard = localStorage.getItem('idEntityCard')
// 获取方正cokie
const getCokieData = () => {
getCokie({ sfzh: idEntityCard }).then((res) => {
document.cookie = res
});
}
</script>
<style>
.el-loading-mask {
background: rgba(0, 0, 0, 0.5) !important;
}
</style>

View File

@ -34,7 +34,7 @@ import PageTitle from "@/components/aboutTable/PageTitle.vue";
import MyTable from "@/components/aboutTable/MyTable.vue";
import Pages from "@/components/aboutTable/Pages.vue";
import Search from "@/components/aboutTable/Search.vue";
import XfrwDialog from "./components/xfrwDialog.vue";
// import XfrwDialog from "./components/xfrwDialog.vue";
import { qcckGet, qcckPost, qcckDelete } from "@/api/qcckApi.js";
import AddForm from "./components/addForm.vue";
import { reactive, ref, onMounted, getCurrentInstance, nextTick } from "vue";

View File

@ -52,12 +52,12 @@
<template #default="{ row }">
<el-image
style="width=80px;height:90px"
:preview-src-list="[`/mosty-base/minio/image/download/${row.fjdz}`]"
:preview-src-list="[`/bagl/mosty-base/minio/image/download/${row.fjdz}`]"
v-if="row.fjdz"
hide-on-click-modal
preview-teleported
fit="cover"
:src="`/mosty-base/minio/image/download/${row.fjdz}`"/>
:src="`/bagl/mosty-base/minio/image/download/${row.fjdz}`"/>
</template>
</el-table-column>

View File

@ -189,7 +189,7 @@
<div style=" width: 25%; display: flex; justify-content: center;margin-bottom: 10px;">
<div style="position: relative; width: 90px; height: 100px">
<el-upload
action="/mosty-base/minio/image/upload/id"
action="/bagl/mosty-base/minio/image/upload/id"
:on-change="upImgFile"
:on-success="upImg"
:show-file-list="false"
@ -538,7 +538,7 @@ import {
defineExpose,
defineEmits
} from "vue";
const urlImg = ref("/mosty-base/minio/image/download/");
const urlImg = ref("/bagl/mosty-base/minio/image/download/");
const searchBox = ref(null); // 搜索盒子
const tableHeight = ref(); // 表格高度
const tableHeight1 = ref(); // 表格高度

View File

@ -109,7 +109,7 @@
margin-bottom: 10px;
">
<div style="position: relative; width: 90px; height: 100px">
<el-upload action="/mosty-base/minio/image/upload/id" :on-change="upImgFile" :on-success="upImg"
<el-upload action="/bagl/mosty-base/minio/image/upload/id" :on-change="upImgFile" :on-success="upImg"
:show-file-list="false">
<el-image v-if="imgUrl" :src="imgUrl" fit="cover" />
<el-icon v-else>
@ -350,7 +350,7 @@ const tableLeftData = ref([]);
const leftdata = ref([]);
//右边选中数据
const rightData = ref([]);
const urlImg = ref("/mosty-base/minio/image/download/");
const urlImg = ref("/bagl/mosty-base/minio/image/download/");
const zqjlData = ref([
{
zqbm: "xxx部门",

View File

@ -1,4 +1,4 @@
<template>
<!-- <template>
<div>
<div class="titleBox">
<div class="title">群防群治人员</div>
@ -10,12 +10,7 @@
<span style="vertical-align: middle">新增</span>
</el-button>
<!-- <el-button @click="batchDelete" :disabled="ids.length == 0" typeof="danger">
<el-icon style="vertical-align: middle">
<Delete />
</el-icon>
<span style="vertical-align: middle">批量注销</span>
</el-button> -->
</div>
</div>
<div class="searchBox" ref="searchBox">
@ -33,7 +28,6 @@
<el-table :data="tableData" border row-key="id" :tree-props="{ children: 'itemList', hasChildren: true }"
style="width: 100%" :height="tableHeight" :key="keyCount"
v-loading="loadingTable" element-loading-background="rgba(0,0,0,0.3)" element-loading-text="数据加载中。。">
<!-- <el-table-column type="selection" width="40" align="center" /> -->
<el-table-column label="序号" type="index" align="center" sortable width="80" />
<el-table-column sortable prop="xm" show-overflow-tooltip align="center" width="250px" label="姓名">
</el-table-column>
@ -308,4 +302,4 @@ const tabHeightFn = () => {
.textBtn:hover {
color: #2a5dc2;
}
</style>
</style> -->

View File

@ -228,7 +228,7 @@
>
<div style="position: relative; width: 90px; height: 100px">
<el-upload
action="/mosty-base/minio/image/upload/id"
action="/bagl/mosty-base/minio/image/upload/id"
:on-change="upImgFile"
:on-success="upImg"
:show-file-list="false"
@ -568,7 +568,7 @@ import {
RellBackZnzb,
ReportLossZnzb
} from "@/api/basicsmanage/intelligence";
const urlImg = ref("/mosty-base/minio/image/download/");
const urlImg = ref("/bagl/mosty-base/minio/image/download/");
const { proxy } = getCurrentInstance();
const { D_BZ_ZNZBFL, D_ZDY_SBZT, D_BZ_SF, D_BZ_ZBLX_LZ } = proxy.$dict(
"D_BZ_ZNZBFL",

View File

@ -266,7 +266,7 @@
>
<div style="position: relative; width: 90px; height: 100px">
<el-upload
action="/mosty-base/minio/image/upload/id"
action="/bagl/mosty-base/minio/image/upload/id"
:on-change="upImgFile"
:on-success="upImg"
:show-file-list="false"
@ -639,7 +639,7 @@ import {
} from "@/api/basicsmanage/equipment";
import Person from "@/assets/images/default_male.png";
import { ref, reactive, onMounted, getCurrentInstance, onUnmounted } from "vue";
const urlImg = ref("/mosty-base/minio/image/download/");
const urlImg = ref("/bagl/mosty-base/minio/image/download/");
const multipleSelection = ref([]); //批量数据
const { proxy } = getCurrentInstance();
const isImport = ref(false);

View File

@ -209,7 +209,7 @@ import {
const { proxy } = getCurrentInstance();
const emits = defineEmits(["updateChange"]);
const imgList = ref([]);
const urlImg = ref("/mosty-base/minio/image/download/");
const urlImg = ref("/bagl/mosty-base/minio/image/download/");
const props = defineProps({
dic: { type: Object, default: {} }
});

View File

@ -137,7 +137,7 @@ const ams = async (pramas) => {
closed();
}
};
const urlImg = ref("/mosty-base/minio/image/download/");
const urlImg = ref("/bagl/mosty-base/minio/image/download/");
const showMc = (val, vale) => {
const stack = [...val];
while (stack.length) {

View File

@ -328,7 +328,7 @@
</el-form-item>
<el-form-item label="巡访照片" style="width: 100%">
<el-upload
action="/mosty-base/minio/image/upload/id"
action="/bagl/mosty-base/minio/image/upload/id"
v-model:file-list="fileList"
list-type="picture-card"
:on-remove="handleRemove"
@ -435,7 +435,7 @@ const rules = reactive({
const roleIdsPeo = ref([]);
const imgList = ref([]);
const urlImg = ref("/mosty-base/minio/image/download/");
const urlImg = ref("/bagl/mosty-base/minio/image/download/");
const fileList = ref([]);
// 初始化数据

View File

@ -66,7 +66,7 @@
</el-form-item>
<el-form-item label="附件上传" style="width: 100%" prop="fjmc">
<el-input v-model="aggrenSubmt.fjmc" placeholder="请选择上传文件" style="width: 80%"/>
<el-upload action="/mosty-base/minio/image/upload/id" :on-change="upImgFile" :on-success="upImg" :show-file-list="false">
<el-upload action="/bagl/mosty-base/minio/image/upload/id" :on-change="upImgFile" :on-success="upImg" :show-file-list="false">
<el-button type="primary" style="padding: 0 14px">上传</el-button>
</el-upload>
</el-form-item>

View File

@ -59,8 +59,8 @@
<template #default="{ row }">
<div v-if="row.tpList?.[0]">
<el-image :append-to-body="true" :preview-src-list="[
`/mosty-base/minio/image/download/${row.tpList?.[0].fjid}`
]" style="width: 75px" :src="`/mosty-base/minio/image/download/${row.tpList?.[0].fjid}`"
`/bagl/mosty-base/minio/image/download/${row.tpList?.[0].fjid}`
]" style="width: 75px" :src="`/bagl/mosty-base/minio/image/download/${row.tpList?.[0].fjid}`"
fit="cover" lazy />
</div>
<el-image style="width: 75px" :append-to-body="true" v-else :src="Person" :preview-src-list="[Person]"
@ -201,7 +201,7 @@
<div v-if="detailList.tpList && detailList.tpList.length > 0">
<el-form ref="elform" :model="detailList" :rules="rules" :inline="true" label-position="top">
<el-image v-for="(item, index) in detailList.tpList" :key="index"
:src="`/mosty-base/minio/image/download/${item.fjid}`" style="
:src="`/bagl/mosty-base/minio/image/download/${item.fjid}`" style="
width: 100px;
height: 100px;
margin: 10px 0 10px 20px;
@ -218,7 +218,7 @@
<el-form-item label="物品图片" prop="name">
<div style="height: 120px; display: inline-block">
<el-image v-for="(item, index) in detailList.wpVoList[0]?.wpTpIdList" :key="index"
:src="`/mosty-base/minio/image/download/${item}`" style="
:src="`/bagl/mosty-base/minio/image/download/${item}`" style="
width: 100px;
height: 100px;
margin: 10px 0 10px 20px;

View File

@ -70,10 +70,10 @@
<el-image
:append-to-body="true"
:preview-src-list="[
`/mosty-base/minio/image/download/${row.tpList?.[0].fjid}`
`/bagl/mosty-base/minio/image/download/${row.tpList?.[0].fjid}`
]"
style="width: 75px"
:src="`/mosty-base/minio/image/download/${row.tpList?.[0].fjid}`"
:src="`/bagl/mosty-base/minio/image/download/${row.tpList?.[0].fjid}`"
fit="cover"
lazy
/>
@ -320,7 +320,7 @@
<el-image
v-for="(item, index) in form.tpList"
:key="index"
:src="`/mosty-base/minio/image/download/${item.fjid}`"
:src="`/bagl/mosty-base/minio/image/download/${item.fjid}`"
style="
width: 100px;
height: 100px;
@ -346,7 +346,7 @@
<el-image
v-for="(item, index) in form.wpVoList[0]?.wpTpIdList"
:key="index"
:src="`/mosty-base/minio/image/download/${item}`"
:src="`/bagl/mosty-base/minio/image/download/${item}`"
style="
width: 100px;
height: 100px;

View File

@ -92,10 +92,10 @@
<el-image
:append-to-body="true"
:preview-src-list="[
`/mosty-base/minio/image/download/${row.tpList?.[0].fjid}`
`/bagl/mosty-base/minio/image/download/${row.tpList?.[0].fjid}`
]"
style="width: 75px"
:src="`/mosty-base/minio/image/download/${row.tpList?.[0].fjid}`"
:src="`/bagl/mosty-base/minio/image/download/${row.tpList?.[0].fjid}`"
fit="cover"
lazy
/>
@ -343,7 +343,7 @@
<el-image
v-for="(item, index) in detailList.tpList"
:key="index"
:src="`/mosty-base/minio/image/download/${item.fjid}`"
:src="`/bagl/mosty-base/minio/image/download/${item.fjid}`"
style="
width: 100px;
height: 100px;
@ -370,7 +370,7 @@
<el-image
v-for="(item, index) in detailList.wpVoList[0]?.wpTpIdList"
:key="index"
:src="`/mosty-base/minio/image/download/${item}`"
:src="`/bagl/mosty-base/minio/image/download/${item}`"
style="
width: 100px;
height: 100px;

View File

@ -104,10 +104,10 @@
<el-image
:append-to-body="true"
:preview-src-list="[
`/mosty-base/minio/image/download/${row.tpList?.[0].fjid}`
`/bagl/mosty-base/minio/image/download/${row.tpList?.[0].fjid}`
]"
style="width: 75px"
:src="`/mosty-base/minio/image/download/${row.tpList?.[0].fjid}`"
:src="`/bagl/mosty-base/minio/image/download/${row.tpList?.[0].fjid}`"
fit="cover"
lazy
/>
@ -282,11 +282,11 @@
<div v-if="form.tpList?.[0]">
<el-image
:preview-src-list="[
`/mosty-base/minio/image/download/${form.tpList?.[0].fjid}`
`/bagl/mosty-base/minio/image/download/${form.tpList?.[0].fjid}`
]"
style="width: 100px"
:append-to-body="true"
:src="`/mosty-base/minio/image/download/${form.tpList?.[0].fjid}`"
:src="`/bagl/mosty-base/minio/image/download/${form.tpList?.[0].fjid}`"
fit="cover"
lazy
/>
@ -373,9 +373,9 @@
:key="index"
:append-to-body="true"
:preview-src-list="[
`/mosty-base/minio/image/download/${item.fjid}`
`/bagl/mosty-base/minio/image/download/${item.fjid}`
]"
:src="`/mosty-base/minio/image/download/${item.fjid}`"
:src="`/bagl/mosty-base/minio/image/download/${item.fjid}`"
style="
width: 100px;
height: 100px;
@ -406,9 +406,9 @@
:key="index"
:append-to-body="true"
:preview-src-list="[
`/mosty-base/minio/image/download/${item}`
`/bagl/mosty-base/minio/image/download/${item}`
]"
:src="`/mosty-base/minio/image/download/${item}`"
:src="`/bagl/mosty-base/minio/image/download/${item}`"
style="
width: 100px;
height: 100px;

View File

@ -74,10 +74,10 @@
<el-image
:append-to-body="true"
:preview-src-list="[
`/mosty-base/minio/image/download/${row.tpList?.[0].fjid}`
`/bagl/mosty-base/minio/image/download/${row.tpList?.[0].fjid}`
]"
style="width: 75px"
:src="`/mosty-base/minio/image/download/${row.tpList?.[0].fjid}`"
:src="`/bagl/mosty-base/minio/image/download/${row.tpList?.[0].fjid}`"
fit="cover"
lazy
/>
@ -262,11 +262,11 @@
<div v-if="form.tpList && form.tpList.length > 0">
<el-image
:preview-src-list="[
`/mosty-base/minio/image/download/${form.tpList?.[0].fjid}`
`/bagl/mosty-base/minio/image/download/${form.tpList?.[0].fjid}`
]"
style="width: 100px"
:append-to-body="true"
:src="`/mosty-base/minio/image/download/${form.tpList?.[0].fjid}`"
:src="`/bagl/mosty-base/minio/image/download/${form.tpList?.[0].fjid}`"
fit="cover"
lazy
/>
@ -343,9 +343,9 @@
:key="index"
:append-to-body="true"
:preview-src-list="[
`/mosty-base/minio/image/download/${item.fjid}`
`/bagl/mosty-base/minio/image/download/${item.fjid}`
]"
:src="`/mosty-base/minio/image/download/${item.fjid}`"
:src="`/bagl/mosty-base/minio/image/download/${item.fjid}`"
style="
width: 100px;
height: 100px;
@ -379,9 +379,9 @@
:key="index"
:append-to-body="true"
:preview-src-list="[
`/mosty-base/minio/image/download/${item}`
`/bagl/mosty-base/minio/image/download/${item}`
]"
:src="`/mosty-base/minio/image/download/${item}`"
:src="`/bagl/mosty-base/minio/image/download/${item}`"
style="
width: 100px;
height: 100px;

View File

@ -225,7 +225,7 @@ const handleSelectionChange = (val) => {
//批量删除数据
const batchDelete = () => {
proxy.$confirm("确定要删除", "警告", { type: "warning" }).then(() => {
qcckPost(ids.value,'/mosty-base/sys-dict-item/deleteSysDictItemBatch').then(res=>{
qcckPost(ids.value,'/bagl/mosty-base/sys-dict-item/deleteSysDictItemBatch').then(res=>{
proxy.$message({ message: "删除成功",type: "success"});
getListData();
})

View File

@ -307,7 +307,7 @@ const onSave = () => {
// 导出
function exportExcel() {
proxy.$confirm(`当前数据${total.value}条,确定是否导出全部数据?`, "警告", {type: "warning"}).then(() => {
download('/mosty-base/other/exportLoginLog',listQuery.value , `人员核查日志_${new Date().getTime()}.xlsx`)
download('/bagl/mosty-base/other/exportLoginLog',listQuery.value , `人员核查日志_${new Date().getTime()}.xlsx`)
}).catch(() => {
proxy.$message.info("已取消");
});

View File

@ -407,7 +407,7 @@ const tabHeightFn = () => {
// 导出
function exportExcel() {
proxy.$confirm(`当前数据${total.value}条,确定是否导出全部数据?`, "警告", {type: "warning"}).then(() => {
download('/mosty-base/other/exportOperlog',listQuery.value , `人员核查日志_${new Date().getTime()}.xlsx`)
download('/bagl/mosty-base/other/exportOperlog',listQuery.value , `人员核查日志_${new Date().getTime()}.xlsx`)
}).catch(() => {
proxy.$message.info("已取消");
});

View File

@ -151,7 +151,7 @@
<el-upload
v-model:file-list="fileList"
:limit="1"
action="/mosty-base/minio/image/upload/id"
action="/bagl/mosty-base/minio/image/upload/id"
:on-change="upImgFile"
:on-success="upImg"
:show-file-list="false">
@ -197,7 +197,7 @@ const visible = ref(false);
const visibleJz = ref(false);
const zxrDtoList = ref([])
const baseUrl = '/mosty-base/minio/image/download/'
const baseUrl = '/bagl/mosty-base/minio/image/download/'
const fileList = ref([]);
const imgLx = ["png", "jpg", "jpeg", "bmp", "gif"];//图片格式
//音频格式
@ -364,7 +364,7 @@ function getZxjl() {
//获取视频音频地址
function _getAudioAndVideoUrl(fjid) {
return new Promise((ok) => {
axios.get(`/mosty-base/minio/file/download/${fjid}`, {params: {}}).then((res) => {
axios.get(`/bagl/mosty-base/minio/file/download/${fjid}`, {params: {}}).then((res) => {
if (res) ok(res.data.data.url);
});
});

View File

@ -38,10 +38,10 @@
<el-carousel-item v-for="itChild in item.fjid" :key="itChild">
<el-image
preview-teleported
:preview-src-list="[`/mosty-base/obs/download?id=${itChild}`]"
:preview-src-list="[`/bagl/mosty-base/obs/download?id=${itChild}`]"
:initial-index="0"
fit="cover"
:src="`/mosty-base/obs/download?id=${itChild}`"
:src="`/bagl/mosty-base/obs/download?id=${itChild}`"
/>
</el-carousel-item>
</el-carousel>

View File

@ -51,7 +51,6 @@ import emitter from "@/utils/eventBus.js";
import { ref, watch, onMounted, onUnmounted, getCurrentInstance, reactive } from "vue";
import { handleSelectListDp } from "@/api/dpApi/home.js";
import { qcckPost, qcckGet } from "@/api/qcckApi.js";
import { tbQwXfAselectById } from '@/api/lz/backstage'
const { proxy } = getCurrentInstance();
const { D_BZ_XB } = proxy.$dict("D_BZ_XB");
const props = defineProps({

View File

@ -44,7 +44,7 @@
<el-form-item label="附件上传" style="width: 100%" prop="fjmc">
<el-input v-model="formInfo.fjmc" placeholder="请选择上传文件" style="width: 80%"/>
<el-upload :limit="1" action="/mosty-base/minio/image/upload/id" :on-change="upImgFile" :on-success="upImg" :show-file-list="false">
<el-upload :limit="1" action="/bagl/mosty-base/minio/image/upload/id" :on-change="upImgFile" :on-success="upImg" :show-file-list="false">
<el-button type="primary" style="padding: 0 14px">上传</el-button>
</el-upload>
</el-form-item>
@ -88,7 +88,7 @@ import emitter from "@/utils/eventBus.js";
import JjrMb from './JjrMb.vue'
import * as MOSTY from "@/components/MyComponents/index";
import { reactive, ref, onMounted, getCurrentInstance, onUnmounted } from "vue";
import { getXfbbList, addZl } from "@/api/situationPresentation/zlXf.js";
// import { getXfbbList, addZl } from "@/api/situationPresentation/zlXf.js";
import { getSelectDeckList } from "@/api/dpApi/home.js";
const { proxy } = getCurrentInstance();
const { D_BZ_RGZLLX,D_BZ_ZLXFLX, D_BZ_ZLJSDX, D_BZ_TYJB } = proxy.$dict("D_BZ_RGZLLX","D_BZ_ZLXFLX","D_BZ_ZLJSDX","D_BZ_TYJB");
@ -260,10 +260,10 @@ function submit() {
};
});
}
addZl(data).then(() => {
close();
proxy.$message({ type: "success", message: "指令下发成功" });
});
// addZl(data).then(() => {
// close();
// proxy.$message({ type: "success", message: "指令下发成功" });
// });
});
}
// //选择点位

View File

@ -259,9 +259,8 @@ import RightDialog from "./components/rightDialog.vue";
import BottomBtn from "./layout/bottomBtn.vue";
import PoliceGroupInfo from "./layout/streetInfo.vue";
import FzycDialog from "./layout/fzycDialog.vue";
import { tbQwXfAddBxx } from '@/api/lz/backstage'
// import { queryListZdrw } from '@/api/dpApi/home'
import XfrwDialog from '@/views/backOfficeSystem/AlarmLinkage/PatrolLine/components/xfrwDialog.vue'
// import XfrwDialog from '@/views/backOfficeSystem/AlarmLinkage/PatrolLine/components/xfrwDialog.vue'
import {
onMounted,
ref,
@ -462,7 +461,7 @@ onMounted(() => {
</div>
<div class="text">图片:`;
val.tp.forEach((it) => {
html += `<img style="width:60px; height:60px; margin-left:2px;" src="/mosty-base/minio/image/download/${it}" />`;
html += `<img style="width:60px; height:60px; margin-left:2px;" src="/bagl/mosty-base/minio/image/download/${it}" />`;
});
html += ` </div></div>`;
ElNotification({

View File

@ -566,7 +566,7 @@ function _yjRltList() {
// 获取范围中心的
function getCenterPoint(dm, text, id) {
qcckPost(dm, '/mosty-base/other/getZxd').then(res => {
qcckPost(dm, '/bagl/mosty-base/other/getZxd').then(res => {
let points = [res.x, res.y]
emitter.emit("addTEXT", { points, text, id });
})

View File

@ -135,7 +135,7 @@ import { timeValidate } from "@/utils/time.js";
import emitter from "@/utils/eventBus.js";
import { getTbWzXfwzSelectTrack } from "@/api/dpApi/zzzh.js";
import { getTbJcglXfqySelectById, getTpJcglKfdSelectByid, queryListfzyc } from "@/api/dpApi/home.js";
import { getXfgj } from "@/api/yjCenter.js";
// import { getXfgj } from "@/api/yjCenter.js";
import { ElMessage } from "element-plus";
import { useRouter } from "vue-router";
import { all } from "ol/events/condition";
@ -262,13 +262,13 @@ function chooseTime() {
// 巡防轨迹
function onClickGjhf() {
emitter.emit("deletePointArea", "route");
getXfgj({ bbid: props.data.id }).then((res) => {
if (res && res.zbList && res.zbList.length > 0) {
emitter.emit("drawLineAnimation", {coords:res.zbList,isClear:true,flag:'route'});
} else {
proxy.$message({ type: "warning", message: `没有轨迹数据` });
}
});
// getXfgj({ bbid: props.data.id }).then((res) => {
// if (res && res.zbList && res.zbList.length > 0) {
// emitter.emit("drawLineAnimation", {coords:res.zbList,isClear:true,flag:'route'});
// } else {
// proxy.$message({ type: "warning", message: `没有轨迹数据` });
// }
// });
}
// 巡防轨迹-把数据拆分个多个-模拟动态加载
function handleAnimation(arr, subLen) {
@ -312,7 +312,7 @@ function getXfqData() {
// 获取范围中心的
function getCenterPoint(dm, text) {
qcckPost(dm, "/mosty-base/other/getZxd").then((res) => {
qcckPost(dm, "/bagl/mosty-base/other/getZxd").then((res) => {
let points = [res.x, res.y];
emitter.emit("addTEXT", { points, text });
});

View File

@ -20,7 +20,7 @@
<script setup>
import { getTime } from "@/utils/time.js";
import { getManRankYj } from "@/api/yjCenter.js";
// import { getManRankYj } from "@/api/yjCenter.js";
import { ref, reactive,defineProps, watchEffect } from "vue";
const props = defineProps({
data:Object
@ -30,15 +30,15 @@ const totalWidth = ref(0);
const dataLoad = ref(true);
function getList() {
getManRankYj(props.data).then((res) => {
list.value = res;
if (list.value && list.value.length > 0) {
dataLoad.value = false;
totalWidth.value = Math.max(...list.value.map(item=>item.total))
}
}).catch((err) => {
dataLoad.value = false;
});
// getManRankYj(props.data).then((res) => {
// list.value = res;
// if (list.value && list.value.length > 0) {
// dataLoad.value = false;
// totalWidth.value = Math.max(...list.value.map(item=>item.total))
// }
// }).catch((err) => {
// dataLoad.value = false;
// });
}
watchEffect(()=>{
getList();

View File

@ -22,7 +22,7 @@
</template>
<script setup>
import { getGzyYj } from "@/api/yjCenter.js";
// import { getGzyYj } from "@/api/yjCenter.js";
import { ref, reactive,defineProps,watchEffect } from "vue";
const props = defineProps({
data:Object
@ -33,15 +33,15 @@ const totalWidth = ref(0);
const dataLoad = ref(true);
function getList() {
getGzyYj(props.data).then((res) => {
list.value = res;
if (list.value && list.value.length > 0) {
dataLoad.value = false;
totalWidth.value = Math.max(...list.value.map((item) => item.total));
}
}).catch((err) => {
dataLoad.value = false;
});
// getGzyYj(props.data).then((res) => {
// list.value = res;
// if (list.value && list.value.length > 0) {
// dataLoad.value = false;
// totalWidth.value = Math.max(...list.value.map((item) => item.total));
// }
// }).catch((err) => {
// dataLoad.value = false;
// });
}
watchEffect(()=>{

View File

@ -140,7 +140,7 @@ const handleLogin = () => {
});
};
const getSfzhByGsid = (sfzh) => {
qcckPost({ sfzh }, "/mosty-base/baxx/cyry/queryBySfzh").then(res=>{
qcckPost({ sfzh }, "/bagl/mosty-base/baxx/cyry/queryBySfzh").then(res=>{
if(!res) {
ElNotification({ title: "提示", message: "无访问权限", duration: 3000});
store.dispatch("user/logout");
@ -154,7 +154,7 @@ const getSfzhByGsid = (sfzh) => {
onMounted(() => { });
const getKaptchaImg = () => {
const res = `${process.env.VUE_APP_GATEWAY_BASE_URL}/mosty-base/kaptcha?date=` + new Date();
const res = `${process.env.VUE_APP_GATEWAY_BASE_URL}/bagl/mosty-base/kaptcha?date=` + new Date();
kaptchaUrl.value = res;
};
</script>

View File

@ -39,7 +39,7 @@ const checkTokenAndRedirect = () => {
} else {
setItem("FounderUrl", redirectUrl);
// 如果不存在token跳转到SSO登录地址
window.location.href = "http://localhost:8006/mosty-base/fzSsoLogin";
window.location.href = "http://localhost:8006/bagl/mosty-base/fzSsoLogin";
}
};

View File

@ -126,7 +126,7 @@ 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`;
const url = !formData.value?.id ? `/bagl/mosty-base/baxx/cyry/add` : `/bagl/mosty-base/baxx/cyry/edit`;
let params = { ...formData.value }
params.tp = params.tp ? params.tp.join(','):''
params.bazzp =params.bazzp ? params.bazzp.join(','):''

View File

@ -127,7 +127,7 @@ const handleResignation = async ({ xm = '', id = "" }) => {
await proxy.$modal.confirm(`是否确认处理${xm}离职吗?`)
try {
await qcckPost({ id, sflz: 1 }, "/mosty-base/baxx/cyry/szlzzt")
await qcckPost({ id, sflz: 1 }, "/bagl/mosty-base/baxx/cyry/szlzzt")
proxy.$modal.msgSuccess("离职成功");
await getList();
} catch (error) {
@ -140,7 +140,7 @@ const handleDelete = async (ids) => {
await proxy.$modal.confirm("是否确认删除该从业人员?")
try {
await qcckPost({ idList: ids }, "/mosty-base/baxx/cyry/remove")
await qcckPost({ idList: ids }, "/bagl/mosty-base/baxx/cyry/remove")
proxy.$modal.msgSuccess("删除成功");
getList();
} catch (error) {

View File

@ -113,7 +113,7 @@ const close = () => {
const getList = async ({ id = "" }, type = '') => {
const res = await qcckPost({
pxxmid: id
}, `/mosty-base/baxx/ksry/list`)
}, `/bagl/mosty-base/baxx/ksry/list`)
if (res) {
pageData.tableData = res || [];
if (!type) emits("refresh");
@ -141,7 +141,7 @@ const addEdit = (type, row) => {
//
const handleCertificate = async ({ pxryid = ''}) => {
try {
await qcckPost({ id: pxryid }, `/mosty-base/baxx/pxry/sqzj`)
await qcckPost({ id: pxryid }, `/bagl/mosty-base/baxx/pxry/sqzj`)
proxy.$message.success("申请证件成功")
emits("refresh");
close();

View File

@ -111,7 +111,7 @@ const getList = async () => {
const res = await qcckPost({
...pageData.pageConfiger,
...queryFrom.value
}, `/mosty-base/baxx/ksgl/page`)
}, `/bagl/mosty-base/baxx/ksgl/page`)
if(res) {
pageData.tableData = res.records || [];

View File

@ -67,7 +67,7 @@ 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`;
const url = !formData.value?.id ? `/bagl/mosty-base/baxx/cyry/add` : `/bagl/mosty-base/baxx/cyry/edit`;
qcckPost(formData.value, url).then(() => {
loading.value = false;
proxy.$message.success("保存成功");

View File

@ -125,7 +125,7 @@ const handleDelete = async (ids) => {
await proxy.$modal.confirm("是否确认删除该培训人员?")
try {
await qcckPost({ idList: ids }, "/mosty-base/baxx/pxry/remove")
await qcckPost({ idList: ids }, "/bagl/mosty-base/baxx/pxry/remove")
proxy.$modal.msgSuccess("删除成功");
await getList();
} catch (error) {
@ -140,7 +140,7 @@ const getList = async () => {
const res = await qcckPost({
...pageData.pageConfiger,
...queryFrom.value
}, `/mosty-base/baxx/pxry/page`)
}, `/bagl/mosty-base/baxx/pxry/page`)
if(res) {
pageData.tableData = res.records || [];

View File

@ -57,11 +57,10 @@
</el-col>
<el-col :span="12">
<el-form-item label="授课教员" :prop="`pxkcList[${index}].skjy`" style="width: 100%;" :rules="rules.skjy">
<el-input v-model="item.skjy" placeholder="请选择授课教员" style="width: 100%;"></el-input>
<!-- <el-select v-model="item.skjy" placeholder="请选择授课教员" style="width: 100%;">
<el-option label="张三" value="张三"></el-option>
<el-option label="李四" value="李四"></el-option>
</el-select> -->
<!-- <el-input v-model="item.skjy" placeholder="请选择授课教员" style="width: 100%;"></el-input> -->
<el-select v-model="item.skjy" placeholder="请选择授课教员" style="width: 100%;">
<el-option v-for="items in cyryList" :key="items.id" :label="items?.xm" :value="items.id"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
@ -102,6 +101,7 @@ import SelectPersonnelDialog from "./selectPersonnelDialog.vue";
const { proxy } = getCurrentInstance()
const visible = ref(false)
const showDialog = ref(false)
const cyryList = ref([])
const formData = ref({
pxkcList: [{
pxkcxm: '', //课程名称
@ -173,6 +173,7 @@ const delItem = (item,index) => {
}
const init = () => {
getCyryList()
showDialog.value = true
}
@ -197,6 +198,18 @@ const handleChange = (val) => {
pageData.tableData = [...pageData.tableData, ...val]?.filter((i, index, arr) => arr?.findIndex(s => i?.id === s?.id) === index)
}
// 获取授课教员
const getCyryList = async () => {
const res = await qcckPost({
pxgsid: "",
gw: '04'
}, `/mosty-base//baxx/cyry/list`)
if (res) {
cyryList.value = res
}
}
const save = () => {
if (pageData.tableData.length === 0) return proxy.$message.warning('请选择培训保安人员')
const ryidList = pageData.tableData?.map(i => i?.id)
@ -204,10 +217,10 @@ const save = () => {
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 ? `/bagl/mosty-base/baxx/pxxm/add` : `/bagl/mosty-base/baxx/pxxm/edit`
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`)
await qcckPost({ pxkcList: formData.value.pxkcList, pxxmid: res?.id, ryidList }, !formData.value?.id ? `/bagl/mosty-base/baxx/pxkc/saveList` : `/bagl/mosty-base/baxx/pxkc/updateList`)
proxy.$message.success('新增培训项目成功')
emits("refresh");
close()

View File

@ -116,7 +116,7 @@ const close = () => {
// 根据项目id获取培训课程
const getPxkcList = async ({ id }) => {
const res = await qcckPost({ pxxmid: id }, `/mosty-base/baxx/pxkc/list`)
const res = await qcckPost({ pxxmid: id }, `/bagl/mosty-base/baxx/pxkc/list`)
if (res) {
pageData.pxkcList = res
}
@ -124,7 +124,7 @@ const getPxkcList = async ({ id }) => {
// 获取保安信息培训课程管理详情
const getbaInfo = async ({ id = '' }) => {
const res = await qcckPost({ id }, `/mosty-base/baxx/pxkc/getInfo/${id}`)
const res = await qcckPost({ id }, `/bagl/mosty-base/baxx/pxkc/getInfo/${id}`)
if (res) {
courseInfo.value = res
}
@ -134,7 +134,7 @@ const getbaInfo = async ({ id = '' }) => {
const getList = async ({ id = "" }) => {
const res = await qcckPost({
pxxmid: id
}, `/mosty-base/baxx/pxkc/pxryList`)
}, `/bagl/mosty-base/baxx/pxkc/pxryList`)
if (res) {
pageData.tableData = res || [];
}
@ -156,7 +156,7 @@ const open = (row = {}, type = 'view') => {
const save = () => {
FormRef.value.submit(() => {
loading.value = true;
const url = !formData.value?.id ? `/mosty-base/baxx/cyry/add` : `/mosty-base/baxx/cyry/edit`;
const url = !formData.value?.id ? `/bagl/mosty-base/baxx/cyry/add` : `/bagl/mosty-base/baxx/cyry/edit`;
qcckPost(formData.value, url).then(() => {
loading.value = false;
proxy.$message.success("保存成功");

View File

@ -96,7 +96,7 @@ const getList = async () => {
try {
const res = await qcckPost({
...pageData.pageConfiger,
}, `/mosty-base/baxx/pxry/page`)
}, `/bagl/mosty-base/baxx/pxry/page`)
if (res) {
pageData.tableData = res.records || []

View File

@ -124,7 +124,7 @@ const getList = async () => {
const res = await qcckPost({
...pageData.pageConfiger,
...queryFrom.value
}, `/mosty-base/baxx/pxxm/page`)
}, `/bagl/mosty-base/baxx/pxxm/page`)
if(res) {
pageData.tableData = res.records || [];

View File

@ -11,7 +11,7 @@
<el-descriptions column="3" border label-width="180px">
<el-descriptions-item label="单位名称(营业执照登记名称)">{{ formData.dwmc }}</el-descriptions-item>
<el-descriptions-item label="统一社会信用代码">{{ formData.xydm }}</el-descriptions-item>
<el-descriptions-item label="娱乐场所图片" :rowspan="4">
<el-descriptions-item label="单位图片" :rowspan="4">
<div class="imgWrapper">
<Upload v-model="formData.cszp" />
</div>