LAPTOP-16IUEB3P\Lenovo пре 2 година
родитељ
комит
71acb9ea1c

+ 17 - 0
src/api/technology/version/version.js

@@ -0,0 +1,17 @@
+import request from '@/utils/request';
+
+/**
+ * 分页查询用户
+ * @param params 查询条件
+ */
+export async function pageList (params) {
+  let par = new URLSearchParams(params);
+  const res = await request.get(
+    `/main/produceversion/page?` + par,
+    params
+  );
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}

+ 4 - 1
src/enum/dict.js

@@ -24,5 +24,8 @@ export default {
   提前期单位: 'leadtime_unit',
   提前期单位: 'leadtime_unit',
   价格单位: 'price_unit',
   价格单位: 'price_unit',
   检验方案: 'inspection_scheme',
   检验方案: 'inspection_scheme',
-  文件模块: 'file_module'
+  文件模块: 'file_module',
+  产能计划周期: 'capacity_cycle',
+  产量目标单位: 'target_unit',
+  产能计划状态: 'capacity_status'
 };
 };

+ 59 - 9
src/views/factoryModel/productionLine/components/edit.vue

@@ -201,9 +201,9 @@
         header="产能计划"
         header="产能计划"
         body-style="padding: 0 22px 10px 22px;"
         body-style="padding: 0 22px 10px 22px;"
       >
       >
-        <el-button type="primary" class="add-btn">添加</el-button>
+        <el-button type="primary" class="add-btn" @click="addItem">添加</el-button>
         <el-table
         <el-table
-          :data="planList"
+          :data="form.mainFactoryCapacityList"
           tooltip-effect="dark"
           tooltip-effect="dark"
           style="width: 100%"
           style="width: 100%"
           :header-cell-style="{
           :header-cell-style="{
@@ -212,26 +212,55 @@
           }"
           }"
         >
         >
           <el-table-column prop="code" label="计划周期">
           <el-table-column prop="code" label="计划周期">
-            <!-- <template slot-scope="{ row }">
-              <div>{{ row.code }}</div>
-            </template> -->
+            <template slot-scope="{ row }">
+              <div style="width: 95%;">
+                <DictSelection dictName="产能计划周期" disabled clearable v-model="row.pType">
+                </DictSelection>
+              </div>
+            </template>
           </el-table-column>
           </el-table-column>
           <el-table-column label="计划时段">
           <el-table-column label="计划时段">
+            <template slot-scope="{ row }">
+              <el-date-picker
+                style="width: 95%;"
+                v-model="row.pPeriodTime"
+                type="month"
+                placeholder="选择月">
+              </el-date-picker>
+            </template>
           </el-table-column>
           </el-table-column>
-          <el-table-column label="产量目标">
+          <el-table-column label="产量目标" width="300">
+             <template slot-scope="{ row }">
+                <div class="row-div">
+                    <el-input
+                      clearable
+                      :maxlength="20"
+                      v-model="row.capacityTarget"
+                    />
+                    <DictSelection dictName="产量目标单位" clearable v-model="row.capacityUnit">
+                    </DictSelection>
+                </div>
+             </template>
           </el-table-column>
           </el-table-column>
           <el-table-column label="创建人">
           <el-table-column label="创建人">
           </el-table-column>
           </el-table-column>
           <el-table-column label="创建时间">
           <el-table-column label="创建时间">
           </el-table-column>
           </el-table-column>
           <el-table-column label="状态">
           <el-table-column label="状态">
+             <template slot-scope="{ row }">
+                <div>
+                    <DictSelection dictName="产能计划状态" clearable v-model="row.status">
+                    </DictSelection>
+                </div>
+             </template>
           </el-table-column>
           </el-table-column>
           <el-table-column width="80" label="操作">
           <el-table-column width="80" label="操作">
             <template slot-scope="scope">
             <template slot-scope="scope">
               <el-button
               <el-button
                 size="mini"
                 size="mini"
                 type="danger"
                 type="danger"
-                >删除
+                @click="delItem(scope.$index)"
+              >删除
               </el-button>
               </el-button>
             </template>
             </template>
           </el-table-column>
           </el-table-column>
@@ -291,6 +320,7 @@ export default {
       enabled: 1,
       enabled: 1,
       parentId: '',
       parentId: '',
       remark: '',
       remark: '',
+      mainFactoryCapacityList:[],
       type: 4  //  FACTORY(1, "工厂"), WORKSHOP_PLAN(2, "厂房"), WORKSHOP(3, "车间"), LINE(4, "厂线");
       type: 4  //  FACTORY(1, "工厂"), WORKSHOP_PLAN(2, "厂房"), WORKSHOP(3, "车间"), LINE(4, "厂线");
     };
     };
     return {
     return {
@@ -333,8 +363,7 @@ export default {
           }
           }
         ],
         ],
         cityDataLabel
         cityDataLabel
-      },
-      planList:[]
+      }
     };
     };
   },
   },
   computed: {
   computed: {
@@ -352,6 +381,19 @@ export default {
     }
     }
   },
   },
   methods: {
   methods: {
+    addItem(){
+       const item = {
+           pType:'2',
+           pPeriodTime:'',
+           capacityTarget:'',
+           capacityUnit:null,
+           status:'1',
+       }
+       this.form.mainFactoryCapacityList.push(item)
+    },
+    delItem (index) {
+      this.form.mainFactoryCapacityList.splice(index, 1)
+    },
     open(type, row) {
     open(type, row) {
       this.type = type;
       this.type = type;
       this.visible = true;
       this.visible = true;
@@ -471,4 +513,12 @@ export default {
   display:black;
   display:black;
   margin: 20px 0;
   margin: 20px 0;
 }
 }
+.row-div{
+  display: flex;
+  align-items: center;
+  justify-content: space-around;
+  .el-input{
+    margin-right:10px;
+  }
+}
 </style>
 </style>

+ 3 - 0
src/views/factoryModel/productionLine/index.vue

@@ -156,6 +156,9 @@ export default {
       });
       });
     },
     },
     openEdit(type, row) {
     openEdit(type, row) {
+      if(typeof row.mainFactoryCapacityList == 'string'){
+         this.$set(row,'mainFactoryCapacityList', [])
+      }
       this.$refs.edit.open(type, row);
       this.$refs.edit.open(type, row);
     },
     },
     // 获取公司数据
     // 获取公司数据

+ 6 - 6
src/views/technology/version/components/user-search.vue

@@ -9,19 +9,19 @@
     <el-row>
     <el-row>
       <el-col v-bind="styleResponsive ? { lg: 5, md: 12 } : { span: 4 }">
       <el-col v-bind="styleResponsive ? { lg: 5, md: 12 } : { span: 4 }">
         <el-form-item label="产品编码:">
         <el-form-item label="产品编码:">
-          <el-input clearable v-model="where.code" placeholder="请输入" />
+          <el-input clearable v-model="where.categoryCode" placeholder="请输入" />
         </el-form-item>
         </el-form-item>
       </el-col>
       </el-col>
       <el-col v-bind="styleResponsive ? { lg: 5, md: 12 } : { span: 4 }">
       <el-col v-bind="styleResponsive ? { lg: 5, md: 12 } : { span: 4 }">
         <el-form-item label="产品名称:">
         <el-form-item label="产品名称:">
-          <el-input clearable v-model="where.name" placeholder="请输入" />
+          <el-input clearable v-model="where.categoryName" placeholder="请输入" />
         </el-form-item>
         </el-form-item>
       </el-col>
       </el-col>
       <el-col v-bind="styleResponsive ? { lg: 5, md: 12 } : { span: 4 }">
       <el-col v-bind="styleResponsive ? { lg: 5, md: 12 } : { span: 4 }">
         <el-form-item label="版本号:">
         <el-form-item label="版本号:">
           <el-input
           <el-input
             clearable
             clearable
-            v-model="where.version"
+            v-model="where.code"
             placeholder="请输入"
             placeholder="请输入"
           />
           />
         </el-form-item>
         </el-form-item>
@@ -30,7 +30,7 @@
         <el-form-item label="版本名称:">
         <el-form-item label="版本名称:">
           <el-input
           <el-input
             clearable
             clearable
-            v-model="where.versionName"
+            v-model="where.name"
             placeholder="请输入"
             placeholder="请输入"
           />
           />
         </el-form-item>
         </el-form-item>
@@ -62,8 +62,8 @@
       const defaultWhere = {
       const defaultWhere = {
         code: '',
         code: '',
         name: '',
         name: '',
-        version: '',
-        versionName: ''
+        categoryCode: '',
+        categoryName: ''
       };
       };
       return {
       return {
         // 表单数据
         // 表单数据

+ 28 - 76
src/views/technology/version/index.vue

@@ -12,22 +12,22 @@
         row-key="code"
         row-key="code"
       >
       >
         <!-- 表头工具栏 -->
         <!-- 表头工具栏 -->
-<!--        <template v-slot:toolbar>
+       <template v-slot:toolbar>
           <el-button
           <el-button
             size="small"
             size="small"
             type="primary"
             type="primary"
-            icon="el-icon-plus"
+            icon="el-icon-refresh-left"
             class="ele-btn-icon"
             class="ele-btn-icon"
-            @click="openEdit()"
+            @click="toRefresh()"
           >
           >
-            新
+            
           </el-button>
           </el-button>
-        </template> -->
+        </template>
 
 
         <!-- 状态列 -->
         <!-- 状态列 -->
-        <template v-slot:status="{ row }">
+<!--        <template v-slot:status="{ row }">
           {{ checkStatus(row) }}
           {{ checkStatus(row) }}
-        </template>
+        </template> -->
 
 
         <!-- 操作列 -->
         <!-- 操作列 -->
         <template v-slot:action="{ row }">
         <template v-slot:action="{ row }">
@@ -48,7 +48,7 @@
 
 
 <script>
 <script>
   import UserSearch from './components/user-search.vue';
   import UserSearch from './components/user-search.vue';
-  import route from '@/api/technology/route';
+  import { pageList } from '@/api/technology/version/version.js';
   export default {
   export default {
     name: 'technologyVersion',
     name: 'technologyVersion',
     components: {
     components: {
@@ -58,22 +58,15 @@
       return {
       return {
         // 表格列配置
         // 表格列配置
         columns: [
         columns: [
-          // {
-          //   columnKey: 'selection',
-          //   type: 'selection',
-          //   width: 45,
-          //   align: 'center',
-          //   fixed: 'left'
-          // },
           {
           {
-            prop: 'code',
+            prop: 'categoryCode',
             label: '产品编码',
             label: '产品编码',
             showOverflowTooltip: true,
             showOverflowTooltip: true,
             align: 'center',
             align: 'center',
             minWidth: 110
             minWidth: 110
           },
           },
           {
           {
-            prop: 'name',
+            prop: 'categoryName',
             label: '产品名称',
             label: '产品名称',
             showOverflowTooltip: true,
             showOverflowTooltip: true,
             align: 'center',
             align: 'center',
@@ -81,30 +74,29 @@
           },
           },
           {
           {
             align: 'center',
             align: 'center',
-            prop: 'categoryCode',
+            prop: 'code',
             label: '版本号',
             label: '版本号',
             showOverflowTooltip: true,
             showOverflowTooltip: true,
             minWidth: 110
             minWidth: 110
           },
           },
           {
           {
-            prop: 'categoryName',
+            prop: 'name',
             label: '版本名称',
             label: '版本名称',
             align: 'center',
             align: 'center',
             showOverflowTooltip: true,
             showOverflowTooltip: true,
             minWidth: 110
             minWidth: 110
           },
           },
           {
           {
-            prop: 'version',
+            prop: 'routingCode',
             label: '工艺路线编码',
             label: '工艺路线编码',
             align: 'center',
             align: 'center',
             showOverflowTooltip: true,
             showOverflowTooltip: true,
             minWidth: 110
             minWidth: 110
           },
           },
           {
           {
-            prop: 'status',
+            prop: 'routingVersion',
             label: '工艺版本号',
             label: '工艺版本号',
             align: 'center',
             align: 'center',
-            slot: 'status',
             showOverflowTooltip: true,
             showOverflowTooltip: true,
             minWidth: 110
             minWidth: 110
           },
           },
@@ -136,20 +128,22 @@
     },
     },
     methods: {
     methods: {
       /* 表格数据源 */
       /* 表格数据源 */
-      async datasource({ page, limit, where, order }) {
-        const res = await route.list({
-          ...where,
-          ...order,
-          pageNum: page,
-          size: limit
-        });
-        return res;
-      },
-      checkStatus(row) {
-        let obj = this.statusList.find((it) => it.value == row.status);
-        return obj.label;
+      datasource({ page, limit, where, order }) {
+        return pageList({ pageNum: page, size: limit, ...where });
       },
       },
+      // async datasource({ page, limit, where, order }) {
+      //   const res = await pageList({
+      //     ...where,
+      //     ...order,
+      //     pageNum: page,
+      //     size: limit
+      //   });
+      //   return res;
+      // },
+      /* 点击刷新 */
+      toRefresh(){
 
 
+      },
       /* 刷新表格 */
       /* 刷新表格 */
       reload(where) {
       reload(where) {
         this.$refs.table.reload({ page: 1, where: where });
         this.$refs.table.reload({ page: 1, where: where });
@@ -160,48 +154,6 @@
           path: '/technology/version/details',
           path: '/technology/version/details',
           query: {id}
           query: {id}
         })
         })
-      },
-
-      /* 删除 */
-      remove(row) {
-        const loading = this.$loading({ lock: true });
-
-        route
-          .delete(row.id)
-          .then((msg) => {
-            loading.close();
-            this.$message.success('删除' + msg);
-            this.reload();
-          })
-          .catch((e) => {
-            loading.close();
-            // this.$message.error(e.message);
-          });
-      },
-      /* 批量删除 */
-      removeBatch() {
-        if (!this.selection.length) {
-          this.$message.error('请至少选择一条数据');
-          return;
-        }
-        this.$confirm('确定要删除选中的工序吗?', '提示', {
-          type: 'warning'
-        })
-          .then(() => {
-            const loading = this.$loading({ lock: true });
-            producetask
-              .delete(this.selection.map((d) => d.id))
-              .then((msg) => {
-                loading.close();
-                this.$message.success('删除' + msg);
-                this.reload();
-              })
-              .catch((e) => {
-                loading.close();
-                // this.$message.error(e.message);
-              });
-          })
-          .catch(() => {});
       }
       }
     }
     }
   };
   };

+ 2 - 2
vue.config.js

@@ -32,10 +32,10 @@ module.exports = {
       // 当我们的本地的请求 有/api的时候,就会代理我们的请求地址向另外一个服务器发出请求
       // 当我们的本地的请求 有/api的时候,就会代理我们的请求地址向另外一个服务器发出请求
       '/api': {
       '/api': {
         // target: 'http://192.168.3.51:18086', // 测试
         // target: 'http://192.168.3.51:18086', // 测试
-        // target: 'http://192.168.3.35:8080', // kang杨威
+        target: 'http://192.168.3.35:8080', // kang杨威
         // target: 'http://192.168.3.25:8080', // 黄峥嵘
         // target: 'http://192.168.3.25:8080', // 黄峥嵘
         // target: 'http://192.168.3.41:8080', // 何江鹏
         // target: 'http://192.168.3.41:8080', // 何江鹏
-        target: 'http://192.168.3.33:8080', // 谢一平
+        // target: 'http://192.168.3.33:8080', // 谢一平
         // target: 'http://192.168.3.64:8080', // 粟勋
         // target: 'http://192.168.3.64:8080', // 粟勋
         // target: 'http://192.168.3.34:8080', // 刘毅
         // target: 'http://192.168.3.34:8080', // 刘毅
         changeOrigin: true, // 只有这个值为true的情况下 才表示开启跨域
         changeOrigin: true, // 只有这个值为true的情况下 才表示开启跨域