zss
2024-01-09 3be31836178cdb323614e7c90ab3429faa1017d3
src/views/plan/customerorder/index.vue
@@ -12,22 +12,6 @@
        ref="customerOrderTable"
      >
        <template #toolbar>
          <!-- <el-dropdown
            v-if="permissions.customerorder_state_change"
            @command="handleCommand"
          >
            <el-button>
              状态改变<i class="el-icon-arrow-down el-icon--right"></i>
            </el-button>
            <el-dropdown-menu slot="dropdown">
              <el-dropdown-item
                :command="item.command"
                v-for="item in stateTagArr"
                :disabled="item.disabled">
                {{ item.label }}
              </el-dropdown-item>
            </el-dropdown-menu>
          </el-dropdown> -->
          <el-dropdown
            v-if="permissions.customerorder_doc_relate"
            @command="documentHandle"
@@ -38,8 +22,9 @@
            </el-button>
            <el-dropdown-menu slot="dropdown">
              <el-dropdown-item
                :key="index"
                :command="item.command"
                v-for="item in documentTagArr"
                v-for="(item,index) in documentTagArr"
                :disabled="item.disabled">
                {{ item.label }}
              </el-dropdown-item>
@@ -56,42 +41,21 @@
            </el-button>
            <el-dropdown-menu slot="dropdown">
              <el-dropdown-item
                :key="index"
                :command="item.command"
                v-for="item in commitStateTagArr"
                v-for="(item,index) in commitStateTagArr"
                :disabled="item.disabled"
                >{{ item.label }}</el-dropdown-item
              >
            </el-dropdown-menu>
          </el-dropdown>
          <!-- <el-button
            v-if="permissions.customerorder_push_otc"
            style="margin-left:10px;"
            type="primary"
            @click="pushOtc"
            >推送ERP</el-button
          > -->
          <!-- <el-button
            style="margin-left:10px;"
            type="primary"
            @click="importOutPutBatch"
            >导入产出批次</el-button
          > -->
          <el-button
            style="margin-left:10px;"
            type="primary"
            @click="()=>exportDialogVisible=true"
            >导出台账</el-button
          >
          <el-button
            v-if="permissions.plan_customerorder_return"
            style="margin-left:10px;"
            type="primary"
            @click="returnOrder"
            >订单退回</el-button
          >
            >导出台账</el-button>
        </template>
      </ttable>
      <!-- 弹窗, 日期选择 -->
      <ConfirmPullCustomerorder
        v-if="showPullCustomerOrderVisible"
@@ -308,7 +272,8 @@
  exportCustomerOrder,
  exportCustomerOrderSplit,
  syncOrder,
  dropByContractNo
  dropByContractNo,
  downloadWordFile
} from '../../../api/plan/customerorder'
import DocumentTable from '@/views/common/document.vue'
import { remote } from '@/api/admin/dict'
@@ -320,6 +285,7 @@
export default {
  data() {
    return {
      uniqueStateArr: [],
      dataForm: {
        selectTime: null,
        exportTime: null
@@ -473,7 +439,7 @@
            searchInfoType: 'text'
          },
          {
            minWidth: '120',
            minWidth: '100',
            prop: 'sourceId',
            label: '添加来源',
            isTag: true,
@@ -689,7 +655,7 @@
          //   fun: this.packageExportHandle
          // },
          {
            text: '作废',
            text: '删除',
            type: 'text',
            size: 'small',
            fun: this.cancelHandle,
@@ -768,10 +734,10 @@
      ],
      sourceIdList: [{
        label: '同步',
        value: '0'
        value: "0"
      },{
        label: '手动',
        value: '1'
        value: "1"
      }],
      stockVisible: false,
      partName: null,
@@ -854,36 +820,6 @@
  created() {
    // this.getManufactureAttrs()
    this.getTitles()
    /**
     * {
            text: '获取销售订单',
            type: 'primary',
            fun: this.pullCustomerOrder,
            disabled: false,
            permitArr: []
          },
          {
            text: '获取IFS行号',
            type: 'primary',
            fun: this.pullIfsLineNo,
            disabled: false,
            permitArr: [],
            loading: false
          },
          {
            text: '提交审核',
            type: 'primary',
            fun: this.auditCustomerOrder,
            disabled: false,
            permitArr: [],
            loading: false
          },
          {
            text: '主生产计划',
            disabled: false,
            fun: this.masterPlanHandle
          }
     */
    this.table.toolbar.push({
      text: '新增销售订单',
      type: 'primary',
@@ -891,14 +827,6 @@
      disabled: false,
      permitArr: []
    })
    // this.table.toolbar.push({
    //   text: '同步ERP',
    //   type: 'primary',
    //   fun: this.syncERP,
    //   loading: false,
    //   disabled: false,
    //   permitArr: []
    // })
    if (this.permissions.customerorder_from_otc) {
      this.table.toolbar.push({
        text: '获取销售订单',
@@ -908,16 +836,6 @@
        permitArr: []
      })
    }
    // if (this.permissions.customerorder_ifs_line) {
    //   this.table.toolbar.push({
    //     text: '获取ERP行号',
    //     type: 'primary',
    //     fun: this.pullIfsLineNo,
    //     disabled: false,
    //     permitArr: [],
    //     loading: false
    //   })
    // }
    if (this.permissions.customerorder_submit_oa) {
      this.table.toolbar.push({
        text: '提交审核',
@@ -933,18 +851,52 @@
        text: '设置销售件',
        type: 'primary',
        fun: this.setSalesPart,
        disabled: false
        disabled: false,
        permitArr: []
      })
    }
    this.table.toolbar.push({
        text: '下载Word',
        disabled: false,
        type: 'primary',
        fun: this.downloadWord,
        permitArr: ['03plan','04planed'],
    })
    if (this.permissions.customerorder_create_masterplan) {
      this.table.toolbar.push({
        text: '主生产计划',
        disabled: false,
        fun: this.masterPlanHandle
        fun: this.masterPlanHandle,
        permitArr: []
      })
    }
  },
  methods: {
    //下载word
    downloadWord(){
        let ids = this.multipleSelection.map(ele=>ele.id)
        if(ids.length<1){
            this.$message.error("请选择一条数据")
            return
        }
        downloadWordFile(ids).then(response=>{
          // 处理返回的文件流
          const blob = response.data
          const link = document.createElement('a')
          link.href = URL.createObjectURL(blob)
          const disposition = response.headers["content-disposition"]
          let temp = disposition.substring(disposition.lastIndexOf('=') + 1)
          link.download = decodeURI(temp)
          document.body.appendChild(link)
          link.click()
          window.setTimeout(function() {
            URL.revokeObjectURL(blob)
            document.body.removeChild(link)
          }, 0)
        }).catch(error=>{
            console.error(error);
        })
    },
    getOtcPartSyncOptionList() {
      return this.otcPartSyncOptionList
    },
@@ -974,8 +926,6 @@
    },
    // 创建主生产计划
    masterPlanHandle() {
      console.log(this.multipleSelection);
      if (this.multipleSelection && this.multipleSelection.length > 0) {
        if (this.judgeCoState(this.multipleSelection)) {
          // 判断一下剩余数量是否大于0
@@ -1099,8 +1049,8 @@
            }
          })
          if (flag) {
            checkOA(this.multipleSelection.map((e) => e.id)).then((res) => {
              console.log(res)
            checkOA(this.multipleSelection.map((e) => e.id),{}).then((res) => {
              if (!res.data.data.success) {
                this.$confirm(`${res.data.data.message}`, '提示', {
                  confirmButtonText: '确定',
@@ -1149,7 +1099,6 @@
    // 箱码信息导出
    packageExportHandle(row) {
      console.log(row.otcQuantity)
      if (row.otcQuantity) {
        this.packageExport.visible = true
        this.packageExport.form = {
@@ -1186,13 +1135,13 @@
    },
    // 作废
    cancelHandle(row) {
      this.$confirm('确认作废销售订单号为【' + row.contractNo + '】的数据?','提示' , {
      this.$confirm('确认作废id为【' + row.id + '】的数据?','提示' , {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        closeOnClickModal: false,
        type: 'warning'
      }).then(() => {
        dropByContractNo({contractNo:row.contractNo}).then((res) => {
        dropByContractNo({id:row.id}).then((res) => {
          if (res.data.code === 0) {
            this.$message.success('作废成功')
            this.getData()
@@ -1263,6 +1212,21 @@
          this.stateTagArr[i].disabled = false
        } else {
          this.stateTagArr[i].disabled = true
        }
      }
      // 循环表头按钮,判断每个按钮的permitArr是否完全包含选中状态,若完全包含,则按钮亮,否则按钮灰
      var toolbar = this.table.toolbar
      for (var j = 0; j < toolbar.length; j++) {
        if (
          uniqueStateArr.every((val) =>
            toolbar[j].permitArr.length <= 0
              ? true
              : toolbar[j].permitArr.includes(val)
          )
        ) {
          toolbar[j].disabled = false
        } else {
          toolbar[j].disabled = true
        }
      }
      this.multipleSelection = val
@@ -1578,7 +1542,6 @@
    },
    // 导出台账
    exportStandBook() {
      // console.log(this.$refs.customerOrderTable.getQueryParam(),"SSS")
      // if (this.multipleSelection.length > 0) {
      //   let ids = ''
      //   this.multipleSelection.forEach((item) => {