lph 1 жил өмнө
parent
commit
8f93c7345c

+ 132 - 121
zkqy-ui/src/views/bussiness/dialogCompments/Mec/AssignEmployees.vue

@@ -1,142 +1,153 @@
 <template>
-    <div class="app-container">
-        <el-form :model="form" :rules="rules" ref="form" label-width="100px" align="left" :inline="false" size="normal">
-            <el-form-item prop="bz">
-              <el-select v-model="form.bz" >
-                <el-option
-                    v-for="item in form.goodsList"
-                    :key="item.value"
-                    :label="item.goodsname"
-                    :value="item.id"
-                >
-                </el-option>
-              </el-select>
-            </el-form-item>
-            <el-form-item>
-                <el-button type="primary" size="small" class="btn" @click="submitHandler" icon="el-icon-success">绑定班组</el-button>
-            </el-form-item>
-        </el-form>
-    </div>
+  <div class="app-container">
+    <el-form
+      :model="form"
+      :rules="rules"
+      ref="form"
+      label-width="100px"
+      align="left"
+      :inline="false"
+      size="normal"
+    >
+      <el-form-item prop="bz">
+        <el-select v-model="form.bz">
+          <el-option
+            v-for="item in form.goodsList"
+            :key="item.value"
+            :label="item.goodsname"
+            :value="item.id"
+          >
+          </el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item>
+        <el-button
+          type="primary"
+          size="small"
+          class="btn"
+          @click="submitHandler"
+          icon="el-icon-success"
+          >绑定班组</el-button
+        >
+      </el-form-item>
+    </el-form>
+  </div>
 </template>
 
 <script>
 import { submitNodeForm } from "@/api/bpmprocess/runDialogApi/index";
 export default {
-    name: 'AssignEmployees',
-    props: ["formData", "row"],
-    data() {
-        return {
-            isEdit:false,
-            form: {
-                bz: ''
-            },
-            rules: {
-                bz: [
-                    { required: true, trigger: 'change' },
-                ]
-            }
-        };
+  name: "AssignEmployees",
+  props: ["formData", "row"],
+  data() {
+    return {
+      isEdit: false,
+      form: {
+        bz: "",
+      },
+      rules: {
+        bz: [{ required: true, trigger: "change" }],
+      },
+    };
+  },
+  computed: {
+    myFormData() {
+      return this.formData;
     },
-    computed: {
-        myFormData() {
-        return this.formData;
-        },
+  },
+  watch: {
+    myFormData: {
+      handler(nval) {
+        this.form = nval.resultMap;
+        this.form.hp = this.form.goodId;
+        console.log(this.form);
+        // this.isEdit = this.form.id ? true : false;
+        this.isEdit = this.form.taskKey && this.form.taskNodeKey;
+      },
+      deep: true,
+      immediate: true,
     },
-    watch: {
-        myFormData: {
-            handler(nval) {
-                this.form = nval.resultMap;
-                this.form.hp = this.form.goodId
-                console.log(this.form);
-                // this.isEdit = this.form.id ? true : false;
-                this.isEdit = this.form.taskKey && this.form.taskNodeKey
+  },
+  mounted() {},
+  methods: {
+    async submitHandler() {
+      console.log(this.row);
+      let res = await this.$refs.form?.validate();
+      if (res) {
+        let payLoad = {};
+        let { bz } = this.form;
+        if (this.isEdit) {
+          let { taskKey, taskNodeKey } = this.myFormData.resultMap;
+          payLoad.updateCommonEntityList = [
+            {
+              basicMap: {
+                tableName: "plan",
+              },
+              conditionMap: {
+                task_key: taskKey,
+                task_node_key: taskNodeKey,
+              },
+              commMap: {
+                bz,
+              },
             },
-            deep: true,
-            immediate: true,
-        },
-    },
-    mounted() {
-        
-    },
-    methods: {
-        async submitHandler() {
-            console.log(this.row);
-            let res = await this.$refs.form?.validate();
-            if (res) {
-                let payLoad = {};
-                let { bz } = this.form;
-                if (this.isEdit) {
-                let { taskKey, taskNodeKey } = this.myFormData.resultMap;
-                payLoad.updateCommonEntityList = [
-                    {
-                    basicMap: {
-                        tableName: "plan",
-                    },
-                    conditionMap: {
-                        task_key: taskKey,
-                        task_node_key: taskNodeKey,
-                    },
-                    commMap: {
-                       bz
-                    },
-                    },
-                ];
-                } else {
-                payLoad.insertCommonEntityList = [
-                    {
-                    basicMap: {
-                        tableName: "plan",
-                    },
-                    addListMap: [
-                        {
-                        bz,
-                        taskKey: this.row.benTaskProcessKey,
-                        taskNodeKey: this.row.benTaskNodeKey,
-                        },
-                    ],
+          ];
+        } else {
+          payLoad.insertCommonEntityList = [
+            {
+              basicMap: {
+                tableName: "plan",
+              },
+              addListMap: [
+                {
+                  bz,
+                  taskKey: this.row.benTaskProcessKey,
+                  taskNodeKey: this.row.benTaskNodeKey,
                 },
-                ];
-                }
+              ],
+            },
+          ];
+        }
         submitNodeForm(payLoad).then((response) => {
-            if (response.code == 200) {
-                this.$modal.msgSuccess("保存成功");
-            } else {
-                this.$modal.error("保存失败,请稍后再试");
-            }
+          if (response.code == 200) {
+            this.$modal.msgSuccess("保存成功");
+          } else {
+            this.$modal.error("保存失败,请稍后再试");
+          }
         });
-            }
-        },
+      }
     },
-    async getFormData() {
-      let formData = {
-        flag: false,
-        msg: "",
-      };
-      try {
-        let valid = await this.$refs.form.validate();
-        if (valid) {
-          formData.flag = true;
-          formData.data = this.form;
-          return formData;
-        } else {
-          formData.msg = "表单校验异常,请规范填写表单数据";
-          return formData;
-        }
-      } catch (error) {
-        // console.log(error);
+  },
+  async getFormData() {
+    let formData = {
+      flag: false,
+      msg: "",
+    };
+    try {
+      let valid = await this.$refs.form.validate();
+      if (valid) {
+        formData.flag = true;
+        formData.data = this.form;
+        return formData;
+      } else {
         formData.msg = "表单校验异常,请规范填写表单数据";
         return formData;
       }
-    },
+    } catch (error) {
+      // console.log(error);
+      formData.msg = "表单校验异常,请规范填写表单数据";
+      return formData;
+    }
+  },
 };
 </script>
 
 <style lang="scss" scoped>
-.app-container{
-    .btn{
-        background: rgb(123,213,195);
-        border:  rgb(123,213,195);
-        text-align: right; 
-    }
+.app-container {
+  .btn {
+    background: rgb(123, 213, 195);
+    border: rgb(123, 213, 195);
+    text-align: right;
+  }
 }
-</style>
+</style>

+ 9 - 7
zkqy-ui/src/views/bussiness/dialogCompments/Mec/NodeShow.vue

@@ -8,11 +8,11 @@
         <div
           :class="{
             node: true,
-            currentNode: item.nodeId == currentNodeKey,
           }"
           v-for="(item, index) of nodeList"
           :key="item.num"
         >
+          <!-- currentNode: item.nodeId == currentNodeKey, -->
           <!-- @click="shiftNode(item)" -->
           <span class="num">>{{ index + 1 }}</span>
           <span class="title">{{ item.nodeInfo.name }}</span>
@@ -87,17 +87,19 @@ export default {
           let nodeSequence = getNodeSequence(
             xmlStr2XmlObj(val.bepTaskProcessXmlContent)
           );
-          this.nodeList = nodeSequence
-            .slice(0, this.getIndexByNodeId(nodeSequence, this.currentNodeKey))
-            ?.filter((item) => item.nodeInfo.localName != "exceptionTask");
+          this.nodeList = nodeSequence?.filter(
+            (item) => item.nodeInfo.localName != "exceptionTask"
+          );
+          // .slice(0, this.getIndexByNodeId(nodeSequence, this.currentNodeKey))
+          // ?.filter((item) => item.nodeInfo.localName != "exceptionTask");
           // this.nodeList = getNodeSequence(
           //   xmlStr2XmlObj(val.bepTaskProcessXmlContent)
           // )?.filter((item) => item.nodeInfo.localName != "exceptionTask");
 
           //去掉开始和结束节点
-          this.nodeList.shift();
-          this.nodeList[this.nodeList.length - 1]?.nodeInfo.localName ==
-            "endEvent" && this.nodeList.pop();
+          // this.nodeList.shift();
+          // this.nodeList[this.nodeList.length - 1]?.nodeInfo.localName ==
+          //   "endEvent" && this.nodeList.pop();
           console.log(this.nodeList);
         }
       },

+ 231 - 0
zkqy-ui/src/views/bussiness/dialogCompments/Mec/ProductionProcesses.vue

@@ -0,0 +1,231 @@
+<template>
+  <div class="app-container">
+    <div class="leftMessage">
+      <div class="list" v-for="(item, index) in baseMessage" :key="index">
+        <span
+          class="titile"
+          style="background: rgb(52, 191, 163); color: white"
+        >
+          {{ item.title }}
+        </span>
+        <span
+          class="content"
+          style="background: rgb(235, 237, 242); color: rgb(232, 83, 152)"
+        >
+          {{ item.content }}
+        </span>
+      </div>
+      <div class="content"></div>
+    </div>
+    <div class="rightMessage">
+      <div class="top">
+        <div class="state">
+          <div class="list">
+            <span>工序状态:</span>
+            <p>初始</p>
+          </div>
+          <div class="list">
+            <span>是否外协:</span>
+            <p>初始</p>
+          </div>
+        </div>
+      </div>
+      <div class="button">
+        <el-button-group>
+          <el-button type="primary" icon="el-icon-video-play" plain round
+            >开始</el-button
+          >
+          <el-button type="danger" icon="el-icon-video-pause" plain
+            >暂停</el-button
+          >
+          <el-button type="success" icon="el-icon-circle-check" plain
+            >完成</el-button
+          >
+          <el-button type="info" icon="el-icon-refresh" plain round
+            >重置</el-button
+          >
+        </el-button-group>
+      </div>
+      <div class="middle">
+        <el-table :data="tableData2" border>
+          <el-table-column> </el-table-column>
+        </el-table>
+        <div class="name">人员及工时分配</div>
+        <el-table :data="tableData1" border ref="addTableRowRef">
+          <el-table-column label="人员姓名">
+            <template slot-scope="scope">
+              <el-input v-model="scope.row.name"></el-input>
+            </template>
+          </el-table-column>
+          <el-table-column label="分配工时">
+            <template slot-scope="scope">
+              <el-input-number
+                v-model="scope.row.time"
+                controls-position="right"
+                @change="handleChange"
+                :min="0.25"
+                :max="8"
+                :step="0.25"
+              ></el-input-number>
+            </template>
+          </el-table-column>
+          <el-table-column label="操作" width="120" align="center">
+            <template slot-scope="scope">
+              <el-button
+                icon="el-icon-delete"
+                size="mini"
+                @click="deleteTableRow(scope.row)"
+                >删除</el-button
+              >
+            </template>
+          </el-table-column>
+        </el-table>
+        <div class="block">
+          <el-pagination layout="prev, pager, next" :total="50">
+          </el-pagination>
+        </div>
+        <el-button
+          size="mini"
+          icon="el-icon-plus"
+          type="primary"
+          @click="addTableRow"
+          >新 增</el-button
+        >
+        <el-button
+          size="mini"
+          icon="el-icon-check"
+          type="success"
+          @click="saveTableRow(newRow)"
+          >保 存</el-button
+        >
+      </div>
+      <div class="footer">
+        <div class="total">
+          <span>当前工序总工时: 10</span>
+          <span>当前已分配工时: 10</span>
+          <span>当前剩余工时: 10</span>
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+<script>
+export default {
+  name: "ProductionProcesses",
+  data() {
+    return {
+      tableData1: [],
+      tableData2: [],
+      newRow: {},
+      baseMessage: [
+        { title: "任务", content: "47as04-51-1238" },
+        { title: "图号", content: "1CG12-38" },
+        { title: "名称", content: "支架" },
+        { title: "数量", content: "1" },
+        { title: "工艺", content: "1" },
+        { title: "质控", content: "1" },
+      ],
+    };
+  },
+  methods: {
+    addTableRow() {
+      const newRow = {
+        name: "",
+        time: 0.25,
+      };
+      this.tableData1.push(newRow);
+    },
+    deleteTableRow(row) {
+      const index = this.tableData1.indexOf(row);
+      if (index !== -1) {
+        this.tableData1.splice(index, 1);
+      }
+    },
+    saveTableRow(tableData1) {
+      let item = "";
+      for (let i = 0; i < this.tableData1.length; i++) {
+        item += tableData1[i];
+      }
+      this.tableData2 = this.item;
+      this.tableData1 = [];
+    },
+    handleChange(value) {
+      console.log(value);
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.app-container {
+  display: flex;
+  flex-direction: row;
+  justify-content: space-between;
+  .leftMessage {
+    display: flex;
+    flex-direction: column;
+    width: 180px;
+    .list {
+      padding: 10px 0px;
+      span {
+        border-radius: 10px;
+        padding: 5px;
+        margin-right: 10px;
+      }
+    }
+  }
+  .rightMessage {
+    display: flex;
+    width: 500px;
+    flex-direction: column;
+    .top {
+      background: #53b0f8;
+      color: white;
+      height: 60px;
+      .state {
+        display: flex;
+        flex-direction: row;
+        padding: 10px 20px;
+        span {
+          padding-right: 150px;
+        }
+        p {
+          padding-top: 5px;
+          font-size: 10px;
+        }
+      }
+    }
+    .button {
+      width: 100%;
+      padding: 20px 0px;
+      .el-button {
+        width: 140px;
+        background: none;
+      }
+      .el-button--info {
+        width: 80px;
+      }
+    }
+    .middle {
+      .name {
+        color: black;
+        font-weight: bold;
+        text-align: center;
+        padding: 10px 0px;
+      }
+      .block {
+        text-align: center;
+      }
+    }
+    .footer {
+      display: inline-block;
+      flex-direction: row;
+      margin-top: 10px;
+      span {
+        font-weight: bold;
+        color: black;
+      }
+    }
+  }
+}
+</style>

+ 148 - 0
zkqy-ui/src/views/bussiness/dialogCompments/Mec/RecordQuality.vue

@@ -0,0 +1,148 @@
+<template>
+  <div class="app-container">
+    <div class="fixture">
+      <div class="title">
+        <i class="el-icon-c-scale-to-original"></i>
+        <span>工装信息</span>
+      </div>
+      <div class="message">
+        <div class="list" v-for="(item, index) in message" :key="index">
+          <div class="list-card">
+            <p>{{ item.title }}</p>
+            <p class="content">{{ item.content }}</p>
+          </div>
+        </div>
+      </div>
+    </div>
+    <div class="material">
+      <div class="title">
+        <i class="el-icon-c-scale-to-original"></i>
+        <span>物料需求信息</span>
+      </div>
+      <div class="message">
+        <div class="list" v-for="(item, index) in message" :key="index">
+          <div class="list-card">
+            <p>{{ item.title }}</p>
+            <p class="content">{{ item.content }}</p>
+          </div>
+        </div>
+      </div>
+    </div>
+    <div class="card">
+      <div class="title"><span>质控卡号</span></div>
+      <el-input v-model="input" placeholder="请输入内容"></el-input>
+    </div>
+    <div class="submit">
+      <el-button type="success" icon="el-icon-success">记录质控卡</el-button>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "RecordQuality",
+
+  data() {
+    return {
+      message: [
+        { title: "任务编号", content: "task_50" },
+        { title: "图号", content: "drawinng_50" },
+        { title: "投产数量", content: "1" },
+        { title: "牌号", content: "1" },
+        { title: "状态", content: "1" },
+        { title: "标准", content: "1" },
+        { title: "物资名称", content: "1" },
+        { title: "材料/产品", content: "1" },
+        { title: "规格", content: "1" },
+        { title: "尺寸", content: "1" },
+        { title: "备注", content: "1" },
+      ],
+      input: "",
+    };
+  },
+
+  mounted() {},
+
+  methods: {
+    recordValue() {
+      this.$emit("ZL1", this.message[0].content);
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.fixture {
+  border-top: #e2e1e1 solid 1px;
+  .title {
+    display: flex;
+    flex-direction: row;
+    padding: 10px 0px;
+  }
+  .message {
+    display: flex;
+    /* height: 120px; */
+    width: 700px;
+    border: #f1f1f1 solid 3px;
+    padding-bottom: 5px;
+    flex-wrap: wrap;
+    .list {
+      height: 70px;
+      width: 110px;
+      padding: 10px;
+      display: flex;
+      flex-direction: row;
+      /* justify-content: center; */
+      flex-wrap: wrap;
+      p {
+        text-align: center;
+      }
+      .content {
+        font-weight: bold;
+      }
+    }
+  }
+}
+.material {
+  padding-top: 2px;
+  .title {
+    display: flex;
+    flex-direction: row;
+    padding: 10px 0px;
+  }
+  .message {
+    display: flex;
+    /* height: 120px; */
+    width: 700px;
+    border: #f1f1f1 solid 3px;
+    padding-bottom: 5px;
+    flex-wrap: wrap;
+    .list {
+      height: 70px;
+      width: 110px;
+      padding: 10px;
+      display: flex;
+      flex-direction: row;
+      /* justify-content: center; */
+      flex-wrap: wrap;
+      p {
+        text-align: center;
+      }
+      .content {
+        font-weight: bold;
+      }
+    }
+  }
+}
+.card {
+  .title {
+    padding: 10px 0px;
+  }
+}
+.submit {
+  display: flex;
+  flex-direction: row-reverse;
+  padding: 10px 0px;
+  border-bottom: #e2e1e1 solid 1px;
+}
+</style>

+ 7 - 0
zkqy-ui/src/views/bussiness/processMange.vue

@@ -239,8 +239,13 @@ import KC02 from "./dialogCompments/test-component/KuCun/KC02.vue";
 import GY06 from "./dialogCompments/GongYi/GY06.vue";
 import KB01 from "./dialogCompments/KongBai/KB01.vue"; //空白提示组件
 import SC01 from "./dialogCompments/ShengChan/SC01.vue";
+
+//Mec组件
 import AssignEmployees from "./dialogCompments/Mec/AssignEmployees.vue";
 import Notes from "./dialogCompments/Mec/Notes.vue";
+import NodeShow from "./dialogCompments/Mec/NodeShow.vue";
+import RecordQuality from "./dialogCompments/Mec/RecordQuality.vue";
+import ProductionProcesses from "./dialogCompments/Mec/ProductionProcesses.vue";
 
 export default {
   name: "processMange",
@@ -261,6 +266,8 @@ export default {
     NodeShow,
     AssignEmployees,
     Notes,
+    RecordQuality,
+    ProductionProcesses,
   },
   dicts: ["bpm_type", "task_process_state"],
   data() {