Merge remote-tracking branch 'origin/master'
| | |
| | | <!-- 搜索区域 --> |
| | | <a-form layout="inline" @keyup.enter.native="searchQuery"> |
| | | <a-row :gutter="24"> |
| | | <a-col :md="6" :sm="8"> |
| | | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
| | | <a-form-item label="产线"> |
| | | <j-dict-select-tag placeholder="请选择产线" v-model="queryParam.factoryId" |
| | | dictCode="base_factory,factory_name,id,del_flag=0 and factory_category='3'"></j-dict-select-tag> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
| | | <a-form-item label="班组名称" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> |
| | | <a-input placeholder="" v-model="queryParam.groupName"></a-input> |
| | | </a-form-item> |
| | |
| | | <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> |
| | | <a-col :md="9" :sm="24"> |
| | | <a-button type="primary" @click="searchQuery2" icon="search" style="margin-left: 21px">查询</a-button> |
| | | <a-button type="primary" @click="searchReset2" icon="reload" style="margin-left: 8px">重置</a-button> |
| | | <a-button type="info" @click="searchReset2" icon="reload" style="margin-left: 8px">重置</a-button> |
| | | |
| | | </a-col> |
| | | </span> |
| | |
| | | queryParam2: {}, |
| | | dataSource1: [], |
| | | dataSource2: [], |
| | | ipagination1: { |
| | | ipagination: { |
| | | current: 1, |
| | | pageSize: 10, |
| | | pageSizeOptions: ['10', '20', '30'], |
| | |
| | | showSizeChanger: true, |
| | | total: 0 |
| | | }, |
| | | isorter1: { |
| | | column: 'createTime', |
| | | order: 'desc' |
| | | isorter: { |
| | | column: 'groupCode', |
| | | order: 'asc' |
| | | }, |
| | | isorter2: { |
| | | column: 'createTime', |
| | |
| | | style="top:5%;height: 85%;overflow-y: hidden"> |
| | | |
| | | <a-spin :spinning="confirmLoading"> |
| | | <a-form-model ref="form" v-bind="layout" :model="model" :rules="validatorRules"> |
| | | <a-form-model ref="form" :model="model" :rules="validatorRules"> |
| | | <a-form-model-item label="班组编码" required prop="groupCode" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-input v-model="model.groupCode" :disabled="roleDisabled" placeholder="请输入班组编码"/> |
| | | </a-form-model-item> |
| | |
| | | <a-input v-model="model.groupName" placeholder="请输入班组名称"/> |
| | | </a-form-model-item> |
| | | <a-form-model-item label="班组长" prop="groupManager" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <j-dict-select-tag |
| | | <j-search-select-tag |
| | | type="list" |
| | | v-model="model.groupManager" |
| | | :trigger-change="true" |
| | | dictCode="sys_user,realname,id" |
| | | dict="sys_user,realname,id, del_flag='0' and status='1'" |
| | | placeholder="请选择班组长" |
| | | /> |
| | | </a-form-model-item> |
| | | <a-form-model-item label="产线" prop="factoryId" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <j-select-factory |
| | | v-model="model.factoryId" |
| | | :multi="true" |
| | | @back="backFactoryInfo" |
| | | :backProduction="true" |
| | | :treeProductOpera="true" |
| | | ></j-select-factory> |
| | | <j-dict-select-tag placeholder="请选择产线" v-model="model.factoryId" |
| | | dictCode="base_factory,factory_name,id,del_flag=0 and factory_category='3'"></j-dict-select-tag> |
| | | </a-form-model-item> |
| | | <a-form-model-item label="班次" prop="shiftId" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <j-dict-select-tag |
| | |
| | | import {duplicateCheck } from '@/api/api' |
| | | import {postAction,requestPut} from '@/api/manage' |
| | | import JDictSelectTag from '@/components/dict/JDictSelectTag' |
| | | import JSelectFactory from '../../../../components/jeecgbiz/JSelectFactory' |
| | | |
| | | export default { |
| | | name: "GroupModal", |
| | | name: 'GroupModal', |
| | | components: { |
| | | JDictSelectTag, |
| | | JSelectFactory |
| | | JDictSelectTag |
| | | }, |
| | | data () { |
| | | return { |
| | | title:"操作", |
| | | title: '操作', |
| | | visible: false, |
| | | roleDisabled: false, |
| | | model: {}, |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 5 }, |
| | | sm: { span: 5 } |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 16 }, |
| | | sm: { span: 16 } |
| | | }, |
| | | confirmLoading: false, |
| | | validatorRules:{ |
| | |
| | | { min: 0, max: 64, message: '长度不超过 64 个字符', trigger: 'blur' }, |
| | | { validator: this.validategroupCode} |
| | | ], |
| | | factoryId: [ |
| | | { required: true, message: '请选择产线!' }, |
| | | ], |
| | | groupManager: [ |
| | | { required: true, message: '请选择班组长!' }, |
| | | ], |
| | | shiftId: [ |
| | | { required: true, message: '请选择班班次!' }, |
| | | ], |
| | | remark: [ |
| | | { min: 0, max: 126, message: '长度不超过 126 个字符', trigger: 'blur' } |
| | | ] |
| | | }, |
| | | url: { |
| | | add: "/base/shiftGroup/add", |
| | | edit: "/base/shiftGroup/edit", |
| | | add: '/base/shiftGroup/add', |
| | | edit: '/base/shiftGroup/edit' |
| | | }, |
| | | nextFactoryOptions: [], |
| | | nextFactoryOptions: [] |
| | | } |
| | | }, |
| | | created () { |
| | | //备份model原始值 |
| | | this.modelDefault = JSON.parse(JSON.stringify(this.model)); |
| | | this.modelDefault = JSON.parse(JSON.stringify(this.model)) |
| | | }, |
| | | methods: { |
| | | add () { |
| | | this.edit(this.modelDefault); |
| | | this.edit(this.modelDefault) |
| | | }, |
| | | edit (record) { |
| | | this.model = Object.assign({}, record); |
| | | this.visible = true; |
| | | this.model = Object.assign({}, record) |
| | | this.visible = true |
| | | }, |
| | | close () { |
| | | this.$refs.form.clearValidate(); |
| | | this.$emit('close'); |
| | | this.visible = false; |
| | | this.$refs.form.clearValidate() |
| | | this.$emit('close') |
| | | this.visible = false |
| | | }, |
| | | handleOk () { |
| | | const that = this; |
| | | const that = this |
| | | // 触发表单验证 |
| | | this.$refs.form.validate(valid => { |
| | | if (valid) { |
| | | that.confirmLoading = true; |
| | | let obj; |
| | | that.confirmLoading = true |
| | | let obj |
| | | if(!this.model.id){ |
| | | obj=postAction(this.url.add, this.model) |
| | | }else{ |
| | |
| | | } |
| | | obj.then((res)=>{ |
| | | if(res.success){ |
| | | that.$message.success(res.message); |
| | | that.$emit('ok'); |
| | | that.$message.success(res.message) |
| | | that.$emit('ok') |
| | | }else{ |
| | | that.$message.warning(res.message); |
| | | that.$message.warning(res.message) |
| | | } |
| | | }).finally(() => { |
| | | that.confirmLoading = false; |
| | | that.close(); |
| | | that.confirmLoading = false |
| | | that.close() |
| | | }) |
| | | }else{ |
| | | return false; |
| | | return false |
| | | } |
| | | }) |
| | | }, |
| | |
| | | }, |
| | | validategroupCode(rule, value, callback){ |
| | | if(/[\u4E00-\u9FA5]/g.test(value)){ |
| | | callback("班组编码不可输入汉字!"); |
| | | callback('班组编码不可输入汉字!') |
| | | }else{ |
| | | let params = { |
| | | tableName: "base_shift_group", |
| | | fieldName: "group_code", |
| | | tableName: 'base_shift_group', |
| | | fieldName: 'group_code', |
| | | fieldVal: value, |
| | | dataId: this.model.id, |
| | | }; |
| | | dataId: this.model.id |
| | | } |
| | | duplicateCheck(params).then((res)=>{ |
| | | if(res.success){ |
| | | callback(); |
| | | callback() |
| | | }else{ |
| | | callback(res.message); |
| | | callback(res.message) |
| | | } |
| | | }); |
| | | }) |
| | | } |
| | | }, |
| | | backFactoryInfo(info) { |
| | |
| | | let c = { label: item.text, value: item.value + '' } |
| | | return c |
| | | }) |
| | | }, |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | <!-- </span>--> |
| | | |
| | | <span slot="action" slot-scope="text, record"> |
| | | <a @click="handleEdit(record)" :disabled="record.orderStatus === '2'">编辑</a> |
| | | <a @click="handleEdit(record)" :disabled="record.orderStatus === '2' || record.orderStatus === '3'">编辑</a> |
| | | <a-divider type="vertical" /> |
| | | <a-dropdown> |
| | | <a class="ant-dropdown-link">更多 <a-icon type="down" /></a> |
| | |
| | | <a-menu-item> |
| | | <a @click="handleDetail(record)">详情</a> |
| | | </a-menu-item> |
| | | <!-- <a-menu-item v-if="record.orderStatus != '2'">--> |
| | | <!-- <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">--> |
| | | <!-- <a>删除</a>--> |
| | | <!-- </a-popconfirm>--> |
| | | <!-- </a-menu-item>--> |
| | | <a-menu-item v-if="record.orderStatus !== '2'"> |
| | | <a-menu-item v-if="record.orderStatus === '1'"> |
| | | <a @click="handleSubmit(record.id)" :disabled="record.orderStatus === '3'">提交</a> |
| | | </a-menu-item> |
| | | <a-menu-item v-if="record.orderStatus !== '2'"> |
| | | <a-menu-item v-if="record.orderStatus === '1'"> |
| | | <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)"> |
| | | <a>删除</a> |
| | | </a-popconfirm> |
| | |
| | | deleteBatch: '/cms/cuttingReceive/deleteBatch', |
| | | exportXlsUrl: '/cms/cuttingReceive/exportXls', |
| | | importExcelUrl: 'cms/cuttingReceive/importExcel', |
| | | submit: '/cms/cuttingReceive/submit' |
| | | submit: '/cms/cuttingReceive/submit', |
| | | returnBack: '/cms/cuttingReceive/handleBack' |
| | | }, |
| | | dictOptions: {}, |
| | | superFieldList: [] |
| | |
| | | } |
| | | }) |
| | | }, |
| | | //TODO:刀具归还 handleBack |
| | | |
| | | /** |
| | | * 单据领用 |
| | | */ |
| | | |
| | | handleBack: function(id) { |
| | | if (!this.url.returnBack) { |
| | | this.$message.error('请设置url.return属性!') |
| | | return |
| | | } |
| | | |
| | | let targetId = id // 从参数获取ID |
| | | // 如果没有通过参数传递ID,则检查选中的记录 |
| | | if (!targetId) { |
| | | if (this.selectedRowKeys.length != 1) { |
| | | this.$message.warning('请选择一条记录!') |
| | | return |
| | | } else { |
| | | targetId = this.selectedRowKeys[0] |
| | | } |
| | | } |
| | | |
| | | // 将参数作为查询参数附加到URL上 |
| | | let httpurl = this.url.returnBack + '?orderId=' + encodeURIComponent(targetId) |
| | | let method = 'get' |
| | | var params = {} // 清空params,因为参数已经在URL中传递 |
| | | |
| | | const that = this |
| | | |
| | | this.$confirm({ |
| | | title: '确认提交!', |
| | | // content: '正在提交数据,请耐心等待...', |
| | | okText: '确认', |
| | | cancelText: '取消', |
| | | onOk() { |
| | | // 显示加载提示 |
| | | const hide = that.$message.loading('正在提交数据,请耐心等待...', 0) |
| | | |
| | | // 发送请求 |
| | | return httpAction(httpurl, params, method).then((res) => { |
| | | hide() // 隐藏加载提示 |
| | | if (res.success) { |
| | | that.$message.success(res.message) |
| | | that.loadData() |
| | | } else { |
| | | that.$message.warning(res.message) |
| | | } |
| | | }).catch(error => { |
| | | hide() // 隐藏加载提示 |
| | | that.$message.error('提交失败: ' + error.message) |
| | | }).finally(() => { |
| | | that.loading = false |
| | | }) |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="拉动物料" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="materialNumber"> |
| | | <a-select v-model="model.materialNumber" placeholder="请选择拉动物料" @change="handleMaterialNumberChange"> |
| | | <a-select-option v-for="item in materialList" :value="item.materialNumber" :title="item.materialName" :key="item.materialNumber"> |
| | | {{ item.materialName }} |
| | | </a-select-option> |
| | | </a-select> |
| | | <j-search-select-tag v-model="model.materialNumber" placeholder="请选择拉动物料" |
| | | :dict-options="materialList" @change="handleMaterialNumberChange"> |
| | | </j-search-select-tag> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | |
| | | workOrderQuery: '/mes/mesProductionWorkOrder/queryById' |
| | | }, |
| | | materialList: [], //物料列表 |
| | | workOrderObj: {}, //工单对象 |
| | | workOrderObj: {} //工单对象 |
| | | } |
| | | }, |
| | | computed: { |
| | |
| | | this.model.workOrderCode = this.model.workOrderId_dictText |
| | | this.visible = true |
| | | if (this.model.workOrderId) { |
| | | this.editable = true; |
| | | this.editable = true |
| | | let workOrderRes = await this.loadProductionWorkOrder(this.model.workOrderId) |
| | | if(!workOrderRes.success || !workOrderRes.result) { |
| | | return; |
| | | return |
| | | } |
| | | //排产工单赋值 |
| | | this.workOrderObj = Object.assign({}, workOrderRes.result); |
| | | this.workOrderObj = Object.assign({}, workOrderRes.result) |
| | | //物料列表 |
| | | let materialListRes = await this.loadMaterialList(workOrderRes.result.materialNumber) |
| | | if (materialListRes.success && materialListRes.result && materialListRes.result.length > 0) { |
| | | this.materialList = [...materialListRes.result] |
| | | this.materialList = materialListRes.result.map(item => ({ |
| | | ...item, |
| | | value: item.materialNumber, |
| | | text: item.materialName |
| | | })) |
| | | } else { |
| | | this.materialList = [] |
| | | } |
| | |
| | | this.model.warehouseName = '' |
| | | } |
| | | }else { |
| | | this.editable = false; |
| | | this.editable = false |
| | | } |
| | | }, |
| | | async selectConfirm(rows) { |
| | | if (rows && rows.length > 0) { |
| | | //清空关联数据 |
| | | this.model.materialNumber = undefined; |
| | | this.model.materialName = ''; |
| | | this.model.specifiedQuantity = 0; |
| | | this.model.materialNumber = undefined |
| | | this.model.materialName = '' |
| | | this.model.specifiedQuantity = 0 |
| | | //赋值新的数据 |
| | | this.model.workOrderId = rows[0].id |
| | | this.model.workOrderCode = rows[0].workOrderCode |
| | | //排产工单赋值 |
| | | this.workOrderObj = Object.assign({}, rows[0]); |
| | | this.workOrderObj = Object.assign({}, rows[0]) |
| | | let materialListRes = await this.loadMaterialList(rows[0].materialNumber) |
| | | if (materialListRes.success && materialListRes.result && materialListRes.result.length > 0) { |
| | | this.materialList = [...materialListRes.result] |
| | | this.materialList = materialListRes.result.map(item => ({ |
| | | ...item, |
| | | value: item.materialNumber, |
| | | text: item.materialName |
| | | })) |
| | | } else { |
| | | this.materialList = [] |
| | | } |
| | |
| | | } |
| | | } else { |
| | | //清空关联数据 |
| | | this.model.materialNumber = undefined; |
| | | this.model.materialName = ''; |
| | | this.model.specifiedQuantity = 0; |
| | | this.model.materialNumber = undefined |
| | | this.model.materialName = '' |
| | | this.model.specifiedQuantity = 0 |
| | | this.materialList = [] |
| | | this.model.targetWarehouseId = undefined |
| | | this.model.warehouseName = '' |
| | | this.workOrderObj = {}; |
| | | this.workOrderObj = {} |
| | | } |
| | | }, |
| | | submitForm() { |
| | |
| | | workOrderStatus: this.orderStatus, |
| | | }, |
| | | url: { |
| | | list: "/mes/mesProductionWorkOrder/list" |
| | | list: "/mes/mesProductionWorkOrder/queryWorkOrderByTransfer" |
| | | }, |
| | | columns: [ |
| | | { |