spring
2025-02-26 c67a8c5b44524e06cd58d9751e4b72aa62954412
Merge branch 'dev' of http://114.132.189.42:9002/r/lims-ruoyi-before into dev
已修改14个文件
已添加1个文件
348 ■■■■■ 文件已修改
src/api/business/productOrder.js 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/cnas/process/ensureResultsValidity/qualityMonitor.js 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/cnas/resourceDemand/facilitiesEnvironment/facilitiesAndEnvironment.js 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/system/user.js 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/process/complaint/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/process/ensureResultsValidity/components/carryOutDialog.vue 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/process/ensureResultsValidity/components/detailFormDialog.vue 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/process/ensureResultsValidity/components/evaluateDialog.vue 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/process/ensureResultsValidity/index.vue 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/resourceDemand/facilitiesEnvironment/component/facilities-environmental-conditions/power-supply-stability.vue 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/business/inspectionTask/inspection.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/business/materialOrder/copperOrder.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/business/materialOrder/customsInspection.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/business/productOrder/components/add.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/user/index.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/business/productOrder.js
@@ -54,8 +54,8 @@
export function upPlanUser2(query) {
  return request({
    url: '/insOrderPlan/upPlanUser2',
    method: 'post',
    data: query
    method: 'get',
    params: query
  })
}
// æ£€éªŒä¸‹å‘
@@ -63,7 +63,7 @@
  return request({
    url: '/insOrder/upInsOrder',
    method: 'post',
    data: query
    params: query
  })
}
// å°†å¾…审核更新成撤销状态
src/api/cnas/process/ensureResultsValidity/qualityMonitor.js
@@ -42,7 +42,7 @@
    responseType: "blob"
  })
}
// åˆ é™¤ç›‘督计划
// åˆ é™¤ç›‘控计划
export function delQualitySupervise(query) {
  return request({
    url: '/qualityMonitor/delQualitySupervise',
@@ -84,3 +84,67 @@
    params: query
  })
}
// æ–°å¢žç›‘控计划详情
export function addQualityMonitorDetail(query) {
  return request({
    url: '/qualityMonitor/addQualityMonitorDetail',
    method: 'post',
    data: query
  })
}
// ä¿®æ”¹ç›‘控计划详情
export function updateQualityMonitorDetail(query) {
  return request({
    url: '/qualityMonitor/updateQualityMonitorDetail',
    method: 'post',
    data: query
  })
}
// æŸ¥è¯¢ç›‘控计划详情实施信息
export function getQualityMonitorRatify(query) {
  return request({
    url: '/qualityMonitor/getQualityMonitorRatify',
    method: 'get',
    params: query
  })
}
// æ–°å¢žç›‘控计划详情实施信息
export function addQualityMonitorRatify(query) {
  return request({
    url: '/qualityMonitor/addQualityMonitorRatify',
    method: 'post',
    data: query
  })
}
// æäº¤ç›‘控计划详情批准意见
export function addQualityMonitorRatifyOpinion(query) {
  return request({
    url: '/qualityMonitor/addQualityMonitorRatifyOpinion',
    method: 'post',
    data: query
  })
}
// æŸ¥è¯¢ç›‘控评价
export function getQualityMonitorEvaluate(query) {
  return request({
    url: '/qualityMonitor/getQualityMonitorEvaluate',
    method: 'get',
    params: query
  })
}
// æ–°å¢žç›‘控评价批准
export function addMonitorEvaluateOpinion(query) {
  return request({
    url: '/qualityMonitor/addMonitorEvaluateOpinion',
    method: 'post',
    data: query
  })
}
// æ–°å¢žç›‘控评价
export function addQualityMonitorEvaluate(query) {
  return request({
    url: '/qualityMonitor/addQualityMonitorEvaluate',
    method: 'post',
    data: query
  })
}
src/api/cnas/resourceDemand/facilitiesEnvironment/facilitiesAndEnvironment.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,57 @@
import request from '@/utils/request'
// è®¾æ–½å’ŒçŽ¯å¢ƒæ¡ä»¶è¦æ±‚-电源稳定性查询
export function getLaboratoryFacilityPowerStablePage(query) {
  return request({
    url: '/fePowerStable/getLaboratoryFacilityPowerStablePage',
    method: 'get',
    params: query
  })
}
// é€šè¿‡è®¾å¤‡åˆ†ç±»èŽ·å–è®¾å¤‡åˆ—è¡¨
export function deviceScopeSearch(query) {
  return request({
    url: '/deviceScope/search',
    method: 'get',
    params: query
  })
}
// è®¾å¤‡æ ‘å½¢
export function treeDevice(query) {
  return request({
    url: '/deviceScope/treeDevice',
    method: 'get',
    params: query
  })
}
//获取用户列表
export function selectUserCondition(query) {
  return request({
    url: "/system/newUser/selectUserCondition",
    method: "get",
    params: query,
  });
}
// è®¾æ–½å’ŒçŽ¯å¢ƒæ¡ä»¶è¦æ±‚-电源稳定性新增/修改
export function addLaboratoryFacilityPowerStable(query) {
  return request({
    url: '/fePowerStable/addLaboratoryFacilityPowerStable',
    method: 'post',
    data: query
  })
}
// è®¾æ–½å’ŒçŽ¯å¢ƒæ¡ä»¶-设施和环境条件要求-电源稳定性-测定量 åˆ é™¤
export function deleteFeMeasuredQuantity(query) {
  return request({
    url: '/fePowerStable/deleteFeMeasuredQuantity',
    method: 'delete',
    params: query
  })
}
src/api/system/user.js
@@ -180,3 +180,10 @@
    params: params
  })
}
// èŽ·å–å½“å‰ç™»å½•äººå‘˜éƒ¨é—¨
export function selectUserDepartmentLimsName(query) {
  return request({
    url: '/system/newUser/selectUserDepartmentLimsName',
    method: 'get'
  })
}
src/views/CNAS/process/complaint/index.vue
@@ -610,7 +610,7 @@
.user-info {
  display: flex;
  align-items: center;
  justify-content: end;
  justify-content: flex-end;
}
.user-content {
src/views/CNAS/process/ensureResultsValidity/components/carryOutDialog.vue
@@ -8,7 +8,7 @@
        <el-step title="实施"></el-step>
        <el-step title="批准"></el-step>
      </el-steps>
      <div style="height: 620px;overflow-y: auto">
      <div style="height: 520px;overflow-y: auto">
        <table border="1" cellspacing="10" class="tables">
          <tr>
            <td class="td-title">
@@ -181,6 +181,12 @@
<script>
import {
  addQualityMonitorRatify, addQualityMonitorRatifyOpinion,
  getQualityMonitorRatify
} from "@/api/cnas/process/ensureResultsValidity/qualityMonitor";
import {selectUserCondition} from "@/api/business/inspectionTask";
export default {
  name: 'carryOutDialog',
  // import å¼•入的组件需要注入到对象中才能使用
@@ -219,8 +225,7 @@
    },
    // æŸ¥è¯¢ç›‘控计划详情实施信息
    searchInfo (row) {
      this.$axios.get(this.$api.qualityMonitor.getQualityMonitorRatify + '?qualityMonitorDetailsId=' + row.qualityMonitorDetailsId).then(res => {
        if (res.code === 201) return
      getQualityMonitorRatify({qualityMonitorDetailsId: row.qualityMonitorDetailsId}).then(res => {
        // æœ‰detailsRatifyId则说明提交过实施信息
        if (res.data.detailsRatifyId) {
          // æ˜¯å¦ç»“束0:未结束, 1:已结束
@@ -252,12 +257,7 @@
    },
    // æäº¤å®žæ–½
    addInfo () {
      this.$axios.post(this.$api.qualityMonitor.addQualityMonitorRatify, this.form, {
        headers: {
          "Content-Type": "application/json"
        },
        noQs: true
      }).then(res => {
      addQualityMonitorRatify(this.form).then(res => {
        this.editLoad = false
        if (res.code === 201) return
        this.$message.success('操作成功')
@@ -269,12 +269,7 @@
    },
    // æäº¤æ‰¹å‡†
    editInfo () {
      this.$axios.post(this.$api.qualityMonitor.addQualityMonitorRatifyOpinion, this.form, {
        headers: {
          "Content-Type": "application/json"
        },
        noQs: true
      }).then(res => {
      addQualityMonitorRatifyOpinion(this.form).then(res => {
        this.editLoad = false
        if (res.code === 201) return
        this.$message.success('操作成功')
@@ -290,25 +285,22 @@
      this.$emit('closeCarryOutDia')
    },
    getAuthorizedPerson() {
      this.$axios.get(this.$api.user.getUserMenu).then(res => {
        let data = []
        res.data.forEach(a => {
      selectUserCondition({ type: 1 }).then((res) => {
        let data = [];
        res.data.forEach((a) => {
          data.push({
            label: a.name,
            value: a.id
          })
        })
        this.personList = data
      })
            value: a.id,
          });
        });
        this.personList = data;
      });
    },
  }
};
</script>
<style scoped>
>>>.el-dialog {
  margin: 20px auto 50px !important;
}
.tables {
  table-layout: fixed;
  width: 100%;
src/views/CNAS/process/ensureResultsValidity/components/detailFormDialog.vue
@@ -50,6 +50,11 @@
</template>
<script>
import {
  addQualityMonitorDetail,
  updateQualityMonitorDetail
} from "@/api/cnas/process/ensureResultsValidity/qualityMonitor";
export default {
  name: 'detailFormDialog',
  // import å¼•入的组件需要注入到对象中才能使用
@@ -106,12 +111,7 @@
      let entity = this.HaveJson(this.form)
      entity.qualityMonitorId = this.qualityMonitorId
      this.upLoad = true
      this.$axios.post(this.$api.qualityMonitor.addQualityMonitorDetail, entity, {
        headers: {
          "Content-Type": "application/json"
        },
        noQs: true
      }).then(res => {
      addQualityMonitorDetail(entity).then(res => {
        this.upLoad = false
        if (res.code === 201) return
        this.$message.success('新增成功')
@@ -125,12 +125,7 @@
    handleEdit () {
      const entity = this.HaveJson(this.form)
      this.upLoad = true
      this.$axios.post(this.$api.qualityMonitor.updateQualityMonitorDetail, entity, {
        headers: {
          "Content-Type": "application/json"
        },
        noQs: true
      }).then(res => {
      updateQualityMonitorDetail(entity).then(res => {
        this.upLoad = false
        if (res.code === 201) return
        this.$message.success('修改成功')
src/views/CNAS/process/ensureResultsValidity/components/evaluateDialog.vue
@@ -159,6 +159,12 @@
<script>
import ViewRecord from './ViewRecord.vue';
import {
  addMonitorEvaluateOpinion, addQualityMonitorEvaluate,
  getQualityMonitorEvaluate
} from "@/api/cnas/process/ensureResultsValidity/qualityMonitor";
import {selectUserCondition} from "@/api/business/inspectionTask";
import {selectUserDepartmentLimsName} from "@/api/system/user";
export default {
  name: 'evaluateDialog',
@@ -202,8 +208,7 @@
    // æŸ¥è¯¢ç›‘控计划详情实施信息
    searchInfo (row) {
      this.form.qualityMonitorDetailsId = row.qualityMonitorDetailsId
      this.$axios.get(this.$api.qualityMonitor.getQualityMonitorEvaluate + '?qualityMonitorDetailsId=' + row.qualityMonitorDetailsId).then(res => {
        if (res.code === 201) return
      getQualityMonitorEvaluate({qualityMonitorDetailsId: row.qualityMonitorDetailsId}).then(res => {
        if (res.data === null) {
          this.showStep = 0
          this.currentStep = 0
@@ -229,14 +234,9 @@
    // æäº¤
    handleEdit () {
      if (this.currentStep === 2) {
        this.$axios.post(this.$api.qualityMonitor.addMonitorEvaluateOpinion, this.form, {
          headers: {
            "Content-Type": "application/json"
          },
          noQs: true
        }).then(res => {
        this.editLoad = true
        addMonitorEvaluateOpinion(this.form).then(res => {
          this.editLoad = false
          if (res.code === 201) return
          this.$message.success('操作成功')
          this.closeEvaDia()
        }).catch(err => {
@@ -270,14 +270,9 @@
            return
          }
        }
        this.$axios.post(this.$api.qualityMonitor.addQualityMonitorEvaluate, this.form, {
          headers: {
            "Content-Type": "application/json"
          },
          noQs: true
        }).then(res => {
        this.editLoad = true
        addQualityMonitorEvaluate(this.form).then(res => {
          this.editLoad = false
          if (res.code === 201) return
          this.$message.success('操作成功')
          this.closeEvaDia()
        }).catch(err => {
@@ -301,20 +296,19 @@
      })
    },
    getAuthorizedPerson() {
      this.$axios.get(this.$api.user.getUserMenu).then(res => {
        let data = []
        res.data.forEach(a => {
      selectUserCondition({ type: 1 }).then((res) => {
        let data = [];
        res.data.forEach((a) => {
          data.push({
            label: a.name,
            value: a.id
          })
        })
        this.personList = data
      })
            value: a.id,
          });
        });
        this.personList = data;
      });
    },
    getDepartment() {
      this.$axios.get(this.$api.user.selectUserDepartmentLimsName).then(res => {
        if (res.code === 201) return
      selectUserDepartmentLimsName().then(res => {
        this.form.implementDepartment = res.data
      })
    },
src/views/CNAS/process/ensureResultsValidity/index.vue
@@ -92,7 +92,7 @@
      </div>
      <div>
        æ‰¹å‡†æ„è§ï¼š
        <el-input v-model="approvalRemarks" :disabled="this.ratifyStatus === 1" type="textarea"></el-input>
        <el-input v-model="ratifyRemark" :disabled="this.ratifyStatus === 1" type="textarea"></el-input>
      </div>
      <span v-if="this.ratifyStatus !== 1" slot="footer" class="dialog-footer">
        <el-button :loading="lookDialogLoading" @click="handleApproval(0)">不批准</el-button>
@@ -101,8 +101,8 @@
    </el-dialog>
    <el-dialog :visible.sync="downloadDialog" title="导出" width="600px">
      <span>
        <el-button plain type="primary" @click="controlDown">实施计划导出</el-button>
        <el-button plain type="primary" @click="processingDown">评价导出</el-button>
        <el-button plain type="primary" :disabled="!download.qualityMonitorDetailsId" @click="controlDown">实施计划导出</el-button>
        <el-button plain type="primary" :disabled="!download.qualityMonitorDetailsId" @click="processingDown">评价导出</el-button>
      </span>
      <span slot="footer" class="dialog-footer">
        <el-button @click="downloadDialog = false">取 æ¶ˆ</el-button>
@@ -132,7 +132,7 @@
      </div>
      <div style="margin: 0 auto;">
        <el-upload ref="upload" :action="action" :auto-upload="false" :file-list="fileList"
                   :headers="headers" :limit="1"
                   :headers="uploadHeader" :limit="1"
                   accept='.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar'
                   :on-change="beforeUpload" :on-error="onError" :on-success="handleSuccessUp" drag
                   :data="{planYear: planYear, examineUserId: examineUserId}"
@@ -148,13 +148,12 @@
    </el-dialog>
    <!--生成报告弹框-->
    <el-dialog :visible.sync="uploadDia1" title="生成报告" width="500px">
      <div v-if="approvalRemarks">
      <div v-if="ratifyRemark">
        æ‰¹å‡†æ„è§ï¼š
        <el-input v-model="approvalRemarks" :disabled="this.ratifyStatus === 1" type="textarea"></el-input>
        <el-input v-model="ratifyRemark" :disabled="this.ratifyStatus === 1" type="textarea"></el-input>
      </div>
      <div style="margin: 0 auto;">
        <el-upload ref="upload1" :action="action1" :auto-upload="false"
                   :data="{qualityMonitorDetailsId: qualityMonitorDetailsId}" :file-list="fileList1" :headers="headers"
        <el-upload ref="upload1" :action="action1" :auto-upload="false" :data="{qualityMonitorDetailsId: qualityMonitorDetailsId}" :file-list="fileList1" :headers="uploadHeader"
                   :limit="1"
                   :on-change="beforeUpload1" :on-error="onError1" :on-success="onSuccess1" accept='.doc,.docx'
                   drag
@@ -185,7 +184,7 @@
  ratifyQualityMonitor
} from "@/api/cnas/process/ensureResultsValidity/qualityMonitor";
import {selectUserCondition} from "@/api/performance/class";
import {getToken} from "@/utils/auth";
import {mapGetters} from "vuex";
export default {
  name: 'a7-Ensure-results-validity',
@@ -297,7 +296,7 @@
              name: '审核',
              type: 'text',
              disabled: (row) => {
                if (row.examineStatus === 1 || JSON.parse(localStorage.getItem("user")).userId != row.examineUserId) {
                if (row.examineStatus === 1 || this.userId != row.examineUserId) {
                  return true
                } else {
                  return false
@@ -311,7 +310,7 @@
              name: '批准',
              type: 'text',
              disabled: (row) => {
                if (row.ratifyStatus === 1 || row.examineStatus !== 1 || JSON.parse(localStorage.getItem("user")).userId != row.ratifyUserId) {
                if (row.ratifyStatus === 1 || row.examineStatus !== 1 || this.userId != row.ratifyUserId) {
                  return true
                } else {
                  return false
@@ -469,13 +468,10 @@
      currentInfo: {},
      qualityMonitorDetailsId: '',
      ratifyStatus: '',
      approvalRemarks: '',
      ratifyRemark: '',
      downloadDialog: false,
      download: {},
      planYear: '',
      headers: {
        Authorization: "Bearer " + getToken(),
      },
      planYear: ''
    };
  },
  mounted() {
@@ -612,7 +608,7 @@
    handleApproval (status) {
      const personTrainingUpdateDto = {
        qualityMonitorDetailsId: this.currentInfo.qualityMonitorDetailsId,
        ratifyRemark: this.approvalRemarks,
        ratifyRemark: this.ratifyRemark,
        ratifyStatus: status
      }
      this.lookDialogLoading = true
@@ -701,10 +697,10 @@
      this.carryOutDia = false
      this.getYearDetailPlanList()
    },
    // æ‰“开报告弹框
    // æ‰“开完成报告弹框
    record (row) {
      this.qualityMonitorDetailsId = row.qualityMonitorDetailsId
      this.approvalRemarks = row.approvalRemarks
      this.ratifyRemark = row.ratifyRemark
      if (row.finishReportUrl) {
        this.currentInfo = row
        this.ratifyStatus = row.ratifyStatus
@@ -819,6 +815,7 @@
  },
  // ç”¨äºŽä¸Šä¼ æ–‡ä»¶çš„信息
  computed: {
    ...mapGetters(["userId"]),
    action() {
      return this.javaApi + '/qualityMonitor/importQualityMonitor'
    },
src/views/CNAS/resourceDemand/facilitiesEnvironment/component/facilities-environmental-conditions/power-supply-stability.vue
@@ -191,11 +191,20 @@
</template>
<script>
import {
  getLaboratoryFacilityPowerStablePage,
  deviceScopeSearch,
  treeDevice,
  selectUserCondition,
  addLaboratoryFacilityPowerStable,
  deleteFeMeasuredQuantity
} from '@/api/cnas/resourceDemand/facilitiesEnvironment/facilitiesAndEnvironment'
export default {
  data() {
    return {
      search: {
        size: 20,
        size: 10,
        current: 1,
        total: 0
      },
@@ -235,11 +244,14 @@
  methods: {
    // åˆå§‹åŒ–调用
    initData() {
      this.$axios.get(this.$api.facilitiesAndEnvironment.getLaboratoryFacilityPowerStablePage + '?size=' + this.search.size + '&current=' + this.search.current).then(res => {
        if (res.code === 201) return;
        this.tableData = res.data.records;
        this.search.total = res.data.total;
      });
      getLaboratoryFacilityPowerStablePage({
        ...this.search
      }).then(res => {
        if (res.code === 200){
          this.tableData = res.data.records;
          this.search.total = res.data.total;
        }
      })
    },
    handleSizeChange(val) {
      this.search.size = val;
@@ -269,7 +281,7 @@
    // èŽ·å–æ‰€æœ‰è®¾å¤‡
    getEquipOptions() {
      this.equipOptions = []
      this.$axios.get(this.$api.deviceScope.deviceScopeSearch+'?status=0').then(res => {
      deviceScopeSearch({status:'0'}).then(res => {
        if (res.code === 200 && res.data) {
          this.equipOptions = res.data
        }
@@ -279,9 +291,9 @@
    },
    // ç”µæºç¨³å®šæ€§-打开弹框调用设备接口,查询使用的设备
    openDialog() {
      this.$axios.get(this.$api.deviceScope.treeDevice).then(res => {
      treeDevice().then(res => {
        this.cascaderList = res.data;
      });
      })
      this.$nextTick(() => {
        this.$refs['form'].clearValidate()
      })
@@ -324,11 +336,7 @@
      this.submitLoading = true
      this.$refs.form.validate((valid) => {
        if (valid) {
          this.$axios.post(this.$api.facilitiesAndEnvironment.addLaboratoryFacilityPowerStable, this.form, {
            headers: {
              'Content-Type': 'application/json'
            }
          }).then(res => {
          addLaboratoryFacilityPowerStable(this.form).then(res => {
            this.submitLoading = false
            if (res.code === 200) {
              this.initData()
@@ -383,9 +391,16 @@
    },
    // èŽ·å–è´Ÿè´£äººä¿¡æ¯æŽ¥å£
    getUserList() {
      this.$axios.get(this.$api.deviceScope.selectUserList).then(res => {
      selectUserCondition().then(res => {
        if (res.code == 200) {
          this.responsibleOptions = res.data
          let data = []
          res.data.forEach(a => {
            data.push({
              id: a.id,
              name: a.name
            })
          })
          this.responsibleOptions = data
        }
      })
    },
src/views/business/inspectionTask/inspection.vue
@@ -21,7 +21,7 @@
        <el-button v-if="typeSource == 1" size="small" type="primary" @click="openPurchase">进货验证</el-button>
        <el-button v-if="state == 1 && typeSource == 1" size="small" type="primary" @click="openUnPassDialog('add')">不合格处理</el-button>
        <el-button size="small" type="primary" @click="sampleVisible = true;uploadSample();">样品切换</el-button>
        <el-button v-if="state == 1" size="small" type="primary" @click="taskVisible = true">任务切换</el-button>
<!--        <el-button v-if="state == 1" size="small" type="primary" @click="taskVisible = true">任务切换</el-button>-->
        <el-button v-if="state == 1" size="small" type="primary" @click="addVerifyDia = true">提交</el-button>
        <!-- å¤æ ¸ -->
        <el-button v-if="state == 2" size="medium" type="primary" @click="openAddCheck">通过</el-button>
@@ -355,7 +355,6 @@
              size="medium" style="margin-right: 5px">{{ item.label }}</el-tag>
          </template>
        </el-table-column>
        <el-table-column label="检验人" min-width="80px" prop="checkName" show-overflow-tooltip></el-table-column>
        <el-table-column align="center" label="是否留样" prop="isLeave" show-overflow-tooltip width="95px">
          <template slot-scope="scope">
            <span>{{ scope.row.isLeave == 0 ? "否" : "是" }}</span>
@@ -786,7 +785,7 @@
    this.getAuthorizedPerson();
    // this.getPower();
    this.startWorker();
    this.getList0()
    // this.getList0() // ä»»åŠ¡åˆ‡æ¢
    this.scrollInit();
  },
  watch: {
src/views/business/materialOrder/copperOrder.vue
@@ -1781,8 +1781,7 @@
    },
    goBack () {
      const obj = { path: "/business/materialOrder" };
      this.$tab.closeOpenPage(obj);
      this.$router.go(-1)
    }
  }
}
src/views/business/materialOrder/customsInspection.vue
@@ -1832,8 +1832,7 @@
      return row[property] === value;
    },
    goBack () {
      const obj = { path: "/business/materialOrder" };
      this.$tab.closeOpenPage(obj);
      this.$router.go(-1)
    }
  }
}
src/views/business/productOrder/components/add.vue
@@ -2143,8 +2143,7 @@
        this.productList0.splice(index,1)
      },
      goBack () {
        const obj = { path: "/business/productOrder" };
        this.$tab.closeOpenPage(obj);
        this.$router.go(-1)
      }
    }
  }
src/views/system/user/index.vue
@@ -147,6 +147,11 @@
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="归属部门" prop="deptId">
              <treeselect v-model="form.deptId" :options="enabledDeptOptions" :show-count="true" placeholder="请选择归属部门" />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">