李林
2024-03-19 59ef8ccfa6240c5fa3c823d773aab15930af4d41
src/components/do/b1-ins-order/add.vue
@@ -98,8 +98,8 @@
                  <span style="color: #3A7BFA;">保存模板</span>
               </el-button>
               <el-button size="medium" type="primary" @click="save" :loading="saveLoad" v-show="active==1">提交</el-button>
          <el-button size="medium" @click="upInsOrderOfState(2)" :loading="saveLoad" v-show="active==3">审核不通过</el-button>
          <el-button size="medium" type="primary" @click="upInsOrderOfState(1)" :loading="saveLoad" v-show="active==3">审核通过</el-button>
          <el-button size="medium" @click="upInsOrderOfState(2)" :loading="saveLoad" v-show="active==3">不通过</el-button>
          <el-button size="medium" type="primary" @click="upInsOrderOfState(1)" :loading="saveLoad" v-show="active==3">通过</el-button>
               <el-button size="medium" @click="$parent.playOrder(0)">
                  <span style="color: #3A7BFA;">返回</span>
               </el-button>
@@ -127,13 +127,6 @@
               <div class="search_label"><span class="required-span">* </span>下单单位:</div>
               <div class="search_input">
                  <el-input size="small" placeholder="选择下单客户" clearable disabled v-model="addObj.company"></el-input>
               </div>
            </el-col>
            <el-col class="search_thing" :span="6">
               <div class="search_label">需求时间:</div>
               <div class="search_input">
                  <el-date-picker type="date" placeholder="选择日期" size="small" value-format="yyyy-MM-dd" style="width: 100%;"
                     v-model="addObj.appointed"></el-date-picker>
               </div>
            </el-col>
            <el-col class="search_thing" :span="6">
@@ -170,7 +163,7 @@
      </div>
      <div>
         <div style="text-align: right;line-height: 45px;" v-if="active<2">
            <el-button type="primary" size="small" @click="addSampleDia = true"  >添加样品</el-button>
            <el-button type="primary" size="small" @click="addSampleDia = true">添加样品</el-button>
            <el-button size="small" @click="delSample">
               <span style="color: #3A7BFA;">删除样品</span>
            </el-button>
@@ -220,7 +213,7 @@
            <el-table-column label="操作" width="65" align="center">
               <template slot-scope="scope">
                  {{scope.index}}
                  <el-button type="text" size="small" @click="sampleList.splice(scope.$index, 1)" :disabled="active!=1">删除</el-button>
                  <el-button type="text" size="small" @click="delSampleAndProduct" :disabled="active!=1">删除</el-button>
               </template>
            </el-table-column>
         </el-table>
@@ -361,6 +354,35 @@
            <el-button type="primary" @click="addTemplateDia" :loading="templateLoading">确 定</el-button>
         </span>
      </el-dialog>
    <el-dialog title="检验下发" :visible.sync="issuedDialogVisible" width="400px">
      <div class="body" style="max-height: 60vh;">
        <el-row>
          <el-col class="search_thing" :span="22">
            <div class="search_label"><span class="required-span">* </span>约定时间:</div>
            <div class="search_input">
              <el-date-picker size="small" v-model="distributeData.appointed" type="date" placeholder="选择日期"
                value-format="yyyy-MM-dd" style="width: 100%;" format="yyyy-MM-dd">
              </el-date-picker>
            </div>
          </el-col>
          <el-col class="search_thing" :span="22">
            <div class="search_label"><span class="required-span">* </span>指派人员:</div>
            <div class="search_input">
              <el-select v-model="distributeData.userId" placeholder="请选择" size="small" style="width: 100%;">
                <el-option v-for="item in personList" :key="item.value" :label="item.label" :value="item.value">
                </el-option>
              </el-select>
            </div>
          </el-col>
        </el-row>
      </div>
      <span slot="footer" class="dialog-footer">
        <el-row>
          <el-button @click="issuedDialogVisible=false">取 消</el-button>
          <el-button type="primary" @click="submitForm2" :loading="upLoad">确 定</el-button>
        </el-row>
      </span>
    </el-dialog>
   </div>
</template>
@@ -450,7 +472,14 @@
            saveLoad: false,
        templateDia:false,
        templateLoading:false,
        templateName:''
        templateName:'',
        issuedDialogVisible:false,
        distributeData:{
          appointed:'',
          userId:''
        },
        personList:[],
        upLoad:false,
         }
      },
      mounted() {
@@ -458,6 +487,7 @@
         this.getUserNow()
         this.selectStandardTreeList()
      this.selectInsOrderTemplate()
      this.getAuthorizedPerson();
      if(this.active==1){
        // 下单流程
      }else {
@@ -476,6 +506,18 @@
      }
      },
      methods: {
      getAuthorizedPerson() {
            this.$axios.get(this.$api.user.getUserMenu).then(res => {
               let data = []
               res.data.forEach(a => {
                  data.push({
                     label: a.name,
                     value: a.id
                  })
               })
               this.personList = data
            })
      },
         selectEnumByCategoryForType() {
            this.$axios.post(this.$api.enums.selectEnumByCategory, {
               category: "紧急程度"
@@ -520,7 +562,20 @@
            this.saveLoad = false
            if(res.code==201)return
            this.$message.success('已提交')
            this.$parent.playOrder(0)
            // 如果紧急程度为紧急,需要直接下发人员
            if(this.addObj.type==2){
              this.issuedDialogVisible = true;
              this.$axios.post(this.$api.insOrder.selectOrderManDay,{
                id: res.data
              }).then(ress=>{
                // TODO 需要再确认一下返回值
                this.distributeData.orderId = res.data
                // this.distributeData.sampleId = res.data.sampleId
                this.distributeData.appointed = ress.data
              })
            }else{
              this.$parent.playOrder(0)
            }
          })
        }
         },
@@ -538,6 +593,36 @@
               if(res.code==201)return
               this.$message.success('提交成功')
               this.$parent.playOrder(0)
            })
      },
      // 下发
      submitForm2(){
        if(this.distributeData.appointed==null||this.distributeData.appointed==''){
               this.$message.error('约定时间未填写')
               return
            }
        if(this.distributeData.userId==null||this.distributeData.userId==''){
               this.$message.error('指派人员未填写')
               return
            }
            this.upLoad = true;
            this.$axios.post(this.$api.insOrder.upInsOrder, {
               orderId: this.distributeData.orderId,
               sampleId: this.distributeData.sampleId,
               appointed: this.distributeData.appointed,
               userId: this.distributeData.userId
            }).then(res => {
               if (res.code === 201) {
                  this.upLoad = false
                  return
               }
               this.$message.success('提交成功')
               this.upLoad = false
               this.issuedDialogVisible = false
               this.$parent.playOrder(0)
            }).catch(e => {
               this.$message.error('修改失败')
               this.upLoad = false
            })
      },
         getUserNow() {
@@ -756,6 +841,10 @@
          this.sampleList = obj.sampleList;
            })
      },
      delSampleAndProduct(){
        this.sampleList.splice(scope.$index, 1)
        this.productList = []
      }
      }
   }
</script>