Преглед изворни кода

早上演示内容部分修复

pm пре 10 месеци
родитељ
комит
15f07c130b

+ 54 - 16
src/views/mes/job/jobm/NewMarsJob.vue

@@ -82,9 +82,11 @@
         style="width: 50%; margin: 20px"
         :header-cell-style="{ background: '#004d8c', color: '#FFFFFF' }"
         :data="technologyList"
-        @selection-change="handleSelectionChange"
-      >
-        <el-table-column type="selection" width="55" align="center"/>
+        highlight-current-row
+        @current-change="handleSelectionChange"
+        >
+<!--        <el-table-column type="selection" width="55" align="center"/>-->
+
 <!--        <el-table-column-->
 <!--          label="sop名称"-->
 <!--          align="center"-->
@@ -198,7 +200,9 @@
                     <el-table-column label="步骤" prop="number">
                       <template slot-scope="scope">
                         <span v-if="scope.row.lockNum !== null">
-                          <i class="el-icon-goods">{{ scope.row.lockNum }}</i>
+                          <img src="@/assets/images/lockImg.png" alt="" style="width: 12px;height:13px;margin-top: 5px;">
+<!--                          <i class="el-icon-goods"></i>-->
+                          {{ scope.row.lockNum }}
                         </span>
                         <span v-if="scope.row.userNum !== null">
                           <i class="el-icon-user">{{ scope.row.userNum }}</i>
@@ -687,6 +691,7 @@ export default {
     return {
       tabPosition: 'first',
       selectedOption: '',
+      selectedRow:null,//设备工艺 单选表格
       marsSopPage: [], //岗位对应sop列表--现在准备存放设备工艺 而不是选设备工艺的sop
       technologyList:[],//设备工艺表格数据
       marsSopTitle: '', //岗位后 对应展示sop
@@ -729,6 +734,7 @@ export default {
       AffectedTickets:[],//第八步查看详情信息表格
       sopTypeOption: [],
       sopId:null,
+      workstationId:null,//岗位Id
       rules: {
         locker: [
           { required: true, message: '上锁人不能为空', trigger: 'change' }
@@ -763,6 +769,26 @@ export default {
         this.handlelockerChage(val)
         console.log('我制定了')
       }
+    },
+    'workstationId': function (val) {
+      if (val) {
+        this.workstationId=val
+        const query = {
+          pageSize: 10000,
+          pageNum: 1,
+          workstationId:this.workstationId,
+        }
+        getUserList(query).then((res) => {
+          this.listLockerOption = res.rows
+            .filter((item) => item.unitId == 9)
+            .map((item) => ({
+              label: item.nickName,
+              value: item.userId
+            }))
+          this.insideTableData = res.rows.filter((item) => item.unitId == 9)
+          this.outsideTableData = res.rows.filter((item) => item.unitId != '9')
+        })
+      }
     }
   },
 
@@ -834,11 +860,12 @@ export default {
         });
       }
     },
-
     handleTicketClick(data) {
       console.log(data, '查看作业票详情')
       this.ticketId = data.ticketId
       this.tabPosition = 'third'
+      this.workstationId = data.workstationId
+
       getStepInfo(this.ticketId).then((res) => {
         this.EightStepForm = res.data
         console.log(res, '作业票-详细信息')
@@ -868,14 +895,21 @@ export default {
       }
       getWorkstationTicketList(data).then((res) => {
         console.log(res, '查看-正在进行中作业票列表')
+
         this.TicketListPage = res.data.filter(
           (item) => item.workstationId == '8'
         )
+
         this.COCOTicketListPage = res.data.filter(
           (item) => item.workstationId == '7'
         )
       })
-      listTechnology(data).then((res) => {
+      const data1 = {
+        pages: 1,
+        size: -1,
+        machineryType: '工艺',
+      }
+      listTechnology(data1).then((res) => {
         console.log(res, 'technologyList')
         this.technologyList = res.data.records
       })
@@ -885,8 +919,10 @@ export default {
       })
       const query = {
         pageSize: 10000,
-        pageNum: 1
+        pageNum: 1,
+        workstationId:this.workstationId,
       }
+      console.log(query,'用户的参数')
       getUserList(query).then((res) => {
         console.log(res, 'userList')
         this.listLockerOption = res.rows
@@ -917,15 +953,17 @@ export default {
       console.log(val)
       this.tabPosition = val
       this.marsSopTitle = workstationName
+      this.workstationId=workstationId
       if (workstationId) {
         const data = {
           pages: 1,
           size: -1,
-          workstationId: workstationId
+          workstationId: workstationId,
+          machineryType: '工艺',
         }
         listTechnology(data).then((res) => {
           console.log(res,'设备工艺---列表')
-          this.technologyList = res.data.records.filter((item) =>item.machineryType=='工艺')
+          this.technologyList = res.data.records
         })
         // getIsMarsSopPage(data).then((res) => {
         //   console.log(res, 'SopPage')
@@ -969,16 +1007,17 @@ export default {
 
       }
     },
-    // 多选框选中数据
+
+    // 单选选中数据
     handleSelectionChange(selection) {
       console.log(selection, 'mars设备工艺表格多选拿到的数据')
 
       this.form = selection
-      this.machineryId = selection[0].machineryId
-      getTechnologyInfo(selection[0].machineryId).then((res) => {
+      this.machineryId = selection.machineryId
+      getTechnologyInfo(selection.machineryId).then((res) => {
         this.machineryImg = res.data.machineryImg
       })
-      selectSopTypeByMachineryId(selection[0].machineryId).then((res) => {
+      selectSopTypeByMachineryId(selection.machineryId).then((res) => {
         console.log(res, 'SopTypeByMachineryId')
         this.sopTypeOption=res.data.map((item) =>{
           return{
@@ -998,15 +1037,14 @@ export default {
 
         const query = {
           pageSize: 10000,
-          pageNum: 1
+          pageNum: 1,
+          workstationId:'8',
         }
         getUserList(query).then((res) => {
           this.insideTableData = res.rows.filter((item) => item.unitId == 9)
           this.outsideTableData = res.rows.filter((item) => item.unitId != '9')
-          console.log(this.insideTableData, this.outsideTableData, '用户')
 
           // 获取已分配人员数据
-
             getJobTicketInfo(this.ticketId).then((res) => {
               const assignedUsers = res.data.jobTicketUserList || [];
               console.log(assignedUsers, '已分配人员');

+ 19 - 12
src/views/mes/sop/sopm/index.vue

@@ -1,14 +1,14 @@
 <template>
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
-      <el-form-item label="SOP编号" prop="sopCode">
-        <el-input
-          v-model="queryParams.sopCode"
-          placeholder="请输入SOP编号"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
+<!--      <el-form-item label="SOP编号" prop="sopCode">-->
+<!--        <el-input-->
+<!--          v-model="queryParams.sopCode"-->
+<!--          placeholder="请输入SOP编号"-->
+<!--          clearable-->
+<!--          @keyup.enter.native="handleQuery"-->
+<!--        />-->
+<!--      </el-form-item>-->
       <el-form-item label="SOP名称" prop="sopName">
         <el-input
           v-model="queryParams.sopName"
@@ -141,7 +141,7 @@
 <!--        </el-row>-->
 
         <el-form-item label="所属岗位" prop="workstationId" >
-          <treeselect v-model="form.workstationId" :options="marsOptions"  :normalizer="Marsnormalizer" placeholder="选择岗位"/>
+          <treeselect v-model="form.workstationId" :options="marsOptions"  :normalizer="Marsnormalizer" placeholder="选择岗位" @change="handleWorkstationChange"/>
         </el-form-item>
 <!--        <el-form-item label="所属电柜" prop="lotoId">-->
 <!--          <el-select-->
@@ -233,7 +233,9 @@ export default {
       },
       LotoOptions:[],//电柜绑定
       // 表单参数
-      form: {},
+      form: {
+        machineryId: '',
+      },
       // 表单校验
       rules: {
         sopCode: [
@@ -265,8 +267,8 @@ export default {
           size:-1,
           workstationId:this.form.workstationId
         }
-        listTechnology(data).then(response => {
 
+        listTechnology(data).then(response => {
           const data=response.data.records.filter((item) =>item.machineryType=='工艺')
           this.machineryOptions = this.handleTree(data,"machineryId","parentId")
         })
@@ -327,7 +329,11 @@ export default {
         children: node.children
       }
     },
-
+    handleWorkstationChange(value) {
+      // 清空 machineryId
+      this.form.machineryId = null;
+      // 你可以在这里添加其他逻辑,比如根据 workstationId 加载 machineryOptions
+    },
     // 取消按钮
     cancel() {
       this.open = false
@@ -362,6 +368,7 @@ export default {
     /** 重置按钮操作 */
     resetQuery() {
       this.resetForm('queryForm')
+      this.queryParams.sopName=''
       this.handleQuery()
     },
 

+ 84 - 28
src/views/system/technology/technologyDetail/craftDetail.vue

@@ -16,6 +16,7 @@
       <el-row :gutter="10" class="mb8">
         <el-col :span="1.5">
           <el-button
+            v-if="this.tabPosition == 'deviceList'"
             v-no-more-click
             type="primary"
             plain
@@ -25,6 +26,7 @@
             v-hasPermi="['iscs:machinery:add']"
           >新增
           </el-button>
+
         </el-col>
         <el-col :span="1.5">
           <el-button
@@ -140,24 +142,24 @@
 <!--            plain-->
 <!--            icon="el-icon-plus"-->
 <!--            size="mini"-->
-<!--            @click="handleAdd"-->
+<!--            @click="handleAddSopList"-->
 <!--            v-hasPermi="['iscs:machinery:add']"-->
 <!--          >新增-->
 <!--          </el-button>-->
         </el-col>
-        <el-col :span="1.5">
-          <el-button
-            v-no-more-click
-            type="danger"
-            plain
-            icon="el-icon-delete"
-            size="mini"
-            :disabled="multiple"
-            @click="handleDelete"
-            v-hasPermi="['mes:hw:information:batchremove']"
-          >批量删除
-          </el-button
-          >
+<!--        <el-col :span="1.5">-->
+<!--          <el-button-->
+<!--            v-no-more-click-->
+<!--            type="danger"-->
+<!--            plain-->
+<!--            icon="el-icon-delete"-->
+<!--            size="mini"-->
+<!--            :disabled="multiple"-->
+<!--            @click="handleDelete"-->
+<!--            v-hasPermi="['iscs:machinery:remove']"-->
+<!--          >批量删除-->
+<!--          </el-button-->
+<!--          >-->
         </el-col>
 <!--        <right-toolbar-->
 <!--          :showSearch.sync="showSearch"-->
@@ -324,6 +326,31 @@
         <el-button v-no-more-click @click="cancel">取 消</el-button>
       </div>
     </el-dialog>
+    <!-- 添加或修改sopLise对话框 -->
+    <el-dialog :title="title" :visible.sync="openSop" width="470px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="100px">
+        <el-form-item label="所属岗位" prop="workstationId" >
+          <treeselect v-model="form.workstationId" :options="marsOptions"  :normalizer="Marsnormalizer" placeholder="选择岗位"/>
+        </el-form-item>
+        <el-form-item label="设备/工艺" prop="machineryId" >
+          <treeselect v-model="form.machineryId" :options="machineryOptions"  :normalizer="machinerynormalizer" placeholder="选择设备/工艺"/>
+        </el-form-item>
+        <el-form-item label="SOP类型" prop="sopType">
+          <el-select v-model="form.sopType"  placeholder="请选择SOP类型" clearable>
+            <el-option
+              v-for="dict in dict.type.sop_type"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            />
+          </el-select>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button v-no-more-click type="primary" @click="submitForm">确 定</el-button>
+        <el-button v-no-more-click @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
@@ -343,9 +370,10 @@ import { listLoto } from '@/api/mes/lotoStation/lotoStation'
 import MapData from '@/views/system/technology/technologyDetail/MapData.vue'
 import { getIsMarsSopPage } from '@/api/mes/sop/sopindex'
 import Tinymce from '@/components/tinymce/example/Index.vue'
+import { delMachinery } from '@/api/mes/dv/machinery'
 export default {
   name: 'Dept',
-  dicts: ['sys_normal_disable'],
+  dicts: ['sys_normal_disable','sop_type'],
   components: { Treeselect, MapData,Tinymce },
   data() {
     return {
@@ -372,6 +400,7 @@ export default {
       title: '',
       // 是否显示弹出层
       open: false,
+      openSop:false,//新增sop列表
       // 是否展开,默认全部展开
       isExpandAll: true,
       // 重新渲染表格状态
@@ -391,6 +420,7 @@ export default {
         machineryId: undefined,
       },
       SopList: [],//sopLisT
+
       // 表单校验
       rules: {
         machineryCode: [
@@ -453,8 +483,9 @@ export default {
           'machineryId',
           'parentId'
         )
+        const data=response.data.records.filter((item) =>item.machineryType=='工艺')
         this.machineryOptions = this.handleTree(
-          response.data.records,
+          data,
           'machineryId',
           'parentId'
         )
@@ -500,6 +531,17 @@ export default {
         children: node.children
       }
     },
+    /** 转换mars岗位数据结构 */
+    machinerynormalizer(node) {
+      if (node.children && !node.children.length) {
+        delete node.children
+      }
+      return {
+        id: node.machineryId,
+        label: node.machineryName,
+        children: node.children
+      }
+    },
     normalizer(node) {
       if (node.children && !node.children.length) {
         delete node.children
@@ -522,6 +564,7 @@ export default {
     // 取消按钮
     cancel() {
       this.open = false
+      this.openSop=false
       this.reset()
     },
     // 表单重置
@@ -583,6 +626,12 @@ export default {
       this.open = true
       this.title = '添加设备'
     },
+    // handleAddSopList() {
+    //   console.log('新增sop')
+    //   this.reset()
+    //   this.openSop = true
+    //   this.title = '添加sop'
+    // },
     /** 修改按钮操作 */
     handleUpdate(row) {
       this.reset()
@@ -616,24 +665,31 @@ export default {
     },
     // 多选框选中数据
     handleSelectionChange(selection) {
-      this.ids = selection.map((item) => item.id)
+      this.ids = selection.map((item) => item.machineryId)
       this.codes = selection.map((item) => item.machineryCode)
       this.single = selection.length !== 1
       this.multiple = !selection.length
     },
     /** 删除按钮操作 */
     handleDelete(row) {
-      this.$modal
-        .confirm('是否确认删除名称为"' + row.machineryName + '"的数据项?')
-        .then(function() {
-          return delTechnology(row.machineryId)
-        })
-        .then(() => {
-          this.getList()
-          this.$modal.msgSuccess('删除成功')
-        })
-        .catch(() => {
-        })
+      const machineryIds = row.machineryId || this.ids;
+      this.$modal.confirm('确认删除数据项?').then(function() {
+        return delTechnology(machineryIds);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+      // this.$modal
+      //   .confirm('是否确认删除名称为"' + row.machineryName + '"的数据项?')
+      //   .then(function() {
+      //     return delTechnology(row.machineryId)
+      //   })
+      //   .then(() => {
+      //     this.getList()
+      //     this.$modal.msgSuccess('删除成功')
+      //   })
+      //   .catch(() => {
+      //   })
     }
   }
 }

+ 10 - 6
src/views/system/unit/index.vue

@@ -73,7 +73,7 @@
     >
       <el-table-column prop="unitId" label="单位编号" width="260"></el-table-column>
       <el-table-column prop="unitName" label="单位名称" width="260"></el-table-column>
-<!--      <el-table-column prop="unitType" label="单位类型" width="260"></el-table-column>-->
+      <el-table-column prop="unitType" label="单位类型" width="260"></el-table-column>
       <el-table-column prop="orderNum" label="排序" width="260"></el-table-column>
       <el-table-column prop="remark" label="备注" width="260"></el-table-column>
       <el-table-column prop="status" label="状态" width="260">
@@ -139,11 +139,11 @@
         <el-form-item label="单位名称" prop="unitName">
           <el-input v-model="form.unitName" placeholder="请输入单位名称"/>
         </el-form-item>
-<!--        <el-form-item label="单位类型" prop="unitType">-->
-<!--          <el-input v-model="form.unitType" placeholder="请输入单位类型" />-->
-<!--        </el-form-item>-->
-        <el-form-item label="排序" prop="orderNum">
-          <el-input-number type="number" v-model="form.orderNum" />
+        <el-form-item label="单位类型" prop="unitType">
+          <el-radio-group v-model="form.unitType">
+            <el-radio label="内部">内部</el-radio>
+            <el-radio label="外部">外部</el-radio>
+          </el-radio-group>
         </el-form-item>
         <el-form-item label="状态" prop="status">
           <el-radio-group v-model="form.status">
@@ -154,6 +154,10 @@
             >{{dict.label}}</el-radio>
           </el-radio-group>
         </el-form-item>
+        <el-form-item label="排序" prop="orderNum">
+          <el-input-number type="number" v-model="form.orderNum" />
+        </el-form-item>
+
         <el-form-item label="备注" prop="remark">
           <el-input v-model="form.remark" placeholder="请输入备注" />
         </el-form-item>

+ 10 - 20
src/views/system/user/index.vue

@@ -28,19 +28,19 @@
       <!--用户数据-->
       <el-col :span="24" :xs="24">
         <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
-          <el-form-item label="号" prop="userId">
+          <el-form-item label="人员编号" prop="userId">
             <el-input
               v-model="queryParams.userId"
-              placeholder="请输入号"
+              placeholder="请输入人员编号"
               clearable
               style="width: 240px"
               oninput="value=value.replace(/[^\d.]/g,'')"
               @keyup.enter.native="handleQuery"
             />
           </el-form-item>
-          <el-form-item label="姓名" prop="userName">
+          <el-form-item label="姓名" prop="nickName">
             <el-input
-              v-model="queryParams.userName"
+              v-model="queryParams.nickName"
               placeholder="请输入姓名"
               clearable
               style="width: 240px"
@@ -56,16 +56,6 @@
               @keyup.enter.native="handleQuery"
             />
           </el-form-item>
-          <el-form-item label="登录名" prop="nickName">
-            <el-input
-              v-model="queryParams.nickName"
-              placeholder="请输入登录名"
-              clearable
-              style="width: 240px"
-              @keyup.enter.native="handleQuery"
-            />
-          </el-form-item>
-
           <el-form-item label="单位" prop="unitId">
             <treeselect style="width:240px" v-model="queryParams.unitId" :options="UnitOptions" :normalizer="Unitnormalizer" :show-count="true" placeholder="请选择单位" />
           </el-form-item>
@@ -180,10 +170,10 @@
 
         <el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">
           <el-table-column type="selection" width="50" align="center" />
-          <el-table-column label="号" align="center" key="userId" prop="userId" v-if="columns[0].visible" />
+          <el-table-column label="人员编号" align="center" key="userId" prop="userId" v-if="columns[0].visible" />
           <el-table-column label="姓名" align="center" key="nickName" prop="nickName" v-if="columns[1].visible" :show-overflow-tooltip="true" />
           <el-table-column label="联系电话" align="center" key="phonenumber" prop="phonenumber" v-if="columns[4].visible" width="120" />
-          <el-table-column label="登录名" align="center" key="userName" prop="userName" v-if="columns[2].visible" :show-overflow-tooltip="true" />
+          <el-table-column label="工号" align="center" key="userName" prop="userName" v-if="columns[2].visible" :show-overflow-tooltip="true" />
           <el-table-column label="单位" align="center" key="unitName" prop="unitName" v-if="columns[2].visible" :show-overflow-tooltip="true" />
           <el-table-column label="角色" align="center" key="roleName" prop="roleName" v-if="columns[2].visible" :show-overflow-tooltip="true" />
           <el-table-column label="岗位" align="center" key="workstationName" prop="workstationName" v-if="columns[2].visible" :show-overflow-tooltip="true" >
@@ -258,8 +248,8 @@
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
         <el-row>
           <el-col :span="12">
-            <el-form-item label="用户昵称" prop="nickName">
-              <el-input v-model="form.nickName" placeholder="请输入用户昵称" maxlength="30" />
+            <el-form-item label="姓名" prop="nickName">
+              <el-input v-model="form.nickName" placeholder="请输入姓名" maxlength="30" />
             </el-form-item>
           </el-col>
           <el-col :span="12">
@@ -282,8 +272,8 @@
         </el-row>
         <el-row>
           <el-col :span="12">
-            <el-form-item v-if="form.userId == undefined" label="用户名称" prop="userName">
-              <el-input v-model="form.userName" placeholder="请输入用户名称" maxlength="30" />
+            <el-form-item v-if="form.userId == undefined" label="工号" prop="userName">
+              <el-input v-model="form.userName" placeholder="请输入工号" maxlength="30" />
             </el-form-item>
           </el-col>
           <el-col :span="12">