王震
2023-12-26 5881cf33d6410528f713f8b49c708d83cff27c11
Merge branch 'master' of http://114.132.189.42:9002/r/mes-ocea-before
已修改5个文件
197 ■■■■■ 文件已修改
src/page/index/sidebar/index.vue 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/plan/productionschedul/index.vue 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/quality/rawMaterial/rawMaterial-form.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/technology/completeproductstructure/index.vue 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/technology/routing/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/page/index/sidebar/index.vue
@@ -18,13 +18,27 @@
  name: 'Sidebar',
  data(){
    return {
      collapse: false
    }
  },
  inject: ["Index"],
  components: { sidebarItem, logo },
  created() {
    this.Index.openMenu(this.menuId);
    // console.log(window.innerWidth);
    // if(window.innerWidth <= 768){
    //   this.collapse = true
    //   this.$store.commit('SET_COLLAPSE')
    // }
  },
  // watch:{
  //   'window.innerWidth':{
  //     handler(newVal){
  //       console.log(newVal);
  //     },
  //     deep: true
  //   }
  // },
  computed: {
    ...mapGetters(['website', 'menu', 'tag', 'keyCollapse', 'screen']),
    filterMenu: function(){
src/views/plan/productionschedul/index.vue
@@ -2,13 +2,13 @@
  <div class="mod-config">
    <basic-container>
      <el-row>
        <el-col :span="14">
          <el-row>
        <el-col :span="14" style="height:100vh">
          <el-row style="height:50%;padding:0px 10px;">
            <el-col :span="24">
              <div style="height:40vh;padding: 0px 10px;">
                <span style="position: relative;top:40px;">未完成</span>
                <span style="position: relative;top:30px;left:60%;z-index: 11">
                  <el-button @click="tagFinished" size="mini" round type="primary">标记已完成</el-button>
              <div>
                <span style="position: relative;top:40px;color:#E84738">未完成</span>
                <span style="position: relative;top:30px;left:61%;z-index: 11">
                  <el-button @click="tagFinished" size="mini" round type="success">标记已完成</el-button>
                  <el-button size="mini" round type="primary"
                  v-if="permissions.plan_productionschedul_edit_line" 
                  @click="openEditDialog">编辑时间线</el-button>
@@ -18,7 +18,7 @@
                ref="crud" 
                :option="option" 
                :span-method="spanMethod" 
                @refresh-change="getUnFinishedData"
                @refresh-change="getDataList"
                @current-change="handleCurrentChange"
                @size-change="handleSizeChange"
                :page="page" 
@@ -42,10 +42,10 @@
              </div>
            </el-col>
          </el-row>
          <el-row>
          <el-row style="height:50%;padding:0px 10px;">
            <el-col :span="24">
              <div style="height:40vh;padding: 0px 10px;">
                <span style="position: relative;top:40px">已完成</span>
              <div>
                <span style="position: relative;top:0px;color:#34BD66">已完成</span>
                <avue-crud 
                :data="finishedTableData" 
                ref="finished" 
@@ -75,7 +75,7 @@
              <div slot="header" class="clearfix">
                <span>调度时间线</span>
              </div>
              <div style="height:70vh;overflow-y: scroll;">
              <div style="height:100vh;overflow-y: scroll;">
                <el-timeline>
                    <el-timeline-item
                      placement="top"
@@ -223,7 +223,7 @@
          prop:'id',
          order:'descending'
        },
        height: 200,
        height: 230,
        selection: true,
        columnBtn: false,
        index: true,
@@ -333,7 +333,7 @@
          prop:'id',
          order:'descending'
        },
        height: 180,
        height: 250,
        selection: true,
        columnBtn: false,
        index: true,
@@ -497,6 +497,11 @@
          productionStatus: null,
        }
      }
    },
    multipleSelection(newVal){
      if(newVal.length==0){
        this.scheduleList = []
      }
    }
  },
  mounted() {
@@ -507,7 +512,7 @@
  methods: {
    tagFinished(){
      if(this.multipleSelection.length < 1){
        this.$message.warning("请选择一条数据")
        this.$message.warning("请至少选择一条数据")
        return
      }
      let ids = this.multipleSelection.map(ele=>{
@@ -545,17 +550,20 @@
    },
    openEditDialog(){
      if(this.multipleSelection.length<1){
        this.$message.error("请至少选择一条数据")
        this.$message.warning("请至少选择一条数据")
        return
      }
      let mIds = this.multipleSelection.map(ele=>{
        return ele.mid
      })
      checkTimeLines(mIds).then(res=>{
        console.log(res);
        if(res.data.code===200){
          this.scheduleEditList = JSON.parse(JSON.stringify(this.scheduleList))
        if(res.data.data.length==1){
          let dataList = this.initTimeLine(res.data.data[0])
          this.scheduleEditList = dataList
          console.log(this.scheduleEditList);
          this.dialogVisible = true
        }else{
          this.$message.error("选中数据的调度时间线不一致!")
        }
      }).catch(error=>{
        console.error(error);
@@ -563,7 +571,9 @@
    },
    confirmEditSchedul(){
      let data = this.scheduleEditList
      let orderObj = this.multipleSelection[0]
      let mIds = this.multipleSelection.map(ele=>{
        return ele.mid
      })
      let obj = {
        "documentActualTime": data[0].actualTime,
        "documentPlanTime": data[0].planTime,
@@ -577,13 +587,13 @@
        "checkPlanTime": data[4].planTime,
        "productActualTime": data[5].actualTime,
        "productPlanTime": data[5].planTime,
        "id": orderObj.id,
        "contractNo": orderObj.contractNo,
        "customerName": orderObj.customerName,
        "deliveryDate": orderObj.deliveryDate,
        "orderTime": orderObj.orderTime,
        "productType": orderObj.productType,
        "projectName": orderObj.projectName
        "mids": mIds,
        // "contractNo": orderObj.contractNo,
        // "customerName": orderObj.customerName,
        // "deliveryDate": orderObj.deliveryDate,
        // "orderTime": orderObj.orderTime,
        // "productType": orderObj.productType,
        // "projectName": orderObj.projectName
      }
      fillTime(obj).then(res=>{
        if(res.status===200){
@@ -602,7 +612,7 @@
      done()
    },
    initTimeLine(data){
      this.scheduleList = []
      let scheduleList = []
      if(data){
        let arr = [
          {
@@ -636,13 +646,14 @@
            planTime: data.productPlanTime,
          },
        ]
        this.scheduleList = arr
        scheduleList = arr
        return scheduleList
      }
    },
    getScheduleById(id){
      if(id){
        fetchScheduleById(id).then(res=>{
          this.initTimeLine(res.data.data)
          this.scheduleList = this.initTimeLine(res.data.data)
        }).catch(error=>{
          console.log(error);
        })
@@ -692,6 +703,10 @@
      }
    },
    // 获取数据列表
    getDataList(){
      this.getUnFinishedData()
      this.getFinishedData()
    },
    getUnFinishedData() {
      this.loading = true
      let param = {
@@ -725,7 +740,7 @@
    // 删除
    deleteHandle(row,index) {
      const _than = this
      _than.$confirm('是否确认删除', '提示', {
      _than.$confirm('是否确认删除该生产调度信息', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
src/views/quality/rawMaterial/rawMaterial-form.vue
@@ -115,14 +115,14 @@
        <el-tabs class="rawMaterial-detail" @tab-click="tabsClick">
          <el-tab-pane label="检验项目">
            <el-row style="width:100%;z-index: 10;height:50px;">
                <el-col :xs="12" :lg="18"></el-col>
                <el-col :xs="4" :lg="2" style="text-align: right;">
                <el-col :sm="12" :lg="18"></el-col>
                <el-col :sm="4" :lg="2" style="text-align: right;">
                  <el-button v-if="dataForm.id==null" size="small" @click="clickAddLine()">添加检验项目</el-button>
                </el-col>
                <el-col :xs="4" :lg="2" style="text-align: right;">
                <el-col :sm="4" :lg="2" style="text-align: right;">
                  <el-button class="pad-addcol-btn" v-if="resultVal==null || dataForm.id==null" size="small" @click="addTeatValueColumn()">添加检测值列</el-button>
                </el-col>
                <el-col :xs="4" :lg="2" style="text-align: right;">
                <el-col :sm="4" :lg="2" style="text-align: right;">
                  <el-button v-if="resultVal==null || dataForm.id==null" size="small" @click="delTeatValueColumn()">删除检测值列</el-button>
                </el-col>
            </el-row>
src/views/technology/completeproductstructure/index.vue
@@ -10,21 +10,7 @@
        :ajaxFun="ajaxFun"
        ref="completeProductStructureTable"
      >
        <template #toolbar>
          <el-button type="primary" @click="addByStructureHandle"
          v-if="permissions.technology_completeproductstructure_bom">产品结构生成BOM</el-button>
          <el-button @click="() => {this.approveHandle('ACCEPT')}"
          :disabled="uniqueStateArr.includes('01draft')"
          v-if="permissions.technology_completeproductstructure_accept">批准</el-button>
          <el-button @click="() => {this.approveHandle('REVOKE')}"
          :disabled="uniqueStateArr.includes('02accepted')"
          v-if="permissions.technology_completeproductstructure_revoke">撤回</el-button>
          <el-button @click="() => {this.approveHandle('CANCEL')}"
          :disabled="uniqueStateArr.includes('02accepted')"
          v-if="permissions.technology_completeproductstructure_cancel">拒绝</el-button>
          <el-button @click="() => {this.deleteAll()}" type="primary"
          v-if="permissions.technology_completeproductstructure_batch_delete">批量删除</el-button>
        </template>
        <template #toolbar></template>
      </ttable>
    </basic-container>
  </div>
@@ -265,6 +251,48 @@
    this.getData()
  },
  created() {
    if(this.permissions.technology_completeproductstructure_bom){
      this.table.toolbar.push({
        text: '产品结构生成BOM',
        disabled: false,
        type: 'primary',
        fun: ()=>{this.addByStructureHandle()},
        permitArr: [],
      })
    }
    if(this.permissions.technology_completeproductstructure_accept){
      this.table.toolbar.push({
        text: '批准',
        disabled: true,
        fun: ()=>{this.approveHandle('ACCEPT')},
        permitArr: ['01draft'],
      })
    }
    if(this.permissions.technology_completeproductstructure_revoke){
      this.table.toolbar.push({
        text: '撤回',
        disabled: true,
        fun: () => {this.approveHandle('REVOKE')},
        permitArr: ['02accepted'],
      })
    }
    if(this.permissions.technology_completeproductstructure_cancel){
      this.table.toolbar.push({
        text: '拒绝',
        disabled: true,
        fun: ()=>{this.approveHandle('CANCEL')},
        permitArr: ['02accepted'],
      })
    }
    if(this.permissions.technology_completeproductstructure_batch_delete){
      this.table.toolbar.push({
        text: '批量删除',
        type:'primary',
        disabled: false,
        permitArr: [],
        fun: ()=>{this.deleteAll()},
      })
    }
    if(this.permissions.technology_completeproductstructure_del){
        this.table.operator = [
          {
@@ -276,6 +304,17 @@
        ]
      }
    this.getBomTypeDbOptions()
  },
  watch:{
    multipleSelection(newVal){
      if(newVal.length==0){
        this.table.toolbar.forEach(ele=>{
          if(ele.text=='拒绝' || ele.text=='批准' || ele.text=='撤回'){
            ele.disabled = true
          }
        })
      }
    }
  },
  methods: {
    getBomTypeDbOptions() {
@@ -422,22 +461,21 @@
          uniqueStateArr.push(stateArr[i])
        }
      }
      this.uniqueStateArr = uniqueStateArr
      // 循环表头按钮,判断每个按钮的permitArr是否完全包含选中状态,若完全包含,则按钮亮,否则按钮灰
      // var toolbar = this.table.toolbar
      // for (var j = 0; j < toolbar.length; j++) {
      //   if (
      //     uniqueStateArr.every((val) =>
      //       toolbar[j].permitArr.length <= 0
      //         ? true
      //         : toolbar[j].permitArr.includes(val)
      //     )
      //   ) {
      //     toolbar[j].disabled = false
      //   } else {
      //     toolbar[j].disabled = true
      //   }
      // }
      var toolbar = this.table.toolbar
      for (var j = 0; j < toolbar.length; j++) {
        if (
          uniqueStateArr.every((val) =>
            toolbar[j].permitArr.length <= 0
              ? true
              : toolbar[j].permitArr.includes(val)
          )
        ) {
          toolbar[j].disabled = false
        } else {
          toolbar[j].disabled = true
        }
      }
      // 将选中记录赋值给multipleSelection
      this.multipleSelection = val
    },
src/views/technology/routing/index.vue
@@ -465,7 +465,7 @@
        type:'primary',
        disabled: false,
        permitArr: [],
        fun: ()=>{this.copyRouting()},
        fun: ()=>{this.deleteAll()},
      })
    }
    if(this.permissions.technology_routing_del){