import { onMounted, reactive } from "vue";
|
import { useRoute, useRouter } from "vue-router";
|
import {
|
pageGonggao,
|
pageGengzgeng,
|
shouyeZhongbiaoOrder,
|
neirongfabuDetail,
|
shouyeOrder,
|
shouyeChangeOrder,
|
feizhengfuDetail
|
} from "@/api/item/shouye";
|
const convertFujianToObjects = (fujianStr, fujianNameStr) => {
|
// 分割字符串为数组并过滤空值
|
const srcArray = fujianStr.split(",").filter(Boolean);
|
const nameArray = fujianNameStr.split(",").filter(Boolean);
|
|
// 提取文件后缀作为valu
|
const getFileExtension = fileName => {
|
const lastDotIndex = fileName.lastIndexOf(".");
|
// 如果没有后缀或文件名以点结尾,返回空字符串
|
if (lastDotIndex === -1 || lastDotIndex === fileName.length - 1) {
|
return "";
|
}
|
return fileName.slice(lastDotIndex + 1).toLowerCase();
|
};
|
|
// 映射为目标对象数组
|
return srcArray.map((src, index) => {
|
// 确保名称数组有对应索引的元素
|
const name = nameArray[index]?.trim() || `未知文件${index + 1}`;
|
|
return {
|
name: name,
|
filePath: src.trim(),
|
fileType: getFileExtension(name)
|
};
|
});
|
};
|
export function useIndex() {
|
const route = useRoute();
|
const router = useRouter();
|
const stateHook = reactive({
|
pageGonggaoList: [],
|
shouyeZhongbiaoOrderList: [],
|
shouyeOrderList: [],
|
active: 0,
|
gonggaoDetail: {}
|
});
|
async function getPageGonggao() {
|
const res = await pageGonggao();
|
stateHook.pageGonggaoList = res.result;
|
}
|
async function getPageGengzgeng() {
|
const res = await pageGengzgeng();
|
stateHook.pageGonggaoList = res.result;
|
}
|
async function getShouyeZhongbiaoOrder() {
|
const res = await shouyeZhongbiaoOrder();
|
stateHook.shouyeZhongbiaoOrderList = res.result;
|
}
|
async function getNeirongfabuDetail(data) {
|
const res = await neirongfabuDetail(data);
|
stateHook.pageGonggaoList = res.result;
|
}
|
async function getFeizhengfuDetail(params) {
|
const res = await feizhengfuDetail(params);
|
stateHook.gonggaoDetail = res.result;
|
stateHook.gonggaoDetail.fujianList = convertFujianToObjects(
|
stateHook.gonggaoDetail.fujian,
|
stateHook.gonggaoDetail.fujianName
|
);
|
}
|
async function getShouyeOrder(active) {
|
let res;
|
stateHook.active = active;
|
switch (active) {
|
case 0:
|
res = await shouyeOrder();
|
stateHook.shouyeOrderList = res.result;
|
break;
|
case 1:
|
res = await getShouyeChangeOrder();
|
stateHook.shouyeOrderList = res.result;
|
break;
|
case 2:
|
res = await shouyeZhongbiaoOrder();
|
stateHook.shouyeOrderList = res.result;
|
break;
|
}
|
}
|
async function getShouyeChangeOrder() {
|
const res = await shouyeChangeOrder();
|
stateHook.shouyeOrderList = res.result;
|
}
|
function goDetail(id) {
|
router.push({ name: "gonggaoDetail", query: { id } });
|
}
|
onMounted(() => {
|
console.log("---");
|
// getNeirongfabuDetail();
|
// getPageGonggao();
|
// getPageGengzgeng();
|
// getShouyeZhongbiaoOrder();
|
});
|
return {
|
stateHook,
|
getPageGonggao,
|
getShouyeOrder,
|
getNeirongfabuDetail,
|
goDetail,
|
route,
|
router,
|
getFeizhengfuDetail
|
};
|
}
|