From b31d0bdae5ab5e7c24eadf08fea270c6bb9f3c7a Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期四, 09 二月 2023 16:58:46 +0800
Subject: [PATCH] 1.自动排程代码正在研究
---
src/views/scgl/zdpc.vue | 1525 +++++++---------------
src/views/gantt_back/zdpc2.vue | 2281 +++++++++++++++++++++++++++++++++++
src/router/index.js | 38
3 files changed, 2,820 insertions(+), 1,024 deletions(-)
diff --git a/src/router/index.js b/src/router/index.js
index 1d13113..24bb88f 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -101,22 +101,28 @@
// { path: '*', redirect: '/404', hidden: true }
]
export const asyncRoutes = [
- // {
- // path: '/gtt',
- // component: Layout,
- // redirect: '/gtt/back',
- // name: '鍩虹璁剧疆',
- // code: '1001',
- // meta: { code: '1001', title: '鍩虹璁剧疆', icon: 'tree' },
- // alwaysShow: true, // 褰揷hildren鍙湁涓�涓椂锛屼篃鏄剧ず鐖惰彍鍗�
- // children: [{
- // path: 'back',
- // name: 'YYQDCancel',
- // code: '1011',
- // component: () => import('@/views/gantt_back/gantt_back'),
- // meta: { code: '1011', title: '鐢ㄦ埛娓呭崟', icon: '', keepAlive: true }
- // }]
- // },
+ {
+ path: '/gtt',
+ component: Layout,
+ redirect: '/gtt/back',
+ name: '鍩虹璁剧疆',
+ code: '1001',
+ meta: { code: '1001', title: '鍩虹璁剧疆', icon: 'tree' },
+ alwaysShow: true, // 褰揷hildren鍙湁涓�涓椂锛屼篃鏄剧ず鐖惰彍鍗�
+ children: [{
+ path: 'back',
+ name: 'YYQDCancel',
+ code: '1011',
+ component: () => import('@/views/gantt_back/gantt_back'),
+ meta: { code: '1011', title: '鐢ㄦ埛娓呭崟', icon: '', keepAlive: true }
+ }, {
+ path: 'zdpc2',
+ name: 'YYQDCancel',
+ code: '1012',
+ component: () => import('@/views/gantt_back/zdpc2'),
+ meta: { code: '1012', title: '鑷姩鎺掔▼2', icon: '', keepAlive: true }
+ }]
+ },
{
path: '/jcsz',
component: Layout,
diff --git a/src/views/gantt_back/zdpc2.vue b/src/views/gantt_back/zdpc2.vue
new file mode 100644
index 0000000..b889db9
--- /dev/null
+++ b/src/views/gantt_back/zdpc2.vue
@@ -0,0 +1,2281 @@
+<template>
+ <div>
+ <div class="body" :style="{height:mainHeight+'px'}">
+
+ <div class="bodyTopFormGroup" style="margin-top: 10px;padding-top: 10px">
+ <el-form
+ ref="form"
+ :model="formTop"
+ label-width="100px"
+ inline
+ style="display: flex;"
+ >
+ <div class="elForm">
+ <el-form-item label="杞﹂棿缂栫爜" style=" display: flex;">
+ <el-input v-model="formTop.workshop" placeholder="璇疯緭鍏�" style="width: 200px" />
+ </el-form-item>
+ <el-form-item label="鐢熶骇宸ュ崟鍙�" style=" display: flex;">
+ <el-input v-model="formTop.wocode" placeholder="璇疯緭鍏�" style="width: 200px" />
+ </el-form-item>
+ <el-form-item label="鐗╂枡缂栫爜" style=" display: flex;">
+ <el-input v-model="formTop.partcode" placeholder="璇疯緭鍏�" style="width: 200px" />
+ </el-form-item>
+ <el-form-item label="鐗╂枡鍚嶇О" style=" display: flex;">
+ <el-input v-model="formTop.partname" placeholder="璇疯緭鍏�" style="width: 200px" />
+ </el-form-item>
+ </div>
+ <div class="bodySearchReset" :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}">
+ <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+ <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+ </div>
+ </el-form>
+ <div
+ class="bodyTopFormExpand"
+ style="height: 5px"
+ />
+ </div>
+
+ <div class="elTableDiv" style="margin-top: 0">
+ <el-table
+ ref="tableDataRef"
+ class="tableFixed"
+ :data="tableData"
+ :height="(tableHeight-400)+'px'"
+ border
+ :row-class-name="tableRowClassName"
+ :style="{width: 100+'%',height:(tableHeight-400)+'px',}"
+ highlight-current-row
+ :header-cell-style="this.$headerCellStyle"
+ :cell-style="this.$cellStyle"
+ @sort-change="sortChangeTop"
+ @row-click="getCurrentRow"
+ >
+ <!-- @row-click="rowClick"-->
+ <el-table-column
+ width="50"
+ fixed
+ >
+ <template slot-scope="{row}">
+ <el-radio
+ v-model="radioSelectedId"
+ :label="row.AdvaScheId"
+ />
+
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="RowNum"
+ width="50"
+ fixed
+ label="搴忓彿"
+ />
+ <el-table-column
+ prop="AdvaSchePiroQue"
+ show-tooltip-when-overflow
+ label="浼樺厛绾�"
+ width="90"
+ sortable="custom"
+ />
+ <el-table-column
+ prop="AdvaScheWorkShop"
+ label="鐢熶骇杞﹂棿"
+ width="110"
+ show-tooltip-when-overflow
+ sortable="custom"
+ />
+ <el-table-column
+ prop="AdvaScheWorkCode"
+ label="宸ュ崟缂栧彿"
+ min-width="160"
+ show-tooltip-when-overflow
+ sortable="custom"
+ />
+ <el-table-column
+ prop="AdvaSchePartNumber"
+ label="浜у搧缂栫爜"
+ min-width="110"
+ show-tooltip-when-overflow
+ sortable="custom"
+ >
+ <!-- <template slot-scope="{row}">-->
+ <!-- <div v-if="row.AdvaSchePartNumber">{{ row.AdvaSchePartNumber }}</div>-->
+ <!-- <div v-else>/</div>-->
+ <!-- </template>-->
+ </el-table-column>
+ <el-table-column
+ prop="AdvaSchePartName"
+ min-width="160"
+ show-tooltip-when-overflow
+ label="浜у搧鍚嶇О"
+ sortable="custom"
+ />
+ <el-table-column
+ prop="AdvaSchePartSpec"
+ label="浜у搧瑙勬牸"
+ width="110"
+ show-tooltip-when-overflow
+ sortable="custom"
+ >
+ <template slot-scope="{row}">
+ <div v-if="row.AdvaSchePartSpec">{{ row.AdvaSchePartSpec }}</div>
+ <div v-else>/</div>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="AdvaScheQty"
+ label="鏁伴噺"
+ show-tooltip-when-overflow
+ width="110"
+ sortable="custom"
+ />
+ <el-table-column
+ prop="AdvaScheEndDate"
+ label="瑕佹眰浜や粯鏃堕棿"
+ sortable="custom"
+ show-tooltip-when-overflow
+ width="160"
+ />
+ <el-table-column
+ prop="AdvaScheStus"
+ label="鎺掔▼鐘舵��"
+ show-tooltip-when-overflow
+ width="110"
+ sortable="custom"
+ >
+ <template slot-scope="{row}">
+ <div v-if="row.AdvaScheStus==='NOSCHED'">寰呮帓绋�</div>
+ <div v-if="row.AdvaScheStus==='SCHED'">宸叉帓绋�</div>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="AdvaScheBotProcName"
+ label="鎺掔▼宸ュ簭"
+ show-tooltip-when-overflow
+ width="110"
+ sortable="custom"
+ />
+ <el-table-column
+ prop="AdvaSchePCStartDate"
+ label="璁″垝鎺掔▼鏃堕棿"
+ width="200"
+ sortable="custom"
+ show-tooltip-when-overflow
+ >
+ <template slot-scope="{row}">
+ <div v-if="row.AdvaSchePCStartDate">{{ row.AdvaSchePCStartDate }} ~ {{ row.AdvaSchePCEndDate }} </div>
+ <div v-else>/</div>
+ </template>
+ </el-table-column>
+
+ </el-table>
+ </div>
+ <!--鍒嗛〉-->
+ <pagination
+ :total="totalTop"
+ :page.sync="formTop.page"
+ :limit.sync="formTop.rows"
+ align="right"
+ layout="total,prev, pager, next,sizes"
+ popper-class="select_bottom"
+ @pagination="getAdvancedSchedulingSearch"
+ />
+
+ <!-- 鑷姩鎺掔▼閮ㄥ垎鐨勪唬鐮�-->
+ <div class="autoScheduling">
+
+ <div class="bodyTopFormGroup">
+ <el-form
+ ref="form"
+ :model="formBottom"
+ inline
+ label-width="100px"
+ style="display: flex;"
+ >
+ <div class="elForm">
+ <el-form-item label="鎺掔▼鏃ユ湡" style=" display: flex;">
+ <el-date-picker
+ v-model="formBottom.scheDate"
+ :disabled="radioSelectedId===''"
+ type="daterange"
+ range-separator="~"
+ format="yyyy-MM-dd"
+ value-format="yyyy-MM-dd"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡"
+ size="small"
+ :picker-options="pickerOptions1"
+ :clearable="false"
+ @change="change_time"
+ />
+ </el-form-item>
+ <el-form-item label="鎺掔▼鏂瑰紡" style=" display: flex;">
+ <el-select v-model="formBottom.types" :disabled="radioSelectedId===''" style="width:120px" @change="changeTypes">
+ <el-option value="N" label="璁惧浼樺厛" />
+ <el-option value="Y" label="鏃堕棿浼樺厛" />
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鏃堕棿鍒诲害(鍒嗛挓)" label-width="110" style=" display: flex;">
+ <el-select v-model.number="formBottom.scale" :disabled="radioSelectedId===''" style="width: 120px;">
+ <el-option v-for="item in scaleList" :key="item" :value="item" :label="item" />
+ </el-select>
+
+ </el-form-item>
+ <el-form-item label="鎹㈠瀷鏃堕棿(鍒嗛挓)" label-width="110" style=" display: flex;">
+ <el-input
+ id="scale"
+ v-model="formBottom.times"
+ :disabled="radioSelectedId===''"
+ type="number"
+ style="display:inline-block;width:80px;"
+ @change="no_zero"
+ />
+ </el-form-item>
+ <el-form-item label="棰勬帓杩涘害" style=" display: flex;">
+ <span>
+ <span style="text-decoration:underline;">{{ formBottom.real_num }}</span> /
+ <span style="text-decoration:underline">{{ formBottom.meter }}</span>
+ </span>
+ </el-form-item>
+ </div>
+ <div class="bodySearchReset" :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}">
+ <el-button
+ v-waves
+ :disabled="radioSelectedId===''"
+ type="primary"
+ icon="el-icon-document-remove"
+ @click="click_schedule"
+ >棰勬帓
+ </el-button>
+ <el-button
+ v-waves
+ type="primary"
+ :disabled="radioSelectedId===''"
+ icon="el-icon-document-checked"
+ @click="click_yes"
+ >鎻愪氦
+ </el-button>
+ </div>
+ </el-form>
+ <div
+ class="bodyTopFormExpand"
+ style="height: 5px"
+ />
+ </div>
+
+ <div class="container" style="margin: 10px;">
+ <v-gantt-chart
+ :start-time="time_data[0]"
+ :end-time="time_data[1]"
+ :cell-width="cellWidth"
+ :cell-height="cellHeight"
+ :time-lines="timeLines"
+ :title-height="titleHeight"
+ :scale="formBottom.scale"
+ :title-width="titleWidth"
+ show-current-time
+ :hide-header="hideHeader"
+ :data-key="dataKey"
+ :array-keys="arrayKeys"
+ :scroll-to-postion="positionA"
+ :datas="bm_data"
+ @scrollLeft="scrollLeftA"
+ >
+ <template slot="block" slot-scope="{data,item}">
+ <Test
+ :data="data"
+ :update-time-lines="updateTimeLines"
+ :cell-height="cellHeight"
+ :current-time="currentTime"
+ :item="item"
+ />
+ </template>
+ <template slot="left" slot-scope="{data}">
+ <div class="name">
+ <div class="carId">
+ <el-checkbox
+ v-model="data.status"
+ style="margin-right:5px;"
+ @change="click_box(data)"
+ />
+ {{ data.id }} {{ data.name }}
+ </div>
+ <div class="speed">
+ <!-- <el-tooltip class="item" effect="dark" content="鏌ョ湅" placement="top">-->
+ <!-- <el-button v-waves type="text" size="mini" @click="look(data)">-->
+ <!-- <i class="el-icon-document size i-color" />-->
+ <!-- </el-button>-->
+ <!-- </el-tooltip>-->
+ </div>
+ </div>
+ </template>
+ <template slot="title">
+ <span class="tc">宸ヤ綅鍒楄〃</span>
+ <el-checkbox v-model="all_status" class="box_style" :disabled="radioSelectedId===''" @change="changeLift()" />
+ <input v-model.number="cellWidth" type="range" min="20" max="100" class="box_styles" :disabled="radioSelectedId===''">
+ </template>
+ </v-gantt-chart>
+ </div>
+ </div>
+
+ </div>
+
+ </div>
+</template>
+
+<script>
+import Pagination from '@/components/Pagination'
+import Test from '@/components/Test'
+import dayjs from 'dayjs'
+import { AdvancedSchedulingSearch, OnclickAdvancedSchedulingDevice, SubmitAlreadyScheduling } from '@/api/scgl'
+import { handleDatetime } from '@/utils/global'
+import waves from '@/directive/waves'
+
+const scaleList = `30,60,240,360`.split(',').map(n => parseInt(n))
+const timeList = `0,30,60,120,240,480`.split(',').map(n => parseInt(n))
+
+export default {
+ name: 'Zzjg',
+ components: {
+ Pagination, Test
+ },
+ directives: { waves },
+ data() {
+ return {
+ mouseHoverType: 'mouseout',
+ isExpandForm: false,
+ mainHeight: 0,
+ tableHeight: 0,
+ radioSelectedId: '', // 琛ㄥ崟鍗曢�夋
+ formTop: {
+ workshop: '', // 杞﹂棿缂栫爜
+ wocode: '', // 鐢熶骇宸ュ崟鍙�
+ partcode: '', // 鐗╂枡缂栫爜
+ partname: '', // 鐗╂枡鍚嶇О
+ prop: 'AdvaScheWorkCode', // 鎺掑簭瀛楁
+ order: 'desc', // 鎺掑簭瀛楁
+ page: 1, // 绗嚑椤�
+ rows: 20 // 姣忛〉澶氬皯鏉�
+ },
+ totalTop: 10,
+ tableData: [],
+ /*
+ 鎺掔▼閮ㄥ垎鐨勫睘鎬�
+ * */
+ show: false,
+ pickerOptions1: {
+ disabledDate(time) {
+ return time.getTime() <= Date.now() - 24 * 60 * 60 * 1000
+ }
+ },
+
+ keep_data: [],
+ all_status: true,
+ look_data: [],
+ look_total: 0,
+ cl_name: '', // 浜у搧鍚嶇О
+ cl_code: '', // 浜у搧缂栫爜
+ work_order: '',
+ false_arr: [],
+ ckeckVal: true,
+ AdvaScheUom: '',
+ list: [],
+ form: {
+ WorkShop: '',
+ PartNumber: '',
+ PartName: '',
+ rows: 10,
+ page: 1
+ },
+ showDialog: false,
+ time_data: [[handleDatetime(new Date()) + ' 00:00:00'], [handleDatetime(new Date()) + ' 00:00:00']],
+ forms: {
+ wocode: '', // 宸ュ崟缂栧彿
+ wkshpcode: '', // 杞﹂棿缂栫爜
+ partcode: '', // 鐗╂枡缂栫爜
+ botproccode: '', // 鐡堕宸ュ簭缂栫爜(棣栭亾宸ュ簭)
+ startdate: '', // 寮�濮嬫棩鏈�
+ enddate: ''// 缁撴潫鏃ユ湡
+ },
+ click_one: 0,
+ datasC: [],
+ radio: '',
+
+ formBottom: {
+ scheDate: [handleDatetime(new Date()), handleDatetime(new Date())], // 鎺掔▼鏃ユ湡
+ types: 'N', // 鎺掔▼鏂瑰紡
+ scale: 60, // 鏃堕棿鍒诲害
+ times: 0, // 鎹㈠瀷鏃堕棿
+ real_num: 0, // 鍙帓鏁伴噺
+ meter: 0// 闇�鎺掓暟閲�
+ },
+
+ no: false,
+ total: 0,
+ mn_data: [],
+ bm_data: [],
+ facility_data: [],
+ end_start: '',
+ timeLines: [
+ {
+ time: dayjs()
+ .add(2, 'hour')
+ .toString()
+ },
+ {
+ time: dayjs()
+ .add(5, 'hour')
+ .toString(),
+ color: '#747e80'
+ }
+ ],
+ formUpdata: {
+ WorkCode: '',
+ BotProceCode: '',
+ json: []
+ },
+ currentTime: dayjs(),
+ startTime: dayjs()
+ .subtract(5, 'hour')
+ .toString(),
+ endTime: dayjs()
+ .add(2, 'day')
+ .add(2, 'hour')
+ .toString(),
+ cellWidth: 50,
+ cellHeight: 30,
+ titleHeight: 40,
+ titleWidth: 250,
+
+ // datasNum: 100,
+ datasA: [],
+ // datasB: mockDatas(100),
+ dataKey: 'id',
+
+ timeList: timeList,
+ scaleList: scaleList,
+ scrollToTime: dayjs()
+ .add(1, 'day')
+ .toString(),
+ scrollToPostion: { x: 10000, y: 10000 },
+ hideHeader: false,
+ arrayKeys: ['gtArray', 'error'],
+ scrollToY: 0,
+ positionB: {},
+ positionA: {},
+ title_list: [],
+ submit_flag: false,
+ search_from: {
+ page: 1,
+ rows: 10,
+ WorkTime: '',
+ BotProceName: ''
+ }
+
+ }
+ },
+ watch: {
+ // datasNum(newV) {
+ // // this.datasA = mockDatas(newV)
+ // // this.datasB = mockDatas(newV)
+ // },
+ scrollToY(val) {
+ this.positionA = { x: val }
+ }
+ },
+ created() {
+ const loading = this.$loading({
+ lock: true,
+ text: '姝e湪鍔犺浇鏁版嵁锛岃绋嶇瓑...',
+ spinner: 'el-icon-loading',
+ customClass: 'osloading',
+ background: 'rgba(0, 0, 0, 0.7)'
+ })
+ setTimeout(() => {
+ if (this.getAdvancedSchedulingSearch()) {
+ loading.close()
+ }
+ }, 3000)
+
+ // this.getAdvancedSchedulingSearch()
+ },
+ mounted() {
+ window.addEventListener('resize', this.getHeight)
+ this.getHeight()
+ },
+ methods: {
+ async getAdvancedSchedulingSearch() {
+ const res = await AdvancedSchedulingSearch(this.formTop)
+ this.tableData = res.data
+ this.totalTop = res.count
+
+ return true
+ },
+ // 鎺掑簭鏀瑰彉鏃�
+ sortChangeTop({ column, prop, order }) {
+ if (order === 'descending') {
+ order = 'desc'
+ } else if (order === 'ascending') {
+ order = 'asc'
+ } else {
+ order = 'desc'
+ }
+ this.formTop.order = order
+ this.formTop.prop = prop
+ this.getAdvancedSchedulingSearch()
+ },
+ // 鏌ヨ
+ search() {
+ this.getAdvancedSchedulingSearch()
+ },
+ // 閲嶇疆
+ reset() {
+ this.formTop.workshop = ''
+ this.formTop.wocode = ''
+ this.formTop.partcode = ''
+ this.formTop.partname = ''
+ this.getAdvancedSchedulingSearch()
+ },
+ // 鑾峰彇椤甸潰楂樺害
+ getHeight() {
+ this.$nextTick(() => {
+ this.mainHeight = window.innerHeight - 85
+ this.tableHeight = this.mainHeight - 255
+ this.$refs.tableDataRef.doLayout()
+ })
+ },
+ tableRowClassName({ row, rowIndex }) {
+ return 'custom-row'
+ },
+ // 琛岀偣鍑讳簨浠�
+ // async rowClick(row, event, column) {
+ // this.radioSelectedId = row.AdvaScheId
+ //
+ // // this.meter = row.AdvaScheQty * 1 - row.AdvaScheYPQty * 1 //鍙互鍋氫釜鏁�
+ //
+ // const data = {
+ // wocode: row.AdvaScheWorkCode,
+ // wkshpcode: row.AdvaScheWorkShopid,
+ // partcode: row.AdvaSchePartNumber,
+ // botproccode: row.AdvaScheBotProcid,
+ // startdate: handleDatetime(new Date()),
+ // enddate: row.AdvaScheEndDate
+ // }
+ //
+ // const res = await OnclickAdvancedSchedulingDevice(data)
+ // console.log(res)
+ // },
+
+ /*
+ 鎺掔▼閮ㄥ垎鐨勬柟娉�
+ */
+ AdvancedSchedulingWorkShop() {
+ // automaticScheduling.AdvancedSchedulingWorkShop().then(res => {
+ // this.list = res
+ // })
+ },
+ resetFormcx() {
+ this.$nextTick(() => {
+ this.$refs.form.resetFields()
+ })
+ },
+ no_zero() {
+ if (this.formBottom.times < 0) {
+ this.formBottom.times = 0
+ }
+ },
+ // 宸ヤ綅鍒楄〃澶嶉�夋鎿嶄綔
+ changeLift() {
+ if (this.all_status) {
+ this.false_arr = []
+ this.getOnclickAdvancedSchedulingDevice()
+ } else {
+ for (const i in this.bm_data) {
+ this.bm_data[i].status = false
+ this.bm_data[i].gtArray = []
+ }
+ for (const i in this.facility_data) {
+ this.facility_data[i].gtArray = []
+ }
+ }
+ // this.click_schedule()
+ },
+ changeTypes() {
+ this.getOnclickAdvancedSchedulingDevice()
+ },
+ change_time() {
+ this.time_data[0] = this.formBottom.scheDate[0] + ' 00:00'
+ this.time_data[1] = this.formBottom.scheDate[1] + ' 23:59'
+ this.forms.startdate = this.formBottom.scheDate[0]
+ this.forms.enddate = this.formBottom.scheDate[1]
+ this.getOnclickAdvancedSchedulingDevice()
+ },
+ click_box(val) {
+ console.log(val, 567)
+ if (!val.status) {
+ for (const i in this.facility_data) {
+ const new_arr = []
+ for (const j in this.facility_data[i].gtArray) {
+ if (this.facility_data[i].gtArray[j].id == val.id) {
+ } else {
+ new_arr.push(this.facility_data[i].gtArray[j])
+ }
+ }
+ this.facility_data[i].gtArray = new_arr
+ }
+ } else {
+ this.false_arr = []
+ for (const i in this.bm_data) {
+ if (!this.bm_data[i].status) {
+ this.false_arr.push(this.bm_data[i].id)
+ }
+ }
+ this.getOnclickAdvancedSchedulingDevice()
+ }
+
+ if (!val.status) {
+ for (const i in this.bm_data) {
+ if (!this.bm_data[i].status) {
+ this.bm_data[i].gtArray = []
+ }
+ }
+ } else {
+ this.false_arr = []
+ for (const i in this.bm_data) {
+ if (!this.bm_data[i].status) {
+ this.false_arr.push(this.bm_data[i].id)
+ }
+ }
+ this.getOnclickAdvancedSchedulingDevice()
+ }
+ for (const i in this.bm_data) {
+ const arr = []
+ for (const j in this.bm_data[i].gtArray) {
+ if (this.bm_data[i].gtArray[j].type != 'schedule') {
+ arr.push(this.bm_data[i].gtArray[j])
+ }
+ }
+ this.bm_data[i].gtArray = arr
+ }
+ this.formBottom.real_num = 0
+ // this.click_schedule()
+ },
+ look(data) {
+ this.showDialog = true
+ this.search_from.DeviceCode = data.id
+ this.AdvancedSchedulingEquipmenTask()
+ },
+ AdvancedSchedulingEquipmenTask() {
+ // automaticScheduling
+ // .AdvancedSchedulingEquipmenTask(this.search_from)
+ // .then(res => {
+ // this.look_data = res.rows
+ // this.look_total = res.total
+ // })
+ },
+ // sizeChange_look(val) {
+ // this.search_from.rows = val
+ // this.AdvancedSchedulingEquipmenTask()
+ // },
+ // pageChange_look(val) {
+ // this.search_from.page = val
+ // this.AdvancedSchedulingEquipmenTask()
+ // },
+ // 鐐瑰嚮甯﹀嚭鏁版嵁
+ async getOnclickAdvancedSchedulingDevice() {
+ await this.facility_top()// 璁惧浼樺厛
+ const res = await OnclickAdvancedSchedulingDevice(this.forms)
+ if (res.rus.Message) { this.$message.error(res.rus.Message) }
+ this.submit_flag = false
+ const list = []
+ this.time_all = res
+ const cont = res.Cont
+ this.formBottom.real_num = 0
+ for (const i in this.time_all.rows[0].children) {
+ const obj = {
+ id: '',
+ name: '',
+ AdvaDevicRhythm: '',
+ status: true,
+ colorPair: {
+ dark: 'rgb(83, 186, 241,0.8)',
+ light: 'rgb(83, 186, 241,0.1)',
+ light_capacity: 'rgb(209,239,237,0.8)',
+ h_schedule: 'rgb(100,255,192,0.8)',
+ scheduleing: 'rgb(20,182,231,0.8)'
+ },
+ gtArray: []
+ }
+ obj.id = this.time_all.rows[0].children[i].AdvaDevicNumber
+ obj.name = this.time_all.rows[0].children[i].AdvaDevicName
+ obj.AdvaDevicRhythm = this.time_all.rows[0].children[
+ i
+ ].AdvaDevicRhythm
+ list.push(obj)
+ }
+ for (const i in this.time_all.rows) {
+ for (const j in this.time_all.rows[i].children) {
+ if (this.time_all.rows[i].children[j].OneStartDate != '') {
+ this.time_all.rows[i].children[
+ j
+ ].OneStartDate = this.time_all.rows[i].children[
+ j
+ ].OneStartDate.split('~')
+ this.time_all.rows[i].children[j].OneStartDate[0] =
+ this.time_all.rows[i].YearDate +
+ ' ' +
+ this.time_all.rows[i].children[j].OneStartDate[0]
+ this.time_all.rows[i].children[j].OneStartDate[1] =
+ this.time_all.rows[i].YearDate +
+ ' ' +
+ this.time_all.rows[i].children[j].OneStartDate[1]
+ }
+ if (this.time_all.rows[i].children[j].TwoStartDate != '') {
+ this.time_all.rows[i].children[
+ j
+ ].TwoStartDate = this.time_all.rows[i].children[
+ j
+ ].TwoStartDate.split('~')
+ this.time_all.rows[i].children[j].TwoStartDate[0] =
+ this.time_all.rows[i].YearDate +
+ ' ' +
+ this.time_all.rows[i].children[j].TwoStartDate[0]
+ this.time_all.rows[i].children[j].TwoStartDate[1] =
+ this.time_all.rows[i].YearDate +
+ ' ' +
+ this.time_all.rows[i].children[j].TwoStartDate[1]
+ }
+ if (this.time_all.rows[i].children[j].ThreeStartDate != '') {
+ this.time_all.rows[i].children[
+ j
+ ].ThreeStartDate = this.time_all.rows[i].children[
+ j
+ ].ThreeStartDate.split('~')
+ this.time_all.rows[i].children[j].ThreeStartDate[0] =
+ this.time_all.rows[i].YearDate +
+ ' ' +
+ this.time_all.rows[i].children[j].ThreeStartDate[0]
+ this.time_all.rows[i].children[j].ThreeStartDate[1] =
+ this.time_all.rows[i].YearDate +
+ ' ' +
+ this.time_all.rows[i].children[j].ThreeStartDate[1]
+ }
+ if (this.time_all.rows[i].children[j].FourStartDate != '') {
+ this.time_all.rows[i].children[
+ j
+ ].FourStartDate = this.time_all.rows[i].children[
+ j
+ ].FourStartDate.split('~')
+ this.time_all.rows[i].children[j].FourStartDate[0] =
+ this.time_all.rows[i].YearDate +
+ ' ' +
+ this.time_all.rows[i].children[j].FourStartDate[0]
+ this.time_all.rows[i].children[j].FourStartDate[1] =
+ this.time_all.rows[i].YearDate +
+ ' ' +
+ this.time_all.rows[i].children[j].FourStartDate[1]
+ }
+ if (this.time_all.rows[i].children[j].FiveStartDate != '') {
+ this.time_all.rows[i].children[
+ j
+ ].FiveStartDate = this.time_all.rows[i].children[
+ j
+ ].FiveStartDate.split('~')
+ this.time_all.rows[i].children[j].FiveStartDate[0] =
+ this.time_all.rows[i].YearDate +
+ ' ' +
+ this.time_all.rows[i].children[j].FiveStartDate[0]
+ this.time_all.rows[i].children[j].FiveStartDate[1] =
+ this.time_all.rows[i].YearDate +
+ ' ' +
+ this.time_all.rows[i].children[j].FiveStartDate[1]
+ }
+ }
+ }
+ // 缁勫悎鏂扮殑缁撴瀯
+ const newList = []
+ for (const i in this.time_all.rows) {
+ for (const j in this.time_all.rows[i].children) {
+ if (this.time_all.rows[i].children[j].OneStartDate != '') {
+ const data1 = {
+ id: '',
+ start: '',
+ end: '',
+ mod: ''
+ }
+ data1.id = this.time_all.rows[i].children[j].AdvaDevicNumber
+ data1.start = this.time_all.rows[i].children[j].OneStartDate[0]
+ data1.end = this.time_all.rows[i].children[j].OneStartDate[1]
+ data1.mod =
+ (this.time_all.rows[i].children[j].AdvaDevicCropMob * 1) /
+ 100
+ newList.push(data1)
+ }
+ if (this.time_all.rows[i].children[j].TwoStartDate != '') {
+ const data2 = {
+ id: '',
+ start: '',
+ end: '',
+ mod: ''
+ }
+ data2.id = this.time_all.rows[i].children[j].AdvaDevicNumber
+ data2.start = this.time_all.rows[i].children[j].TwoStartDate[0]
+ data2.end = this.time_all.rows[i].children[j].TwoStartDate[1]
+ data2.mod =
+ (this.time_all.rows[i].children[j].AdvaDevicCropMob * 1) /
+ 100
+ newList.push(data2)
+ }
+ if (this.time_all.rows[i].children[j].ThreeStartDate != '') {
+ const data3 = {
+ id: '',
+ start: '',
+ end: '',
+ mod: ''
+ }
+ data3.id = this.time_all.rows[i].children[j].AdvaDevicNumber
+ data3.start = this.time_all.rows[i].children[
+ j
+ ].ThreeStartDate[0]
+ data3.end = this.time_all.rows[i].children[j].ThreeStartDate[1]
+ data3.mod =
+ (this.time_all.rows[i].children[j].AdvaDevicCropMob * 1) /
+ 100
+ newList.push(data3)
+ }
+ if (this.time_all.rows[i].children[j].FourStartDate != '') {
+ const data4 = {
+ id: '',
+ start: '',
+ end: '',
+ mod: ''
+ }
+ data4.id = this.time_all.rows[i].children[j].AdvaDevicNumber
+ data4.start = this.time_all.rows[i].children[
+ j
+ ].FourStartDate[0]
+ data4.end = this.time_all.rows[i].children[j].FourStartDate[1]
+ data4.mod =
+ (this.time_all.rows[i].children[j].AdvaDevicCropMob * 1) /
+ 100
+ newList.push(data4)
+ }
+ if (this.time_all.rows[i].children[j].FiveStartDate != '') {
+ const data5 = {
+ id: '',
+ start: '',
+ end: '',
+ mod: ''
+ }
+ data5.id = this.time_all.rows[i].children[j].AdvaDevicNumber
+ data5.start = this.time_all.rows[i].children[
+ j
+ ].FiveStartDate[0]
+ data5.end = this.time_all.rows[i].children[j].FiveStartDate[1]
+ data5.mod =
+ (this.time_all.rows[i].children[j].AdvaDevicCropMob * 1) /
+ 100
+ newList.push(data5)
+ }
+ }
+ }
+ for (const i in list) {
+ this.pushTiem(newList, list[i].id, list[i].gtArray)
+ }
+ this.bm_data = list
+
+ const _this = this
+ if (cont != '') {
+ for (const i in cont) {
+ for (const j in this.bm_data) {
+ if (this.bm_data[j].id == cont[i].eqp_code) {
+ const data = {
+ id: cont[i].eqp_code,
+ number: cont[i].alloc_qty,
+ cl_name: cont[i].part_name,
+ cl_code: this.cl_code,
+ work_order: cont[i].wo_code,
+ STATUS: _this.AdvaScheUom,
+ // status: _this.AdvaScheUom,
+ start: cont[i].time_start,
+ end: cont[i].time_end,
+ type: cont[i].status == 'S' ? 'h_schedule' : 'bm_schedule'
+ }
+ this.bm_data[j].flag = 'isCont'
+ this.bm_data[j].gtArray.unshift(data)
+ }
+ }
+ }
+ }
+
+ if (this.false_arr != '') {
+ for (const j in this.bm_data) {
+ if (this.false_arr.indexOf(this.bm_data[j].id) >= 0) {
+ this.bm_data[j].gtArray = []
+ this.bm_data[j].status = false
+ }
+ }
+ }
+
+ // console.log('鎵ц浜�!')
+ // console.log(this.bm_data, ' this.bm_data')
+ // console.log(this.facility_data, 'this.facility_data')
+ // console.log(this.title_list, ' this.title_list')
+ // console.log(this.time_all, ' this.time_all ')
+
+ // this.$forceUpdate()
+ },
+ // 鎹㈠瀷鏃堕棿
+ MinutesTest(time) {
+ var sdate1 = new Date(time)
+ sdate1.setMinutes(sdate1.getMinutes() + this.formBottom.times * 1)
+ var now =
+ sdate1.getFullYear() +
+ '-' +
+ this.add_one(sdate1.getMonth()) +
+ '-' +
+ sdate1.getDate() +
+ ' ' +
+ sdate1.getHours() +
+ ':' +
+ sdate1.getMinutes() +
+ ':' +
+ sdate1.getSeconds()
+ return now
+ },
+ // +1
+ add_one(date) {
+ return parseInt(date) + 1
+ },
+ // 鎻掑叆浜ц兘鏃堕棿娈�
+ pushTiem(newList, id, arr) {
+ for (const i in newList) {
+ if (newList[i].id == id) {
+ const data = {
+ start: newList[i].start,
+ end: newList[i].end,
+ id: newList[i].id,
+ mod: newList[i].mod,
+ type: 'capacity'
+ }
+ arr.push(data)
+ }
+ }
+ },
+ // 琛岀偣鍑讳簨浠�
+ getCurrentRow(row) {
+ this.radioSelectedId = row.AdvaScheId // 鎺掔▼id璧嬪�肩粰閫変腑琛宨d
+
+ this.formBottom.meter = row.AdvaScheQty * 1 - row.AdvaScheYPQty * 1 // 闇�鎺掓暟閲� = 鏈帓绋嬫暟閲� - 宸叉帓绋嬫暟閲�
+ this.formBottom.scheDate = [] // 鎺掔▼鏃ユ湡缃┖
+ this.cl_name = row.AdvaSchePartName // 浜у搧鍚嶇О
+ this.cl_code = row.AdvaSchePartNumber // 浜у搧缂栫爜
+ this.AdvaScheUom = row.AdvaScheUom // 浜у搧鍗曚綅
+ this.work_order = row.AdvaScheWorkCode // 宸ュ崟缂栧彿
+
+ this.formBottom.scheDate.push(handleDatetime(new Date())) // 褰撳墠鏃ユ湡锛堜粖澶╋級
+ this.formBottom.scheDate.push(row.AdvaScheEndDate) // 瑕佹眰浜や粯鏃堕棿
+ if (this.formBottom.scheDate != '') {
+ this.time_data[0] = this.formBottom.scheDate[0] + ' 00:00' // 鎺掔▼寮�濮嬫椂闂�
+ this.time_data[1] = this.formBottom.scheDate[1] + ' 23:59' // 鎺掔▼缁撴潫鏃堕棿
+ }
+ this.forms.wocode = row.AdvaScheWorkCode // 宸ュ崟缂栧彿
+ this.forms.wkshpcode = row.AdvaScheWorkShopid // 杞﹂棿缂栫爜
+ this.forms.partcode = row.AdvaSchePartNumber // 浜у搧缂栫爜
+ this.forms.botproccode = row.AdvaScheBotProcid // 宸ヨ壓璺嚎缂栫爜
+ this.forms.startdate = handleDatetime(new Date()) // 褰撳墠鏃ユ湡锛堜粖澶╋級
+ this.forms.enddate = row.AdvaScheEndDate // 瑕佹眰浜や粯鏃堕棿
+ this.getOnclickAdvancedSchedulingDevice()
+ this.formUpdata.WorkCode = row.AdvaScheWorkCode // 宸ュ崟缂栧彿
+ this.formUpdata.BotProceCode = row.AdvaScheBotProcid // 宸ヨ壓璺嚎缂栫爜
+ this.search_from.WorkTime = handleDatetime(new Date()) + '~' + row.AdvaScheEndDate // 鎺掔▼鐨勬棩鏈� 寮�濮媬缁撴潫
+ this.search_from.BotProceName = row.AdvaScheBotProcName // 宸ュ簭鍚嶇О
+ },
+ // 鎻愪氦鎺掔▼
+ async click_yes() {
+ if (this.submit_flag) {
+ this.$message.error('鏁伴噺鏈帓瀹�,璇疯缃骇鑳芥椂闂�')
+ } else {
+ const list = [] // 鎻愪氦鏁扮粍
+ for (const i in this.bm_data) {
+ const arr = []
+ for (const j in this.bm_data[i].gtArray) {
+ if (this.bm_data[i].gtArray[j].type == 'schedule') {
+ arr.push(this.bm_data[i].gtArray[j])
+ }
+ }
+ if (arr != '') {
+ for (const i in arr) {
+ const data = {
+ AlreDevicNumber: '',
+ AlreStartDate: '',
+ AlreEndDate: '',
+ AlreQty: ''
+ }
+ data.AlreDevicNumber = arr[i].id
+ data.AlreStartDate = arr[i].start
+ data.AlreEndDate = arr[i].end
+ data.AlreQty = arr[i].number
+ list.push(data)
+ }
+ }
+ }
+ // 鎺掔▼鐩稿悓璁惧鑾峰彇寮�濮嬫椂闂� 缁撴潫鏃堕棿 鏁伴噺鐨勬�诲拰
+ // 杩囨护
+ let updata = []
+ for (const i in list) {
+ if (list[i].AlreStartDate != '') {
+ updata.push(list[i])
+ }
+ }
+
+ updata = JSON.stringify(updata)
+ this.formUpdata.json = updata
+ if (list == '') {
+ this.$message.error('璇峰厛棰勬帓')
+ return false
+ }
+
+ const formData = new FormData()
+ formData.append('wocode', this.formUpdata.WorkCode)
+ formData.append('botprocecode', this.formUpdata.BotProceCode)
+ formData.append('json', this.formUpdata.json)
+
+ const res = await SubmitAlreadyScheduling(formData)
+
+ if (res.code === '200') {
+ this.$message.success(res.Message)
+ }
+
+ this.formBottom.meter = 0
+ this.formBottom.real_num = 0
+ await this.getOnclickAdvancedSchedulingDevice()
+ await this.getAdvancedSchedulingSearch()
+ }
+ },
+ // 鏃堕棿/璁惧浼樺厛鎺掔▼
+ click_schedule() {
+ const timestamp = new Date().toLocaleDateString()
+
+ if (new Date(this.formBottom.scheDate[1]) < new Date(timestamp)) {
+ this.$message.error('鎺掔▼鏃ユ湡涓嶅彲浠ュ皬浜庡綋鍓嶆椂闂�!')
+ return false
+ }
+
+ this.nitialize()// 鎵嬪姩杩囨护鎵�鏈夎澶囧凡鎺掔▼
+ // console.log(this.facility_data, 67890)
+ if (this.bm_data != '' && this.formBottom.types == 'N') { // 璁惧浼樺厛
+ this.fun_time()
+ this.change_num(this.bm_data)
+ } else if (this.facility_data != '' && this.formBottom.types == 'Y') { // 鏃堕棿浼樺厛
+ this.time_nitalize()
+ this.fun_facility()
+ this.dataTransition()
+ this.change_num(this.bm_data)
+ }
+
+ // console.log(this.bm_data, 888)
+ this.$forceUpdate()
+ },
+ // 鎵嬪姩杩囨护鎵�鏈夋椂闂村凡鎺掔▼
+ time_nitalize() {
+ for (const i in this.facility_data) {
+ this.facility_data[i].gtArray = this.facility_data[i].gtArray.filter(item => item.type != 'schedule')
+ }
+ },
+ // 鎵嬪姩杩囨护鎵�鏈夎澶囧凡鎺掔▼
+ nitialize() {
+ for (const i in this.bm_data) {
+ const newArr = []
+ for (const j in this.bm_data[i].gtArray) {
+ if (this.bm_data[i].gtArray[j].type != 'schedule') {
+ newArr.push(this.bm_data[i].gtArray[j])
+ }
+ }
+ this.bm_data[i].gtArray = newArr
+ }
+ },
+ // 缁欐帓绋嬫渶鍚庝竴涓慨鏀规暟閲�
+ change_num(arr) {
+ this.formBottom.real_num = 0 // 鐪熷疄宸叉帓鏁伴噺
+ let num = 0 // 鍙栨暣宸叉帓鏁伴噺
+ const arr_num = [] // 宸叉帓鏁版嵁
+ let mend_num = 0
+ const len = 0
+ for (const i in arr) {
+ for (const j in arr[i].gtArray) {
+ if (arr[i].gtArray[j].type == 'schedule') {
+ arr_num.unshift(arr[i].gtArray[j])
+ }
+ }
+ }
+
+ for (const n in arr_num) {
+ this.formBottom.real_num += arr_num[n].real_number
+ num += arr_num[n].number * 1
+ }
+
+ this.formBottom.real_num = Math.ceil(this.formBottom.real_num)
+ const y10 = this.formBottom.meter - this.formBottom.real_num
+ if (y10 <= 10) {
+ this.formBottom.real_num = this.formBottom.meter
+ mend_num = this.formBottom.meter - num
+ } else {
+ }
+ if (this.formBottom.real_num * 1 == this.formBottom.meter * 1) {
+ // mend_num = this.formBottom.meter - num
+ } else {
+ this.submit_flag = true
+ }
+ for (const i in this.bm_data) {
+ for (const j in this.bm_data[i].gtArray) {
+ if (
+ this.bm_data[i].gtArray[j].type == 'schedule' &&
+ this.bm_data[i].gtArray[j].end_num
+ ) {
+ this.bm_data[i].gtArray[j].number =
+ this.bm_data[i].gtArray[j].number * 1 + mend_num
+ }
+ }
+ }
+ },
+ fun_time() {
+ let all_num = this.formBottom.meter
+ const all_time = []
+ let flag1 = 0
+ const mod = this.bm_data[0].mod
+ // let nowTime = this.bm_data[0].AdvaDevicRhythm*all_num
+ for (const i in this.bm_data) {
+ let end_arr = [] // 宸叉帓绋嬬殑鏁扮粍
+ let nend_arr = [] // 寰呮帓绋嬬殑鏁扮粍
+ const add_arr = [] // 宸叉帓绋嬬殑鏁扮粍
+ let capacity_arr = [] // 瑕佹帓绋嬬殑鏁扮粍
+ this.bm_data[i].gtArray.sort((a, b) => new Date(a.end).getTime() - new Date(b.end).getTime())
+ // let capacity_end = ''
+ end_arr = this.bm_data[i].gtArray.filter(item => item.type == 'h_schedule')
+ nend_arr = this.bm_data[i].gtArray.filter(item => item.type == 'capacity')
+ if (end_arr && end_arr.length > 0) {
+ capacity_arr = nend_arr.map(item => {
+ // 鎺掗櫎鎺夊凡缁忔帓绋嬬殑瀛樺湪hshedule锛宻tart锛宔nd閮界浉绛夌殑鎯呭喌
+ const schedule = end_arr.filter(schedule => {
+ return new Date(item.start).getTime() <= new Date(schedule.start).getTime() &&
+ new Date(item.end).getTime() > new Date(schedule.end).getTime()
+ })
+ if (schedule && schedule.length > 0) {
+ item.start = this.MinutesTest(schedule[0]['end'])
+ }
+
+ const schedule1 = end_arr.filter(schedule => {
+ return new Date(item.start).getTime() == new Date(schedule.start).getTime() &&
+ new Date(item.end).getTime() == new Date(schedule.end).getTime()
+ })
+ if (schedule1 && schedule1.length > 0) {
+ item.capacity = false
+ }
+
+ return item
+ }).filter(item => item.capacity != false)
+ } else {
+ capacity_arr = nend_arr
+ }
+
+ const id_obj = {
+ id: '',
+ start_time: ''
+ }
+ if (end_arr != '') {
+ (id_obj.id = end_arr[0].id), (id_obj.start_time = end_arr[0].end)
+ }
+ for (const w in capacity_arr) {
+ let end_time = ''
+ let mistiming = ''
+ const data = {
+ id: capacity_arr[w].id,
+ start: '',
+ end: '',
+ type: 'schedule',
+ cl_name: this.cl_name,
+ cl_code: this.cl_code,
+ work_order: this.work_order,
+ number: 0,
+ real_number: 0
+ }
+ if (
+ id_obj.start_time != '' &&
+ flag1 == 0 &&
+ new Date(id_obj.start_time) >= new Date(capacity_arr[w].start)
+ ) {
+ data.start = this.MinutesTest(id_obj.start_time)
+ flag1 = 1
+ } else {
+ data.start = capacity_arr[w].start
+ }
+ let nowTime =
+ (this.bm_data[i].AdvaDevicRhythm * all_num) / capacity_arr[w].mod
+ end_time = this.formSeconds(nowTime, data.start, capacity_arr[w].mod) // 鎬诲叡鐨勭粨鏉熸椂闂�
+ data.end = end_time
+ mistiming = this.formTime(
+ end_time,
+ capacity_arr[w].end,
+ capacity_arr[w].mod
+ ) // 鎬诲叡鐨勭粨鏉熸椂闂�-褰撳墠鐨勭粨鏉熸椂闂� = 鍓╀笅澶氫箙鏃堕棿
+ if (mistiming >= 0) {
+ // console.log(
+ // new Date(data.end) - new Date(data.start),
+ // capacity_arr[w].mod,
+ // this.bm_data[i].AdvaDevicRhythm,
+ // '闃挎柉椤垮彂鏂拏鑺�'
+ // )
+ data.number =
+ ((new Date(data.end) - new Date(data.start)) *
+ capacity_arr[w].mod) /
+ this.bm_data[i].AdvaDevicRhythm /
+ 1000
+ data.real_number =
+ ((new Date(data.end) - new Date(data.start)) *
+ capacity_arr[w].mod) /
+ this.bm_data[i].AdvaDevicRhythm /
+ 1000
+ data.number = data.number.toFixed(0)
+ data.end_num = true
+ if (new Date(data.start) >= new Date(data.end)) {
+ } else {
+ this.bm_data[i].gtArray.push(data)
+ }
+
+ return false
+ } else {
+ data.end = capacity_arr[w].end
+ data.number =
+ ((new Date(data.end) - new Date(data.start)) *
+ capacity_arr[w].mod) /
+ this.bm_data[i].AdvaDevicRhythm /
+ 1000
+ data.real_number =
+ ((new Date(data.end) - new Date(data.start)) *
+ capacity_arr[w].mod) /
+ this.bm_data[i].AdvaDevicRhythm /
+ 1000
+ data.number = data.number.toFixed(0)
+
+ nowTime =
+ (all_num - data.real_number) * this.bm_data[i].AdvaDevicRhythm
+ all_num = all_num - data.real_number
+ if (new Date(data.start) >= new Date(data.end)) {
+ } else {
+ this.bm_data[i].gtArray.push(data)
+ }
+ }
+ }
+ }
+ },
+ // 璁惧鎺掔▼鏂规硶
+ fun_facility() {
+ // 鎺掗櫎鏈嬀閫夐」
+ for (const i in this.facility_data) {
+ const newArr = []
+ for (const j in this.facility_data[i].gtArray) {
+ if (this.false_arr.indexOf(this.facility_data[i].gtArray[j].id) < 0) {
+ newArr.push(this.facility_data[i].gtArray[j])
+ }
+ }
+ this.facility_data[i].gtArray = newArr
+ }
+ let all_num = this.formBottom.meter
+ const all_time = []
+ const flag1 = 0
+ // let nowTime = this.facility_data[0].AdvaDevicRhythm*all_num //鏁伴噺OK
+ // console.log(this.facility_data, 889)
+ // console.log(JSON.stringify(this.facility_data), 889)
+
+ // this.facility_data = [
+ // {
+ // 'date': '2023-02-08',
+ // 'AdvaDevicRhythm': '5.0',
+ // 'gtArray': [
+ // {
+ // 'id': 'SB003',
+ // 'date': '2023-02-08',
+ // 'number': 324,
+ // 'cl_name': '8504鍏夋満',
+ // 'cl_code': '302',
+ // 'work_order': 'MO-2022-11-0033_1',
+ // 'start': '2023-02-08 12:30:00',
+ // 'end': '2023-02-08 17:00:00',
+ // 'type': 'h_schedule'
+ // },
+ // {
+ // 'id': 'SB004',
+ // 'date': '2023-02-08',
+ // 'number': 72,
+ // 'cl_name': '8504鍏夋満',
+ // 'cl_code': '302',
+ // 'work_order': 'MO-2022-11-0033_1',
+ // 'start': '2023-02-08 12:30:00',
+ // 'end': '2023-02-08 13:30:00',
+ // 'type': 'h_schedule'
+ // },
+ // {
+ // 'id': 'SB004',
+ // 'date': '2023-02-08',
+ // 'number': 252,
+ // 'cl_name': '8504鍏夋満',
+ // 'cl_code': '302',
+ // 'work_order': 'MO-2022-11-0033_1',
+ // 'start': '2023-02-08 08:00:00',
+ // 'end': '2023-02-08 11:30:00',
+ // 'type': 'h_schedule'
+ // },
+ // {
+ // 'id': 'SB003',
+ // 'date': '2023-02-08',
+ // 'number': 252,
+ // 'cl_name': '8504鍏夋満',
+ // 'cl_code': '302',
+ // 'work_order': 'MO-2022-11-0033_1',
+ // 'start': '2023-02-08 08:00:00',
+ // 'end': '2023-02-08 11:30:00',
+ // 'type': 'h_schedule'
+ // },
+ // {
+ // 'name': '榻胯疆绠辩粍涓�绾�',
+ // 'id': 'SB003',
+ // 'type': 'capacity',
+ // 'rhythm': '5.0',
+ // 'start': '2023-02-08 08:00',
+ // 'end': '2023-02-08 11:30',
+ // 'mod': 0.1
+ // },
+ // {
+ // 'name': '榻胯疆绠辩粍涓�绾�',
+ // 'id': 'SB003',
+ // 'type': 'capacity',
+ // 'rhythm': '5.0',
+ // 'start': '2023-02-08 12:30',
+ // 'end': '2023-02-08 17:00',
+ // 'mod': 0.1
+ // },
+ // {
+ // 'name': '榻胯疆绠辩粍浜岀嚎',
+ // 'id': 'SB004',
+ // 'type': 'capacity',
+ // 'rhythm': '5.0',
+ // 'start': '2023-02-08 08:00',
+ // 'end': '2023-02-08 11:30',
+ // 'mod': 0.1
+ // },
+ // {
+ // 'name': '榻胯疆绠辩粍浜岀嚎',
+ // 'id': 'SB004',
+ // 'type': 'capacity',
+ // 'rhythm': '5.0',
+ // 'start': '2023-02-08 12:30',
+ // 'end': '2023-02-08 17:00',
+ // 'mod': 0.1
+ // },
+ // {
+ // 'name': '涓绘満缁勪竴绾�',
+ // 'id': 'SB005',
+ // 'type': 'capacity',
+ // 'rhythm': '15.0',
+ // 'start': '2023-02-08 08:00',
+ // 'end': '2023-02-08 11:30',
+ // 'mod': 0.1
+ // },
+ // {
+ // 'name': '涓绘満缁勪竴绾�',
+ // 'id': 'SB005',
+ // 'type': 'capacity',
+ // 'rhythm': '15.0',
+ // 'start': '2023-02-08 12:30',
+ // 'end': '2023-02-08 17:00',
+ // 'mod': 0.1
+ // },
+ // {
+ // 'name': '涓绘満缁勪簩绾�',
+ // 'id': 'SB006',
+ // 'type': 'capacity',
+ // 'rhythm': '15.0',
+ // 'start': '2023-02-08 08:00',
+ // 'end': '2023-02-08 11:30',
+ // 'mod': 0.1
+ // },
+ // {
+ // 'name': '涓绘満缁勪簩绾�',
+ // 'id': 'SB006',
+ // 'type': 'capacity',
+ // 'rhythm': '15.0',
+ // 'start': '2023-02-08 12:30',
+ // 'end': '2023-02-08 17:00',
+ // 'mod': 0.1
+ // }
+ // ]
+ // },
+ // {
+ // 'date': '2023-02-09',
+ // 'AdvaDevicRhythm': '5.0',
+ // 'gtArray': [
+ // {
+ // 'name': '榻胯疆绠辩粍涓�绾�',
+ // 'id': 'SB003',
+ // 'type': 'capacity',
+ // 'rhythm': '5.0',
+ // 'start': '2023-02-09 08:00',
+ // 'end': '2023-02-09 11:30',
+ // 'mod': 0.1
+ // },
+ // {
+ // 'name': '榻胯疆绠辩粍涓�绾�',
+ // 'id': 'SB003',
+ // 'type': 'capacity',
+ // 'rhythm': '5.0',
+ // 'start': '2023-02-09 12:30',
+ // 'end': '2023-02-09 17:00',
+ // 'mod': 0.1
+ // },
+ // {
+ // 'name': '榻胯疆绠辩粍浜岀嚎',
+ // 'id': 'SB004',
+ // 'type': 'capacity',
+ // 'rhythm': '5.0',
+ // 'start': '2023-02-09 08:00',
+ // 'end': '2023-02-09 11:30',
+ // 'mod': 0.1
+ // },
+ // {
+ // 'name': '榻胯疆绠辩粍浜岀嚎',
+ // 'id': 'SB004',
+ // 'type': 'capacity',
+ // 'rhythm': '5.0',
+ // 'start': '2023-02-09 12:30',
+ // 'end': '2023-02-09 17:00',
+ // 'mod': 0.1
+ // },
+ // {
+ // 'name': '涓绘満缁勪竴绾�',
+ // 'id': 'SB005',
+ // 'type': 'capacity',
+ // 'rhythm': '15.0',
+ // 'start': '2023-02-09 08:00',
+ // 'end': '2023-02-09 11:30',
+ // 'mod': 0.1
+ // },
+ // {
+ // 'name': '涓绘満缁勪竴绾�',
+ // 'id': 'SB005',
+ // 'type': 'capacity',
+ // 'rhythm': '15.0',
+ // 'start': '2023-02-09 12:30',
+ // 'end': '2023-02-09 17:00',
+ // 'mod': 0.1
+ // },
+ // {
+ // 'name': '涓绘満缁勪簩绾�',
+ // 'id': 'SB006',
+ // 'type': 'capacity',
+ // 'rhythm': '15.0',
+ // 'start': '2023-02-09 08:00',
+ // 'end': '2023-02-09 11:30',
+ // 'mod': 0.1
+ // },
+ // {
+ // 'name': '涓绘満缁勪簩绾�',
+ // 'id': 'SB006',
+ // 'type': 'capacity',
+ // 'rhythm': '15.0',
+ // 'start': '2023-02-09 12:30',
+ // 'end': '2023-02-09 17:00',
+ // 'mod': 0.1
+ // }
+ // ]
+ // },
+ // {
+ // 'date': '2023-02-10',
+ // 'AdvaDevicRhythm': '5.0',
+ // 'gtArray': [
+ // {
+ // 'name': '榻胯疆绠辩粍涓�绾�',
+ // 'id': 'SB003',
+ // 'type': 'capacity',
+ // 'rhythm': '5.0',
+ // 'start': '2023-02-10 08:00',
+ // 'end': '2023-02-10 11:30',
+ // 'mod': 0.1
+ // },
+ // {
+ // 'name': '榻胯疆绠辩粍涓�绾�',
+ // 'id': 'SB003',
+ // 'type': 'capacity',
+ // 'rhythm': '5.0',
+ // 'start': '2023-02-10 12:30',
+ // 'end': '2023-02-10 17:00',
+ // 'mod': 0.1
+ // },
+ // {
+ // 'name': '榻胯疆绠辩粍浜岀嚎',
+ // 'id': 'SB004',
+ // 'type': 'capacity',
+ // 'rhythm': '5.0',
+ // 'start': '2023-02-10 08:00',
+ // 'end': '2023-02-10 11:30',
+ // 'mod': 0.1
+ // },
+ // {
+ // 'name': '榻胯疆绠辩粍浜岀嚎',
+ // 'id': 'SB004',
+ // 'type': 'capacity',
+ // 'rhythm': '5.0',
+ // 'start': '2023-02-10 12:30',
+ // 'end': '2023-02-10 17:00',
+ // 'mod': 0.1
+ // },
+ // {
+ // 'name': '涓绘満缁勪竴绾�',
+ // 'id': 'SB005',
+ // 'type': 'capacity',
+ // 'rhythm': '15.0',
+ // 'start': '2023-02-10 08:00',
+ // 'end': '2023-02-10 11:30',
+ // 'mod': 0.1
+ // },
+ // {
+ // 'name': '涓绘満缁勪竴绾�',
+ // 'id': 'SB005',
+ // 'type': 'capacity',
+ // 'rhythm': '15.0',
+ // 'start': '2023-02-10 12:30',
+ // 'end': '2023-02-10 17:00',
+ // 'mod': 0.1
+ // },
+ // {
+ // 'name': '涓绘満缁勪簩绾�',
+ // 'id': 'SB006',
+ // 'type': 'capacity',
+ // 'rhythm': '15.0',
+ // 'start': '2023-02-10 08:00',
+ // 'end': '2023-02-10 11:30',
+ // 'mod': 0.1
+ // },
+ // {
+ // 'name': '涓绘満缁勪簩绾�',
+ // 'id': 'SB006',
+ // 'type': 'capacity',
+ // 'rhythm': '15.0',
+ // 'start': '2023-02-10 12:30',
+ // 'end': '2023-02-10 17:00',
+ // 'mod': 0.1
+ // }
+ // ]
+ // },
+ // {
+ // 'date': '2023-02-11',
+ // 'AdvaDevicRhythm': '5.0',
+ // 'gtArray': [
+ //
+ // ]
+ // }
+ // ]
+
+ for (const i in this.facility_data) {
+ console.log(i)
+ let end_arr = []
+ let nend_arr = [] // 鎺掔▼鐨勬暟缁�
+ const add_arr = [] // 宸叉帓绋嬬殑鏁扮粍
+ let capacity_arr = [] // 瑕佹帓绋嬬殑鏁扮粍
+ // console.log(parseFloat('SV002'.substring(4, 5)))
+ this.facility_data[i].gtArray.sort((a, b) => new Date(a.end).getTime() - new Date(b.end).getTime())
+ // this.facility_data[i].gtArray.sort((a, b) => parseFloat(a.id.substring(4, 5)) - parseFloat(b.id.substring(4, 5)))
+ // let capacity_end = ''
+
+ // console.log(JSON.stringify(this.facility_data), 671)
+
+ end_arr = JSON.parse(JSON.stringify(this.facility_data[i].gtArray.filter(item => item.type == 'h_schedule')))
+ nend_arr = JSON.parse(JSON.stringify(this.facility_data[i].gtArray.filter(item => item.type == 'capacity')))
+ console.log(end_arr, nend_arr, 670)
+ // console.log(end_arr, 672)
+ // console.log(JSON.stringify(end_arr), 672)
+ // console.log(nend_arr, 673)
+ // console.log(JSON.stringify(nend_arr), 673)
+ capacity_arr = JSON.parse(JSON.stringify(nend_arr))
+ end_arr.forEach(item => {
+ for (let i = 0; i < capacity_arr.length; i++) {
+ if (new Date(capacity_arr[i].start).getTime() == new Date(item.start).getTime()) {
+ console.log(i, capacity_arr[i], '鍝囧搱鍝�')
+ console.log(capacity_arr.splice(i, 1))
+ break
+ }
+ }
+ })
+ console.log(capacity_arr, '澶цタ鐡�')
+
+ if (!capacity_arr || capacity_arr.length == 0) break
+ // const firstCapacity = capacity_arr[0]
+
+ const schedule_arr = end_arr.filter(item => {
+ const remain = nend_arr.some(sitem => {
+ return new Date(sitem.start).getTime() == new Date(item.start).getTime() &&
+ new Date(item.end).getTime() < new Date(sitem.end).getTime()
+ })
+ return remain
+ })
+ console.log(schedule_arr)
+ if (schedule_arr && schedule_arr.length > 0) {
+ const scheduleCan = schedule_arr.map(item => {
+ const capcity = nend_arr.filter(sitem => {
+ return new Date(sitem.start).getTime() == new Date(item.start).getTime() &&
+ new Date(item.end).getTime() < new Date(sitem.end).getTime()
+ })[0]
+ console.log('capacity', capcity)
+ capcity.start = this.MinutesTest(item.end)
+ return capcity
+ })
+ const newSchedule = JSON.parse(JSON.stringify(scheduleCan))
+ capacity_arr = newSchedule.concat(capacity_arr)
+ }
+ console.log(schedule_arr)
+ console.log('鍙帓绋嬫暟缁�', capacity_arr)
+ const id_obj = {}
+ if (end_arr != '') {
+ (id_obj.id = end_arr[0].id), (id_obj.start_time = end_arr[0].end)
+ }
+
+ for (const w in capacity_arr) {
+ let end_time
+ let mistiming
+ const data = {
+ id: capacity_arr[w].id,
+ start: '',
+ end: '',
+ type: 'schedule',
+ cl_name: this.cl_name,
+ cl_code: this.cl_code,
+ work_order: this.work_order,
+ number: 0,
+ real_number: 0
+ }
+ // console.log(id_obj.start_time)
+ if (
+ id_obj &&
+ new Date(id_obj.start_time).getTime() >=
+ new Date(capacity_arr[w].start).getTime()
+ ) {
+ if (data.id == id_obj.id) {
+ data.start = this.MinutesTest(id_obj.start_time)
+ console.log(data.start, 999)
+ // flag1 =1
+ } else {
+ data.start = capacity_arr[w].start
+ console.log(data.start, 1000)
+ // console.log(data.start)
+ // flag1 =1
+ }
+ } else {
+ data.start = capacity_arr[w].start
+ console.log(data.start, 1001)
+ }
+ // let nowTime = this.facility_data[0].AdvaDevicRhythm*all_num
+ let nowTime =
+ (capacity_arr[w].rhythm * all_num) / capacity_arr[w].mod
+
+ end_time = this.formSeconds(nowTime, data.start)
+
+ data.end = end_time
+ mistiming = this.formTime(end_time, capacity_arr[w].end)
+ if (mistiming >= 0) {
+ data.number =
+ ((new Date(data.end) - new Date(data.start)) *
+ capacity_arr[w].mod) /
+ capacity_arr[w].rhythm /
+ 1000
+ data.real_number =
+ ((new Date(data.end) - new Date(data.start)) *
+ capacity_arr[w].mod) /
+ capacity_arr[w].rhythm /
+ 1000
+ data.number = data.number.toFixed(0)
+ data.end_num = true
+
+ if (new Date(data.start) >= new Date(data.end)) {
+ } else {
+ this.facility_data[i].gtArray.push(data)
+ }
+
+ return false
+ } else {
+ data.end = capacity_arr[w].end
+ data.number =
+ ((new Date(data.end) - new Date(data.start)) *
+ capacity_arr[w].mod) /
+ capacity_arr[w].rhythm /
+ 1000
+ data.real_number =
+ ((new Date(data.end) - new Date(data.start)) *
+ capacity_arr[w].mod) /
+ capacity_arr[w].rhythm /
+ 1000
+ data.number = data.number.toFixed(0)
+ nowTime = (all_num - data.real_number) * capacity_arr[w].rhythm
+ all_num = all_num - data.real_number
+
+ // nowTime = mistiming * -1
+ if (new Date(data.start) >= new Date(data.end)) {
+ } else {
+ this.facility_data[i].gtArray.push(data)
+ }
+ }
+ }
+ }
+ },
+ // 缁欒澶囪浆鎹㈡牸寮�
+ dataTransition() {
+ this.bm_data = []
+ const data = this.facility_data
+
+ const all = []
+ const list = this.title_list
+ for (const i in data) {
+ for (const j in data[i].gtArray) {
+ all.push(data[i].gtArray[j])
+ }
+ }
+
+ for (const i in list) {
+ list[i].gtArray = []
+ this.pushTiemsss(all, list[i].id, list[i].gtArray)
+ }
+
+ for (const n in list) {
+ if (list[n].gtArray.length == 0) {
+ list[n].status = false
+ }
+ }
+
+ // console.log(list)
+ this.bm_data = list
+ },
+ // 鎻掑叆浜ц兘鏃堕棿娈�
+ pushTiemsss(newList, id, arr) {
+ for (const i in newList) {
+ if (newList[i].id == id) {
+ arr.push(newList[i])
+ }
+ }
+ },
+ // 璁惧浼樺厛
+ async facility_top() {
+ const res = await OnclickAdvancedSchedulingDevice(this.forms)
+
+ this.show = true
+ const data = res.rows
+ const cont = res.Cont
+ this.title_list = []
+ for (const i in data[0].children) {
+ const obj = {
+ id: '',
+ name: '',
+ status: true,
+ AdvaDevicRhythm: '',
+ // mod:'',
+ colorPair: {
+ dark: 'rgb(83, 186, 241,0.8)',
+ light: 'rgb(83, 186, 241,0.1)',
+ light_capacity: 'rgb(209,239,237,0.8)',
+ h_schedule: 'rgb(100,255,192,0.8)',
+ scheduleing: 'rgb(20,182,231,0.8)'
+ },
+ gtArray: []
+ }
+ obj.id = data[0].children[i].AdvaDevicNumber
+ obj.name = data[0].children[i].AdvaDevicName
+ obj.AdvaDevicRhythm = data[0].children[i].AdvaDevicRhythm
+ // obj.mod =data[0].children[i].AdvaDevicCropMob *1
+
+ this.title_list.push(obj)
+ }
+
+ for (const i in data) {
+ for (const j in data[i].children) {
+ if (data[i].children[j].OneStartDate != '') {
+ data[i].children[j].OneStartDate = data[i].children[
+ j
+ ].OneStartDate.split('~')
+ data[i].children[j].OneStartDate[0] =
+ data[i].YearDate + ' ' + data[i].children[j].OneStartDate[0]
+ data[i].children[j].OneStartDate[1] =
+ data[i].YearDate + ' ' + data[i].children[j].OneStartDate[1]
+ }
+ if (data[i].children[j].TwoStartDate != '') {
+ data[i].children[j].TwoStartDate = data[i].children[
+ j
+ ].TwoStartDate.split('~')
+ data[i].children[j].TwoStartDate[0] =
+ data[i].YearDate + ' ' + data[i].children[j].TwoStartDate[0]
+ data[i].children[j].TwoStartDate[1] =
+ data[i].YearDate + ' ' + data[i].children[j].TwoStartDate[1]
+ }
+ if (data[i].children[j].ThreeStartDate != '') {
+ data[i].children[j].ThreeStartDate = data[i].children[
+ j
+ ].ThreeStartDate.split('~')
+ data[i].children[j].ThreeStartDate[0] =
+ data[i].YearDate +
+ ' ' +
+ data[i].children[j].ThreeStartDate[0]
+ data[i].children[j].ThreeStartDate[1] =
+ data[i].YearDate +
+ ' ' +
+ data[i].children[j].ThreeStartDate[1]
+ }
+ if (data[i].children[j].FourStartDate != '') {
+ data[i].children[j].FourStartDate = data[i].children[
+ j
+ ].FourStartDate.split('~')
+ data[i].children[j].FourStartDate[0] =
+ data[i].YearDate + ' ' + data[i].children[j].FourStartDate[0]
+ data[i].children[j].FourStartDate[1] =
+ data[i].YearDate + ' ' + data[i].children[j].FourStartDate[1]
+ }
+ if (data[i].children[j].FiveStartDate != '') {
+ data[i].children[j].FiveStartDate = data[i].children[
+ j
+ ].FiveStartDate.split('~')
+ data[i].children[j].FiveStartDate[0] =
+ data[i].YearDate + ' ' + data[i].children[j].FiveStartDate[0]
+ data[i].children[j].FiveStartDate[1] =
+ data[i].YearDate + ' ' + data[i].children[j].FiveStartDate[1]
+ }
+ }
+ }
+ // 鏇存敼鏍煎紡
+ this.facility_data = []
+
+ for (const i in data) {
+ const time = {
+ date: data[i].YearDate,
+ AdvaDevicRhythm: '',
+ gtArray: []
+ }
+ if (data[i].children != '') {
+ time.AdvaDevicRhythm = data[i].children[0].AdvaDevicRhythm
+ }
+ for (const j in data[i].children) {
+ if (data[i].children[j].OneStartDate != '') {
+ const icu1 = {
+ name: data[i].children[j].AdvaDevicName,
+ id: data[i].children[j].AdvaDevicNumber,
+ type: 'capacity',
+ rhythm: data[i].children[j].AdvaDevicRhythm,
+ start: data[i].children[j].OneStartDate[0],
+ end: data[i].children[j].OneStartDate[1],
+ mod: (data[i].children[j].AdvaDevicCropMob * 1) / 100
+ }
+ time.gtArray.push(icu1)
+ }
+ if (data[i].children[j].TwoStartDate != '') {
+ const icu2 = {
+ name: data[i].children[j].AdvaDevicName,
+ id: data[i].children[j].AdvaDevicNumber,
+ type: 'capacity',
+ rhythm: data[i].children[j].AdvaDevicRhythm,
+ start: data[i].children[j].TwoStartDate[0],
+ end: data[i].children[j].TwoStartDate[1],
+ mod: (data[i].children[j].AdvaDevicCropMob * 1) / 100
+ }
+ time.gtArray.push(icu2)
+ }
+ if (data[i].children[j].ThreeStartDate != '') {
+ const icu3 = {
+ name: data[i].children[j].AdvaDevicName,
+ id: data[i].children[j].AdvaDevicNumber,
+ type: 'capacity',
+ rhythm: data[i].children[j].AdvaDevicRhythm,
+ start: data[i].children[j].ThreeStartDate[0],
+ end: data[i].children[j].ThreeStartDate[1],
+ mod: (data[i].children[j].AdvaDevicCropMob * 1) / 100
+ }
+ time.gtArray.push(icu3)
+ }
+ if (data[i].children[j].FourStartDate != '') {
+ const icu4 = {
+ name: data[i].children[j].AdvaDevicName,
+ id: data[i].children[j].AdvaDevicNumber,
+ type: 'capacity',
+ rhythm: data[i].children[j].AdvaDevicRhythm,
+ start: data[i].children[j].FourStartDate[0],
+ end: data[i].children[j].FourStartDate[1],
+ mod: (data[i].children[j].AdvaDevicCropMob * 1) / 100
+ }
+ time.gtArray.push(icu4)
+ }
+ if (data[i].children[j].FiveStartDate != '') {
+ const icu5 = {
+ name: data[i].children[j].AdvaDevicName,
+ id: data[i].children[j].AdvaDevicNumber,
+ type: 'capacity',
+ rhythm: data[i].children[j].AdvaDevicRhythm,
+ start: data[i].children[j].FiveStartDate[0],
+ end: data[i].children[j].FiveStartDate[1],
+ mod: (data[i].children[j].AdvaDevicCropMob * 1) / 100
+ }
+ time.gtArray.push(icu5)
+ }
+ }
+
+ this.facility_data.push(time)
+ }
+
+ if (cont != '') {
+ for (const i in cont) {
+ const date_time = cont[i].time_start.split(' ')
+ const cont_date = date_time[0]
+ for (const j in this.facility_data) {
+ const data = {
+ id: cont[i].eqp_code,
+ date: cont_date,
+ number: cont[i].alloc_qty,
+ cl_name: cont[i].part_name,
+ cl_code: this.cl_code,
+ work_order: cont[i].wo_code,
+ start: cont[i].time_start,
+ end: cont[i].time_end,
+ type: 'h_schedule'
+ }
+ if (this.facility_data[j].date == data.date) {
+ this.facility_data[j].gtArray.unshift(data)
+ }
+ }
+ }
+ }
+ },
+ // 鎺掔▼鏂规硶
+ formSeconds(s1, start, mod) {
+ const nowData = new Date(start)
+ // 绠楀嚭褰撳墠鎺掔▼鐨勭粨鏉熸椂闂�
+ return this.transitionTime(
+ new Date(nowData.setSeconds(nowData.getSeconds() + s1))
+ )
+ },
+ // 杞寲鏍囧噯鏃堕棿
+ transitionTime(time) {
+ const d = new Date(time)
+ return (
+ d.getFullYear() +
+ '-' +
+ (d.getMonth() + 1) +
+ '-' +
+ d.getDate() +
+ ' ' +
+ d.getHours() +
+ ':' +
+ d.getMinutes() +
+ ':' +
+ d.getSeconds()
+ )
+ },
+ // 鏃堕棿姣旇緝
+ formTime(d1, d2, mod) {
+ // d1 鎺掗櫎缁撴潫鏃堕棿 d2 褰撳墠浜ц兘缁撴潫鏃堕棿
+ const time1 = new Date(d1)
+ const time2 = new Date(d2)
+ return parseInt(time2 - time1) / 1000
+ },
+ formatSeconds(value) {
+ var secondTime = parseInt(value) // 绉�
+ var minuteTime = 0 // 鍒�
+ var hourTime = 0 // 灏忔椂
+ if (secondTime > 60) {
+ // 濡傛灉绉掓暟澶т簬60锛屽皢绉掓暟杞崲鎴愭暣鏁�
+ // 鑾峰彇鍒嗛挓锛岄櫎浠�60鍙栨暣鏁帮紝寰楀埌鏁存暟鍒嗛挓
+ minuteTime = parseInt(secondTime / 60)
+ // 鑾峰彇绉掓暟锛岀鏁板彇浣橈紝寰楀埌鏁存暟绉掓暟
+ secondTime = parseInt(secondTime % 60)
+ // 濡傛灉鍒嗛挓澶т簬60锛屽皢鍒嗛挓杞崲鎴愬皬鏃�
+ if (minuteTime > 60) {
+ // 鑾峰彇灏忔椂锛岃幏鍙栧垎閽熼櫎浠�60锛屽緱鍒版暣鏁板皬鏃�
+ hourTime = parseInt(minuteTime / 60)
+ // 鑾峰彇灏忔椂鍚庡彇浣樼殑鍒嗭紝鑾峰彇鍒嗛挓闄や互60鍙栦綐鐨勫垎
+ minuteTime = parseInt(minuteTime % 60)
+ }
+ }
+ var result = '' + parseInt(secondTime) + ''
+
+ if (minuteTime > 0) {
+ result = '' + parseInt(minuteTime) + ':' + result
+ }
+ if (hourTime > 0) {
+ result = '' + parseInt(hourTime) + ':' + result
+ }
+ return result
+ },
+ updateTimeLines(timeA, timeB) {
+ this.timeLines = [
+ {
+ time: timeA
+ },
+ {
+ time: timeB,
+ color: '#747e80'
+ }
+ ]
+ },
+ scrollLeftA(val) {
+ this.positionB = { x: val }
+ },
+ scrollLeftB(val) {
+ this.positionA = { x: val }
+ },
+ // 璁剧疆鍒濆鍖栨暟鎹�
+ oneClick() {
+ // this.getCurrentRow(this.mn_data[0])
+ }
+
+ }
+}
+</script>
+<!--鎺掔▼閮ㄥ垎鐨勬牱寮�-->
+<style scoped>
+body {
+ font-size: 12px;
+ margin: 0;
+ padding: 0;
+ width: 100%;
+ height: 100%;
+}
+
+.box_style {
+ position: relative;
+ top: 40px;
+ left: -91px;
+}
+
+.box_styles {
+ position: relative;
+ top: 40px;
+ left: 0;
+}
+
+/*鑷姩鎺掔▼閮ㄥ垎*/
+.autoScheduling {
+ display: flex;
+ flex-direction: column;
+ /*padding: 0 10px;*/
+ /* height: calc(100vh - 100px); */
+ /*background-color: #f8f8fa;*/
+ background-color: #fff;
+ margin-top: 20px;
+ height: 490px;
+}
+
+label {
+ margin-left: 10px;
+}
+
+input {
+ width: 40px;
+ height: 20px;
+ vertical-align: middle;
+}
+
+input[type="range"] {
+ width: 100px;
+}
+
+.container {
+ display: flex;
+ flex-direction: column;
+ flex: 1;
+}
+
+.tc {
+ text-align: center;
+}
+
+.name {
+ display: flex;
+ box-sizing: border-box;
+ overflow: hidden;
+ height: 100%;
+ width: 100%;
+ padding: 0 5px 0 0;
+ border-radius: 8px 0 0 8px;
+ align-items: center;
+}
+
+.carId {
+ flex: 1;
+}
+
+.tc {
+ color: #909399;
+ font-size: 14px;
+}
+</style>
+
+<!--鍏叡椤甸潰鏍峰紡-->
+<style lang="scss" scoped>
+$main_color: #42b983;
+.elTableDiv {
+ ::v-deep .el-radio__label {
+ display: none;
+ }
+}
+
+::v-deep .el-button--text {
+ font-size: 14px;
+ cursor: pointer;
+}
+
+.el-icon-share, .el-icon-delete, .el-icon-edit-outline {
+ color: $main_color;
+ cursor: pointer;
+}
+
+.el-icon-edit-outline {
+ margin-right: 15px;
+}
+
+::v-deep .el-button--primary, .el-button--default, .el-button--info {
+ height: 34px;
+ display: flex;
+ align-items: center;
+ padding: 0 15px;
+}
+
+::v-deep .el-button--primary {
+ //background-color: $main_color !important;
+}
+
+::v-deep .el-button--default {
+ background-color: #f8f8fa;
+ border: none;
+}
+
+::v-deep .el-input__inner {
+ height: 34px;
+ line-height: 34px;
+ //color: #a7a7a7;
+}
+
+::v-deep .el-dialog__body {
+ padding: 20px 100px !important;
+}
+
+::v-deep .dialogVisibleRoles .el-dialog__body {
+ padding: 20px 20px !important;
+}
+
+::v-deep .importPickerClass .el-dialog__body {
+ padding: 20px 20px !important;
+}
+
+::v-deep .el-dialog__footer {
+ display: flex;
+ justify-content: flex-end;
+}
+
+::v-deep .el-table .caret-wrapper {
+ transform: scale(0.8);
+}
+
+::v-deep .cell {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+
+::v-deep .el-table::before {
+ height: 0;
+}
+
+::v-deep .el-table__body-wrapper {
+ background-color: #f8f8fa;
+}
+
+::v-deep .el-table__body .el-table__row.hover-row td {
+ background-color: #eaecef;
+}
+
+::v-deep .el-form--inline .el-form-item__label {
+ color: #a7a7a7;
+}
+
+.body ::v-deep .el-divider {
+ border: 1px solid #eee;
+ width: 99%;
+ margin: 10px auto;
+}
+
+.body ::v-deep .el-form-item {
+ margin-bottom: 0;
+}
+
+.userDialogVisible ::v-deep .el-form-item {
+ margin-bottom: 0;
+}
+
+::v-deep .el-select__caret {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.tableFixed {
+ ::v-deep .el-table__fixed-right {
+ height: 100% !important;
+ }
+
+ ::v-deep .el-table__fixed {
+ height: 100% !important;
+ }
+
+}
+
+::v-deep .gantt-header-title{
+ background-color: #fff;
+ //border-left: 1px solid #eee !important;
+ //border-bottom: 1px solid #eee !important;
+}
+
+</style>
+<style>
+
+.el-table .custom-row {
+ background: #f8f8fa;
+}
+
+</style>
+
+<!--<style>-->
+<!--input[type=range]:focus {-->
+<!-- display: none;-->
+<!--}-->
+
+<!--input[type=range] {-->
+<!-- -webkit-appearance: none;-->
+<!-- width: 500px;-->
+<!-- border-radius: 10px;-->
+<!-- /*杩欎釜灞炴�ц缃娇濉厖杩涘害鏉℃椂鐨勫浘褰负鍦嗚*/-->
+<!--}-->
+
+<!--input[type=range]::-webkit-slider-runnable-track {-->
+<!-- height: 20px;-->
+<!-- border-radius: 10px;-->
+<!-- /*灏嗚建閬撹涓哄渾瑙掔殑*/-->
+<!-- /* box-shadow: 0 1px 1px #def3f8, inset 0 .125em .125em #0d1112; */-->
+<!-- border: solid 1px red;-->
+<!--}-->
+
+<!--input[type=range]::-webkit-slider-thumb {-->
+<!-- -webkit-appearance: none;-->
+<!-- height: 30px;-->
+<!-- width: 120px;-->
+<!-- margin-top: -5px;-->
+<!-- /*浣挎粦鍧楄秴鍑鸿建閬撻儴鍒嗙殑鍋忕Щ閲忕浉绛�*/-->
+<!-- background: #ffffff;-->
+<!-- /* border-radius: 50%; */-->
+<!-- /*澶栬璁剧疆涓哄渾褰�*/-->
+<!-- border: solid 0.125em rgba(205, 224, 230, 0.5);-->
+<!-- /*璁剧疆杈规*/-->
+<!-- /* box-shadow: 0 .125em .125em #3b4547; */-->
+<!-- /*娣诲姞搴曢儴闃村奖*/-->
+<!--}-->
+<!--</style>-->
diff --git a/src/views/scgl/zdpc.vue b/src/views/scgl/zdpc.vue
index 8c001e7..253703c 100644
--- a/src/views/scgl/zdpc.vue
+++ b/src/views/scgl/zdpc.vue
@@ -24,7 +24,10 @@
<el-input v-model="formTop.partname" placeholder="璇疯緭鍏�" style="width: 200px" />
</el-form-item>
</div>
- <div class="bodySearchReset" :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}">
+ <div
+ class="bodySearchReset"
+ :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}"
+ >
<el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
<el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
</div>
@@ -162,7 +165,7 @@
show-tooltip-when-overflow
>
<template slot-scope="{row}">
- <div v-if="row.AdvaSchePCStartDate">{{ row.AdvaSchePCStartDate }} ~ {{ row.AdvaSchePCEndDate }} </div>
+ <div v-if="row.AdvaSchePCStartDate">{{ row.AdvaSchePCStartDate }} ~ {{ row.AdvaSchePCEndDate }}</div>
<div v-else>/</div>
</template>
</el-table-column>
@@ -209,7 +212,12 @@
/>
</el-form-item>
<el-form-item label="鎺掔▼鏂瑰紡" style=" display: flex;">
- <el-select v-model="formBottom.types" :disabled="radioSelectedId===''" style="width:120px" @change="changeTypes">
+ <el-select
+ v-model="formBottom.types"
+ :disabled="radioSelectedId===''"
+ style="width:120px"
+ @change="changeTypes"
+ >
<el-option value="N" label="璁惧浼樺厛" />
<el-option value="Y" label="鏃堕棿浼樺厛" />
</el-select>
@@ -237,7 +245,10 @@
</span>
</el-form-item>
</div>
- <div class="bodySearchReset" :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}">
+ <div
+ class="bodySearchReset"
+ :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}"
+ >
<el-button
v-waves
:disabled="radioSelectedId===''"
@@ -268,7 +279,6 @@
:end-time="time_data[1]"
:cell-width="cellWidth"
:cell-height="cellHeight"
- :time-lines="timeLines"
:title-height="titleHeight"
:scale="formBottom.scale"
:title-width="titleWidth"
@@ -276,18 +286,22 @@
:hide-header="hideHeader"
:data-key="dataKey"
:array-keys="arrayKeys"
- :scroll-to-postion="positionA"
- :datas="bm_data"
- @scrollLeft="scrollLeftA"
+
+ :datas="schedulingData"
>
+ <!-- 鏆傛椂鐢ㄤ笉鍒�-->
+ <!-- :time-lines="timeLines"-->
+ <!-- @scrollLeft="scrollLeftA"-->
+ <!-- :scroll-to-postion="positionA"-->
<template slot="block" slot-scope="{data,item}">
<Test
:data="data"
- :update-time-lines="updateTimeLines"
:cell-height="cellHeight"
- :current-time="currentTime"
:item="item"
/>
+ <!-- 鏆傛椂鐢ㄤ笉鍒�-->
+ <!-- :update-time-lines="updateTimeLines"-->
+ <!-- :current-time="currentTime"-->
</template>
<template slot="left" slot-scope="{data}">
<div class="name">
@@ -310,8 +324,20 @@
</template>
<template slot="title">
<span class="tc">宸ヤ綅鍒楄〃</span>
- <el-checkbox v-model="all_status" class="box_style" :disabled="radioSelectedId===''" @change="changeLift()" />
- <input v-model.number="cellWidth" type="range" min="20" max="100" class="box_styles" :disabled="radioSelectedId===''">
+ <el-checkbox
+ v-model="ganttCheckboxAll"
+ class="box_style"
+ :disabled="radioSelectedId===''"
+ @change="changeLift()"
+ />
+ <input
+ v-model.number="cellWidth"
+ type="range"
+ min="20"
+ max="100"
+ class="box_styles"
+ :disabled="radioSelectedId===''"
+ >
</template>
</v-gantt-chart>
</div>
@@ -329,9 +355,6 @@
import { AdvancedSchedulingSearch, OnclickAdvancedSchedulingDevice, SubmitAlreadyScheduling } from '@/api/scgl'
import { handleDatetime } from '@/utils/global'
import waves from '@/directive/waves'
-
-const scaleList = `30,60,240,360`.split(',').map(n => parseInt(n))
-const timeList = `0,30,60,120,240,480`.split(',').map(n => parseInt(n))
export default {
name: 'Zzjg',
@@ -361,34 +384,21 @@
/*
鎺掔▼閮ㄥ垎鐨勫睘鎬�
* */
-
+ show: false,
pickerOptions1: {
disabledDate(time) {
return time.getTime() <= Date.now() - 24 * 60 * 60 * 1000
}
},
- keep_data: [],
- all_status: true,
- look_data: [],
- look_total: 0,
+ ganttCheckboxAll: true, // 鐢樼壒鍥惧乏渚у閫夋鏄惁閫変腑鎴栬�呭彇娑�
+ ganttLeftArrId: [], // 鐢樼壒鍥惧乏渚х殑鏁扮粍id
cl_name: '', // 浜у搧鍚嶇О
cl_code: '', // 浜у搧缂栫爜
- work_order: '',
- false_arr: [],
- ckeckVal: true,
- AdvaScheUom: '',
- list: [],
- form: {
- WorkShop: '',
- PartNumber: '',
- PartName: '',
- rows: 10,
- page: 1
- },
- showDialog: false,
- time_data: [[handleDatetime(new Date()) + ' 00:00:00'], [handleDatetime(new Date()) + ' 00:00:00']],
- forms: {
+ work_order: '', // 宸ュ崟缂栧彿
+ AdvaScheUom: '', // 浜у搧鍗曚綅
+ time_data: [[handleDatetime(new Date()) + ' 00:00:00'], [handleDatetime(new Date()) + ' 00:00:00']], // 鐢樼壒鍥惧垵濮嬫覆鏌撶殑鏃堕棿鑼冨洿
+ forms: { // 鐐瑰嚮琛岃幏鍙栦俊鎭� 璇锋眰鎺ュ彛 鐨勬暟鎹璞�
wocode: '', // 宸ュ崟缂栧彿
wkshpcode: '', // 杞﹂棿缂栫爜
partcode: '', // 鐗╂枡缂栫爜
@@ -396,11 +406,7 @@
startdate: '', // 寮�濮嬫棩鏈�
enddate: ''// 缁撴潫鏃ユ湡
},
- click_one: 0,
- datasC: [],
- radio: '',
-
- formBottom: {
+ formBottom: { // 搴曢儴琛ㄥ崟鐨� 鏁版嵁瀵硅薄
scheDate: [handleDatetime(new Date()), handleDatetime(new Date())], // 鎺掔▼鏃ユ湡
types: 'N', // 鎺掔▼鏂瑰紡
scale: 60, // 鏃堕棿鍒诲害
@@ -408,80 +414,29 @@
real_num: 0, // 鍙帓鏁伴噺
meter: 0// 闇�鎺掓暟閲�
},
+ schedulingData: [], // 鎺掔▼鐨勬渶缁堟暟鎹�
+ timeTopTempData: [], // 鏃堕棿浼樺厛鐨勪复鏃舵暟鎹�
- no: false,
- total: 0,
- mn_data: [],
- bm_data: [],
- facility_data: [],
- end_start: '',
- timeLines: [
- {
- time: dayjs()
- .add(2, 'hour')
- .toString()
- },
- {
- time: dayjs()
- .add(5, 'hour')
- .toString(),
- color: '#747e80'
- }
- ],
formUpdata: {
WorkCode: '',
BotProceCode: '',
json: []
},
currentTime: dayjs(),
- startTime: dayjs()
- .subtract(5, 'hour')
- .toString(),
- endTime: dayjs()
- .add(2, 'day')
- .add(2, 'hour')
- .toString(),
cellWidth: 50,
cellHeight: 30,
titleHeight: 40,
titleWidth: 250,
-
- // datasNum: 100,
- datasA: [],
- // datasB: mockDatas(100),
dataKey: 'id',
-
- timeList: timeList,
- scaleList: scaleList,
- scrollToTime: dayjs()
- .add(1, 'day')
- .toString(),
- scrollToPostion: { x: 10000, y: 10000 },
+ timeList: `0,30,60,120,240,480`.split(',').map(n => parseInt(n)),
+ scaleList: `30,60,240,360`.split(',').map(n => parseInt(n)),
hideHeader: false,
arrayKeys: ['gtArray', 'error'],
- scrollToY: 0,
- positionB: {},
- positionA: {},
- title_list: [],
- submit_flag: false,
- search_from: {
- page: 1,
- rows: 10,
- WorkTime: '',
- BotProceName: ''
- },
- time_all: null
+ title_list: []
+
}
},
- watch: {
- // datasNum(newV) {
- // // this.datasA = mockDatas(newV)
- // // this.datasB = mockDatas(newV)
- // },
- scrollToY(val) {
- this.positionA = { x: val }
- }
- },
+
created() {
const loading = this.$loading({
lock: true,
@@ -503,7 +458,7 @@
this.getHeight()
},
methods: {
- async getAdvancedSchedulingSearch() {
+ async getAdvancedSchedulingSearch() {
const res = await AdvancedSchedulingSearch(this.formTop)
this.tableData = res.data
this.totalTop = res.count
@@ -546,33 +501,9 @@
tableRowClassName({ row, rowIndex }) {
return 'custom-row'
},
- // 琛岀偣鍑讳簨浠�
- // async rowClick(row, event, column) {
- // this.radioSelectedId = row.AdvaScheId
- //
- // // this.meter = row.AdvaScheQty * 1 - row.AdvaScheYPQty * 1 //鍙互鍋氫釜鏁�
- //
- // const data = {
- // wocode: row.AdvaScheWorkCode,
- // wkshpcode: row.AdvaScheWorkShopid,
- // partcode: row.AdvaSchePartNumber,
- // botproccode: row.AdvaScheBotProcid,
- // startdate: handleDatetime(new Date()),
- // enddate: row.AdvaScheEndDate
- // }
- //
- // const res = await OnclickAdvancedSchedulingDevice(data)
- // console.log(res)
- // },
-
/*
鎺掔▼閮ㄥ垎鐨勬柟娉�
*/
- AdvancedSchedulingWorkShop() {
- // automaticScheduling.AdvancedSchedulingWorkShop().then(res => {
- // this.list = res
- // })
- },
resetFormcx() {
this.$nextTick(() => {
this.$refs.form.resetFields()
@@ -585,16 +516,16 @@
},
// 宸ヤ綅鍒楄〃澶嶉�夋鎿嶄綔
changeLift() {
- if (this.all_status) {
- this.false_arr = []
+ if (this.ganttCheckboxAll) {
+ this.ganttLeftArrId = []
this.getOnclickAdvancedSchedulingDevice()
} else {
- for (const i in this.bm_data) {
- this.bm_data[i].status = false
- this.bm_data[i].gtArray = []
+ for (const i in this.schedulingData) {
+ this.schedulingData[i].status = false
+ this.schedulingData[i].gtArray = []
}
- for (const i in this.facility_data) {
- this.facility_data[i].gtArray = []
+ for (const i in this.timeTopTempData) {
+ this.timeTopTempData[i].gtArray = []
}
}
// this.click_schedule()
@@ -602,6 +533,7 @@
changeTypes() {
this.getOnclickAdvancedSchedulingDevice()
},
+ // 鎺掔▼鏃ユ湡鍊兼敼鍙樻椂
change_time() {
this.time_data[0] = this.formBottom.scheDate[0] + ' 00:00'
this.time_data[1] = this.formBottom.scheDate[1] + ' 23:59'
@@ -609,89 +541,303 @@
this.forms.enddate = this.formBottom.scheDate[1]
this.getOnclickAdvancedSchedulingDevice()
},
+ // 鐢樼壒鍥惧乏渚heckbox鍊奸�変腑鎴栬�呭彇娑堟椂
click_box(val) {
- // console.log(val, 567)
if (!val.status) {
- for (const i in this.facility_data) {
+ for (const i in this.timeTopTempData) {
const new_arr = []
- for (const j in this.facility_data[i].gtArray) {
- if (this.facility_data[i].gtArray[j].id == val.id) {
+ for (const j in this.timeTopTempData[i].gtArray) {
+ if (this.timeTopTempData[i].gtArray[j].id == val.id) {
} else {
- new_arr.push(this.facility_data[i].gtArray[j])
+ new_arr.push(this.timeTopTempData[i].gtArray[j])
}
}
- this.facility_data[i].gtArray = new_arr
+ this.timeTopTempData[i].gtArray = new_arr
}
} else {
- this.false_arr = []
- for (const i in this.bm_data) {
- if (!this.bm_data[i].status) {
- this.false_arr.push(this.bm_data[i].id)
+ this.ganttLeftArrId = []
+ for (const i in this.schedulingData) {
+ if (!this.schedulingData[i].status) {
+ this.ganttLeftArrId.push(this.schedulingData[i].id)
}
}
this.getOnclickAdvancedSchedulingDevice()
}
if (!val.status) {
- for (const i in this.bm_data) {
- if (!this.bm_data[i].status) {
- this.bm_data[i].gtArray = []
+ for (const i in this.schedulingData) {
+ if (!this.schedulingData[i].status) {
+ this.schedulingData[i].gtArray = []
}
}
} else {
- this.false_arr = []
- for (const i in this.bm_data) {
- if (!this.bm_data[i].status) {
- this.false_arr.push(this.bm_data[i].id)
+ this.ganttLeftArrId = []
+ for (const i in this.schedulingData) {
+ if (!this.schedulingData[i].status) {
+ this.ganttLeftArrId.push(this.schedulingData[i].id)
}
}
this.getOnclickAdvancedSchedulingDevice()
}
- for (const i in this.bm_data) {
+ for (const i in this.schedulingData) {
const arr = []
- for (const j in this.bm_data[i].gtArray) {
- if (this.bm_data[i].gtArray[j].type != 'schedule') {
- arr.push(this.bm_data[i].gtArray[j])
+ for (const j in this.schedulingData[i].gtArray) {
+ if (this.schedulingData[i].gtArray[j].type != 'schedule') {
+ arr.push(this.schedulingData[i].gtArray[j])
}
}
- this.bm_data[i].gtArray = arr
+ this.schedulingData[i].gtArray = arr
}
this.formBottom.real_num = 0
// this.click_schedule()
},
- look(data) {
- this.showDialog = true
- this.search_from.DeviceCode = data.id
- this.AdvancedSchedulingEquipmenTask()
- },
- AdvancedSchedulingEquipmenTask() {
- // automaticScheduling
- // .AdvancedSchedulingEquipmenTask(this.search_from)
- // .then(res => {
- // this.look_data = res.rows
- // this.look_total = res.total
- // })
- },
- // sizeChange_look(val) {
- // this.search_from.rows = val
- // this.AdvancedSchedulingEquipmenTask()
- // },
- // pageChange_look(val) {
- // this.search_from.page = val
- // this.AdvancedSchedulingEquipmenTask()
- // },
+
// 鐐瑰嚮甯﹀嚭鏁版嵁
- getOnclickAdvancedSchedulingDevice() {
- this.getOnclickAdvancedSchedulingDeviceTest()
- },
- async getOnclickAdvancedSchedulingDeviceTest() {
+ async getOnclickAdvancedSchedulingDevice() {
const res = await OnclickAdvancedSchedulingDevice(this.forms)
+ if (res.rus.Message) {
+ this.$message.error(res.rus.Message)
+ }
- const data = res.rows // 鎷垮埌鏁版嵁 瀵规暟鎹繘琛屾敼閫�
- const cont = res.Cont
+ const data = res.rows // 鎷垮埌寰呮帓鏁版嵁 瀵规暟鎹繘琛屾敼閫�
+ const cont = res.Cont // 鎷垮埌宸叉帓鏁版嵁 瀵规暟鎹繘琛屾敼閫�
+
+ this.formBottom.real_num = 0
+
+ // 灏嗕簲涓椂闂存杩涜璧嬪��
+ for (const i in data) {
+ for (const j in data[i].children) {
+ if (data[i].children[j].OneStartDate != '') {
+ data[i].children[
+ j
+ ].OneStartDate = data[i].children[
+ j
+ ].OneStartDate.split('~')
+ data[i].children[j].OneStartDate[0] =
+ data[i].YearDate +
+ ' ' +
+ data[i].children[j].OneStartDate[0]
+ data[i].children[j].OneStartDate[1] =
+ data[i].YearDate +
+ ' ' +
+ data[i].children[j].OneStartDate[1]
+ }
+ if (data[i].children[j].TwoStartDate != '') {
+ data[i].children[
+ j
+ ].TwoStartDate = data[i].children[
+ j
+ ].TwoStartDate.split('~')
+ data[i].children[j].TwoStartDate[0] =
+ data[i].YearDate +
+ ' ' +
+ data[i].children[j].TwoStartDate[0]
+ data[i].children[j].TwoStartDate[1] =
+ data[i].YearDate +
+ ' ' +
+ data[i].children[j].TwoStartDate[1]
+ }
+ if (data[i].children[j].ThreeStartDate != '') {
+ data[i].children[
+ j
+ ].ThreeStartDate = data[i].children[
+ j
+ ].ThreeStartDate.split('~')
+ data[i].children[j].ThreeStartDate[0] =
+ data[i].YearDate +
+ ' ' +
+ data[i].children[j].ThreeStartDate[0]
+ data[i].children[j].ThreeStartDate[1] =
+ data[i].YearDate +
+ ' ' +
+ data[i].children[j].ThreeStartDate[1]
+ }
+ if (data[i].children[j].FourStartDate != '') {
+ data[i].children[
+ j
+ ].FourStartDate = data[i].children[
+ j
+ ].FourStartDate.split('~')
+ data[i].children[j].FourStartDate[0] =
+ data[i].YearDate +
+ ' ' +
+ data[i].children[j].FourStartDate[0]
+ data[i].children[j].FourStartDate[1] =
+ data[i].YearDate +
+ ' ' +
+ data[i].children[j].FourStartDate[1]
+ }
+ if (data[i].children[j].FiveStartDate != '') {
+ data[i].children[
+ j
+ ].FiveStartDate = data[i].children[
+ j
+ ].FiveStartDate.split('~')
+ data[i].children[j].FiveStartDate[0] =
+ data[i].YearDate +
+ ' ' +
+ data[i].children[j].FiveStartDate[0]
+ data[i].children[j].FiveStartDate[1] =
+ data[i].YearDate +
+ ' ' +
+ data[i].children[j].FiveStartDate[1]
+ }
+ }
+ }
+
+ const list = [] // 涓存椂list 鏆傚瓨
+ for (const i in data[0].children) {
+ const obj = {
+ id: '',
+ name: '',
+ AdvaDevicRhythm: '',
+ status: true,
+ colorPair: {
+ dark: 'rgb(83, 186, 241,0.8)',
+ light: 'rgb(83, 186, 241,0.1)',
+ light_capacity: 'rgb(209,239,237,0.8)',
+ h_schedule: 'rgb(100,255,192,0.8)',
+ scheduleing: 'rgb(20,182,231,0.8)'
+ },
+ gtArray: []
+ }
+ obj.id = data[0].children[i].AdvaDevicNumber
+ obj.name = data[0].children[i].AdvaDevicName
+ obj.AdvaDevicRhythm = data[0].children[
+ i
+ ].AdvaDevicRhythm
+ list.push(obj)
+ }
+
+ // 缁勫悎鏂扮殑缁撴瀯
+ const newList = []
+ for (const i in data) {
+ for (const j in data[i].children) {
+ if (data[i].children[j].OneStartDate != '') {
+ const data1 = {
+ id: '',
+ start: '',
+ end: '',
+ mod: ''
+ }
+ data1.id = data[i].children[j].AdvaDevicNumber
+ data1.start = data[i].children[j].OneStartDate[0]
+ data1.end = data[i].children[j].OneStartDate[1]
+ data1.mod =
+ (data[i].children[j].AdvaDevicCropMob * 1) /
+ 100
+ newList.push(data1)
+ }
+ if (data[i].children[j].TwoStartDate != '') {
+ const data2 = {
+ id: '',
+ start: '',
+ end: '',
+ mod: ''
+ }
+ data2.id = data[i].children[j].AdvaDevicNumber
+ data2.start = data[i].children[j].TwoStartDate[0]
+ data2.end = data[i].children[j].TwoStartDate[1]
+ data2.mod =
+ (data[i].children[j].AdvaDevicCropMob * 1) /
+ 100
+ newList.push(data2)
+ }
+ if (data[i].children[j].ThreeStartDate != '') {
+ const data3 = {
+ id: '',
+ start: '',
+ end: '',
+ mod: ''
+ }
+ data3.id = data[i].children[j].AdvaDevicNumber
+ data3.start = data[i].children[
+ j
+ ].ThreeStartDate[0]
+ data3.end = data[i].children[j].ThreeStartDate[1]
+ data3.mod =
+ (data[i].children[j].AdvaDevicCropMob * 1) /
+ 100
+ newList.push(data3)
+ }
+ if (data[i].children[j].FourStartDate != '') {
+ const data4 = {
+ id: '',
+ start: '',
+ end: '',
+ mod: ''
+ }
+ data4.id = data[i].children[j].AdvaDevicNumber
+ data4.start = data[i].children[
+ j
+ ].FourStartDate[0]
+ data4.end = data[i].children[j].FourStartDate[1]
+ data4.mod =
+ (data[i].children[j].AdvaDevicCropMob * 1) /
+ 100
+ newList.push(data4)
+ }
+ if (data[i].children[j].FiveStartDate != '') {
+ const data5 = {
+ id: '',
+ start: '',
+ end: '',
+ mod: ''
+ }
+ data5.id = data[i].children[j].AdvaDevicNumber
+ data5.start = data[i].children[
+ j
+ ].FiveStartDate[0]
+ data5.end = data[i].children[j].FiveStartDate[1]
+ data5.mod =
+ (data[i].children[j].AdvaDevicCropMob * 1) /
+ 100
+ newList.push(data5)
+ }
+ }
+ }
+
+ for (const i in list) {
+ this.pushItem(newList, list[i].id, list[i].gtArray)
+ }
+
+ this.schedulingData = list
+
+ if (cont != '') {
+ for (const i in cont) {
+ for (const j in this.schedulingData) {
+ if (this.schedulingData[j].id == cont[i].eqp_code) {
+ const data = {
+ id: cont[i].eqp_code,
+ number: cont[i].alloc_qty,
+ cl_name: cont[i].part_name,
+ cl_code: this.cl_code,
+ work_order: cont[i].wo_code,
+ STATUS: this.AdvaScheUom,
+ // status: this.AdvaScheUom,
+ start: cont[i].time_start,
+ end: cont[i].time_end,
+ type: cont[i].status == 'S' ? 'h_schedule' : 'bm_schedule'
+ }
+ this.schedulingData[j].flag = 'isCont'
+ this.schedulingData[j].gtArray.unshift(data)
+ }
+ }
+ }
+ }
+
+ if (this.ganttLeftArrId != '') {
+ for (const j in this.schedulingData) {
+ if (this.ganttLeftArrId.indexOf(this.schedulingData[j].id) >= 0) {
+ this.schedulingData[j].gtArray = []
+ this.schedulingData[j].status = false
+ }
+ }
+ }
+
+ // 璁惧浼樺厛鐨勬暟鎹牸寮�
this.title_list = []
-
- data[0].children.forEach((item, index) => {
+ for (const i in data[0].children) {
const obj = {
id: '',
name: '',
@@ -707,72 +853,16 @@
},
gtArray: []
}
- obj.id = item.AdvaDevicNumber
- obj.name = item.AdvaDevicName
- obj.AdvaDevicRhythm = item.AdvaDevicRhythm
- obj.mod = item.AdvaDevicCropMob * 1 // 鎹㈠瀷鏃堕棿
- this.title_list.push(obj)
- })
+ obj.id = data[0].children[i].AdvaDevicNumber
+ obj.name = data[0].children[i].AdvaDevicName
+ obj.AdvaDevicRhythm = data[0].children[i].AdvaDevicRhythm
+ // obj.mod =data[0].children[i].AdvaDevicCropMob *1
- // 灏嗕簲涓椂闂存杩涜璧嬪��
- for (const i in data) {
- for (const j in data[i].children) {
- // console.log(data[i].children, 101)
- // 鍥犱负鏈変簲涓椂闂存 鎵�浠ヨ繘琛屼簲娆″垽鏂� 骞惰祴鍊�
- if (data[i].children[j].OneStartDate != '') {
- data[i].children[j].OneStartDate = data[i].children[
- j
- ].OneStartDate.split('~')
- data[i].children[j].OneStartDate[0] =
- data[i].YearDate + ' ' + data[i].children[j].OneStartDate[0]
- data[i].children[j].OneStartDate[1] =
- data[i].YearDate + ' ' + data[i].children[j].OneStartDate[1]
- }
- if (data[i].children[j].TwoStartDate != '') {
- data[i].children[j].TwoStartDate = data[i].children[
- j
- ].TwoStartDate.split('~')
- data[i].children[j].TwoStartDate[0] =
- data[i].YearDate + ' ' + data[i].children[j].TwoStartDate[0]
- data[i].children[j].TwoStartDate[1] =
- data[i].YearDate + ' ' + data[i].children[j].TwoStartDate[1]
- }
- if (data[i].children[j].ThreeStartDate != '') {
- data[i].children[j].ThreeStartDate = data[i].children[
- j
- ].ThreeStartDate.split('~')
- data[i].children[j].ThreeStartDate[0] =
- data[i].YearDate +
- ' ' +
- data[i].children[j].ThreeStartDate[0]
- data[i].children[j].ThreeStartDate[1] =
- data[i].YearDate +
- ' ' +
- data[i].children[j].ThreeStartDate[1]
- }
- if (data[i].children[j].FourStartDate != '') {
- data[i].children[j].FourStartDate = data[i].children[
- j
- ].FourStartDate.split('~')
- data[i].children[j].FourStartDate[0] =
- data[i].YearDate + ' ' + data[i].children[j].FourStartDate[0]
- data[i].children[j].FourStartDate[1] =
- data[i].YearDate + ' ' + data[i].children[j].FourStartDate[1]
- }
- if (data[i].children[j].FiveStartDate != '') {
- data[i].children[j].FiveStartDate = data[i].children[
- j
- ].FiveStartDate.split('~')
- data[i].children[j].FiveStartDate[0] =
- data[i].YearDate + ' ' + data[i].children[j].FiveStartDate[0]
- data[i].children[j].FiveStartDate[1] =
- data[i].YearDate + ' ' + data[i].children[j].FiveStartDate[1]
- }
- }
+ this.title_list.push(obj)
}
- // 鏇存敼鏍煎紡 鏇存敼鎴愮粍浠堕噷闈㈡墍闇�瑕佺殑瀛楁鏍煎紡
- this.facility_data = []
+ // 鏇存敼鏍煎紡
+ this.timeTopTempData = []
for (const i in data) {
const time = {
@@ -846,150 +936,54 @@
}
}
- this.facility_data.push(time)
+ this.timeTopTempData.push(time)
}
- const newList = [] // 缁勫悎鏂扮殑缁撴瀯
- for (const i in data) {
- for (const j in data[i].children) {
- if (data[i].children[j].OneStartDate != '') {
- const data1 = {
- id: '',
- start: '',
- end: '',
- mod: ''
- }
-
- // name: data[i].children[j].AdvaDevicName,
- // type: 'capacity',
- // rhythm: data[i].children[j].AdvaDevicRhythm
-
- data1.id = data[i].children[j].AdvaDevicNumber
- data1.start = data[i].children[j].OneStartDate[0]
- data1.end = data[i].children[j].OneStartDate[1]
- data1.mod = (data[i].children[j].AdvaDevicCropMob * 1) / 100
- newList.push(data1)
- }
- if (data[i].children[j].TwoStartDate != '') {
- const data2 = {
- id: '',
- start: '',
- end: '',
- mod: ''
- }
- data2.id = data[i].children[j].AdvaDevicNumber
- data2.start = data[i].children[j].TwoStartDate[0]
- data2.end = data[i].children[j].TwoStartDate[1]
- data2.mod = (data[i].children[j].AdvaDevicCropMob * 1) / 100
- newList.push(data2)
- }
- if (data[i].children[j].ThreeStartDate != '') {
- const data3 = {
- id: '',
- start: '',
- end: '',
- mod: ''
- }
- data3.id = data[i].children[j].AdvaDevicNumber
- data3.start = data[i].children[j].ThreeStartDate[0]
- data3.end = data[i].children[j].ThreeStartDate[1]
- data3.mod = (data[i].children[j].AdvaDevicCropMob * 1) / 100
- newList.push(data3)
- }
- if (data[i].children[j].FourStartDate != '') {
- const data4 = {
- id: '',
- start: '',
- end: '',
- mod: ''
- }
- data4.id = data[i].children[j].AdvaDevicNumber
- data4.start = data[i].children[j].FourStartDate[0]
- data4.end = data[i].children[j].FourStartDate[1]
- data4.mod = (data[i].children[j].AdvaDevicCropMob * 1) / 100
- newList.push(data4)
- }
- if (data[i].children[j].FiveStartDate != '') {
- const data5 = {
- id: '',
- start: '',
- end: '',
- mod: ''
- }
- data5.id = data[i].children[j].AdvaDevicNumber
- data5.start = data[i].children[j].FiveStartDate[0]
- data5.end = data[i].children[j].FiveStartDate[1]
- data5.mod = (data[i].children[j].AdvaDevicCropMob * 1) / 100
- newList.push(data5)
- }
- }
- }
- // console.log(newList, 2)
- console.log(this.title_list, 3) // 浠h〃鐨勬槸涔嬪墠鐨勬暟鎹�
- for (const i in this.title_list) {
- this.pushItem(newList, this.title_list[i].id, this.title_list[i].gtArray)
- }
-
- this.bm_data = this.title_list
- // 閽堝cont 涓嶄负 null 鏃讹紝鏁版嵁鏍兼暟杞寲
if (cont != '') {
for (const i in cont) {
- for (const j in this.bm_data) {
- if (this.bm_data[j].id == cont[i].eqp_code) {
- const data = {
- // 闇�璺熷悗绔崗璋� 璋冩暣鍙傛暟 浜у搧缂栫爜銆佷骇鍝佸崟浣�(cl_code,AdvaScheUom)闇�鍚庣杩斿洖
- id: cont[i].eqp_code,
- number: cont[i].alloc_qty,
- cl_name: cont[i].part_name,
- cl_code: this.cl_code, // 涓存椂
- work_order: cont[i].wo_code,
- AdvaScheUom: this.AdvaScheUom, // 鍗曚綅 //涓存椂
- date: cont[i].time_start.split(' ')[0],
- start: cont[i].time_start,
- end: cont[i].time_end,
- type: cont[i].status == 'S' ? 'h_schedule' : 'bm_schedule'
- }
- this.bm_data[j].flag = 'isCont'
- this.bm_data[j].gtArray.unshift(data)
- if (this.facility_data[j].date == data.date) {
- // console.log(data.date, 1)
- // console.log(this.facility_data[j], 1)
- this.facility_data[j].gtArray.unshift(data)
- }
+ for (const j in this.timeTopTempData) {
+ const data = {
+ id: cont[i].eqp_code,
+ date: cont[i].time_start.split(' ')[0],
+ number: cont[i].alloc_qty,
+ cl_name: cont[i].part_name,
+ cl_code: this.cl_code,
+ work_order: cont[i].wo_code,
+ start: cont[i].time_start,
+ end: cont[i].time_end,
+ type: 'h_schedule'
+ }
+ if (this.timeTopTempData[j].date == data.date) {
+ this.timeTopTempData[j].gtArray.unshift(data)
}
}
}
}
- // 閽堝宸︿晶澶嶉�夋鐨勭姸鎬� 鏄惁閫変腑
- if (this.false_arr != '') {
- for (const j in this.bm_data) {
- if (this.false_arr.indexOf(this.bm_data[j].id) >= 0) {
- this.bm_data[j].gtArray = []
- this.bm_data[j].status = false
- }
- }
- }
- console.log(this.facility_data, 555)
- console.log(this.bm_data, 556)
- },
+ // console.log('鎵ц浜�!')
+ // console.log(this.schedulingData, ' this.schedulingData')
+ // console.log(this.timeTopTempData, 'this.timeTopTempData')
+ // this.$forceUpdate()
+ },
// 鎹㈠瀷鏃堕棿
MinutesTest(time) {
- var sdate1 = new Date(time)
- sdate1.setMinutes(sdate1.getMinutes() + this.formBottom.times * 1)
+ const t = new Date(time)
+ console.log(t.getMinutes(), 800)
+ t.setMinutes(t.getMinutes() + this.formBottom.times * 1)
var now =
- sdate1.getFullYear() +
+ t.getFullYear() +
'-' +
- this.add_one(sdate1.getMonth()) +
+ this.add_one(t.getMonth()).toString().padStart(2, '0') +
'-' +
- sdate1.getDate() +
+ t.getDate().toString().padStart(2, '0') +
' ' +
- sdate1.getHours() +
+ t.getHours().toString().padStart(2, '0') +
':' +
- sdate1.getMinutes() +
+ t.getMinutes().toString().padStart(2, '0') +
':' +
- sdate1.getSeconds()
+ t.getSeconds().toString().padStart(2, '0')
+ console.log('now', now)
return now
},
// +1
@@ -1014,6 +1008,7 @@
// 琛岀偣鍑讳簨浠�
getCurrentRow(row) {
this.radioSelectedId = row.AdvaScheId // 鎺掔▼id璧嬪�肩粰閫変腑琛宨d
+
this.formBottom.meter = row.AdvaScheQty * 1 - row.AdvaScheYPQty * 1 // 闇�鎺掓暟閲� = 鏈帓绋嬫暟閲� - 宸叉帓绋嬫暟閲�
this.formBottom.scheDate = [] // 鎺掔▼鏃ユ湡缃┖
this.cl_name = row.AdvaSchePartName // 浜у搧鍚嶇О
@@ -1036,20 +1031,18 @@
this.getOnclickAdvancedSchedulingDevice()
this.formUpdata.WorkCode = row.AdvaScheWorkCode // 宸ュ崟缂栧彿
this.formUpdata.BotProceCode = row.AdvaScheBotProcid // 宸ヨ壓璺嚎缂栫爜
- this.search_from.WorkTime = handleDatetime(new Date()) + '~' + row.AdvaScheEndDate // 鎺掔▼鐨勬棩鏈� 寮�濮媬缁撴潫
- this.search_from.BotProceName = row.AdvaScheBotProcName // 宸ュ簭鍚嶇О
},
// 鎻愪氦鎺掔▼
- async click_yes() {
+ async click_yes() {
if (this.formBottom.real_num !== this.formBottom.meter) {
this.$message.error('鏁伴噺鏈帓瀹岋紝璇疯缃骇鑳芥椂闂达紒')
- } else { // 棰勬帓杩涘害涓�100% 鏁伴噺宸叉帓瀹�
+ } else {
const list = [] // 鎻愪氦鏁扮粍
- for (const i in this.bm_data) {
+ for (const i in this.schedulingData) {
const arr = []
- for (const j in this.bm_data[i].gtArray) {
- if (this.bm_data[i].gtArray[j].type == 'schedule') {
- arr.push(this.bm_data[i].gtArray[j])
+ for (const j in this.schedulingData[i].gtArray) {
+ if (this.schedulingData[i].gtArray[j].type == 'schedule') {
+ arr.push(this.schedulingData[i].gtArray[j])
}
}
if (arr != '') {
@@ -1109,45 +1102,45 @@
this.$message.error('鎺掔▼鏃ユ湡涓嶅彲浠ュ皬浜庡綋鍓嶆椂闂�!')
return false
}
+ this.filterAlreadyScheduleEqp()// 鎵嬪姩杩囨护鎵�鏈夎澶囧凡鎺掔▼
- this.nitialize()// 鎵嬪姩杩囨护鎵�鏈夎澶囧凡鎺掔▼
- // console.log(this.facility_data, 67890)
- if (this.bm_data != '' && this.formBottom.types == 'N') { // 璁惧浼樺厛
+ // 璁惧浼樺厛鎴栬�呮椂闂翠紭鍏� 瀵规暟鎹繘琛岀殑鏍煎紡杞崲
+ if (this.schedulingData !== '' && this.formBottom.types === 'N') { // 璁惧浼樺厛
this.fun_time()
- this.change_num(this.bm_data)
- } else if (this.facility_data != '' && this.formBottom.types == 'Y') { // 鏃堕棿浼樺厛
- // 杩欓儴鍒嗛�昏緫閲嶅啓 鐩墠鏈夐棶棰�
-
- // this.fun_time()
- // this.change_num(this.bm_data)
-
- this.time_nitalize()
+ this.editLastValue(this.schedulingData)
+ } else if (this.timeTopTempData !== '' && this.formBottom.types === 'Y') { // 鏃堕棿浼樺厛
+ this.filterAlreadyScheduleTime() // 鎵嬪姩杩囨护鎵�鏈夋椂闂村凡鎺掔▼
this.fun_facility()
this.dataTransition()
- this.change_num(this.bm_data)
+ this.editLastValue(this.schedulingData)
}
- this.$forceUpdate()
+
+ // console.log('鎵ц浜�!')
+ // console.log(this.schedulingData, ' this.schedulingData')
+ // console.log(JSON.stringify(this.schedulingData), ' this.schedulingData')
+ // console.log(this.timeTopTempData, 'this.timeTopTempData')
+ // console.log(JSON.stringify(this.timeTopTempData), 'this.timeTopTempData')
+
+ // this.$forceUpdate()
},
// 鎵嬪姩杩囨护鎵�鏈夋椂闂村凡鎺掔▼
- time_nitalize() {
- for (const i in this.facility_data) {
- this.facility_data[i].gtArray = this.facility_data[i].gtArray.filter(item => item.type != 'schedule')
- }
+ filterAlreadyScheduleTime() {
+ this.timeTopTempData.forEach(item => {
+ if (item.gtArray && item.gtArray.length > 0) {
+ item.gtArray = item.gtArray.filter(it => it.type !== 'schedule')
+ }
+ })
},
// 鎵嬪姩杩囨护鎵�鏈夎澶囧凡鎺掔▼
- nitialize() {
- for (const i in this.bm_data) {
- const newArr = []
- for (const j in this.bm_data[i].gtArray) {
- if (this.bm_data[i].gtArray[j].type != 'schedule') {
- newArr.push(this.bm_data[i].gtArray[j])
- }
+ filterAlreadyScheduleEqp() {
+ this.schedulingData.forEach(item => {
+ if (item.gtArray && item.gtArray.length > 0) {
+ item.gtArray = item.gtArray.filter(it => it.type !== 'schedule')
}
- this.bm_data[i].gtArray = newArr
- }
+ })
},
// 缁欐帓绋嬫渶鍚庝竴涓慨鏀规暟閲�
- change_num(arr) {
+ editLastValue(arr) {
this.formBottom.real_num = 0 // 鐪熷疄宸叉帓鏁伴噺
let num = 0 // 鍙栨暣宸叉帓鏁伴噺
const arr_num = [] // 宸叉帓鏁版嵁
@@ -1176,38 +1169,35 @@
if (this.formBottom.real_num * 1 == this.formBottom.meter * 1) {
// mend_num = this.formBottom.meter - num
} else {
- this.submit_flag = true
+ // this.submit_flag = true
}
- for (const i in this.bm_data) {
- for (const j in this.bm_data[i].gtArray) {
+ for (const i in this.schedulingData) {
+ for (const j in this.schedulingData[i].gtArray) {
if (
- this.bm_data[i].gtArray[j].type == 'schedule' &&
- this.bm_data[i].gtArray[j].end_num
+ this.schedulingData[i].gtArray[j].type == 'schedule' &&
+ this.schedulingData[i].gtArray[j].end_num
) {
- this.bm_data[i].gtArray[j].number =
- this.bm_data[i].gtArray[j].number * 1 + mend_num
+ this.schedulingData[i].gtArray[j].number =
+ this.schedulingData[i].gtArray[j].number * 1 + mend_num
}
}
}
-
- console.log(this.bm_data, 668)
- // console.log(JSON.stringify(this.bm_data), 668)
},
fun_time() {
let all_num = this.formBottom.meter
const all_time = []
let flag1 = 0
- const mod = this.bm_data[0].mod
- // let nowTime = this.bm_data[0].AdvaDevicRhythm*all_num
- for (const i in this.bm_data) {
+ const mod = this.schedulingData[0].mod
+ // let nowTime = this.schedulingData[0].AdvaDevicRhythm*all_num
+ for (const i in this.schedulingData) {
let end_arr = [] // 宸叉帓绋嬬殑鏁扮粍
let nend_arr = [] // 寰呮帓绋嬬殑鏁扮粍
const add_arr = [] // 宸叉帓绋嬬殑鏁扮粍
let capacity_arr = [] // 瑕佹帓绋嬬殑鏁扮粍
- this.bm_data[i].gtArray.sort((a, b) => new Date(a.end).getTime() - new Date(b.end).getTime())
+ this.schedulingData[i].gtArray.sort((a, b) => new Date(a.end).getTime() - new Date(b.end).getTime())
// let capacity_end = ''
- end_arr = this.bm_data[i].gtArray.filter(item => item.type == 'h_schedule')
- nend_arr = this.bm_data[i].gtArray.filter(item => item.type == 'capacity')
+ end_arr = this.schedulingData[i].gtArray.filter(item => item.type == 'h_schedule')
+ nend_arr = this.schedulingData[i].gtArray.filter(item => item.type == 'capacity')
if (end_arr && end_arr.length > 0) {
capacity_arr = nend_arr.map(item => {
// 鎺掗櫎鎺夊凡缁忔帓绋嬬殑瀛樺湪hshedule锛宻tart锛宔nd閮界浉绛夌殑鎯呭喌
@@ -1254,16 +1244,21 @@
number: 0,
real_number: 0
}
- if (id_obj.start_time != '' && flag1 == 0 && new Date(id_obj.start_time) >= new Date(capacity_arr[w].start)) {
+ if (
+ id_obj.start_time != '' &&
+ flag1 == 0 &&
+ new Date(id_obj.start_time) >= new Date(capacity_arr[w].start)
+ ) {
data.start = this.MinutesTest(id_obj.start_time)
flag1 = 1
} else {
data.start = capacity_arr[w].start
}
- let nowTime = (this.bm_data[i].AdvaDevicRhythm * all_num) / capacity_arr[w].mod
+ let nowTime =
+ (this.schedulingData[i].AdvaDevicRhythm * all_num) / capacity_arr[w].mod
end_time = this.formSeconds(nowTime, data.start, capacity_arr[w].mod) // 鎬诲叡鐨勭粨鏉熸椂闂�
data.end = end_time
- mistiming = this.formTime(
+ mistiming = this.compareTime(
end_time,
capacity_arr[w].end,
capacity_arr[w].mod
@@ -1272,24 +1267,24 @@
// console.log(
// new Date(data.end) - new Date(data.start),
// capacity_arr[w].mod,
- // this.bm_data[i].AdvaDevicRhythm,
+ // this.schedulingData[i].AdvaDevicRhythm,
// '闃挎柉椤垮彂鏂拏鑺�'
// )
data.number =
((new Date(data.end) - new Date(data.start)) *
capacity_arr[w].mod) /
- this.bm_data[i].AdvaDevicRhythm /
+ this.schedulingData[i].AdvaDevicRhythm /
1000
data.real_number =
((new Date(data.end) - new Date(data.start)) *
capacity_arr[w].mod) /
- this.bm_data[i].AdvaDevicRhythm /
+ this.schedulingData[i].AdvaDevicRhythm /
1000
data.number = data.number.toFixed(0)
data.end_num = true
if (new Date(data.start) >= new Date(data.end)) {
} else {
- this.bm_data[i].gtArray.push(data)
+ this.schedulingData[i].gtArray.push(data)
}
return false
@@ -1298,21 +1293,21 @@
data.number =
((new Date(data.end) - new Date(data.start)) *
capacity_arr[w].mod) /
- this.bm_data[i].AdvaDevicRhythm /
+ this.schedulingData[i].AdvaDevicRhythm /
1000
data.real_number =
((new Date(data.end) - new Date(data.start)) *
capacity_arr[w].mod) /
- this.bm_data[i].AdvaDevicRhythm /
+ this.schedulingData[i].AdvaDevicRhythm /
1000
data.number = data.number.toFixed(0)
nowTime =
- (all_num - data.real_number) * this.bm_data[i].AdvaDevicRhythm
+ (all_num - data.real_number) * this.schedulingData[i].AdvaDevicRhythm
all_num = all_num - data.real_number
if (new Date(data.start) >= new Date(data.end)) {
} else {
- this.bm_data[i].gtArray.push(data)
+ this.schedulingData[i].gtArray.push(data)
}
}
}
@@ -1320,76 +1315,112 @@
},
// 璁惧鎺掔▼鏂规硶
fun_facility() {
- // this.bm_data
// 鎺掗櫎鏈嬀閫夐」
- for (const i in this.facility_data) {
+ for (const i in this.timeTopTempData) {
const newArr = []
- for (const j in this.facility_data[i].gtArray) {
- if (this.false_arr.indexOf(this.facility_data[i].gtArray[j].id) < 0) {
- newArr.push(this.facility_data[i].gtArray[j])
+ for (const j in this.timeTopTempData[i].gtArray) {
+ if (this.ganttLeftArrId.indexOf(this.timeTopTempData[i].gtArray[j].id) < 0) {
+ newArr.push(this.timeTopTempData[i].gtArray[j])
}
}
- this.facility_data[i].gtArray = newArr
+ this.timeTopTempData[i].gtArray = newArr
}
let all_num = this.formBottom.meter
const all_time = []
const flag1 = 0
- // let nowTime = this.facility_data[0].AdvaDevicRhythm*all_num //鏁伴噺OK
+ // let nowTime = this.timeTopTempData[0].AdvaDevicRhythm*all_num //鏁伴噺OK
+ console.log(this.timeTopTempData, 889)
+ console.log(JSON.stringify(this.timeTopTempData), 889)
- for (const i in this.facility_data) {
+ for (const i in this.timeTopTempData) {
+ console.log(i, 90)
let end_arr = []
let nend_arr = [] // 鎺掔▼鐨勬暟缁�
const add_arr = [] // 宸叉帓绋嬬殑鏁扮粍
let capacity_arr = [] // 瑕佹帓绋嬬殑鏁扮粍
-
- // this.facility_data[i].gtArray.sort((a,b) => new Date(a.end).getTime() - new Date(b.end).getTime())
+ // console.log(parseFloat('SV002'.substring(4, 5)))
+ this.timeTopTempData[i].gtArray.sort((a, b) => new Date(a.end).getTime() - new Date(b.end).getTime())
+ // this.timeTopTempData[i].gtArray.sort((a, b) => parseFloat(a.id.substring(4, 5)) - parseFloat(b.id.substring(4, 5)))
// let capacity_end = ''
- end_arr = this.facility_data[i].gtArray.filter(item => item.type == 'h_schedule')
- nend_arr = this.facility_data[i].gtArray.filter(item => item.type == 'capacity')
- // console.log(nend_arr)
+
+ // console.log(JSON.stringify(this.timeTopTempData), 671)
+
+ end_arr = this.timeTopTempData[i].gtArray.filter(item => item.type === 'h_schedule') // 宸叉帓绋嬫暟鎹�
+ nend_arr = this.timeTopTempData[i].gtArray.filter(item => item.type === 'capacity') // 瑕佹帓绋嬫暟鎹�
+ console.log(end_arr, nend_arr, 670)
+ // console.log(end_arr, 672)
+ // console.log(JSON.stringify(end_arr), 672)
+ // console.log(nend_arr, 673)
+ // console.log(JSON.stringify(nend_arr), 673)
capacity_arr = JSON.parse(JSON.stringify(nend_arr))
+
+ console.log(capacity_arr, 902)
end_arr.forEach(item => {
for (let i = 0; i < capacity_arr.length; i++) {
- if (new Date(capacity_arr[i].start).getTime() == new Date(item.start).getTime()) {
+ if (new Date(capacity_arr[i].start).getTime() === new Date(item.start).getTime()) {
console.log(i, capacity_arr[i], '鍝囧搱鍝�')
- capacity_arr.splice(i, 1)
+ console.log(capacity_arr.splice(i, 1))
break
}
}
})
- // console.log(capacity_arr, '澶цタ鐡�')
+ console.log(capacity_arr, '澶цタ鐡�')
- if (!capacity_arr || capacity_arr.length == 0) break
+ if (!capacity_arr || capacity_arr.length === 0) break
// const firstCapacity = capacity_arr[0]
const schedule_arr = end_arr.filter(item => {
- const remain = nend_arr.some(sitem => {
- return new Date(sitem.start).getTime() == new Date(item.start).getTime() &&
- new Date(item.end).getTime() < new Date(sitem.end).getTime()
+ const remain = nend_arr.some(it => {
+ // return (new Date(it.start).getTime() === new Date(item.start).getTime() &&
+ // new Date(item.end).getTime() < new Date(it.end).getTime()) || (
+ // new Date(it.end).getTime() === new Date(item.end).getTime() &&
+ // new Date(item.start).getTime() > new Date(it.start).getTime())
+ return (new Date(it.start).getTime() === new Date(item.start).getTime() &&
+ new Date(item.end).getTime() < new Date(it.end).getTime())
})
return remain
})
- // console.log(schedule_arr)
+ // schedule_arr.sort((a, b) => new Date(b.end).getTime() - new Date(a.end).getTime())
+ // schedule_arr = schedule_arr.filter((currentValue, currentIndex, selfArr) => {
+ // return selfArr.findIndex(item => item.id === currentValue.id) === currentIndex
+ // })
+
+ // schedule_arr = [{ cl_code: '302',
+ // cl_name: '8504鍏夋満',
+ // date: '2023-02-09',
+ // end: '2023-02-09 14:53:20',
+ // id: 'SB004',
+ // number: 100,
+ // start: '2023-02-09 13:30:00',
+ // type: 'h_schedule',
+ // work_order: 'MO-2022-11-0035_1' }]
+
+ console.log(schedule_arr, 1002)
+
+ // schedule_arr = [schedule_arr[0]]
if (schedule_arr && schedule_arr.length > 0) {
const scheduleCan = schedule_arr.map(item => {
- const capcity = nend_arr.filter(sitem => {
- return new Date(sitem.start).getTime() == new Date(item.start).getTime() &&
- new Date(item.end).getTime() < new Date(sitem.end).getTime()
+ const temp = nend_arr.filter(it => {
+ if (it.id === item.id) {
+ return (new Date(it.start).getTime() === new Date(item.start).getTime() &&
+ new Date(item.end).getTime() < new Date(it.end).getTime())
+ }
})[0]
- // console.log('capacity', capcity)
- capcity.start = this.MinutesTest(item.end)
- return capcity
+ console.log('capacity', temp)
+ console.log('capacity', item.end)
+ temp.start = this.MinutesTest(item.end)
+ // temp.start = item.end
+ return temp
})
const newSchedule = JSON.parse(JSON.stringify(scheduleCan))
capacity_arr = newSchedule.concat(capacity_arr)
}
- // console.log(schedule_arr)
- // console.log('鍙帓绋嬫暟缁�', capacity_arr)
+ console.log(schedule_arr)
+ console.log('鍙帓绋嬫暟缁�', capacity_arr)
const id_obj = {}
if (end_arr != '') {
(id_obj.id = end_arr[0].id), (id_obj.start_time = end_arr[0].end)
}
-
for (const w in capacity_arr) {
let end_time
let mistiming
@@ -1412,23 +1443,26 @@
) {
if (data.id == id_obj.id) {
data.start = this.MinutesTest(id_obj.start_time)
+ console.log(data.start, 999)
// flag1 =1
} else {
data.start = capacity_arr[w].start
+ console.log(data.start, 1000)
// console.log(data.start)
// flag1 =1
}
} else {
data.start = capacity_arr[w].start
+ console.log(data.start, 1001)
}
- // let nowTime = this.facility_data[0].AdvaDevicRhythm*all_num
+ // let nowTime = this.timeTopTempData[0].AdvaDevicRhythm*all_num
let nowTime =
(capacity_arr[w].rhythm * all_num) / capacity_arr[w].mod
end_time = this.formSeconds(nowTime, data.start)
data.end = end_time
- mistiming = this.formTime(end_time, capacity_arr[w].end)
+ mistiming = this.compareTime(end_time, capacity_arr[w].end)
if (mistiming >= 0) {
data.number =
((new Date(data.end) - new Date(data.start)) *
@@ -1445,7 +1479,7 @@
if (new Date(data.start) >= new Date(data.end)) {
} else {
- this.facility_data[i].gtArray.push(data)
+ this.timeTopTempData[i].gtArray.push(data)
}
return false
@@ -1468,22 +1502,16 @@
// nowTime = mistiming * -1
if (new Date(data.start) >= new Date(data.end)) {
} else {
- this.facility_data[i].gtArray.push(data)
+ this.timeTopTempData[i].gtArray.push(data)
}
}
}
}
},
- dataTransition2() {
-
- },
// 缁欒澶囪浆鎹㈡牸寮�
dataTransition() {
- console.log(this.bm_data, 800)
- console.log(this.facility_data, 801)
- console.log(this.title_list, 802)
- this.bm_data = []
- const data = this.facility_data
+ this.schedulingData = []
+ const data = this.timeTopTempData
const all = []
const list = this.title_list
@@ -1495,486 +1523,17 @@
for (const i in list) {
list[i].gtArray = []
- // this.pushTimes(all, list[i].id, list[i].gtArray)
- all.forEach(j => {
- if (j.id == list[i].id) {
- list[i].gtArray.push(j)
- }
- })
+ this.pushTimes(all, list[i].id, list[i].gtArray)
}
- console.log(list, 805)
- // for (const n in list) {
- // if (list[n].gtArray.length === 0) {
- // list[n].status = false
- // }
- // }
- console.log(list)
- this.bm_data = list
+ for (const n in list) {
+ if (list[n].gtArray.length === 0) {
+ list[n].status = false
+ }
+ }
- // this.bm_data = [
- // {
- // 'id': 'SB004',
- // 'name': '榻胯疆绠辩粍浜岀嚎',
- // 'status': true,
- // 'AdvaDevicRhythm': '5.0',
- // 'colorPair': {
- // 'dark': 'rgb(83, 186, 241,0.8)',
- // 'light': 'rgb(83, 186, 241,0.1)',
- // 'light_capacity': 'rgb(209,239,237,0.8)',
- // 'h_schedule': 'rgb(100,255,192,0.8)',
- // 'scheduleing': 'rgb(20,182,231,0.8)'
- // },
- // 'gtArray': [
- // {
- // 'id': 'SB004',
- // 'number': 224,
- // 'cl_name': '8504鍏夋満',
- // 'cl_code': '302',
- // 'work_order': 'MO-2022-11-0032_1',
- // 'AdvaScheUom': '鍙�',
- // 'date': '2023-02-07',
- // 'start': '2023-02-07 08:00:00',
- // 'end': '2023-02-07 11:06:40',
- // 'type': 'h_schedule' // h_schedule浠h〃宸叉帓鐨勬椂闂�
- // }, {
- // 'start': '2023-2-7 11:6:40',
- // 'end': '2023-02-07 11:30',
- // 'id': 'SB004',
- // 'mod': 0.1,
- // 'type': 'capacity'
- // }, {
- // 'start': '2023-02-07 12:30',
- // 'end': '2023-02-07 17:00',
- // 'id': 'SB004',
- // 'mod': 0.1,
- // 'type': 'capacity'
- // }, {
- // 'start': '2023-02-08 08:00',
- // 'end': '2023-02-08 11:30',
- // 'id': 'SB004',
- // 'mod': 0.1,
- // 'type': 'capacity'
- // }, {
- // 'start': '2023-02-08 12:30',
- // 'end': '2023-02-08 17:00',
- // 'id': 'SB004',
- // 'mod': 0.1,
- // 'type': 'capacity'
- // }, {
- // 'start': '2023-02-09 08:00',
- // 'end': '2023-02-09 11:30',
- // 'id': 'SB004',
- // 'mod': 0.1,
- // 'type': 'capacity'
- // }, {
- // 'start': '2023-02-09 12:30',
- // 'end': '2023-02-09 17:00',
- // 'id': 'SB004',
- // 'mod': 0.1,
- // 'type': 'capacity'
- // }, {
- // 'id': 'SB004',
- // 'start': '2023-2-7 11:6:40',
- // 'end': '2023-02-07 11:30',
- // 'type': 'schedule', // schedule 姝e湪鎺掔▼
- // 'cl_name': '8504鍏夋満',
- // 'cl_code': '302',
- // 'work_order': 'MO-2022-11-0034_1',
- // 'number': '28',
- // 'real_number': 28
- // }, {
- // 'id': 'SB004',
- // 'start': '2023-02-07 12:30',
- // 'end': '2023-02-07 17:00',
- // 'type': 'schedule',
- // 'cl_name': '8504鍏夋満',
- // 'cl_code': '302',
- // 'work_order': 'MO-2022-11-0034_1',
- // 'number': '324',
- // 'real_number': 324
- // }, {
- // 'id': 'SB004',
- // 'start': '2023-02-08 08:00',
- // 'end': '2023-02-08 11:30',
- // 'type': 'schedule',
- // 'cl_name': '8504鍏夋満',
- // 'cl_code': '302',
- // 'work_order': 'MO-2022-11-0034_1',
- // 'number': '252',
- // 'real_number': 252
- // }, {
- // 'id': 'SB004',
- // 'start': '2023-02-08 12:30',
- // 'end': '2023-02-08 17:00',
- // 'type': 'schedule',
- // 'cl_name': '8504鍏夋満',
- // 'cl_code': '302',
- // 'work_order': 'MO-2022-11-0034_1',
- // 'number': '324',
- // 'real_number': 324
- // }, {
- // 'id': 'SB004',
- // 'start': '2023-02-09 08:00',
- // 'end': '2023-02-09 11:30',
- // 'type': 'schedule',
- // 'cl_name': '8504鍏夋満',
- // 'cl_code': '302',
- // 'work_order': 'MO-2022-11-0034_1',
- // 'number': '252',
- // 'real_number': 252
- // }, {
- // 'id': 'SB004',
- // 'start': '2023-02-09 12:30',
- // 'end': '2023-02-09 17:00',
- // 'type': 'schedule',
- // 'cl_name': '8504鍏夋満',
- // 'cl_code': '302',
- // 'work_order': 'MO-2022-11-0034_1',
- // 'number': '324',
- // 'real_number': 324
- // }],
- // 'mod': 10,
- // 'flag': 'isCont'
- // },
- // {
- // 'id': 'SB005',
- // 'name': '涓绘満缁勪竴绾�',
- // 'status': true,
- // 'AdvaDevicRhythm': '15.0',
- // 'colorPair': {
- // 'dark': 'rgb(83, 186, 241,0.8)',
- // 'light': 'rgb(83, 186, 241,0.1)',
- // 'light_capacity': 'rgb(209,239,237,0.8)',
- // 'h_schedule': 'rgb(100,255,192,0.8)',
- // 'scheduleing': 'rgb(20,182,231,0.8)'
- // },
- // 'gtArray': [{
- // 'name': '涓绘満缁勪竴绾�',
- // 'id': 'SB005',
- // 'type': 'capacity',
- // 'rhythm': '15.0',
- // 'start': '2023-02-07 08:00',
- // 'end': '2023-02-07 11:30',
- // 'mod': 0.1
- // }, {
- // 'name': '涓绘満缁勪竴绾�',
- // 'id': 'SB005',
- // 'type': 'capacity',
- // 'rhythm': '15.0',
- // 'start': '2023-02-07 12:30',
- // 'end': '2023-02-07 17:00',
- // 'mod': 0.1
- // }, {
- // 'id': 'SB005',
- // 'start': '2023-02-07 08:00',
- // 'end': '2023-02-07 11:30',
- // 'type': 'schedule',
- // 'cl_name': '8504鍏夋満',
- // 'cl_code': '302',
- // 'work_order': 'MO-2022-11-0034_1',
- // 'number': '84',
- // 'real_number': 84
- // }, {
- // 'id': 'SB005',
- // 'start': '2023-02-07 12:30',
- // 'end': '2023-02-07 17:00',
- // 'type': 'schedule',
- // 'cl_name': '8504鍏夋満',
- // 'cl_code': '302',
- // 'work_order': 'MO-2022-11-0034_1',
- // 'number': '108',
- // 'real_number': 108
- // }, {
- // 'name': '涓绘満缁勪竴绾�',
- // 'id': 'SB005',
- // 'type': 'capacity',
- // 'rhythm': '15.0',
- // 'start': '2023-02-08 08:00',
- // 'end': '2023-02-08 11:30',
- // 'mod': 0.1
- // }, {
- // 'name': '涓绘満缁勪竴绾�',
- // 'id': 'SB005',
- // 'type': 'capacity',
- // 'rhythm': '15.0',
- // 'start': '2023-02-08 12:30',
- // 'end': '2023-02-08 17:00',
- // 'mod': 0.1
- // }, {
- // 'id': 'SB005',
- // 'start': '2023-02-08 08:00',
- // 'end': '2023-02-08 11:30',
- // 'type': 'schedule',
- // 'cl_name': '8504鍏夋満',
- // 'cl_code': '302',
- // 'work_order': 'MO-2022-11-0034_1',
- // 'number': '84',
- // 'real_number': 84
- // }, {
- // 'id': 'SB005',
- // 'start': '2023-02-08 12:30',
- // 'end': '2023-02-08 17:00',
- // 'type': 'schedule',
- // 'cl_name': '8504鍏夋満',
- // 'cl_code': '302',
- // 'work_order': 'MO-2022-11-0034_1',
- // 'number': '108',
- // 'real_number': 108
- // }, {
- // 'name': '涓绘満缁勪竴绾�',
- // 'id': 'SB005',
- // 'type': 'capacity',
- // 'rhythm': '15.0',
- // 'start': '2023-02-09 08:00',
- // 'end': '2023-02-09 11:30',
- // 'mod': 0.1
- // }, {
- // 'name': '涓绘満缁勪竴绾�',
- // 'id': 'SB005',
- // 'type': 'capacity',
- // 'rhythm': '15.0',
- // 'start': '2023-02-09 12:30',
- // 'end': '2023-02-09 17:00',
- // 'mod': 0.1
- // }],
- // 'mod': 10
- // }
- //
- // ]
- //
- // const a = [
- // {
- // 'id': 'SB004',
- // 'name': '榻胯疆绠辩粍浜岀嚎',
- // 'status': true,
- // 'AdvaDevicRhythm': '5.0',
- // 'colorPair': {
- // 'dark': 'rgb(83, 186, 241,0.8)',
- // 'light': 'rgb(83, 186, 241,0.1)',
- // 'light_capacity': 'rgb(209,239,237,0.8)',
- // 'h_schedule': 'rgb(100,255,192,0.8)',
- // 'scheduleing': 'rgb(20,182,231,0.8)'
- // },
- // 'gtArray': [
- // {
- // 'id': 'SB004',
- // 'number': 224,
- // 'cl_name': '8504鍏夋満',
- // 'cl_code': '302',
- // 'work_order': 'MO-2022-11-0032_1',
- // 'AdvaScheUom': '鍙�',
- // 'date': '2023-02-07',
- // 'start': '2023-02-07 08:00:00',
- // 'end': '2023-02-07 11:06:40',
- // 'type': 'h_schedule'
- // }, {
- // 'start': '2023-2-7 11:6:40',
- // 'end': '2023-02-07 11:30',
- // 'id': 'SB004',
- // 'mod': 0.1,
- // 'type': 'capacity'
- // }, {
- // 'start': '2023-02-07 12:30',
- // 'end': '2023-02-07 17:00',
- // 'id': 'SB004',
- // 'mod': 0.1,
- // 'type': 'capacity'
- // }, {
- // 'start': '2023-02-08 08:00',
- // 'end': '2023-02-08 11:30',
- // 'id': 'SB004',
- // 'mod': 0.1,
- // 'type': 'capacity'
- // }, {
- // 'start': '2023-02-08 12:30',
- // 'end': '2023-02-08 17:00',
- // 'id': 'SB004',
- // 'mod': 0.1,
- // 'type': 'capacity'
- // }, {
- // 'start': '2023-02-09 08:00',
- // 'end': '2023-02-09 11:30',
- // 'id': 'SB004',
- // 'mod': 0.1,
- // 'type': 'capacity'
- // }, {
- // 'start': '2023-02-09 12:30',
- // 'end': '2023-02-09 17:00',
- // 'id': 'SB004',
- // 'mod': 0.1,
- // 'type': 'capacity'
- // }, {
- // 'id': 'SB004',
- // 'start': '2023-2-7 11:6:40',
- // 'end': '2023-02-07 11:30',
- // 'type': 'schedule',
- // 'cl_name': '8504鍏夋満',
- // 'cl_code': '302',
- // 'work_order': 'MO-2022-11-0034_1',
- // 'number': '28',
- // 'real_number': 28
- // }, {
- // 'id': 'SB004',
- // 'start': '2023-02-07 12:30',
- // 'end': '2023-02-07 17:00',
- // 'type': 'schedule',
- // 'cl_name': '8504鍏夋満',
- // 'cl_code': '302',
- // 'work_order': 'MO-2022-11-0034_1',
- // 'number': '324',
- // 'real_number': 324
- // }, {
- // 'id': 'SB004',
- // 'start': '2023-02-08 08:00',
- // 'end': '2023-02-08 11:30',
- // 'type': 'schedule',
- // 'cl_name': '8504鍏夋満',
- // 'cl_code': '302',
- // 'work_order': 'MO-2022-11-0034_1',
- // 'number': '252',
- // 'real_number': 252
- // }, {
- // 'id': 'SB004',
- // 'start': '2023-02-08 12:30',
- // 'end': '2023-02-08 17:00',
- // 'type': 'schedule',
- // 'cl_name': '8504鍏夋満',
- // 'cl_code': '302',
- // 'work_order': 'MO-2022-11-0034_1',
- // 'number': '324',
- // 'real_number': 324
- // }, {
- // 'id': 'SB004',
- // 'start': '2023-02-09 08:00',
- // 'end': '2023-02-09 11:30',
- // 'type': 'schedule',
- // 'cl_name': '8504鍏夋満',
- // 'cl_code': '302',
- // 'work_order': 'MO-2022-11-0034_1',
- // 'number': '252',
- // 'real_number': 252
- // }, {
- // 'id': 'SB004',
- // 'start': '2023-02-09 12:30',
- // 'end': '2023-02-09 17:00',
- // 'type': 'schedule',
- // 'cl_name': '8504鍏夋満',
- // 'cl_code': '302',
- // 'work_order': 'MO-2022-11-0034_1',
- // 'number': '324',
- // 'real_number': 324
- // }],
- // 'mod': 10,
- // 'flag': 'isCont'
- // },
- // {
- // 'id': 'SB005',
- // 'name': '涓绘満缁勪竴绾�',
- // 'status': true,
- // 'AdvaDevicRhythm': '15.0',
- // 'colorPair': {
- // 'dark': 'rgb(83, 186, 241,0.8)',
- // 'light': 'rgb(83, 186, 241,0.1)',
- // 'light_capacity': 'rgb(209,239,237,0.8)',
- // 'h_schedule': 'rgb(100,255,192,0.8)',
- // 'scheduleing': 'rgb(20,182,231,0.8)'
- // },
- // 'gtArray': [{
- // 'name': '涓绘満缁勪竴绾�',
- // 'id': 'SB005',
- // 'type': 'capacity',
- // 'rhythm': '15.0',
- // 'start': '2023-02-07 08:00',
- // 'end': '2023-02-07 11:30',
- // 'mod': 0.1
- // }, {
- // 'name': '涓绘満缁勪竴绾�',
- // 'id': 'SB005',
- // 'type': 'capacity',
- // 'rhythm': '15.0',
- // 'start': '2023-02-07 12:30',
- // 'end': '2023-02-07 17:00',
- // 'mod': 0.1
- // }, {
- // 'id': 'SB005',
- // 'start': '2023-02-07 08:00',
- // 'end': '2023-02-07 11:30',
- // 'type': 'schedule',
- // 'cl_name': '8504鍏夋満',
- // 'cl_code': '302',
- // 'work_order': 'MO-2022-11-0034_1',
- // 'number': '84',
- // 'real_number': 84
- // }, {
- // 'id': 'SB005',
- // 'start': '2023-02-07 12:30',
- // 'end': '2023-02-07 17:00',
- // 'type': 'schedule',
- // 'cl_name': '8504鍏夋満',
- // 'cl_code': '302',
- // 'work_order': 'MO-2022-11-0034_1',
- // 'number': '108',
- // 'real_number': 108
- // }, {
- // 'name': '涓绘満缁勪竴绾�',
- // 'id': 'SB005',
- // 'type': 'capacity',
- // 'rhythm': '15.0',
- // 'start': '2023-02-08 08:00',
- // 'end': '2023-02-08 11:30',
- // 'mod': 0.1
- // }, {
- // 'name': '涓绘満缁勪竴绾�',
- // 'id': 'SB005',
- // 'type': 'capacity',
- // 'rhythm': '15.0',
- // 'start': '2023-02-08 12:30',
- // 'end': '2023-02-08 17:00',
- // 'mod': 0.1
- // }, {
- // 'id': 'SB005',
- // 'start': '2023-02-08 08:00',
- // 'end': '2023-02-08 11:30',
- // 'type': 'schedule',
- // 'cl_name': '8504鍏夋満',
- // 'cl_code': '302',
- // 'work_order': 'MO-2022-11-0034_1',
- // 'number': '84',
- // 'real_number': 84
- // }, {
- // 'id': 'SB005',
- // 'start': '2023-02-08 12:30',
- // 'end': '2023-02-08 17:00',
- // 'type': 'schedule',
- // 'cl_name': '8504鍏夋満',
- // 'cl_code': '302',
- // 'work_order': 'MO-2022-11-0034_1',
- // 'number': '108',
- // 'real_number': 108
- // }, {
- // 'name': '涓绘満缁勪竴绾�',
- // 'id': 'SB005',
- // 'type': 'capacity',
- // 'rhythm': '15.0',
- // 'start': '2023-02-09 08:00',
- // 'end': '2023-02-09 11:30',
- // 'mod': 0.1
- // }, {
- // 'name': '涓绘満缁勪竴绾�',
- // 'id': 'SB005',
- // 'type': 'capacity',
- // 'rhythm': '15.0',
- // 'start': '2023-02-09 12:30',
- // 'end': '2023-02-09 17:00',
- // 'mod': 0.1
- // }],
- // 'mod': 10
- // }
- //
- // ]
- //
- // console.log(a, 803)
+ // console.log(list)
+ this.schedulingData = list
},
// 鎻掑叆浜ц兘鏃堕棿娈�
pushTimes(newList, id, arr) {
@@ -1998,74 +1557,24 @@
return (
d.getFullYear() +
'-' +
- (d.getMonth() + 1) +
+ (d.getMonth() + 1).toString().padStart(2, '0') +
'-' +
- d.getDate() +
+ d.getDate().toString().padStart(2, '0') +
' ' +
- d.getHours() +
+ d.getHours().toString().padStart(2, '0') +
':' +
- d.getMinutes() +
+ d.getMinutes().toString().padStart(2, '0') +
':' +
- d.getSeconds()
+ d.getSeconds().toString().padStart(2, '0')
)
},
// 鏃堕棿姣旇緝
- formTime(d1, d2, mod) {
+ compareTime(d1, d2, mod) {
// d1 鎺掗櫎缁撴潫鏃堕棿 d2 褰撳墠浜ц兘缁撴潫鏃堕棿
const time1 = new Date(d1)
const time2 = new Date(d2)
return parseInt(time2 - time1) / 1000
- },
- formatSeconds(value) {
- var secondTime = parseInt(value) // 绉�
- var minuteTime = 0 // 鍒�
- var hourTime = 0 // 灏忔椂
- if (secondTime > 60) {
- // 濡傛灉绉掓暟澶т簬60锛屽皢绉掓暟杞崲鎴愭暣鏁�
- // 鑾峰彇鍒嗛挓锛岄櫎浠�60鍙栨暣鏁帮紝寰楀埌鏁存暟鍒嗛挓
- minuteTime = parseInt(secondTime / 60)
- // 鑾峰彇绉掓暟锛岀鏁板彇浣橈紝寰楀埌鏁存暟绉掓暟
- secondTime = parseInt(secondTime % 60)
- // 濡傛灉鍒嗛挓澶т簬60锛屽皢鍒嗛挓杞崲鎴愬皬鏃�
- if (minuteTime > 60) {
- // 鑾峰彇灏忔椂锛岃幏鍙栧垎閽熼櫎浠�60锛屽緱鍒版暣鏁板皬鏃�
- hourTime = parseInt(minuteTime / 60)
- // 鑾峰彇灏忔椂鍚庡彇浣樼殑鍒嗭紝鑾峰彇鍒嗛挓闄や互60鍙栦綐鐨勫垎
- minuteTime = parseInt(minuteTime % 60)
- }
- }
- var result = '' + parseInt(secondTime) + ''
-
- if (minuteTime > 0) {
- result = '' + parseInt(minuteTime) + ':' + result
- }
- if (hourTime > 0) {
- result = '' + parseInt(hourTime) + ':' + result
- }
- return result
- },
- updateTimeLines(timeA, timeB) {
- this.timeLines = [
- {
- time: timeA
- },
- {
- time: timeB,
- color: '#747e80'
- }
- ]
- },
- scrollLeftA(val) {
- this.positionB = { x: val }
- },
- scrollLeftB(val) {
- this.positionA = { x: val }
- },
- // 璁剧疆鍒濆鍖栨暟鎹�
- oneClick() {
- // this.getCurrentRow(this.mn_data[0])
}
-
}
}
</script>
@@ -2267,7 +1776,7 @@
}
-::v-deep .gantt-header-title{
+::v-deep .gantt-header-title {
background-color: #fff;
//border-left: 1px solid #eee !important;
//border-bottom: 1px solid #eee !important;
--
Gitblit v1.9.3