licp
2024-06-07 32a95699e59c5c65e18c08643266c9cbfa380ee4
src/components/view/b1-inspection-order.vue
@@ -9,6 +9,7 @@
      height: 80px;
      display: flex;
      align-items: center;
    overflow: hidden;
   }
   .search_thing {
@@ -80,51 +81,73 @@
               </el-col>
            </el-row>
         </div>
         <div class="search">
            <div class="search_thing">
               <div class="search_label">委托编号:</div>
               <div class="search_input"><el-input size="small" placeholder="请输入" clearable
                     v-model="componentData.entity.entrustCode" @keyup.enter.native="refreshTable()"></el-input></div>
            </div>
            <div class="search_thing">
               <div class="search_label">样品名称:</div>
               <div class="search_input"><el-input size="small" placeholder="请输入" clearable
                     v-model="componentData.entity.sampleType" @keyup.enter.native="refreshTable()"></el-input></div>
            </div>
        <div class="search_thing">
           <div class="search_label">样品型号:</div>
           <div class="search_input"><el-input size="small" placeholder="请输入" clearable
                 v-model="componentData.entity.sampleModel" @keyup.enter.native="refreshTable()"></el-input></div>
        </div>
        <div class="search_thing">
               <div class="search_label">样品编号:</div>
               <div class="search_input"><el-input size="small" placeholder="请输入" clearable
                     v-model="componentData.entity.sampleCode" @keyup.enter.native="refreshTable()"></el-input></div>
            </div>
        <div class="search_thing">
               <div class="search_label">下单时间:</div>
               <div class="search_input">
            <el-date-picker style="width:100%" v-model="componentData.entity.createTime"
            type="date"
            size="small"
            format="yyyy-MM-dd"
            value-format="yyyy-MM-dd HH:mm:ss"
            clearable
            placeholder="选择日期">
            </el-date-picker>
          </div>
            </div>
            <div class="search_thing" style="padding-left: 30px;">
               <el-button size="small" @click="refresh()">重 置</el-button>
               <el-button size="small" type="primary" @click="refreshTable()">查 询</el-button>
            </div>
         <div class="search" :style="`height: ${more?130:80}px;`">
        <el-row :gutter="10" style="width: 100%;">
          <el-col :span="20" style="display: flex;flex-wrap: wrap;">
            <div class="search_thing" style="width: 20%;">
              <div class="search_label">委托编号:</div>
              <div class="search_input"><el-input size="small" placeholder="请输入" clearable
                  v-model="componentData.entity.entrustCode" @keyup.enter.native="refreshTable()"></el-input></div>
            </div>
            <div class="search_thing" style="width: 20%;">
              <div class="search_label">样品名称:</div>
              <div class="search_input"><el-input size="small" placeholder="请输入" clearable
                  v-model="componentData.entity.sampleType" @keyup.enter.native="refreshTable()"></el-input></div>
            </div>
            <div class="search_thing" style="width: 20%;">
              <div class="search_label">样品型号:</div>
              <div class="search_input"><el-input size="small" placeholder="请输入" clearable
                  v-model="componentData.entity.sampleModel" @keyup.enter.native="refreshTable()"></el-input></div>
            </div>
            <div class="search_thing" style="width: 20%;">
              <div class="search_label">样品编号:</div>
              <div class="search_input"><el-input size="small" placeholder="请输入" clearable
                  v-model="componentData.entity.sampleCode" @keyup.enter.native="refreshTable()"></el-input></div>
            </div>
            <div class="search_thing" style="width: 20%;">
              <div class="search_label">下单时间:</div>
              <div class="search_input">
                <el-date-picker style="width:100%" v-model="componentData.entity.createTime"
                type="date"
                size="small"
                format="yyyy-MM-dd"
                value-format="yyyy-MM-dd HH:mm:ss"
                clearable
                placeholder="选择日期">
                </el-date-picker>
              </div>
            </div>
            <div class="search_thing" style="width: 20%;" v-if="more">
              <div class="search_label">下单人:</div>
              <div class="search_input"><el-input size="small" placeholder="请输入" clearable
                  v-model="componentData.entity.name" @keyup.enter.native="refreshTable()"></el-input></div>
            </div>
            <div class="search_thing" style="width: 20%;" v-if="more">
              <div class="search_label">工程名称:</div>
              <div class="search_input"><el-input size="small" placeholder="请输入" clearable
                  v-model="componentData.entity.engineering" @keyup.enter.native="refreshTable()"></el-input></div>
            </div>
            <div class="search_thing" style="width: 20%;" v-if="more">
              <div class="search_label">生产单位:</div>
              <div class="search_input"><el-input size="small" placeholder="请输入" clearable
                  v-model="componentData.entity.production" @keyup.enter.native="refreshTable()"></el-input></div>
            </div>
          </el-col>
          <el-col :span="4">
            <div class="search_thing">
              <el-button type="text" :icon="!more?'el-icon-arrow-down':'el-icon-arrow-up'" style="color: #3A7BFA;" @click="more=!more">{{!more?'更多':'收起'}}</el-button>
              <el-button size="small" @click="refresh()">重 置</el-button>
              <el-button size="small" type="primary" @click="refreshTable()">查 询</el-button>
            </div>
          </el-col>
        </el-row>
         </div>
         <div class="table">
            <ul class="tab">
               <li v-for="(m,i) in tabList" :key="i" :class="{active:i==tabIndex}" @click="handleTab(m,i)">{{m.label}}</li>
            </ul>
            <ValueTable ref="ValueTable" :url="$api.insOrder.selectInsOrderParameter" :componentData="componentData"
               :key="'b'+upIndex" style="height: calc(100% - 44px)" />
            <ValueTable :style="getStyle()" ref="ValueTable" :url="$api.insOrder.selectInsOrderParameter" :componentData="componentData"
               :key="'b'+upIndex"  />
         </div>
         <!-- 审核 -->
         <el-dialog title="下单审核" :visible.sync="verifyDialogVisible" width="30%" :before-close="handleClose">
@@ -149,7 +172,7 @@
         <!-- 撤销 -->
         <el-dialog title="下单撤销" :visible.sync="quashDialogVisible" width="30%" :before-close="handleClose">
            <p style="font-size:16px;color:#333333" v-if="!isQuash">委托编号<span
                  style="color:#34BD66">ZTMS2023071001</span>的信息是否撤销</p>
                  style="color:#34BD66">{{this.insOrderRow.entrustCode}}</span>的信息是否撤销</p>
            <el-form :label-position="labelPosition" :model="formData" label-width="150px" ref="ruleForm" v-else>
               <el-form-item label="请输入撤销原因:">
                  <el-input v-model="formData.specificationModel" size="small" style="width:60%"></el-input>
@@ -181,7 +204,7 @@
                  <el-col class="search_thing" style="width: 95%;">
                     <div class="search_label"><span class="required-span" v-show="distributeData.type==2">* </span>指派人员:</div>
                     <div class="search_input">
                        <el-select v-model="distributeData.userId" placeholder="请选择" size="small" style="width: 100%;" clearable>
                        <el-select v-model="distributeData.userId" placeholder="请选择" size="small" style="width: 100%;" clearable filterable>
                           <el-option v-for="(item,i) in personList" :key="i" :label="item.label" :value="item.value">
                           </el-option>
                        </el-select>
@@ -204,7 +227,7 @@
         </el-dialog>
      </div>
      <div style="width: 100%;height: 100%;" v-if="active >0">
         <Add :active="active" :currentId="currentId" />
         <Add :active="active" :currentId="currentId" v-if="active<4" />
      </div>
   </div>
</template>
@@ -246,6 +269,9 @@
            sampleModel: null,
            sampleCode: null,
                  state: 0,
            name:null,
            engineering:null,
            production:null,
                  orderBy: {
                     field: 'id',
                     order: 'asc'
@@ -426,8 +452,10 @@
               },
            ],
            tabIndex: 0,
            active: 0, //1:下单,2:查看,3:审核
            currentId: null
            active: 0, //1:下单,2:查看,3:审核,4:光纤配置,默认为0
            currentId: null,
        more:false,
        insOrderRow:{}
         }
      },
      mounted() {
@@ -464,6 +492,7 @@
            let up = false
            let del = false
            let add = false
        let revoke = false
            for (var i = 0; i < power.length; i++) {
               if (power[i].menuMethod == 'upInsOrder') {
                  up = true
@@ -471,10 +500,16 @@
               if (power[i].menuMethod == 'addInsOrder') {
                  add = true
               }
          if (power[i].menuMethod == 'updateStatus') {
             revoke = true
          }
            }
            if (!up) {
               this.componentData.do.splice(4, 1)
            }
        if (!revoke) {
           this.componentData.do.splice(3, 1)
        }
            this.addPower = add
         },
         handleClose() {
@@ -509,13 +544,15 @@
         },
         // 下载报告
         download(row) {
        // console.log(row);
        let url = row.url;
        const link = document.createElement('a');
        link.href = this.javaApi + url;
        link.target = '_blank';
        document.body.appendChild(link);
        link.click();
        let url = row.urlS?row.urlS:row.url;
        if(url){
          url = url.split('.')[0]+'.pdf'
          const link = document.createElement('a');
          link.href = this.javaApi + url;
          link.target = '_blank';
          document.body.appendChild(link);
          link.click();
        }
      },
         // 审核
         handleVerify(row) {
@@ -526,6 +563,7 @@
         // 撤销
         handlEquash(row) {
            this.quashDialogVisible = true;
        this.insOrderRow=row
         },
         // 下发
         handleIssued(row) {
@@ -570,6 +608,25 @@
         },
         submitForm() {
            this.upLoad = true;
        if (this.tabIndex==1){
          this.axios.put(this.$api.insOrder.updateInspected+"?id="+this.insOrderRow.id).then(res=>{
            if (res.code===200){
              this.upLoad=false
              this.quashDialogVisible=false
              this.refreshTable()
              this.$message.success("更新成功")
            }
          })
        }else{
          this.axios.put(this.$api.insOrder.updateStatus+"?id="+this.insOrderRow.id).then(res=>{
            if (res.code===200){
              this.upLoad = false
              this.quashDialogVisible = false
              this.refreshTable()
              this.$message.success("更新成功")
            }
          })
        }
            let authorizedPerson = this.formData.authorizedPerson.length > 0 ? this.formData.authorizedPerson.join(',') : ''
            delete this.formData.createTime
            delete this.formData.updateTime
@@ -624,6 +681,9 @@
          this.componentData.tagField.orderType.select = res.data
        })
      },
      getStyle(){
        return 'height: calc(100% - '+(this.more?'94':'44')+'px)'
      }
      }
   }
</script>