Pārlūkot izejas kodu

Merge branch 'master' of http://94.191.59.107:3000/wukai/twin2025-ui

liling 4 dienas atpakaļ
vecāks
revīzija
fac491a872
2 mainītis faili ar 155 papildinājumiem un 116 dzēšanām
  1. 1 0
      src/views/calc/calcYhj/index.vue
  2. 154 116
      src/views/calc/dayYhj/index.vue

+ 1 - 0
src/views/calc/calcYhj/index.vue

@@ -93,6 +93,7 @@
       <el-table-column label="小时" align="center" prop="hour" />
       <el-table-column label="产线编号" align="center" prop="deviceId" />
       <el-table-column label="织造米数" align="center" prop="length" />
+      <el-table-column label="重量(吨)" align="center" prop="weight" />
       <el-table-column label="版距" align="center" prop="distance" />
       <el-table-column label="备注" align="center" prop="remark" />
 <!--      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">-->

+ 154 - 116
src/views/calc/dayYhj/index.vue

@@ -1,146 +1,138 @@
 <template>
   <div class="app-container">
-    <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="时间" style="width: 308px">
-        <el-date-picker
-          v-model="daterangeTime"
-          value-format="YYYY-MM-DD"
-          type="daterange"
-          range-separator="-"
-          start-placeholder="开始日期"
-          end-placeholder="结束日期"
-        ></el-date-picker>
-      </el-form-item>
-      <el-form-item label="产线编号" prop="deviceId">
-        <el-input
-          v-model="queryParams.deviceId"
-          placeholder="产线编号"
-          clearable
-          @keyup.enter="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item>
-        <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
-        <el-button icon="Refresh" @click="resetQuery">重置</el-button>
+    <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px" style="text-align: center;">
+      <el-form-item style="width: 208px; display: inline-block;">
+        <div style="display: flex; align-items: center; justify-content: center;">
+          <el-button icon="ArrowLeft" @click="navigateDay(-1)" size="small" style="margin-right: 15px;"></el-button>
+          <el-date-picker clearable
+                          v-model="queryParams.time"
+                          type="date"
+                          value-format="YYYY-MM-DD"
+                          placeholder="请选择日期"
+                          style="width: 130px"
+                          @change="handleQuery">
+          </el-date-picker>
+          <el-button icon="ArrowRight" @click="navigateDay(1)" size="small" style="margin-left: 15px;"></el-button>
+        </div>
       </el-form-item>
     </el-form>
 
-<!--    <el-row :gutter="10" class="mb8">-->
-<!--      <el-col :span="1.5">-->
-<!--        <el-button-->
-<!--          type="primary"-->
-<!--          plain-->
-<!--          icon="Plus"-->
-<!--          @click="handleAdd"-->
-<!--          v-hasPermi="['calc:dayYhj:add']"-->
-<!--        >新增</el-button>-->
-<!--      </el-col>-->
-<!--      <el-col :span="1.5">-->
-<!--        <el-button-->
-<!--          type="success"-->
-<!--          plain-->
-<!--          icon="Edit"-->
-<!--          :disabled="single"-->
-<!--          @click="handleUpdate"-->
-<!--          v-hasPermi="['calc:dayYhj:edit']"-->
-<!--        >修改</el-button>-->
-<!--      </el-col>-->
-<!--      <el-col :span="1.5">-->
-<!--        <el-button-->
-<!--          type="danger"-->
-<!--          plain-->
-<!--          icon="Delete"-->
-<!--          :disabled="multiple"-->
-<!--          @click="handleDelete"-->
-<!--          v-hasPermi="['calc:dayYhj:remove']"-->
-<!--        >删除</el-button>-->
-<!--      </el-col>-->
-<!--      <el-col :span="1.5">-->
-<!--        <el-button-->
-<!--          type="warning"-->
-<!--          plain-->
-<!--          icon="Download"-->
-<!--          @click="handleExport"-->
-<!--          v-hasPermi="['calc:dayYhj:export']"-->
-<!--        >导出</el-button>-->
-<!--      </el-col>-->
-<!--      <right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>-->
-<!--    </el-row>-->
+    <!--    <el-row :gutter="10" class="mb8">-->
+    <!--      <el-col :span="1.5">-->
+    <!--        <el-button-->
+    <!--          type="primary"-->
+    <!--          plain-->
+    <!--          icon="Plus"-->
+    <!--          @click="handleAdd"-->
+    <!--          v-hasPermi="['calc:dayYhj:add']"-->
+    <!--        >新增</el-button>-->
+    <!--      </el-col>-->
+    <!--      <el-col :span="1.5">-->
+    <!--        <el-button-->
+    <!--          type="success"-->
+    <!--          plain-->
+    <!--          icon="Edit"-->
+    <!--          :disabled="single"-->
+    <!--          @click="handleUpdate"-->
+    <!--          v-hasPermi="['calc:dayYhj:edit']"-->
+    <!--        >修改</el-button>-->
+    <!--      </el-col>-->
+    <!--      <el-col :span="1.5">-->
+    <!--        <el-button-->
+    <!--          type="danger"-->
+    <!--          plain-->
+    <!--          icon="Delete"-->
+    <!--          :disabled="multiple"-->
+    <!--          @click="handleDelete"-->
+    <!--          v-hasPermi="['calc:dayYhj:remove']"-->
+    <!--        >删除</el-button>-->
+    <!--      </el-col>-->
+    <!--      <el-col :span="1.5">-->
+    <!--        <el-button-->
+    <!--          type="warning"-->
+    <!--          plain-->
+    <!--          icon="Download"-->
+    <!--          @click="handleExport"-->
+    <!--          v-hasPermi="['calc:dayYhj:export']"-->
+    <!--        >导出</el-button>-->
+    <!--      </el-col>-->
+    <!--      <right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>-->
+    <!--    </el-row>-->
 
-    <el-table v-loading="loading" :data="dayYhjList" @selection-change="handleSelectionChange">
-      <el-table-column type="selection" width="55" align="center" />
-<!--      <el-table-column label="ID" align="center" prop="id" />-->
-      <el-table-column label="时间" align="center" prop="time" width="180">
-        <template #default="scope">
-          <span>{{ parseTime(scope.row.time, '{y}-{m}-{d}') }}</span>
-        </template>
-      </el-table-column>
-      <el-table-column label="产线编号" align="center" prop="deviceId" />
-<!--      <el-table-column label="自然天统计长度(米)" align="center" prop="dayLength" />-->
-<!--      <el-table-column label="自然天统计重量(吨)" align="center" prop="dayWeight" />-->
-      <el-table-column label="总米长(米)" align="center" prop="length" />
-      <el-table-column label="总重量(吨)" align="center" prop="weight" />
-      <el-table-column label="A班米长(米)" align="center" prop="lengthA" />
-      <el-table-column label="A班重量(吨)" align="center" prop="weightA" />
-      <el-table-column label="B班米长(米)" align="center" prop="lengthB" />
-      <el-table-column label="B班重量(吨)" align="center" prop="weightB" />
-<!--      <el-table-column label="备注" align="center" prop="remark" />-->
-<!--      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">-->
+    <el-table v-loading="loading" :data="dayYhjList" show-summary  :summary-method="getSummaries" @selection-change="handleSelectionChange">
+<!--      <el-table-column type="selection" width="55" align="center"/>-->
+<!--      &lt;!&ndash;      <el-table-column label="ID" align="center" prop="id" />&ndash;&gt;-->
+<!--      <el-table-column label="时间" align="center" prop="time" width="180">-->
 <!--        <template #default="scope">-->
-<!--          <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['calc:dayYhj:edit']">修改</el-button>-->
-<!--          <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['calc:dayYhj:remove']">删除</el-button>-->
+<!--          <span>{{ parseTime(scope.row.time, '{y}-{m}-{d}') }}</span>-->
 <!--        </template>-->
 <!--      </el-table-column>-->
+      <el-table-column label="产线编号" align="center" prop="deviceId"/>
+      <el-table-column label="白柸投放米长(米)" align="center" prop="dayLength"/>
+      <el-table-column label="白柸投放重量(吨)" align="center" prop="dayWeight"/>
+      <el-table-column label="总米长(米)" align="center" prop="length"/>
+      <el-table-column label="总重量(吨)" align="center" prop="weight"/>
+      <el-table-column label="A班米长(米)" align="center" prop="lengthA"/>
+      <el-table-column label="A班重量(吨)" align="center" prop="weightA"/>
+      <el-table-column label="B班米长(米)" align="center" prop="lengthB"/>
+      <el-table-column label="B班重量(吨)" align="center" prop="weightB"/>
+      <!--      <el-table-column label="备注" align="center" prop="remark" />-->
+      <!--      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">-->
+      <!--        <template #default="scope">-->
+      <!--          <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['calc:dayYhj:edit']">修改</el-button>-->
+      <!--          <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['calc:dayYhj:remove']">删除</el-button>-->
+      <!--        </template>-->
+      <!--      </el-table-column>-->
     </el-table>
 
-    <pagination
-      v-show="total>0"
-      :total="total"
-      v-model:page="queryParams.pageNum"
-      v-model:limit="queryParams.pageSize"
-      @pagination="getList"
-    />
+<!--    <pagination-->
+<!--        v-show="total>0"-->
+<!--        :total="total"-->
+<!--        v-model:page="queryParams.pageNum"-->
+<!--        v-model:limit="queryParams.pageSize"-->
+<!--        @pagination="getList"-->
+<!--    />-->
 
     <!-- 添加或修改印花机日统计数据对话框 -->
     <el-dialog :title="title" v-model="open" width="500px" append-to-body>
       <el-form ref="dayYhjRef" :model="form" :rules="rules" label-width="80px">
         <el-form-item label="时间" prop="time">
           <el-date-picker clearable
-            v-model="form.time"
-            type="date"
-            value-format="YYYY-MM-DD"
-            placeholder="请选择时间">
+                          v-model="form.time"
+                          type="date"
+                          value-format="YYYY-MM-DD"
+                          placeholder="请选择时间">
           </el-date-picker>
         </el-form-item>
         <el-form-item label="设备ID" prop="deviceId">
-          <el-input v-model="form.deviceId" placeholder="请输入设备ID" />
+          <el-input v-model="form.deviceId" placeholder="请输入设备ID"/>
         </el-form-item>
         <el-form-item label="自然天统计长度" prop="dayLength">
-          <el-input v-model="form.dayLength" placeholder="请输入自然天统计长度" />
+          <el-input v-model="form.dayLength" placeholder="请输入自然天统计长度"/>
         </el-form-item>
         <el-form-item label="自然天统计重量" prop="dayWeight">
-          <el-input v-model="form.dayWeight" placeholder="请输入自然天统计重量" />
+          <el-input v-model="form.dayWeight" placeholder="请输入自然天统计重量"/>
         </el-form-item>
         <el-form-item label="总米长" prop="length">
-          <el-input v-model="form.length" placeholder="请输入总米长" />
+          <el-input v-model="form.length" placeholder="请输入总米长"/>
         </el-form-item>
         <el-form-item label="总重量" prop="weight">
-          <el-input v-model="form.weight" placeholder="请输入总重量" />
+          <el-input v-model="form.weight" placeholder="请输入总重量"/>
         </el-form-item>
         <el-form-item label="A班米长" prop="lengthA">
-          <el-input v-model="form.lengthA" placeholder="请输入A班米长" />
+          <el-input v-model="form.lengthA" placeholder="请输入A班米长"/>
         </el-form-item>
         <el-form-item label="A班重量" prop="weightA">
-          <el-input v-model="form.weightA" placeholder="请输入A班重量" />
+          <el-input v-model="form.weightA" placeholder="请输入A班重量"/>
         </el-form-item>
         <el-form-item label="B班米长" prop="lengthB">
-          <el-input v-model="form.lengthB" placeholder="请输入B班米长" />
+          <el-input v-model="form.lengthB" placeholder="请输入B班米长"/>
         </el-form-item>
         <el-form-item label="B班重量" prop="weightB">
-          <el-input v-model="form.weightB" placeholder="请输入B班重量" />
+          <el-input v-model="form.weightB" placeholder="请输入B班重量"/>
         </el-form-item>
         <el-form-item label="备注" prop="remark">
-          <el-input v-model="form.remark" placeholder="请输入备注" />
+          <el-input v-model="form.remark" placeholder="请输入备注"/>
         </el-form-item>
       </el-form>
       <template #footer>
@@ -154,9 +146,9 @@
 </template>
 
 <script setup name="DayYhj">
-import { listDayYhj, getDayYhj, delDayYhj, addDayYhj, updateDayYhj } from "@/api/calc/dayYhj";
+import {addDayYhj, delDayYhj, getDayYhj, listDayYhj, updateDayYhj} from "@/api/calc/dayYhj";
 
-const { proxy } = getCurrentInstance();
+const {proxy} = getCurrentInstance();
 
 const dayYhjList = ref([]);
 const open = ref(false);
@@ -174,25 +166,36 @@ const data = reactive({
   queryParams: {
     pageNum: 1,
     pageSize: 10,
-    time: null,
+    time: new Date(new Date().getTime() - 31 * 60 * 60 * 1000).Format('yyyy-MM-dd'),
     deviceId: null,
     dayLength: null,
     dayWeight: null,
   },
-  rules: {
-  }
+  rules: {}
 });
 
-const { queryParams, form, rules } = toRefs(data);
+const {queryParams, form, rules} = toRefs(data);
+
+function navigateDay(offset) {
+  const currentDate = new Date(queryParams.value.time);
+  currentDate.setDate(currentDate.getDate() + offset);
+  queryParams.value.time = currentDate.toISOString().split('T')[0];
+  handleQuery();
+}
 
 /** 查询印花机日统计数据列表 */
 function getList() {
   loading.value = true;
   queryParams.value.params = {};
-  if (null != daterangeTime && '' != daterangeTime) {
-    queryParams.value.params["beginTime"] = daterangeTime.value[0];
-    queryParams.value.params["endTime"] = daterangeTime.value[1];
+  if (queryParams.value.time == null) {
+    proxy.$modal.msgError("请输入查询时间");
+    loading.value = false;
+    return false;
   }
+  // if (null != daterangeTime && '' != daterangeTime) {
+  //   queryParams.value.params["beginTime"] = daterangeTime.value[0];
+  //   queryParams.value.params["endTime"] = daterangeTime.value[1];
+  // }
   listDayYhj(queryParams.value).then(response => {
     dayYhjList.value = response.rows;
     total.value = response.total;
@@ -200,6 +203,40 @@ function getList() {
   });
 }
 
+//自定义方法
+function getSummaries(param) {
+  const { columns, data } = param;
+  const sums = {};
+  columns.forEach((column, index) => {
+    if (index === 0) {
+        sums[index] = '合计';
+      return;
+    }
+    // if (index === 1) {
+    //   sums[index] = '合计';
+    //     return;
+    // }if (index === 2) {
+    //   sums[index] = '';
+    //     return;
+    // }
+    const values = data.map(item => Number(item[column.property]));
+      if (!values.every(value => isNaN(value))) {
+        sums[index] = values.reduce((prev, curr) => {
+          const value = Number(curr);
+          if (!isNaN(value)) {
+            return prev + curr;
+          } else {
+            return prev;
+          }
+        }, 0);
+        sums[index] = sums[index].toFixed(2);
+      } else {
+        sums[index] = 'N/A';
+      }
+  });
+  return sums;
+}
+
 // 取消按钮
 function cancel() {
   open.value = false;
@@ -287,12 +324,13 @@ function submitForm() {
 /** 删除按钮操作 */
 function handleDelete(row) {
   const _ids = row.id || ids.value;
-  proxy.$modal.confirm('是否确认删除印花机日统计数据编号为"' + _ids + '"的数据项?').then(function() {
+  proxy.$modal.confirm('是否确认删除印花机日统计数据编号为"' + _ids + '"的数据项?').then(function () {
     return delDayYhj(_ids);
   }).then(() => {
     getList();
     proxy.$modal.msgSuccess("删除成功");
-  }).catch(() => {});
+  }).catch(() => {
+  });
 }
 
 /** 导出按钮操作 */