ysy 1 год назад
Родитель
Сommit
a43ae1e51e

BIN
dist.rar → dist.zip


+ 12 - 0
src/api/InTheSystem/index.js

@@ -17,4 +17,16 @@ export async function produceTask(params) {
     return res.data.data;
     return res.data.data;
   }
   }
   return Promise.reject(new Error(res.data.message));
   return Promise.reject(new Error(res.data.message));
+}
+
+
+// 在制品详细信息
+
+
+export async function detailPage(data) {
+  const res = await request.post('/mes/inproduct/detailPage', data);
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
 }
 }

+ 3 - 1
src/styles/transition/common.scss

@@ -101,7 +101,9 @@
 }
 }
 
 
 
 
-
+.ele-form-search .el-form-item {
+  margin-bottom: 4px !important;
+}
 
 
 
 
 
 

+ 23 - 0
src/views/InTheSystem/InTheSystemDetails.vue

@@ -0,0 +1,23 @@
+<template>
+  <div>
+    <tgDetails></tgDetails>
+  </div>
+</template>
+
+<script>
+  import tgDetails from './components/tgDetails.vue';
+
+  export default {
+    components: {
+      tgDetails
+    },
+    data() {
+      return {};
+    },
+
+    created() {},
+    methods: {}
+  };
+</script>
+
+<style lang="scss" scoped></style>

+ 3 - 3
src/views/InTheSystem/components/search.vue

@@ -17,9 +17,9 @@
 
 
           <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
           <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
               <el-form-item label="类型:">
               <el-form-item label="类型:">
-                  <el-select v-model="where.feedStatus" style="width: 100%">
-                      <el-option label="已投料" :value="1" />
-                      <el-option label="投料" :value="0" />
+                  <el-select v-model="where.feedStatus" clearable style="width: 100%">
+                    <el-option label="报告中" :value="1" />
+                    <el-option label="投料" :value="0" />
                   </el-select>
                   </el-select>
               </el-form-item>
               </el-form-item>
           </el-col>
           </el-col>

+ 241 - 0
src/views/InTheSystem/components/tg-details-search.vue

@@ -0,0 +1,241 @@
+<!-- 搜索表单 -->
+<template>
+  <el-form
+    label-width="90px"
+    class="ele-form-search"
+    @keyup.enter.native="search"
+    @submit.native.prevent
+  >
+    <el-row :gutter="15">
+      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
+        <el-form-item label="工单编码:">
+          <el-input
+            size="mini"
+            clearable
+            v-model="where.workOrderCode"
+            placeholder="请输入"
+          />
+        </el-form-item>
+      </el-col>
+
+      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
+        <el-form-item label="物品名称:">
+          <el-input
+            size="mini"
+            clearable
+            v-model="where.categoryName"
+            placeholder="请输入"
+          />
+        </el-form-item>
+      </el-col>
+
+      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
+        <el-form-item label="类型:">
+          <el-select
+            size="mini"
+            v-model="where.feedStatus"
+            clearable
+            style="width: 100%"
+          >
+
+  
+            <el-option label="报告中" :value="1" />
+            <el-option label="投料中" :value="0" />
+          </el-select>
+        </el-form-item>
+      </el-col>
+
+      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
+        <el-form-item size="mini" label="设备名称:">
+          <el-input clearable v-model="where.deviceName" placeholder="请输入" />
+        </el-form-item>
+      </el-col>
+    </el-row>
+
+    <el-row :gutter="15">
+      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
+        <el-form-item label="工位:">
+          <el-input
+            size="mini"
+            clearable
+            v-model="where.workstationName"
+            placeholder="请输入"
+          />
+        </el-form-item>
+      </el-col>
+
+      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
+        <el-form-item label="工序:">
+          <el-select size="mini" v-model="where.taskId" style="width: 100%">
+            <el-option
+              v-for="(item, index) in produceTaskList"
+              :key="index"
+              :label="item.name"
+              :value="item.id"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+      </el-col>
+
+      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
+        <el-form-item label="型号:">
+          <el-input
+            size="mini"
+            clearable
+            v-model="where.modelType"
+            placeholder="请输入"
+          />
+        </el-form-item>
+      </el-col>
+
+      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
+        <el-form-item label="规格:">
+          <el-input
+            size="mini"
+            clearable
+            v-model="where.specification"
+            placeholder="请输入"
+          />
+        </el-form-item>
+      </el-col>
+    </el-row>
+
+    <el-row :gutter="15">
+      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
+        <el-form-item label="刻码:">
+          <el-input
+            size="mini"
+            clearable
+            v-model="where.engrave"
+            placeholder="请输入"
+          />
+        </el-form-item>
+      </el-col>
+
+      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
+        <el-form-item label="物料代号:">
+          <el-input
+            size="mini"
+            clearable
+            v-model="where.materielDesignation"
+            placeholder="请输入"
+          />
+        </el-form-item>
+      </el-col>
+
+      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
+        <el-form-item label="创建时间:">
+          <el-date-picker
+            class="w100"
+            style="width: 100%;"
+            v-model="where.times"
+            type="daterange"
+            range-separator="至"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期"
+            value-format="yyyy-MM-dd HH:mm:ss"
+            :default-time="['00:00:00', '23:59:59']"
+          >
+          </el-date-picker>
+        </el-form-item>
+      </el-col>
+
+
+      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
+        <el-form-item label-width="0px">
+          <el-button
+            size="mini"
+            type="primary"
+            icon="el-icon-search"
+            class="ele-btn-icon"
+            @click="search"
+          >
+            查询
+          </el-button>
+          <el-button
+            size="mini"
+            @click="reset"
+            icon="el-icon-refresh-left"
+            type="primary"
+            >重置</el-button
+          >
+        </el-form-item>
+      </el-col>
+    </el-row>
+  </el-form>
+</template>
+
+<script>
+  import { produceTask } from '../../../api/InTheSystem';
+  export default {
+    props: [],
+    data() {
+      // 默认表单数据
+      const defaultWhere = {
+        workOrderCode: '',
+        categoryName: '',
+        deviceName: '',
+        workstationName: '',
+        modelType: '',
+        specification: '',
+        materielDesignation: '',
+        engrave: '',
+        times: []
+      };
+
+      return {
+        // 表单数据
+        where: { ...defaultWhere },
+
+        produceTaskList: []
+      };
+    },
+    computed: {
+      // 是否开启响应式布局
+      styleResponsive() {
+        return this.$store.state.theme.styleResponsive;
+      }
+    },
+    watch: {},
+    created() {
+      this.produceTaskFn();
+    },
+    methods: {
+      /* 搜索 */
+      search() {
+
+        const where = { ...this.where };
+        if (where.times?.length) {
+          where.startTime = where.createTime[0];
+          where.endTime = where.createTime[1];
+        }
+        delete where.times;
+
+        this.$emit('search', this.where);
+      },
+      /*  重置 */
+      reset() {
+        this.where = { ...this.defaultWhere };
+        this.search();
+      },
+
+      produceTaskFn() {
+        let params = {
+          pageNum: 1,
+          size: -1
+        };
+        produceTask(params).then((res) => {
+          console.log(res);
+          this.produceTaskList = res.list;
+        });
+      }
+    }
+  };
+</script>
+<style lang="scss" scoped>
+  .ele-form-actions {
+    display: flex;
+    align-items: center;
+    justify-content: flex-end;
+  }
+</style>

+ 175 - 0
src/views/InTheSystem/components/tgDetails.vue

@@ -0,0 +1,175 @@
+<template>
+  <div class="ele-body">
+    <el-card shadow="never" v-loading="loading">
+      <search @search="reload" ref="searchRef"> </search>
+
+      <!-- 数据表格 -->
+      <ele-pro-table
+        ref="table"
+        :columns="columns"
+        :datasource="datasource"
+        cache-key="workOrderTable"
+      >
+        <template v-slot:feedStatus="{ row }">
+          {{
+            row.feedStatus === 1
+              ? '报告中'
+              : row.feedStatus === 0
+              ? '投料中'
+              : ''
+          }}
+        </template>
+
+        <template v-slot:weight="{ row }">
+            <span v-if="row.extInfo.newWeight"> {{   row.extInfo.newWeight }} {{ row.extInfo.weightUnit }}</span>
+            <span v-else> {{ row.extInfo.weight }}{{ row.extInfo.weightUnit }} <el-tag size="mini" type="warning">原</el-tag></span>
+          
+        </template>
+      </ele-pro-table>
+    </el-card>
+  </div>
+</template>
+
+<script>
+  import { detailPage } from '@/api/InTheSystem/index.js';
+
+  import search from './tg-details-search.vue';
+
+  export default {
+    components: {
+      search
+    },
+    data() {
+      return {
+        loading: false
+      };
+    },
+    computed: {
+      // 表格列配置
+      columns() {
+        return [
+          {
+            columnKey: 'index',
+            label: '序号',
+            type: 'index',
+            width: 55,
+            align: 'center',
+            showOverflowTooltip: true,
+            fixed: 'left'
+          },
+          {
+            prop: 'workOrderCode',
+            label: '工单编码',
+            align: 'center',
+            minWidth: 110
+          },
+
+          {
+            prop: 'taskName',
+            label: '工序',
+            align: 'center'
+          },
+
+          {
+            prop: 'name',
+            label: '物品名称',
+            align: 'center',
+            minWidth: 280
+          },
+
+          {
+            slot: 'feedStatus',
+            label: '类型',
+            align: 'center'
+          },
+
+          {
+            prop: 'extInfo.engrave',
+            label: '刻码',
+            align: 'center'
+          },
+
+          {
+            prop: 'extInfo.materielDesignation',
+            label: '物料代号	',
+            align: 'center'
+          },
+
+          
+          {
+            prop: 'quantity',
+            label: '数量',
+            align: 'center'
+          },
+
+          {
+            prop: 'weight',
+            slot: 'weight',
+            label: '重量',
+            align: 'center'
+          },
+
+          {
+            prop: 'deviceName',
+            label: '设备名称',
+            align: 'center'
+          },
+
+          {
+            prop: 'workstationName',
+            label: '工位',
+            align: 'center'
+          },
+
+          {
+            prop: 'modelType',
+            label: '型号',
+            align: 'center'
+          },
+
+          {
+            prop: 'specification',
+            label: '规格',
+            align: 'center'
+          },
+
+          {
+            prop: 'updateTime',
+            label: '更新时间',
+            align: 'center',
+            minWidth: 90
+          },
+
+          {
+            prop: 'createTime',
+            label: '创建时间',
+            align: 'center',
+            minWidth: 90
+          }
+        ];
+      }
+    },
+    created() {},
+    methods: {
+      /* 表格数据源 */
+      datasource({ page, limit, where }) {
+        where = { rootCategoryLevelId: ['2'], ...where };
+
+        return detailPage({
+          pageNum: page,
+          size: limit,
+          ...where
+        });
+      },
+
+      /* 刷新表格 */
+      reload(where) {
+        this.$nextTick(() => {
+          this.$refs.table.reload({ page: 1, where });
+        });
+      }
+    }
+  };
+</script>
+
+<style lang="scss" scoped></style>

+ 115 - 150
src/views/InTheSystem/index.vue

@@ -1,165 +1,130 @@
 <template>
 <template>
-    <div class="ele-body">
-        <el-card shadow="never" v-loading="loading">
-            <search @search="reload" ref="searchRef"> </search>
-
-            <!-- 数据表格 -->
-            <ele-pro-table ref="table" :columns="columns" :datasource="datasource" cache-key="workOrderTable">
-
-                <template v-slot:feedStatus="{ row }">
-
-                    {{  row.feedStatus === 1 ? '已投料' : row.feedStatus === 0 ? '未投料' : '' }}
-
-                    </template>
-
-                
-
-
-
-            </ele-pro-table>
-        </el-card>
-
-
-
-
-    </div>
+  <div class="ele-body">
+    <el-card shadow="never" v-loading="loading">
+      <search @search="reload" ref="searchRef"> </search>
+
+      <!-- 数据表格 -->
+      <ele-pro-table
+        ref="table"
+        :columns="columns"
+        :datasource="datasource"
+        cache-key="workOrderTable"
+      >
+        <template v-slot:feedStatus="{ row }">
+          {{
+            row.feedStatus === 1
+              ? '报告中'
+              : row.feedStatus === 0
+              ? '投料中'
+              : ''
+          }}
+        </template>
+      </ele-pro-table>
+    </el-card>
+  </div>
 </template>
 </template>
-  
+
 <script>
 <script>
-import { getList } from '@/api/InTheSystem/index.js';
+  import { getList } from '@/api/InTheSystem/index.js';
 
 
-import search from './components/search.vue';
+  import search from './components/search.vue';
 
 
-export default {
+  export default {
     components: {
     components: {
-        search,
-
+      search
     },
     },
     data() {
     data() {
-        return {
-
-            loading: false,
-
-
-
-        };
+      return {
+        loading: false
+      };
     },
     },
     computed: {
     computed: {
-        // 表格列配置
-        columns() {
-            return [
-                {
-                    columnKey: 'index',
-                    label: '序号',
-                    type: 'index',
-                    width: 55,
-                    align: 'center',
-                    showOverflowTooltip: true,
-                    fixed: 'left'
-                },
-                {
-                    prop: 'workOrderCode',
-                    label: '工单编码',
-                    align: 'center',
-                    minWidth: 110
-                },
-      
-                {
-                    prop: 'taskName',
-                    label: '工序',
-                    align: 'center'
-                },
-           
-          
-           
-
-                {
-                    prop: 'name',
-                    label: '物品名称',
-                    align: 'center',
-                    minWidth: 280
-                },
-
-
-                
-                {
-                    slot: 'feedStatus',
-                    label: '类型',
-                    align: 'center'
-                },
-                {
-                    prop: 'number',
-                    label: '数量',
-                    align: 'center'
-                },
-
-                {
-                    prop: 'deviceName',
-                    label: '设备名称',
-                    align: 'center'
-                },
-
-                {
-                    prop: 'workstationName',
-                    label: '工位',
-                    align: 'center'
-                },
-
-
-
-
-                
-
-
-
-                {
-                    prop: 'createTime',
-                    label: '创建时间',
-                    align: 'center',
-                    showOverflowTooltip: true,
-                    minWidth: 110
-                },
- 
-       
-
-            ];
-        },
-
-
-
-
-    },
-    created() {
-
+      // 表格列配置
+      columns() {
+        return [
+          {
+            columnKey: 'index',
+            label: '序号',
+            type: 'index',
+            width: 55,
+            align: 'center',
+            showOverflowTooltip: true,
+            fixed: 'left'
+          },
+          {
+            prop: 'workOrderCode',
+            label: '工单编码',
+            align: 'center',
+            minWidth: 110
+          },
+
+          {
+            prop: 'taskName',
+            label: '工序',
+            align: 'center'
+          },
+
+          {
+            prop: 'name',
+            label: '物品名称',
+            align: 'center',
+            minWidth: 280
+          },
+
+          {
+            slot: 'feedStatus',
+            label: '类型',
+            align: 'center'
+          },
+          {
+            prop: 'number',
+            label: '数量',
+            align: 'center'
+          },
+
+          {
+            prop: 'deviceName',
+            label: '设备名称',
+            align: 'center'
+          },
+
+          {
+            prop: 'workstationName',
+            label: '工位',
+            align: 'center'
+          },
+
+          {
+            prop: 'createTime',
+            label: '创建时间',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110
+          }
+        ];
+      }
     },
     },
+    created() {},
     methods: {
     methods: {
-  
-        /* 表格数据源 */
-        datasource({ page, limit, where }) {
-
-            where = {     rootCategoryLevelId: ['2'], ...where };
-
-            return getList({
-                pageNum: page,
-                size: limit,
-                ...where,
-               
-            });
-        },
-
-
-
-
-
-        /* 刷新表格 */
-        reload(where) {
-            this.$nextTick(() => {
-                this.$refs.table.reload({ page: 1, where });
-            });
-        }
+      /* 表格数据源 */
+      datasource({ page, limit, where }) {
+        where = { rootCategoryLevelId: ['2'], ...where };
+
+        return getList({
+          pageNum: page,
+          size: limit,
+          ...where
+        });
+      },
+
+      /* 刷新表格 */
+      reload(where) {
+        this.$nextTick(() => {
+          this.$refs.table.reload({ page: 1, where });
+        });
+      }
     }
     }
-};
+  };
 </script>
 </script>
-  
+
 <style lang="scss" scoped></style>
 <style lang="scss" scoped></style>
-