gaoluyang
3 天以前 b807a12b89dc9126bac49c02a3902bec758f4f9b
src/views/business/productOrder/components/addOrder.vue
@@ -14,9 +14,13 @@
          <el-select v-show="active==1" v-model="template" placeholder="下单模板" size="small"
                     @change="selectInsOrderTemplateById">
            <el-option v-for="(a, ai) in templates" :key="ai" :label="a.name" :value="a.id">
              <span style="float: left">{{ a.name }}</span>
              <i class="el-icon-delete" style="float: right; color: #66b1ff; font-size: 16px"
                 @click.stop="handleDelete(a)"></i>
              <div style="display: flex; align-items: center; justify-content: space-between;">
                <span>{{ a.name }}</span>
                <i class="el-icon-delete"
                   style="color: #66b1ff; font-size: 16px; cursor: pointer;"
                   @click.stop="handleDelete(a)">
                </i>
              </div>
            </el-option>
          </el-select>
          <el-button v-show="active==1" size="small" @click="templateDia=true">
@@ -587,7 +591,7 @@
} from "@/api/business/rawMaterialOrder";
import {
  addInsOrder, addInsOrderTemplate, delInsOrderTemplate,
  getQuarterOnOrder, selectInsOrderTemplateById,
  getQuarterOnOrder, judgeNotSpotCheckOrder, selectInsOrderTemplateById,
  selectOrderManDay,
  updateInsOrder,
  upInsOrder,
@@ -598,6 +602,7 @@
import limsTable from "@/components/Table/lims-table.vue";
import {selectCustomPageList} from "@/api/system/customer";
import {mapGetters} from "vuex";
import {addQuarter, updateQuarterOnOrder} from "@/api/business/finishedProductSampling";
export default {
  name: 'AddOrder',
@@ -607,7 +612,7 @@
    AuxiliaryWireCore
  },
  computed:{
  ...mapGetters(["nickName"]),
    ...mapGetters(["nickName", 'nameEn', 'userName']),
  },
  dicts: ['check_type1', 'urgency_level', 'form_type', 'sample_status_list'],
  data() {
@@ -793,10 +798,10 @@
    }
  },
  watch: {
    sampleList() {
      this.addObj.method = null
      this.productList = []
    },
    // sampleList() {
    //   this.addObj.method = null
    //   this.productList = []
    // },
    productList: {
      deep: true,
      handler(val) {
@@ -842,6 +847,11 @@
    this.currentId = this.$route.query.currentId
    this.getUserNowData()
    this.getInfo()
    if(this.tabIndex==4&&this.active==2){
      this.isSpecial = true
    }else{
      this.isSpecial = false
    }
  },
  activated() {
    this.active = this.$route.query.active
@@ -854,7 +864,6 @@
      this.selectStandardTreeList()
      this.getAuthorizedPerson();
      this.selectStandardMethods()
      this.getPrepareUser() // 复制当前账号人为委托人
      if (this.active != 1) {
        // 查看/审核流程
        // 请求接口,回显数据
@@ -878,16 +887,7 @@
          })
        })
      }
      if(this.tabIndex==4&&this.active==2){
        this.isSpecial = true
      }else{
        this.isSpecial = false
      }
    },
    getPrepareUser () {
        // this.addObj.prepareUser = JSON.parse(localStorage.getItem("user")).name;
        // this.addObj.prepareUserEn = JSON.parse(localStorage.getItem("user")).nameEn
        // this.addObj.prepareCode = JSON.parse(localStorage.getItem("user")).account
    },
      // 编辑要求值表格
      editSpecial () {
@@ -1260,36 +1260,62 @@
        }
      },
      saveMethod(sampleList){
        this.saveLoad = true
        if (this.addObj.quarterItemId) {
          this.addObj.quarterItemId = this.addObj.quarterItemId[1]
        }
        if(this.tabIndex==4&&this.active==2){
          if (this.addObj.createTime) {
            delete this.addObj.createTime
          }
          // 退回后提交
          updateInsOrder({insOrder: this.addObj, sampleProduct: sampleList}).then(res => {
            this.saveLoad = false
            this.$message.success('已提交')
            this.bsm3Dia = false;
            this.closeOpenPage()
          }).catch(e=>{
            this.saveLoad = false
          })
        }else{
          // 常规提交
          addInsOrder({insOrder: this.addObj, sampleList: sampleList}).then(res => {
            this.saveLoad = false
            this.$message.success('已提交')
            this.bsm3Dia = false;
            this.closeOpenPage()
          }).catch(e=>{
            this.saveLoad = false
          })
        if (this.addObj.createTime) {
          delete this.addObj.createTime
        }
        if (this.addObj.orderType === '抽检') {
          judgeNotSpotCheckOrder({ insOrder: this.addObj, sampleList: sampleList }).then(res => {
            if (res.data === true) {
              this.saveData(sampleList);
            } else {
              // const message = res.message.replace(/\n/g, '<br>');
              this.$confirm(res.message, '提示', {
                confirmButtonText: '确定',
                cancelButtonText: '取消',
                type: 'warning',
                dangerouslyUseHTMLString: true, // 👈 关键点:允许 HTML
                message: res.message // 这里也可以省略,因为第二个参数是 title,第三个是 options
              }).then(() => {
                this.saveData(sampleList);
              }).catch(() => {
                this.$message({
                  type: 'info',
                  message: '已取消'
                });
              });
            }
          });
        } else {
          this.saveData(sampleList)
        }
      },
    saveData(sampleList) {
      this.saveLoad = true
      if(this.tabIndex==4&&this.active==2){
        // 退回后提交
        updateInsOrder({insOrder: this.addObj, sampleProduct: sampleList}).then(res => {
          this.saveLoad = false
          this.$message.success('已提交')
          this.bsm3Dia = false;
          this.closeOpenPage()
        }).catch(e=>{
          this.saveLoad = false
        })
      }else{
        // 常规提交
        addInsOrder({insOrder: this.addObj, sampleList: sampleList}).then(res => {
          this.saveLoad = false
          this.$message.success('已提交')
          this.bsm3Dia = false;
          this.closeOpenPage()
        }).catch(e=>{
          this.saveLoad = false
        })
      }
    },
      upInsOrderOfState(state) {
        if (state == 1) {
          this.saveLoad = true
@@ -1348,6 +1374,9 @@
        })
      },
      getUserNowData() {
      this.addObj.prepareUser = this.nickName
      this.addObj.prepareUserEn = this.nameEn
      this.addObj.prepareCode = this.userName
        getUserNow().then(res => {
          let selects = res.data
          if (selects == null) return