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