licp
2024-06-28 e41c8ce514dffeb999d737ea8dbda30ab8b60aa0
优化
已修改7个文件
185 ■■■■ 文件已修改
src/assets/api/controller.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/do/b1-ins-order/add.vue 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/do/b1-ins-order/fiberoptic-config.vue 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/do/b1-inspect-order-plan/Inspection.vue 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/view/a5-capacity-scope.vue 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/view/b1-inspection-order.vue 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/util/excelFountion.js 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/api/controller.js
@@ -195,6 +195,7 @@
const standardTree = {
  selectStandardTreeList: "/standardTree/selectStandardTreeList", //获取标准树
  selectStandardTreeList2: "/standardTree/selectStandardTreeList2", //获取标准树
  addStandardTree: "/standardTree/addStandardTree", //添加标准树
  addStandardMethodList: "/standardTree/addStandardMethodList", //给标准树添加检验标准
  selectsStandardMethodByFLSSM: "/standardTree/selectsStandardMethodByFLSSM", //根据标准树进行标准查询
src/components/do/b1-ins-order/add.vue
@@ -914,14 +914,16 @@
        this.selectUserDia = false
      },
      containsValue(str) {
        let symbolItem = ''
        this.symbolList.some(value =>{
          if(str.includes(value)){
            symbolItem  = value
            return true
          }
        })
        return symbolItem
        if(str){
          let symbolItem = ''
          this.symbolList.some(value =>{
            if(str.includes(value)){
              symbolItem  = value
              return true
            }
          })
          return symbolItem
        }
      },
      handleAsk(ask,symbolItem, value) {
        try{
@@ -1349,7 +1351,7 @@
        }
      },
      selectStandardTreeList() {
        this.$axios.get(this.$api.standardTree.selectStandardTreeList).then(res => {
        this.$axios.get(this.$api.standardTree.selectStandardTreeList2).then(res => {
          this.list = res.data
          this.list.forEach(a => {
            this.expandedKeys.push(a.label)
src/components/do/b1-ins-order/fiberoptic-config.vue
@@ -53,7 +53,7 @@
              </el-table-column>
              <el-table-column label="管色标" show-overflow-tooltip>
                <template slot-scope="scope">
                  <el-select v-model="scope.row.color" size="mini" :disabled="active!=1">
                  <el-select v-model="scope.row.color" size="mini" :disabled="active!=1" allow-create filterable >
                    <el-option v-for="(color,i) in colors" :key="i" :label="color.lable"
                      :value="color.value"></el-option>
                  </el-select>
@@ -187,7 +187,7 @@
              </el-table-column>
              <el-table-column prop="color" label="光纤色标" width="120">
                <template slot-scope="scope">
                  <el-select v-model="scope.row.color" size="mini" :disabled="active!=1">
                  <el-select v-model="scope.row.color" size="mini" :disabled="active!=1" allow-create filterable >
                    <el-option v-for="(color,i) in colors" :key="i" :label="color.lable"
                      :value="color.value"></el-option>
                  </el-select>
@@ -588,12 +588,12 @@
            this.$message.error('未选择光纤带')
            return
          }
          this.selectFibers.forEach(a => {
          this.selectFibers.forEach((a,index) => {
            a.fiber = []
            for (var i = 0; i < parseInt(a.num); i++) {
              let fiber = {
                bushColor: a.color,
                color: colors2[i].label,
                color: colors2[(i+(parseInt(a.num)*index))>colors2.length?0:i+(parseInt(a.num)*index)*index].label,
                model: model,
                standard: standard,
                productList: this.HaveJson(this.productList)
@@ -603,12 +603,12 @@
            }
          })
        } else {
          this.selectBushing.forEach(a => {
          this.selectBushing.forEach((a,index) => {
            a.fiber = []
            for (var i = 0; i < parseInt(a.testNum); i++) {
              let fiber = {
                bushColor: a.color,
                color: colors2[i].label,
                color: colors2[(i+(parseInt(a.testNum))*index)>colors2.length?0:i+(parseInt(a.testNum))*index].label,
                model: model,
                standard: standard,
                productList: this.HaveJson(this.productList)
src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -266,13 +266,13 @@
              <td :id='item.templateId+"-"+n.i+"-"+n.r+"-"+n.c' v-for="(n,j) in m" :key="j"
                v-if="n.v.mc==undefined || Object.keys(n.v.mc).length === 4" :colspan="n.v.mc&&n.v.mc.cs?n.v.mc.cs:1"
                :rowspan="n.v.mc&&n.v.mc.rs?n.v.mc.rs:1"
                :style="`background:${n.v.bg};color:${n.v.fc};font-size:${n.v.fs}px;width:${handleWidth(n)}px !important;height:${item.style.rowlen[n.r]}px;font-wight:${n.v.bl?'bold':''};`">
                :style="`background:${n.v.bg?n.v.bg:''};color:${n.v.fc};font-size:${n.v.fs}px;width:${handleWidth(n)}px !important;height:${item.style.rowlen[n.r]}px;font-wight:${n.v.bl?'bold':''};`">
                <div class="content" :class="`content-h-${n.v.ht} content-v-${n.v.vt}`"
                  :style="`width:${handleWidth(n)}px !important;min-height:${item.style.rowlen[n.r]}px;background:${n.v.bg};`">
                  :style="`width:${handleWidth(n)}px !important;min-height:${item.style.rowlen[n.r]}px;`">
                  <template v-if="n.v.ps!=undefined && n.v.ps.value==='检验值' && state==1">
                    <el-input v-if="getInspectionValueType(n.i) == 1" class="table_input" v-model="n.v.v"
                      :disabled="getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '')"
                      @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`)" type="number">
                      @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`)" type="number" @mousewheel.native.prevent>
                      <el-button slot="append" type="primary" icon="el-icon-edit" size="mini"
                        v-if="getInspectionItemType(n.i) == 1" @click="getSystemValue(n)"></el-button>
                    </el-input>
@@ -808,6 +808,7 @@
        let bushing = this.currentSample.bushing
        if(bushing&&bushing.length>0){
          this.bushing = bushing
          this.bushing.forEach(a => {})
        }
        // this.handleTableData()
        this.getTableLists();
@@ -1165,6 +1166,7 @@
        let id = str[0]
        let pId = str[3]
        var list = []
        // console.log(id, 'r', r , 'c',c,this.tableList)
        for (let a in this.tableList) {
          if (this.tableList[a].templateId == id) {
            list = this.tableList[a].arr
@@ -1229,6 +1231,10 @@
                  }else if(m.includes('±')){
                    let k = m.split('±')
                    return res >= (k[0] - k[1]) && res <= (k[0] + k[1])
                  }else if(m.includes('>')){
                    return res > m.split('>')[1]
                  }else if(m.includes('<')){
                    return res < m.split('<')[1]
                  }
                })
                }
@@ -1346,7 +1352,7 @@
              //     break;
              // }
              list.forEach(a => {
                if (a[0].r == item.r && comResult != '') {
                if (a[0].r == item.r && comResult !== '') {
                  for (var b in a) {
                    if (a[b].c == item.c) {
                      try{
src/components/view/a5-capacity-scope.vue
@@ -441,14 +441,19 @@
      obtainItemParameterList() {
        this.$axios.get(this.$api.laboratoryScope.obtainItemParameterList).then(res => {
          let data = []
          let data0 = []
          res.data.forEach(a => {
            data.push({
              label: a.laboratoryName,
              value: a.id
            })
            data0.push({
              label: a.laboratoryName,
              value: a.laboratoryName
            })
          })
          this.itemParameterData.selectField.laboratory.select = data
          this.itemParameterData.tagField.laboratory.select = data
          this.itemParameterData.selectField.laboratory.select = data0
          this.itemParameterData.tagField.laboratory.select = data0
          this.testObjectData.selectField.laboratoryId.select = data
          this.testObjectData.tagField.laboratoryId.select = data
          this.laboratory = data
src/components/view/b1-inspection-order.vue
@@ -90,8 +90,64 @@
  >>>.el-radio__label{
    color: #000 !important;
  }
  .el-dialog__body >>>.el-radio__label{
    font-size: 8px;
  }
  .el-dialog__body >>>.el-radio__input.is-checked .el-radio__inner::after {
    content: '';
    width: 4px;
    height: 3px;
    border: 1px solid #000;
    border-top: transparent;
    border-right: transparent;
    text-align: center;
    display: block;
    position: absolute;
    top: 1px;
    left: 2px;
    transform: rotate(-45deg);
    border-radius: 0px;
    background: none;
  }
  >>>.el-radio__input.is-disabled.is-checked .el-radio__inner{
    background: #3A7BFA;
  }
  .el-dialog__body >>>.el-radio__input.is-disabled.is-checked .el-radio__inner{
    background: transparent;
  }
  .el-dialog__body >>>.el-radio__inner{
    width: 8px !important;
    height: 8px !important;
  }
  .el-dialog__body >>>.el-radio__label{
    padding-left: 2px !important;
  }
  .el-dialog__body >>>.el-card__body{
    padding: 0 !important;
  }
  .el-dialog__body >>>.el-radio__input.is-disabled .el-radio__inner{
    border-color: #000 !important;
  }
  .el-dialog__body >>>.el-radio__input.is-disabled.is-checked .el-radio__inner{
    border: none !important;
  }
  .scor{
    width: 3px;
    height: 3px;
    border-radius: 1px;
    border: 1px solid #000;
    display: inline-block;
  }
  .ellipsis-multiline {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-wrap: break-word;
    max-height: 3.0em; /* 高度为字体大小的两倍 */
    line-height: 1.5em; /* 行高 */
    height: 3.0em; /* 高度为行高的两倍 */
  }
</style>
@@ -287,9 +343,9 @@
                          <el-col  style="font-weight: bold;"><span>规格型号:&nbsp; </span>{{ item.model }}</el-col>
                        </el-row>
                        <el-row style="margin-top: 1px;font-size: 14px;">
                          <el-col  style="font-weight: bold;"><span>样品名称号:&nbsp; </span>{{ item.sample }}</el-col>
                          <el-col  style="font-weight: bold;"><span>样品名称:&nbsp; </span>{{ item.sample }}</el-col>
                        </el-row>
                        <el-row style="margin-top: 1px;font-size: 14px;">
                        <el-row style="margin-top: 1px;font-size: 14px;" class="ellipsis-multiline">
                          <el-col  style="font-weight: bold;"><span>检测项目:&nbsp; </span>{{ item.item }}</el-col>
                        </el-row>
                        <el-row style="margin-top: 3px;font-size: 14px;">
@@ -313,6 +369,50 @@
        </el-row>
      </span>
    </el-dialog>
    <div class="el-dialog__body" style="width:320px;overflow-y: auto;position: absolute;top:9999px;margin-top: 0;position: fixed;top: 0;display: none;">
        <div id="printMOrder">
          <el-card class="box-card" v-for="(item, i) in checkDataList" :key="i" style="font-size: 8px !important;page-break-before:always;page-break-after: always;color: #000;">
            <div style="display: flex;">
              <div>
                <el-col :span="8" :offset="4">
                  <vueQr :text="JSON.stringify(item.sampleCode)" :size="78" :margin="2"></vueQr>
                </el-col>
              </div>
              <div style="margin-left: 57px;line-height: 9px;">
                <el-row>
                  <el-col  style="font-size: 8px;"><span>样品编号:&nbsp; </span>{{ item.sampleCode }}</el-col>
                </el-row>
                <el-row style="font-size: 8px;">
                  <el-col><span>委托单号:&nbsp; </span>{{ item.code }}</el-col>
                </el-row>
                <el-row style="font-size: 8px;">
                  <el-col><span>规格型号:&nbsp; </span>{{ item.model }}</el-col>
                </el-row>
                <el-row style="font-size: 8px;">
                  <el-col ><span>样品名称:&nbsp; </span>{{ item.sample }}</el-col>
                </el-row>
                <el-row style="font-size: 8px;">
                  <el-col class="ellipsis-multiline"><span>检测项目:&nbsp; </span>{{ item.item }}</el-col>
                </el-row>
                <el-row style="margin-top: 3px;font-size: 8px;">
                  <el-col  style="display: flex;align-items: center;"><span>样品状态:&nbsp;
                  </span>
                    <span style="white-space: nowrap;"><span v-if="item.insState==0">√</span><span class="scor" v-if="item.insState!=0"></span>待检
                    <span v-if="item.insState==1">√</span><span class="scor" v-if="item.insState!=1"></span>在检
                    <span v-if="item.insState==2">√</span><span class="scor" v-if="item.insState!=2"></span>已检
                    <span v-if="item.isLeave==1">√</span><span class="scor" v-if="item.isLeave!=1"></span>留样</span>
                    <!-- <el-radio-group :value="item.insState" style="margin-top: 3px;margin-left: 1px;" disabled>
                    <el-radio :label="0" style="margin-right: 3px;font-size: 6px;">待检</el-radio>
                    <el-radio :label="1" style="margin-right: 3px;font-size: 6px;">在检</el-radio>
                    <el-radio :label="2" style="margin-right: 3px;font-size: 6px;">已检</el-radio>
                  </el-radio-group><el-radio :label="1" style="margin-top: 3px;font-size: 8px;" v-model="item.isLeave" disabled>留样</el-radio> -->
                </el-col>
                </el-row>
              </div>
            </div>
          </el-card>
        </div>
      </div>
    </div>
</template>
@@ -550,7 +650,11 @@
        more:false,
        insOrderRow:{},
        checkIndexList:[],
        checkDataList:[],
        checkDataList:[
          // {
          //   sampleCode:'11111'
          // }
        ],
        qrData:[],
        multipleSelection:[]
            }
@@ -680,6 +784,7 @@
                let del = false
                let add = false
        let revoke = false
        let check = false
                for (var i = 0; i < power.length; i++) {
                    if (power[i].menuMethod == 'upInsOrder') {
                        up = true
@@ -690,6 +795,9 @@
          if (power[i].menuMethod == 'updateStatus') {
              revoke = true
          }
          if (power[i].menuMethod == 'upInsOrderOfState') {
              check = true
          }
                }
                if (!up) {
                    this.componentData.do.splice(4, 1)
@@ -697,6 +805,9 @@
        if (!revoke) {
            this.componentData.do.splice(3, 1)
        }
        if (!check) {
            this.componentData.do.splice(2, 1)
        }
                this.addPower = add
            },
            handleClose() {
src/util/excelFountion.js
@@ -12,6 +12,7 @@
function MAX(...val){
  let max = 0;
  if(val&&val.length>0){
    val = val.filter(item=>item!=null&&item!=='')
    max = Math.max(...val)
  }
  return max;
@@ -19,6 +20,7 @@
function MIN(...val){
  let min = 0;
  if(val&&val.length>0){
    val = val.filter(item=>item!=null&&item!=='')
    min = Math.min(...val)
  }
  return min;
@@ -26,12 +28,16 @@
function AVERAGE(...val){
  let num = 0;
  let arr = [];
  if(val&&val.length>0){
    val.forEach(item=>{
    arr = val.filter(item=>item!=null&&item!=='')
    arr.forEach(item=>{
      num+=item;
    })
    return num/arr.length;
  }else{
    return 0;
  }
  return num/val.length;
}
function APS(val){
@@ -157,7 +163,7 @@
  // 获取单元格对应值
  let arr = getAllCell(f)
  for (var a in comValue) {
    if(comValue[a]){
    if(comValue[a]!=='undefine'&&comValue[a]!=='null'&&comValue[a]!==undefined){
      arr[a] = comValue[a]
    }
  }