This commit is contained in:
lcw
2025-09-26 16:13:54 +08:00
parent e7a5f443f2
commit eb91b68d03
86 changed files with 143 additions and 170 deletions

BIN
ab/ab.zip

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

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

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

@ -1 +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["d"])("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){}}]);
(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}}]);

View File

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

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

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

@ -283,25 +283,25 @@ export const publicRoutes = [
// icon: "personnel-manage"
// }
// },
// {
// path: "/dict/detail",
// name: "dictDetail",
// component: () =>
// import("@/views/backOfficeSystem/systemConfig/dict/detail"),
// meta: {
// title: "字典数据"
// }
// },
// {
// path: "/dict/index",
// name: "dictIndex",
// component: () =>
// import("@/views/backOfficeSystem/systemConfig/dict/index"),
// meta: {
// title: "字典列表",
// icon: "article-ranking"
// }
// },
{
path: "/dict/detail",
name: "dictDetail",
component: () =>
import("@/views/backOfficeSystem/systemConfig/dict/detail"),
meta: {
title: "字典数据"
}
},
{
path: "/dict/index",
name: "dictIndex",
component: () =>
import("@/views/backOfficeSystem/systemConfig/dict/index"),
meta: {
title: "字典列表",
icon: "article-ranking"
}
},
// {
// path: "/user/job",
// name: "userJob",

View File

@ -18,6 +18,7 @@ export function getDict(...args) {
dictCode: d
}).then(result => {
result?.itemList?.forEach(p => {
p.label = p.zdmc
p.value = p.dm
p.id = p.dm

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-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%" prop="isTrue" v-else>
<el-input v-model="listQuery.isTrue" placeholder="请输入答案" />
<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-input v-model="listQuery.isTrue" placeholder="请输入答案" />
</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" }],
@ -99,6 +121,9 @@ const init = (type, row) => {
dialogForm.value = true;
title.value = type == "add" ? "新增" : type == "edit" ? "编辑" : "详情";
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;
@ -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;
}
@ -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,
@ -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();
@ -122,6 +131,8 @@ const getList = () => {
pageData.tableConfiger.loading = true;
let data = { ...pageData.pageConfiger, ...queryFrom.value };
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, "/bagl/mosty-base/baxx/tkgl/remove").then(() => {
qcckPost({idList:ids}, "/bagl/mosty-base/baxx/tkgl/remove").then(() => {
proxy.$modal.msgSuccess("删除成功");
getList();
});

View File

@ -4,7 +4,7 @@ function resolve(dir) {
return path.join(__dirname, dir);
}
// const serverHost = "http://192.168.1.98:8006";//毛毛
const serverHost = "http://192.168.1.32:8016";//波哥
const serverHost = "http://192.168.1.32:8066";//波哥
// const serverHost = "http://192.168.0.231:8006"//线上
// const serverHost = "http://47.108.232.77:9537";//波哥
// const serverHost = "http://127.0.0.1:8006"
@ -39,19 +39,14 @@ module.exports = {
proxyReq.setHeader("Connection", "Keep-Alive"); //设置长连接
}
},
"/bagl/mosty-base": {
target: serverHost, // 后端服务器地址
'/bagl/mosty-base': {
target: 'http://192.168.1.32:8066', // 后端服务器地址
changeOrigin: true, // 允许跨域
secure: false, // 如果是https需要设置为false
pathRewrite: {
'^/bagl/mosty-base': '/mosty-api/mosty-base' // 路径重写/bagl -> /mosty-api
'^/bagl/mosty-base': '/mosty-base' // 精确路径重写
}
},
"/mosty-base": {
target: serverHost,
changeOrigin: true,
logLevel: "debug"
},
"/data/rec": {
target: "http://80.93.24.195:8181",
changeOrigin: true,