licp
2024-12-20 d975fc4756806f5b51f006c19c33571b9b8c0b3b
src/view/index.vue
@@ -348,7 +348,7 @@
         </div>
         <div class="component_view">
            <component class="com_index" v-for="(com, index) in tabs" :is="com.u" :key="com.k" v-show="com.k == tabActive"
               :ref="`com-${com.k}`">
               :ref="`com-${com.k}`" :param="param">
            </component>
         </div>
      </div>
@@ -357,11 +357,11 @@
         <el-col :span="24">
            <el-card :body-style="{padding: '6px'}">
               <ul>
                  <li @click="removeTab(activeIndex)" v-show="menuId!=0"><i class="el-icon-close"></i>关闭</li>
                  <li @click="allDel"><i class="el-icon-delete"></i>关闭所有</li>
                  <li @click="rightDel(activeIndex)"><i class="el-icon-d-arrow-right"></i>关闭右侧页签</li>
                  <li @click="removeTab(activeIndex)" v-show="menuId!=0" style="text-align: left;"><i class="el-icon-close"></i>关闭</li>
                  <li @click="allDel" style="text-align: left;"><i class="el-icon-delete"></i>关闭所有</li>
                  <li @click="rightDel(activeIndex)" style="text-align: left;"><i class="el-icon-d-arrow-right"></i>关闭右侧页签</li>
                  <el-divider></el-divider>
                  <li @click="refreshTable"><i class="el-icon-refresh"></i>刷新</li>
                  <li @click="refreshTable" style="text-align: left;"><i class="el-icon-refresh"></i>刷新</li>
               </ul>
            </el-card>
         </el-col>
@@ -394,6 +394,7 @@
      </span>
    </el-dialog>
    <notice ref="notice" @goNoticeDetail="checkForUnreadData()" />
    <!-- <timer></timer> -->
   </div>
</template>
@@ -411,9 +412,10 @@
   import menus from '../../static/js/menu.js'
   import nullFace from '../view/404.vue'
  import notice from './notice.vue'
  import timer from './timer.vue';
   comObj['nullFace'] = nullFace
   export default {
      components: {...comObj,notice},
      components: {...comObj,notice,timer},
      data() {
         return {
            userName: "value",
@@ -430,7 +432,8 @@
        query:{},
        newMsg:false,
        timer:null,
        menuId: 0
        menuId: 0,
        param:null,
         };
      },
      created() {
@@ -497,12 +500,33 @@
               if (ob.u == "") ob.u = "nullFace"
               this.tabs.push(ob);
            }
        if(ob.param){
          this.param = this.HaveJson(ob.param)
          this.param.textNum = Math.random(100)
        }else{
          this.param = null
        }
            this.$refs['popoverName'].forEach(a=>{
               a.doClose()
            })
            this.saveClick()
         },
         removeTab(index) {
        let obj = this.$refs[`com-${this.tabs[index].k}`][0]
        if(obj.state&&obj.state==1&&this.tabs[index].v=='检验任务'&&(obj.version===0||obj.version===1)){
          this.$confirm('请确认当前数据是否全部保存,是否关闭当前页面?', '提示', {
            confirmButtonText: '确定',
            cancelButtonText: '取消',
            type: 'warning'
          }).then( async () => {
            if(await obj.$refs.Inspection.$refs.CircuitParameters.saveAll()){
              this.tabs.splice(index, 1);
              let data = this.tabs[this.tabs.length - 1]
              this.upTabActive(data.k)
            }
          })
          return
        }
            this.tabs.splice(index, 1);
            let data = this.tabs[this.tabs.length - 1]
            this.upTabActive(data.k)