diff --git a/src/api/kban.js b/src/api/kban.js
index b9a1630..b0fd24f 100644
--- a/src/api/kban.js
+++ b/src/api/kban.js
@@ -59,3 +59,7 @@ export const getKqData=function(){
method: 'get',
})
}
+
+export const getData=()=>{
+ return request({url:'/sc/getYdjhByMonth'})
+}
diff --git a/src/views/cxtj/index.js b/src/views/cxtj/index.js
index ac3e721..ff81d37 100644
--- a/src/views/cxtj/index.js
+++ b/src/views/cxtj/index.js
@@ -1,9 +1,16 @@
import 作业计划完成量统计 from "@/views/cxtj/作业计划完成量统计";
import 技术准备 from "@/views/cxtj/技术准备";
+import 看板对应数据 from "@/views/cxtj/看板对应数据表";
const methods={
'/scgl/jh/cxtj1':作业计划完成量统计(),
- '/scgl/sc/cxtj_jszb':技术准备()
+ '/scgl/sc/cxtj_jszb':技术准备(),
+ '/scgl/jh/cxtj_rikwc':看板对应数据('riwc'),
+ '/scgl/jh/cxtj_zkwc':看板对应数据('zhouwc'),
+ '/scgl/jh/cxtj_ykwc':看板对应数据('yuewc'),
+ '/scgl/jh/cxtj_rikcl':看板对应数据('ricl'),
+ '/scgl/jh/cxtj_zkcl':看板对应数据('zhoucl'),
+ '/scgl/jh/cxtj_ykcl':看板对应数据('yuecl'),
}
const init=(page)=>{
diff --git a/src/views/cxtj/new_index.vue b/src/views/cxtj/new_index.vue
new file mode 100644
index 0000000..e4dd492
--- /dev/null
+++ b/src/views/cxtj/new_index.vue
@@ -0,0 +1,184 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/cxtj/技术准备.js b/src/views/cxtj/技术准备.js
index 7a57eb0..8ef6c10 100644
--- a/src/views/cxtj/技术准备.js
+++ b/src/views/cxtj/技术准备.js
@@ -1,12 +1,12 @@
import request from '@/utils/request'
import XLSX from 'xlsx'
+import { VXETable } from 'vxe-table'
const 技术准备=()=>{
const list=()=>{
request({url:'/jszb/getFlowInfoList',method:'get',params:data.formData})
.then(res => {
- console.log(res.data)
data.options.data=res.data
})
}
@@ -29,7 +29,7 @@ const 技术准备=()=>{
const exportMethod=({options})=>{
const workBook = XLSX.utils.book_new();
- const T型材Group=['SG2']
+ const T型材Group=['S2T','N2T']
const {sheet:T型材重量sheet}=处理数据(T型材Group,(list)=>{
return list.map(item=>{
@@ -130,7 +130,7 @@ const 技术准备=()=>{
XLSX.utils.book_append_sheet(workBook, 曲外板sheet, "曲外板");
const {sheet:lastSheet}=处理数据(['NCA','NCB','NCC','NCG','NCJ','NCL','NCP','NCT'],(list)=>{
- return list.map(item=>{
+ return list.filter(item=>['Z','D'].includes(item.option3)).map(item=>{
return {
船名:item.ch,
分段号:item.fd,
@@ -154,7 +154,7 @@ const 技术准备=()=>{
}
const 处理数据=(groups,fun)=>{
- const list=data.filter(item=>groups.includes(item.type0))
+ const list=data.filter(item=>groups.includes(item.nestingInfo?.substring(4,7)))
return {list:fun(list),sheet:XLSX.utils.json_to_sheet(_data)}
}
diff --git a/src/views/cxtj/看板对应数据表.js b/src/views/cxtj/看板对应数据表.js
new file mode 100644
index 0000000..b56d625
--- /dev/null
+++ b/src/views/cxtj/看板对应数据表.js
@@ -0,0 +1,157 @@
+import request from '@/utils/request'
+import XEUtils from 'xe-utils'
+
+const 看板对应数据=(type)=>{
+ const init=()=>{
+ getData().then(res=>{
+ const _data=JSON.parse(res.data)
+
+ let begin=XEUtils.toDateString(XEUtils.now(),'yyyy/MM/dd')
+ let end=XEUtils.toDateString(XEUtils.getWhatDay(XEUtils.now(), 1),'yyyy/MM/dd')
+ const endOfMonth=XEUtils.toDateString(XEUtils.getWhatMonth(XEUtils.now(), 0,'last'),'yyyy/MM/dd')
+ switch (type){
+ case 'riwc':
+ data.options.data= 完成率计算(_data,begin,end,endOfMonth).point
+ break
+ case 'zhouwc':
+ begin=XEUtils.toDateString(XEUtils.getWhatWeek (XEUtils.now(), 0,1,0),'yyyy/MM/dd')
+ end=XEUtils.toDateString(XEUtils.getWhatWeek (XEUtils.now(), 1,1,0),'yyyy/MM/dd')
+ data.options.data= 完成率计算(_data,begin,end,endOfMonth).point
+ break
+ case 'yuewc':
+ begin=XEUtils.toDateString(XEUtils.getWhatMonth(XEUtils.now(), 0,'first'),'yyyy/MM/dd')
+ end=XEUtils.toDateString(XEUtils.getWhatMonth(XEUtils.now(), 0,'last'),'yyyy/MM/dd')
+ data.options.data=完成率计算(_data,begin,end,endOfMonth).point
+ break
+ case 'ricl':
+ data.options.data=完成率计算(_data,begin,end,endOfMonth).wc
+ break
+ case 'zhoucl':
+ begin=XEUtils.toDateString(XEUtils.getWhatWeek (XEUtils.now(), 0,1,0),'yyyy/MM/dd')
+ end=XEUtils.toDateString(XEUtils.getWhatWeek (XEUtils.now(), 1,1,0),'yyyy/MM/dd')
+ data.options.data= 完成率计算(_data,begin,end,endOfMonth).wc
+ break
+ case 'yuecl':
+ begin=XEUtils.toDateString(XEUtils.getWhatMonth(XEUtils.now(), 0,'first'),'yyyy/MM/dd')
+ end=XEUtils.toDateString(XEUtils.getWhatMonth(XEUtils.now(), 0,'last'),'yyyy/MM/dd')
+ data.options.data= 完成率计算(_data,begin,end,endOfMonth).wc
+ break
+ }
+ })
+ }
+
+ const data={
+ options:{
+ align:'center',
+ border: true,
+ resizable: true,
+ keepSource:true,
+ size:'mini',
+ showOverflow: true,
+ editConfig:{trigger: 'click', mode: 'cell', showStatus: true},
+ highlightCurrentRow:true,
+ columns:[],
+ data:[],
+ },
+ }
+
+ switch (type){
+ case 'riwc':
+ case 'zhouwc':
+ case 'yuewc':
+ data.columns=columns0
+ break
+ case 'ricl':
+ case 'zhoucl':
+ case 'yuecl':
+ data.columns=columns1
+ break
+ default:
+ data.columns=columns0
+ }
+
+ return {data,init}
+}
+
+const columns0=[
+ { type: 'seq', width: 60, title: '序号' },
+ { field: 'kua', title: '跨',},
+ { field: 'c', title: '完成',},
+ { field: 'n', title: '未完成',},
+]
+
+const columns1=[
+ { type: 'seq', width: 60, title: '序号' },
+ { field: 'dc_ch', title: '船号',},
+ { field: 'c', title: '完成',},
+ { field: 'n', title: '未完成',},
+]
+
+const 完成率计算=(data,date,nextDate,endOfMonth)=>{
+
+ const wc=[],point=[]
+
+ const 一跨完成数据=data.filter(item=> item.qgfkrq >= date && item.qgfkrq < nextDate && item.zyq1 === '二区'&&['7','8'].includes(item.kw))
+ const 一跨计划数量=data.filter(item=> item.qgjhrq >= date && item.qgjhrq < endOfMonth && item.zyq1 === '二区'&&['7','8'].includes(item.kw)).length
+
+ let 一跨完成率='100'
+ if (一跨计划数量){
+ 一跨完成率=(一跨完成数据.length/一跨计划数量*100).toFixed(2)
+ }
+
+ point.push({kua:'1跨',c:一跨完成率,n:一跨完成率>100?'0':(100-一跨完成率).toFixed(2)})
+
+ wc.push({ label: '1跨', quantity: 一跨完成数据.length, weight: 一跨完成数据.reduce((accumulator, currentValue) => {
+ return accumulator + (currentValue?.bcshzl||0)/1000;
+ }, 0) },)
+
+ const 二跨完成数据=data.filter(item=> item.qgfkrq >= date && item.qgfkrq < nextDate && item.zyq1 === '三区')
+ const 二跨计划数量=data.filter(item=> item.qgjhrq >= date && item.qgjhrq < endOfMonth && item.zyq1 === '三区').length
+
+ let 二跨完成率='100'
+ if (二跨计划数量){
+ 二跨完成率=(二跨完成数据.length/二跨计划数量*100).toFixed(2)
+ }
+
+ point.push({kua:'2跨',c:二跨完成率,n:二跨完成率>100?'0':(100-二跨完成率).toFixed(2)})
+
+ wc.push({ label: '2跨', quantity: 二跨完成数据.length, weight: 二跨完成数据.reduce((accumulator, currentValue) => {
+ return accumulator + (currentValue.bcshzl||0)/1000;
+ }, 0) },)
+
+ const 三跨完成数据=data.filter(item=> item.qgfkrq >= date && item.qgfkrq < nextDate && item.zyq1 === '二区'&&['6','13','14'].includes(item.kw))
+ const 三跨计划数量=data.filter(item=> item.qgjhrq >= date && item.qgjhrq < endOfMonth && item.zyq1 === '二区'&&['6','13','14'].includes(item.kw)).length
+
+ let 三跨完成率='100'
+ if (三跨计划数量){
+ 三跨完成率=(三跨完成数据.length/三跨计划数量*100).toFixed(2)
+ }
+
+ point.push({kua:'3跨',c:三跨完成率,n:三跨完成率>100?'0':(100-三跨完成率).toFixed(2)})
+
+ wc.push({ label: '3跨', quantity: 三跨完成数据.length, weight: 三跨完成数据.reduce((accumulator, currentValue) => {
+ return accumulator + (currentValue.bcshzl||0)/1000;
+ }, 0) },)
+
+ const 四跨完成数据=data.filter(item=> item.qgfkrq >= date && item.qgfkrq < nextDate && item.zyq1 === '四区')
+ const 四跨计划数量=data.filter(item=> item.qgjhrq >= date && item.qgjhrq < endOfMonth && item.zyq1 === '四区').length
+
+ let 四跨完成率='100'
+ if (四跨计划数量){
+ 四跨完成率=(四跨完成数据.length/四跨计划数量*100).toFixed(2)
+ }
+
+ point.push({kua:'4,5,6跨',c:四跨完成率,n:四跨完成率>100?'0':(100-四跨完成率).toFixed(2)})
+
+ wc.push({ label: '4、5、6跨', quantity: 四跨完成数据.length, weight: 四跨完成数据.reduce((accumulator, currentValue) => {
+ return accumulator + (currentValue.bcshzl||0)/1000;
+ }, 0) },)
+
+ return {point,wc}
+}
+
+const getData=()=>{
+ return request({url:'/sc/getYdjhByMonth'})
+}
+
+export default 看板对应数据
diff --git a/src/views/jhzxgl/ylgl/index.vue b/src/views/jhzxgl/ylgl/index.vue
new file mode 100644
index 0000000..dd2920d
--- /dev/null
+++ b/src/views/jhzxgl/ylgl/index.vue
@@ -0,0 +1,103 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+