王震
2023-09-25 712b72a5bf70818ae60550a32543b3220e4918f2
src/components/view/self-inspection.vue
@@ -113,43 +113,26 @@
            <el-col :span="12" style="line-height: 32px;">自检项目维护</el-col>
            <el-col :span="12" style="text-align: right;">
               <el-button type="primary" icon="el-icon-plus" style="background: #004EA2;"  @click="addend">新增</el-button>
               <el-button icon="el-icon-edit-outline"  @click="modify">修改</el-button>
               <el-button icon="el-icon-delete" @click="dels">删除</el-button>
            </el-col>
         </el-row>
      </div>
      <div class="choose">
         <span>类型:</span>
         <el-select v-model="search.type" size="small" placeholder="请选择" style="width: 224px;margin-right: 30px;">
            <el-option label="橡胶连接器" :value="0"></el-option>
            <el-option label="金属连接器" :value="1"></el-option>
            <el-option label="湿插拔电连接器" :value="2"></el-option>
            <el-option label="分支组件" :value="3"></el-option>
         <el-select v-model="search.type" size="small" @change="TYpe" placeholder="请选择" style="width: 224px;margin-right: 30px;">
            <el-option v-for="(a, ai) in bigType" :key="ai" :value="a">
            </el-option>
         </el-select>
         <span>工序:</span>
         <el-select v-model="search.name" size="small" placeholder="请选择" style="width: 224px;margin-right: 30px;">
            <el-option v-for="(a, ai) in process" key="ai" :label="a.name" :value="a.id"></el-option>
         </el-select>
         <span>项目:</span>
         <el-select v-model="search.name" size="small" placeholder="请选择" style="width: 224px;margin-right: 30px;">
            <el-option v-for="(a, ai) in product" key="ai" :label="a.name" :value="a.id"></el-option>
         </el-select>
         <el-button size="mini" @click="clean()"><span>重 置</span></el-button>
         <el-button size="mini" type="primary" style="background: #004EA2;"><span>查
               询</span></el-button>
      </div>
      <div class="thing">
         <div class="left">
            <el-input v-model="search.technology" suffix-icon="el-icon-search" placeholder="请输入搜索内容" size="small" clearable @input="(val)=>$refs.tree.filter(val)"></el-input>
            <el-tree :data="list" ref="tree" :props="{children: 'children',label: 'name'}" node-key="id" default-expand-all
            <el-tree :data="list" ref="tree" :props="{children: 'children',label: 'name'}" node-key="name" default-expand-all
               @node-click="handleNodeClick" highlight-current @node-expand="nodeOpen" @node-collapse="nodeClose" :filter-node-method="filterNode"
               :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.code}} {{ data.name }}</span>
                  <el-button type="text" size="mini" @click.stop="remove(node, data)">
                     <i class="el-icon-delete"></i>
                  </el-button>
               </div>
            </el-tree>
         </div>
@@ -164,20 +147,21 @@
               </el-table-column>
               <el-table-column prop="unit" label="单位">
               </el-table-column>
               <el-table-column prop="stand" label="标准值">
               <el-table-column prop="required" label="标准值">
               </el-table-column>
               <el-table-column prop="ask" label="内控值">
               <el-table-column prop="internal" label="内控值">
               </el-table-column>
               <el-table-column label="操作" width="130">
                  <template slot-scope="scope">
                     <span class="table_do" @click="upContent(scope.row)">编辑&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
                     <span class="table_do" @click="deleteRow(scope.$index, tableData)">删除</span>
                     <!-- <span class="table_do" @click="upContent(scope.row)">编辑&nbsp;&nbsp; -->
                        <!-- &nbsp;&nbsp;&nbsp;&nbsp;</span> -->
                     <span class="table_do" @click="deleteRow(scope.$index, scope.row)">删除</span>
                  </template>
               </el-table-column>
            </el-table>
         </div>
      </div>
      <el-dialog title="编辑记录内容" :visible.sync="upDia" width="500px">
      <!-- <el-dialog title="编辑记录内容" :visible.sync="upDia" width="500px">
         <div class="body">
            <el-row style="line-height: 46px;">
               <el-col :span="4" style="font-size: 14px;text-align: right;">名称:</el-col>
@@ -194,13 +178,13 @@
            <el-row style="line-height: 46px;">
               <el-col :span="4" style="font-size: 14px;text-align: right;">标准值:</el-col>
               <el-col :span="16" :offset="1">
                  <el-input v-model="upData.stand" size="small" clearable></el-input>
                  <el-input v-model="upData.required" size="small" clearable></el-input>
               </el-col>
            </el-row>
            <el-row style="line-height: 46px;">
               <el-col :span="4" style="font-size: 14px;text-align: right;">内控值:</el-col>
               <el-col :span="16" :offset="1">
                  <el-input v-model="upData.ask" size="small" clearable></el-input>
                  <el-input v-model="upData.internal" size="small" clearable></el-input>
               </el-col>
            </el-row>
         </div>
@@ -208,31 +192,28 @@
            <el-button type="primary" @click="submitUpData">确 定</el-button>
            <el-button @click="upDia = false">取 消</el-button>
         </span>
      </el-dialog>
      </el-dialog> -->
      <!-- 新增弹窗 -->
      <el-dialog title="自建新增" :visible.sync="dialogVisible" width="35%">
         <div>
            <el-form ref="form" :model="form" label-width="80px">
            <el-form-item label="类型">
               <template>
                        <el-select v-model="value" placeholder="请选择类型" style="width: 480px;">
                            <el-option
                            v-for="item in options"
                            :key="item.value"
                            :label="item.label"
                            :value="item.value">
                            </el-option>
                        <el-select v-model="form.value" placeholder="请选择" @change="edittype" style="width: 100%;">
                     <el-option v-for="(a, ai) in bigType" :key="ai" :value="a"></el-option>
                        </el-select>
                        </template>
            </el-form-item>
            <el-form-item label="工序">
               <template>
                        <el-select v-model="value" placeholder="请选择类型" style="width: 480px;">
                        <el-select v-model="form.procedure"
                  @change="workevent"
                  placeholder="请选择" style="width: 100%;">
                            <el-option
                            v-for="item in options"
                            :key="item.value"
                            :label="item.label"
                            :value="item.value">
                            v-for="item in process"
                            :key="item.name"
                            :label="item.name"
                            :value="item.name">
                            </el-option>
                        </el-select>
                        </template>
@@ -241,48 +222,48 @@
            <el-col :span="10">
            <el-form-item label="工艺名称">
               <template>
                        <el-select v-model="value" placeholder="请选择类型"  style="width: 180px;">
                        <el-select v-model="form.name" placeholder="请选择"  style="width: 180px;">
                            <el-option
                            v-for="item in options"
                            :key="item.value"
                            :label="item.label"
                            :value="item.value">
                            v-for="item in craftapi"
                            :key="item.id"
                            :label="item.name"
                            :value="item.id">
                            </el-option>
                        </el-select>
                        </template>
            </el-form-item>
         </el-col>
            <el-col :span="10" :offset="3">
            <el-form-item label="自建项目">
               <el-input v-model="form.name" style="width: 180px;"></el-input>
            <el-col :span="10" :offset="4">
            <el-form-item label="自检项目">
               <el-input v-model="form.project" style="width: 100%;"></el-input>
            </el-form-item>
         </el-col>
         </el-row>
         <el-row>
            <el-col :span="10">
            <el-form-item label="单位">
               <el-input v-model="form.vvvv" style="width: 180px;"></el-input>
               <el-input v-model="form.unit" style="width: 180px;"></el-input>
            </el-form-item>
            </el-col>
            <el-col :span="10" :offset="3">
            <el-col :span="10" :offset="4">
            <el-form-item label="标准值">
               <el-input v-model="form.aaaa" style="width: 180px;"></el-input>
               <el-input v-model="form.standard" style="width: 100%;"></el-input>
            </el-form-item>
            </el-col>
         </el-row>
         <el-form-item label="内控值" >
               <el-input v-model="form.aaaa" style="width: 180px;"></el-input>
               <el-input v-model="form.control" style="width: 180px;"></el-input>
            </el-form-item>
            </el-form>
         </div>
         <span slot="footer" class="dialog-footer">
            <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
            <el-button type="primary" @click="add">确 定</el-button>
            <el-button @click="dialogVisible = false">取 消</el-button>
         </span>
      </el-dialog>
      <!-- 修改弹窗 -->
      <el-dialog title="工艺路线修改" :visible.sync="modifyVisible" width="35%">
      <!-- <el-dialog title="工艺路线修改" :visible.sync="modifyVisible" width="35%">
         <div>
            <el-form ref="form" :model="form" label-width="80px">
            <el-form-item label="类型">
@@ -351,7 +332,7 @@
            <el-button type="primary" @click="modifyVisible = false">确 定</el-button>
            <el-button @click="modifyVisible = false">取 消</el-button>
         </span>
      </el-dialog>
      </el-dialog> -->
   </div>
</template>
@@ -366,68 +347,32 @@
            },
            options:[],
            value:{},
            form:{},
            form:{
               value:'',
               procedure:'',
               name:'',
               project:'',
               unit:'',
               standard:'',
               control:'',
            },
            modifyVisible:false,
            dialogVisible:false,
            process: [],
            product: [],
            list: [{
               id: 0,
               name: "原材料",
               children: [{
                  id: 3,
                  name: "工艺"
               }]
            }, {
               id: 1,
               name: "成品",
               children: [{
                  id: 4,
                  name: "工艺"
               }]
            }, {
               id: 2,
               name: "半成品",
               children: [{
                  id: 5,
                  name: "工艺"
               }]
            }],
            checkTreeNode: {},
            tableData: [{
               id: 1,
               name: "电缆规格",
               unit: "dajskda",
               stand: "12348",
               ask: "564165"
            }, {
               id: 2,
               name: "作业人员",
               unit: "dajskda",
               stand: "12348",
               ask: "564165"
            }, {
               id: 3,
               name: "规格",
               unit: "dajskda",
               stand: "12348",
               ask: "564165"
            }, {
               id: 4,
               name: "规格",
               unit: "dajskda",
               stand: "12348",
               ask: "564165"
            }, {
               id: 5,
               name: "规格",
               unit: "dajskda",
               stand: "12348",
               ask: "564165"
            }],
            list: [],
            checkTreeNode: {
               id:'',
            },
            bigType: [],
            tableData: [],
            upIndex: 0,
            selects: [],
            upDia: false,
            upDia: [],
            typeselect:0,
            process:[],
            craftapi:[],
            delete:{},
            upData: {
               id: 0,
               name: null,
@@ -438,14 +383,165 @@
         }
      },
      mounted() {
         this.selectDataList()
         this.chooseType()
      },
      methods: {
         chooseType() {
            this.$axios.get(this.$api.url.chooseType).then(res => {
               this.bigType = res.data
               this.typeselect = res.data[0]
               console.log(this.typeselect);
               this.search.type = res.data[0]
               this.selectAllleft()
               this.selectAllSelf()
            })
         },
          selectDataList() {
            this.list.forEach(a => {
               a.code = '[1]'
               if (a.children != undefined) {
                  a.children.forEach(b => {
                     b.code = '[2]'
                     if (b.children != undefined) {
                        b.children.forEach(c => {
                           c.code = '[3]'
                        })
                     }
                  })
               }
            })
            this.upIndex++
         },
         //删除
         delSelfcheck() {
            console.log(this.upData.id);
            this.$axios.post(this.$api.url.delSelfcheck,{
               id:this.upData.id
            }
            )
         },
         deleteRow(index, row) {
            this.tableData.splice(index,1)
            this.upData.id = row.id
            this.delSelfcheck()
         },
         //批量删除
         delAll() {
            this.$axios.post(this.$api.url.delAll,{
               ids:this.delete
            })
         },
         //编辑
         writeRecordById() {
         },
         //新增
         add() {
            if (this.form.standard[0] !== "<" && this.form.standard[0] !== "<=" && this.form.standard[0] !== ">"){
            this.$message({
                  message: '输入的第一个字符必须是 '<' 或 '<='!',
                  type: 'warning'
               });
               return;
            }
            this.addSelfcheck()
            this.dialogVisible = false
         },
         addSelfcheck() {
                this.$axios.post(this.$api.url.addSelfcheck,{
               internal:this.form.control,
               name:this.form.project,
               required:this.form.standard,
               techTemId:this.form.name,
               unit:this.form.unit,
                }, {
               headers: {
                      "Content-Type": "application/json"
                    }
            }).then(res=>{
               this.selectAllSelf()
               this.form = {}
            })
            },
          //工序工艺
            chooseTechFath() {
         this.$axios.get(this.$api.url.chooseTechFath,{
                params:{type:this.typeselect}
            }).then(res => {
            this.process = res.data;
                console.log(this.process);
         }, {
            headers: {
                      "Content-Type": "application/json"
                    }
            })
         },
          workevent(val){
                console.log(val);
                let idx = this.process.findIndex(el => el.name === val)
                this.craftapi = this.process[idx].children
            },
         TYpe(val) {
                this.typeselect = val
                console.log(this.typeselect);
                this.selectAllleft()
            },
         edittype(val) {
            // this.typeselect = ''
            this.typeselect = val
            this.chooseTechFath()
         },
            //主体左
            selectAllleft() {
         this.$axios.get(this.$api.url.selectAllleft,{
            params:{type:this.typeselect}
         }).then(res => {
            this.list = res.data;
                console.log(this.list);
            this.selectDataList()
            this.$nextTick(() => {
            this.$refs.tree.setCurrentKey(this.list[0].children[0].name) // 默认选中节点第一个
         })
         console.log("===========");
         console.log(this.list);
         let one=this.list.filter(item=>{
         return item.children.length>0
         })[0]
         console.log(one);
         let id =one.children[0].id
         this.checkTreeNode.id = id
         console.log(id);
         this.selectAllSelfStart(id)
         this.selectDataList();
         console.log("===========");
         })
         },
         //默认
         selectAllSelfStart(id) {
         this.$axios.get(this.$api.url.selectAllSelf,{
            params:{id:id}
         }).then(res => {
            this.tableData = res.data;
                console.log(this.tableData);
         })
         },
         //右
         selectAllSelf() {
         this.$axios.get(this.$api.url.selectAllSelf,{
            params:{id:this.checkTreeNode.id}
         }).then(res => {
            this.tableData = res.data;
                console.log(this.tableData);
         })
         },
         modify(){
                this.modifyVisible = true
            },
         addend(){
            this.dialogVisible = true
            this.chooseTechFath()
         },
         filterNode(value, data) {
           if (!value) return true;
@@ -474,6 +570,7 @@
         },
         handleNodeClick(data) {
            this.checkTreeNode = data
            this.selectAllSelf()
            if(data.code=='[2]'){
               console.log(data);
            }
@@ -496,10 +593,13 @@
                  }
               }
            })
            let cc = this.selects.map(el => {
               return el.id
            })
            this.delete = cc.join(',')
            console.log(this.delete);
            this.delAll()
            this.$message.success('删除完成')
         },
         deleteRow(index, rows) {
            rows.splice(index, 1);
         },
         upContent(ob) {
            this.upData = this.HaveJson(ob)