Merge branch 'develop' of https://e.coding.net/ctcdevteam/hberp/hberp into develop
This commit is contained in:
commit
be1169e158
|
|
@ -1,5 +1,19 @@
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
|
<el-row style="position: fixed;z-index: 2000;top: 465px;right: 10px;">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="timeRange"
|
||||||
|
type="monthrange"
|
||||||
|
start-placeholder="开始日期"
|
||||||
|
end-placeholder="结束日期"
|
||||||
|
range-separator="至"
|
||||||
|
format="yyyy 年 MM 月"
|
||||||
|
value-format="yyyy-MM"
|
||||||
|
@change="timeRangeChange"
|
||||||
|
>
|
||||||
|
<!--test-->
|
||||||
|
</el-date-picker>
|
||||||
|
</el-row>
|
||||||
<div class="left" style=" width: 400px ;float: left;border-right: 1px solid #f7f7f7">
|
<div class="left" style=" width: 400px ;float: left;border-right: 1px solid #f7f7f7">
|
||||||
<leftMenu
|
<leftMenu
|
||||||
:list="list"
|
:list="list"
|
||||||
|
|
@ -131,7 +145,7 @@
|
||||||
}"
|
}"
|
||||||
></span>
|
></span>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="currentDaySize.value === 2">
|
<template v-if="currentDaySize.value === 5">
|
||||||
<span
|
<span
|
||||||
class="dateNum"
|
class="dateNum"
|
||||||
:class="{
|
:class="{
|
||||||
|
|
@ -264,11 +278,11 @@
|
||||||
<span class="title">工作周期:</span>
|
<span class="title">工作周期:</span>
|
||||||
<span>{{ currentProjectMsg.allTime }}天</span>
|
<span>{{ currentProjectMsg.allTime }}天</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="lineMsg">
|
<div class="lineMsg" v-if="currentProjectMsg.per1">
|
||||||
<span class="title">当前进度:</span>
|
<span class="title">当前进度:</span>
|
||||||
<span>{{ currentProjectMsg.per }}</span>
|
<span>{{ currentProjectMsg.per }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="lineMsg">
|
<div class="lineMsg" v-if="currentProjectMsg.per1">
|
||||||
<span class="title">合格数量:</span>
|
<span class="title">合格数量:</span>
|
||||||
<span>{{ currentProjectMsg.per1 }}</span>
|
<span>{{ currentProjectMsg.per1 }}</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -300,10 +314,12 @@
|
||||||
type:Array,
|
type:Array,
|
||||||
default: () => {
|
default: () => {
|
||||||
return []
|
return []
|
||||||
}} ,
|
}
|
||||||
|
} ,
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
leftYear:2021,
|
||||||
timeRange: [],
|
timeRange: [],
|
||||||
disable: true,
|
disable: true,
|
||||||
//当前项是否是子集
|
//当前项是否是子集
|
||||||
|
|
@ -343,7 +359,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "月",
|
label: "月",
|
||||||
value: 2
|
value: 5
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
//是否显示信息
|
//是否显示信息
|
||||||
|
|
@ -374,7 +390,8 @@
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
mounted(){
|
mounted(){
|
||||||
debugger;
|
let currentYear = new Date().getFullYear();
|
||||||
|
this.timeRange = [currentYear+'-01',currentYear+'-12'];
|
||||||
this.list = [...this.proList];
|
this.list = [...this.proList];
|
||||||
document.addEventListener("scroll", this.handleScroll);
|
document.addEventListener("scroll", this.handleScroll);
|
||||||
this.list=[...this.list];
|
this.list=[...this.list];
|
||||||
|
|
@ -383,6 +400,7 @@
|
||||||
this.setStoneLine();
|
this.setStoneLine();
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
|
||||||
computedList() {
|
computedList() {
|
||||||
let arr = [];
|
let arr = [];
|
||||||
this.list.forEach(item => {
|
this.list.forEach(item => {
|
||||||
|
|
@ -412,14 +430,15 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
timeRangeChange(){
|
||||||
|
this.getAllDate();
|
||||||
|
this.handlerCheckList(this.list);
|
||||||
|
this.getDay();
|
||||||
|
this.setStoneLine();
|
||||||
|
},
|
||||||
TableScrollTop(val) {
|
TableScrollTop(val) {
|
||||||
let lineBG = this.$refs.lineBG;
|
let lineBG = this.$refs.lineBG;
|
||||||
lineBG.scrollTo(0, val);
|
lineBG.scrollTo(0, val);
|
||||||
// lineBG.scrollTo({
|
|
||||||
// top: val,
|
|
||||||
// left: 0,
|
|
||||||
// behavior: "smooth"
|
|
||||||
// });
|
|
||||||
},
|
},
|
||||||
handlerBGScroll(e) {
|
handlerBGScroll(e) {
|
||||||
this.BGScrollTop = this.$refs.chart.scrollTop;
|
this.BGScrollTop = this.$refs.chart.scrollTop;
|
||||||
|
|
@ -502,15 +521,14 @@
|
||||||
},
|
},
|
||||||
// 根据时间计算距离
|
// 根据时间计算距离
|
||||||
computedTimeWidth(startTime, endTime) {
|
computedTimeWidth(startTime, endTime) {
|
||||||
debugger;
|
|
||||||
if (!endTime) {
|
if (!endTime) {
|
||||||
let left =
|
let leftY = this.leftYear+'-01-01';
|
||||||
(Math.floor(startTime - new Date(`${this.currentYear - 1}/01/01`).getTime()) /
|
let leftTime = new Date(leftY).getTime();
|
||||||
|
let left = (Math.floor(startTime - leftTime) /
|
||||||
(1000 * 60 * 60 * 24)) * this.currentDaySize.value;
|
(1000 * 60 * 60 * 24)) * this.currentDaySize.value;
|
||||||
return left;
|
return left;
|
||||||
} else {
|
} else {
|
||||||
let width = (Math.floor(endTime - startTime) / (1000 * 60 * 60 * 24)) * this.currentDaySize.value + this.currentDaySize.value;
|
let width = (Math.floor(endTime - startTime) / (1000 * 60 * 60 * 24)) * this.currentDaySize.value + this.currentDaySize.value;
|
||||||
console.log(width);
|
|
||||||
return width;
|
return width;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -706,7 +724,7 @@
|
||||||
(Math.floor(
|
(Math.floor(
|
||||||
new Date(
|
new Date(
|
||||||
`${this.currentYear}/${this.currentMonth}/${this.currentDay}`
|
`${this.currentYear}/${this.currentMonth}/${this.currentDay}`
|
||||||
).getTime() - new Date(`${this.currentYear - 1}/01/01`).getTime()
|
).getTime() - new Date(`${this.leftYear}/01/01`).getTime()
|
||||||
) /
|
) /
|
||||||
(1000 * 60 * 60 * 24)) *
|
(1000 * 60 * 60 * 24)) *
|
||||||
this.currentDaySize.value - s;
|
this.currentDaySize.value - s;
|
||||||
|
|
@ -723,7 +741,7 @@
|
||||||
*/
|
*/
|
||||||
computedWithTime(width, time) {
|
computedWithTime(width, time) {
|
||||||
let startTime = (width / this.currentDaySize.value) * (1000 * 60 * 60 * 24) +
|
let startTime = (width / this.currentDaySize.value) * (1000 * 60 * 60 * 24) +
|
||||||
new Date(`${this.currentYear - 1}/01/01`).getTime();
|
new Date(`${this.leftYear}/01/01`).getTime();
|
||||||
let s = new Date(startTime);
|
let s = new Date(startTime);
|
||||||
if (time && time == true) {
|
if (time && time == true) {
|
||||||
return s.getTime();
|
return s.getTime();
|
||||||
|
|
@ -882,12 +900,15 @@
|
||||||
},
|
},
|
||||||
getAllDate() {
|
getAllDate() {
|
||||||
let obj = {}, arr = [];
|
let obj = {}, arr = [];
|
||||||
/* let start = new Date(this.timeRange[0]).getFullYear();
|
let start = parseInt(this.timeRange[0].split('-')[0]);
|
||||||
let end = new Date(this.timeRange[1]).getFullYear();*/
|
let end = parseInt(this.timeRange[1].split('-')[0]);
|
||||||
/*for (let i = start; i < end + 1; i++) {
|
// let end = new Date(this.timeRange[1]).getFullYear();
|
||||||
|
for (let i = start; i < end + 1; i++) {
|
||||||
arr.push(i)
|
arr.push(i)
|
||||||
}*/
|
}
|
||||||
arr = [this.currentYear - 1, this.currentYear, this.currentYear + 1];
|
this.leftYear = arr[0];
|
||||||
|
// arr = [this.currentYear - 1, this.currentYear, this.currentYear + 1];
|
||||||
|
this.allDays = [];
|
||||||
arr.forEach(item => {
|
arr.forEach(item => {
|
||||||
obj.year = item;
|
obj.year = item;
|
||||||
obj.days = this.isLeapYear(item) ? 365 : 366;
|
obj.days = this.isLeapYear(item) ? 365 : 366;
|
||||||
|
|
@ -914,6 +935,7 @@
|
||||||
this.allDays.forEach(item => {
|
this.allDays.forEach(item => {
|
||||||
arr = arr.concat(item.month);
|
arr = arr.concat(item.month);
|
||||||
});
|
});
|
||||||
|
this.days = [];
|
||||||
arr.forEach(item => {
|
arr.forEach(item => {
|
||||||
for (var j in item) {
|
for (var j in item) {
|
||||||
this.days = this.days.concat(item[j]);
|
this.days = this.days.concat(item[j]);
|
||||||
|
|
@ -973,19 +995,16 @@
|
||||||
case 10:
|
case 10:
|
||||||
case 12:
|
case 12:
|
||||||
return 31;
|
return 31;
|
||||||
// eslint-disable-next-line no-unreachable
|
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
case 6:
|
case 6:
|
||||||
case 9:
|
case 9:
|
||||||
case 11:
|
case 11:
|
||||||
return 30;
|
return 30;
|
||||||
// eslint-disable-next-line no-unreachable
|
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
day = days == 365 ? 28 : 29;
|
day = days == 365 ? 28 : 29;
|
||||||
return day;
|
return day;
|
||||||
// eslint-disable-next-line no-unreachable
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -1148,7 +1167,7 @@
|
||||||
.toolTip {
|
.toolTip {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
right: 0;
|
right: 0;
|
||||||
top: 90px;
|
top: 550px;
|
||||||
z-index: 999;
|
z-index: 999;
|
||||||
|
|
||||||
.base {
|
.base {
|
||||||
|
|
|
||||||
|
|
@ -203,18 +203,6 @@
|
||||||
:proList="proList"
|
:proList="proList"
|
||||||
></gantt>
|
></gantt>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<!--<el-row style="position: absolute;z-index: 20000;top: 0;right: 0;">
|
|
||||||
<el-date-picker
|
|
||||||
v-model="timeRange"
|
|
||||||
type="daterange"
|
|
||||||
start-placeholder="开始日期"
|
|
||||||
end-placeholder="结束日期"
|
|
||||||
format="yyyy 年 MM 月 dd 日"
|
|
||||||
value-format="yyyy-MM-dd"
|
|
||||||
>
|
|
||||||
<!– @change="timeRangeChange"–>
|
|
||||||
</el-date-picker>
|
|
||||||
</el-row>-->
|
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -233,7 +221,6 @@
|
||||||
components: {Pagination,gantt},
|
components: {Pagination,gantt},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
|
||||||
orderplan: defaulteorderplan,
|
orderplan: defaulteorderplan,
|
||||||
orderList: {
|
orderList: {
|
||||||
count: 0,
|
count: 0,
|
||||||
|
|
@ -259,7 +246,6 @@
|
||||||
number: [{required: true, message: "请输入", trigger: "blur"}],
|
number: [{required: true, message: "请输入", trigger: "blur"}],
|
||||||
|
|
||||||
},
|
},
|
||||||
timeRange:[],
|
|
||||||
proList:[],
|
proList:[],
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ class ProductionPlanViewSet(CreateUpdateModelAMixin, ListModelMixin, CreateModel
|
||||||
perms_map = {'*': '*'}
|
perms_map = {'*': '*'}
|
||||||
queryset = ProductionPlan.objects.select_related('order', 'order__contract', 'product')
|
queryset = ProductionPlan.objects.select_related('order', 'order__contract', 'product')
|
||||||
serializer_class = ProductionPlanSerializer
|
serializer_class = ProductionPlanSerializer
|
||||||
search_fields = ['number']
|
search_fields = ['number', 'order__number', 'order__contract__number', 'product__number']
|
||||||
filterset_fields = ['product', 'order']
|
filterset_fields = ['product', 'order']
|
||||||
ordering_fields = ['id']
|
ordering_fields = ['id']
|
||||||
ordering = ['-id']
|
ordering = ['-id']
|
||||||
|
|
|
||||||
|
|
@ -137,6 +137,7 @@ class WProductListSerializer(serializers.ModelSerializer):
|
||||||
"""
|
"""
|
||||||
material_ = MaterialSimpleSerializer(source='material', read_only=True)
|
material_ = MaterialSimpleSerializer(source='material', read_only=True)
|
||||||
step_ = StepSimpleSerializer(source='step', read_only=True)
|
step_ = StepSimpleSerializer(source='step', read_only=True)
|
||||||
|
subproduction_plan_ = SubproductionPlanSimpleSerializer(source='subproduction_plan', read_only=True)
|
||||||
class Meta:
|
class Meta:
|
||||||
model = WProduct
|
model = WProduct
|
||||||
fields = '__all__'
|
fields = '__all__'
|
||||||
|
|
|
||||||
|
|
@ -179,7 +179,7 @@ class WProductViewSet(ListModelMixin, GenericViewSet):
|
||||||
半成品
|
半成品
|
||||||
"""
|
"""
|
||||||
perms_map={'*':'*'}
|
perms_map={'*':'*'}
|
||||||
queryset = WProduct.objects.select_related('step', 'material').filter(is_hidden=False)
|
queryset = WProduct.objects.select_related('step', 'material', 'subproduction_plan').filter(is_hidden=False)
|
||||||
serializer_class = WProductListSerializer
|
serializer_class = WProductListSerializer
|
||||||
filterset_fields = ['step', 'subproduction_plan', 'material', 'step__process', 'act_state', 'material__type']
|
filterset_fields = ['step', 'subproduction_plan', 'material', 'step__process', 'act_state', 'material__type']
|
||||||
search_fields = ['number']
|
search_fields = ['number']
|
||||||
|
|
|
||||||
|
|
@ -65,7 +65,7 @@ class UpdateDevelop(APIView):
|
||||||
ret = os.popen('git pull https://caoqianming%40foxmail.com:9093qqww@e.coding.net/ctcdevteam/hberp/hberp.git develop')
|
ret = os.popen('git pull https://caoqianming%40foxmail.com:9093qqww@e.coding.net/ctcdevteam/hberp/hberp.git develop')
|
||||||
# 奇怪的处理
|
# 奇怪的处理
|
||||||
os.chdir('/home/hberp/hb_server/vuedist')
|
os.chdir('/home/hberp/hb_server/vuedist')
|
||||||
os.popen('cp index.html indexbak & rm -rf index.html & mv indexbak index.html')
|
os.popen('cp index.html indexbak && rm -rf index.html && mv -f indexbak index.html')
|
||||||
# 打包前端
|
# 打包前端
|
||||||
# os.chdir('/home/hberp/hb_client')
|
# os.chdir('/home/hberp/hb_client')
|
||||||
# os.system('npm run build:prod')
|
# os.system('npm run build:prod')
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue