wangfei
6 天以前 da30bfc3795305f0bbd400d196bcf4c30612c37f
UI-Project/src/views/hollow/hellowquiptwohistory.vue
@@ -13,14 +13,20 @@
      <el-option :label="$t('basicData.stop')" value="2"></el-option>
      <el-option :label="$t('sorter.endingtask')" value="3"></el-option>
    </el-select>
          <el-date-picker v-model="timeRange" type="datetimerange" range-separator="至" :start-placeholder="$t('reportmanage.starttime')"
           style="margin-left: 15px;" value-format = "YYYY-MM-DD hh:mm:ss"
            :end-placeholder="$t('reportmanage.endtime')">
          </el-date-picker>
    <el-date-picker
            style="margin-left: 15px;"
             v-model="timeRange"
             type="datetimerange"
             :shortcuts="shortcuts"
             range-separator="至"
             :start-placeholder="$t('reportmanage.starttime')"
             :end-placeholder="$t('reportmanage.endtime')"
           />
        <el-button type="primary" style="margin-left: 10px;margin-bottom: 10px;" @click="sethistorical()">{{$t('reportmanage.inquire')}}</el-button>
   </div>
      <el-table ref="table" style="margin-top: 20px;height: 580px;width: 1770px;" :data="tableDatax" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
    <el-table-column prop="flowCardId" align="center" :label="$t('searchOrder.processcards')" min-width="80" />
    <el-table-column prop="cell" align="center" :label="$t('searchOrder.line')" min-width="50" />
    <el-table-column prop="totalLayer" align="center" :label="$t('hellow.totalLayer')" min-width="80" />
    <el-table-column prop="totalPairQuantity" align="center" :label="$t('hellow.totalPairQuantity')" min-width="80" />
        <el-table-column
@@ -49,6 +55,12 @@
        </el-table-column>
        <el-table-column prop="formattedCreateTime" align="center" :label="$t('reportmanage.starttime')" min-width="100" />
        <el-table-column prop="formattedUpdateTime" align="center" :label="$t('reportmanage.endtime')" min-width="100" />
        <el-table-column fixed="right" :label="$t('film.operate')" align="center">
            <template #default="scope">
          <el-button type="text" plain @click="handleptask(scope.row)">{{ $t('hellow.listFormula') }}</el-button>
          <el-button type="text" plain @click="handlecagedetails(scope.row)">{{ $t('hellow.HollowGlass') }}</el-button>
            </template>
        </el-table-column>
      </el-table>
<div style="margin-top: 20px;margin-left: 40%;">
      <el-pagination
@@ -62,6 +74,88 @@
        style="margin-top: 10px;"
    />
  </div>
  <el-dialog v-model="dialogFormVisiblef" top="5vh" width="65%" :title="$t('hellow.HollowGlass')">
    <el-table  ref="table" style="margin-top: 20px;height: 450px;"
        :data="tableDatacagedetails" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
        <el-table-column prop="flowCardId" :label="$t('hellow.flowCardId')" align="center" width="140"/>
          <el-table-column prop="glassId" :label="$t('searchOrder.glassID')" align="center" width="140"/>
          <el-table-column prop="hollowSequence" :label="$t('hellow.order')" align="center"/>
          <el-table-column prop="thickness" :label="$t('hellow.thickness')" align="center"/>
          <el-table-column prop="layer" :label="$t('hellow.layer')" align="center"/>
          <el-table-column prop="filmsId" :label="$t('hellow.coatingtypes')" align="center"/>
          <el-table-column prop="height" :label="$t('hellow.height')" align="center"/>
          <el-table-column prop="width" :label="$t('hellow.width')" align="center"/>
          <el-table-column prop="state" :label="$t('hellow.state')" align="center">
            <template #default="scope">
            {{ scope.row.state == -1 ? $t('hellow.waitingout') : $t('hellow.finishout') }}
            </template>
          </el-table-column>
        </el-table>
</el-dialog>
<el-dialog v-model="dialogFormVisiblea" top="23vh" width="55%" :title="$t('hellow.listFormula')" >
    <div style="margin-left: 50px;margin-top: 10px;margin-bottom: 10px;">
     <el-form  label-width="150px">
      <el-form label-width="150px" label-position="right">
        <el-row style="margin-top: 10px;">
          <el-col :span="8">
              <div id="dt" style="font-size: 15px;">
        <div>
              <el-form-item :label="$t('hellow.formulaName')" style="width: 16vw;">
                <el-input disabled v-model="formulaName" autocomplete="off" />
              </el-form-item></div></div>
          </el-col>
          <el-col :span="10">
            <div id="dta" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('Mounting.removalmethoda')" style="width: 16vw;">
            <el-select v-model="filmRemove" clearable  style="width: 220px" disabled>
        <el-option :label="$t('Mounting.removal')" value="1"></el-option>
        <el-option :label="$t('Mounting.noremoval')" value="0"></el-option>
      </el-select>
              </el-form-item>
            </div>
              </div>
          </el-col>
        </el-row>
        <el-row style="margin-top: 20px;">
          <el-col :span="8">
              <div id="dt" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.bottomRemove')" style="width: 16vw;">
                <el-input disabled v-model="bottomRemove" autocomplete="off" />
              </el-form-item></div></div>
          </el-col>
          <el-col :span="10">
            <div id="dta" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.topRemove')" style="width: 16vw;">
                <el-input disabled v-model="topRemove" autocomplete="off" />
           </el-form-item>
            </div></div>
          </el-col>
        </el-row>
        <el-row style="margin-top: 20px;">
          <el-col :span="8">
              <div id="dt" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.leftRemove')" style="width: 16vw;">
                <el-input disabled v-model="leftRemove" autocomplete="off" />
              </el-form-item></div></div>
          </el-col>
          <el-col :span="10">
            <div id="dta" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.rightRemove')" style="width: 16vw;">
            <el-input disabled v-model="rightRemove" autocomplete="off" />
              </el-form-item>
            </div></div>
          </el-col>
        </el-row>
        </el-form>
            </el-form>
          </div>
        </el-dialog>
</div>
</template>  
<script lang="ts" setup>
@@ -86,7 +180,37 @@
const rawGlassThickness = ref('');
const flowCardId = ref('');
const rawGlassfilmsId = ref('');
const slot = ref('');
const formattedCreate = ref('')
const formulaName = ref('')
const filmRemove = ref('')
const topRemove = ref('')
const bottomRemove = ref('')
const leftRemove = ref('')
const rightRemove = ref('')
const frameOne = ref('')
const frameTwo = ref('')
const frameThree = ref('')
const frameFour = ref('')
const sealInsert = ref('')
const casOne = ref('')
const casTwo = ref('')
const casThree = ref('')
const casFour = ref('')
const intervalFrameTypeOne = ref('')
const intervalFrameWidthOne = ref('')
const intervalFrameHeightOne = ref('')
const intervalFrameTypeTwo = ref('')
const intervalFrameWidthTwo = ref('')
const intervalFrameHeightTwo = ref('')
const intervalFrameTypeThree = ref('')
const intervalFrameWidthThree = ref('')
const intervalFrameHeightThre = ref('')
const intervalFrameTypeFour = ref('')
const intervalFrameWidthFour = ref('')
const intervalFrameHeightFour = ref('')
const tableDatacagedetails = ref([])
const dialogFormVisiblea = ref(false)
const dialogFormVisiblef = ref(false)
let getglobalDate = window.localStorage.getItem('getglobalDate')
const historical = async () => {
try {
@@ -109,19 +233,16 @@
      formattedUpdateTime: formatTimestamp(record.updateTime),
    }));
      tableDatax.value = formattedData;
      console.log(response.data.pages);
      totalRecords.value = response.data.total/2 || 0
    } else {
      ElMessage.error(response.message);
  }
}
catch (error) {
  console.error(error);
}
}
const handlePageChange2 = (newPage) => {
currentPage2.value = newPage;
console.log(currentPage2.value);
window.localStorage.setItem('pagenumber', currentPage2.value)
historicala(currentPage2.value);
};
@@ -148,8 +269,8 @@
      flowCardId: flowCardId.value,
      isForceList: celllist,
      stateList: stateList,
      beginDate: (timeRange.value && timeRange.value[0]) || '',
      endDate: (timeRange.value && timeRange.value[1]) || '',
      beginDate: (formatTimestamp(timeRange.value) && formatTimestamp(timeRange.value[0])) || '',
      endDate: (formatTimestamp(timeRange.value) && formatTimestamp(timeRange.value[1])) || '',
  })
    if (response.code == 200) {
      ElMessage.success(response.message);
@@ -165,8 +286,81 @@
  }
}
catch (error) {
  console.error(error);
}
}
// 配方信息
const handleptask = (row) => {
  fetchcagedl(row);
  dialogFormVisiblea.value = true;
};
const removalMethodMap = {
  1: t('Mounting.removal'),
  0: t('Mounting.noremoval')
};
const fetchcagedl = async (row) => {
  try  {
    var url="/hollowGlass/hollowFormulaDetails/getFormulaDetailsById?id="+ row.formulaId;
    const response = await request.get(url)
    if (response.code == 200) {
      ElMessage.success(response.message);
        formulaName.value = response.data.formulaName
        filmRemove.value = removalMethodMap[response.data.filmRemove];
        topRemove.value = response.data.topRemove
        bottomRemove.value = response.data.bottomRemove
        leftRemove.value = response.data.leftRemove
        rightRemove.value = response.data.rightRemove
        frameOne.value = response.data.frameOne
        frameTwo.value = response.data.frameTwo
        frameThree.value = response.data.frameThree
        frameFour.value = response.data.frameFour
        sealInsert.value = response.data.sealInsert
        casOne.value = response.data.casOne
        casTwo.value = response.data.casTwo
        casThree.value = response.data.casThree
        casFour.value = response.data.casFour
        intervalFrameTypeOne.value = response.data.intervalFrameTypeOne
        intervalFrameWidthOne.value = response.data.intervalFrameWidthOne
        intervalFrameHeightOne.value = response.data.intervalFrameHeightOne
        intervalFrameTypeTwo.value = response.data.intervalFrameTypeTwo
        intervalFrameWidthTwo.value = response.data.intervalFrameWidthTwo
        intervalFrameHeightTwo.value = response.data.intervalFrameHeightTwo
        intervalFrameTypeThree.value = response.data.intervalFrameTypeThree
        intervalFrameWidthThree.value = response.data.intervalFrameWidthThree
        intervalFrameHeightThre.value = response.data.intervalFrameHeightThre
        intervalFrameTypeFour.value = response.data.intervalFrameTypeFour
        intervalFrameWidthFour.value = response.data.intervalFrameWidthFour
        intervalFrameHeightFour.value = response.data.intervalFrameHeightFour
    } else {
      ElMessage.error(response.message);
    }
}
catch (error) {
  }
}
// 队列信息
const handlecagedetails = (row) => {
  const { id } = row;
  fetchcagedetails(id);
  dialogFormVisiblef.value = true;
};
const fetchcagedetails = async (id) => {
  try  {
    var url="/hollowGlass/hollowGlassQueueInfo/queryHollowGlassQueueInfoByTask?taskId="+ id;
    const response = await request.post(url)
    if (response.code == 200) {
      ElMessage.success(response.message);
      const formattedData = response.data.map(record => ({
      ...record,
      formaCreateTime: formatTimestamp(record.createTime),
      formaUpdateTime: formatTimestamp(record.updateTime),
    }));
    tableDatacagedetails.value = formattedData;
    } else {
      ElMessage.error(response.message);
    }
}
catch (error) {
  }
}
// 历史查询点击
const sethistorical = async () => {
@@ -192,8 +386,8 @@
      flowCardId: flowCardId.value,
      isForceList: celllist,
      stateList: stateList,
      beginDate: (timeRange.value && timeRange.value[0]) || '',
      endDate: (timeRange.value && timeRange.value[1]) || '',
      beginDate: (formatTimestamp(timeRange.value) && formatTimestamp(timeRange.value[0])) || '',
      endDate: (formatTimestamp(timeRange.value) && formatTimestamp(timeRange.value[1])) || '',
  })
    if (response.code == 200) {
      currentPage2.value = 1
@@ -211,7 +405,6 @@
  }
}
catch (error) {
  console.error(error);
}
}
// 格式化时间戳为年月日时间字符串的函数
@@ -225,13 +418,47 @@
const seconds = String(date.getSeconds()).padStart(2, '0'); // 补零(如果需要显示时间)
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
}
const shortcuts = [
  {
    text: '最近一周',
    value: () => {
      const backendTime = new Date(getglobalDate)
      const oneWeekAgo = new Date(getglobalDate)
      oneWeekAgo.setHours(0, 0, 0, 0);
      oneWeekAgo.setDate(oneWeekAgo.getDate() - 7)
      timeRange.value = [formatTimestamp(oneWeekAgo), formatTimestamp(backendTime)]
      window.localStorage.setItem('startTime', formatTimestamp(oneWeekAgo))
    },
  },
  {
    text: '最近一个月',
    value: () => {
      const backendTime = new Date(getglobalDate)
      const oneWeekAgo = new Date(getglobalDate)
      oneWeekAgo.setHours(0, 0, 0, 0);
      oneWeekAgo.setMonth(oneWeekAgo.getMonth() - 1)
      timeRange.value = [formatTimestamp(oneWeekAgo), formatTimestamp(backendTime)]
      window.localStorage.setItem('startTime', formatTimestamp(oneWeekAgo))
    },
  },
  {
    text: '最近三个月',
    value: () => {
      const backendTime = new Date(getglobalDate)
      const oneWeekAgo = new Date(getglobalDate)
      oneWeekAgo.setHours(0, 0, 0, 0);
      oneWeekAgo.setMonth(oneWeekAgo.getMonth() - 3)
      timeRange.value = [formatTimestamp(oneWeekAgo), formatTimestamp(backendTime)]
      window.localStorage.setItem('startTime', formatTimestamp(oneWeekAgo))
},
  },
]
// 格式化后端时间并计算一周前的时间
const defaultTime = ref<[Date, Date]>([new Date(), new Date()]);
function parseAndSetTime() {
const backendTime = new Date(getglobalDate);
const oneWeekAgo = new Date(backendTime.getTime() - 7 * 24 * 60 * 60 * 1000); // 减去7天
console.log(formatTimestamp(oneWeekAgo));
console.log(oneWeekAgo);
const oneWeekAgo = new Date(backendTime.getTime() - 0 * 24 * 60 * 60 * 1000); // 减去7天
  oneWeekAgo.setHours(0, 0, 0, 0);
timeRange.value = [formatTimestamp(oneWeekAgo), formatTimestamp(backendTime)];
window.localStorage.setItem('startTime', formatTimestamp(oneWeekAgo))
}
@@ -277,4 +504,6 @@
});
</script>
<style scoped>  
#dt { display:block; float:left;line-height: 20px;margin-left: 10px;}
#dta { display:block; float:left;line-height: 20px;margin-left: 50%;}
</style>