| 
					
				 | 
			
			
				@@ -3,221 +3,69 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <el-form-item label="日期" prop="dataDate"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <el-date-picker clearable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          v-model="queryParams.dataDate" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          type="date" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          value-format="YYYY-MM-DD" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          placeholder="请选择日期"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        v-model="queryParams.dataDate" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        type="date" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        value-format="YYYY-MM-DD" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        placeholder="请选择日期" @change="handleQuery"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </el-date-picker> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--      <el-form-item label="小时" prop="hour">--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--        <el-input-number--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--            v-model="queryParams.hour"--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--            placeholder="请输入小时"--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--            clearable--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--            :min="0"--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--            :max="23"--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--            @change="handleQuery"--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--            style="width: 120px"--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--        />--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--      </el-form-item>--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <el-form-item label="机台号" prop="deviceId"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-input 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          v-model="queryParams.deviceId" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          placeholder="请输入机台号" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          clearable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          @keyup.enter="handleQuery" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-select 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            v-model="queryParams.deviceId" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            placeholder="请选择机台号" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            filterable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            style="width: 80px" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @change="handleQuery" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-option 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              v-for="item in deviceOptions" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              :key="item.value" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              :label="item.label" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              :value="item.value" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </el-select> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--      <el-form-item label="织造米数" prop="length">--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--        <el-input--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--          v-model="queryParams.length"--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--          placeholder="请输入织造米数"--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--          clearable--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--          @keyup.enter="handleQuery"--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--        />--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--      </el-form-item>--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--      <el-form-item label="规格" prop="spec">--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--        <el-input--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--          v-model="queryParams.spec"--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--          placeholder="请输入规格"--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--          clearable--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--          @keyup.enter="handleQuery"--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--        />--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--      </el-form-item>--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--      <el-form-item label="毛高" prop="height">--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--        <el-input--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--          v-model="queryParams.height"--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--          placeholder="请输入毛高"--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--          clearable--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--          @keyup.enter="handleQuery"--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--        />--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--      </el-form-item>--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--      <el-form-item label="米克重" prop="mick">--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--        <el-input--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--          v-model="queryParams.mick"--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--          placeholder="请输入米克重"--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--          clearable--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--          @keyup.enter="handleQuery"--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--        />--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--      </el-form-item>--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--      <el-form-item label="密度" prop="density">--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--        <el-input--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--          v-model="queryParams.density"--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--          placeholder="请输入密度"--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--          clearable--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--          @keyup.enter="handleQuery"--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--        />--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--      </el-form-item>--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--      <el-form-item label="单价" prop="price">--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--        <el-input--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--          v-model="queryParams.price"--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--          placeholder="请输入单价"--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--          clearable--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--          @keyup.enter="handleQuery"--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--        />--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--      </el-form-item>--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--      <el-form-item label="备注" prop="remark">--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--        <el-input--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--          v-model="queryParams.remark"--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--          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-item label="时段" prop="remark"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-select v-model="queryParams.remark" placeholder="选择时段" style="width: 180px" @change="handleQuery"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-option 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              v-for="dict in in_out_time" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              :key="dict.value" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              :label="dict.label" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              :value="dict.value" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          ></el-option> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </el-select> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </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:calcSpec:add']"--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--        >新增</el-button>--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--      </el-col>--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--      <el-col :span="1.5">--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--        <el-button--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--          type="success"--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--          plain--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--          icon="Edit"--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--          :disabled="single"--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--          @click="handleUpdate"--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--          v-hasPermi="['calc:calcSpec:edit']"--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--        >修改</el-button>--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--      </el-col>--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--      <el-col :span="1.5">--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--        <el-button--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--          type="danger"--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--          plain--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--          icon="Delete"--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--          :disabled="multiple"--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--          @click="handleDelete"--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--          v-hasPermi="['calc:calcSpec:remove']"--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--        >删除</el-button>--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--      </el-col>--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <el-col :span="1.5"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-button 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          type="warning" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          plain 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          icon="Download" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          @click="handleExport" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        >导出</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      </el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    </el-row> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<!--      <el-form-item>--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<!--        <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<!--        <el-button icon="Refresh" @click="resetQuery">重置</el-button>--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<!--      </el-form-item>--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </el-form> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    <el-table v-loading="loading" :data="calcSpecList" @selection-change="handleSelectionChange"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <el-table-column type="selection" width="55" align="center" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--      <el-table-column label="ID" align="center" prop="id" />--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <el-table v-loading="loading" :data="calcSpecList" show-summary :summary-method="getSummaries" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              @selection-change="handleSelectionChange"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <el-table-column label="日期" align="center" prop="dataDate" width="180"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <template #default="scope"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <span>{{ parseTime(scope.row.dataDate, '{y}-{m}-{d}') }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <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="spec" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <el-table-column label="毛高" align="center" prop="height" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <el-table-column label="米克重" align="center" prop="mick" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <el-table-column label="密度" align="center" prop="density" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--      <el-table-column label="单价" align="center" prop="price" />--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--      <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:calcSpec:edit']">修改</el-button>--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--          <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['calc:calcSpec:remove']">删除</el-button>--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--        </template>--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<!--      </el-table-column>--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <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="spec"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-table-column label="毛高" align="center" prop="height"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-table-column label="米克重" align="center" prop="mick"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-table-column label="密度" align="center" prop="density"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     </el-table> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    <pagination 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      v-show="total>0" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      :total="total" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      v-model:page="queryParams.pageNum" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      v-model:limit="queryParams.pageSize" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      @pagination="getList" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    <!-- 添加或修改按配方1小时统计数据对话框 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    <el-dialog :title="title" v-model="open" width="500px" append-to-body> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <el-form ref="calcSpecRef" :model="form" :rules="rules" label-width="80px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-form-item label="日期" prop="dataDate"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <el-date-picker clearable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            v-model="form.dataDate" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            type="date" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            value-format="YYYY-MM-DD" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            placeholder="请选择日期"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          </el-date-picker> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-form-item label="小时;0-23" prop="hour"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <el-input v-model="form.hour" placeholder="请输入小时;0-23" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-form-item label="机台号" prop="deviceId"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <el-input v-model="form.deviceId" placeholder="请输入机台号" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-form-item label="织造米数" prop="length"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <el-input v-model="form.length" placeholder="请输入织造米数" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-form-item label="规格" prop="spec"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <el-input v-model="form.spec" placeholder="请输入规格" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-form-item label="毛高" prop="height"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <el-input v-model="form.height" placeholder="请输入毛高" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-form-item label="米克重" prop="mick"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <el-input v-model="form.mick" placeholder="请输入米克重" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-form-item label="密度" prop="density"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <el-input v-model="form.density" placeholder="请输入密度" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-form-item label="单价" prop="price"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <el-input v-model="form.price" placeholder="请输入单价" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-form-item label="备注" prop="remark"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <el-input v-model="form.remark" placeholder="请输入备注" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      </el-form> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <template #footer> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <div class="dialog-footer"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <el-button type="primary" @click="submitForm">确 定</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <el-button @click="cancel">取 消</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    </el-dialog> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <script setup name="CalcSpec"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { listCalcSpec, getCalcSpec, delCalcSpec, addCalcSpec, updateCalcSpec } from "@/api/calc/calcSpec"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const { proxy } = getCurrentInstance(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import {addCalcSpec, delCalcSpec, getCalcSpec, listCalcSpec, updateCalcSpec} from "@/api/calc/calcSpec"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import {listDevice} from "@/api/biz/device" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const {proxy} = getCurrentInstance(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const {in_out_time} = proxy.useDict('in_out_time'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const calcSpecList = ref([]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const open = ref(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const loading = ref(true); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -227,13 +75,14 @@ const single = ref(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const multiple = ref(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const total = ref(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const title = ref(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const deviceOptions = ref([]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const data = reactive({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   form: {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   queryParams: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     pageNum: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    pageSize: 10, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    dataDate: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pageSize: 100, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    dataDate: new Date(new Date().getTime() - 31 * 60 * 60 * 1000).Format('yyyy-MM-dd'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     hour: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     deviceId: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     length: null, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -244,15 +93,33 @@ const data = reactive({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     price: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     remark: null 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  rules: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  rules: {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const { queryParams, form, rules } = toRefs(data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const {queryParams, form, rules} = toRefs(data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function getDevice() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  listDevice({online: 1, pageNum: 1, pageSize: 1000}).then(response => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    deviceOptions.value = response.rows.map(item => ({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      value: item.deviceId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      label: item.deviceId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    })); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }).catch(error => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    console.error('获取机台号列表失败:', error); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    proxy.$modal.notifyError('获取机台号列表失败'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 查询按配方1小时统计数据列表 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function getList() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   loading.value = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (!queryParams.value.deviceId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    queryParams.value.deviceId = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (!queryParams.value.remark) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    queryParams.value.remark = '7-19'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   listCalcSpec(queryParams.value).then(response => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     calcSpecList.value = response.rows; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     total.value = response.total; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -260,6 +127,37 @@ function getList() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//自定义方法 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function getSummaries(param) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const {columns, data} = param; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const sums = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  columns.forEach((column, index) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (index === 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      sums[index] = '合计'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (index != 3) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      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; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -293,6 +191,7 @@ function handleQuery() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 重置按钮操作 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function resetQuery() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   proxy.resetForm("queryRef"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  getDevice(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   handleQuery(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -345,12 +244,13 @@ function submitForm() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 删除按钮操作 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function handleDelete(row) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const _ids = row.id || ids.value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  proxy.$modal.confirm('是否确认删除按配方1小时统计数据编号为"' + _ids + '"的数据项?').then(function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proxy.$modal.confirm('是否确认删除按配方1小时统计数据编号为"' + _ids + '"的数据项?').then(function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return delCalcSpec(_ids); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }).then(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     getList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     proxy.$modal.msgSuccess("删除成功"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }).catch(() => {}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }).catch(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 导出按钮操作 */ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -360,5 +260,6 @@ function handleExport() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, `calcSpec_${new Date().getTime()}.xlsx`) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+getDevice(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 getList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </script> 
			 |