浏览代码

更新首页、完善质检操作界面

zhaoyaxiong 1 年之前
父节点
当前提交
7b00959237

二进制
ZRAdmin-vue-main/dist.zip


+ 7 - 0
ZRAdmin-vue-main/src/api/business/qainspectrecord.js

@@ -27,6 +27,13 @@ export function GetPercentOfPass(query) {
     params: query,
   })
 }
+export function AddSapDeliverDtlInspectResult(query) {
+  return request({
+    url: 'business/QaInspectRecord/AddSapDeliverDtlInspectResult',
+    method: 'post',
+    data: query,
+  })
+}
 /**
 * 新增质检管理/质检记录表
 * @param data

+ 7 - 1
ZRAdmin-vue-main/src/api/business/sapdeliverrecord.js

@@ -20,7 +20,13 @@ export function listSapDeliverNoCheck(query) {
     data: query,
   })
 }
-
+export function GetSapDeliverRecordSumList(query) {
+  return request({
+    url: 'business/SapDeliverRecord/GetSapDeliverRecordSumList',
+    method: 'get',
+    params: query,
+  })
+}
 
 /**
 * 新增接口管理/SAP交验单记录表

+ 16 - 4
ZRAdmin-vue-main/src/views/Business/BasBin/index.vue

@@ -34,20 +34,32 @@
       </el-row>
       <el-row>
         <el-form-item label="库位类型" prop="binType">
-          <el-select v-model="queryParams.binType" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
+          <!-- <el-select v-model="queryParams.binType" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
             <el-option v-for="dict in options.binTypeOptions" :key="dict.dictValue" :label="dict.dictLabel"
               :value="dict.dictValue">
               <dict-tag :options="options.binTypeOptions" :value="dict.dictValue" />
             </el-option>
-          </el-select>
+          </el-select> -->
+          <el-radio-group v-model="queryParams.binType" @change="handleQuery">
+            <el-radio-button>全部</el-radio-button>
+            <el-radio-button v-for="dict in options.binTypeOptions" :label="dict.dictValue">
+              {{ dict.dictLabel }}
+            </el-radio-button>
+          </el-radio-group>
         </el-form-item>
         <el-form-item label="使用标识" prop="status">
-          <el-select v-model="queryParams.status" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
+          <!-- <el-select v-model="queryParams.status" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
             <el-option v-for="dict in options.statusOptions" :key="dict.dictValue" :label="dict.dictLabel"
               :value="dict.dictValue">
               <dict-tag :options="options.statusOptions" :value="dict.dictValue" />
             </el-option>
-          </el-select>
+          </el-select> -->
+          <el-radio-group v-model="queryParams.status" @change="handleQuery">
+            <el-radio-button>全部</el-radio-button>
+            <el-radio-button v-for="dict in options.statusOptions" :label="dict.dictValue">
+              {{ dict.dictLabel }}
+            </el-radio-button>
+          </el-radio-group>
         </el-form-item>
         <el-form-item>
           <el-button icon="search" type="primary" @click="handleQuery">{{ $t('btn.search') }}</el-button>

+ 16 - 5
ZRAdmin-vue-main/src/views/Business/BasRegion/index.vue

@@ -18,20 +18,32 @@
           <el-input v-model="queryParams.regionName" placeholder="请输入库区名称" clearable @keyup.enter="handleQuery" />
         </el-form-item>
         <el-form-item label="显示状态" prop="visible">
-          <el-select v-model="queryParams.visible" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
+          <!-- <el-select v-model="queryParams.visible" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
             <el-option v-for="dict in options.visibleOptions" :key="dict.dictValue" :label="dict.dictLabel"
               :value="dict.dictValue">
               <dict-tag :options="options.visibleOptions" :value="dict.dictValue" />
             </el-option>
-          </el-select>
+          </el-select> -->
+          <el-radio-group v-model="queryParams.visible" @change="handleQuery">
+            <el-radio-button>全部</el-radio-button>
+            <el-radio-button v-for="dict in options.visibleOptions" :label="dict.dictValue">
+              {{ dict.dictLabel }}
+            </el-radio-button>
+          </el-radio-group>
         </el-form-item>
         <el-form-item label="使用标识" prop="status">
-          <el-select v-model="queryParams.status" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
+          <!-- <el-select v-model="queryParams.status" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
             <el-option v-for="dict in options.statusOptions" :key="dict.dictValue" :label="dict.dictLabel"
               :value="dict.dictValue">
               <dict-tag :options="options.statusOptions" :value="dict.dictValue" />
             </el-option>
-          </el-select>
+          </el-select> -->
+          <el-radio-group v-model="queryParams.status" @change="handleQuery">
+            <el-radio-button>全部</el-radio-button>
+            <el-radio-button v-for="dict in options.statusOptions" :label="dict.dictValue">
+              {{ dict.dictLabel }}
+            </el-radio-button>
+          </el-radio-group>
         </el-form-item>
         <el-form-item>
           <el-button icon="search" type="primary" @click="handleQuery">{{ $t('btn.search') }}</el-button>
@@ -218,7 +230,6 @@ function getList() {
     const { code, data } = res
     if (code == 200) {
       dataList.value = data.result
-      console.log(dataList)
       total.value = data.totalNum
       loading.value = false
     }

+ 33 - 24
ZRAdmin-vue-main/src/views/Business/InInstoreRecord/index.vue

@@ -23,9 +23,6 @@
         <el-form-item label="BN / SN码" prop="bnSnCode">
           <el-input v-model="queryParams.bnSnCode" placeholder="请输入" clearable @keyup.enter="handleQuery" />
         </el-form-item>
-
-      </el-row>
-      <el-row>
         <el-form-item label="物料编码" prop="materialCode">
           <el-input v-model="queryParams.materialCode" placeholder="请输入" clearable @keyup.enter="handleQuery" />
         </el-form-item>
@@ -36,36 +33,41 @@
           <el-input v-model="queryParams.materialSpec" placeholder="请输入" clearable @keyup.enter="handleQuery" />
         </el-form-item>
         <el-form-item label="入库结果" prop="result">
-          <el-select v-model="queryParams.result" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
+          <!-- <el-select v-model="queryParams.result" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
             <el-option v-for="dict in options.operationResultOptions" :key="dict.dictValue" :label="dict.dictLabel"
               :value="dict.dictValue">
               <dict-tag :options="options.operationResultOptions" :value="dict.dictValue" />
             </el-option>
-          </el-select>
+          </el-select> -->
+          <el-radio-group v-model="queryParams.result" @change="handleQuery">
+            <el-radio-button>全部</el-radio-button>
+            <el-radio-button v-for="dict in options.operationResultOptions" :label="dict.dictValue">
+              {{ dict.dictLabel }}
+            </el-radio-button>
+          </el-radio-group>
         </el-form-item>
         <el-form-item label="物料类型" prop="category">
-          <el-select v-model="queryParams.category" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
+          <!-- <el-select v-model="queryParams.category" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
             <el-option v-for="dict in options.materialTypeOptions" :key="dict.dictValue" :label="dict.dictLabel"
               :value="dict.dictValue">
               <dict-tag :options="options.materialTypeOptions" :value="dict.dictValue" />
             </el-option>
-          </el-select>
+          </el-select> -->
+          <el-radio-group v-model="queryParams.category" @change="handleQuery">
+            <el-radio-button>全部</el-radio-button>
+            <el-radio-button v-for="dict in options.materialTypeOptions" :label="dict.dictValue">
+              {{ dict.dictLabel }}
+            </el-radio-button>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item label="创建时间">
+          <el-date-picker v-model="queryCreateTime" style="width: 400px" type="datetimerange" range-separator="-"
+            @change="handleQuery" start-placeholder="开始时间" end-placeholder="结束时间"></el-date-picker>
+        </el-form-item>
+        <el-form-item>
+          <el-button icon="search" type="primary" @click="handleQuery">{{ $t('btn.search') }}</el-button>
+          <el-button icon="refresh" @click="resetQuery">{{ $t('btn.reset') }}</el-button>
         </el-form-item>
-
-      </el-row>
-      <el-row>
-        <el-row>
-          <el-form-item label="创建时间">
-            <el-date-picker v-model="queryCreateTime" style="width: 400px" type="datetimerange" range-separator="-"
-              @change="handleQuery" start-placeholder="开始时间" end-placeholder="结束时间"></el-date-picker>
-          </el-form-item>
-          <el-form-item>
-            <el-button icon="search" type="primary" @click="handleQuery">{{ $t('btn.search') }}</el-button>
-            <el-button icon="refresh" @click="resetQuery">{{ $t('btn.reset') }}</el-button>
-          </el-form-item>
-
-        </el-row>
-
       </el-row>
     </el-form>
     <!-- 工具区域 -->
@@ -367,8 +369,15 @@ function getList() {
 // 查询
 function handleQuery() {
   queryParams.pageNum = 1
-  queryParams.beginTime = queryCreateTime.value[0]
-  queryParams.endTime = queryCreateTime.value[1]
+  if (queryCreateTime.value != null) {
+    queryParams.beginTime = queryCreateTime.value[0]
+    queryParams.endTime = queryCreateTime.value[1]
+    // console.log(queryParams)
+  }
+  else {
+    queryParams.beginTime = undefined
+    queryParams.endTime = undefined
+  }
   getList()
 }
 

+ 25 - 8
ZRAdmin-vue-main/src/views/Business/InRetreatRecord/index.vue

@@ -24,23 +24,33 @@
             @keyup.enter="handleQuery" />
         </el-form-item>
         <el-form-item label="物料类型" prop="category">
-          <el-select v-model="queryParams.category" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
+          <!-- <el-select v-model="queryParams.category" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
             <el-option v-for="dict in options.materialTypeOptions" :key="dict.dictValue" :label="dict.dictLabel"
               :value="dict.dictValue">
               <dict-tag :options="options.materialTypeOptions" :value="dict.dictValue" />
             </el-option>
-          </el-select>
+          </el-select> -->
+          <el-radio-group v-model="queryParams.category" @change="handleQuery">
+            <el-radio-button>全部</el-radio-button>
+            <el-radio-button v-for="dict in options.materialTypeOptions" :label="dict.dictValue">
+              {{ dict.dictLabel }}
+            </el-radio-button>
+          </el-radio-group>
         </el-form-item>
         <el-form-item label="关键件标识" prop="keyFlag">
-          <el-select v-model="queryParams.keyFlag" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
+          <!-- <el-select v-model="queryParams.keyFlag" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
             <el-option v-for="dict in options.keyFlagOptions" :key="dict.dictValue" :label="dict.dictLabel"
               :value="dict.dictValue">
               <dict-tag :options="options.keyFlagOptions" :value="dict.dictValue" />
             </el-option>
-          </el-select>
+          </el-select> -->
+          <el-radio-group v-model="queryParams.keyFlag" @change="handleQuery">
+            <el-radio-button>全部</el-radio-button>
+            <el-radio-button v-for="dict in options.keyFlagOptions" :label="dict.dictValue">
+              {{ dict.dictLabel }}
+            </el-radio-button>
+          </el-radio-group>
         </el-form-item>
-      </el-row>
-      <el-row>
         <el-form-item label="BN / SN码" prop="bnSnCode">
           <el-input v-model="queryParams.bnSnCode" placeholder="请输入" class="z-el-input" clearable
             @keyup.enter="handleQuery" />
@@ -350,8 +360,15 @@ function getList() {
 // 查询
 function handleQuery() {
   queryParams.pageNum = 1
-  queryParams.beginTime = queryCreateTime.value[0]
-  queryParams.endTime = queryCreateTime.value[1]
+  if (queryCreateTime.value != null) {
+    queryParams.beginTime = queryCreateTime.value[0]
+    queryParams.endTime = queryCreateTime.value[1]
+    // console.log(queryParams)
+  }
+  else {
+    queryParams.beginTime = undefined
+    queryParams.endTime = undefined
+  }
   getList()
 }
 

+ 33 - 11
ZRAdmin-vue-main/src/views/Business/OutAssembleRecord/index.vue

@@ -20,36 +20,51 @@
             @keyup.enter="handleQuery" />
         </el-form-item>
         <el-form-item label="物料类型" prop="category">
-          <el-select v-model="queryParams.category" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
+          <!-- <el-select v-model="queryParams.category" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
             <el-option v-for="dict in options.materialTypeOptions" :key="dict.dictValue" :label="dict.dictLabel"
               :value="dict.dictValue">
               <dict-tag :options="options.materialTypeOptions" :value="dict.dictValue" />
             </el-option>
-          </el-select>
+          </el-select> -->
+          <el-radio-group v-model="queryParams.category" @change="handleQuery">
+            <el-radio-button>全部</el-radio-button>
+            <el-radio-button v-for="dict in options.materialTypeOptions" :label="dict.dictValue">
+              {{ dict.dictLabel }}
+            </el-radio-button>
+          </el-radio-group>
         </el-form-item>
         <el-form-item label="规格型号 / 图号" prop="materialSpec">
           <el-input v-model="queryParams.materialSpec" placeholder="请输入" class="z-el-input" clearable
             @keyup.enter="handleQuery" />
         </el-form-item>
         <el-form-item label="装配结果" prop="result">
-          <el-select v-model="queryParams.result" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
+          <!-- <el-select v-model="queryParams.result" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
             <el-option v-for="dict in options.operationResultOptions" :key="dict.dictValue" :label="dict.dictLabel"
               :value="dict.dictValue">
               <dict-tag :options="options.operationResultOptions" :value="dict.dictValue" />
             </el-option>
-          </el-select>
+          </el-select> -->
+          <el-radio-group v-model="queryParams.result" @change="handleQuery">
+            <el-radio-button>全部</el-radio-button>
+            <el-radio-button v-for="dict in options.operationResultOptions" :label="dict.dictValue">
+              {{ dict.dictLabel }}
+            </el-radio-button>
+          </el-radio-group>
         </el-form-item>
         <el-form-item label="关键件标识" prop="keyFlag">
-          <el-select v-model="queryParams.keyFlag" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
+          <!-- <el-select v-model="queryParams.keyFlag" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
             <el-option v-for="dict in options.keyFlagOptions" :key="dict.dictValue" :label="dict.dictLabel"
               :value="dict.dictValue">
               <dict-tag :options="options.keyFlagOptions" :value="dict.dictValue" />
             </el-option>
-          </el-select>
+          </el-select> -->
+          <el-radio-group v-model="queryParams.keyFlag" @change="handleQuery">
+            <el-radio-button>全部</el-radio-button>
+            <el-radio-button v-for="dict in options.keyFlagOptions" :label="dict.dictValue">
+              {{ dict.dictLabel }}
+            </el-radio-button>
+          </el-radio-group>
         </el-form-item>
-
-      </el-row>
-      <el-row>
         <el-form-item label="生产令号" prop="bomNo">
           <el-input v-model="queryParams.bomNo" placeholder="请输入" class="z-el-input" clearable
             @keyup.enter="handleQuery" />
@@ -368,8 +383,15 @@ function getList() {
 // 查询
 function handleQuery() {
   queryParams.pageNum = 1
-  queryParams.beginTime = queryCreateTime.value[0]
-  queryParams.endTime = queryCreateTime.value[1]
+  if (queryCreateTime.value != null) {
+    queryParams.beginTime = queryCreateTime.value[0]
+    queryParams.endTime = queryCreateTime.value[1]
+    // console.log(queryParams)
+  }
+  else {
+    queryParams.beginTime = undefined
+    queryParams.endTime = undefined
+  }
   getList()
 }
 

+ 33 - 14
ZRAdmin-vue-main/src/views/Business/OutOutstoreRecord/index.vue

@@ -19,8 +19,6 @@
           <el-input v-model="queryParams.bomNo" placeholder="请输入" class="z-el-input" clearable
             @keyup.enter="handleQuery" />
         </el-form-item>
-      </el-row>
-      <el-row>
         <el-form-item label="物料编码" prop="materialCode">
           <el-input v-model="queryParams.materialCode" placeholder="请输入" class="z-el-input" clearable
             @keyup.enter="handleQuery" />
@@ -30,41 +28,55 @@
             @keyup.enter="handleQuery" />
         </el-form-item>
         <el-form-item label="物料类型" prop="category">
-          <el-select v-model="queryParams.category" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
+          <!-- <el-select v-model="queryParams.category" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
             <el-option v-for="dict in options.materialTypeOptions" :key="dict.dictValue" :label="dict.dictLabel"
               :value="dict.dictValue">
               <dict-tag :options="options.materialTypeOptions" :value="dict.dictValue" />
             </el-option>
-          </el-select>
+          </el-select> -->
+          <el-radio-group v-model="queryParams.category" @change="handleQuery">
+            <el-radio-button>全部</el-radio-button>
+            <el-radio-button v-for="dict in options.materialTypeOptions" :label="dict.dictValue">
+              {{ dict.dictLabel }}
+            </el-radio-button>
+          </el-radio-group>
         </el-form-item>
         <el-form-item label="规格型号 / 图号" prop="materialSpec">
           <el-input v-model="queryParams.materialSpec" placeholder="请输入" class="z-el-input" clearable
             @keyup.enter="handleQuery" />
         </el-form-item>
-      </el-row>
-      <el-row>
         <el-form-item label="出库结果" prop="result">
-          <el-select v-model="queryParams.result" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
+          <!-- <el-select v-model="queryParams.result" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
             <el-option v-for="dict in options.operationResultOptions" :key="dict.dictValue" :label="dict.dictLabel"
               :value="dict.dictValue">
               <dict-tag :options="options.operationResultOptions" :value="dict.dictValue" />
             </el-option>
-          </el-select>
+          </el-select> -->
+          <el-radio-group v-model="queryParams.result" @change="handleQuery">
+            <el-radio-button>全部</el-radio-button>
+            <el-radio-button v-for="dict in options.operationResultOptions" :label="dict.dictValue">
+              {{ dict.dictLabel }}
+            </el-radio-button>
+          </el-radio-group>
         </el-form-item>
         <el-form-item label="关键件标识" prop="keyFlag">
-          <el-select v-model="queryParams.keyFlag" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
+          <!-- <el-select v-model="queryParams.keyFlag" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
             <el-option v-for="dict in options.keyFlagOptions" :key="dict.dictValue" :label="dict.dictLabel"
               :value="dict.dictValue">
               <dict-tag :options="options.keyFlagOptions" :value="dict.dictValue" />
             </el-option>
-          </el-select>
+          </el-select> -->
+          <el-radio-group v-model="queryParams.keyFlag" @change="handleQuery">
+            <el-radio-button>全部</el-radio-button>
+            <el-radio-button v-for="dict in options.keyFlagOptions" :label="dict.dictValue">
+              {{ dict.dictLabel }}
+            </el-radio-button>
+          </el-radio-group>
         </el-form-item>
         <el-form-item label="BN / SN码">
           <el-input v-model="queryParams.bnSnCode" placeholder="请输入" class="z-el-input" clearable
             @keyup.enter="handleQuery" />
         </el-form-item>
-      </el-row>
-      <el-row>
         <el-form-item label="创建人">
           <el-input v-model="queryParams.roleName" placeholder="请输入" class="z-el-input" clearable
             @keyup.enter="handleQuery" />
@@ -348,8 +360,15 @@ function getList() {
 // 查询
 function handleQuery() {
   queryParams.pageNum = 1
-  queryParams.beginTime = queryCreateTime.value[0]
-  queryParams.endTime = queryCreateTime.value[1]
+  if (queryCreateTime.value != null) {
+    queryParams.beginTime = queryCreateTime.value[0]
+    queryParams.endTime = queryCreateTime.value[1]
+    // console.log(queryParams)
+  }
+  else {
+    queryParams.beginTime = undefined
+    queryParams.endTime = undefined
+  }
   getList()
 }
 

+ 151 - 422
ZRAdmin-vue-main/src/views/Business/QaInspect/index.vue

@@ -8,282 +8,100 @@
 -->
 <template>
   <div>
-    <el-form :model="queryParams" label-position="right" inline ref="queryRef" v-show="showSearch" @submit.prevent
-      size="large">
-      <el-row>
-        <el-form-item label="交验单号" prop="deliverNo">
-          <el-select v-model="queryParamDeliverNo" placeholder="请选择" @change="handleQuery">
-            <el-option v-for="dict in sapDeliverNoCheck" :key="dict.deliverNo" :label="dict.deliverNo"
-              :value="dict.deliverNo">
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="生产令号" prop="bomNo">
-          <el-input v-model="queryParams.bomNo" placeholder="请输入" class="z-el-input" clearable
-            @keyup.enter="handleQuery" />
-        </el-form-item>
-        <el-form-item label="BN / SN码" prop="bnSnCode">
-          <el-input v-model="queryParams.bnSnCode" placeholder="请输入" class="z-el-input" clearable
-            @keyup.enter="handleQuery" />
-        </el-form-item>
-      </el-row>
-      <el-row>
-        <el-form-item label="物料编码" prop="materialCode">
-          <el-input v-model="queryParams.materialCode" placeholder="请输入" class="z-el-input" clearable
-            @keyup.enter="handleQuery" />
-        </el-form-item>
-        <el-form-item label="物料名称" prop="materialName">
-          <el-input v-model="queryParams.materialName" placeholder="请输入" class="z-el-input" clearable
-            @keyup.enter="handleQuery" />
-        </el-form-item>
-        <el-form-item label="物料类型" prop="category">
-          <el-select v-model="queryParams.category" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
-            <el-option v-for="dict in options.materialTypeOptions" :key="dict.dictValue" :label="dict.dictLabel"
-              :value="dict.dictValue">
-              <dict-tag :options="options.materialTypeOptions" :value="dict.dictValue" />
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="规格型号 / 图号" prop="materialSpec">
-          <el-input v-model="queryParams.materialSpec" placeholder="请输入" class="z-el-input" clearable
-            @keyup.enter="handleQuery" />
-        </el-form-item>
-      </el-row>
-      <el-row>
-        <el-form-item label="关键件标识" prop="keyFlag">
-          <el-select v-model="queryParams.keyFlag" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
-            <el-option v-for="dict in options.keyFlagOptions" :key="dict.dictValue" :label="dict.dictLabel"
-              :value="dict.dictValue">
-              <dict-tag :options="options.keyFlagOptions" :value="dict.dictValue" />
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="质检结果" prop="checkResult">
-          <el-select v-model="queryParams.checkResult" placeholder="请选择" clearable style="width:120px"
-            @change="handleQuery">
-            <el-option v-for="dict in options.qaResultOptions" :key="dict.dictValue" :label="dict.dictLabel"
-              :value="dict.dictValue">
-              <dict-tag :options="options.qaResultOptions" :value="dict.dictValue" />
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="入库结果" prop="instoreResult">
-          <el-select v-model="queryParams.instoreResult" placeholder="请选择" clearable style="width:120px"
-            @change="handleQuery">
-            <el-option v-for="dict in options.operationResultOptions" :key="dict.dictValue" :label="dict.dictLabel"
-              :value="dict.dictValue">
-              <dict-tag :options="options.operationResultOptions" :value="dict.dictValue" />
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item>
-          <el-button icon="search" type="primary" @click="handleQuery">{{ $t('btn.search') }}</el-button>
-          <el-button icon="refresh" @click="resetQuery">{{ $t('btn.reset') }}</el-button>
-          <el-button icon="finished" type="primary">提交</el-button>
-        </el-form-item>
-      </el-row>
-    </el-form>
-    <!-- 工具区域 -->
-    <el-row :gutter="10" class="mb8">
-      <!-- <el-col :span="1.5">
-        <el-button type="primary" v-hasPermi="['business:qainspectrecord:add']" plain icon="plus" @click="handleAdd">
-          {{ $t('btn.add') }}
-        </el-button>
-      </el-col> -->
-      <!-- <el-col :span="1.5">
-        <el-button type="success" :disabled="single" v-hasPermi="['business:qainspectrecord:edit']" plain icon="edit"
-          @click="handleUpdate">
-          {{ $t('btn.edit') }}
-        </el-button>
-      </el-col> -->
-      <!-- <el-col :span="1.5">
-        <el-button type="danger" :disabled="multiple" v-hasPermi="['business:qainspectrecord:delete']" plain icon="delete"
-          @click="handleDelete">
-          {{ $t('btn.delete') }}
-        </el-button>
-      </el-col> -->
-      <!-- <el-col :span="1.5">
-        <el-button type="warning" plain icon="Download" @click="handleExport"
-          v-hasPermi="['business:qainspectrecord:export']">
-          {{ $t('btn.export') }}
-        </el-button>
-      </el-col> -->
-      <right-toolbar v-model:showSearch="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
-    </el-row>
-
-    <!-- 数据区域 -->
-    <el-table :data="dataList" v-loading="loading" ref="table" highlight-current-row @sort-change="sortChange"
-      @selection-change="handleSelectionChange">
-      <el-table-column type="index" label="序号" width="50" align="center" />
-      <el-table-column prop="id" label="ID" align="center" v-if="columns.showColumn('id')" />
-      <el-table-column prop="deliverNo" label="交验单号" align="center" :show-overflow-tooltip="true" width="150"
-        v-if="columns.showColumn('deliverNo')" />
-      <el-table-column prop="checkName" label="送检人员" align="center" :show-overflow-tooltip="true"
-        v-if="columns.showColumn('checkName')" />
-      <el-table-column prop="bomNo" label="生产令号" align="center" :show-overflow-tooltip="true"
-        v-if="columns.showColumn('bomNo')" />
-      <el-table-column prop="rowNo" label="行项目" align="center" v-if="columns.showColumn('rowNo')" />
-      <el-table-column prop="category" label="物料类型" align="center" :show-overflow-tooltip="true"
-        v-if="columns.showColumn('category')">
-        <template #default="scope">
-          <dict-tag :options="options.materialTypeOptions" :value="scope.row.category" />
-        </template>
-      </el-table-column>
-      <el-table-column prop="materialCode" label="物料编码" align="center" :show-overflow-tooltip="true" width="150"
-        v-if="columns.showColumn('materialCode')" />
-      <el-table-column prop="materialName" label="物料名称" align="center" :show-overflow-tooltip="true" width="120"
-        v-if="columns.showColumn('materialName')" />
-      <el-table-column prop="materialSpec" label="规格型号/图号" align="center" :show-overflow-tooltip="true" width="120"
-        v-if="columns.showColumn('materialSpec')" />
-      <el-table-column prop="keyFlag" label="关键件" align="center" v-if="columns.showColumn('keyFlag')">
-        <template #default="scope">
-          <el-icon v-if="scope.row.keyFlag" size="large" color="red">
-            <StarFilled />
-          </el-icon>
-          <el-icon v-else />
-        </template>
-      </el-table-column>
-      <el-table-column prop="bnSnCode" label="BN / SN码" align="center" :show-overflow-tooltip="true"
-        v-if="columns.showColumn('bnSnCode')" />
-      <el-table-column prop="qty" label="交验单数量" align="center" v-if="columns.showColumn('qty')" />
-      <el-table-column prop="spotCheckQty" label="抽检数量" align="center" v-if="columns.showColumn('spotCheckQty')" />
-      <el-table-column prop="checkQty" label="质检数量" align="center" v-if="columns.showColumn('checkQty')" />
-      <el-table-column prop="checkResult" label="质检结果" align="center" :show-overflow-tooltip="true"
-        v-if="columns.showColumn('checkResult')">
-        <template #default="scope">
-          <dict-tag :options="options.qaResultOptions" :value="scope.row.checkResult" />
-        </template>
-      </el-table-column>
-      <el-table-column prop="instoreQty" label="入库数量" align="center" v-if="columns.showColumn('instoreQty')" />
-      <el-table-column prop="instoreResult" label="入库结果" align="center" v-if="columns.showColumn('instoreResult')">
-        <template #default="scope">
-          <dict-tag :options="options.operationResultOptions" :value="scope.row.instoreResult" />
-        </template>
-      </el-table-column>
-      <el-table-column prop="createBy" label="创建人" align="center" v-if="columns.showColumn('createBy')" />
-      <el-table-column prop="createTime" label="创建时间" align="center" width="160"
-        v-if="columns.showColumn('createTime')" />
-      <el-table-column prop="updateBy" label="更新人" align="center" v-if="columns.showColumn('updateBy')" />
-      <el-table-column prop="updateTime" label="更新时间" align="center" width="160"
-        v-if="columns.showColumn('updateTime')" />
-      <el-table-column prop="remark" label="备注" align="center" :show-overflow-tooltip="true"
-        v-if="columns.showColumn('remark')" />
-      <el-table-column label="操作" align="center" width="160">
-        <template #default="scope">
-          <el-button type="primary" plain icon="view" @click="CheckOperation(scope.row)">质检</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-    <pagination class="mt10" background :total="total" v-model:page="queryParams.pageNum"
-      v-model:limit="queryParams.pageSize" @pagination="getList" />
-
-    <!-- 添加或修改质检管理/质检记录表对话框 -->
-    <el-dialog :title="title" :lock-scroll="false" v-model="open">
-      <el-row :gutter="10">
-        <el-col :span="12">
-          <el-row :gutter="dialogRowGutter" class="dialog-table-row" align="middle">
-            <el-col :span="dialogColumnWidth">
-              <el-text class="dialog-table-row-head">交验单号</el-text>
-            </el-col>
-            <el-col :span="dialogColumnCellWidth">
-              <el-text>{{ form.deliverNo }}</el-text>
-            </el-col>
-          </el-row>
-          <el-row :gutter="dialogRowGutter" class="dialog-table-row" align="middle">
-            <el-col :span="dialogColumnWidth">
-              <el-text class="dialog-table-row-head">生产令号</el-text>
-            </el-col>
-            <el-col :span="dialogColumnCellWidth">
-              <el-text>{{ form.bomNo }}</el-text>
-            </el-col>
-          </el-row>
-          <el-row :gutter="dialogRowGutter" class="dialog-table-row" align="middle">
-            <el-col :span="dialogColumnWidth">
-              <el-text class="dialog-table-row-head">物料类型</el-text>
-            </el-col>
-            <el-col :span="dialogColumnCellWidth">
-              <dict-tag :options="options.materialTypeOptions" :value="form.category" />
-            </el-col>
-          </el-row>
-          <el-row :gutter="dialogRowGutter" class="dialog-table-row" align="middle">
-            <el-col :span="dialogColumnWidth">
-              <el-text class="dialog-table-row-head">物料名称</el-text>
-            </el-col>
-            <el-col :span="dialogColumnCellWidth">
-              <el-text>{{ form.materialName }}</el-text>
-            </el-col>
-          </el-row>
-          <el-row :gutter="dialogRowGutter" class="dialog-table-row" align="middle">
-            <el-col :span="dialogColumnWidth">
-              <el-text class="dialog-table-row-head">规格型号 / 图号</el-text>
-            </el-col>
-            <el-col :span="dialogColumnCellWidth">
-              <el-text>{{ form.materialSpec }}</el-text>
-            </el-col>
-          </el-row>
-          <el-row :gutter="dialogRowGutter" class="dialog-table-row" align="middle">
-            <el-col :span="dialogColumnWidth">
-              <el-text class="dialog-table-row-head">关键件</el-text>
-            </el-col>
-            <el-col :span="dialogColumnCellWidth">
-              <el-icon v-if="form.keyFlag == 1" size="large" color="red">
-                <StarFilled />
-              </el-icon>
-              <el-icon v-else />
-            </el-col>
-          </el-row>
-          <el-row :gutter="dialogRowGutter" class="dialog-table-row" align="middle">
-            <el-col :span="dialogColumnWidth">
-              <el-text class="dialog-table-row-head">BN / SN码</el-text>
-            </el-col>
-            <el-col :span="dialogColumnCellWidth">
-              <el-text>{{ form.bnSnCode }}</el-text>
-            </el-col>
-          </el-row>
-          <el-row :gutter="dialogRowGutter" class="dialog-table-row" align="middle">
-            <el-col :span="dialogColumnWidth">
-              <el-text class="dialog-table-row-head">交验单数量</el-text>
-            </el-col>
-            <el-col :span="dialogColumnCellWidth">
-              <el-text>{{ form.qty }}</el-text>
-            </el-col>
-          </el-row>
-          <el-row :gutter="dialogRowGutter" class="dialog-table-row" align="middle">
-            <el-col :span="dialogColumnWidth">
-              <el-text class="dialog-table-row-head">质检数量</el-text>
-            </el-col>
-            <el-col :span="dialogColumnCellWidth">
-              <el-text>{{ form.checkQty }}</el-text>
-            </el-col>
-          </el-row>
-          <el-row :gutter="dialogRowGutter" class="dialog-table-row" align="middle">
-            <el-col :span="dialogColumnWidth">
-              <el-text class="dialog-table-row-head">质检结果</el-text>
-            </el-col>
-            <el-col :span="dialogColumnCellWidth">
-              <dict-tag :options="options.qaResultOptions" :value="form.checkResult" />
-            </el-col>
-          </el-row>
-        </el-col>
-        <el-col :span="12">
-          <el-form ref="formRef" :model="form" :rules="rules" label-width="100px">
-            <el-form-item label="BN / SN码">
-
+    <el-row :gutter="30" justify="space-evenly">
+      <el-col :span="9">
+        <el-form ref="formRef" :model="form" :rules="rules" label-width="100px" size="large"
+          style="border:solid 1px var(--el-border-color);border-radius:4px;padding:20px;">
+          <el-row>
+            <el-form-item label="交验单号" prop="deliverNo">
+              <!-- <el-radio-group v-model="queryParamDeliverNo" @change="handleQuery">
+                  <el-radio-button v-for="dict in sapDeliverNoCheck" :label="dict.deliverNo">
+                    {{ dict.deliverNo }}
+                  </el-radio-button>
+                </el-radio-group> -->
+              <el-select v-model="queryParams.deliverNo" placeholder="请选择" @change="handleQuery">
+                <el-option v-for="dict in sapDeliverNoCheck" :key="dict.deliverNo" :label="dict.deliverNo"
+                  :value="dict.deliverNo">
+                </el-option>
+              </el-select>
             </el-form-item>
-            <el-form-item label="合格数量">
-
+            <el-button icon="finished" type="success" style="margin-left:10px;">提交</el-button>
+            <!-- <el-button icon="refresh" style="margin-left:10px;">重置</el-button> -->
+            <el-form-item label="质检进度" prop="isComplate">
+              <el-radio-group v-model="queryParams.isComplate" @change="handleQuery">
+                <el-radio-button>全部</el-radio-button>
+                <el-radio-button :label="true">未完成</el-radio-button>
+              </el-radio-group>
             </el-form-item>
-            <el-form-item label="不合格数量">
-
+          </el-row>
+          <!-- <el-form-item label="质检结果" prop="checkResult">
+            <el-radio-group v-model="queryParams.checkResult" @change="handleQuery">
+              <el-radio-button :label=null>全部</el-radio-button>
+              <el-radio-button v-for="dict in options.qaResultOptions" :label="dict.dictValue">
+                  {{ dict.dictLabel }}
+                </el-radio-button>
+            </el-radio-group>
+          </el-form-item> -->
+          <el-row>
+            <el-form-item prop="materialSpec">
+              <template #label>
+                <el-text>物料</el-text>
+              </template>
+              <el-input v-model="queryParams.materialSpec" clearable placeholder="请选择输入物料图号"
+                @change="materialCurrentChange" />
             </el-form-item>
-          </el-form>
-        </el-col>
-      </el-row>
-      <template #footer v-if="opertype != 3">
-        <el-button text @click="cancel">{{ $t('btn.cancel') }}</el-button>
-        <el-button type="primary" @click="submitForm">{{ $t('btn.submit') }}</el-button>
-      </template>
-    </el-dialog>
+            <!-- <el-button type="primary" icon="search" style="margin-left: 10px;" @click="materialCurrentChange"></el-button> -->
+          </el-row>
+          <el-form-item prop="bnSnCode">
+            <template #label>
+              <el-text>BN / SN码</el-text>
+            </template>
+            <el-input v-model="form.bnSnCode" placeholder="请输入BN / SN码" />
+          </el-form-item>
+          <el-form-item prop="CheckOkQty">
+            <template #label>
+              <el-text>合格数量</el-text>
+            </template>
+            <el-input-number v-model="form.CheckOkQty" :min="0" :max="form.sumQty - form.sumCheckQty - form.CheckNgQty" />
+          </el-form-item>
+          <el-form-item prop="CheckNgQty">
+            <template #label>
+              <el-text type="danger">不合格数量</el-text>
+            </template>
+            <el-input-number v-model="form.CheckNgQty" :min="0" :max="form.sumQty - form.sumCheckQty"
+              :change="NGQtyToOKQty()" />
+          </el-form-item>
+          <el-form-item>
+            <el-button icon="check" type="primary" @click="submitForm">{{ $t('btn.submit') }}</el-button>
+            <el-button icon="refresh" @click="reset(), handleQuery()">{{ $t('btn.reset') }}</el-button>
+          </el-form-item>
+        </el-form>
+      </el-col>
+      <el-col :span="15">
+        <!-- 数据区域 -->
+        <el-card shadow="never">
+          <el-card style="
+          height: 130px;
+               width: 450px;
+               margin: 5px;
+               float: left;" shadow="hover" v-for="cell in dataList">
+            <template #header>
+              <el-text size="large">{{ cell.materialName }}</el-text>
+              <el-text size="large" v-if="!cell.materialName.includes(cell.materialSpec)">{{ " " + cell.materialSpec
+              }}</el-text>
+              <el-text style="float:right;border:1px solid red;border-radius: 2px;padding:2px 4px;" type="danger"
+                size="large" v-if="cell.sumQty == cell.sumCheckQty">完成</el-text>
+            </template>
+            <el-form :model="cell" label-width="80px" inline>
+              <el-form-item label="交验单数量">{{ cell.sumQty }}</el-form-item>
+              <el-form-item label="质检数量">{{ cell.sumCheckQty }}</el-form-item>
+            </el-form>
+          </el-card>
+          <pagination class="mt10" style="clear:both;" background :total="total" v-model:page="queryParams.pageNum"
+            v-model:limit="queryParams.pageSize" @pagination="getList" />
+        </el-card>
+      </el-col>
+    </el-row>
 
   </div>
 </template>
@@ -291,11 +109,11 @@
 <script setup name="qainspectrecord">
 import {
   listQaInspectRecord, addQaInspectRecord, delQaInspectRecord, updateQaInspectRecord, getQaInspectRecord,
-  exportQaInspectRecord
+  exportQaInspectRecord, AddSapDeliverDtlInspectResult
 } from '@/api/business/qainspectrecord.js'
 
 import {
-  listSapDeliverRecord, getSapDeliverRecord
+  listSapDeliverRecord, getSapDeliverRecord, GetSapDeliverRecordSumList
 } from '@/api/business/sapdeliverrecord.js'
 
 import { listSapDeliverNoCheck } from '@/api/business/sapdeliverrecord.js'
@@ -303,13 +121,8 @@ import { reactive } from 'vue';
 
 const { proxy } = getCurrentInstance()
 
-const dialogColumnWidth = 7
-const dialogColumnCellWidth = 17
-const dialogRowGutter = 10
 // 选中inspectId数组数组
 const ids = ref([])
-const single = ref(true)
-const multiple = ref(true)
 const loading = ref(false)
 const showSearch = ref(true)
 const queryParams = reactive({
@@ -318,47 +131,22 @@ const queryParams = reactive({
   sort: '',
   sortType: 'asc',
 })
-const queryParamDeliverNo = ref()
 
-const columns = ref([
-  { visible: false, prop: 'id', label: 'ID' },
-  { visible: true, prop: 'deliverNo', label: '交验单号' },
-  { visible: false, prop: 'checkName', label: '送检人员' },
-  { visible: true, prop: 'bomNo', label: '生产令号' },
-  { visible: false, prop: 'rowNo', label: '行项目' },
-  { visible: true, prop: 'category', label: '物料类型' },
-  { visible: false, prop: 'materialCode', label: '物料编码' },
-  { visible: true, prop: 'materialName', label: '物料名称' },
-  { visible: true, prop: 'materialSpec', label: '规格型号/图号' },
-  { visible: true, prop: 'keyFlag', label: '关键件标识' },
-  { visible: true, prop: 'bnSnCode', label: 'BN / SN码' },
-  { visible: true, prop: 'qty', label: '交验单数量' },
-  { visible: false, prop: 'spotCheckQty', label: '抽检数量' },
-  { visible: true, prop: 'checkQty', label: '质检数量' },
-  { visible: true, prop: 'checkResult', label: '质检结果' },
-  { visible: true, prop: 'instoreQty', label: '入库数量' },
-  { visible: true, prop: 'instoreResult', label: '入库结果' },
-  { visible: false, prop: 'createBy', label: '创建人' },
-  { visible: false, prop: 'createTime', label: '创建时间' },
-  { visible: false, prop: 'updateBy', label: '更新人' },
-  { visible: false, prop: 'updateTime', label: '更新时间' },
-  { visible: false, prop: 'remark', label: '备注' },
-])
 const total = ref(0)
 const dataList = ref([])
 const sapDeliverNoCheck = ref([])
 const queryRef = ref()
-const defaultTime = ref([new Date(2000, 1, 1, 0, 0, 0), new Date(2000, 2, 1, 23, 59, 59)])
 
 function getList() {
   loading.value = true
-  listSapDeliverRecord(queryParams).then(res => {
+  GetSapDeliverRecordSumList(queryParams).then(res => {
     const { code, data } = res
     if (code == 200) {
       dataList.value = data.result
       total.value = data.totalNum
       loading.value = false
     }
+    // console.log(dataList.value)
   })
 }
 function getNoCheck() {
@@ -368,7 +156,7 @@ function getNoCheck() {
     if (code == 200) {
       sapDeliverNoCheck.value = data
       if (data.length > 0) {
-        queryParamDeliverNo.value = sapDeliverNoCheck.value[0].deliverNo
+        queryParams.deliverNo = sapDeliverNoCheck.value[0].deliverNo
         handleQuery()
       }
     }
@@ -377,8 +165,8 @@ function getNoCheck() {
 getNoCheck()
 // 查询
 function handleQuery() {
-  queryParams.deliverNo = queryParamDeliverNo.value
   queryParams.pageNum = 1
+  // console.log(queryParams)
   getList()
 }
 
@@ -388,27 +176,6 @@ function resetQuery() {
   handleQuery()
 }
 
-// 多选框选中数据
-function handleSelectionChange(selection) {
-  ids.value = selection.map((item) => item.inspectId);
-  single.value = selection.length != 1
-  multiple.value = !selection.length;
-}
-
-// 自定义排序
-function sortChange(column) {
-  var sort = undefined
-  var sortType = undefined
-
-  if (column.prop != null && column.order != null) {
-    sort = column.prop
-    sortType = column.order
-
-  }
-  queryParams.sort = sort
-  queryParams.sortType = sortType
-  handleQuery()
-}
 
 /*************** form操作 ***************/
 const formRef = ref()
@@ -419,19 +186,9 @@ const open = ref(false)
 const state = reactive({
   form: {},
   rules: {
-    inspectNo: [{ required: true, message: "质检记录单号不能为空", trigger: "blur" }],
-    deliverNo: [{ required: true, message: "交验单号不能为空", trigger: "blur" }],
-    bomNo: [{ required: true, message: "生产令号不能为空", trigger: "blur" }],
-    rowNo: [{ required: true, message: "交验单行项目不能为空", trigger: "blur", type: "number" }],
-    category: [{ required: true, message: "物料类型不能为空", trigger: "blur" }],
-    materialCode: [{ required: true, message: "物料编码不能为空", trigger: "blur" }],
-    materialName: [{ required: true, message: "物料名称不能为空", trigger: "blur" }],
-    materialSpec: [{ required: true, message: "规格型号/图号不能为空", trigger: "blur" }],
-    keyFlag: [{ required: true, message: "关键件标识不能为空", trigger: "blur" }],
+    // materialSpec: [{ required: true, message: "物料图号不能为空", trigger: "blur" }],
     bnSnCode: [{ required: true, message: "BN/SN码不能为空", trigger: "blur" }],
-    qty: [{ required: true, message: "交验单数量不能为空", trigger: "blur", type: "number" }],
-    checkQty: [{ required: true, message: "质检数量不能为空", trigger: "blur", type: "number" }],
-    result: [{ required: true, message: "质检结果不能为空", trigger: "blur" }],
+    CheckOkQty: [{ required: true, message: "合格数量不能为空", trigger: "blur", type: "number" }],
   },
   options: {
     keyFlagOptions: [], // 关键件标识字典
@@ -454,110 +211,82 @@ proxy.getDicts(dictParams).then((response) => {
   })
 })
 
-
-// 关闭dialog
-function cancel() {
-  open.value = false
+// 选择物料
+function materialCurrentChange(material) {
   reset()
+  queryParams.materialSpec = material
+  queryParams.pageNum = 1
+  loading.value = true
+  GetSapDeliverRecordSumList(queryParams).then(res => {
+    const { code, data } = res
+    if (code == 200) {
+      dataList.value = data.result
+      total.value = data.totalNum
+      loading.value = false
+      if (dataList.value.length > 0) {
+        form.value = dataList.value[0]
+        form.value.deliverNo = queryParams.deliverNo
+        form.value.CheckNgQty = 0
+        form.value.CheckOkQty = form.value.sumQty - form.value.sumCheckQty
+      }
+    }
+  })
 }
 
 // 重置表单
 function reset() {
   form.value = {
-    inspectId: undefined,
-    inspectNo: undefined,
-    deliverNo: undefined,
-    bomNo: undefined,
-    rowNo: undefined,
-    category: undefined,
     materialCode: undefined,
     materialName: undefined,
     materialSpec: undefined,
-    keyFlag: undefined,
-    bnSnCode: undefined,
-    qty: undefined,
-    checkQty: undefined,
-    inspectedBy: undefined,
-    inspectTime: undefined,
-    result: undefined,
-    createBy: undefined,
-    createTime: undefined,
-    updateBy: undefined,
-    updateTime: undefined,
-    remark: undefined,
+    sumQty: undefined,
+    sumCheckQty: undefined,
   };
+  queryParams.materialSpec = undefined
   proxy.resetForm("formRef")
 }
 
-// 添加按钮操作
-function handleAdd() {
-  reset();
-  open.value = true
-  title.value = '添加'
-  opertype.value = 1
-}
-
-// 质检按钮操作
-function CheckOperation(row) {
-  console.log(row)
-  reset()
-  form.value = row
-  open.value = true
-  title.value = "物料质检"
-  opertype.value = 2
+// 不合格数量联动合格数量
+function NGQtyToOKQty() {
+  if (form.value.sumQty < (form.value.sumCheckQty + form.value.CheckOkQty + form.value.CheckNgQty)) {
+    form.value.CheckOkQty = form.value.sumQty - form.value.sumCheckQty - form.value.CheckNgQty
+  }
 }
-
-// 添加&修改 表单提交
+// 质检表单提交
 function submitForm() {
   proxy.$refs["formRef"].validate((valid) => {
     if (valid) {
-      if (form.value.inspectId != undefined && opertype.value === 2) {
-        updateQaInspectRecord(form.value).then((res) => {
-          proxy.$modal.msgSuccess("修改成功")
-          open.value = false
-          getList()
-        })
-          .catch(() => { })
-      } else {
-        addQaInspectRecord(form.value).then((res) => {
-          proxy.$modal.msgSuccess("新增成功")
-          open.value = false
+      // console.log(form.value)
+      if (form.value.CheckOKQty == 0 && form.value.CheckNGQty == 0) {
+        proxy.$modal.msgWarning("请至少输入合格数量或不合格数量!")
+      }
+      else {
+        AddSapDeliverDtlInspectResult(form.value).then((res) => {
+          reset()
+          queryParams.materialSpec = undefined
+          proxy.$modal.msgSuccess("质检成功!")
           getList()
         })
-          .catch(() => { })
       }
+      // if (form.value.inspectId != undefined && opertype.value === 2) {
+      //   updateQaInspectRecord(form.value).then((res) => {
+      //     proxy.$modal.msgSuccess("修改成功")
+      //     open.value = false
+      //     getList()
+      //   })
+      //     .catch(() => { })
+      // } else {
+      //   addQaInspectRecord(form.value).then((res) => {
+      //     proxy.$modal.msgSuccess("新增成功")
+      //     open.value = false
+      //     getList()
+      //   })
+      //     .catch(() => { })
+      // }
     }
   })
 }
 
-// 删除按钮操作
-function handleDelete(row) {
-  const Ids = row.inspectId || ids.value
-
-  proxy
-    .$confirm('是否确认删除参数编号为"' + Ids + '"的数据项?')
-    .then(function () {
-      return delQaInspectRecord(Ids)
-    })
-    .then(() => {
-      getList()
-      proxy.$modal.msgSuccess("删除成功")
-    })
-    .catch(() => { })
-}
-
-// 导出按钮操作
-function handleExport() {
-  proxy
-    .$confirm('是否确认导出当前质检记录?', '警告', {
-      confirmButtonText: '确定',
-      cancelButtonText: '取消',
-      type: 'warning',
-    })
-    .then(async () => {
-      await exportQaInspectRecord(queryParams)
-    })
-}
 </script>
 
 <style lang="scss" scoped>

+ 41 - 15
ZRAdmin-vue-main/src/views/Business/QaInspectRecord/index.vue

@@ -23,8 +23,6 @@
           <el-input v-model="queryParams.bnSnCode" placeholder="请输入" class="z-el-input" clearable
             @keyup.enter="handleQuery" />
         </el-form-item>
-      </el-row>
-      <el-row>
         <el-form-item label="物料编码" prop="materialCode">
           <el-input v-model="queryParams.materialCode" placeholder="请输入" class="z-el-input" clearable
             @keyup.enter="handleQuery" />
@@ -34,52 +32,73 @@
             @keyup.enter="handleQuery" />
         </el-form-item>
         <el-form-item label="物料类型" prop="category">
-          <el-select v-model="queryParams.category" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
+          <!-- <el-select v-model="queryParams.category" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
             <el-option v-for="dict in options.materialTypeOptions" :key="dict.dictValue" :label="dict.dictLabel"
               :value="dict.dictValue">
               <dict-tag :options="options.materialTypeOptions" :value="dict.dictValue" />
             </el-option>
-          </el-select>
+          </el-select> -->
+          <el-radio-group v-model="queryParams.category" @change="handleQuery">
+            <el-radio-button>全部</el-radio-button>
+            <el-radio-button v-for="dict in options.materialTypeOptions" :label="dict.dictValue">
+              {{ dict.dictLabel }}
+            </el-radio-button>
+          </el-radio-group>
         </el-form-item>
         <el-form-item label="规格型号 / 图号" prop="materialSpec">
           <el-input v-model="queryParams.materialSpec" placeholder="请输入" class="z-el-input" clearable
             @keyup.enter="handleQuery" />
         </el-form-item>
         <el-form-item label="关键件标识" prop="keyFlag">
-          <el-select v-model="queryParams.keyFlag" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
+          <!-- <el-select v-model="queryParams.keyFlag" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
             <el-option v-for="dict in options.keyFlagOptions" :key="dict.dictValue" :label="dict.dictLabel"
               :value="dict.dictValue">
               <dict-tag :options="options.keyFlagOptions" :value="dict.dictValue" />
             </el-option>
-          </el-select>
+          </el-select> -->
+          <el-radio-group v-model="queryParams.keyFlag" @change="handleQuery">
+            <el-radio-button>全部</el-radio-button>
+            <el-radio-button v-for="dict in options.keyFlagOptions" :label="dict.dictValue">
+              {{ dict.dictLabel }}
+            </el-radio-button>
+          </el-radio-group>
         </el-form-item>
-      </el-row>
-      <el-row>
         <!-- <el-form-item label="创建人">
           <el-input v-model="queryParams.roleName" placeholder="请输入" class="z-el-input" clearable
             @keyup.enter="handleQuery" />
         </el-form-item> -->
         <el-form-item label="质检结果" prop="result">
-          <el-select v-model="queryParams.result" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
+          <!-- <el-select v-model="queryParams.result" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
             <el-option v-for="dict in options.qaResultOptions" :key="dict.dictValue" :label="dict.dictLabel"
               :value="dict.dictValue">
               <dict-tag :options="options.qaResultOptions" :value="dict.dictValue" />
             </el-option>
-          </el-select>
+          </el-select> -->
+          <el-radio-group v-model="queryParams.result" @change="handleQuery">
+            <el-radio-button>全部</el-radio-button>
+            <el-radio-button v-for="dict in options.qaResultOptions" :label="dict.dictValue">
+              {{ dict.dictLabel }}
+            </el-radio-button>
+          </el-radio-group>
         </el-form-item>
         <el-form-item label="入库结果" prop="instoreResult">
-          <el-select v-model="queryParams.instoreResult" placeholder="请选择" clearable style="width:120px"
+          <!-- <el-select v-model="queryParams.instoreResult" placeholder="请选择" clearable style="width:120px"
             @change="handleQuery">
             <el-option v-for="dict in options.operationResultOptions" :key="dict.dictValue" :label="dict.dictLabel"
               :value="dict.dictValue">
               <dict-tag :options="options.operationResultOptions" :value="dict.dictValue" />
             </el-option>
-          </el-select>
+          </el-select> -->
+          <el-radio-group v-model="queryParams.instoreResult" @change="handleQuery">
+            <el-radio-button>全部</el-radio-button>
+            <el-radio-button v-for="dict in options.operationResultOptions" :label="dict.dictValue">
+              {{ dict.dictLabel }}
+            </el-radio-button>
+          </el-radio-group>
         </el-form-item>
         <el-form-item label="创建时间">
           <el-date-picker v-model="queryCreateTime" style="width: 400px" type="datetimerange" range-separator="-"
             @change="handleQuery" start-placeholder="开始时间" end-placeholder="结束时间"></el-date-picker>
-
         </el-form-item>
         <el-form-item>
           <el-button icon="search" type="primary" @click="handleQuery">{{ $t('btn.search') }}</el-button>
@@ -400,8 +419,15 @@ function getList() {
 // 查询
 function handleQuery() {
   queryParams.pageNum = 1
-  queryParams.beginTime = queryCreateTime.value[0]
-  queryParams.endTime = queryCreateTime.value[1]
+  if (queryCreateTime.value != null) {
+    queryParams.beginTime = queryCreateTime.value[0]
+    queryParams.endTime = queryCreateTime.value[1]
+    // console.log(queryParams)
+  }
+  else {
+    queryParams.beginTime = undefined
+    queryParams.endTime = undefined
+  }
   getList()
 }
 

+ 16 - 7
ZRAdmin-vue-main/src/views/Business/Report/index.vue

@@ -27,25 +27,34 @@
           <el-input v-model="queryParams.materialSpec" placeholder="请输入" class="z-el-input" clearable
             @keyup.enter="handleQuery" />
         </el-form-item>
-      </el-row>
-      <el-row>
         <el-form-item label="物料类型" prop="category">
-          <el-select v-model="queryParams.category" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
+          <!-- <el-select v-model="queryParams.category" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
             <el-option v-for="dict in options.materialTypeOptions" :key="dict.dictValue" :label="dict.dictLabel"
               :value="dict.dictValue">
               <dict-tag :options="options.materialTypeOptions" :value="dict.dictValue" />
             </el-option>
-          </el-select>
+          </el-select> -->
+          <el-radio-group v-model="queryParams.category" @change="handleQuery">
+            <el-radio-button>全部</el-radio-button>
+            <el-radio-button v-for="dict in options.materialTypeOptions" :label="dict.dictValue">
+              {{ dict.dictLabel }}
+            </el-radio-button>
+          </el-radio-group>
         </el-form-item>
         <el-form-item label="关键件标识" prop="keyFlag">
-          <el-select v-model="queryParams.keyFlag" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
+          <!-- <el-select v-model="queryParams.keyFlag" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
             <el-option v-for="dict in options.keyFlagOptions" :key="dict.dictValue" :label="dict.dictLabel"
               :value="dict.dictValue">
               <dict-tag :options="options.keyFlagOptions" :value="dict.dictValue" />
             </el-option>
-          </el-select>
+          </el-select> -->
+          <el-radio-group v-model="queryParams.keyFlag" @change="handleQuery">
+            <el-radio-button>全部</el-radio-button>
+            <el-radio-button v-for="dict in options.keyFlagOptions" :label="dict.dictValue">
+              {{ dict.dictLabel }}
+            </el-radio-button>
+          </el-radio-group>
         </el-form-item>
-
         <el-form-item>
           <el-button icon="search" type="primary" @click="handleQuery">{{ $t('btn.search') }}</el-button>
           <el-button icon="refresh" @click="resetQuery">{{ $t('btn.reset') }}</el-button>

+ 9 - 2
ZRAdmin-vue-main/src/views/Business/ReportAssemble/index.vue

@@ -298,8 +298,15 @@ function handleQuery(bomNo) {
   queryParams.pageNum = 1
   queryParams.bomNo = bomNo
   title.value = bomNo
-  queryParams.beginTime = queryCreateTime.value[0]
-  queryParams.endTime = queryCreateTime.value[1]
+  if (queryCreateTime.value != null) {
+    queryParams.beginTime = queryCreateTime.value[0]
+    queryParams.endTime = queryCreateTime.value[1]
+    // console.log(queryParams)
+  }
+  else {
+    queryParams.beginTime = undefined
+    queryParams.endTime = undefined
+  }
   open.value = true
   getList()
 }

+ 25 - 10
ZRAdmin-vue-main/src/views/Business/SapBomRecord/index.vue

@@ -20,27 +20,37 @@
             @keyup.enter="handleQuery" />
         </el-form-item>
         <el-form-item label="物料类型" prop="category">
-          <el-select v-model="queryParams.category" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
+          <!-- <el-select v-model="queryParams.category" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
             <el-option v-for="dict in options.materialTypeOptions" :key="dict.dictValue" :label="dict.dictLabel"
               :value="dict.dictValue">
               <dict-tag :options="options.materialTypeOptions" :value="dict.dictValue" />
             </el-option>
-          </el-select>
+          </el-select> -->
+          <el-radio-group v-model="queryParams.category" @change="handleQuery">
+            <el-radio-button>全部</el-radio-button>
+            <el-radio-button v-for="dict in options.materialTypeOptions" :label="dict.dictValue">
+              {{ dict.dictLabel }}
+            </el-radio-button>
+          </el-radio-group>
         </el-form-item>
         <el-form-item label="规格型号 / 图号" prop="materialSpec">
           <el-input v-model="queryParams.materialSpec" placeholder="请输入" class="z-el-input" clearable
             @keyup.enter="handleQuery" />
         </el-form-item>
         <el-form-item label="关键件标识" prop="keyFlag">
-          <el-select v-model="queryParams.keyFlag" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
+          <!-- <el-select v-model="queryParams.keyFlag" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
             <el-option v-for="dict in options.keyFlagOptions" :key="dict.dictValue" :label="dict.dictLabel"
               :value="dict.dictValue">
               <dict-tag :options="options.keyFlagOptions" :value="dict.dictValue" />
             </el-option>
-          </el-select>
+          </el-select> -->
+          <el-radio-group v-model="queryParams.keyFlag" @change="handleQuery">
+            <el-radio-button>全部</el-radio-button>
+            <el-radio-button v-for="dict in options.keyFlagOptions" :label="dict.dictValue">
+              {{ dict.dictLabel }}
+            </el-radio-button>
+          </el-radio-group>
         </el-form-item>
-      </el-row>
-      <el-row>
         <el-form-item label="生产令号" prop="bomNo">
           <el-input v-model="queryParams.bomNo" placeholder="请输入" class="z-el-input" clearable
             @keyup.enter="handleQuery" />
@@ -54,8 +64,6 @@
           <el-button icon="refresh" @click="resetQuery">{{ $t('btn.reset') }}</el-button>
         </el-form-item>
       </el-row>
-      <el-row>
-      </el-row>
     </el-form>
     <!-- 工具区域 -->
     <el-row :gutter="10" class="mb8">
@@ -359,8 +367,15 @@ function getList() {
 // 查询
 function handleQuery() {
   queryParams.pageNum = 1
-  queryParams.beginTime = queryCreateTime.value[0]
-  queryParams.endTime = queryCreateTime.value[1]
+  if (queryCreateTime.value != null) {
+    queryParams.beginTime = queryCreateTime.value[0]
+    queryParams.endTime = queryCreateTime.value[1]
+    // console.log(queryParams)
+  }
+  else {
+    queryParams.beginTime = undefined
+    queryParams.endTime = undefined
+  }
   getList()
 }
 

+ 33 - 10
ZRAdmin-vue-main/src/views/Business/SapDeliverRecord/index.vue

@@ -20,36 +20,52 @@
             @keyup.enter="handleQuery" />
         </el-form-item>
         <el-form-item label="物料类型" prop="category">
-          <el-select v-model="queryParams.category" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
+          <!-- <el-select v-model="queryParams.category" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
             <el-option v-for="dict in options.materialTypeOptions" :key="dict.dictValue" :label="dict.dictLabel"
               :value="dict.dictValue">
               <dict-tag :options="options.materialTypeOptions" :value="dict.dictValue" />
             </el-option>
-          </el-select>
+          </el-select> -->
+          <el-radio-group v-model="queryParams.category" @change="handleQuery">
+            <el-radio-button>全部</el-radio-button>
+            <el-radio-button v-for="dict in options.materialTypeOptions" :label="dict.dictValue">
+              {{ dict.dictLabel }}
+            </el-radio-button>
+          </el-radio-group>
         </el-form-item>
         <el-form-item label="规格型号 / 图号" prop="materialSpec">
           <el-input v-model="queryParams.materialSpec" placeholder="请输入" class="z-el-input" clearable
             @keyup.enter="handleQuery" />
         </el-form-item>
         <el-form-item label="关键件标识" prop="keyFlag">
-          <el-select v-model="queryParams.keyFlag" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
+          <!-- <el-select v-model="queryParams.keyFlag" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
             <el-option v-for="dict in options.keyFlagOptions" :key="dict.dictValue" :label="dict.dictLabel"
               :value="dict.dictValue">
               <dict-tag :options="options.keyFlagOptions" :value="dict.dictValue" />
             </el-option>
-          </el-select>
+          </el-select> -->
+          <el-radio-group v-model="queryParams.keyFlag" @change="handleQuery">
+            <el-radio-button>全部</el-radio-button>
+            <el-radio-button v-for="dict in options.keyFlagOptions" :label="dict.dictValue">
+              {{ dict.dictLabel }}
+            </el-radio-button>
+          </el-radio-group>
         </el-form-item>
         <el-form-item label="质检结果" prop="CheckResult">
-          <el-select v-model="queryParams.CheckResult" placeholder="请选择" clearable style="width:120px"
+          <!-- <el-select v-model="queryParams.CheckResult" placeholder="请选择" clearable style="width:120px"
             @change="handleQuery">
             <el-option v-for="dict in options.qaResultOptions" :key="dict.dictValue" :label="dict.dictLabel"
               :value="dict.dictValue">
               <dict-tag :options="options.qaResultOptions" :value="dict.dictValue" />
             </el-option>
-          </el-select>
+          </el-select> -->
+          <el-radio-group v-model="queryParams.CheckResult" @change="handleQuery">
+            <el-radio-button>全部</el-radio-button>
+            <el-radio-button v-for="dict in options.qaResultOptions" :label="dict.dictValue">
+              {{ dict.dictLabel }}
+            </el-radio-button>
+          </el-radio-group>
         </el-form-item>
-      </el-row>
-      <el-row>
         <el-form-item label="交验单号" prop="deliverNo">
           <el-input v-model="queryParams.deliverNo" placeholder="请输入" class="z-el-input" clearable
             @keyup.enter="handleQuery" />
@@ -404,8 +420,15 @@ function getList() {
 // 查询
 function handleQuery() {
   queryParams.pageNum = 1
-  queryParams.beginTime = queryCreateTime.value[0]
-  queryParams.endTime = queryCreateTime.value[1]
+  if (queryCreateTime.value != null) {
+    queryParams.beginTime = queryCreateTime.value[0]
+    queryParams.endTime = queryCreateTime.value[1]
+    // console.log(queryParams)
+  }
+  else {
+    queryParams.beginTime = undefined
+    queryParams.endTime = undefined
+  }
   getList()
 }
 

+ 13 - 8
ZRAdmin-vue-main/src/views/Business/SapOutTaskRecord/index.vue

@@ -39,8 +39,6 @@
               </el-option>
             </el-select>
           </el-form-item> -->
-      </el-row>
-      <el-row>
         <el-form-item label="创建时间">
           <el-date-picker v-model="queryCreateTime" style="width: 400px" type="datetimerange" range-separator="-"
             @change="handleQuery" start-placeholder="开始时间" end-placeholder="结束时间"></el-date-picker>
@@ -104,11 +102,11 @@
         v-if="columns.showColumn('materialName')" />
       <el-table-column prop="materialSpec" label="规格型号 / 图号" align="center" :show-overflow-tooltip="true" width="240"
         v-if="columns.showColumn('materialSpec')" />
-      <el-table-column prop="unit" label="单位" align="center" :show-overflow-tooltip="true" width="60"
+      <el-table-column prop="unit" label="单位" align="center" :show-overflow-tooltip="true" width="50"
         v-if="columns.showColumn('unit')" />
-      <el-table-column prop="qty" label="需求数量" align="center" v-if="columns.showColumn('qty')" />
-      <el-table-column prop="outQty" label="已出库数量" align="center" v-if="columns.showColumn('outQty')" />
-      <el-table-column prop="result" label="出库结果" align="center" v-if="columns.showColumn('result')">
+      <el-table-column prop="qty" label="需求数量" align="center" v-if="columns.showColumn('qty')" width="100" />
+      <el-table-column prop="outQty" label="已出库数量" align="center" v-if="columns.showColumn('outQty')" width="100" />
+      <el-table-column prop="result" label="出库结果" align="center" v-if="columns.showColumn('result')" width="80">
         <template #default="scope">
           <dict-tag :options="options.operationResultOptions" :value="scope.row.result" />
         </template>
@@ -321,8 +319,15 @@ function getList() {
 // 查询
 function handleQuery() {
   queryParams.pageNum = 1
-  queryParams.beginTime = queryCreateTime.value[0]
-  queryParams.endTime = queryCreateTime.value[1]
+  if (queryCreateTime.value != null) {
+    queryParams.beginTime = queryCreateTime.value[0]
+    queryParams.endTime = queryCreateTime.value[1]
+    // console.log(queryParams)
+  }
+  else {
+    queryParams.beginTime = undefined
+    queryParams.endTime = undefined
+  }
   getList()
 }
 

+ 35 - 16
ZRAdmin-vue-main/src/views/Business/StkBalanceDtl/index.vue

@@ -24,23 +24,33 @@
             @keyup.enter="handleQuery" />
         </el-form-item>
         <el-form-item label="库存状态" prop="status">
-          <el-select v-model="queryParams.status" placeholder="请选择" clearable style="width:160px" @change="handleQuery">
+          <!-- <el-select v-model="queryParams.status" placeholder="请选择" clearable style="width:160px" @change="handleQuery">
             <el-option v-for="dict in options.stkStatusOptions" :key="dict.dictValue" :label="dict.dictLabel"
               :value="dict.dictValue">
               <dict-tag :options="options.stkStatusOptions" :value="dict.dictValue" />
             </el-option>
-          </el-select>
+          </el-select> -->
+          <el-radio-group v-model="queryParams.status" @change="handleQuery">
+            <el-radio-button>全部</el-radio-button>
+            <el-radio-button v-for="dict in options.stkStatusOptions" :label="dict.dictValue">
+              {{ dict.dictLabel }}
+            </el-radio-button>
+          </el-radio-group>
         </el-form-item>
         <el-form-item label="关键件标识" prop="keyFlag">
-          <el-select v-model="queryParams.keyFlag" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
+          <!-- <el-select v-model="queryParams.keyFlag" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
             <el-option v-for="dict in options.keyFlagOptions" :key="dict.dictValue" :label="dict.dictLabel"
               :value="dict.dictValue">
               <dict-tag :options="options.keyFlagOptions" :value="dict.dictValue" />
             </el-option>
-          </el-select>
+          </el-select> -->
+          <el-radio-group v-model="queryParams.keyFlag" @change="handleQuery">
+            <el-radio-button>全部</el-radio-button>
+            <el-radio-button v-for="dict in options.keyFlagOptions" :label="dict.dictValue">
+              {{ dict.dictLabel }}
+            </el-radio-button>
+          </el-radio-group>
         </el-form-item>
-      </el-row>
-      <el-row>
         <el-form-item label="物料编码" prop="materialCode">
           <el-input v-model="queryParams.materialCode" placeholder="请输入" class="z-el-input" clearable
             @keyup.enter="handleQuery" />
@@ -49,22 +59,26 @@
           <el-input v-model="queryParams.materialName" placeholder="请输入" class="z-el-input" clearable
             @keyup.enter="handleQuery" />
         </el-form-item>
-        <!-- <el-form-item label="物料类型" prop="category">
-          <el-select v-model="queryParams.category" placeholder="请选择" clearable style="width:120px">
+        <el-form-item label="物料类型" prop="category">
+          <!-- <el-select v-model="queryParams.category" placeholder="请选择" clearable style="width:120px">
             <el-option v-for="dict in options.materialTypeOptions" :key="dict.dictValue" :label="dict.dictLabel"
               :value="dict.dictValue">
               <template #default="scope">
                 <dict-tag :options="options.materialTypeOptions" :value="scope.row.category" />
               </template>
             </el-option>
-          </el-select>
-        </el-form-item> -->
+          </el-select> -->
+          <el-radio-group v-model="queryParams.category" @change="handleQuery">
+            <el-radio-button>全部</el-radio-button>
+            <el-radio-button v-for="dict in options.materialTypeOptions" :label="dict.dictValue">
+              {{ dict.dictLabel }}
+            </el-radio-button>
+          </el-radio-group>
+        </el-form-item>
         <el-form-item label="规格型号 / 图号" prop="materialSpec">
           <el-input v-model="queryParams.materialSpec" placeholder="请输入" class="z-el-input" clearable
             @keyup.enter="handleQuery" />
         </el-form-item>
-      </el-row>
-      <el-row>
         <el-form-item label="生产令号" prop="bomNo">
           <el-input v-model="queryParams.bomNo" placeholder="请输入" class="z-el-input" clearable
             @keyup.enter="handleQuery" />
@@ -77,8 +91,6 @@
           <el-input v-model="queryParams.bnSnCode" placeholder="请输入" class="z-el-input" clearable
             @keyup.enter="handleQuery" />
         </el-form-item>
-      </el-row>
-      <el-row>
         <!-- <el-form-item label="创建人">
           <el-input v-model="queryParams.roleName" placeholder="请输入" class="z-el-input" clearable
             @keyup.enter="handleQuery" />
@@ -405,8 +417,15 @@ function getRegion() {
 // 查询
 function handleQuery() {
   queryParams.pageNum = 1
-  queryParams.beginTime = queryCreateTime.value[0]
-  queryParams.endTime = queryCreateTime.value[1]
+  if (queryCreateTime.value != null) {
+    queryParams.beginTime = queryCreateTime.value[0]
+    queryParams.endTime = queryCreateTime.value[1]
+    // console.log(queryParams)
+  }
+  else {
+    queryParams.beginTime = undefined
+    queryParams.endTime = undefined
+  }
   getList()
 }
 

+ 16 - 6
ZRAdmin-vue-main/src/views/Business/StkBalanceStat/index.vue

@@ -12,19 +12,23 @@
             @keyup.enter="handleQuery" />
         </el-form-item>
         <el-form-item label="物料类型" prop="category">
-          <el-select v-model="queryParams.category" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
+          <!-- <el-select v-model="queryParams.category" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
             <el-option v-for="dict in options.materialTypeOptions" :key="dict.dictValue" :label="dict.dictLabel"
               :value="dict.dictValue">
               <dict-tag :options="options.materialTypeOptions" :value="dict.dictValue" />
             </el-option>
-          </el-select>
+          </el-select> -->
+          <el-radio-group v-model="queryParams.category" @change="handleQuery">
+            <el-radio-button>全部</el-radio-button>
+            <el-radio-button v-for="dict in options.materialTypeOptions" :label="dict.dictValue">
+              {{ dict.dictLabel }}
+            </el-radio-button>
+          </el-radio-group>
         </el-form-item>
         <el-form-item label="规格型号 / 图号" prop="materialSpec">
           <el-input v-model="queryParams.materialSpec" placeholder="请输入" class="z-el-input" clearable
             @keyup.enter="handleQuery" />
         </el-form-item>
-      </el-row>
-      <el-row>
         <el-form-item label="库区信息" prop="regionId">
           <el-select v-model="queryParams.regionId" placeholder="请选择" clearable @change="handleQuery">
             <el-option v-for="dict in regionList" :key="dict.regionId" :label="dict.regionName" :value="dict.regionId">
@@ -34,12 +38,18 @@
           </el-select>
         </el-form-item>
         <el-form-item label="关键件标识" prop="keyFlag">
-          <el-select v-model="queryParams.keyFlag" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
+          <!-- <el-select v-model="queryParams.keyFlag" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
             <el-option v-for="dict in options.keyFlagOptions" :key="dict.dictValue" :label="dict.dictLabel"
               :value="dict.dictValue">
               <dict-tag :options="options.keyFlagOptions" :value="dict.dictValue" />
             </el-option>
-          </el-select>
+          </el-select> -->
+          <el-radio-group v-model="queryParams.keyFlag" @change="handleQuery">
+            <el-radio-button>全部</el-radio-button>
+            <el-radio-button v-for="dict in options.keyFlagOptions" :label="dict.dictValue">
+              {{ dict.dictLabel }}
+            </el-radio-button>
+          </el-radio-group>
         </el-form-item>
         <el-form-item label="BN / SN码" prop="bnSnCode">
           <el-input v-model="queryParams.bnSnCode" placeholder="请输入" class="z-el-input" clearable

+ 82 - 90
ZRAdmin-vue-main/src/views/index_v1.vue

@@ -4,112 +4,107 @@
       <template #header>
         <span>今日统计</span>
       </template>
-      <el-row :gutter="20" justify="space-evenly" align="middle">
-        <el-col :span="14">
+      <el-row :gutter="20" align="middle">
+        <el-col :span="18">
           <el-row :gutter="5" class="row-space" justify="space-evenly">
-            <el-col :span="intStatColWidth0"></el-col>
-
-            <el-col :span="intStatColWidth1">
-              <span class=" statistic-row-cell">{{ strStatQATitle }}</span>
+            <el-col :span="intStatColWidth0 + intStatColWidth1">
+              <span class=" statistic-row-cell statistic-column-head">{{ strStatQATitle }}</span>
             </el-col>
-            <el-col :span="intStatColWidth2"></el-col>
-
-            <el-col :span="intStatColWidth1">
-              <span class=" statistic-row-cell">{{ strStatInstoreTitle }}</span>
+            <el-col :span="intStatColWidth1 + intStatColWidth2">
+              <span class=" statistic-row-cell statistic-column-head">{{ strStatInstoreTitle }}</span>
             </el-col>
-            <el-col :span="intStatColWidth2"></el-col>
-
-            <el-col :span="intStatColWidth1">
-              <span class=" statistic-row-cell">{{ strStatOutstoreTitle }}</span>
+            <el-col :span="intStatColWidth1 + intStatColWidth2">
+              <span class=" statistic-row-cell statistic-column-head">{{ strStatOutstoreTitle }}</span>
             </el-col>
-            <el-col :span="intStatColWidth2"></el-col>
-
-            <el-col :span="intStatColWidth1">
-              <span class=" statistic-row-cell">{{ strStatAssembleTitle }}</span>
+            <el-col :span="intStatColWidth1 + intStatColWidth2">
+              <span class=" statistic-row-cell statistic-column-head">{{ strStatAssembleTitle }}</span>
             </el-col>
-            <el-col :span="intStatColWidth2"></el-col>
-
-            <el-col :span="intStatColWidth1">
-              <span class=" statistic-row-cell">{{ strStatWorkTitle }}</span>
+            <el-col :span="intStatColWidth1 + intStatColWidth2">
+              <span class=" statistic-row-cell statistic-column-head">{{ strStatWorkTitle }}</span>
             </el-col>
-            <el-col :span="intStatColWidth2"></el-col>
+            <el-col :span="intStatColWidth2 + intStatColWidth3"></el-col>
           </el-row>
           <el-row :gutter="5" class="row-space" justify="space-evenly">
-            <el-col :span="intStatColWidth0">
-              <span>今日</span>
+            <el-col :span="intStatColWidth0" :pull="1">
+              <span class=" statistic-row-cell">今日</span>
             </el-col>
             <el-col :span="intStatColWidth1">
               <span class=" statistic-row-cell statistic-row-data">{{ DailyStatistics.qa_key }}</span>
             </el-col>
             <el-col :span="intStatColWidth2">
-              <span class="than-yesterday" :class="ThanYesterday.qa < 100 ? 'green' : 'red'">
-                {{ ThanYesterday.qa > 100 ? ThanYesterday.qa - 100 : ThanYesterday.qa }}%
-                <el-icon v-if="ThanYesterday.qa < 100">
+              <span class="than-yesterday" :class="ThanYesterday.qa < 0 ? 'green' : 'red'"
+                v-show="ThanYesterday.qa != Infinity && ThanYesterday.qa != 'NaN'">
+                {{ ThanYesterday.qa < 0 ? ThanYesterday.qa * (-1) : ThanYesterday.qa }}% <el-icon
+                  v-if="ThanYesterday.qa < 0">
                   <CaretBottom />
-                </el-icon>
-                <el-icon v-if="ThanYesterday.qa > 100">
-                  <CaretTop />
-                </el-icon>
+                  </el-icon>
+                  <el-icon v-if="ThanYesterday.qa > 0">
+                    <CaretTop />
+                  </el-icon>
               </span></el-col>
 
             <el-col :span="intStatColWidth1">
               <span class=" statistic-row-cell statistic-row-data">{{ DailyStatistics.in_key }}</span>
             </el-col>
             <el-col :span="intStatColWidth2">
-              <span class="than-yesterday" :class="ThanYesterday.in < 100 ? 'green' : 'red'">
-                {{ ThanYesterday.in > 100 ? ThanYesterday.in - 100 : ThanYesterday.in }}%
-                <el-icon v-if="ThanYesterday.in < 100">
+              <span class="than-yesterday" :class="ThanYesterday.in < 0 ? 'green' : 'red'"
+                v-show="ThanYesterday.in != Infinity && ThanYesterday.in != 'NaN'">
+                {{ ThanYesterday.in < 0 ? ThanYesterday.in * (-1) : ThanYesterday.in }}% <el-icon
+                  v-if="ThanYesterday.in < 0">
                   <CaretBottom />
-                </el-icon>
-                <el-icon v-if="ThanYesterday.in > 100">
-                  <CaretTop />
-                </el-icon>
+                  </el-icon>
+                  <el-icon v-if="ThanYesterday.in > 0">
+                    <CaretTop />
+                  </el-icon>
               </span></el-col>
 
             <el-col :span="intStatColWidth1">
               <span class=" statistic-row-cell statistic-row-data">{{ DailyStatistics.out_key }}</span>
             </el-col>
             <el-col :span="intStatColWidth2">
-              <span class="than-yesterday" :class="ThanYesterday.out < 100 ? 'green' : 'red'">
-                {{ ThanYesterday.out > 100 ? ThanYesterday.out - 100 : ThanYesterday.out }}%
-                <el-icon v-if="ThanYesterday.out < 100">
+              <span class="than-yesterday" :class="ThanYesterday.out < 0 ? 'green' : 'red'"
+                v-show="ThanYesterday.out != Infinity && ThanYesterday.out != 'NaN'">
+                {{ ThanYesterday.out < 0 ? ThanYesterday.out * (-1) : ThanYesterday.out }}% <el-icon
+                  v-if="ThanYesterday.out < 0">
                   <CaretBottom />
-                </el-icon>
-                <el-icon v-if="ThanYesterday.out > 100">
-                  <CaretTop />
-                </el-icon>
+                  </el-icon>
+                  <el-icon v-if="ThanYesterday.out > 0">
+                    <CaretTop />
+                  </el-icon>
               </span></el-col>
 
             <el-col :span="intStatColWidth1">
               <span class=" statistic-row-cell statistic-row-data">{{ DailyStatistics.ass_key }}</span>
             </el-col>
             <el-col :span="intStatColWidth2">
-              <span class="than-yesterday" :class="ThanYesterday.ass < 100 ? 'green' : 'red'">
-                {{ ThanYesterday.ass > 100 ? ThanYesterday.ass - 100 : ThanYesterday.ass }}%
-                <el-icon v-if="ThanYesterday.ass < 100">
+              <span class="than-yesterday" :class="ThanYesterday.ass < 0 ? 'green' : 'red'"
+                v-show="ThanYesterday.ass != Infinity && ThanYesterday.ass != 'NaN'">
+                {{ ThanYesterday.ass < 0 ? ThanYesterday.ass * (-1) : ThanYesterday.ass }}% <el-icon
+                  v-if="ThanYesterday.ass < 0">
                   <CaretBottom />
-                </el-icon>
-                <el-icon v-if="ThanYesterday.ass > 100">
-                  <CaretTop />
-                </el-icon>
+                  </el-icon>
+                  <el-icon v-if="ThanYesterday.ass > 0">
+                    <CaretTop />
+                  </el-icon>
               </span></el-col>
 
             <el-col :span="intStatColWidth1">
               <span class=" statistic-row-cell statistic-row-data">{{ totalUnkey }}</span>
             </el-col>
-            <el-col :span="intStatColWidth2">
-              <span class="than-yesterday " :class="ThanYesterday.totalUnkey < 100 ? 'green' : 'red'">
-                {{ ThanYesterday.totalUnkey > 100 ? ThanYesterday.totalUnkey - 100 : ThanYesterday.totalUnkey }}%
-                <el-icon v-if="ThanYesterday.totalUnkey < 100">
+            <el-col :span="intStatColWidth2 + intStatColWidth3">
+              <span class="than-yesterday " :class="ThanYesterday.totalUnkey < 0 ? 'green' : 'red'"
+                v-show="ThanYesterday.totalUnkey != Infinity && ThanYesterday.totalUnkey != 'NaN'">
+                {{ ThanYesterday.totalUnkey < 0 ? ThanYesterday.totalUnkey * (-1) : ThanYesterday.totalUnkey }}% <el-icon
+                  v-if="ThanYesterday.totalUnkey < 0">
                   <CaretBottom />
-                </el-icon>
-                <el-icon v-if="ThanYesterday.totalUnkey > 100">
-                  <CaretTop />
-                </el-icon>
+                  </el-icon>
+                  <el-icon v-if="ThanYesterday.totalUnkey > 0">
+                    <CaretTop />
+                  </el-icon>
               </span></el-col>
           </el-row>
           <el-row :gutter="5" class="row-space" justify="space-evenly">
-            <el-col :span="intStatColWidth0">
+            <el-col :span="intStatColWidth0" :pull="1">
               <span class=" statistic-row-cell">昨日</span>
             </el-col>
             <el-col :span="intStatColWidth1">
@@ -131,10 +126,10 @@
             <el-col :span="intStatColWidth1">
               <span class=" statistic-row-cell">{{ yesterdayTotalUnkey }}</span>
             </el-col>
-            <el-col :span="intStatColWidth2"></el-col>
+            <el-col :span="intStatColWidth2 + intStatColWidth3"></el-col>
           </el-row>
         </el-col>
-        <el-col :span="8">
+        <el-col :span="6">
           <bar-chart height="250px" />
         </el-col>
       </el-row>
@@ -162,7 +157,7 @@
     </el-card>
     <el-card class="row-space">
       <template #header>
-        <span>物料类别</span>
+        <span>物料库存</span>
       </template>
       <el-row :gutter="10">
         <el-col :span="12">
@@ -252,9 +247,10 @@ const strStatOutstoreTitle = '关键件出库'
 const strStatAssembleTitle = '关键件装配'
 const strStatWorkTitle = '非关键件作业'
 
-const intStatColWidth0 = 1
-const intStatColWidth1 = 3
-const intStatColWidth2 = 1
+const intStatColWidth0 = 3 //×1
+const intStatColWidth1 = 2 //×5
+const intStatColWidth2 = 2 //×5
+const intStatColWidth3 = 1 //×1
 
 const { proxy } = getCurrentInstance()
 
@@ -281,17 +277,17 @@ const YesterdayStatistics = reactive({
   ass: 0,
   ass_key: 0,
 })
-const ThanYesterday = reactive({
-  qa: computed(() => { return DailyStatistics.qa / YesterdayStatistics.qa * 100 }),
-  in: computed(() => { return DailyStatistics.in / YesterdayStatistics.in * 100 }),
-  out: computed(() => { return DailyStatistics.out / YesterdayStatistics.out * 100 }),
-  ass: computed(() => { return DailyStatistics.ass / YesterdayStatistics.ass * 100 }),
-  totalUnkey: computed(() => { return totalUnkey / yesterdayTotalUnkey * 100 }),
-})
 // 非关键件一共作业数
 const totalUnkey = computed(() => { return DailyStatistics.qa + DailyStatistics.in + DailyStatistics.out + DailyStatistics.ass })
 const yesterdayTotalUnkey = computed(() => { return YesterdayStatistics.qa + YesterdayStatistics.in + YesterdayStatistics.out + YesterdayStatistics.ass })
 
+const ThanYesterday = reactive({
+  qa: computed(() => { return ((DailyStatistics.qa_key / YesterdayStatistics.qa_key - 1) * 100).toFixed(2) }),
+  in: computed(() => { return ((DailyStatistics.in_key / YesterdayStatistics.in_key - 1) * 100).toFixed(2) }),
+  out: computed(() => { return ((DailyStatistics.out_key / YesterdayStatistics.out_key - 1) * 100).toFixed(2) }),
+  ass: computed(() => { return ((DailyStatistics.ass_key / YesterdayStatistics.ass_key - 1) * 100).toFixed(2) }),
+  totalUnkey: computed(() => { return ((totalUnkey.value / yesterdayTotalUnkey.value - 1) * 100).toFixed(2) }),
+})
 const statisticQaScope = ref('当月')
 // 合格率 d0合格,d1不合格
 const POPData0 = reactive({ d0: 0, d1: 0 })
@@ -474,38 +470,33 @@ function getStatistics() {
       }
     }
   })
-
-
 }
 function GetAllPercentOfPass() {
   const timeScope = reactive({
     beginTime: undefined,
     endTime: undefined
   })
-  let date = new Date
-  var thisYear = date.getFullYear()
-  var thisMonth = date.getMonth() + 1
-  var today = date.getDay()
+  let date = new Date()
+  let thisYear = date.getFullYear()
+  let thisMonth = date.getMonth()
+  let today = date.getDate()
 
   if (statisticQaScope.value == "当日") {
     timeScope.beginTime = new Date(thisYear, thisMonth, today, 0, 0, 0)
     timeScope.endTime = new Date(thisYear, thisMonth, today, 23, 59, 59)
-    // console.log('当日')
-    // console.log(timeScope)
+    // console.log('当日', date, timeScope, thisYear, thisMonth, today,)
   }
   if (statisticQaScope.value == "当月") {
     var firstDay = new Date(thisYear, thisMonth, 1) // 取当年当月中的第一天
     var lastDay = new Date(thisYear, thisMonth, new Date(firstDay.getTime() - 1000 * 60 * 60 * 24).getDate(), 23, 59, 59) // 获取当月最后一天日期
     timeScope.beginTime = firstDay
     timeScope.endTime = lastDay
-    // console.log('当月')
-    // console.log(timeScope)
+    // console.log('当月', timeScope)
   }
   if (statisticQaScope.value == "当年") {
     timeScope.beginTime = new Date(thisYear, 1, 1, 0, 0, 0)
     timeScope.endTime = new Date(thisYear, 12, 31, 23, 59, 59)
     // console.log('当年')
-    // console.log(timeScope)
   }
   GetPercentOfPass({ category: '外协件', keyFlag: true, beginTime: timeScope.beginTime, endTime: timeScope.endTime }).then((response) => {
     if (response.code == 200) {
@@ -597,9 +588,6 @@ getList()
     margin-bottom: 20px;
   }
 
-  // .card{
-  //   height: 390px;
-  // }
   .user-item {
     height: 198px;
     display: flex;
@@ -710,6 +698,10 @@ getList()
   font-weight: bold;
 }
 
+.statistic-column-head {
+  // font-size: 15px;
+}
+
 .el-statistic {
   --el-statistic-content-font-size: 32px;
 }
@@ -751,7 +743,7 @@ getList()
 
 .than-yesterday {
   font-size: 15px;
-  line-height: 30px;
+  line-height: 35px;
 }
 
 .than-yesterday-label {