更新
This commit is contained in:
@ -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'
|
||||
@ -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'
|
||||
119
ab/index.html
119
ab/index.html
File diff suppressed because one or more lines are too long
1
ab/static/css/chunk-0ecec341.b8ae026e.css
Normal file
1
ab/static/css/chunk-0ecec341.b8ae026e.css
Normal file
File diff suppressed because one or more lines are too long
1
ab/static/css/chunk-1143165c.e71014f7.css
Normal file
1
ab/static/css/chunk-1143165c.e71014f7.css
Normal 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}
|
||||
1
ab/static/css/chunk-170bf3d6.51ab40e2.css
Normal file
1
ab/static/css/chunk-170bf3d6.51ab40e2.css
Normal file
File diff suppressed because one or more lines are too long
1
ab/static/css/chunk-1bc9d765.97aa19d6.css
Normal file
1
ab/static/css/chunk-1bc9d765.97aa19d6.css
Normal file
File diff suppressed because one or more lines are too long
7
ab/static/css/chunk-1cd8f6ee.0c8acc72.css
Normal file
7
ab/static/css/chunk-1cd8f6ee.0c8acc72.css
Normal file
File diff suppressed because one or more lines are too long
1
ab/static/css/chunk-1f677e9b.6728e3f2.css
Normal file
1
ab/static/css/chunk-1f677e9b.6728e3f2.css
Normal file
File diff suppressed because one or more lines are too long
1
ab/static/css/chunk-2a803a5c.a9ac2046.css
Normal file
1
ab/static/css/chunk-2a803a5c.a9ac2046.css
Normal file
File diff suppressed because one or more lines are too long
1
ab/static/css/chunk-3afaafac.949bbeba.css
Normal file
1
ab/static/css/chunk-3afaafac.949bbeba.css
Normal file
File diff suppressed because one or more lines are too long
1
ab/static/css/chunk-3c0299fb.7e0ee8e9.css
Normal file
1
ab/static/css/chunk-3c0299fb.7e0ee8e9.css
Normal file
File diff suppressed because one or more lines are too long
1
ab/static/css/chunk-3d4f7746.e43806d8.css
Normal file
1
ab/static/css/chunk-3d4f7746.e43806d8.css
Normal file
File diff suppressed because one or more lines are too long
1
ab/static/css/chunk-4383e485.f0e82f8f.css
Normal file
1
ab/static/css/chunk-4383e485.f0e82f8f.css
Normal file
File diff suppressed because one or more lines are too long
1
ab/static/css/chunk-46b16446.b86cbf54.css
Normal file
1
ab/static/css/chunk-46b16446.b86cbf54.css
Normal file
File diff suppressed because one or more lines are too long
1
ab/static/css/chunk-48ee0a14.38bceb5f.css
Normal file
1
ab/static/css/chunk-48ee0a14.38bceb5f.css
Normal file
File diff suppressed because one or more lines are too long
1
ab/static/css/chunk-4dd10e5d.eb2f88f7.css
Normal file
1
ab/static/css/chunk-4dd10e5d.eb2f88f7.css
Normal file
File diff suppressed because one or more lines are too long
1
ab/static/css/chunk-62fd4e5a.ae27d296.css
Normal file
1
ab/static/css/chunk-62fd4e5a.ae27d296.css
Normal file
File diff suppressed because one or more lines are too long
1
ab/static/css/chunk-728fde9c.ad9c5372.css
Normal file
1
ab/static/css/chunk-728fde9c.ad9c5372.css
Normal file
File diff suppressed because one or more lines are too long
1
ab/static/css/chunk-8ced575a.609db79b.css
Normal file
1
ab/static/css/chunk-8ced575a.609db79b.css
Normal file
File diff suppressed because one or more lines are too long
9
ab/static/css/chunk-b05625e6.af2171dc.css
Normal file
9
ab/static/css/chunk-b05625e6.af2171dc.css
Normal file
File diff suppressed because one or more lines are too long
1
ab/static/css/chunk-e0dbb6ee.6564ee0c.css
Normal file
1
ab/static/css/chunk-e0dbb6ee.6564ee0c.css
Normal file
File diff suppressed because one or more lines are too long
1
ab/static/css/chunk-fb6ca218.d1759f63.css
Normal file
1
ab/static/css/chunk-fb6ca218.d1759f63.css
Normal file
File diff suppressed because one or more lines are too long
1
ab/static/js/app.3061d28b.js
Normal file
1
ab/static/js/app.3061d28b.js
Normal file
File diff suppressed because one or more lines are too long
1
ab/static/js/chunk-0ecec341.39ac8749.js
Normal file
1
ab/static/js/chunk-0ecec341.39ac8749.js
Normal file
File diff suppressed because one or more lines are too long
1
ab/static/js/chunk-1143165c.0aa04a19.js
Normal file
1
ab/static/js/chunk-1143165c.0aa04a19.js
Normal 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){}}]);
|
||||
1
ab/static/js/chunk-170bf3d6.f6bfac60.js
Normal file
1
ab/static/js/chunk-170bf3d6.f6bfac60.js
Normal file
File diff suppressed because one or more lines are too long
1
ab/static/js/chunk-1bc9d765.ff44b1a1.js
Normal file
1
ab/static/js/chunk-1bc9d765.ff44b1a1.js
Normal file
File diff suppressed because one or more lines are too long
23
ab/static/js/chunk-1cd8f6ee.b91c2408.js
Normal file
23
ab/static/js/chunk-1cd8f6ee.b91c2408.js
Normal file
File diff suppressed because one or more lines are too long
1
ab/static/js/chunk-1f677e9b.0aad2cbf.js
Normal file
1
ab/static/js/chunk-1f677e9b.0aad2cbf.js
Normal file
File diff suppressed because one or more lines are too long
1
ab/static/js/chunk-2a803a5c.bfecab09.js
Normal file
1
ab/static/js/chunk-2a803a5c.bfecab09.js
Normal file
File diff suppressed because one or more lines are too long
1
ab/static/js/chunk-2d22bd3e.546119e4.js
Normal file
1
ab/static/js/chunk-2d22bd3e.546119e4.js
Normal 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}}]);
|
||||
1
ab/static/js/chunk-3afaafac.ab47f5e1.js
Normal file
1
ab/static/js/chunk-3afaafac.ab47f5e1.js
Normal file
File diff suppressed because one or more lines are too long
1
ab/static/js/chunk-3c0299fb.e4496ee1.js
Normal file
1
ab/static/js/chunk-3c0299fb.e4496ee1.js
Normal file
File diff suppressed because one or more lines are too long
1
ab/static/js/chunk-3d4f7746.3aaf42f6.js
Normal file
1
ab/static/js/chunk-3d4f7746.3aaf42f6.js
Normal file
File diff suppressed because one or more lines are too long
1
ab/static/js/chunk-4383e485.7a72bb71.js
Normal file
1
ab/static/js/chunk-4383e485.7a72bb71.js
Normal file
File diff suppressed because one or more lines are too long
1
ab/static/js/chunk-46b16446.fed701ae.js
Normal file
1
ab/static/js/chunk-46b16446.fed701ae.js
Normal file
File diff suppressed because one or more lines are too long
1
ab/static/js/chunk-48ee0a14.95469500.js
Normal file
1
ab/static/js/chunk-48ee0a14.95469500.js
Normal file
File diff suppressed because one or more lines are too long
1
ab/static/js/chunk-4dd10e5d.befab8bb.js
Normal file
1
ab/static/js/chunk-4dd10e5d.befab8bb.js
Normal file
File diff suppressed because one or more lines are too long
1
ab/static/js/chunk-62fd4e5a.1dd65e67.js
Normal file
1
ab/static/js/chunk-62fd4e5a.1dd65e67.js
Normal file
File diff suppressed because one or more lines are too long
1
ab/static/js/chunk-728fde9c.9acaebd5.js
Normal file
1
ab/static/js/chunk-728fde9c.9acaebd5.js
Normal file
File diff suppressed because one or more lines are too long
1
ab/static/js/chunk-74a8285d.5f715b5d.js
Normal file
1
ab/static/js/chunk-74a8285d.5f715b5d.js
Normal 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}}]);
|
||||
1
ab/static/js/chunk-8ced575a.c122b485.js
Normal file
1
ab/static/js/chunk-8ced575a.c122b485.js
Normal file
File diff suppressed because one or more lines are too long
29
ab/static/js/chunk-b05625e6.cc1ad608.js
Normal file
29
ab/static/js/chunk-b05625e6.cc1ad608.js
Normal file
File diff suppressed because one or more lines are too long
1
ab/static/js/chunk-e0dbb6ee.0c62410a.js
Normal file
1
ab/static/js/chunk-e0dbb6ee.0c62410a.js
Normal file
File diff suppressed because one or more lines are too long
1
ab/static/js/chunk-fb6ca218.188fd597.js
Normal file
1
ab/static/js/chunk-fb6ca218.188fd597.js
Normal file
File diff suppressed because one or more lines are too long
30
ab/static/js/chunk-vendors.39c8cdc5.js
Normal file
30
ab/static/js/chunk-vendors.39c8cdc5.js
Normal file
File diff suppressed because one or more lines are too long
@ -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
|
||||
});
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import request from "@/utils/request";
|
||||
const api = "/mosty-base";
|
||||
const api = "/bagl/mosty-base";
|
||||
|
||||
/**
|
||||
* 消息列表
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import request from "@/utils/request";
|
||||
const api = "/mosty-base";
|
||||
const api = "/bagl/mosty-base";
|
||||
/*
|
||||
* 登录
|
||||
* return promise 实例对象
|
||||
|
||||
@ -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"
|
||||
})
|
||||
}
|
||||
}
|
||||
@ -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'
|
||||
})
|
||||
};
|
||||
};
|
||||
@ -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",
|
||||
|
||||
@ -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'
|
||||
})
|
||||
}
|
||||
|
||||
@ -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
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import request from "@/utils/request";
|
||||
const api = "/mosty-base";
|
||||
const api = "/bagl/mosty-base";
|
||||
/*
|
||||
* 登录
|
||||
* return promise 实例对象
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import request from "@/utils/request";
|
||||
const api = "/mosty-base";
|
||||
const api = "/bagl/mosty-base";
|
||||
/*
|
||||
* 登录
|
||||
* return promise 实例对象
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import request from "@/utils/request";
|
||||
const api = "/mosty-base";
|
||||
const api = "/bagl/mosty-base";
|
||||
// 查询生成表数据
|
||||
export function listTable(params) {
|
||||
return request({
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import request from "@/utils/request";
|
||||
const api = "/mosty-base";
|
||||
const api = "/bagl/mosty-base";
|
||||
/*
|
||||
* 登录
|
||||
* return promise 实例对象
|
||||
|
||||
@ -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
|
||||
});
|
||||
};
|
||||
|
||||
@ -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
|
||||
})
|
||||
|
||||
@ -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> -->
|
||||
|
||||
@ -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) => {
|
||||
|
||||
@ -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 = []
|
||||
|
||||
@ -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')
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
2853
src/router/index.js
2853
src/router/index.js
File diff suppressed because it is too large
Load Diff
@ -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
|
||||
|
||||
@ -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("保存成功");
|
||||
|
||||
@ -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 || []
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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})
|
||||
|
||||
@ -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();
|
||||
});
|
||||
|
||||
@ -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()
|
||||
};;
|
||||
|
||||
|
||||
@ -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();
|
||||
});
|
||||
|
||||
@ -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(() => {
|
||||
|
||||
@ -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();
|
||||
});
|
||||
|
||||
@ -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>
|
||||
@ -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>
|
||||
@ -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>
|
||||
@ -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>
|
||||
@ -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";
|
||||
|
||||
@ -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>
|
||||
|
||||
|
||||
@ -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(); // 表格高度
|
||||
|
||||
@ -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部门",
|
||||
|
||||
@ -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> -->
|
||||
|
||||
@ -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",
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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: {} }
|
||||
});
|
||||
|
||||
@ -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) {
|
||||
|
||||
@ -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([]);
|
||||
|
||||
// 初始化数据
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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();
|
||||
})
|
||||
|
||||
@ -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("已取消");
|
||||
});
|
||||
|
||||
@ -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
Reference in New Issue
Block a user