Merge remote-tracking branch 'origin/master'
| | |
| | | NODE_ENV=development |
| | | VUE_APP_API_BASE_URL=http://127.0.0.1:9989/jeecg-boot |
| | | VUE_APP_API_BASE_URL=http://127.0.0.1:9989 |
| | | VUE_APP_CAS_BASE_URL=http://cas.example.org:8443/cas |
| | | VUE_APP_ONLINE_BASE_URL=http://fileview.jeecg.com/onlinePreview |
| | | |
| | |
| | | { |
| | | title:'安灯人', |
| | | align:"center", |
| | | dataIndex: 'operator' |
| | | dataIndex: 'operator_dictText' |
| | | }, |
| | | { |
| | | title:'安灯时间', |
| | |
| | | { |
| | | title:'响应人', |
| | | align:"center", |
| | | dataIndex: 'responder' |
| | | dataIndex: 'responder_dictText' |
| | | }, |
| | | { |
| | | title:'响应时间', |
| | |
| | | { |
| | | title:'处理人', |
| | | align:"center", |
| | | dataIndex: 'processor' |
| | | dataIndex: 'processor_dictText' |
| | | }, |
| | | { |
| | | title:'处理完成时间', |
| | |
| | | <template> |
| | | <a-spin :spinning="confirmLoading"> |
| | | <j-form-container :disabled="formDisabled"> |
| | | <j-form-container :disabled="formDisabled" class="andon-button-form"> |
| | | <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail"> |
| | | <a-row> |
| | | <!-- 第一行:安灯名称 + 安灯编码 --> |
| | | <a-row :gutter="24"> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="安灯名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="buttonName"> |
| | | <a-input v-model="model.buttonName" placeholder="请输入安灯名称" ></a-input> |
| | | <a-input v-model="model.buttonName" placeholder="请输入" /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="安灯编码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="buttonCode"> |
| | | <a-input v-model="model.buttonCode" placeholder="请输入安灯编码" ></a-input> |
| | | <a-input v-model="model.buttonCode" placeholder="请输入" /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | |
| | | <!-- 第二行:升级响应时长 + 升级处理时长 --> |
| | | <a-row :gutter="24"> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="升级响应" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="upgradeResponseDuration"> |
| | | <a-input-number v-model="model.upgradeResponseDuration" placeholder="请输入" style="width: 100%" /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="升级响应时长(分钟)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="upgradeResponseDuration"> |
| | | <a-input-number v-model="model.upgradeResponseDuration" placeholder="请输入升级响应时长(分钟)" style="width: 100%" /> |
| | | <a-form-model-item label="升级处理" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="upgradeProcessDuration"> |
| | | <a-input-number v-model="model.upgradeProcessDuration" placeholder="请输入" style="width: 100%" /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | |
| | | <!-- 第三行:二次升级响应时长 + 二次升级处理时长 --> |
| | | <a-row :gutter="24"> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="二次升级响应" :labelCol="labelColWide" :wrapperCol="wrapperColNarrow" prop="secondUpgradeResponseDuration"> |
| | | <a-input-number v-model="model.secondUpgradeResponseDuration" placeholder="请输入" style="width: 100%" /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="升级处理时长(分钟)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="upgradeProcessDuration"> |
| | | <a-input-number v-model="model.upgradeProcessDuration" placeholder="请输入升级处理时长(分钟)" style="width: 100%" /> |
| | | <a-form-model-item label="二次升级处理" :labelCol="labelColWide" :wrapperCol="wrapperColNarrow" prop="secondUpgradeProcessDuration"> |
| | | <a-input-number v-model="model.secondUpgradeProcessDuration" placeholder="请输入" style="width: 100%" /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | |
| | | <!-- 第四行:安灯按钮状态 + 备注 --> |
| | | <a-row :gutter="24"> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="二次升级响应时长(分钟)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="secondUpgradeResponseDuration"> |
| | | <a-input-number v-model="model.secondUpgradeResponseDuration" placeholder="请输入二次升级响应时长(分钟)" style="width: 100%" /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="二次升级处理时长(分钟)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="secondUpgradeProcessDuration"> |
| | | <a-input-number v-model="model.secondUpgradeProcessDuration" placeholder="请输入二次升级处理时长(分钟)" style="width: 100%" /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="安灯按钮状态" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="buttonStatus"> |
| | | <j-dict-select-tag type="list" v-model="model.buttonStatus" dictCode="button_status" placeholder="请选择安灯按钮状态" /> |
| | | <a-form-model-item label="按钮状态" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="buttonStatus"> |
| | | <j-dict-select-tag type="list" v-model="model.buttonStatus" dictCode="button_status" placeholder="请选择" /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="备注" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="remark"> |
| | | <a-input v-model="model.remark" placeholder="请输入备注" ></a-input> |
| | | <a-input v-model="model.remark" placeholder="请输入" /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | import { httpAction, getAction } from '@/api/manage' |
| | | import { validateDuplicateValue } from '@/utils/util' |
| | | |
| | | export default { |
| | | name: 'AndonButtonConfigForm', |
| | | components: { |
| | | }, |
| | | components: {}, |
| | | props: { |
| | | //表单禁用 |
| | | disabled: { |
| | | type: Boolean, |
| | | default: false, |
| | |
| | | }, |
| | | data () { |
| | | return { |
| | | model:{ |
| | | }, |
| | | model: {}, |
| | | // 普通标签列宽度 |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 5 }, |
| | | sm: { span: 6 }, |
| | | }, |
| | | // 宽标签列(用于“二次升级响应”等长标签) |
| | | labelColWide: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 8 }, // 增加标签宽度 |
| | | }, |
| | | // 窄输入框列(配合宽标签,保持布局平衡) |
| | | wrapperColNarrow: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 16 }, |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 16 }, |
| | | sm: { span: 18 }, |
| | | }, |
| | | confirmLoading: false, |
| | | validatorRules: { |
| | |
| | | ], |
| | | }, |
| | | url: { |
| | | add: "/andonbuttonconfig/andonButtonConfig/add", |
| | | edit: "/andonbuttonconfig/andonButtonConfig/edit", |
| | | queryById: "/andonbuttonconfig/andonButtonConfig/queryById" |
| | | add: '/andonbuttonconfig/andonButtonConfig/add', |
| | | edit: '/andonbuttonconfig/andonButtonConfig/edit', |
| | | queryById: '/andonbuttonconfig/andonButtonConfig/queryById' |
| | | } |
| | | } |
| | | }, |
| | |
| | | }, |
| | | }, |
| | | created () { |
| | | //备份model原始值 |
| | | this.modelDefault = JSON.parse(JSON.stringify(this.model)); |
| | | }, |
| | | methods: { |
| | |
| | | }, |
| | | submitForm () { |
| | | const that = this; |
| | | // 触发表单验证 |
| | | this.$refs.form.validate(valid => { |
| | | if (valid) { |
| | | that.confirmLoading = true; |
| | |
| | | that.confirmLoading = false; |
| | | }) |
| | | } |
| | | |
| | | }) |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .andon-button-form { |
| | | padding: 24px; |
| | | background-color: #fff; |
| | | border-radius: 8px; |
| | | box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); |
| | | } |
| | | |
| | | /* 统一表单项垂直间距 */ |
| | | .a-form-model-item { |
| | | margin-bottom: 16px !important; |
| | | } |
| | | |
| | | /* 标签与输入框水平间距(解决文字拥挤) */ |
| | | .a-form-model-item-label { |
| | | margin-right: 12px !important; |
| | | } |
| | | |
| | | /* 输入框 & 数字输入框 占位符样式优化 */ |
| | | .a-input::placeholder, |
| | | .a-input-number::placeholder { |
| | | color: #ccc; |
| | | font-style: italic; |
| | | } |
| | | |
| | | /* 必选标签的红色星号强调 */ |
| | | .a-form-model-item-label > span:first-child { |
| | | color: #f5222d; |
| | | margin-right: 2px; |
| | | } |
| | | |
| | | /* 按钮区域右对齐 & 按钮样式优化 */ |
| | | .a-form-footer { |
| | | text-align: right; |
| | | margin-top: 32px; |
| | | } |
| | | |
| | | .a-button-primary { |
| | | background-color: #1890ff; |
| | | border-color: #1890ff; |
| | | transition: all 0.3s ease; |
| | | } |
| | | |
| | | .a-button-primary:hover { |
| | | background-color: #40a9ff; |
| | | border-color: #40a9ff; |
| | | } |
| | | |
| | | .a-button-default { |
| | | border-color: #d9d9d9; |
| | | transition: all 0.3s ease; |
| | | } |
| | | |
| | | .a-button-default:hover { |
| | | border-color: #bfbfbf; |
| | | } |
| | | </style> |
| | |
| | | <template> |
| | | <a-spin :spinning="confirmLoading"> |
| | | <j-form-container :disabled="formDisabled"> |
| | | <j-form-container :disabled="formDisabled" class="andon-order-form"> |
| | | <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail"> |
| | | <a-row> |
| | | <a-col :span="24"> |
| | | <a-form-model-item label="产线" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="factoryId"> |
| | | <!-- 第一行:产线 + 安灯类型 --> |
| | | <a-row :gutter="24"> |
| | | <a-col :span="24"> |
| | | <a-form-item |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | label="" |
| | | > |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="产线" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="factoryId"> |
| | | <j-select-factory |
| | | :disabled="disabled" |
| | | v-model="model.factoryId" |
| | |
| | | :backProduction="true" |
| | | :treeProductOpera="true" |
| | | ></j-select-factory> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="安灯类型" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="buttonId"> |
| | | <j-search-select-tag v-model="model.buttonId" placeholder="请输入安灯类型" |
| | | dict="andon_button_config,button_name,id"></j-search-select-tag> |
| | | <j-search-select-tag v-model="model.buttonId" placeholder="请输入安灯类型" dict="andon_button_config,button_name,id"></j-search-select-tag> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | |
| | | <!-- 第二行:安灯人 + 安灯时间 --> |
| | | <a-row :gutter="24"> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="安灯人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="operator"> |
| | | <j-select-user-by-dep :multi="false" v-model="model.operator" placeholder="请输入安灯人" ></j-select-user-by-dep> |
| | | <j-select-user-by-dep :multi="false" v-model="model.operator" placeholder="请选择安灯人"></j-select-user-by-dep> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | |
| | | <j-date placeholder="请选择安灯时间" v-model="model.operateTime" :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | |
| | | <!-- 第三行:安灯等级 + 安灯状态 --> |
| | | <a-row :gutter="24"> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="安灯等级" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="andonLevel"> |
| | | <j-dict-select-tag type="list" v-model="model.andonLevel" dictCode="andon_level" placeholder="请选择安灯等级" /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <!-- <a-col :span="12">--> |
| | | <!-- <a-form-model-item label="响应人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="responder">--> |
| | | <!-- <j-select-user-by-dep v-model="model.responder" placeholder="请输入响应人" ></j-select-user-by-dep>--> |
| | | <!-- </a-form-model-item>--> |
| | | <!-- </a-col>--> |
| | | <!-- <a-col :span="12">--> |
| | | <!-- <a-form-model-item label="响应时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="responseTime">--> |
| | | <!-- <j-date placeholder="请选择响应时间" v-model="model.responseTime" :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" />--> |
| | | <!-- </a-form-model-item>--> |
| | | <!-- </a-col>--> |
| | | <!-- <a-col :span="12">--> |
| | | <!-- <a-form-model-item label="处理人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="processor">--> |
| | | <!-- <j-select-user-by-dep v-model="model.processor" placeholder="请输入处理人" ></j-select-user-by-dep>--> |
| | | <!-- </a-form-model-item>--> |
| | | <!-- </a-col>--> |
| | | <!-- <a-col :span="12">--> |
| | | <!-- <a-form-model-item label="处理完成时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="processTime">--> |
| | | <!-- <j-date placeholder="请选择处理完成时间" v-model="model.processTime" :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" />--> |
| | | <!-- </a-form-model-item>--> |
| | | <!-- </a-col>--> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="安灯状态" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="orderStatus"> |
| | | <j-dict-select-tag type="list" v-model="model.orderStatus" dictCode="order_status" placeholder="请选择安灯状态" /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | |
| | | <!-- 第四行:问题描述 + 处理结果描述 --> |
| | | <a-row :gutter="24"> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="问题描述" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="problemDescreption"> |
| | | <a-textarea v-model="model.problemDescreption" rows="4" placeholder="请输入问题描述" /> |
| | |
| | | <a-textarea v-model="model.resolutionDescreption" rows="4" placeholder="请输入处理结果描述" /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | |
| | | <!-- 第五行:处理结果图片 --> |
| | | <a-row :gutter="24"> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="处理结果图片" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="imageFiles"> |
| | | <j-image-upload isMultiple v-model="model.imageFiles" ></j-image-upload> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | import { httpAction, getAction } from '@/api/manage' |
| | | import { validateDuplicateValue } from '@/utils/util' |
| | | import JSelectFactory from '@comp/jeecgbiz/JSelectFactory.vue' |
| | |
| | | JSelectFactory |
| | | }, |
| | | props: { |
| | | //表单禁用 |
| | | disabled: { |
| | | type: Boolean, |
| | | default: false, |
| | |
| | | }, |
| | | data () { |
| | | return { |
| | | model:{ |
| | | }, |
| | | model: {}, |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 5 }, |
| | | sm: { span: 6 }, // 调整标签宽度,更紧凑 |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | |
| | | }, |
| | | confirmLoading: false, |
| | | validatorRules: { |
| | | factoryId: [ |
| | | { required: true, message: '产线是必选项', trigger: 'change' } |
| | | ], |
| | | buttonId: [ |
| | | { required: true, message: '安灯类型是必选项', trigger: 'change' } |
| | | ], |
| | | operator: [ |
| | | { required: true, message: '安灯人是必选项', trigger: 'change' } |
| | | ], |
| | | operateTime: [ |
| | | { required: true, message: '安灯时间是必选项', trigger: 'change' } |
| | | ], |
| | | andonLevel: [ |
| | | { required: true, message: '安灯等级是必选项', trigger: 'change' } |
| | | ], |
| | | orderStatus: [ |
| | | { required: true, message: '安灯状态是必选项', trigger: 'change' } |
| | | ], |
| | | factoryId: [{ required: true, message: '产线是必选项', trigger: 'change' }], |
| | | buttonId: [{ required: true, message: '安灯类型是必选项', trigger: 'change' }], |
| | | operator: [{ required: true, message: '安灯人是必选项', trigger: 'change' }], |
| | | operateTime: [{ required: true, message: '安灯时间是必选项', trigger: 'change' }], |
| | | andonLevel: [{ required: true, message: '安灯等级是必选项', trigger: 'change' }], |
| | | orderStatus: [{ required: true, message: '安灯状态是必选项', trigger: 'change' }], |
| | | }, |
| | | url: { |
| | | add: "/andonorder/andonOrder/add", |
| | | edit: "/andonorder/andonOrder/edit", |
| | | queryById: "/andonorder/andonOrder/queryById" |
| | | add: '/andonorder/andonOrder/add', |
| | | edit: '/andonorder/andonOrder/edit', |
| | | queryById: '/andonorder/andonOrder/queryById' |
| | | } |
| | | } |
| | | }, |
| | |
| | | }, |
| | | }, |
| | | created () { |
| | | //备份model原始值 |
| | | this.modelDefault = JSON.parse(JSON.stringify(this.model)); |
| | | }, |
| | | methods: { |
| | |
| | | }, |
| | | submitForm () { |
| | | const that = this; |
| | | // 触发表单验证 |
| | | this.$refs.form.validate(valid => { |
| | | if (valid) { |
| | | that.confirmLoading = true; |
| | |
| | | that.confirmLoading = false; |
| | | }) |
| | | } |
| | | |
| | | }) |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .andon-order-form { |
| | | padding: 24px; |
| | | background-color: #fff; |
| | | border-radius: 8px; |
| | | box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); |
| | | } |
| | | /* 统一表单项间距 */ |
| | | .a-form-model-item { |
| | | margin-bottom: 16px !important; |
| | | } |
| | | /* 调整文本域高度和占位符样式 */ |
| | | .a-textarea { |
| | | resize: vertical; |
| | | } |
| | | .a-textarea::placeholder { |
| | | color: #ccc; |
| | | } |
| | | /* 按钮区域右对齐 */ |
| | | .a-form-footer { |
| | | text-align: right; |
| | | margin-top: 24px; |
| | | } |
| | | </style> |
| | |
| | | <template> |
| | | <a-spin :spinning="confirmLoading"> |
| | | <j-form-container :disabled="formDisabled"> |
| | | <j-form-container :disabled="formDisabled" class="andon-response-form"> |
| | | <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail"> |
| | | <a-row> |
| | | <a-col :span="24"> |
| | | <a-form-model-item label="产线" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="factoryId"> |
| | | |
| | | <a-row :gutter="24"> |
| | | <a-col :span="24"> |
| | | <a-form-item |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | label="" |
| | | > |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="产线" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="factoryId"> |
| | | <j-select-factory |
| | | :disabled="disabled" |
| | | v-model="model.factoryId" |
| | |
| | | :backProduction="true" |
| | | :treeProductOpera="true" |
| | | ></j-select-factory> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | |
| | | |
| | | <a-row :gutter="24"> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="安灯类型" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="buttonId"> |
| | | <j-search-select-tag v-model="model.buttonId" placeholder="请输入安灯类型" |
| | | dict="andon_button_config,button_name,id"></j-search-select-tag> |
| | | <j-search-select-tag |
| | | v-model="model.buttonId" |
| | | placeholder="请选择" |
| | | dict="andon_button_config,button_name,id" |
| | | ></j-search-select-tag> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="初始响应人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="firsterResponder"> |
| | | <j-select-user-by-dep :multi="false" v-model="model.firsterResponder" placeholder="请输入初始响应人" ></j-select-user-by-dep> |
| | | <j-select-user-by-dep |
| | | :multi="false" |
| | | v-model="model.firsterResponder" |
| | | placeholder="请选择" |
| | | ></j-select-user-by-dep> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | |
| | | <!-- 二级响应人 + 三级响应人 --> |
| | | <a-row :gutter="24"> |
| | | <a-col :span="12"> |
| | | <a-form-model-item |
| | | label="二级响应人" |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | prop="secondResponder" |
| | | > |
| | | <j-select-user-by-dep |
| | | :multi="false" |
| | | v-model="model.secondResponder" |
| | | placeholder="请选择" |
| | | ></j-select-user-by-dep> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="二级响应人(升级一次)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="secondResponder"> |
| | | <j-select-user-by-dep :multi="false" v-model="model.secondResponder" placeholder="请输入二级响应人(升级一次)" ></j-select-user-by-dep> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="三级响应人(升级两次)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="thirdResponder"> |
| | | <j-select-user-by-dep :multi="false" v-model="model.thirdResponder" placeholder="请输入三级响应人(升级两次)" ></j-select-user-by-dep> |
| | | <a-form-model-item |
| | | label="三级响应人" |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | prop="thirdResponder" |
| | | > |
| | | <j-select-user-by-dep |
| | | :multi="false" |
| | | v-model="model.thirdResponder" |
| | | placeholder="请选择" |
| | | ></j-select-user-by-dep> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | import { httpAction, getAction } from '@/api/manage' |
| | | import { validateDuplicateValue } from '@/utils/util' |
| | | import { httpAction } from '@/api/manage' |
| | | import JSelectFactory from '@comp/jeecgbiz/JSelectFactory.vue' |
| | | |
| | | export default { |
| | | name: 'AndonResponseConfigForm', |
| | | components: { |
| | | JSelectFactory |
| | | }, |
| | | props: { |
| | | //表单禁用 |
| | | disabled: { |
| | | type: Boolean, |
| | | default: false, |
| | |
| | | }, |
| | | data () { |
| | | return { |
| | | model:{ |
| | | }, |
| | | model: {}, |
| | | // 统一标签列宽度(产线、安灯类型等共用) |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 5 }, |
| | | sm: { span: 6 }, |
| | | }, |
| | | // 统一输入框列宽度 |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 16 }, |
| | | sm: { span: 18 }, |
| | | }, |
| | | confirmLoading: false, |
| | | validatorRules: { |
| | |
| | | }, |
| | | }, |
| | | created () { |
| | | //备份model原始值 |
| | | this.modelDefault = JSON.parse(JSON.stringify(this.model)); |
| | | }, |
| | | methods: { |
| | |
| | | }, |
| | | submitForm () { |
| | | const that = this; |
| | | // 触发表单验证 |
| | | this.$refs.form.validate(valid => { |
| | | if (valid) { |
| | | that.confirmLoading = true; |
| | |
| | | that.confirmLoading = false; |
| | | }) |
| | | } |
| | | |
| | | }) |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .andon-response-form { |
| | | padding: 24px; |
| | | background-color: #fff; |
| | | border-radius: 8px; |
| | | box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); |
| | | } |
| | | .a-form-model-item { |
| | | margin-bottom: 20px !important; |
| | | } |
| | | .a-form-model-item-label { |
| | | margin-right: 16px !important; |
| | | } |
| | | .a-input::placeholder, |
| | | .a-select-selection-placeholder { |
| | | color: #ccc; |
| | | font-style: italic; |
| | | } |
| | | .a-form-model-item-label > span:first-child { |
| | | color: #f5222d; |
| | | margin-right: 4px; |
| | | } |
| | | .a-form-footer { |
| | | text-align: right; |
| | | margin-top: 36px; |
| | | } |
| | | .a-button-primary { |
| | | background-color: #1890ff; |
| | | border-color: #1890ff; |
| | | transition: all 0.3s ease; |
| | | } |
| | | .a-button-primary:hover { |
| | | background-color: #40a9ff; |
| | | border-color: #40a9ff; |
| | | } |
| | | .a-button-default { |
| | | border-color: #d9d9d9; |
| | | transition: all 0.3s ease; |
| | | } |
| | | .a-button-default:hover { |
| | | border-color: #bfbfbf; |
| | | } |
| | | </style> |
| | |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col |
| | | :md="6" |
| | | :sm="8" |
| | | > |
| | | <span |
| | | style="float: left;overflow: hidden;" |
| | | class="table-page-search-submitButtons" |
| | | > |
| | | <a-button |
| | | type="primary" |
| | | @click="searchQuery" |
| | | icon="search" |
| | | >查询</a-button> |
| | | <a-button |
| | | type="primary" |
| | | @click="searchReset" |
| | | icon="reload" |
| | | style="margin-left: 8px" |
| | | >重置</a-button> |
| | | <a-col :md="6" :sm="8"> |
| | | <span style="float: left; overflow: hidden;" class="table-page-search-submitButtons"> |
| | | <a-button type="primary" @click="searchQuery" icon="search">查询</a-button> |
| | | <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button> |
| | | </span> |
| | | </a-col> |
| | | </a-row> |
| | |
| | | <!-- 操作按钮区域 --> |
| | | <div class="table-operator"> |
| | | <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button> |
| | | <!-- 导入、导出功能 --> |
| | | <a-button type="primary" icon="download" @click="handleExportXls('刀具信息')">导出</a-button> |
| | | <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> |
| | | <a-upload |
| | | name="file" |
| | | :showUploadList="false" |
| | | :multiple="false" |
| | | :headers="tokenHeader" |
| | | :action="importExcelUrl" |
| | | @change="handleImportExcel"> |
| | | <a-button type="primary" icon="import">导入</a-button> |
| | | </a-upload> |
| | | </div> |
| | |
| | | <!-- table区域-begin --> |
| | | <div> |
| | | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
| | | <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 |
| | | <i class="anticon anticon-info-circle ant-alert-icon"></i> |
| | | 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 |
| | | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
| | | </div> |
| | | |
| | |
| | | size="middle" |
| | | :scroll="{x:true}" |
| | | bordered |
| | | rowKey="id" |
| | | :rowKey="record => record.id" |
| | | :columns="columns" |
| | | :dataSource="dataSource" |
| | | :pagination="ipagination" |
| | |
| | | <template slot="htmlSlot" slot-scope="text"> |
| | | <div v-html="text"></div> |
| | | </template> |
| | | |
| | | <template slot="imgSlot" slot-scope="text,record"> |
| | | <span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span> |
| | | <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/> |
| | | <img |
| | | v-else |
| | | :src="getImgView(text)" |
| | | :preview="record.id" |
| | | height="25px" |
| | | alt="" |
| | | style="max-width:80px;font-size: 12px;font-style: italic;" |
| | | /> |
| | | </template> |
| | | |
| | | <template slot="fileSlot" slot-scope="text"> |
| | | <span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span> |
| | | <a-button |
| | |
| | | |
| | | <span slot="action" slot-scope="text, record"> |
| | | <a @click="handleEdit(record)">编辑</a> |
| | | |
| | | <a-divider type="vertical" /> |
| | | <a-dropdown> |
| | | <a class="ant-dropdown-link">更多 <a-icon type="down" /></a> |
| | |
| | | </a-menu> |
| | | </a-dropdown> |
| | | </span> |
| | | |
| | | </a-table> |
| | | </div> |
| | | |
| | | <a-tabs defaultActiveKey="1"> |
| | | <a-tab-pane tab="扩展属性" key="1"> |
| | | <cutting-properties-list ref="cuttingPropertiesList"></cutting-properties-list> |
| | | </a-tab-pane> |
| | | <!-- <a-tab-pane tab="额定寿命" key="2"> |
| | | <rated-life-list ref="ratedLifeList"></rated-life-list> |
| | | </a-tab-pane> --> |
| | | </a-tabs> |
| | | <!-- table区域-end --> |
| | | <cutting-tool-modal ref="modalForm" @ok="modalFormOk"></cutting-tool-modal> |
| | | |
| | | <cutting-tool-modal ref="modalForm" @ok="handleOk"></cutting-tool-modal> |
| | | </a-card> |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | import '@/assets/less/TableExpand.less' |
| | | import { mixinDevice } from '@/utils/mixin' |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | |
| | | name: 'CuttingToolList', |
| | | mixins:[JeecgListMixin, mixinDevice], |
| | | components: { |
| | | CuttingToolModal,CuttingPropertiesList, JDictSelectTag, |
| | | CuttingToolModal, |
| | | CuttingPropertiesList, |
| | | JDictSelectTag, |
| | | JSearchSelectTag |
| | | }, |
| | | data () { |
| | | return { |
| | | description: '刀具信息管理页面', |
| | | // 表头 |
| | | columns: [ |
| | | { |
| | | title: '#', |
| | |
| | | key:'rowIndex', |
| | | width:60, |
| | | align:"center", |
| | | customRender:function (t,r,index) { |
| | | return parseInt(index)+1; |
| | | } |
| | | customRender: (t, r, index) => parseInt(index) + 1 |
| | | }, |
| | | { |
| | | title:'刀具编码', |
| | |
| | | delete: "/cms/cuttingTool/delete", |
| | | deleteBatch: "/cms/cuttingTool/deleteBatch", |
| | | exportXlsUrl: "/cms/cuttingTool/exportXls", |
| | | importExcelUrl: "cms/cuttingTool/importExcel", |
| | | |
| | | importExcelUrl: "cms/cuttingTool/importExcel" |
| | | }, |
| | | dictOptions:{}, |
| | | superFieldList:[], |
| | | superFieldList: [] |
| | | } |
| | | }, |
| | | computed: { |
| | | importExcelUrl() { |
| | | return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; |
| | | } |
| | | }, |
| | | created() { |
| | | this.getSuperFieldList(); |
| | | }, |
| | | computed: { |
| | | importExcelUrl: function(){ |
| | | return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; |
| | | }, |
| | | }, |
| | | methods: { |
| | | customRow(record) { |
| | | return { |
| | | on: { |
| | | click: e => { |
| | | this.onSelectChange(record.id.split(","), [record]); |
| | | click: () => { |
| | | this.onSelectChange([record.id], [record]); |
| | | } |
| | | } |
| | | }; |
| | | }, |
| | | onSelectChange(selectedRowKeys) { |
| | | this.selectedRowKeys = selectedRowKeys; |
| | | if (selectedRowKeys.length > 0) { |
| | | this.$refs.cuttingPropertiesList.getCuttingProperties(selectedRowKeys[0]); |
| | | } |
| | | }, |
| | | handleEdit: function (record) { |
| | | this.$refs.modalForm.edit(record) |
| | | this.$refs.modalForm.title = '编辑' |
| | | this.$refs.modalForm.disableSubmit = false |
| | | handleEdit(record) { |
| | | this.$refs.modalForm.edit(record); |
| | | this.$refs.modalForm.title = '编辑'; |
| | | this.$refs.modalForm.disableSubmit = false; |
| | | }, |
| | | handleAdd() { |
| | | this.$refs.modalForm.add() |
| | | this.$refs.modalForm.title = '新增' |
| | | this.$refs.modalForm.disableSubmit = false |
| | | this.$refs.modalForm.add(); |
| | | this.$refs.modalForm.title = '新增'; |
| | | this.$refs.modalForm.disableSubmit = false; |
| | | }, |
| | | handleDetail:function(record){ |
| | | handleDetail(record) { |
| | | this.$refs.modalForm.edit(record); |
| | | this.$refs.modalForm.title="详情"; |
| | | this.$refs.modalForm.disableSubmit = true; |
| | |
| | | this.loadData(); |
| | | }, |
| | | searchReset() { |
| | | this.queryParam.cuttingCode = ''; |
| | | this.queryParam.cuttingName = ''; |
| | | this.queryParam.cuttingCategory = ''; |
| | | this.queryParam = { |
| | | cuttingCode: '', |
| | | cuttingName: '', |
| | | cuttingCategory: '' |
| | | }; |
| | | this.$refs.cuttingPropertiesList.getCuttingProperties("-1"); |
| | | this.loadData(); |
| | | }, |
| | | handleOk() { |
| | | // 新增/修改 成功时,重载列表 |
| | | this.loadData(); |
| | | //清空列表选中 |
| | | this.onClearSelected() |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | @import '~@assets/less/common.less'; |
| | | </style> |
| | |
| | | this.deletePropertiesIds.push(record.id); |
| | | } |
| | | }, |
| | | |
| | | handleOk() { |
| | | const that = this |
| | | let dataSource = that.dataSource; |
| | |
| | | <!-- 操作按钮区域 --> |
| | | <div class="table-operator"> |
| | | <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button> |
| | | <a-button type="primary" icon="download" @click="handleExportXls('物料拉动申请')">导出</a-button> |
| | | <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> |
| | | <a-button type="primary" icon="import">导入</a-button> |
| | | </a-upload> |
| | | <!-- 高级查询区域 --> |
| | | <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query> |
| | | <a-dropdown v-if="selectedRowKeys.length > 0"> |
| | | <a-menu slot="overlay"> |
| | | <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item> |
| | | <a-menu-item key="1" @click="batchDel"> |
| | | <a-icon type="delete" /> |
| | | 删除 |
| | | </a-menu-item> |
| | | </a-menu> |
| | | <a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button> |
| | | <a-button style="margin-left: 8px"> 批量操作 |
| | | <a-icon type="down" /> |
| | | </a-button> |
| | | </a-dropdown> |
| | | </div> |
| | | |
| | | <!-- table区域-begin --> |
| | | <div> |
| | | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
| | | <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 |
| | | <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a |
| | | style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 |
| | | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
| | | </div> |
| | | |
| | |
| | | :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" |
| | | class="j-table-force-nowrap" |
| | | @change="handleTableChange"> |
| | | |
| | | <template slot="htmlSlot" slot-scope="text"> |
| | | <div v-html="text"></div> |
| | | </template> |
| | | <template slot="imgSlot" slot-scope="text,record"> |
| | | <span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span> |
| | | <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/> |
| | | </template> |
| | | <template slot="fileSlot" slot-scope="text"> |
| | | <span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span> |
| | | <a-button |
| | | v-else |
| | | :ghost="true" |
| | | type="primary" |
| | | icon="download" |
| | | size="small" |
| | | @click="downloadFile(text)"> |
| | | 下载 |
| | | </a-button> |
| | | </template> |
| | | |
| | | <span slot="action" slot-scope="text, record"> |
| | | <a @click="handleEdit(record)">编辑</a> |
| | | |
| | |
| | | import { mixinDevice } from '@/utils/mixin' |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import MesMaterialTransferRequestModal from './modules/MesMaterialTransferRequestModal' |
| | | import {filterMultiDictText} from '@/components/dict/JDictSelectUtil' |
| | | |
| | | export default { |
| | | name: 'MesMaterialTransferRequestList', |
| | |
| | | dataIndex: '', |
| | | key:'rowIndex', |
| | | width:60, |
| | | align:"center", |
| | | align: 'center', |
| | | customRender:function (t,r,index) { |
| | | return parseInt(index)+1; |
| | | return parseInt(index) + 1 |
| | | } |
| | | }, |
| | | { |
| | | title:'删除标记', |
| | | align:"center", |
| | | dataIndex: 'delFlag' |
| | | }, |
| | | { |
| | | title:'拉动单号', |
| | | align:"center", |
| | | align: 'center', |
| | | dataIndex: 'requestCode' |
| | | }, |
| | | { |
| | | title:'工单ID', |
| | | align:"center", |
| | | align: 'center', |
| | | dataIndex: 'workOrderId' |
| | | }, |
| | | { |
| | | title:'SAP预留号', |
| | | align:"center", |
| | | align: 'center', |
| | | dataIndex: 'reservationCode' |
| | | }, |
| | | { |
| | | title:'发布状态', |
| | | align:"center", |
| | | align: 'center', |
| | | dataIndex: 'publishStatus_dictText' |
| | | }, |
| | | { |
| | | title:'请求状态', |
| | | align:"center", |
| | | align: 'center', |
| | | dataIndex: 'requestStatus_dictText' |
| | | }, |
| | | { |
| | | title:'请求时间', |
| | | align:"center", |
| | | align: 'center', |
| | | dataIndex: 'requestTime' |
| | | }, |
| | | { |
| | | title:'原库存地', |
| | | align:"center", |
| | | align: 'center', |
| | | dataIndex: 'originalWarehouseId' |
| | | }, |
| | | { |
| | | title:'目标库存地', |
| | | align:"center", |
| | | align: 'center', |
| | | dataIndex: 'targetWarehouseId' |
| | | }, |
| | | { |
| | | title:'优先级(拉动类型)', |
| | | align:"center", |
| | | align: 'center', |
| | | dataIndex: 'priority_dictText' |
| | | }, |
| | | { |
| | | title:'最晚配送时间', |
| | | align:"center", |
| | | align: 'center', |
| | | dataIndex: 'latestDeliveryTime' |
| | | }, |
| | | { |
| | | title: '操作', |
| | | dataIndex: 'action', |
| | | align:"center", |
| | | fixed:"right", |
| | | align: 'center', |
| | | fixed: 'right', |
| | | width:147, |
| | | scopedSlots: { customRender: 'action' } |
| | | } |
| | | ], |
| | | url: { |
| | | list: "/mesmaterialtransferrequest/mesMaterialTransferRequest/list", |
| | | delete: "/mesmaterialtransferrequest/mesMaterialTransferRequest/delete", |
| | | deleteBatch: "/mesmaterialtransferrequest/mesMaterialTransferRequest/deleteBatch", |
| | | exportXlsUrl: "/mesmaterialtransferrequest/mesMaterialTransferRequest/exportXls", |
| | | importExcelUrl: "mesmaterialtransferrequest/mesMaterialTransferRequest/importExcel", |
| | | |
| | | }, |
| | | dictOptions:{}, |
| | | superFieldList:[], |
| | | list: '/mes/mesMaterialTransferRequest/list', |
| | | delete: '/mes/mesMaterialTransferRequest/delete', |
| | | deleteBatch: '/mes/mesMaterialTransferRequest/deleteBatch' |
| | | } |
| | | } |
| | | }, |
| | | created() { |
| | | this.getSuperFieldList(); |
| | | }, |
| | | computed: { |
| | | importExcelUrl: function(){ |
| | | return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; |
| | | }, |
| | | }, |
| | | methods: { |
| | | initDictConfig(){ |
| | | }, |
| | | getSuperFieldList(){ |
| | | let fieldList=[]; |
| | | fieldList.push({type:'int',value:'delFlag',text:'删除标记',dictCode:''}) |
| | | fieldList.push({type:'string',value:'requestCode',text:'拉动单号',dictCode:''}) |
| | | fieldList.push({type:'string',value:'workOrderId',text:'工单ID',dictCode:''}) |
| | | fieldList.push({type:'string',value:'reservationCode',text:'SAP预留号',dictCode:''}) |
| | | fieldList.push({type:'string',value:'publishStatus',text:'发布状态',dictCode:'publish_status'}) |
| | | fieldList.push({type:'string',value:'requestStatus',text:'请求状态',dictCode:'request_status'}) |
| | | fieldList.push({type:'datetime',value:'requestTime',text:'请求时间'}) |
| | | fieldList.push({type:'string',value:'originalWarehouseId',text:'原库存地',dictCode:''}) |
| | | fieldList.push({type:'string',value:'targetWarehouseId',text:'目标库存地',dictCode:''}) |
| | | fieldList.push({type:'string',value:'priority',text:'优先级(拉动类型)',dictCode:'priority'}) |
| | | fieldList.push({type:'datetime',value:'latestDeliveryTime',text:'最晚配送时间'}) |
| | | this.superFieldList = fieldList |
| | | } |
| | | } |
| | | computed: {}, |
| | | methods: {} |
| | | } |
| | | </script> |
| | | <style scoped> |
| | |
| | | <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail"> |
| | | <a-row> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="删除标记" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="delFlag"> |
| | | <a-input-number v-model="model.delFlag" placeholder="请输入删除标记" style="width: 100%" /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="拉动单号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="requestCode"> |
| | | <a-input v-model="model.requestCode" placeholder="请输入拉动单号" ></a-input> |
| | | <a-input v-model="model.requestCode" placeholder="拉动单号自动生成" readOnly></a-input> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="工单ID" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="workOrderId"> |
| | | <a-form-model-item label="起始库存地点" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="originalWarehouseId"> |
| | | <j-dict-select-tag type="list" v-model="model.originalWarehouseId" dictCode="original_warehouse_list" placeholder="请选择起始库存地点" /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="任务号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="workOrderId"> |
| | | <a-input v-model="model.workOrderId" placeholder="请输入工单ID" ></a-input> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="SAP预留号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="reservationCode"> |
| | | <a-input v-model="model.reservationCode" placeholder="请输入SAP预留号" ></a-input> |
| | | <a-form-model-item label="目标库存地点" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="targetWarehouseId"> |
| | | <a-input v-model="model.targetWarehouseId" placeholder="自动获取" readOnly ></a-input> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="发布状态" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="publishStatus"> |
| | | <j-dict-select-tag type="list" v-model="model.publishStatus" dictCode="publish_status" placeholder="请选择发布状态" /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="请求状态" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="requestStatus"> |
| | | <j-dict-select-tag type="list" v-model="model.requestStatus" dictCode="request_status" placeholder="请选择请求状态" /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="请求时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="requestTime"> |
| | | <j-date placeholder="请选择请求时间" v-model="model.requestTime" :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="原库存地" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="originalWarehouseId"> |
| | | <a-input v-model="model.originalWarehouseId" placeholder="请输入原库存地" ></a-input> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="目标库存地" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="targetWarehouseId"> |
| | | <a-input v-model="model.targetWarehouseId" placeholder="请输入目标库存地" ></a-input> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="优先级(拉动类型)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="priority"> |
| | | <j-dict-select-tag type="list" v-model="model.priority" dictCode="priority" placeholder="请选择优先级(拉动类型)" /> |
| | | <a-form-model-item label="拉动类型" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="materialTransferCategory"> |
| | | <j-dict-select-tag type="list" v-model="model.materialTransferCategory" dictCode="material_transfer_category" placeholder="请选择拉动类型" /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="最晚配送时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="latestDeliveryTime"> |
| | | <j-date placeholder="请选择最晚配送时间" v-model="model.latestDeliveryTime" :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" /> |
| | | <j-date placeholder="请选择最晚配送时间" v-model="model.latestDeliveryTime" :show-time="false" date-format="YYYY-MM-DD" style="width: 100%" /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="拉动物料" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="materialNumber"> |
| | | <j-dict-select-tag type="list" v-model="model.materialNumber" dictCode="priority" placeholder="请选择拉动物料" /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="拉动数量" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="specifiedQuantity"> |
| | | <a-input-number v-model="model.specifiedQuantity" placeholder="请输入拉动数量" style="width: 100%" /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | |
| | | }, |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 5 }, |
| | | sm: { span: 6 }, |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | |
| | | }, |
| | | confirmLoading: false, |
| | | validatorRules: { |
| | | originalWarehouseId: [ |
| | | { required: true, message: '起始库存地点必选', trigger: 'change' } |
| | | ], |
| | | workOrderId: [ |
| | | { required: true, message: '任务号必选', trigger: 'change' } |
| | | ], |
| | | materialNumber: [ |
| | | { required: true, message: '拉动物料必选', trigger: 'change' } |
| | | ], |
| | | specifiedQuantity: [ |
| | | { required: true, message: '拉动数量必填', trigger: 'change' } |
| | | ], |
| | | materialTransferCategory: [ |
| | | { required: true, message: '拉动类型必选', trigger: 'change' } |
| | | ], |
| | | }, |
| | | url: { |
| | | add: "/mesmaterialtransferrequest/mesMaterialTransferRequest/add", |
| | | edit: "/mesmaterialtransferrequest/mesMaterialTransferRequest/edit", |
| | | queryById: "/mesmaterialtransferrequest/mesMaterialTransferRequest/queryById" |
| | | add: "/mes/mesMaterialTransferRequest/add", |
| | | edit: "/mes/mesMaterialTransferRequest/edit", |
| | | queryById: "/mes/mesMaterialTransferRequest/queryById" |
| | | } |
| | | } |
| | | }, |