mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-15 22:06:45 +08:00
-- 项目经理
This commit is contained in:
@@ -1,221 +1,235 @@
|
||||
|
||||
function formatNumber(n) {
|
||||
n = n.toString();
|
||||
return n[1] ? n : "0" + n;
|
||||
n = n.toString();
|
||||
return n[1] ? n : "0" + n;
|
||||
}
|
||||
|
||||
function toDate(number, format) {
|
||||
var formateArr = ["Y", "M", "D", "h", "m", "s"];
|
||||
var returnArr = [];
|
||||
var formateArr = ["Y", "M", "D", "h", "m", "s"];
|
||||
var returnArr = [];
|
||||
|
||||
if (number === 0) {
|
||||
return 0;
|
||||
} else {
|
||||
var date = new Date(number * 1000);
|
||||
}
|
||||
returnArr.push(date.getFullYear());
|
||||
returnArr.push(formatNumber(date.getMonth() + 1));
|
||||
returnArr.push(formatNumber(date.getDate()));
|
||||
if (number === 0) {
|
||||
return 0;
|
||||
} else {
|
||||
var date = new Date(number * 1000);
|
||||
}
|
||||
returnArr.push(date.getFullYear());
|
||||
returnArr.push(formatNumber(date.getMonth() + 1));
|
||||
returnArr.push(formatNumber(date.getDate()));
|
||||
|
||||
returnArr.push(formatNumber(date.getHours()));
|
||||
returnArr.push(formatNumber(date.getMinutes()));
|
||||
returnArr.push(formatNumber(date.getSeconds()));
|
||||
returnArr.push(formatNumber(date.getHours()));
|
||||
returnArr.push(formatNumber(date.getMinutes()));
|
||||
returnArr.push(formatNumber(date.getSeconds()));
|
||||
|
||||
for (var i in returnArr) {
|
||||
format = format.replace(formateArr[i], returnArr[i]);
|
||||
}
|
||||
return format;
|
||||
for (var i in returnArr) {
|
||||
format = format.replace(formateArr[i], returnArr[i]);
|
||||
}
|
||||
return format;
|
||||
}
|
||||
|
||||
function getWeek(date) {
|
||||
//date:'Y-M-D'
|
||||
let time = new Date(date).getDay()
|
||||
let week;
|
||||
if (time == 0) week = "星期日"
|
||||
if (time == 1) week = "星期一"
|
||||
if (time == 2) week = "星期二"
|
||||
if (time == 3) week = "星期三"
|
||||
if (time == 4) week = "星期四"
|
||||
if (time == 5) week = "星期五"
|
||||
if (time == 6) week = "星期六"
|
||||
return week;
|
||||
//date:'Y-M-D'
|
||||
let time = new Date(date).getDay()
|
||||
let week;
|
||||
if (time == 0) week = "星期日"
|
||||
if (time == 1) week = "星期一"
|
||||
if (time == 2) week = "星期二"
|
||||
if (time == 3) week = "星期三"
|
||||
if (time == 4) week = "星期四"
|
||||
if (time == 5) week = "星期五"
|
||||
if (time == 6) week = "星期六"
|
||||
return week;
|
||||
}
|
||||
|
||||
/************************************将数字搞成带逗号的那种*********************************************/
|
||||
function autoComma(number) {
|
||||
// let number = parseInt(numb)
|
||||
if (number) {
|
||||
let newNum = ""; //中间变量
|
||||
let arr = [];
|
||||
let arr1 = [];
|
||||
let num = ""; //最终结果
|
||||
let isDecimal = false; //是不是小数
|
||||
let decimal = 0; //小数点所在位置
|
||||
let decimalNum = ""; //小数点和以后的数据
|
||||
let negative = false; //是不是负数
|
||||
// 判断百万级别或者上亿级别
|
||||
let thousand = false;
|
||||
let Billion = false;
|
||||
// let number = parseInt(numb)
|
||||
if (number) {
|
||||
let newNum = ""; //中间变量
|
||||
let arr = [];
|
||||
let arr1 = [];
|
||||
let num = ""; //最终结果
|
||||
let isDecimal = false; //是不是小数
|
||||
let decimal = 0; //小数点所在位置
|
||||
let decimalNum = ""; //小数点和以后的数据
|
||||
let negative = false; //是不是负数
|
||||
// 判断百万级别或者上亿级别
|
||||
let thousand = false;
|
||||
let Billion = false;
|
||||
|
||||
if (
|
||||
(number >= 10000 || number <= -10000) &&
|
||||
number < 100000000 &&
|
||||
number > -100000000
|
||||
) {
|
||||
thousand = true;
|
||||
number = number / 10000;
|
||||
}
|
||||
if (number >= 100000000 || number <= -100000000) {
|
||||
thousand = false;
|
||||
Billion = true;
|
||||
number = number / 100000000;
|
||||
}
|
||||
if (
|
||||
(number >= 10000 || number <= -10000) &&
|
||||
number < 100000000 &&
|
||||
number > -100000000
|
||||
) {
|
||||
thousand = true;
|
||||
number = number / 10000;
|
||||
}
|
||||
if (number >= 100000000 || number <= -100000000) {
|
||||
thousand = false;
|
||||
Billion = true;
|
||||
number = number / 100000000;
|
||||
}
|
||||
|
||||
if (number < 0) {
|
||||
number = Math.abs(number);
|
||||
negative = true;
|
||||
}
|
||||
let numStr = JSON.stringify(number);
|
||||
// 如果传入的是小数,逗号的添加位置和整数是有区别滴
|
||||
for (let i = 0; i < numStr.length; i++) {
|
||||
if (numStr[i] === ".") {
|
||||
isDecimal = true;
|
||||
decimal = i;
|
||||
decimalNum = numStr.slice(decimal, numStr.length);
|
||||
// 保留两位小数
|
||||
if (decimalNum.length > 2) {
|
||||
decimalNum = decimalNum.slice(0, 3);
|
||||
if (number < 0) {
|
||||
number = Math.abs(number);
|
||||
negative = true;
|
||||
}
|
||||
numStr = numStr.slice(0, decimal);
|
||||
}
|
||||
}
|
||||
for (let i = 0; i < numStr.length; i++) {
|
||||
arr.push(numStr[numStr.length - i - 1]);
|
||||
}
|
||||
for (let i = 0; i < arr.length; i++) {
|
||||
if ((i + 1) % 3 === 0 && i + 1 !== 0 && i + 1 < arr.length) {
|
||||
newNum += arr[i];
|
||||
newNum = newNum + ",";
|
||||
} else {
|
||||
newNum += arr[i];
|
||||
}
|
||||
}
|
||||
for (let i = 0; i < newNum.length; i++) {
|
||||
arr1.push(newNum[newNum.length - i - 1]);
|
||||
}
|
||||
for (let i = 0; i < arr1.length; i++) {
|
||||
num += arr1[i];
|
||||
}
|
||||
if (isDecimal) {
|
||||
if (negative) {
|
||||
// num = '-' + num + decimalNum
|
||||
// return num
|
||||
if (thousand) {
|
||||
num = "-" + num + decimalNum + "万";
|
||||
return num;
|
||||
} else if (Billion) {
|
||||
num = "-" + num + decimalNum + "亿";
|
||||
return num;
|
||||
let numStr = JSON.stringify(number);
|
||||
// 如果传入的是小数,逗号的添加位置和整数是有区别滴
|
||||
for (let i = 0; i < numStr.length; i++) {
|
||||
if (numStr[i] === ".") {
|
||||
isDecimal = true;
|
||||
decimal = i;
|
||||
decimalNum = numStr.slice(decimal, numStr.length);
|
||||
// 保留两位小数
|
||||
if (decimalNum.length > 2) {
|
||||
decimalNum = decimalNum.slice(0, 3);
|
||||
}
|
||||
numStr = numStr.slice(0, decimal);
|
||||
}
|
||||
}
|
||||
for (let i = 0; i < numStr.length; i++) {
|
||||
arr.push(numStr[numStr.length - i - 1]);
|
||||
}
|
||||
for (let i = 0; i < arr.length; i++) {
|
||||
if ((i + 1) % 3 === 0 && i + 1 !== 0 && i + 1 < arr.length) {
|
||||
newNum += arr[i];
|
||||
newNum = newNum + ",";
|
||||
} else {
|
||||
newNum += arr[i];
|
||||
}
|
||||
}
|
||||
for (let i = 0; i < newNum.length; i++) {
|
||||
arr1.push(newNum[newNum.length - i - 1]);
|
||||
}
|
||||
for (let i = 0; i < arr1.length; i++) {
|
||||
num += arr1[i];
|
||||
}
|
||||
if (isDecimal) {
|
||||
if (negative) {
|
||||
// num = '-' + num + decimalNum
|
||||
// return num
|
||||
if (thousand) {
|
||||
num = "-" + num + decimalNum + "万";
|
||||
return num;
|
||||
} else if (Billion) {
|
||||
num = "-" + num + decimalNum + "亿";
|
||||
return num;
|
||||
} else {
|
||||
num = "-" + num + decimalNum;
|
||||
return num;
|
||||
}
|
||||
} else {
|
||||
// num = num + decimalNum
|
||||
// return num
|
||||
if (thousand) {
|
||||
num = num + decimalNum + "万";
|
||||
return num;
|
||||
} else if (Billion) {
|
||||
num = num + decimalNum + "亿";
|
||||
return num;
|
||||
} else {
|
||||
num = num + decimalNum;
|
||||
return num;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
num = "-" + num + decimalNum;
|
||||
return num;
|
||||
if (negative) {
|
||||
// num = '-' + num
|
||||
// return num
|
||||
if (thousand) {
|
||||
num = "-" + num + "万";
|
||||
return num;
|
||||
} else if (Billion) {
|
||||
num = "-" + num + "亿";
|
||||
return num;
|
||||
} else {
|
||||
num = "-" + num;
|
||||
return num;
|
||||
}
|
||||
} else {
|
||||
if (thousand) {
|
||||
num = num + "万";
|
||||
return num;
|
||||
} else if (Billion) {
|
||||
num = num + "亿";
|
||||
return num;
|
||||
} else {
|
||||
return num;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// num = num + decimalNum
|
||||
// return num
|
||||
if (thousand) {
|
||||
num = num + decimalNum + "万";
|
||||
return num;
|
||||
} else if (Billion) {
|
||||
num = num + decimalNum + "亿";
|
||||
return num;
|
||||
} else {
|
||||
num = num + decimalNum;
|
||||
return num;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (negative) {
|
||||
// num = '-' + num
|
||||
// return num
|
||||
if (thousand) {
|
||||
num = "-" + num + "万";
|
||||
return num;
|
||||
} else if (Billion) {
|
||||
num = "-" + num + "亿";
|
||||
return num;
|
||||
} else {
|
||||
num = "-" + num;
|
||||
return num;
|
||||
}
|
||||
} else {
|
||||
if (thousand) {
|
||||
num = num + "万";
|
||||
return num;
|
||||
} else if (Billion) {
|
||||
num = num + "亿";
|
||||
return num;
|
||||
} else {
|
||||
return num;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
//节流
|
||||
function throttle(fn, delay = 200) {
|
||||
var timer = null;
|
||||
return function () {
|
||||
console.log('throttle')
|
||||
var context = this, args = arguments;
|
||||
clearTimeout(timer);
|
||||
timer = setTimeout(function () {
|
||||
fn.apply(context, args);
|
||||
}, delay);
|
||||
};
|
||||
}
|
||||
|
||||
//把token存到cookie
|
||||
//name 字段名 value 字段值 perpetual 有效期
|
||||
const setCookie = (name, value, perpetual) => {
|
||||
console.log('存储token到cookie')
|
||||
let exdate = new Date()
|
||||
exdate.setDate(perpetual * 24 * 60 * 60 * 1000) //exdate.setDate(exdate.getDate() + 365)
|
||||
document.cookie = `${name}=${value};expires=${exdate.toGMTString()};path=/`
|
||||
//永久有效
|
||||
//document.cookie = name + '=' + value + ';expires=' + 'Fri, 31 Dec 9999 23:59:59 GMT'
|
||||
console.log('存储token到cookie')
|
||||
let exdate = new Date()
|
||||
exdate.setDate(perpetual * 24 * 60 * 60 * 1000) //exdate.setDate(exdate.getDate() + 365)
|
||||
document.cookie = `${name}=${value};expires=${exdate.toGMTString()};path=/`
|
||||
//永久有效
|
||||
//document.cookie = name + '=' + value + ';expires=' + 'Fri, 31 Dec 9999 23:59:59 GMT'
|
||||
}
|
||||
//获取cookie数据
|
||||
|
||||
//先写一个方法
|
||||
function getCookie(name) {
|
||||
//1.获取cookie字符串
|
||||
var cookies = document.cookie;
|
||||
//通过;来分割字符串
|
||||
var cookie = cookies.split("; ");
|
||||
// console.log('cookie', cookie)
|
||||
//遍历,使键值对匹配上
|
||||
for (var i = 0; i < cookie.length; i++) {
|
||||
var arr = cookie[i].split("token=");
|
||||
// console.log('arr', arr)
|
||||
console.log('name', name)
|
||||
// if (arr[0] == name) {
|
||||
// console.log('arr[1]', arr[1])
|
||||
// return arr[1];
|
||||
// }
|
||||
// console.log('arr[1]', arr[1])
|
||||
return arr[1]
|
||||
}
|
||||
return "";
|
||||
//1.获取cookie字符串
|
||||
var cookies = document.cookie;
|
||||
//通过;来分割字符串
|
||||
var cookie = cookies.split("; ");
|
||||
// console.log('cookie', cookie)
|
||||
//遍历,使键值对匹配上
|
||||
for (var i = 0; i < cookie.length; i++) {
|
||||
var arr = cookie[i].split("token=");
|
||||
// console.log('arr', arr)
|
||||
console.log('name', name)
|
||||
// if (arr[0] == name) {
|
||||
// console.log('arr[1]', arr[1])
|
||||
// return arr[1];
|
||||
// }
|
||||
// console.log('arr[1]', arr[1])
|
||||
return arr[1]
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
|
||||
//滚动加载信息
|
||||
const scrollLoad = (e) => {
|
||||
// console.log("滚动", e, b);
|
||||
const { target } = e;
|
||||
const scrllHeight = target.scrollHeight - target.scrollTop;
|
||||
const clientHeight = target.clientHeight;
|
||||
// console.log("scrllHeight", scrllHeight, clientHeight);
|
||||
if (scrllHeight === 0 && clientHeight === 0) {
|
||||
return 1
|
||||
} else if (scrllHeight - clientHeight == 0) {
|
||||
return 2
|
||||
}
|
||||
// console.log("滚动", e, b);
|
||||
const {target} = e;
|
||||
const scrllHeight = target.scrollHeight - target.scrollTop;
|
||||
const clientHeight = target.clientHeight;
|
||||
// console.log("scrllHeight", scrllHeight, clientHeight);
|
||||
if (scrllHeight === 0 && clientHeight === 0) {
|
||||
return 1
|
||||
} else if (scrllHeight - clientHeight == 0) {
|
||||
return 2
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
//新建延迟
|
||||
const commonData = {
|
||||
timeout: 50,
|
||||
timeout: 50,
|
||||
}
|
||||
// const organizationalTree = [
|
||||
// {
|
||||
@@ -422,14 +436,15 @@ const organizationalTree = []
|
||||
|
||||
const iframeUrl = "https://u-pre.boe.com/pc/iframe"
|
||||
export {
|
||||
toDate,
|
||||
getWeek,
|
||||
autoComma,
|
||||
formatNumber,
|
||||
setCookie,
|
||||
getCookie,
|
||||
scrollLoad,
|
||||
commonData,
|
||||
organizationalTree,
|
||||
iframeUrl,
|
||||
throttle,
|
||||
toDate,
|
||||
getWeek,
|
||||
autoComma,
|
||||
formatNumber,
|
||||
setCookie,
|
||||
getCookie,
|
||||
scrollLoad,
|
||||
commonData,
|
||||
organizationalTree,
|
||||
iframeUrl,
|
||||
}
|
||||
@@ -20,7 +20,7 @@
|
||||
</template>
|
||||
<script>
|
||||
import {onMounted, reactive, toRefs, watch} from "vue";
|
||||
import {scrollLoad} from "@/api/method";
|
||||
import {scrollLoad, throttle} from "@/api/method";
|
||||
import * as api1 from "@/api/index1";
|
||||
|
||||
export default {
|
||||
@@ -46,8 +46,9 @@ export default {
|
||||
loading: false,
|
||||
init: false
|
||||
});
|
||||
const getMemberThrottle = throttle(getMember, 500)
|
||||
|
||||
watch(() => state.memberParam, getMember)
|
||||
watch(() => state.memberParam, getMemberThrottle)
|
||||
watch(props, init)
|
||||
|
||||
onMounted(() => {
|
||||
@@ -57,15 +58,24 @@ export default {
|
||||
|
||||
function getMember() {
|
||||
state.loading = true
|
||||
state.options = []
|
||||
getMemberData()
|
||||
}
|
||||
|
||||
|
||||
function getMemberData() {
|
||||
api1.getMemberInfo(state.memberParam).then((res) => {
|
||||
const list = res.data.data.rows.filter(e => !props.value?.includes(e.id + '')).map(e => ({
|
||||
label: e.realName,
|
||||
value: e.id
|
||||
}));
|
||||
state.options.push(...list)
|
||||
if (state.memberParam.pageNo === 1 && props.value) {
|
||||
const arrManagerId = props.value.split(',')
|
||||
const arrManager = props.name.split(',')
|
||||
state.options = [...arrManager.map((e, i) => ({label: e, value: arrManagerId[i]})), ...list]
|
||||
} else state.options.push(...list)
|
||||
state.loading = false
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
const memberScroll = (e) => {
|
||||
@@ -82,16 +92,25 @@ export default {
|
||||
};
|
||||
|
||||
function init() {
|
||||
if (!props.value) {
|
||||
state.managerArray = []
|
||||
console.log('init--', props)
|
||||
if (props.value !== state.managerArray.join(',')) {
|
||||
if (props.value) {
|
||||
const arrManager = props.name.split(',')
|
||||
const arrManagerId = props.value.split(',')
|
||||
state.managerArray = arrManagerId
|
||||
state.options = arrManager.map((e, i) => ({label: e, value: arrManagerId[i]}))
|
||||
} else {
|
||||
state.managerArray = []
|
||||
}
|
||||
getMemberData()
|
||||
return;
|
||||
}
|
||||
if (props.value !== state.managerArray.join(',')) {
|
||||
const arrManager = props.name.split(',')
|
||||
const arrManagerId = props.value.split(',')
|
||||
state.managerArray = arrManagerId
|
||||
state.options = arrManager.map((e, i) => ({label: e, value: arrManagerId[i]}))
|
||||
getMember()
|
||||
if (!props.value) {
|
||||
if (!(state.options && state.options.length)) {
|
||||
state.options = []
|
||||
getMember()
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -347,7 +347,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="modalMain">
|
||||
<router-link :to="`/projectadd?parentId=${projectInfo.parentId}&parentName=${projectInfo.parentName}`">
|
||||
<router-link :to="`/projectadd?parentId=${projectInfo.parentId || ''}&parentName=${projectInfo.parentName || ''}`">
|
||||
<div
|
||||
class="taskbox"
|
||||
style="
|
||||
|
||||
Reference in New Issue
Block a user