| | |
| | | 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" |
| | |
| | | </el-button> |
| | | <el-dropdown-menu slot="dropdown"> |
| | | <el-dropdown-item |
| | | :key="index" |
| | | :command="item.command" |
| | | v-for="item in documentTagArr" |
| | | :disabled="item.disabled" |
| | | > |
| | | v-for="(item,index) in documentTagArr" |
| | | :disabled="item.disabled"> |
| | | {{ item.label }} |
| | | </el-dropdown-item> |
| | | </el-dropdown-menu> |
| | |
| | | </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="exportStandBook" |
| | | >导出台账</el-button |
| | | > |
| | | <el-button |
| | | v-if="permissions.plan_customerorder_return" |
| | | style="margin-left:10px;" |
| | | type="primary" |
| | | @click="returnOrder" |
| | | >订单退回</el-button |
| | | > |
| | | @click="()=>exportDialogVisible=true" |
| | | >导出台账</el-button> |
| | | </template> |
| | | </ttable> |
| | | |
| | | <!-- 弹窗, 日期选择 --> |
| | | <ConfirmPullCustomerorder |
| | | v-if="showPullCustomerOrderVisible" |
| | |
| | | </span> |
| | | <span slot="footer" class="dialog-footer"> </span> |
| | | </el-dialog> |
| | | <!-- 导出 --> |
| | | <el-dialog title="导出台账" :visible.sync="exportDialogVisible" width="20%"> |
| | | <div style="display: flex;justify-content: center"> |
| | | <el-form :model="dataForm" :inline="true" :rules="dataRule" ref="exportForm" class="l-mes"> |
| | | <el-form-item label="日期" prop="exportTime"> |
| | | <el-date-picker |
| | | v-model="dataForm.exportTime" |
| | | type="datetime" |
| | | style="width:100%" |
| | | placeholder="选择日期时间" |
| | | value-format="yyyy-MM-dd HH:mm:ss"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="exportDialogVisible=false">取 消</el-button> |
| | | <el-button type="primary" @click="exportStandBook">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <!-- 箱码信息导出 --> |
| | | <el-dialog |
| | | title="箱码信息导出" |
| | |
| | | exportCustomerOrder, |
| | | exportCustomerOrderSplit, |
| | | syncOrder, |
| | | dropByContractNo |
| | | dropByContractNo, |
| | | downloadWordFile |
| | | } from '../../../api/plan/customerorder' |
| | | import DocumentTable from '@/views/common/document.vue' |
| | | import { remote } from '@/api/admin/dict' |
| | |
| | | export default { |
| | | data() { |
| | | return { |
| | | uniqueStateArr: [], |
| | | dataForm: { |
| | | selectTime: null |
| | | selectTime: null, |
| | | exportTime: null |
| | | }, |
| | | dataRule: {}, |
| | | dataRule: { |
| | | exportTime:[{required:true,message:'导出日期不能为空',trigger:'change'}] |
| | | }, |
| | | pickerOptions: { |
| | | onPick: ({ maxDate, minDate }) => { |
| | | if (minDate && this.pickerMinDate) { |
| | |
| | | return false |
| | | } |
| | | }, |
| | | exportDialogVisible: false, |
| | | syncDateVisible: false, |
| | | syncDate: [], |
| | | showCustomerorderReturn: false, |
| | |
| | | searchInfoType: 'text' |
| | | }, |
| | | { |
| | | minWidth: '120', |
| | | minWidth: '100', |
| | | prop: 'sourceId', |
| | | label: '添加来源', |
| | | isTag: true, |
| | |
| | | minWidth: '120', |
| | | width: '100px', |
| | | prop: 'productType', |
| | | label: '产品类型', |
| | | label: '隶属品牌', |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | |
| | | // fun: this.packageExportHandle |
| | | // }, |
| | | { |
| | | text: '作废', |
| | | text: '删除', |
| | | type: 'text', |
| | | size: 'small', |
| | | fun: this.cancelHandle, |
| | |
| | | ], |
| | | sourceIdList: [{ |
| | | label: '同步', |
| | | value: '0' |
| | | value: "0" |
| | | },{ |
| | | label: '手动', |
| | | value: '1' |
| | | value: "1" |
| | | }], |
| | | stockVisible: false, |
| | | partName: null, |
| | |
| | | ...mapGetters(['permissions']) |
| | | }, |
| | | watch: { |
| | | exportDialogVisible(newVal) { |
| | | if (!newVal) { |
| | | this.$refs.exportForm.resetFields() |
| | | } |
| | | }, |
| | | coState: { |
| | | handler(newValue, oldValue) { |
| | | if (newValue) { |
| | |
| | | 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', |
| | |
| | | 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: '获取销售订单', |
| | |
| | | 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: '提交审核', |
| | | // type: 'primary', |
| | | // fun: this.auditCustomerOrder, |
| | | // disabled: false, |
| | | // permitArr: [], |
| | | // loading: false |
| | | // }) |
| | | this.table.toolbar.push({ |
| | | text: '提交审核', |
| | | type: 'primary', |
| | | fun: this.auditCustomerOrder, |
| | | disabled: false, |
| | | permitArr: [], |
| | | loading: false |
| | | }) |
| | | } |
| | | if (this.permissions.customerorder_set_salesparts) { |
| | | this.table.toolbar.push({ |
| | | text: '设置销售件', |
| | | type: 'primary', |
| | | fun: this.setSalesPart, |
| | | disabled: false |
| | | disabled: false, |
| | | permitArr: [] |
| | | }) |
| | | } |
| | | if (this.permissions.customerorder_create_masterplan) { |
| | | this.table.toolbar.push({ |
| | | text: '主生产计划', |
| | | disabled: false, |
| | | fun: this.masterPlanHandle |
| | | fun: this.masterPlanHandle, |
| | | permitArr: [] |
| | | }) |
| | | } |
| | | this.table.toolbar.push({ |
| | | text: '下载Word', |
| | | disabled: false, |
| | | type: 'primary', |
| | | fun: this.downloadWord, |
| | | permitArr: ['03plan','04planed'], |
| | | }) |
| | | }, |
| | | methods: { |
| | | //下载word |
| | | downloadWord(){ |
| | | let ids = this.multipleSelection.map(ele=>ele.id) |
| | | if(ids.length<1){ |
| | | this.$message.error("请选择一条数据") |
| | | return |
| | | } |
| | | downloadWordFile(ids).then().catch(error=>{ |
| | | console.error(error); |
| | | }) |
| | | }, |
| | | getOtcPartSyncOptionList() { |
| | | return this.otcPartSyncOptionList |
| | | }, |
| | |
| | | queryParam.push( |
| | | Object.assign({ |
| | | prop: 'coState', |
| | | searchInfoType: 'select', |
| | | searchInfoType: 'select' |
| | | // propVal: '01partUnCheck' |
| | | // propVal: '02technologyUnCheck' |
| | | }) |
| | |
| | | }, |
| | | // 创建主生产计划 |
| | | masterPlanHandle() { |
| | | console.log(this.multipleSelection); |
| | | if (this.multipleSelection && this.multipleSelection.length > 0) { |
| | | if (this.judgeCoState(this.multipleSelection)) { |
| | | // 判断一下剩余数量是否大于0 |
| | |
| | | let flag = true |
| | | const ids = [] |
| | | this.multipleSelection.forEach((item) => { |
| | | if (item.salesPartNo != null && item.salesPartNo !== '') { |
| | | if (item.partNo != null && item.partNo !== '') { |
| | | ids.push(item.id) |
| | | } else { |
| | | flag = false |
| | |
| | | }) |
| | | if (flag) { |
| | | checkOA(this.multipleSelection.map((e) => e.id)).then((res) => { |
| | | console.log(res) |
| | | if (!res.data.data.success) { |
| | | this.$confirm(`${res.data.data.message}`, '提示', { |
| | | confirmButtonText: '确定', |
| | |
| | | |
| | | // 箱码信息导出 |
| | | packageExportHandle(row) { |
| | | console.log(row.otcQuantity) |
| | | if (row.otcQuantity) { |
| | | this.packageExport.visible = true |
| | | this.packageExport.form = { |
| | |
| | | }, |
| | | // 作废 |
| | | cancelHandle(row) { |
| | | this.$confirm('是否确认作废销售订单号为' + row.customerOrderNo + '提示', { |
| | | this.$confirm('确认作废id为【' + row.id + '】的数据?','提示' , { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | closeOnClickModal: false, |
| | | type: 'warning' |
| | | }).then(() => { |
| | | dropByContractNo(row.customerOrderNo).then((res) => { |
| | | dropByContractNo({id:row.id}).then((res) => { |
| | | if (res.data.code === 0) { |
| | | this.$message.success('作废成功') |
| | | this.getData() |
| | |
| | | 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 |
| | |
| | | }, |
| | | // 导出台账 |
| | | exportStandBook() { |
| | | // console.log(this.$refs.customerOrderTable.getQueryParam(),"SSS") |
| | | // if (this.multipleSelection.length > 0) { |
| | | // let ids = '' |
| | | // this.multipleSelection.forEach((item) => { |
| | |
| | | // } else { |
| | | // this.$message.error('请选择至少一条销售订单') |
| | | // } |
| | | exportCustomerOrder(this.$refs.customerOrderTable.getQueryParam()) |
| | | .then((response) => { |
| | | transform(response) |
| | | }) |
| | | .catch(() => {}) |
| | | this.$refs['exportForm'].validate(valid => { |
| | | if(valid){ |
| | | const exportTime = this.dataForm.exportTime |
| | | let queryParam=this.$refs.customerOrderTable.getQueryParam(); |
| | | queryParam.selectTime = exportTime |
| | | exportCustomerOrder(queryParam) |
| | | .then((response) => { |
| | | transform(response) |
| | | }) |
| | | .catch(() => {}) |
| | | } |
| | | }) |
| | | }, |
| | | setSalesPart() { |
| | | if (this.multipleSelection.length > 0) { |