Fixiaobai
2023-09-20 a1917eca0b4f0fabf9f13648a840c2be8e2bf7f9
src/components/view/record-content.vue
@@ -1,114 +1,3 @@
<style scoped>
   .title .el-button {
      height: 32px;
      border: 1px solid rgba(190, 190, 190, 0.44);
      box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41);
      padding: 0 12px;
   }
   .title {
      margin-bottom: 10px;
      padding: 0 20px;
   }
   .title * {
      font-size: 16px;
   }
   .choose {
      padding: 21px 24px;
      display: flex;
      align-items: center;
      background-color: #fff;
      border-bottom: 3px solid rgb(245, 247, 251);
   }
   .choose * {
      font-size: 14px;
   }
   .choose .el-button {
      height: 32px;
      border: 1px solid rgba(190, 190, 190, 0.44);
      box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41);
      padding: 0 12px;
   }
   .thing {
      width: 100%;
      height: calc(100% - 120px);
      background-color: #fff;
      display: flex;
   }
   .thing .left {
      width: 295px;
      height: calc(100% - 20px);
      border-right: 3px solid rgb(245, 247, 251);
      padding: 16px;
      /* height:calc(50vh - 250px) */
   }
   .thing .left .custom-tree-node span {
      font-size: 14px;
   }
   .thing .left .custom-tree-node {
      flex: 1;
      display: flex;
      align-items: center;
      justify-content: space-between;
      font-size: 14px;
      padding-right: 8px;
   }
   .node_i {
      color: orange;
   }
   .el-icon-delete {
      display: none;
      color: #004EA2;
   }
   .custom-tree-node:hover .el-icon-delete {
      display: inline;
   }
   .thing .right {
      width: calc(100% - 305px);
      height: calc(100% - 25px);
      overflow: hidden;
      padding: 10px;
   }
   .table_do {
      color: #004ea0;
      cursor: pointer;
   }
</style>
<style>
   .record_content .title .el-button * {
      font-size: 14px;
   }
   .record_content .title .el-button--default {
      color: #004EA2;
   }
   .record_content .thing .left .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content {
      background: rgba(58, 124, 253, 0.2);
      color: #004EA2;
   }
   .record_content .el-tree-node__content {
      height: 30px;
      border-radius: 2px;
   }
</style>
<template>
   <div class="record_content">
      <div class="title">
@@ -120,7 +9,7 @@
               <el-button icon="el-icon-delete" @click="dels">删除</el-button>
            </el-col>
         </el-row>
      </div>
      </div>
      <div class="choose">
         <span>类型:</span>
         <el-select v-model="search.type" size="small" @change="TYpe" placeholder="请选择" style="width: 224px;margin-right: 30px;">
@@ -142,14 +31,13 @@
      <div class="thing">
         <div class="left">
            <el-input v-model="search.technology" suffix-icon="el-icon-search" placeholder="请输入搜索内容" size="small" clearable @input="query"></el-input>
            <el-tree :data="list" ref="tree"
            style="height: 500px;overflow-y: auto;"
            <el-tree :data="list" ref="tree"
            :props="{children: 'children',label: 'name'}" node-key="name" default-expand-all
               @node-click="handleNodeClick" highlight-current
               @node-click="handleNodeClick" highlight-current
               :key="upIndex">
               <div class="custom-tree-node" slot-scope="{ node, data }">
                  <span><i :class="`node_i ${data.code != '[2]'?'el-icon-folder-opened':'el-icon-tickets'}`"></i>
                     {{ data.cord }}{{ data.name }}</span>
                     {{ data.code }}{{ data.name }}</span>
                  <!-- <el-button type="text" size="mini" @click.stop="remove(node, data)">
                     <i class="el-icon-delete"></i>
                  </el-button> -->
@@ -197,8 +85,8 @@
               <el-col :span="4"  style="font-size: 14px;text-align: right;">工序:</el-col>
               <el-col :span="16" :offset="1">
                  <template>
                        <el-select v-model="edit.techFather"
                  placeholder="请选择"
                        <el-select v-model="edit.techFather"
                  placeholder="请选择"
                  disabled
                  @change="workevent"
                  style="width: 310px;">
@@ -252,12 +140,14 @@
         </span>
      </el-dialog>
      <!-- 新增弹窗 -->
      <el-dialog title="生产记录新增" :visible.sync="dialogVisible" width="35%">
      <el-dialog title="生产记录新增" :visible.sync="dialogVisible" :rules="Rules"
      ref="ruleForm" width="35%">
         <div>
            <el-form ref="form" :model="form" label-width="80px">
            <el-form-item label="类型">
            <el-form-item label="类型" prop="type">
               <template>
                        <el-select v-model="form.type"  @change="edittype" placeholder="请选择" style="width: 480px;">
                        <el-select v-model="form.type"
                  @change="edittype" placeholder="请选择" style="width: 100%;">
                            <el-option label="橡胶连接器" :value="0"></el-option>
                     <el-option label="金属连接器" :value="1"></el-option>
                     <el-option label="湿插拔电连接器" :value="2"></el-option>
@@ -265,11 +155,11 @@
                        </el-select>
                        </template>
            </el-form-item>
            <el-form-item label="工序">
            <el-form-item label="工序" prop="work">
               <template>
                        <el-select v-model="form.work"
                        <el-select v-model="form.work"
                  @change="workevent"
                  placeholder="请选择" style="width: 480px;">
                  placeholder="请选择" style="width: 100%;">
                            <el-option
                            v-for="item in process"
                            :key="item.name"
@@ -279,9 +169,9 @@
                        </el-select>
                        </template>
            </el-form-item>
            <el-form-item label="工艺名称">
            <el-form-item label="工艺名称" prop="name">
               <template>
                        <el-select v-model="form.craft" placeholder="请选择" style="width: 480px;">
                        <el-select v-model="form.craft" placeholder="请选择" style="width: 100%;">
                            <el-option
                            v-for="item in craftapi"
                            :key="item.id"
@@ -291,19 +181,19 @@
                        </el-select>
                        </template>
            </el-form-item>
            <el-form-item label="记录">
            <el-form-item label="记录" prop="record">
               <el-input v-model="form.record"></el-input>
            </el-form-item>
            <el-form-item label="备注">
               <el-input v-model="form.remarks"></el-input>
            </el-form-item>
            <el-form-item label="单位">
            <el-form-item label="单位" prop="unit">
               <el-input v-model="form.unit"></el-input>
            </el-form-item>
            </el-form>
         </div>
         <span slot="footer" class="dialog-footer">
            <el-button type="primary" @click="add">确 定</el-button>
            <el-button type="primary" @click="add(form)">确 定</el-button>
            <el-button @click="dialogVisible = false">取 消</el-button>
         </span>
      </el-dialog>
@@ -370,7 +260,14 @@
<script>
   export default {
      data() {
         return {
         var checktype = (rule, value, callback) => {
                 if (!value) {
                return callback(new Error('类型不能为空'));
              }else{
               return callback
            }
         };
         return {
            search: {
               type: 0,
               technology: null
@@ -387,11 +284,17 @@
               remarks:'',
               unit:'',
            },
            Rules:{
               type:{validator:checktype,required:true,message:'类型不能为空',trigger:'change'},
               work:{required:true,message:'工序不能为空',trigger:'change'},
               name:{required:true,message:'工艺不能为空',trigger:'change'},
               record:{required:true,message:'记录不能为空',trigger:'blur'},
               unit:{required:true,message:'单位不能为空',trigger:'blur'},
            },
            modifyVisible:false,
            dialogVisible:false,
            process: {},
            list: [],
            checkTreeNode: {},
            tableData: [],
            upIndex: 0,
            selects: [],
@@ -428,10 +331,9 @@
         TYpe(val) {
                this.typeselect = val
                console.log(this.typeselect);
                this.selectAllleft()
                this.selectAllleft()
            },
         edittype(val) {
            // this.typeselect = ''
            this.typeselect = val
            this.chooseTechFath()
         },
@@ -453,7 +355,7 @@
                      "Content-Type": "application/json"
                    }
            }).then(res =>{
         })
         },
         addRecord() {
@@ -468,12 +370,21 @@
                      "Content-Type": "application/json"
                    }
            }
            )
            ).then(res =>{
               this.selectjilu()
            })
         },
         add() {
         add(formName) {
            this.dialogVisible = false
            this.addRecord()
            this.selectjilu()
            // this.$refs[formName].validate((valid) => {
            // if (valid) {
            //    alert('submit!');
            // } else {
            //    console.log('error submit!!');
            //    return false;
            // }
            // });
            this.form = {};
         },
         query() {
@@ -497,6 +408,7 @@
         console.log(one);
         let name=one.children[0].id
         console.log(name);
         this.checkTreeNode.id = name
         this.selectjiluStart(name)
         this.selectDataList();
         });
@@ -512,6 +424,7 @@
         },
         //selectjilu  checkTreeNode
         selectjilu() {
            console.log(this.checkTreeNode.id);
         this.$axios.get(this.$api.url.selectjilu,{
            params:{id:this.checkTreeNode.id}
         }).then(res => {
@@ -643,7 +556,7 @@
         submitUpData() {
            this.writeRecordById()
            this.$message.success('修改成功')
            this.upDia = false
               // this.tableData.forEach(a => {
            //    if (a.id == this.upData.id) {
@@ -657,3 +570,114 @@
      }
   }
</script>
<style scoped>
   .title .el-button {
      height: 32px;
      border: 1px solid rgba(190, 190, 190, 0.44);
      box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41);
      padding: 0 12px;
   }
   .title {
      margin-bottom: 10px;
      padding: 0 20px;
   }
   .title * {
      font-size: 16px;
   }
   .choose {
      padding: 21px 24px;
      display: flex;
      align-items: center;
      background-color: #fff;
      border-bottom: 3px solid rgb(245, 247, 251);
   }
   .choose * {
      font-size: 14px;
   }
   .choose .el-button {
      height: 32px;
      border: 1px solid rgba(190, 190, 190, 0.44);
      box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41);
      padding: 0 12px;
   }
   .thing {
      width: 100%;
      height: calc(100% - 120px);
      background-color: #fff;
      display: flex;
   }
   .thing .left {
      width: 295px;
      height: calc(100% - 20px);
      border-right: 3px solid rgb(245, 247, 251);
      padding: 16px;
      overflow-y: auto;
   }
   .thing .left .custom-tree-node span {
      font-size: 14px;
   }
   .thing .left .custom-tree-node {
      flex: 1;
      display: flex;
      align-items: center;
      justify-content: space-between;
      font-size: 14px;
      padding-right: 8px;
   }
   .node_i {
      color: orange;
   }
   .el-icon-delete {
      display: none;
      color: #004EA2;
   }
   .custom-tree-node:hover .el-icon-delete {
      display: inline;
   }
   .thing .right {
      width: calc(100% - 305px);
      height: calc(100% - 25px);
      overflow: hidden;
      padding: 10px;
   }
   .table_do {
      color: #004ea0;
      cursor: pointer;
   }
</style>
<style>
   .record_content .title .el-button * {
      font-size: 14px;
   }
   .record_content .title .el-button--default {
      color: #004EA2;
   }
   .record_content .thing .left .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content {
      background: rgba(58, 124, 253, 0.2);
      color: #004EA2;
   }
   .record_content .el-tree-node__content {
      height: 30px;
      border-radius: 2px;
   }
</style>