From 284ba780b1fab0e90966052614d65137ad121dc6 Mon Sep 17 00:00:00 2001
From: "LAPTOP-R6EHHS26\\86155" <2217640373@qq.com>
Date: Thu, 19 Oct 2023 16:04:58 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9tag=20=E6=A0=B7=E5=BC=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/views/technology/process/content.vue | 467 ++++++++++++++++------
 src/views/technology/process/index.vue   |   8 +-
 src/views/technology/recipe/content.vue  | 482 ++++++++++++++++-------
 3 files changed, 693 insertions(+), 264 deletions(-)

diff --git a/src/views/technology/process/content.vue b/src/views/technology/process/content.vue
index 1bef5e14..2073368b 100644
--- a/src/views/technology/process/content.vue
+++ b/src/views/technology/process/content.vue
@@ -1,6 +1,6 @@
 <template>
   <div class="app-container">
-    <el-row v-if="optType !='view'" :gutter="10" class="mb8">
+    <el-row v-if="optType != 'view'" :gutter="10" class="mb8">
       <el-col :span="1.5">
         <el-button
           type="primary"
@@ -9,7 +9,8 @@
           size="mini"
           @click="handleAdd"
           v-hasPermi="['mes:pro:processcontent:add']"
-        >新增</el-button>
+          >新增</el-button
+        >
       </el-col>
       <el-col :span="1.5">
         <el-button
@@ -20,7 +21,8 @@
           :disabled="single"
           @click="handleUpdate"
           v-hasPermi="['mes:pro:processcontent:edit']"
-        >修改</el-button>
+          >修改</el-button
+        >
       </el-col>
       <el-col :span="1.5">
         <el-button
@@ -31,7 +33,8 @@
           :disabled="multiple"
           @click="handleDelete"
           v-hasPermi="['mes:pro:processcontent:remove']"
-        >删除</el-button>
+          >删除</el-button
+        >
       </el-col>
       <el-col :span="1.5">
         <el-button
@@ -41,19 +44,54 @@
           size="mini"
           @click="handleExport"
           v-hasPermi="['mes:pro:processcontent:export']"
-        >导出</el-button>
+          >导出</el-button
+        >
       </el-col>
-      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+      <right-toolbar
+        :showSearch.sync="showSearch"
+        @queryTable="getList"
+      ></right-toolbar>
     </el-row>
 
-    <el-table v-loading="loading" :data="processcontentList" @selection-change="handleSelectionChange">
+    <el-table
+      v-loading="loading"
+      :data="processcontentList"
+      @selection-change="handleSelectionChange"
+    >
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="顺序编号" align="center" prop="orderNum" />
-      <el-table-column label="步骤说明" width="400px" align="center" prop="contentText" :show-overflow-tooltip="true"/>
-      <el-table-column label="辅助设备" align="center" prop="device" :show-overflow-tooltip="true"/>
-      <el-table-column label="BOM材料" align="center" prop="material" :show-overflow-tooltip="true"/>
-      <el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true"/>
-      <el-table-column label="操作" width="100px" v-if="optType !='view'" align="center" class-name="small-padding fixed-width">
+      <el-table-column
+        label="步骤说明"
+        width="400px"
+        align="center"
+        prop="contentText"
+        :show-overflow-tooltip="true"
+      />
+      <el-table-column
+        label="辅助设备"
+        align="center"
+        prop="device"
+        :show-overflow-tooltip="true"
+      />
+      <el-table-column
+        label="BOM材料"
+        align="center"
+        prop="material"
+        :show-overflow-tooltip="true"
+      />
+      <el-table-column
+        label="备注"
+        align="center"
+        prop="remark"
+        :show-overflow-tooltip="true"
+      />
+      <el-table-column
+        label="操作"
+        width="100px"
+        v-if="optType != 'view'"
+        align="center"
+        class-name="small-padding fixed-width"
+      >
         <template slot-scope="scope">
           <el-button
             size="mini"
@@ -61,20 +99,22 @@
             icon="el-icon-edit"
             @click="handleUpdate(scope.row)"
             v-hasPermi="['mes:pro:processcontent:edit']"
-          >修改</el-button>
+            >修改</el-button
+          >
           <el-button
             size="mini"
             type="text"
             icon="el-icon-delete"
             @click="handleDelete(scope.row)"
             v-hasPermi="['mes:pro:processcontent:remove']"
-          >删除</el-button>
+            >删除</el-button
+          >
         </template>
       </el-table-column>
     </el-table>
 
     <pagination
-      v-show="total>0"
+      v-show="total > 0"
       :total="total"
       :page.sync="queryParams.pageNum"
       :limit.sync="queryParams.pageSize"
@@ -84,13 +124,17 @@
     <!-- 添加或修改生产工序内容对话框 -->
     <el-dialog :title="title" :visible.sync="open" width="960px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="120px">
-        <el-row >
-            <el-col :span="12">
-                <el-form-item label="顺序编号" prop="orderNum">
-                    <el-input-number :min="1" v-model="form.orderNum" placeholder="请输入顺序编号" />
-                </el-form-item>
-            </el-col>
-            <!--
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="顺序编号" prop="orderNum">
+              <el-input-number
+                :min="1"
+                v-model="form.orderNum"
+                placeholder="请输入顺序编号"
+              />
+            </el-form-item>
+          </el-col>
+          <!--
             <el-col :span="12">
                 <el-form-item label="材料URL" prop="docUrl">
                     <el-input v-model="form.docUrl" placeholder="请输入材料URL" />
@@ -98,38 +142,118 @@
             </el-col>-->
         </el-row>
         <el-row>
-            <el-col :span="24">
-                <el-form-item label="辅助设备" prop="device">
-                  <el-input v-model="form.device" placeholder="请选择辅助设备" >
-                        <el-button slot="append" @click="handleSelectEquipment" icon="el-icon-search"></el-button>
-                    </el-input>
-                    <ItemSelect ref="itemSelect" @onSelected="onItemSelectedEquipment" > </ItemSelect>
-                </el-form-item>
-            </el-col>
+          <el-col :span="24">
+            <!-- <el-form-item label="辅助设备" prop="device">
+              <el-input v-model="form.device" placeholder="请选择辅助设备">
+                <el-button
+                  slot="append"
+                  @click="handleSelectEquipment"
+                  icon="el-icon-search"
+                ></el-button>
+              </el-input>
+              <ItemSelect
+                ref="itemSelect"
+                @onSelected="onItemSelectedEquipment"
+              >
+              </ItemSelect>
+            </el-form-item> -->
+          </el-col>
+          <el-col :span="24">
+            <div class="tagbox">
+              <div class="tagboxlabel" style="font-weight: 600; color: #606266">
+                辅助设备
+              </div>
+              <div class="tag" style="" placeholder="请选择辅助设备">
+                <el-tag
+                  :key="index"
+                  class="tagitem"
+                  v-for="(tag, index) in selectsubsidiaryListtag"
+                  closable
+                  :disable-transitions="false"
+                  @close="handleClose(tag)"
+                >
+                  {{ tag }}
+                </el-tag>
+              </div>
+              <el-button
+                slot="append"
+                class="button1"
+                @click="handleSelectEquipment"
+                icon="el-icon-search"
+              ></el-button>
+              <ItemSelect
+                ref="itemSelect"
+                @onSelected="onItemSelectedEquipment"
+              >
+              </ItemSelect>
+            </div>
+          </el-col>
         </el-row>
         <el-row>
           <el-col :span="24">
-            <el-form-item label="BOM材料" prop="material">
-              <el-input v-model="form.material" placeholder="请选择BOM材料" >
-                <el-button slot="append" @click="handleSelectBom" icon="el-icon-search"></el-button>
+            <!-- <el-form-item label="BOM材料" prop="material">
+              <el-input v-model="form.material" placeholder="请选择BOM材料">
+                <el-button
+                  slot="append"
+                  @click="handleSelectBom"
+                  icon="el-icon-search"
+                ></el-button>
               </el-input>
-              <ItemSelectBom ref="itemSelectBom" @onSelected="onItemSelectedBom" ></ItemSelectBom>
-            </el-form-item>
+              <ItemSelectBom
+                ref="itemSelectBom"
+                @onSelected="onItemSelectedBom"
+              ></ItemSelectBom>
+            </el-form-item> -->
+            <div class="tagbox">
+              <div class="tagboxlabel" style="font-weight: 600; color: #606266">
+                BOM材料
+              </div>
+              <div class="tag" style="" placeholder="请选择BOM材料">
+                <el-tag
+                  :key="index"
+                  class="tagitem"
+                  v-for="(tag, index) in selectBOMListtag"
+                  closable
+                  :disable-transitions="false"
+                  @close="handleCloseBOM(tag)"
+                >
+                  {{ tag }}
+                </el-tag>
+              </div>
+              <el-button
+                slot="append"
+                class="button1"
+                @click="handleSelectBom"
+                icon="el-icon-search"
+              ></el-button>
+              <ItemSelectBom
+                ref="itemSelectBom"
+                @onSelected="onItemSelectedBom"
+              ></ItemSelectBom>
+            </div>
           </el-col>
         </el-row>
         <el-row>
-            <el-col :span="24">
-                <el-form-item label="步骤说明" prop="contentText">
-                    <el-input v-model="form.contentText" type="textarea" placeholder="请输入内容" />
-                </el-form-item>
-            </el-col>
+          <el-col :span="24">
+            <el-form-item label="步骤说明" prop="contentText">
+              <el-input
+                v-model="form.contentText"
+                type="textarea"
+                placeholder="请输入内容"
+              />
+            </el-form-item>
+          </el-col>
         </el-row>
         <el-row>
-            <el-col :span="24">
-                <el-form-item label="备注" prop="remark">
-                    <el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
-                </el-form-item>
-            </el-col>
+          <el-col :span="24">
+            <el-form-item label="备注" prop="remark">
+              <el-input
+                v-model="form.remark"
+                type="textarea"
+                placeholder="请输入内容"
+              />
+            </el-form-item>
+          </el-col>
         </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
@@ -141,14 +265,20 @@
 </template>
 
 <script>
-import { listProcesscontent, getProcesscontent, delProcesscontent, addProcesscontent, updateProcesscontent } from "@/api/technology/processcontent";
-import ItemSelect  from "./single.vue";
-import ItemSelectBom  from "./singleBom.vue";
-import { Message } from 'element-ui'
+import {
+  listProcesscontent,
+  getProcesscontent,
+  delProcesscontent,
+  addProcesscontent,
+  updateProcesscontent,
+} from "@/api/technology/processcontent";
+import ItemSelect from "./single.vue";
+import ItemSelectBom from "./singleBom.vue";
+import { Message } from "element-ui";
 
 export default {
   name: "Processcontent",
-  components: {ItemSelect,ItemSelectBom},
+  components: { ItemSelect, ItemSelectBom },
   data() {
     return {
       // 遮罩层
@@ -170,8 +300,8 @@ export default {
       // 是否显示弹出层
       open: false,
       // 查询参数
-      checkMaterial :null,
-      checkDevice :null,
+      checkMaterial: null,
+      checkDevice: null,
       queryParams: {
         pageNum: 1,
         pageSize: 10,
@@ -187,85 +317,121 @@ export default {
       // 表单校验
       rules: {
         processId: [
-          { required: true, message: "工序不能为空", trigger: "blur" }
+          { required: true, message: "工序不能为空", trigger: "blur" },
         ],
-      }
+      },
+      // 新增-辅助设备选中listtag
+      selectsubsidiaryListtag: [],
+      selectBOMListtag: [],
     };
   },
-  props :{
-      processId: undefined,
-      optType: undefined
+  props: {
+    processId: undefined,
+    optType: undefined,
   },
   created() {
     this.getList();
   },
   methods: {
+    // 新增—设备选择
+    handleClose(tag) {
+      this.selectsubsidiaryListtag.splice(
+        this.selectsubsidiaryListtag.indexOf(tag),
+        1
+      );
+      this.form.device = "";
+      var code = [];
+      this.selectsubsidiaryListtag.forEach((item) => {
+        if (item) {
+          code.push(item);
+        }
+      });
+      console.log(code, this.selectsubsidiaryListtag);
+      this.form.device = code.join(",");
+    },
+    // 新增—BOM选择
+    handleCloseBOM(tag) {
+      this.selectBOMListtag.splice(this.selectBOMListtag.indexOf(tag), 1);
+      this.form.material = "";
+      var code = [];
+      this.selectBOMListtag.forEach((item) => {
+        if (item) {
+          code.push(item);
+        }
+      });
+      console.log(code, this.selectBOMListtag);
+      this.form.material = code.join(",");
+    },
     //新增 设备选择弹出框
-    onItemSelectedEquipment(obj){
-      if(this.form.device == null || this.form.device == ""){
-        console.log("device是空,if获取的obj",obj);
-        console.log("device是空,if获取的device",this.form.device);
+    onItemSelectedEquipment(obj) {
+      if (this.form.device == null || this.form.device == "") {
+        console.log("device是空,if获取的obj", obj);
+        console.log("device是空,if获取的device", this.form.device);
         this.form.device = obj;
-      }else{
-        if(obj != undefined && obj != null && obj != "" ){
-          const a = obj.split(',');
-          const len = obj.split(',').length;
-          console.log('切割的数组',obj.split(','));
-          a.forEach(item => {
-            const b = this.form.device.split(',');
+        this.selectsubsidiaryListtag = obj.split(",");
+      } else {
+        if (obj != undefined && obj != null && obj != "") {
+          const a = obj.split(",");
+          const len = obj.split(",").length;
+          console.log("切割的数组", obj.split(","));
+          a.forEach((item) => {
+            const b = this.form.device.split(",");
             const size = b.length;
-            console.log("size",size,b[size-1])
-            const item1 = item+',';
-            console.log("打印item1",item1);
+            console.log("size", size, b[size - 1]);
+            const item1 = item + ",";
+            console.log("打印item1", item1);
             this.checkDevice = this.form.device.search(item1) != -1;
-            console.log("check的值",this.checkDevice);
-            if(this.checkDevice == true || b[size-1] == item){
-              console.log("重复添加",true);
-              Message.warning('您已经添加过该设备,请勿重复添加!!!');
-            }else if(this.checkDevice == false){
-              this.form.device = this.form.device +","+item;
+            console.log("check的值", this.checkDevice);
+            if (this.checkDevice == true || b[size - 1] == item) {
+              console.log("重复添加", true);
+              Message.warning("您已经添加过该设备,请勿重复添加!!!");
+            } else if (this.checkDevice == false) {
+              this.selectsubsidiaryListtag.push(item);
+              this.form.device = this.form.device + "," + item;
             }
-          })
+          });
         }
       }
     },
 
     //新增 BOM选择弹出框
-    onItemSelectedBom(obj){
-      if(this.form.material == null ||this.form.material == ""){
-        console.log("material是空,if获取的obj",obj);
-        console.log("material是空,if获取的material",this.form.material);
+    onItemSelectedBom(obj) {
+      if (this.form.material == null || this.form.material == "") {
+        console.log("material是空,if获取的obj", obj);
+        console.log("material是空,if获取的material", this.form.material);
         this.form.material = obj;
-      }else{
-        if(obj != undefined && obj != null){
-          const a = obj.split(',');
-          const len = obj.split(',').length;
-          console.log('切割的数组',obj.split(','));
-          a.forEach(item => {
+        this.selectBOMListtag = obj.split(",");
+      } else {
+        if (obj != undefined && obj != null) {
+          const a = obj.split(",");
+          const len = obj.split(",").length;
+          console.log("切割的数组", obj.split(","));
+          a.forEach((item) => {
             this.checkMaterial = this.form.material.search(item) != -1;
-            console.log("check的值",this.check);
-            if(this.checkMaterial == true){
-              console.log("重复添加",true);
-              Message.warning('您已经添加过该物料Bom,请勿重复添加!!!');
-            }else if(this.checkMaterial == false){
-              this.form.material = this.form.material +","+item;
+            console.log("check的值", this.check);
+            if (this.checkMaterial == true) {
+              console.log("重复添加", true);
+              Message.warning("您已经添加过该物料Bom,请勿重复添加!!!");
+            } else if (this.checkMaterial == false) {
+              this.selectBOMListtag.push(item);
+              this.form.material = this.form.material + "," + item;
             }
-          })
+          });
         }
       }
     },
     //新增 设备选择弹出框
-    handleSelectEquipment(){
+    handleSelectEquipment() {
       this.$refs.itemSelect.showFlag = true;
     },
     // //新增 设备选择弹出框
-    handleSelectBom(){
+    handleSelectBom() {
       this.$refs.itemSelectBom.showFlag = true;
     },
     /** 查询生产工序内容列表 */
     getList() {
       this.loading = true;
-      listProcesscontent(this.queryParams).then(response => {
+      listProcesscontent(this.queryParams).then((response) => {
         this.processcontentList = response.rows;
         this.total = response.total;
         this.loading = false;
@@ -290,7 +456,7 @@ export default {
         createBy: null,
         createTime: null,
         updateBy: null,
-        updateTime: null
+        updateTime: null,
       };
       this.resetForm("form");
     },
@@ -306,22 +472,36 @@ export default {
     },
     // 多选框选中数据
     handleSelectionChange(selection) {
-      this.ids = selection.map(item => item.contentId)
-      this.single = selection.length!==1
-      this.multiple = !selection.length
+      this.ids = selection.map((item) => item.contentId);
+      this.single = selection.length !== 1;
+      this.multiple = !selection.length;
     },
     /** 新增按钮操作 */
     handleAdd() {
       this.reset();
       this.open = true;
       this.title = "添加操作步骤";
+      this.selectsubsidiaryListtag = [];
+      this.selectBOMListtag = [];
     },
     /** 修改按钮操作 */
     handleUpdate(row) {
       this.reset();
-      const contentId = row.contentId || this.ids
-      getProcesscontent(contentId).then(response => {
+      const contentId = row.contentId || this.ids;
+      this.selectsubsidiaryListtag = [];
+      this.selectBOMListtag = [];
+      getProcesscontent(contentId).then((response) => {
         this.form = response.data;
+        if (this.form.material != "" && this.form.material != null) {
+          this.selectBOMListtag = JSON.parse(
+            JSON.stringify(this.form.material.split(","))
+          );
+        }
+        if (this.form.device != "" && this.form.device != null) {
+          this.selectsubsidiaryListtag = JSON.parse(
+            JSON.stringify(this.form.device.split(","))
+          );
+        }
         this.open = true;
         this.title = "修改操作步骤";
       });
@@ -329,16 +509,16 @@ export default {
     /** 提交按钮 */
     submitForm() {
       // debugger
-      this.$refs["form"].validate(valid => {
+      this.$refs["form"].validate((valid) => {
         if (valid) {
           if (this.form.contentId != null) {
-            updateProcesscontent(this.form).then(response => {
+            updateProcesscontent(this.form).then((response) => {
               this.$modal.msgSuccess("修改成功");
               this.open = false;
               this.getList();
             });
           } else {
-            addProcesscontent(this.form).then(response => {
+            addProcesscontent(this.form).then((response) => {
               this.$modal.msgSuccess("新增成功");
               this.open = false;
               this.getList();
@@ -350,19 +530,70 @@ export default {
     /** 删除按钮操作 */
     handleDelete(row) {
       const contentIds = row.contentId || this.ids;
-      this.$modal.confirm('是否确认删除操作步骤?').then(function() {
-        return delProcesscontent(contentIds);
-      }).then(() => {
-        this.getList();
-        this.$modal.msgSuccess("删除成功");
-      }).catch(() => {});
+      this.$modal
+        .confirm("是否确认删除操作步骤?")
+        .then(function () {
+          return delProcesscontent(contentIds);
+        })
+        .then(() => {
+          this.getList();
+          this.$modal.msgSuccess("删除成功");
+        })
+        .catch(() => {});
     },
     /** 导出按钮操作 */
     handleExport() {
-      this.download('technology/pro/processcontent/export', {
-        ...this.queryParams
-      }, `processcontent_${new Date().getTime()}.xlsx`)
-    }
-  }
+      this.download(
+        "technology/pro/processcontent/export",
+        {
+          ...this.queryParams,
+        },
+        `processcontent_${new Date().getTime()}.xlsx`
+      );
+    },
+  },
 };
 </script>
+
+<style lang="scss" scoped>
+.tagbox {
+  display: flex;
+  /* overflow: scroll; */
+  position: relative;
+  width: 100%;
+  // padding-left: 26px;
+  margin-bottom: 15px;
+  .tagboxlabel {
+    width: 109px;
+    text-align: right;
+    vertical-align: middle;
+    font-size: 14px;
+    color: black;
+    line-height: 40px;
+    -webkit-box-sizing: border-box;
+    box-sizing: border-box;
+    margin-right: 15px;
+  }
+  .tag {
+    width: 82%;
+    border: 1px #dcdfe6 solid;
+    height: 70px;
+    padding: 5px 15px;
+    overflow-y: scroll;
+    .tagitem {
+      margin-left: 5px;
+    }
+  }
+  .button1 {
+    width: 57px;
+    height: 35px;
+    margin-left: 10px;
+    background: #f5f7fa;
+  }
+}
+div.tag:empty:before {
+  content: attr(placeholder);
+  color: #bbb;
+}
+</style>
+
diff --git a/src/views/technology/process/index.vue b/src/views/technology/process/index.vue
index 6eb8e2d4..425a70b8 100644
--- a/src/views/technology/process/index.vue
+++ b/src/views/technology/process/index.vue
@@ -341,8 +341,8 @@
           </el-col>
           <el-col :span="16">
             <div class="tagbox">
-              <div class="tagboxlabel">线体设备</div>
-              <div class="tag" style="">
+              <div class="tagboxlabel" style="font-weight: 600;color: #606266;">线体设备</div>
+              <div class="tag" style="" placeholder="请选择线体设备">
                 <el-tag
                   :key="index"
                   class="tagitem"
@@ -910,4 +910,8 @@ export default {
     background: #F5F7FA;
   }
 }
+div.tag:empty:before {
+  content: attr(placeholder);
+  color: #bbb;
+}
 </style>
diff --git a/src/views/technology/recipe/content.vue b/src/views/technology/recipe/content.vue
index 79d80cdc..07cb7706 100644
--- a/src/views/technology/recipe/content.vue
+++ b/src/views/technology/recipe/content.vue
@@ -1,6 +1,6 @@
 <template>
   <div class="app-container">
-    <el-row v-if="optType !='view'" :gutter="10" class="mb8">
+    <el-row v-if="optType != 'view'" :gutter="10" class="mb8">
       <el-col :span="1.5">
         <el-button
           type="primary"
@@ -8,8 +8,8 @@
           icon="el-icon-plus"
           size="mini"
           @click="handleAdd"
-
-        >新增</el-button>
+          >新增</el-button
+        >
       </el-col>
       <el-col :span="1.5">
         <el-button
@@ -19,8 +19,8 @@
           size="mini"
           :disabled="single"
           @click="handleUpdate"
-
-        >修改</el-button>
+          >修改</el-button
+        >
       </el-col>
       <el-col :span="1.5">
         <el-button
@@ -30,8 +30,8 @@
           size="mini"
           :disabled="multiple"
           @click="handleDelete"
-
-        >删除</el-button>
+          >删除</el-button
+        >
       </el-col>
       <el-col :span="1.5">
         <el-button
@@ -40,45 +40,99 @@
           icon="el-icon-download"
           size="mini"
           @click="handleExport"
-
-        >导出</el-button>
+          >导出</el-button
+        >
       </el-col>
-      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+      <right-toolbar
+        :showSearch.sync="showSearch"
+        @queryTable="getList"
+      ></right-toolbar>
     </el-row>
 
-    <el-table v-loading="loading" :data="recipecontentList" @selection-change="handleSelectionChange">
+    <el-table
+      v-loading="loading"
+      :data="recipecontentList"
+      @selection-change="handleSelectionChange"
+    >
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="顺序编号" align="center" prop="orderNum" />
-      <el-table-column label="步骤说明" width="300px" align="center" prop="contentText" :show-overflow-tooltip="true"/>
-      <el-table-column label="辅助设备" align="center" prop="device" :show-overflow-tooltip="true"/>
-      <el-table-column label="BOM材料" align="center" prop="material" :show-overflow-tooltip="true"/>
-      <el-table-column label="用量" align="center" prop="dosage" :show-overflow-tooltip="true"/>
-      <el-table-column label="单位" align="center" prop="unit" :show-overflow-tooltip="true"/>
-      <el-table-column label="安全用量" align="center" prop="safeDosage" :show-overflow-tooltip="true"/>
-      <el-table-column label="控制参数" align="center" prop="controlParameters" :show-overflow-tooltip="true"/>
-      <el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true"/>
-      <el-table-column label="操作" width="100px" v-if="optType !='view'" align="center" class-name="small-padding fixed-width">
+      <el-table-column
+        label="步骤说明"
+        width="300px"
+        align="center"
+        prop="contentText"
+        :show-overflow-tooltip="true"
+      />
+      <el-table-column
+        label="辅助设备"
+        align="center"
+        prop="device"
+        :show-overflow-tooltip="true"
+      />
+      <el-table-column
+        label="BOM材料"
+        align="center"
+        prop="material"
+        :show-overflow-tooltip="true"
+      />
+      <el-table-column
+        label="用量"
+        align="center"
+        prop="dosage"
+        :show-overflow-tooltip="true"
+      />
+      <el-table-column
+        label="单位"
+        align="center"
+        prop="unit"
+        :show-overflow-tooltip="true"
+      />
+      <el-table-column
+        label="安全用量"
+        align="center"
+        prop="safeDosage"
+        :show-overflow-tooltip="true"
+      />
+      <el-table-column
+        label="控制参数"
+        align="center"
+        prop="controlParameters"
+        :show-overflow-tooltip="true"
+      />
+      <el-table-column
+        label="备注"
+        align="center"
+        prop="remark"
+        :show-overflow-tooltip="true"
+      />
+      <el-table-column
+        label="操作"
+        width="100px"
+        v-if="optType != 'view'"
+        align="center"
+        class-name="small-padding fixed-width"
+      >
         <template slot-scope="scope">
           <el-button
             size="mini"
             type="text"
             icon="el-icon-edit"
             @click="handleUpdate(scope.row)"
-
-          >修改</el-button>
+            >修改</el-button
+          >
           <el-button
             size="mini"
             type="text"
             icon="el-icon-delete"
             @click="handleDelete(scope.row)"
-
-          >删除</el-button>
+            >删除</el-button
+          >
         </template>
       </el-table-column>
     </el-table>
 
     <pagination
-      v-show="total>0"
+      v-show="total > 0"
       :total="total"
       :page.sync="queryParams.pageNum"
       :limit.sync="queryParams.pageSize"
@@ -88,13 +142,17 @@
     <!-- 添加或修改生产工序内容对话框 -->
     <el-dialog :title="title" :visible.sync="open" width="960px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="120px">
-        <el-row >
-            <el-col :span="12">
-                <el-form-item label="顺序编号" prop="orderNum">
-                    <el-input-number :min="1" v-model="form.orderNum" placeholder="请输入顺序编号" />
-                </el-form-item>
-            </el-col>
-            <!--
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="顺序编号" prop="orderNum">
+              <el-input-number
+                :min="1"
+                v-model="form.orderNum"
+                placeholder="请输入顺序编号"
+              />
+            </el-form-item>
+          </el-col>
+          <!--
             <el-col :span="12">
                 <el-form-item label="材料URL" prop="docUrl">
                     <el-input v-model="form.docUrl" placeholder="请输入材料URL" />
@@ -102,60 +160,130 @@
             </el-col>-->
         </el-row>
         <el-row>
-            <el-col :span="12">
+          <!-- <el-col :span="12">
                 <el-form-item label="辅助设备" prop="device">
                   <el-input v-model="form.device" placeholder="请选择辅助设备" >
                         <el-button slot="append" @click="handleSelectEquipment" icon="el-icon-search"></el-button>
                     </el-input>
                     <ItemSelect ref="itemSelect" @onSelected="onItemSelectedEquipment" > </ItemSelect>
                 </el-form-item>
-            </el-col>
-            <el-col :span="12">
+            </el-col> -->
+          <el-col :span="24">
+            <div class="tagbox">
+              <div class="tagboxlabel" style="font-weight: 600; color: #606266">
+                辅助设备
+              </div>
+              <div class="tag" style="" placeholder="请选择辅助设备">
+                <el-tag
+                  :key="index"
+                  class="tagitem"
+                  v-for="(tag, index) in selectsubsidiaryListtag"
+                  closable
+                  :disable-transitions="false"
+                  @close="handleClose(tag)"
+                >
+                  {{ tag }}
+                </el-tag>
+              </div>
+              <el-button
+                slot="append"
+                class="button1"
+                @click="handleSelectEquipment"
+                icon="el-icon-search"
+              ></el-button>
+              <ItemSelect
+                ref="itemSelect"
+                @onSelected="onItemSelectedEquipment"
+              >
+              </ItemSelect>
+            </div>
+          </el-col>
+          <!-- <el-col :span="12">
                 <el-form-item label="BOM材料" prop="material">
                     <el-input v-model="form.material" placeholder="请选择BOM材料" >
                       <el-button slot="append" @click="handleSelectBom" icon="el-icon-search"></el-button>
                     </el-input>
                     <ItemSelectBom ref="itemSelectBom" @onSelected="onItemSelectedBom" ></ItemSelectBom>
                 </el-form-item>
-            </el-col>
+            </el-col> -->
+          <el-col :span="24">
+            <div class="tagbox">
+              <div class="tagboxlabel" style="font-weight: 600; color: #606266">
+                BOM材料
+              </div>
+              <div class="tag" style="" placeholder="请选择BOM材料">
+                <el-tag
+                  :key="index"
+                  class="tagitem"
+                  v-for="(tag, index) in selectBOMListtag"
+                  closable
+                  :disable-transitions="false"
+                  @close="handleCloseBOM(tag)"
+                >
+                  {{ tag }}
+                </el-tag>
+              </div>
+              <el-button
+                slot="append"
+                class="button1"
+                @click="handleSelectBom"
+                icon="el-icon-search"
+              ></el-button>
+              <ItemSelectBom
+                ref="itemSelectBom"
+                @onSelected="onItemSelectedBom"
+              ></ItemSelectBom>
+            </div>
+          </el-col>
         </el-row>
         <el-row>
-            <el-col :span="12">
-                <el-form-item label="用量" prop="dosage">
-                    <el-input v-model="form.dosage" placeholder="请输入用量" />
-                </el-form-item>
-            </el-col>
-            <el-col :span="12">
-                <el-form-item label="单位" prop="unit">
-                    <el-input v-model="form.unit" placeholder="请输入单位" />
-                </el-form-item>
-            </el-col>
+          <el-col :span="12">
+            <el-form-item label="用量" prop="dosage">
+              <el-input v-model="form.dosage" placeholder="请输入用量" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="单位" prop="unit">
+              <el-input v-model="form.unit" placeholder="请输入单位" />
+            </el-form-item>
+          </el-col>
         </el-row>
         <el-row>
-            <el-col :span="12">
-                <el-form-item label="控制参数" prop="controlParameters">
-                    <el-input v-model="form.controlParameters" placeholder="请输入控制参数" />
-                </el-form-item>
-            </el-col>
-            <el-col :span="12">
-                <el-form-item label="安全用量" prop="safeDosage">
-                    <el-input v-model="form.safeDosage" placeholder="安全设置" />
-                </el-form-item>
-            </el-col>
+          <el-col :span="12">
+            <el-form-item label="控制参数" prop="controlParameters">
+              <el-input
+                v-model="form.controlParameters"
+                placeholder="请输入控制参数"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="安全用量" prop="safeDosage">
+              <el-input v-model="form.safeDosage" placeholder="安全设置" />
+            </el-form-item>
+          </el-col>
         </el-row>
         <el-row>
-            <el-col :span="24">
-                <el-form-item label="步骤说明" prop="contentText">
-                    <el-input v-model="form.contentText" type="textarea" placeholder="请输入内容" />
-                </el-form-item>
-            </el-col>
+          <el-col :span="24">
+            <el-form-item label="步骤说明" prop="contentText">
+              <el-input
+                v-model="form.contentText"
+                type="textarea"
+                placeholder="请输入内容"
+              />
+            </el-form-item>
+          </el-col>
         </el-row>
         <el-row>
-            <el-col :span="24">
-                <el-form-item label="备注" prop="remark">
-                    <el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
-                </el-form-item>
-            </el-col>
+          <el-col :span="24">
+            <el-form-item label="备注" prop="remark">
+              <el-input
+                v-model="form.remark"
+                type="textarea"
+                placeholder="请输入内容"
+              />
+            </el-form-item>
+          </el-col>
         </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
@@ -167,23 +295,29 @@
 </template>
 
 <script>
-import { listProcesscontent, getProcesscontent, delProcesscontent, addProcesscontent, updateProcesscontent } from "@/api/technology/recipecontent";
-import ItemSelect  from "./single.vue";
-import ItemSelectBom  from "./singleBom.vue";
-import { Message } from 'element-ui'
+import {
+  listProcesscontent,
+  getProcesscontent,
+  delProcesscontent,
+  addProcesscontent,
+  updateProcesscontent,
+} from "@/api/technology/recipecontent";
+import ItemSelect from "./single.vue";
+import ItemSelectBom from "./singleBom.vue";
+import { Message } from "element-ui";
 
 export default {
   name: "Processcontent",
-  components: {ItemSelect,ItemSelectBom},
+  components: { ItemSelect, ItemSelectBom },
   data() {
     return {
-      checkMaterial :null,
-      checkDevice :null,
+      checkMaterial: null,
+      checkDevice: null,
       // 遮罩层
       loading: true,
       // 选中数组
       ids: [],
-      idsName:[],
+      idsName: [],
       // 非单个禁用
       single: true,
       // 非多个禁用
@@ -214,23 +348,26 @@ export default {
       // 表单校验
       rules: {
         recipeId: [
-          { required: true, message: "工序不能为空", trigger: "blur" }
+          { required: true, message: "工序不能为空", trigger: "blur" },
         ],
-      }
+      },
+      // 新增-辅助设备选中listtag
+      selectsubsidiaryListtag: [],
+      selectBOMListtag: [],
     };
   },
-  props :{
-      recipeId: undefined,
-      optType: undefined
+  props: {
+    recipeId: undefined,
+    optType: undefined,
   },
   created() {
     this.getList();
   },
   methods: {
     /** 查询生产工序内容列表 */
-    getList() { 
+    getList() {
       this.loading = true;
-      listProcesscontent(this.queryParams).then(response => {
+      listProcesscontent(this.queryParams).then((response) => {
         this.recipecontentList = response.rows;
         this.total = response.total;
         this.loading = false;
@@ -255,7 +392,7 @@ export default {
         createBy: null,
         createTime: null,
         updateBy: null,
-        updateTime: null
+        updateTime: null,
       };
       this.resetForm("form");
     },
@@ -271,9 +408,9 @@ export default {
     },
     // 多选框选中数据
     handleSelectionChange(selection) {
-      this.ids = selection.map(item => item.contentId)
-      this.single = selection.length!==1
-      this.multiple = !selection.length
+      this.ids = selection.map((item) => item.contentId);
+      this.single = selection.length !== 1;
+      this.multiple = !selection.length;
     },
     /** 新增按钮操作 */
     handleAdd() {
@@ -284,9 +421,21 @@ export default {
     /** 修改按钮操作 */
     handleUpdate(row) {
       this.reset();
-      const contentId = row.contentId || this.ids
-      getProcesscontent(contentId).then(response => {
+      const contentId = row.contentId || this.ids;
+      this.selectsubsidiaryListtag = [];
+      this.selectBOMListtag = [];
+      getProcesscontent(contentId).then((response) => {
         this.form = response.data;
+        if (this.form.material != "" && this.form.material != null) {
+          this.selectBOMListtag = JSON.parse(
+            JSON.stringify(this.form.material.split(","))
+          );
+        }
+        if (this.form.device != "" && this.form.device != null) {
+          this.selectsubsidiaryListtag = JSON.parse(
+            JSON.stringify(this.form.device.split(","))
+          );
+        }
         this.open = true;
         this.title = "修改操作步骤";
       });
@@ -294,16 +443,16 @@ export default {
     /** 提交按钮 */
     submitForm() {
       // debugger
-      this.$refs["form"].validate(valid => {
+      this.$refs["form"].validate((valid) => {
         if (valid) {
           if (this.form.contentId != null) {
-            updateProcesscontent(this.form).then(response => {
+            updateProcesscontent(this.form).then((response) => {
               this.$modal.msgSuccess("修改成功");
               this.open = false;
               this.getList();
             });
           } else {
-            addProcesscontent(this.form).then(response => {
+            addProcesscontent(this.form).then((response) => {
               this.$modal.msgSuccess("新增成功");
               this.open = false;
               this.getList();
@@ -312,84 +461,125 @@ export default {
         }
       });
     },
+    // 新增—设备选择
+    handleClose(tag) {
+      this.selectsubsidiaryListtag.splice(
+        this.selectsubsidiaryListtag.indexOf(tag),
+        1
+      );
+      this.form.device = "";
+      var code = [];
+      this.selectsubsidiaryListtag.forEach((item) => {
+        if (item) {
+          code.push(item);
+        }
+      });
+      console.log(code, this.selectsubsidiaryListtag);
+      this.form.device = code.join(",");
+    },
+    // 新增—BOM选择
+    handleCloseBOM(tag) {
+      this.selectBOMListtag.splice(this.selectBOMListtag.indexOf(tag), 1);
+      this.form.material = "";
+      var code = [];
+      this.selectBOMListtag.forEach((item) => {
+        if (item) {
+          code.push(item);
+        }
+      });
+      console.log(code, this.selectBOMListtag);
+      this.form.material = code.join(",");
+    },
     //新增 设备选择弹出框
-    onItemSelectedEquipment(obj){
-      if(this.form.device == null || this.form.device == ""){
-        console.log("device是空,if获取的obj",obj);
-        console.log("device是空,if获取的device",this.form.device);
+    onItemSelectedEquipment(obj) {
+      if (this.form.device == null || this.form.device == "") {
+        console.log("device是空,if获取的obj", obj);
+        console.log("device是空,if获取的device", this.form.device);
         this.form.device = obj;
-      }else{
-        if(obj != undefined && obj != null && obj != ""){
-          const a = obj.split(',');
-          console.log('切割的数组',obj.split(','));
-          a.forEach(item => {
-            const b = this.form.device.split(',');
+        this.selectsubsidiaryListtag = obj.split(",");
+      } else {
+        if (obj != undefined && obj != null && obj != "") {
+          const a = obj.split(",");
+          console.log("切割的数组", obj.split(","));
+          a.forEach((item) => {
+            const b = this.form.device.split(",");
             const size = b.length;
-            console.log("size",size,b[size-1])
-            const item1 = item+',';
-            console.log("打印item1",item1);
+            console.log("size", size, b[size - 1]);
+            const item1 = item + ",";
+            console.log("打印item1", item1);
             this.checkDevice = this.form.device.search(item1) != -1;
-            console.log("check的值",this.checkDevice);
-            if(this.checkDevice == true ||b[size-1] == item){
-              console.log("重复添加",true);
-              Message.warning('您已经添加过该设备,请勿重复添加!!!');
-            }else if(this.checkDevice == false){
-              this.form.device = this.form.device +","+item;
+            console.log("check的值", this.checkDevice);
+            if (this.checkDevice == true || b[size - 1] == item) {
+              console.log("重复添加", true);
+              Message.warning("您已经添加过该设备,请勿重复添加!!!");
+            } else if (this.checkDevice == false) {
+              this.selectsubsidiaryListtag.push(item);
+              this.form.device = this.form.device + "," + item;
             }
-          })
+          });
         }
       }
     },
 
-    //新增 设备选择弹出框
-    onItemSelectedBom(obj){
-      if(this.form.material == null || this.form.material == ""){
-        console.log("material是空,if获取的obj",obj);
-        console.log("material是空,if获取的material",this.form.material);
+    //新增 BOM选择弹出框
+    onItemSelectedBom(obj) {
+      if (this.form.material == null || this.form.material == "") {
+        console.log("material是空,if获取的obj", obj);
+        console.log("material是空,if获取的material", this.form.material);
         this.form.material = obj;
-      }else{
-        if(obj != undefined && obj != null && obj !=""){
-          const a = obj.split(',');
-          const len = obj.split(',').length;
-          console.log('切割的数组',obj.split(','));
-          a.forEach(item => {
+        this.selectBOMListtag = obj.split(",");
+      } else {
+        if (obj != undefined && obj != null && obj != "") {
+          const a = obj.split(",");
+          const len = obj.split(",").length;
+          console.log("切割的数组", obj.split(","));
+          a.forEach((item) => {
             this.checkMaterial = this.form.material.search(item) != -1;
-            console.log("check的值",this.check);
-            if(this.checkMaterial == true){
-              console.log("重复添加",true);
-              Message.warning('您已经添加过该物料Bom,请勿重复添加!!!');
-            }else if(this.checkMaterial == false){
-              this.form.material = this.form.material +","+item;
+            console.log("check的值", this.check);
+            if (this.checkMaterial == true) {
+              console.log("重复添加", true);
+              Message.warning("您已经添加过该物料Bom,请勿重复添加!!!");
+            } else if (this.checkMaterial == false) {
+              this.selectBOMListtag.push(item);
+              this.form.material = this.form.material + "," + item;
             }
-          })
+          });
         }
       }
     },
     //新增 设备选择弹出框
-    handleSelectEquipment(){
+    handleSelectEquipment() {
       this.$refs.itemSelect.showFlag = true;
     },
     // 新增 设备选择弹出框
-    handleSelectBom(){
+    handleSelectBom() {
       this.$refs.itemSelectBom.showFlag = true;
     },
     /** 删除按钮操作 */
     handleDelete(row) {
       const contentIds = row.contentId || this.ids;
-      this.$modal.confirm('是否确认删除操作步骤?').then(function() {
-        return delProcesscontent(contentIds);
-      }).then(() => {
-        this.getList();
-        this.$modal.msgSuccess("删除成功");
-      }).catch(() => {});
+      this.$modal
+        .confirm("是否确认删除操作步骤?")
+        .then(function () {
+          return delProcesscontent(contentIds);
+        })
+        .then(() => {
+          this.getList();
+          this.$modal.msgSuccess("删除成功");
+        })
+        .catch(() => {});
     },
     /** 导出按钮操作 */
     handleExport() {
-      this.download('technology/pro/recipecontent/export', {
-        ...this.queryParams
-      }, `recipecontent_${new Date().getTime()}.xlsx`)
-    }
-  }
+      this.download(
+        "technology/pro/recipecontent/export",
+        {
+          ...this.queryParams,
+        },
+        `recipecontent_${new Date().getTime()}.xlsx`
+      );
+    },
+  },
 };
 </script>
 <style lang="scss" scoped>
@@ -401,7 +591,7 @@ export default {
   // padding-left: 26px;
   margin-bottom: 15px;
   .tagboxlabel {
-    width: 100px;
+    width: 109px;
     text-align: right;
     vertical-align: middle;
     font-size: 14px;
@@ -409,7 +599,7 @@ export default {
     line-height: 40px;
     -webkit-box-sizing: border-box;
     box-sizing: border-box;
-    margin-right: 12px;
+    margin-right: 15px;
   }
   .tag {
     width: 82%;
@@ -425,7 +615,11 @@ export default {
     width: 57px;
     height: 35px;
     margin-left: 10px;
-    background: #F5F7FA;
+    background: #f5f7fa;
   }
 }
+div.tag:empty:before {
+  content: attr(placeholder);
+  color: #bbb;
+}
 </style>
\ No newline at end of file