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

View File

@ -3,6 +3,6 @@ ENV='development'
# base api
# VUE_APP_BASE_API = '/api'
VUE_APP_GATEWAY_API = '/mosty-base'
VUE_APP_GATEWAY_API = '/bagl/mosty-base'
VUE_APP_GATEWAY_BASE_URL = 'http://123.60.110.230'
VUE_APP_GATEWAY_HOST = '123.60.110.230'

View File

@ -3,6 +3,6 @@ ENV = 'production'
# base api
# VUE_APP_BASE_API = '/api'
VUE_APP_GATEWAY_API = '/mosty-base'
VUE_APP_GATEWAY_API = '/bagl/mosty-base'
VUE_APP_GATEWAY_BASE_URL = 'http://123.60.67.142'
VUE_APP_GATEWAY_HOST = '123.60.67.142'

BIN
ab/ab.zip Normal file

Binary file not shown.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
.sso-redirect-container[data-v-a3e803fa]{display:flex;justify-content:center;align-items:center;height:100vh;background-color:#f5f5f5}.loading-wrapper[data-v-a3e803fa]{text-align:center}.loading-text[data-v-a3e803fa]{font-size:16px;color:#666;margin-top:20px}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-1143165c"],{"0918":function(e,t,c){"use strict";c.r(t);var o=c("7a23"),n=c("6605"),a=c("5d2d");const d=e=>(Object(o["pushScopeId"])("data-v-a3e803fa"),e=e(),Object(o["popScopeId"])(),e),s={class:"sso-redirect-container"},r=d(()=>Object(o["createElementVNode"])("div",{class:"loading-wrapper"},[Object(o["createElementVNode"])("div",{class:"loading-text"},"正在跳转...")],-1)),b=[r];var i={__name:"sso_redirect",setup(e){const t=Object(n["c"])(),c=Object(n["d"])(),d=()=>t.query.url||"",r=()=>{const e=d(),t=Object(a["a"])("SSOTOKEN")||Object(a["a"])("token");t?e?c.push(e):c.push("/"):(Object(a["c"])("FounderUrl",e),window.location.href="http://localhost:8006/bagl/mosty-base/fzSsoLogin")};return Object(o["onMounted"])(()=>{r()}),(e,t)=>(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",s,b))}},p=(c("5dbe"),c("d959")),l=c.n(p);const u=l()(i,[["__scopeId","data-v-a3e803fa"]]);t["default"]=u},"5dbe":function(e,t,c){"use strict";c("8ddc")},"8ddc":function(e,t,c){}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d22bd3e"],{f141:function(e,t,n){"use strict";n.r(t);var u=n("7a23"),o=n("5502"),c=n("6605"),a=n("5d2d"),l={__name:"oatuh_login",setup(e){const t=Object(u["ref"])(!1),n=Object(u["ref"])([]),l=Object(u["ref"])("/"),r=Object(o["b"])(),s=Object(c["d"])();function i(){const e=Object(c["c"])();let t=e.query.token||null;l.value=e.query.url||"/",null!=t?(t=t.replace(/\ +/g,""),Object(a["c"])("SSOTOKEN",t),d({token:t})):window.location.href="http://155.240.22.188:9020"}const d=e=>{r.dispatch("user/oatuhLogin",e).then(e=>{1===e.deptList.length?s.push(l.value):(n.value=[...e.deptList],t.value=!0,authorization.value=e.jwtToken)})};return Object(u["onMounted"])(()=>{i()}),(e,t)=>null}};const r=l;t["default"]=r}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-74a8285d"],{"6e3e4":function(e,c,t){"use strict";t.r(c);var n=t("7a23"),o=t("6605"),u=t("5502"),s=(t("c5cb"),{__name:"publicPage",setup(e){const c=Object(u["b"])(),t=Object(o["c"])(),s=Object(o["d"])();Object(n["onMounted"])(()=>{let e=t.query.clientKey;e&&b(e)});const b=e=>{c.dispatch("user/Fzlogin",e).then(e=>{s.push(t.query.url)})};return(e,c)=>(Object(n["openBlock"])(),Object(n["createElementBlock"])("div"))}});const b=s;c["default"]=b}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,95 +1,27 @@
import request from "@/utils/request";
// 添加训练记录
export function addXljl(data = {}) {
return request({
url: "/mosty-api/mosty-jmxf/xljl",
method: "post",
data
});
}
export function getXljlById(id) {
return request({
url: `/mosty-api/mosty-jmxf/xljl/${id}`,
method: "get",
});
}
export function getXljlList(params = {}) {
return request({
url: "/mosty-api/mosty-jmxf/xljl/getListByXfid",
method: "get",
params
});
}
export function updateXljl(data = {}) {
return request({
url: "/mosty-api/mosty-jmxf/xljl",
method: "put",
data
});
}
export function deleteXljl(data = {}) {
return request({
url: "/mosty-api/mosty-jmxf/xljl",
method: "delete",
data
});
}
//获取用户所属区域数据
export function getUserArea(params = {}) {
return request({
url: "/mosty-base/other/getGajg",
url: "/bagl/mosty-base/other/getGajg",
method: "post",
params
});
}
//获取分值列表数据
export function getSelectPzfz(params = {}) {
return request({
url: "/mosty-api/mosty-jmxf/fzpz/selectPzfzByPzrxm",
method: "get",
params
});
}
//新增分值数据
export function addPzfz(data = {}) {
return request({
url: "/mosty-api/mosty-jmxf/fzpz/addPzfz",
method: "post",
data
});
}
//修改分值数据
export function updatePzfz(data = {}) {
return request({
url: "/mosty-api/mosty-jmxf/fzpz/editEntity",
method: "put",
data
});
}
//删除分值数据
export function deletePzfz(id) {
return request({
url: `/mosty-api/mosty-jmxf/fzpz/deleteEntity/${id}`,
method: "delete",
});
}
// 获取方正cokie
export function getCokie(params) {
return request({
url: `/mosty-base/fzmsg/getCokie`,
url: `/bagl/mosty-base/fzmsg/getCokie`,
method: "get",
params
});

View File

@ -1,5 +1,5 @@
import request from "@/utils/request";
const api = "/mosty-base";
const api = "/bagl/mosty-base";
/**
* 消息列表

View File

@ -1,5 +1,5 @@
import request from "@/utils/request";
const api = "/mosty-base";
const api = "/bagl/mosty-base";
/*
* 登录
* return promise 实例对象

View File

@ -119,7 +119,7 @@ export const zlZqtjxx = (data) => {
//文件下载
export function downFiles(id) {
return request({
url: `/mosty-base/minio/file/download/${id}`,
url: `/mosty-api/mosty-base/minio/file/download/${id}`,
method: "get"
})
}
}

View File

@ -68,7 +68,7 @@ export const zlZqtjxx = (data) => {
//文件下载
export function downFiles(id) {
return request({
url: `/mosty-base/minio/file/download/${id}`,
url: `/mosty-api/mosty-base/minio/file/download/${id}`,
method: "get"
})
};
@ -81,4 +81,4 @@ export function exportJxkh(data) {
params: data,
responseType:'blob'
})
};
};

View File

@ -1,6 +1,6 @@
import request from "@/utils/request";
const api = "/mosty-base";
const api = "/bagl/mosty-base";
//根据身份证号码查询个人信息
export const cyryPage = (data) => {
return request({
@ -11,7 +11,7 @@ export const cyryPage = (data) => {
};
// 查询公司下的年检人员
// /mosty-base/baxx / njry / list
// /bagl/mosty-base/baxx / njry / list
export const njryList = (data) => {
return request({
url: api + "/baxx/njry/list",

View File

@ -1,7 +1,7 @@
//不巡防申请
import request from "@/utils/request";
const api = "/mosty-api/mosty-jmxf";
const api2 = "/mosty-base";
const api2 = "/bagl/mosty-base";
//新增
export function addRw(data) {
return request({
@ -83,7 +83,7 @@ export function getOrgByDeptId(deptid) {
//通过任务id查询任务详情信息
export function getTaskInfo(id) {
return request({
url: api + `/tbRwTask/inner/getTaskInfo/${id}`,
url: api + `/tbRwTask/inner/getTaskInfo/${id}`,
method: 'get'
})
}

View File

@ -1,4 +1,6 @@
import request from "@/utils/request";
// import { getCookie } from "@/utils/cookie";
import { getItem } from "@/utils/storage";
const api = "/solrSearcher";
const api2 = "/mosty-api/mosty-gsxt";
/**
@ -7,12 +9,27 @@ const api2 = "/mosty-api/mosty-gsxt";
* @returns
*/
export const doBzdzSelect = (params = {}) => {
return request({
// 获取之前存储的fz_cookie的值
const fzCookieValue = getItem('fz_cookie');
console.log(fzCookieValue);
// 创建请求配置对象并禁用axios自动携带所有cookie的行为
const config = {
url: api + "/doBzdzSelect",
method: "GET",
params
});
params,
withCredentials: false // 禁用自动携带所有cookie
};
// 如果cookie值存在构建正确格式的Cookie头
if (fzCookieValue) {
// 正确格式:'Cookie': 'fz_cookie=值'
config.headers = {
'Cookie': `${fzCookieValue}`
};
}
return request(config);
};
/**
* 警情列分页查询
* @param {*} params

View File

@ -1,5 +1,5 @@
import request from "@/utils/request";
const api = "/mosty-base";
const api = "/bagl/mosty-base";
/*
* 登录
* return promise 实例对象

View File

@ -1,5 +1,5 @@
import request from "@/utils/request";
const api = "/mosty-base";
const api = "/bagl/mosty-base";
/*
* 登录
* return promise 实例对象

View File

@ -1,5 +1,5 @@
import request from "@/utils/request";
const api = "/mosty-base";
const api = "/bagl/mosty-base";
// 查询生成表数据
export function listTable(params) {
return request({

View File

@ -1,5 +1,5 @@
import request from "@/utils/request";
const api = "/mosty-base";
const api = "/bagl/mosty-base";
/*
* 登录
* return promise 实例对象

View File

@ -214,4 +214,15 @@ export const tbJcglEdit = (data) => {
data
});
};
/**
* 获取线索列表
* @param {*} params
* @returns
*/
export const getXsList = (params = {}) => {
return request({
url: api + "/tbbary/getXsList",
method: "GET",
params
});
};

View File

@ -14,7 +14,7 @@ export const getRypcList = (data = {}) => {
});
};
// 条件查询车辆盘查信息
// 条件查询车辆盘查信息
export const getClpcList = (data = {}) => {
return request({
url: api + "/tbHcBpccl/getClpcList",
@ -26,7 +26,7 @@ export const getRypcList = (data = {}) => {
//人员核查档案
export function getHjyjData(data){
return request({
url: "/mosty-base/other/getHjyjData",
url: "/mosty-api/mosty-base/other/getHjyjData",
method: "POST",
data
})

View File

@ -1,4 +1,4 @@
<template>
<!-- <template>
<div>
<el-dialog :title="titleValue" width="1400px" :model-value="modelValue" :destroy-on-close="true" @close="closed">
<div v-if="modelValue">
@ -198,4 +198,4 @@ const handleCurrentChange = (currentPage) => {
.tabBoxRadio .el-table__header-wrapper .el-checkbox {
display: none;
}
</style>
</style> -->

View File

@ -127,7 +127,7 @@ function delFile(index) {
}
// 文件下载
function downloadFile(url) {
window.open('/mosty-base/minio/image/download/'+url, "_blank");
window.open('/bagl/mosty-base/minio/image/download/'+url, "_blank");
}
// 选择文件
function fileChange(e) {
@ -136,7 +136,7 @@ function fileChange(e) {
let formData = new FormData();
formData.append("file", file);
axios
.post("/mosty-base/minio/image/upload/id", formData, {
.post("/bagl/mosty-base/minio/image/upload/id", formData, {
"Content-type": "multipart/form-data"
})
.then((res) => {

View File

@ -1,17 +1,17 @@
<template>
<div class="form-item-box" :class="props.showBtn ? 'showBtn-upload' : ''" :style="{ width: width }">
<el-upload
v-bind="$attrs"
:headers="headers"
:multiple="false"
class="avatar-uploader"
<el-upload
v-bind="$attrs"
:headers="headers"
:multiple="false"
class="avatar-uploader"
:limit="props.limit"
:action="actionUrl"
:list-type="props.showBtn ? '' : 'picture-card'"
:file-list="fileList"
:action="actionUrl"
:list-type="props.showBtn ? '' : 'picture-card'"
:file-list="fileList"
show-file-list
:on-exceed="handleExceed"
:on-success="handlerSuccess"
:on-exceed="handleExceed"
:on-success="handlerSuccess"
:before-upload="beforeImgUpload">
<template #default>
<el-button v-if="props.showBtn" size="small" type="primary">上传文件</el-button>
@ -98,18 +98,18 @@ watch(() => props.modelValue,(val) => {
if(arr.length == 0 ) return fileList.value = [];
fileList.value = arr.map((el) => {
if (Object.prototype.toString.call(el) === "[object Object]") {
return props.isAll ? { url: `/mosty-base/minio/image/download/` + el.id, name: el.name } : { url:el,name:el.name};
return props.isAll ? { url: `/bagl/mosty-base/minio/image/download/` + el.id, name: el.name } : { url:el,name:el.name};
} else {
return { url: `/mosty-base/minio/image/download/` + el };
return { url: `/bagl/mosty-base/minio/image/download/` + el };
}
});
},{ immediate: true,deep:true });
const actionUrl = computed(() => {
if (props.isAll) {
return "/mosty-base/minio/image/upload/id";
return "/bagl/mosty-base/minio/image/upload/id";
} else {
return props.isImg ? "/mosty-base/minio/image/upload/id": "/mosty-base/minio/file/upload";
return props.isImg ? "/bagl/mosty-base/minio/image/upload/id": "/bagl/mosty-base/minio/file/upload";
}
});
@ -156,7 +156,7 @@ const getSuffix = (fileName) => {
};
const handlerSuccess = (res, file) => {
// file.url = `/mosty-base/minio/image/download/` + res.data;
// file.url = `/bagl/mosty-base/minio/image/download/` + res.data;
file.id = res.data;
fileList.value.push(file);
let arr = []

View File

@ -14,42 +14,45 @@ const whiteList = ['/login','/', '/oatuh_login', '/sso_redirect', '/editPassword
* next 往下走
*/
let onRun = true;
// router.beforeEach(async (to, from, next) => {
// // 存在 token ,进入主页
// // if (store.state.user.token) {
// // 快捷访问
// if (store.getters.token) {
// // 判断用户资料是否获取
// // 若不存在用户信息,则需要获取用户信息
// // 触发获取用户信息的 action并获取用户当前权限
// await store.commit('permission/setRouteReady', true)
// // 添加完动态路由之后,需要在进行一次主动跳转
// const afterMenuList = await getItem('menusPermission');
// // 处理用户权限,筛选出需要添加的权限
// if (store.state.permission.routes == 0) {
// const filterRoutes = await store.dispatch('permission/filterRoutes', afterMenuList)
// filterRoutes.forEach(item => {
// router.addRoute(item)
// })
// next({
// ...to,
// replace: true
// })
// } else {
// next()
// }
// // 利用 addRoute 循环添加
// } else {
// const isOatuh = getItem('isOatuh')
// // 没有token的情况下可以进入白名单
// if (whiteList.indexOf(to.path) > -1) {
// next()
// } else {
// if (isOatuh) {
// next('/oatuh_login')
// } else {
// next('/login')
// }
// }
// }
// })
router.beforeEach(async (to, from, next) => {
// 存在 token ,进入主页
// if (store.state.user.token) {
// 快捷访问
if (store.getters.token) {
// 判断用户资料是否获取
// 若不存在用户信息,则需要获取用户信息
// 触发获取用户信息的 action并获取用户当前权限
await store.commit('permission/setRouteReady', true)
// 添加完动态路由之后,需要在进行一次主动跳转
const afterMenuList = await getItem('menusPermission');
// 处理用户权限,筛选出需要添加的权限
if (store.state.permission.routes == 0) {
const filterRoutes = await store.dispatch('permission/filterRoutes', afterMenuList)
console.log(filterRoutes);
filterRoutes.forEach(item => {
router.addRoute(item)
})
next({
...to,
replace: true
})
} else {
next()
}
// 利用 addRoute 循环添加
} else {
const isOatuh = getItem('isOatuh')
// 没有token的情况下可以进入白名单
if (whiteList.indexOf(to.path) > -1) {
next()
} else {
if (isOatuh) {
next('/oatuh_login')
} else {
next('/login')
}
}
}
})

File diff suppressed because it is too large Load Diff

View File

@ -18,11 +18,12 @@ export function getDict(...args) {
dictCode: d
}).then(result => {
result?.itemList?.forEach(p => {
p.label = p.zdmc
p.value = p.dm
p.id = p.dm
p.elTagType = p.dictType
if ( p.itemList && p.itemList.length > 0) {
if (p.itemList && p.itemList.length > 0) {
getChildren(p)
}
p.children = p.itemList

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("已取消");
});

Some files were not shown because too many files have changed in this diff Show More