|
@@ -1,221 +1,207 @@
|
|
|
-<template>
|
|
|
- <a-modal
|
|
|
- title="MRP运算"
|
|
|
- width="35%"
|
|
|
- :visible="visible"
|
|
|
- :maskClosable="false"
|
|
|
- destroyOnClose
|
|
|
- switchFullscreen
|
|
|
- @cancel="handleCancel"
|
|
|
- @ok='handleOk'
|
|
|
- >
|
|
|
- <a-card :bordered="false" class="top" style="margin-bottom:1%;margin-top:1%" :loading = 'loading'>
|
|
|
- <div class="table-page-search-wrapper">
|
|
|
- <a-form-model layout="inline" :model="form" :rules="rules" ref="form">
|
|
|
- <a-row :gutter="24">
|
|
|
- <a-col :md="24" :sm="24">
|
|
|
- <a-form-model-item label="组织" prop="pkOrg">
|
|
|
- <a-select v-model="form.pkOrg" style='width:100%' @change="changePkorg">
|
|
|
- <a-select-option v-for="(item,index) in optionOrg" :key="index" :value="item.ID">{{ item.Name }}</a-select-option>
|
|
|
- </a-select>
|
|
|
- </a-form-model-item>
|
|
|
- </a-col>
|
|
|
- <a-col :md="24" :sm="24">
|
|
|
- <a-form-model-item label="业务类型" prop="type">
|
|
|
- <a-select v-model="form.type" style='width:100%'>
|
|
|
- <a-select-option value='mrp'>mrp</a-select-option>
|
|
|
- <a-select-option value='安全库存'>安全库存</a-select-option>
|
|
|
- </a-select>
|
|
|
- </a-form-model-item>
|
|
|
- </a-col>
|
|
|
- <a-col :md="24" :sm="24">
|
|
|
- <a-form-model-item label="项目名称" prop="projectName" v-if="form.type=='mrp'">
|
|
|
- <a-input-search placeholder="请输入" v-model="form.projectName" @search="onSearchProject" readOnly></a-input-search>
|
|
|
- </a-form-model-item>
|
|
|
- </a-col>
|
|
|
- <a-col :md="24" :sm="24">
|
|
|
- <a-form-model-item label="工单号" prop="workNo" v-if="form.type=='mrp'">
|
|
|
- <a-input placeholder="请输入" v-model="form.workNo"></a-input>
|
|
|
- </a-form-model-item>
|
|
|
- </a-col>
|
|
|
- </a-row>
|
|
|
- </a-form-model>
|
|
|
- </div>
|
|
|
- </a-card>
|
|
|
- <projectPopup ref="projectPopup" @okData="okData"></projectPopup>
|
|
|
- </a-modal>
|
|
|
- </template>
|
|
|
- <script>
|
|
|
-
|
|
|
- import { FormTypes } from '@/utils/JEditableTableUtil'
|
|
|
- import { JEditableTableModelMixin } from '@/mixins/JEditableTableModelMixin'
|
|
|
- import moment from "moment"
|
|
|
- import { httpAction ,getAction,postAction,putAction} from '@/api/manage'
|
|
|
- import projectPopup from '../../Popup/projectPopup'
|
|
|
- export default {
|
|
|
- name: 'operation',
|
|
|
- mixins: [JEditableTableModelMixin],
|
|
|
- components: {
|
|
|
- projectPopup,
|
|
|
- },
|
|
|
- data() {
|
|
|
- return {
|
|
|
- visible:false,
|
|
|
- form:{},
|
|
|
- form1:{},
|
|
|
- loading:false,
|
|
|
- rules:{
|
|
|
- pkOrg:[
|
|
|
- { required: true, trigger: 'change' },
|
|
|
- ],
|
|
|
- type: [
|
|
|
- { required: true, trigger: 'change' },
|
|
|
- ],
|
|
|
- projectName: [
|
|
|
- { required: true, trigger: 'change' },
|
|
|
- ],
|
|
|
- workNo: [
|
|
|
- { required: true, trigger: 'change' },
|
|
|
- ],
|
|
|
- inventoryType: [
|
|
|
- { required: false, trigger: 'change' },
|
|
|
- ],
|
|
|
- },
|
|
|
- // ipagination:{},
|
|
|
- selectedRowKeys:[],
|
|
|
- selectedRows:[],
|
|
|
- optionOrg:[]
|
|
|
- }
|
|
|
- },
|
|
|
- created() {
|
|
|
- this.getOption()
|
|
|
- },
|
|
|
- methods: {
|
|
|
- handleCancel(){
|
|
|
- this.visible=false
|
|
|
- this.defaultMethod='add'
|
|
|
- this.dataSource = []
|
|
|
- this.form={}
|
|
|
- this.form1={}
|
|
|
- },
|
|
|
- handleOk(){
|
|
|
- this.$refs.form.validate(success => {
|
|
|
- if (success) {
|
|
|
- getAction('/MRPOperationList/madeOperationList/operationSafe',this.form).then(res=>{
|
|
|
- if(res.success){
|
|
|
- this.handleCancel()
|
|
|
- this.$emit('ok')
|
|
|
- }else{
|
|
|
- this.$message.error(res.message);
|
|
|
-
|
|
|
- }
|
|
|
- })
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- onSearch(){
|
|
|
-
|
|
|
- },
|
|
|
- getOption(){
|
|
|
- getAction('/production/safetyStock/selectOrganization').then(res=>{
|
|
|
- if(res.success){
|
|
|
- this.optionOrg = res.result.records
|
|
|
- }else{
|
|
|
- this.$message.error(res.message);
|
|
|
-
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- changePkorg(){
|
|
|
- this.$set(this.form,'projectName','')
|
|
|
- this.$set(this.form,'project','')
|
|
|
- },
|
|
|
- onSearchProject(){
|
|
|
- if(this.form.pkOrg==''||!this.form.pkOrg){
|
|
|
- this.$message.error('请先选择组织!');
|
|
|
- }else{
|
|
|
- this.$refs.projectPopup.visible = true
|
|
|
- this.$refs.projectPopup.getData(this.form.pkOrg)
|
|
|
- }
|
|
|
- },
|
|
|
- okData(data){
|
|
|
- this.$set(this.form,'projectName',data.Name)
|
|
|
- this.$set(this.form,'project',data.ID)
|
|
|
- },
|
|
|
- changeType(prop){
|
|
|
- if(prop=='安全库存'){
|
|
|
- this.rules.projectName[0].required = false
|
|
|
- this.rules.workNo[0].required = false
|
|
|
- }else{
|
|
|
- this.rules.projectName[0].required = true
|
|
|
- this.rules.workNo[0].required = true
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- </script>
|
|
|
-
|
|
|
- <style scoped lang="less">
|
|
|
- /* @import '~@assets/less/common.less' */
|
|
|
- /deep/.ant-input{
|
|
|
- height:29px;
|
|
|
- }
|
|
|
- /deep/.ant-select-selection--single {
|
|
|
- height: 29px;
|
|
|
- }
|
|
|
- /deep/.ant-select{
|
|
|
- font-size: 12px;
|
|
|
- }
|
|
|
- /deep/.ant-form label{
|
|
|
- font-size: 12px;
|
|
|
- }
|
|
|
- /deep/.table-page-search-wrapper .ant-form-inline .ant-form-item{
|
|
|
- margin-bottom:9px
|
|
|
- }
|
|
|
- /deep/.moddle>.ant-card-body{
|
|
|
- padding-bottom:0px;
|
|
|
- padding-top: 12px;
|
|
|
- }
|
|
|
- /deep/.top>.ant-card-body{
|
|
|
- padding-bottom:0px;
|
|
|
- padding-top: 12px;
|
|
|
- }
|
|
|
- /deep/.ant-btn{
|
|
|
- height:28px
|
|
|
- }
|
|
|
- /deep/.ant-modal-body{
|
|
|
- padding-bottom: 0px;
|
|
|
- padding-top: 0px;
|
|
|
- }
|
|
|
- // /deep/.ant-modal-body{
|
|
|
- // background: #f0f2f5;
|
|
|
- // }
|
|
|
- /deep/.ant-modal-content{
|
|
|
- background: #f0f2f5;
|
|
|
- }
|
|
|
- /deep/.ant-card-body .table-operator {
|
|
|
- margin-bottom: 0px;
|
|
|
- }
|
|
|
- /deep/.three>.ant-card-body{
|
|
|
- padding-bottom:12px;
|
|
|
- padding-top: 12px;
|
|
|
- }
|
|
|
- /deep/.bottom>.ant-card-body{
|
|
|
- padding-bottom:0px;
|
|
|
- padding-top: 12px;
|
|
|
- }
|
|
|
-
|
|
|
- /deep/.ant-calendar-picker{
|
|
|
- min-width: 0px !important;
|
|
|
- }
|
|
|
- /deep/.sonItem {
|
|
|
- margin-bottom:0px !important
|
|
|
- }
|
|
|
- /deep/#sonList>.ant-spin-nested-loading>.ant-spin-container>.ant-table>.ant-table-content>.ant-table-scroll>.ant-table-body>.ant-table-fixed>.ant-table-tbody > tr > td {
|
|
|
- padding: 0px 8px !important;
|
|
|
- }
|
|
|
- // 表单校验隐藏提示文字
|
|
|
- /deep/.ant-form-explain{
|
|
|
- display:none
|
|
|
- }
|
|
|
+<template>
|
|
|
+ <a-modal
|
|
|
+ title="MRP运算"
|
|
|
+ width="35%"
|
|
|
+ :visible="visible"
|
|
|
+ :maskClosable="false"
|
|
|
+ destroyOnClose
|
|
|
+ switchFullscreen
|
|
|
+ @cancel="handleCancel"
|
|
|
+ @ok='handleOk'
|
|
|
+ >
|
|
|
+ <a-card :bordered="false" class="top" style="margin-bottom:1%;margin-top:1%" :loading = 'loading'>
|
|
|
+ <div class="table-page-search-wrapper">
|
|
|
+ <a-form-model layout="inline" :model="form" :rules="rules" ref="form">
|
|
|
+ <a-row :gutter="24">
|
|
|
+ <a-col :md="24" :sm="24">
|
|
|
+ <a-form-model-item label="组织" prop="pkOrg">
|
|
|
+ <a-select v-model="form.pkOrg" style='width:100%' @change="changePkorg">
|
|
|
+ <a-select-option v-for="(item,index) in optionOrg" :key="index" :value="item.ID">{{ item.Name }}</a-select-option>
|
|
|
+ </a-select>
|
|
|
+ </a-form-model-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :md="24" :sm="24">
|
|
|
+ <a-form-model-item label="业务类型" prop="type">
|
|
|
+ <a-select v-model="form.type" style='width:100%'>
|
|
|
+ <a-select-option value='mrp'>mrp</a-select-option>
|
|
|
+ <a-select-option value='安全库存'>安全库存</a-select-option>
|
|
|
+ </a-select>
|
|
|
+ </a-form-model-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :md="24" :sm="24">
|
|
|
+ <a-form-model-item label="项目名称" prop="projectName" v-if="form.type=='mrp'">
|
|
|
+ <a-input-search placeholder="请输入" v-model="form.projectName" @search="onSearchProject" readOnly></a-input-search>
|
|
|
+ </a-form-model-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :md="24" :sm="24">
|
|
|
+ <a-form-model-item label="工单号" prop="workNo" v-if="form.type=='mrp'">
|
|
|
+ <a-input placeholder="请输入" v-model="form.workNo"></a-input>
|
|
|
+ </a-form-model-item>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+ </a-form-model>
|
|
|
+ </div>
|
|
|
+ </a-card>
|
|
|
+ <projectPopup ref="projectPopup" @okData="okData"></projectPopup>
|
|
|
+ </a-modal>
|
|
|
+ </template>
|
|
|
+ <script>
|
|
|
+ import alertModal from '../../../../plugins/modal'
|
|
|
+ import { FormTypes } from '@/utils/JEditableTableUtil'
|
|
|
+ import { JEditableTableModelMixin } from '@/mixins/JEditableTableModelMixin'
|
|
|
+ import moment from "moment"
|
|
|
+ import { httpAction ,getAction,postAction,putAction} from '@/api/manage'
|
|
|
+ import projectPopup from '../../Popup/projectPopup'
|
|
|
+ export default {
|
|
|
+ name: 'operation',
|
|
|
+ mixins: [JEditableTableModelMixin],
|
|
|
+ components: {
|
|
|
+ projectPopup,
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ visible:false,
|
|
|
+ form:{},
|
|
|
+ form1:{},
|
|
|
+ loading:false,
|
|
|
+ rules:{
|
|
|
+ pkOrg:[
|
|
|
+ { required: true, trigger: 'change' },
|
|
|
+ ],
|
|
|
+ type: [
|
|
|
+ { required: true, trigger: 'change' },
|
|
|
+ ],
|
|
|
+ projectName: [
|
|
|
+ { required: true, trigger: 'change' },
|
|
|
+ ],
|
|
|
+ workNo: [
|
|
|
+ { required: true, trigger: 'change' },
|
|
|
+ ],
|
|
|
+ inventoryType: [
|
|
|
+ { required: false, trigger: 'change' },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ // ipagination:{},
|
|
|
+ selectedRowKeys:[],
|
|
|
+ selectedRows:[],
|
|
|
+ optionOrg:[]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.getOption()
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ handleCancel(){
|
|
|
+ this.visible=false
|
|
|
+ this.defaultMethod='add'
|
|
|
+ this.dataSource = []
|
|
|
+ this.form={}
|
|
|
+ this.form1={}
|
|
|
+ },
|
|
|
+ handleOk(){
alertModal.loading("执行中,请稍后!!!")
this.$refs.form.validate(success => {
if (success) {
getAction('/MRPOperationList/madeOperationList/operationSafe',this.form).then(res=>{
alertModal.closeLoading();
if(res.success){
this.$message.success("执行成功!!");
this.handleCancel()
this.$emit('ok')
}else{
this.$message.error(res.message);
this.handleCancel()
}
})
}
})
},
|
|
|
+ onSearch(){
|
|
|
+
|
|
|
+ },
|
|
|
+ getOption(){
|
|
|
+ getAction('/production/safetyStock/selectOrganization').then(res=>{
|
|
|
+ if(res.success){
|
|
|
+ this.optionOrg = res.result.records
|
|
|
+ }else{
|
|
|
+ this.$message.error(res.message);
|
|
|
+
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ changePkorg(){
|
|
|
+ this.$set(this.form,'projectName','')
|
|
|
+ this.$set(this.form,'project','')
|
|
|
+ },
|
|
|
+ onSearchProject(){
|
|
|
+ if(this.form.pkOrg==''||!this.form.pkOrg){
|
|
|
+ this.$message.error('请先选择组织!');
|
|
|
+ }else{
|
|
|
+ this.$refs.projectPopup.visible = true
|
|
|
+ this.$refs.projectPopup.getData(this.form.pkOrg)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ okData(data){
|
|
|
+ this.$set(this.form,'projectName',data.Name)
|
|
|
+ this.$set(this.form,'project',data.ID)
|
|
|
+ },
|
|
|
+ changeType(prop){
|
|
|
+ if(prop=='安全库存'){
|
|
|
+ this.rules.projectName[0].required = false
|
|
|
+ this.rules.workNo[0].required = false
|
|
|
+ }else{
|
|
|
+ this.rules.projectName[0].required = true
|
|
|
+ this.rules.workNo[0].required = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ </script>
|
|
|
+
|
|
|
+ <style scoped lang="less">
|
|
|
+ /* @import '~@assets/less/common.less' */
|
|
|
+ /deep/.ant-input{
|
|
|
+ height:29px;
|
|
|
+ }
|
|
|
+ /deep/.ant-select-selection--single {
|
|
|
+ height: 29px;
|
|
|
+ }
|
|
|
+ /deep/.ant-select{
|
|
|
+ font-size: 12px;
|
|
|
+ }
|
|
|
+ /deep/.ant-form label{
|
|
|
+ font-size: 12px;
|
|
|
+ }
|
|
|
+ /deep/.table-page-search-wrapper .ant-form-inline .ant-form-item{
|
|
|
+ margin-bottom:9px
|
|
|
+ }
|
|
|
+ /deep/.moddle>.ant-card-body{
|
|
|
+ padding-bottom:0px;
|
|
|
+ padding-top: 12px;
|
|
|
+ }
|
|
|
+ /deep/.top>.ant-card-body{
|
|
|
+ padding-bottom:0px;
|
|
|
+ padding-top: 12px;
|
|
|
+ }
|
|
|
+ /deep/.ant-btn{
|
|
|
+ height:28px
|
|
|
+ }
|
|
|
+ /deep/.ant-modal-body{
|
|
|
+ padding-bottom: 0px;
|
|
|
+ padding-top: 0px;
|
|
|
+ }
|
|
|
+ // /deep/.ant-modal-body{
|
|
|
+ // background: #f0f2f5;
|
|
|
+ // }
|
|
|
+ /deep/.ant-modal-content{
|
|
|
+ background: #f0f2f5;
|
|
|
+ }
|
|
|
+ /deep/.ant-card-body .table-operator {
|
|
|
+ margin-bottom: 0px;
|
|
|
+ }
|
|
|
+ /deep/.three>.ant-card-body{
|
|
|
+ padding-bottom:12px;
|
|
|
+ padding-top: 12px;
|
|
|
+ }
|
|
|
+ /deep/.bottom>.ant-card-body{
|
|
|
+ padding-bottom:0px;
|
|
|
+ padding-top: 12px;
|
|
|
+ }
|
|
|
+
|
|
|
+ /deep/.ant-calendar-picker{
|
|
|
+ min-width: 0px !important;
|
|
|
+ }
|
|
|
+ /deep/.sonItem {
|
|
|
+ margin-bottom:0px !important
|
|
|
+ }
|
|
|
+ /deep/#sonList>.ant-spin-nested-loading>.ant-spin-container>.ant-table>.ant-table-content>.ant-table-scroll>.ant-table-body>.ant-table-fixed>.ant-table-tbody > tr > td {
|
|
|
+ padding: 0px 8px !important;
|
|
|
+ }
|
|
|
+ // 表单校验隐藏提示文字
|
|
|
+ /deep/.ant-form-explain{
|
|
|
+ display:none
|
|
|
+ }
|
|
|
</style>
|