licp
2024-12-20 d975fc4756806f5b51f006c19c33571b9b8c0b3b
src/view/index.vue
@@ -225,8 +225,8 @@
   .component_view {
      height: calc(100vh - 84px);
      width: calc(100% - 52px);
      padding: 0 26px;
      width: calc(100% - 40px);
      padding: 0 20px;
      background: rgb(245, 247, 251);
   }
@@ -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,11 +432,21 @@
        query:{},
        newMsg:false,
        timer:null,
        menuId: 0
        menuId: 0,
        param:null,
         };
      },
      created() {
         this.menu = menus.menu
      if (this.PROJECT !== '装备电缆') { // 检测中心暂无'原材料检验下单'功能
        const index = this.menu.findIndex(item => item.v === '业务管理')
        if (index > -1) {
          const index2 = this.menu[index].c.findIndex(obj => obj.v === '原材料检验下单')
          if (index2 > -1) {
            this.menu[index].c.splice(index2, 1)
          }
        }
      }
      },
      mounted() {
         this.userName = JSON.parse(localStorage.getItem("user")).name;
@@ -488,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)
@@ -600,13 +633,21 @@
        this.editVisible = true;
      },
      handleEdit(){
        const reg2 =
          /^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?\d)(?=.*?[~!#@$%^*&()_+{}\[\]|\\;:'",<.>\/?])[a-zA-Z\d~!#@$%^*&()_+{}\[\]|\\;:'",<.>\/?]*$/;
        if (!this.query.oldPassword) {
          this.$message.error('请填写旧密码')
          return
        }else if (!reg2.test(this.query.oldPassword)) {
          this.$message.error('密码必须包括数字、大小写字母以及特殊字符')
            return
        }
        if (!this.query.newPassWord) {
          this.$message.error('请填写旧密码')
          return
        }else if (!reg2.test(this.query.newPassWord)) {
          this.$message.error('密码必须包括数字、大小写字母以及特殊字符')
            return
        }
        this.$axios.post(this.$api.user.upUserPassword, {...this.query}).then(res => {
            if (res.code == 201) {