| | |
| | | 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' |
| | | |
| | | import { httpAction, getAction } from '@/api/manage' |
| | | import { validateDuplicateValue } from '@/utils/util' |
| | | |
| | | export default { |
| | | name: 'AndonButtonConfigForm', |
| | | components: { |
| | | }, |
| | | props: { |
| | | //表åç¦ç¨ |
| | | disabled: { |
| | | type: Boolean, |
| | | default: false, |
| | | required: false |
| | | } |
| | | }, |
| | | data () { |
| | | return { |
| | | model:{ |
| | | }, |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 5 }, |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 16 }, |
| | | }, |
| | | confirmLoading: false, |
| | | validatorRules: { |
| | | buttonName: [ |
| | | { required: true, message: 'å®ç¯åç§°æ¯å¿
é项', trigger: 'change' } |
| | | ], |
| | | buttonCode: [ |
| | | { required: true, message: 'å®ç¯ç¼ç æ¯å¿
é项', trigger: 'change' } |
| | | ], |
| | | upgradeResponseDuration: [ |
| | | { required: true, message: 'å级ååºæ¶é¿æ¯å¿
é项', trigger: 'change' } |
| | | ], |
| | | upgradeProcessDuration: [ |
| | | { required: true, message: 'å级å¤çæ¶é¿æ¯å¿
é项', trigger: 'change' } |
| | | ], |
| | | secondUpgradeResponseDuration: [ |
| | | { required: true, message: 'äºæ¬¡å级ååºæ¶é¿æ¯å¿
é项', trigger: 'change' } |
| | | ], |
| | | secondUpgradeProcessDuration: [ |
| | | { required: true, message: 'äºæ¬¡å级å¤çæ¶é¿æ¯å¿
é项', trigger: 'change' } |
| | | ], |
| | | buttonStatus: [ |
| | | { required: true, message: 'å®ç¯æé®ç¶ææ¯å¿
é项', trigger: 'change' } |
| | | ], |
| | | }, |
| | | url: { |
| | | add: "/andonbuttonconfig/andonButtonConfig/add", |
| | | edit: "/andonbuttonconfig/andonButtonConfig/edit", |
| | | queryById: "/andonbuttonconfig/andonButtonConfig/queryById" |
| | | } |
| | | } |
| | | }, |
| | | computed: { |
| | | formDisabled(){ |
| | | return this.disabled |
| | | }, |
| | | }, |
| | | created () { |
| | | //å¤ä»½modelåå§å¼ |
| | | this.modelDefault = JSON.parse(JSON.stringify(this.model)); |
| | | }, |
| | | methods: { |
| | | add () { |
| | | this.edit(this.modelDefault); |
| | | }, |
| | | edit (record) { |
| | | this.model = Object.assign({}, record); |
| | | this.visible = true; |
| | | }, |
| | | submitForm () { |
| | | const that = this; |
| | | // 触å表åéªè¯ |
| | | this.$refs.form.validate(valid => { |
| | | if (valid) { |
| | | that.confirmLoading = true; |
| | | let httpurl = ''; |
| | | let method = ''; |
| | | if(!this.model.id){ |
| | | httpurl+=this.url.add; |
| | | method = 'post'; |
| | | }else{ |
| | | httpurl+=this.url.edit; |
| | | method = 'put'; |
| | | } |
| | | httpAction(httpurl,this.model,method).then((res)=>{ |
| | | if(res.success){ |
| | | that.$message.success(res.message); |
| | | that.$emit('ok'); |
| | | }else{ |
| | | that.$message.warning(res.message); |
| | | } |
| | | }).finally(() => { |
| | | that.confirmLoading = false; |
| | | }) |
| | | } |
| | | |
| | | }) |
| | | }, |
| | | export default { |
| | | name: 'AndonButtonConfigForm', |
| | | components: {}, |
| | | props: { |
| | | disabled: { |
| | | type: Boolean, |
| | | default: false, |
| | | required: false |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | model: {}, |
| | | // æ®éæ ç¾å宽度 |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 6 }, |
| | | }, |
| | | // 宽æ ç¾åï¼ç¨äºâäºæ¬¡å级ååºâçé¿æ ç¾ï¼ |
| | | labelColWide: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 8 }, // å¢å æ ç¾å®½åº¦ |
| | | }, |
| | | // çªè¾å
¥æ¡åï¼é
å宽æ ç¾ï¼ä¿æå¸å±å¹³è¡¡ï¼ |
| | | wrapperColNarrow: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 16 }, |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 18 }, |
| | | }, |
| | | confirmLoading: false, |
| | | validatorRules: { |
| | | buttonName: [ |
| | | { required: true, message: 'å®ç¯åç§°æ¯å¿
é项', trigger: 'change' } |
| | | ], |
| | | buttonCode: [ |
| | | { required: true, message: 'å®ç¯ç¼ç æ¯å¿
é项', trigger: 'change' } |
| | | ], |
| | | upgradeResponseDuration: [ |
| | | { required: true, message: 'å级ååºæ¶é¿æ¯å¿
é项', trigger: 'change' } |
| | | ], |
| | | upgradeProcessDuration: [ |
| | | { required: true, message: 'å级å¤çæ¶é¿æ¯å¿
é项', trigger: 'change' } |
| | | ], |
| | | secondUpgradeResponseDuration: [ |
| | | { required: true, message: 'äºæ¬¡å级ååºæ¶é¿æ¯å¿
é项', trigger: 'change' } |
| | | ], |
| | | secondUpgradeProcessDuration: [ |
| | | { required: true, message: 'äºæ¬¡å级å¤çæ¶é¿æ¯å¿
é项', trigger: 'change' } |
| | | ], |
| | | buttonStatus: [ |
| | | { required: true, message: 'å®ç¯æé®ç¶ææ¯å¿
é项', trigger: 'change' } |
| | | ], |
| | | }, |
| | | url: { |
| | | add: '/andonbuttonconfig/andonButtonConfig/add', |
| | | edit: '/andonbuttonconfig/andonButtonConfig/edit', |
| | | queryById: '/andonbuttonconfig/andonButtonConfig/queryById' |
| | | } |
| | | } |
| | | }, |
| | | computed: { |
| | | formDisabled() { |
| | | return this.disabled |
| | | }, |
| | | }, |
| | | created() { |
| | | this.modelDefault = JSON.parse(JSON.stringify(this.model)); |
| | | }, |
| | | methods: { |
| | | add() { |
| | | this.edit(this.modelDefault); |
| | | }, |
| | | edit(record) { |
| | | this.model = Object.assign({}, record); |
| | | this.visible = true; |
| | | }, |
| | | submitForm() { |
| | | const that = this; |
| | | this.$refs.form.validate(valid => { |
| | | if (valid) { |
| | | that.confirmLoading = true; |
| | | let httpurl = ''; |
| | | let method = ''; |
| | | if (!this.model.id) { |
| | | httpurl += this.url.add; |
| | | method = 'post'; |
| | | } else { |
| | | httpurl += this.url.edit; |
| | | method = 'put'; |
| | | } |
| | | httpAction(httpurl, this.model, method).then((res) => { |
| | | if (res.success) { |
| | | that.$message.success(res.message); |
| | | that.$emit('ok'); |
| | | } else { |
| | | that.$message.warning(res.message); |
| | | } |
| | | }).finally(() => { |
| | | that.confirmLoading = false; |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | } |
| | | </script> |
| | | } |
| | | </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-row :gutter="24"> |
| | | <a-col :span="12"> |
| | | <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="" |
| | | > |
| | | <j-select-factory |
| | | :disabled="disabled" |
| | | v-model="model.factoryId" |
| | | :multi="true" |
| | | @back="backFactoryInfo" |
| | | :backProduction="true" |
| | | :treeProductOpera="true" |
| | | ></j-select-factory> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | <j-select-factory |
| | | :disabled="disabled" |
| | | v-model="model.factoryId" |
| | | :multi="true" |
| | | @back="backFactoryInfo" |
| | | :backProduction="true" |
| | | :treeProductOpera="true" |
| | | ></j-select-factory> |
| | | </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"> |
| | | <a-form-model-item label="å®ç¯æ¶é´" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="operateTime"> |
| | | <j-date placeholder="è¯·éæ©å®ç¯æ¶é´" v-model="model.operateTime" :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" /> |
| | | <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> |
| | | <j-image-upload isMultiple v-model="model.imageFiles"></j-image-upload> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { httpAction, getAction } from '@/api/manage' |
| | | import { validateDuplicateValue } from '@/utils/util' |
| | | import JSelectFactory from '@comp/jeecgbiz/JSelectFactory.vue' |
| | | |
| | | import { httpAction, getAction } from '@/api/manage' |
| | | import { validateDuplicateValue } from '@/utils/util' |
| | | import JSelectFactory from '@comp/jeecgbiz/JSelectFactory.vue' |
| | | |
| | | export default { |
| | | name: 'AndonOrderForm', |
| | | components: { |
| | | JSelectFactory |
| | | }, |
| | | props: { |
| | | //表åç¦ç¨ |
| | | disabled: { |
| | | type: Boolean, |
| | | default: false, |
| | | required: false |
| | | } |
| | | }, |
| | | data () { |
| | | return { |
| | | model:{ |
| | | }, |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 5 }, |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 16 }, |
| | | }, |
| | | 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' } |
| | | ], |
| | | }, |
| | | url: { |
| | | add: "/andonorder/andonOrder/add", |
| | | edit: "/andonorder/andonOrder/edit", |
| | | queryById: "/andonorder/andonOrder/queryById" |
| | | } |
| | | } |
| | | }, |
| | | computed: { |
| | | formDisabled(){ |
| | | return this.disabled |
| | | }, |
| | | }, |
| | | created () { |
| | | //å¤ä»½modelåå§å¼ |
| | | this.modelDefault = JSON.parse(JSON.stringify(this.model)); |
| | | }, |
| | | methods: { |
| | | backFactoryInfo(info) { |
| | | this.model.factoryIds = this.model.factoryId |
| | | this.nextFactoryOptions = info.map((item, index, arr) => { |
| | | let c = { label: item.text, value: item.value + '' } |
| | | return c |
| | | }) |
| | | }, |
| | | add () { |
| | | this.edit(this.modelDefault); |
| | | }, |
| | | edit (record) { |
| | | this.model = Object.assign({}, record); |
| | | this.visible = true; |
| | | }, |
| | | submitForm () { |
| | | const that = this; |
| | | // 触å表åéªè¯ |
| | | this.$refs.form.validate(valid => { |
| | | if (valid) { |
| | | that.confirmLoading = true; |
| | | let httpurl = ''; |
| | | let method = ''; |
| | | if(!this.model.id){ |
| | | httpurl+=this.url.add; |
| | | method = 'post'; |
| | | }else{ |
| | | httpurl+=this.url.edit; |
| | | method = 'put'; |
| | | } |
| | | httpAction(httpurl,this.model,method).then((res)=>{ |
| | | if(res.success){ |
| | | that.$message.success(res.message); |
| | | that.$emit('ok'); |
| | | }else{ |
| | | that.$message.warning(res.message); |
| | | } |
| | | }).finally(() => { |
| | | that.confirmLoading = false; |
| | | }) |
| | | } |
| | | |
| | | }) |
| | | }, |
| | | export default { |
| | | name: 'AndonOrderForm', |
| | | components: { |
| | | JSelectFactory |
| | | }, |
| | | props: { |
| | | disabled: { |
| | | type: Boolean, |
| | | default: false, |
| | | required: false |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | model: {}, |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 6 }, // è°æ´æ ç¾å®½åº¦ï¼æ´ç´§å |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 16 }, |
| | | }, |
| | | 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' }], |
| | | }, |
| | | url: { |
| | | add: '/andonorder/andonOrder/add', |
| | | edit: '/andonorder/andonOrder/edit', |
| | | queryById: '/andonorder/andonOrder/queryById' |
| | | } |
| | | } |
| | | }, |
| | | computed: { |
| | | formDisabled() { |
| | | return this.disabled |
| | | }, |
| | | }, |
| | | created() { |
| | | this.modelDefault = JSON.parse(JSON.stringify(this.model)); |
| | | }, |
| | | methods: { |
| | | backFactoryInfo(info) { |
| | | this.model.factoryIds = this.model.factoryId |
| | | this.nextFactoryOptions = info.map((item, index, arr) => { |
| | | let c = { label: item.text, value: item.value + '' } |
| | | return c |
| | | }) |
| | | }, |
| | | add() { |
| | | this.edit(this.modelDefault); |
| | | }, |
| | | edit(record) { |
| | | this.model = Object.assign({}, record); |
| | | this.visible = true; |
| | | }, |
| | | submitForm() { |
| | | const that = this; |
| | | this.$refs.form.validate(valid => { |
| | | if (valid) { |
| | | that.confirmLoading = true; |
| | | let httpurl = ''; |
| | | let method = ''; |
| | | if (!this.model.id) { |
| | | httpurl += this.url.add; |
| | | method = 'post'; |
| | | } else { |
| | | httpurl += this.url.edit; |
| | | method = 'put'; |
| | | } |
| | | httpAction(httpurl, this.model, method).then((res) => { |
| | | if (res.success) { |
| | | that.$message.success(res.message); |
| | | that.$emit('ok'); |
| | | } else { |
| | | that.$message.warning(res.message); |
| | | } |
| | | }).finally(() => { |
| | | that.confirmLoading = false; |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | } |
| | | </script> |
| | | } |
| | | </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-row :gutter="24"> |
| | | <a-col :span="12"> |
| | | <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="" |
| | | > |
| | | <j-select-factory |
| | | :disabled="disabled" |
| | | v-model="model.factoryId" |
| | | :multi="true" |
| | | @back="backFactoryInfo" |
| | | :backProduction="true" |
| | | :treeProductOpera="true" |
| | | ></j-select-factory> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | <j-select-factory |
| | | :disabled="disabled" |
| | | v-model="model.factoryId" |
| | | :multi="true" |
| | | @back="backFactoryInfo" |
| | | :backProduction="true" |
| | | :treeProductOpera="true" |
| | | ></j-select-factory> |
| | | </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 } from '@/api/manage' |
| | | import JSelectFactory from '@comp/jeecgbiz/JSelectFactory.vue' |
| | | |
| | | import { httpAction, getAction } from '@/api/manage' |
| | | import { validateDuplicateValue } from '@/utils/util' |
| | | import JSelectFactory from '@comp/jeecgbiz/JSelectFactory.vue' |
| | | export default { |
| | | name: 'AndonResponseConfigForm', |
| | | components: { |
| | | JSelectFactory |
| | | }, |
| | | props: { |
| | | //表åç¦ç¨ |
| | | disabled: { |
| | | type: Boolean, |
| | | default: false, |
| | | required: false |
| | | } |
| | | }, |
| | | data () { |
| | | return { |
| | | model:{ |
| | | }, |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 5 }, |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 16 }, |
| | | }, |
| | | confirmLoading: false, |
| | | validatorRules: { |
| | | factoryId: [ |
| | | { required: true, message: '产线æ¯å¿
é项', trigger: 'change' } |
| | | ], |
| | | buttonId: [ |
| | | { required: true, message: 'å®ç¯ç±»åæ¯å¿
é项', trigger: 'change' } |
| | | ], |
| | | firsterResponder: [ |
| | | { required: true, message: 'åå§ååºäººæ¯å¿
é项', trigger: 'change' } |
| | | ], |
| | | secondResponder: [ |
| | | { required: true, message: 'äºçº§ååºäººæ¯å¿
é项', trigger: 'change' } |
| | | ], |
| | | thirdResponder: [ |
| | | { required: true, message: 'ä¸çº§ååºäººæ¯å¿
é项', trigger: 'change' } |
| | | ], |
| | | }, |
| | | url: { |
| | | add: "/andonresponseconfig/andonResponseConfig/add", |
| | | edit: "/andonresponseconfig/andonResponseConfig/edit", |
| | | queryById: "/andonresponseconfig/andonResponseConfig/queryById" |
| | | } |
| | | } |
| | | }, |
| | | computed: { |
| | | formDisabled(){ |
| | | return this.disabled |
| | | }, |
| | | }, |
| | | created () { |
| | | //å¤ä»½modelåå§å¼ |
| | | this.modelDefault = JSON.parse(JSON.stringify(this.model)); |
| | | }, |
| | | methods: { |
| | | backFactoryInfo(info) { |
| | | this.model.factoryIds = this.model.factoryId |
| | | this.nextFactoryOptions = info.map((item, index, arr) => { |
| | | let c = { label: item.text, value: item.value + '' } |
| | | return c |
| | | }) |
| | | }, |
| | | add () { |
| | | this.edit(this.modelDefault); |
| | | }, |
| | | edit (record) { |
| | | this.model = Object.assign({}, record); |
| | | this.visible = true; |
| | | }, |
| | | submitForm () { |
| | | const that = this; |
| | | // 触å表åéªè¯ |
| | | this.$refs.form.validate(valid => { |
| | | if (valid) { |
| | | that.confirmLoading = true; |
| | | let httpurl = ''; |
| | | let method = ''; |
| | | if(!this.model.id){ |
| | | httpurl+=this.url.add; |
| | | method = 'post'; |
| | | }else{ |
| | | httpurl+=this.url.edit; |
| | | method = 'put'; |
| | | } |
| | | httpAction(httpurl,this.model,method).then((res)=>{ |
| | | if(res.success){ |
| | | that.$message.success(res.message); |
| | | that.$emit('ok'); |
| | | }else{ |
| | | that.$message.warning(res.message); |
| | | } |
| | | }).finally(() => { |
| | | that.confirmLoading = false; |
| | | }) |
| | | } |
| | | |
| | | }) |
| | | }, |
| | | export default { |
| | | name: 'AndonResponseConfigForm', |
| | | components: { |
| | | JSelectFactory |
| | | }, |
| | | props: { |
| | | disabled: { |
| | | type: Boolean, |
| | | default: false, |
| | | required: false |
| | | } |
| | | }, |
| | | data () { |
| | | return { |
| | | model: {}, |
| | | // ç»ä¸æ ç¾å宽度ï¼äº§çº¿ãå®ç¯ç±»åçå
±ç¨ï¼ |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 6 }, |
| | | }, |
| | | // ç»ä¸è¾å
¥æ¡å宽度 |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 18 }, |
| | | }, |
| | | confirmLoading: false, |
| | | validatorRules: { |
| | | factoryId: [ |
| | | { required: true, message: '产线æ¯å¿
é项', trigger: 'change' } |
| | | ], |
| | | buttonId: [ |
| | | { required: true, message: 'å®ç¯ç±»åæ¯å¿
é项', trigger: 'change' } |
| | | ], |
| | | firsterResponder: [ |
| | | { required: true, message: 'åå§ååºäººæ¯å¿
é项', trigger: 'change' } |
| | | ], |
| | | secondResponder: [ |
| | | { required: true, message: 'äºçº§ååºäººæ¯å¿
é项', trigger: 'change' } |
| | | ], |
| | | thirdResponder: [ |
| | | { required: true, message: 'ä¸çº§ååºäººæ¯å¿
é项', trigger: 'change' } |
| | | ], |
| | | }, |
| | | url: { |
| | | add: "/andonresponseconfig/andonResponseConfig/add", |
| | | edit: "/andonresponseconfig/andonResponseConfig/edit", |
| | | queryById: "/andonresponseconfig/andonResponseConfig/queryById" |
| | | } |
| | | } |
| | | }, |
| | | computed: { |
| | | formDisabled(){ |
| | | return this.disabled |
| | | }, |
| | | }, |
| | | created () { |
| | | this.modelDefault = JSON.parse(JSON.stringify(this.model)); |
| | | }, |
| | | methods: { |
| | | backFactoryInfo(info) { |
| | | this.model.factoryIds = this.model.factoryId |
| | | this.nextFactoryOptions = info.map((item, index, arr) => { |
| | | let c = { label: item.text, value: item.value + '' } |
| | | return c |
| | | }) |
| | | }, |
| | | add () { |
| | | this.edit(this.modelDefault); |
| | | }, |
| | | edit (record) { |
| | | this.model = Object.assign({}, record); |
| | | this.visible = true; |
| | | }, |
| | | submitForm () { |
| | | const that = this; |
| | | this.$refs.form.validate(valid => { |
| | | if (valid) { |
| | | that.confirmLoading = true; |
| | | let httpurl = ''; |
| | | let method = ''; |
| | | if(!this.model.id){ |
| | | httpurl+=this.url.add; |
| | | method = 'post'; |
| | | }else{ |
| | | httpurl+=this.url.edit; |
| | | method = 'put'; |
| | | } |
| | | httpAction(httpurl,this.model,method).then((res)=>{ |
| | | if(res.success){ |
| | | that.$message.success(res.message); |
| | | that.$emit('ok'); |
| | | }else{ |
| | | that.$message.warning(res.message); |
| | | } |
| | | }).finally(() => { |
| | | that.confirmLoading = false; |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | } |
| | | </script> |
| | | } |
| | | </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-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="factoryName" :label="nameLabel"> |
| | | <a-input placeholder="请è¾å
¥äº§çº¿/车é´åç§°" v-model="model.factoryName"/> |
| | | </a-form-model-item> |
| | | <a-form-model-item v-if="this.factoryCategory == '3'" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="productionType" :label="nameLabel"> |
| | | <a-form-model-item v-if="this.factoryCategory == '3'" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="productionType" label="产线类å"> |
| | | <j-dict-select-tag type="list" placeholder="è¯·éæ©äº§çº¿ç±»å" v-model="model.productionType" dictCode="production_type"/> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="ç¶èç¹"> |
| | |
| | | <!-- æä½æé®åºå --> |
| | | <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-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> --> |
| | | </a-upload> |
| | | </div> |
| | | |
| | | <!-- tableåºå-begin --> |
| | |
| | | </a-card> |
| | | </template> |
| | | |
| | | |
| | | |
| | | |
| | | <script> |
| | | |
| | | import '@/assets/less/TableExpand.less' |
| | |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import CuttingInboundModal from './modules/CuttingInboundModal' |
| | | import CuttingInboundDetailList from './CuttingInboundDetailList' |
| | | import { downFile } from '@api/manage' |
| | | import Vue from 'vue' |
| | | import { ACCESS_TOKEN } from '@/store/mutation-types' |
| | | import store from '@/store' |
| | | |
| | | |
| | | export default { |
| | |
| | | { |
| | | title:'å
¥åºåç¶æ', |
| | | align:"center", |
| | | dataIndex: 'orderStatus' |
| | | dataIndex: 'orderStatus_dictText', |
| | | }, |
| | | { |
| | | title: 'æä½', |
| | |
| | | deleteBatch: "/cms/cuttingInbound/deleteBatch", |
| | | exportXlsUrl: "/cms/cuttingInbound/exportXls", |
| | | importExcelUrl: "cms/cuttingInbound/importExcel", |
| | | |
| | | }, |
| | | dictOptions:{}, |
| | | superFieldList:[], |
| | | } |
| | | }, |
| | | created() { |
| | | this.getSuperFieldList(); |
| | | this.getSuperFieldList(); |
| | | // æ·»å åå
¸æ°æ®å è½½ |
| | | this.initDictConfig(); |
| | | }, |
| | | computed: { |
| | | importExcelUrl: function(){ |
| | |
| | | this.queryParam = {} |
| | | this.$refs.cuttingInbounDetailList.dataSource = [] |
| | | this.loadData(1); |
| | | }, |
| | | }, |
| | | handleEdit: function (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 |
| | | }, |
| | | handleDetail:function(record){ |
| | | this.$refs.modalForm.edit(record); |
| | | this.$refs.modalForm.title="详æ
"; |
| | | this.$refs.modalForm.disableSubmit = true; |
| | | }, |
| | | customRow(record) { |
| | | return { |
| | | on: { |
| | | click: (e) => { |
| | | //å°å½åéä¸çè®°å½ä¼ å°åé¡µé¢ |
| | | this.$bus.$emit('getToolingStorageData', record) |
| | | //ç¹å»å½åè¡åè² |
| | | let oldList = document.querySelectorAll('.checked-td-of-add-table') |
| | | if (oldList) { |
| | | for (let j = 0; j < oldList.length; j++) { |
| | | oldList[j].classList.remove('checked-td-of-add-table') |
| | | }, |
| | | handleAdd() { |
| | | this.$refs.modalForm.add() |
| | | this.$refs.modalForm.title = 'æ°å¢' |
| | | this.$refs.modalForm.disableSubmit = false |
| | | }, |
| | | handleDetail:function(record){ |
| | | this.$refs.modalForm.edit(record); |
| | | this.$refs.modalForm.title="详æ
"; |
| | | this.$refs.modalForm.disableSubmit = true; |
| | | }, |
| | | // èªå®ä¹è¡ç¹å»äºä»¶ |
| | | customRow(record) { |
| | | return { |
| | | on: { |
| | | click: (e) => { |
| | | //å°å½åéä¸çè®°å½ä¼ å°åé¡µé¢ |
| | | this.$bus.$emit('getToolingStorageData', record) |
| | | //ç¹å»å½åè¡åè² |
| | | let oldList = document.querySelectorAll('.checked-td-of-add-table') |
| | | if (oldList) { |
| | | for (let j = 0; j < oldList.length; j++) { |
| | | oldList[j].classList.remove('checked-td-of-add-table') |
| | | } |
| | | } |
| | | } |
| | | let children = e.target.parentNode.children |
| | | for (let i = 0; i < children.length; i++) { |
| | | children[i].classList.add('checked-td-of-add-table') |
| | | } |
| | | let children = e.target.parentNode.children |
| | | for (let i = 0; i < children.length; i++) { |
| | | children[i].classList.add('checked-td-of-add-table') |
| | | } |
| | | }, |
| | | }, |
| | | }, |
| | | } |
| | | }, |
| | | } |
| | | }, |
| | | |
| | | handleExportXls(fileName){ |
| | | if(!fileName || typeof fileName != "string"){ |
| | | fileName = "å¯¼åºæä»¶" |
| | | } |
| | | let param = this.getQueryParams(); |
| | | if(this.selectedRowKeys && this.selectedRowKeys.length>0){ |
| | | param['selections'] = this.selectedRowKeys.join(",") |
| | | } |
| | | |
| | | |
| | | |
| | | console.log("导åºåæ°",param) |
| | | downFile(this.url.exportXlsUrl,param).then((data)=>{ |
| | | if (!data) { |
| | | // this.$message.warning("æä»¶ä¸è½½å¤±è´¥") |
| | | this.$notification.warning({ |
| | | message:'æ¶æ¯', |
| | | description:"æä»¶ä¸è½½å¤±è´¥" |
| | | }); |
| | | return |
| | | } |
| | | if (typeof window.navigator.msSaveBlob !== 'undefined') { |
| | | window.navigator.msSaveBlob(new Blob([data],{type: 'application/vnd.ms-excel'}), fileName+'.xls') |
| | | }else{ |
| | | let url = window.URL.createObjectURL(new Blob([data],{type: 'application/vnd.ms-excel'})) |
| | | let link = document.createElement('a') |
| | | link.style.display = 'none' |
| | | link.href = url |
| | | link.setAttribute('download', fileName+'.xls') |
| | | document.body.appendChild(link) |
| | | link.click() |
| | | document.body.removeChild(link); //ä¸è½½å®æç§»é¤å
ç´ |
| | | window.URL.revokeObjectURL(url); //éæ¾æblob对象 |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | /* 导å
¥ */ |
| | | handleImportExcel(info){ |
| | | this.loading = true; |
| | | if (info.file.status !== 'uploading') { |
| | | console.log(info.file, info.fileList); |
| | | } |
| | | if (info.file.status === 'done') { |
| | | this.loading = false; |
| | | if (info.file.response.success) { |
| | | // this.$message.success(`${info.file.name} æä»¶ä¸ä¼ æå`); |
| | | if (info.file.response.code === 201) { |
| | | let { message, result: { msg, fileUrl, fileName } } = info.file.response |
| | | let href = window._CONFIG['domianURL'] + fileUrl |
| | | this.$warning({ |
| | | title: message, |
| | | content: (<div> |
| | | <span>{msg}</span><br/> |
| | | <span>å
·ä½è¯¦æ
请 <a href={href} target="_blank" download={fileName}>ç¹å»ä¸è½½</a> </span> |
| | | </div> |
| | | ) |
| | | }) |
| | | } else { |
| | | // this.$message.success(info.file.response.message || `${info.file.name} æä»¶ä¸ä¼ æå`) |
| | | this.$notification.success({ |
| | | message:'æ¶æ¯', |
| | | description:info.file.response.message || `${info.file.name} æä»¶ä¸ä¼ æå` |
| | | }); |
| | | } |
| | | this.loadData() |
| | | } else { |
| | | // this.$message.error(`${info.file.name} ${info.file.response.message}.`); |
| | | this.$notification.error({ |
| | | message:'æ¶æ¯', |
| | | description:`${info.file.name} ${info.file.response.message}.` |
| | | }); |
| | | } |
| | | } else if (info.file.status === 'error') { |
| | | this.loading = false; |
| | | if (info.file.response.status === 500) { |
| | | let data = info.file.response |
| | | const token = Vue.ls.get(ACCESS_TOKEN) |
| | | if (token && data.message.includes("Token失æ")) { |
| | | this.$error({ |
| | | title: 'ç»å½å·²è¿æ', |
| | | content: '徿±æï¼ç»å½å·²è¿æï¼è¯·éæ°ç»å½', |
| | | okText: 'éæ°ç»å½', |
| | | mask: false, |
| | | onOk: () => { |
| | | store.dispatch('Logout').then(() => { |
| | | Vue.ls.remove(ACCESS_TOKEN) |
| | | window.location.reload(); |
| | | }) |
| | | } |
| | | }) |
| | | } |
| | | } else { |
| | | // this.$message.error(`æä»¶ä¸ä¼ 失败: ${info.file.msg} `); |
| | | this.$notification.error({ |
| | | message:'æ¶æ¯', |
| | | description:`æä»¶ä¸ä¼ 失败: ${info.file.msg} ` |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | } |
| | | } |
| | | </script> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template > |
| | | <a-card :bordered="false" :body-style="{ padding: '0 24px 24px 24px' }"> |
| | | <a-tabs default-active-key="1"> |
| | | <a-tab-pane key="1" tab="åå
·ä¿¡æ¯"> |
| | | <cutting-tool-list ref="cuttingToolList"></cutting-tool-list> |
| | | </a-tab-pane> |
| | | <a-tab-pane key="2" tab="åå
·åºå"> |
| | | <cutting-inventory-list ref="cuttingInventoryList"></cutting-inventory-list> |
| | | </a-tab-pane> |
| | | <a-tab-pane key="3" tab="åå
·é¢å®å¯¿å½"> |
| | | <rated-life-list ref="RatedLifeList"></rated-life-list> |
| | | </a-tab-pane> |
| | | </a-tabs> |
| | | </a-card> |
| | | </template> |
| | | |
| | | <script> |
| | | import CuttingToolList from './CuttingToolList' |
| | | import CuttingInventoryList from './CuttingInventoryList' |
| | | import RatedLifeList from './RatedLifeList.vue' |
| | | |
| | | export default { |
| | | name: 'åå
·å°è´¦', |
| | | components: { |
| | | CuttingToolList, |
| | | CuttingInventoryList, |
| | | RatedLifeList, |
| | | }, |
| | | data() { |
| | | return {} |
| | | }, |
| | | methods: { |
| | | callback(key) { |
| | | console.log('忢å°é¡µç¾:', key) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | @import '~@assets/less/common.less'; |
| | | |
| | | </style> |
| | |
| | | <template> |
| | | <a-card :bordered="false"> |
| | | <a-card :bordered="false" > |
| | | <!-- æ¥è¯¢åºå --> |
| | | <div class="table-page-search-wrapper"> |
| | | <a-form layout="inline" @keyup.enter.native="searchQuery"> |
| | |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="6" :sm="8"> |
| | | <a-form-item label="åå
·åç§°"> |
| | | <a-input placeholder="请è¾å
¥åå
·åç§°" v-model="queryParam.cuttingName" /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-form-item label="åå
·åç§°"> |
| | | <a-input placeholder="请è¾å
¥åå
·åç§°" v-model="queryParam.cuttingName" /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="6" :sm="8"> |
| | | <a-form-item label="åå
·åç±»"> |
| | | <j-search-select-tag |
| | | placeholder="è¯·éæ©åå
·åç±»" |
| | | v-model="queryParam.cuttingCategory" |
| | | dict="cutting_category" |
| | | /> |
| | | </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-form-item label="åå
·åç±»"> |
| | | <j-search-select-tag |
| | | placeholder="è¯·éæ©åå
·åç±»" |
| | | v-model="queryParam.cuttingCategory" |
| | | dict="cutting_category" |
| | | /> |
| | | </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> |
| | | </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" |
| | | :loading="loading" |
| | | :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange,type:'radio'}" |
| | | :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type:'radio'}" |
| | | class="j-table-force-nowrap" |
| | | :customRow="customRow" |
| | | @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;"/> |
| | | <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' |
| | | import CuttingToolModal from './modules/CuttingToolModal' |
| | | import CuttingPropertiesList from './CuttingPropertiesList' |
| | | import JDictSelectTag from '@/components/dict/JDictSelectTag' |
| | | import JSearchSelectTag from '@/components/dict/JSearchSelectTag' |
| | | |
| | | import '@/assets/less/TableExpand.less' |
| | | import { mixinDevice } from '@/utils/mixin' |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import CuttingToolModal from './modules/CuttingToolModal' |
| | | import CuttingPropertiesList from './CuttingPropertiesList' |
| | | import JDictSelectTag from '@/components/dict/JDictSelectTag' |
| | | import JSearchSelectTag from '@/components/dict/JSearchSelectTag' |
| | | |
| | | export default { |
| | | name: 'CuttingToolList', |
| | | mixins:[JeecgListMixin, mixinDevice], |
| | | components: { |
| | | CuttingToolModal,CuttingPropertiesList, JDictSelectTag, |
| | | export default { |
| | | name: 'CuttingToolList', |
| | | mixins: [JeecgListMixin, mixinDevice], |
| | | components: { |
| | | CuttingToolModal, |
| | | CuttingPropertiesList, |
| | | JDictSelectTag, |
| | | JSearchSelectTag |
| | | }, |
| | | data () { |
| | | return { |
| | | description: 'åå
·ä¿¡æ¯ç®¡ç页é¢', |
| | | // 表头 |
| | | columns: [ |
| | | { |
| | | title: '#', |
| | | dataIndex: '', |
| | | key:'rowIndex', |
| | | width:60, |
| | | align:"center", |
| | | customRender:function (t,r,index) { |
| | | return parseInt(index)+1; |
| | | } |
| | | }, |
| | | { |
| | | title:'åå
·ç¼ç ', |
| | | align:"center", |
| | | dataIndex: 'cuttingCode' |
| | | }, |
| | | { |
| | | title:'åå
·åç§°', |
| | | align:"center", |
| | | dataIndex: 'cuttingName' |
| | | }, |
| | | { |
| | | title:'åå
·åç±»', |
| | | align:"center", |
| | | dataIndex: 'cuttingCategory' |
| | | }, |
| | | { |
| | | title:'åæ¾ä½ç½®', |
| | | align:"center", |
| | | dataIndex: 'storeLocation' |
| | | }, |
| | | { |
| | | title:'ä¾åºå', |
| | | align:"center", |
| | | dataIndex: 'supplierId' |
| | | }, |
| | | { |
| | | title:'æå°å
è£
åä½', |
| | | align:"center", |
| | | dataIndex: 'minimumPackageUnit' |
| | | }, |
| | | { |
| | | title:'åå
·æè´¨', |
| | | align:"center", |
| | | dataIndex: 'cuttingMaterial' |
| | | }, |
| | | { |
| | | title:'åå·', |
| | | align:"center", |
| | | dataIndex: 'cuttingModel' |
| | | }, |
| | | { |
| | | title:'å¾å·', |
| | | align:"center", |
| | | dataIndex: 'drawingNumber' |
| | | }, |
| | | { |
| | | title:'åºåé¢è¦å¼', |
| | | align:"center", |
| | | dataIndex: 'inventoryWarning' |
| | | }, |
| | | { |
| | | title:'夿³¨', |
| | | align:"center", |
| | | dataIndex: 'remark' |
| | | }, |
| | | { |
| | | title: 'æä½', |
| | | dataIndex: 'action', |
| | | align:"center", |
| | | fixed:"right", |
| | | width:147, |
| | | scopedSlots: { customRender: 'action' } |
| | | } |
| | | ], |
| | | url: { |
| | | list: "/cms/cuttingTool/getCuttingToolList", |
| | | delete: "/cms/cuttingTool/delete", |
| | | deleteBatch: "/cms/cuttingTool/deleteBatch", |
| | | exportXlsUrl: "/cms/cuttingTool/exportXls", |
| | | importExcelUrl: "cms/cuttingTool/importExcel", |
| | | |
| | | }, |
| | | data() { |
| | | return { |
| | | description: 'åå
·ä¿¡æ¯ç®¡ç页é¢', |
| | | columns: [ |
| | | { |
| | | title: '#', |
| | | dataIndex: '', |
| | | key: 'rowIndex', |
| | | width: 60, |
| | | align: "center", |
| | | customRender: (t, r, index) => parseInt(index) + 1 |
| | | }, |
| | | dictOptions:{}, |
| | | superFieldList:[], |
| | | } |
| | | }, |
| | | created() { |
| | | this.getSuperFieldList(); |
| | | }, |
| | | computed: { |
| | | importExcelUrl: function(){ |
| | | return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; |
| | | { |
| | | title: 'åå
·ç¼ç ', |
| | | align: "center", |
| | | dataIndex: 'cuttingCode' |
| | | }, |
| | | { |
| | | title: 'åå
·åç§°', |
| | | align: "center", |
| | | dataIndex: 'cuttingName' |
| | | }, |
| | | { |
| | | title: 'åå
·åç±»', |
| | | align: "center", |
| | | dataIndex: 'cuttingCategory' |
| | | }, |
| | | { |
| | | title: 'åæ¾ä½ç½®', |
| | | align: "center", |
| | | dataIndex: 'storeLocation' |
| | | }, |
| | | { |
| | | title: 'ä¾åºå', |
| | | align: "center", |
| | | dataIndex: 'supplierId' |
| | | }, |
| | | { |
| | | title: 'æå°å
è£
åä½', |
| | | align: "center", |
| | | dataIndex: 'minimumPackageUnit' |
| | | }, |
| | | { |
| | | title: 'åå
·æè´¨', |
| | | align: "center", |
| | | dataIndex: 'cuttingMaterial' |
| | | }, |
| | | { |
| | | title: 'åå·', |
| | | align: "center", |
| | | dataIndex: 'cuttingModel' |
| | | }, |
| | | { |
| | | title: 'å¾å·', |
| | | align: "center", |
| | | dataIndex: 'drawingNumber' |
| | | }, |
| | | { |
| | | title: 'åºåé¢è¦å¼', |
| | | align: "center", |
| | | dataIndex: 'inventoryWarning' |
| | | }, |
| | | { |
| | | title: '夿³¨', |
| | | align: "center", |
| | | dataIndex: 'remark' |
| | | }, |
| | | { |
| | | title: 'æä½', |
| | | dataIndex: 'action', |
| | | align: "center", |
| | | fixed: "right", |
| | | width: 147, |
| | | scopedSlots: { customRender: 'action' } |
| | | } |
| | | ], |
| | | url: { |
| | | list: "/cms/cuttingTool/getCuttingToolList", |
| | | delete: "/cms/cuttingTool/delete", |
| | | deleteBatch: "/cms/cuttingTool/deleteBatch", |
| | | exportXlsUrl: "/cms/cuttingTool/exportXls", |
| | | importExcelUrl: "cms/cuttingTool/importExcel" |
| | | }, |
| | | }, |
| | | methods: { |
| | | customRow(record) { |
| | | return { |
| | | dictOptions: {}, |
| | | superFieldList: [] |
| | | } |
| | | }, |
| | | computed: { |
| | | importExcelUrl() { |
| | | return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; |
| | | } |
| | | }, |
| | | created() { |
| | | this.getSuperFieldList(); |
| | | }, |
| | | methods: { |
| | | customRow(record) { |
| | | return { |
| | | on: { |
| | | click: e => { |
| | | this.onSelectChange(record.id.split(","), [record]); |
| | | click: () => { |
| | | this.onSelectChange([record.id], [record]); |
| | | } |
| | | } |
| | | }; |
| | | }, |
| | | onSelectChange(selectedRowKeys) { |
| | | this.selectedRowKeys = selectedRowKeys; |
| | | this.$refs.cuttingPropertiesList.getCuttingProperties(selectedRowKeys[0]); |
| | | }, |
| | | handleEdit: function (record) { |
| | | this.$refs.modalForm.edit(record) |
| | | this.$refs.modalForm.title = 'ç¼è¾' |
| | | this.$refs.modalForm.disableSubmit = false |
| | | onSelectChange(selectedRowKeys) { |
| | | this.selectedRowKeys = selectedRowKeys; |
| | | if (selectedRowKeys.length > 0) { |
| | | this.$refs.cuttingPropertiesList.getCuttingProperties(selectedRowKeys[0]); |
| | | } |
| | | }, |
| | | 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.title = "详æ
"; |
| | | this.$refs.modalForm.disableSubmit = true; |
| | | }, |
| | | searchQuery() { |
| | |
| | | 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'; |
| | | @import '~@assets/less/common.less'; |
| | | </style> |
| | |
| | | <!-- æä½æé®åºå --> |
| | | <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-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> --> |
| | | </a-upload> |
| | | </div> |
| | | |
| | | <!-- tableåºå-begin --> |
| | |
| | | { |
| | | title:'åå
·ç¼ç ', |
| | | align:"center", |
| | | dataIndex: 'cuttingId' |
| | | dataIndex: 'cuttingId', |
| | | sorter: true |
| | | }, |
| | | { |
| | | title:'工件æè´¨', |
| | |
| | | deleteBatch: "/cms/ratedLife/deleteBatch", |
| | | exportXlsUrl: "/cms/ratedLife/exportXls", |
| | | importExcelUrl: "cms/ratedLife/importExcel", |
| | | |
| | | |
| | | }, |
| | | dictOptions:{}, |
| | | superFieldList:[], |
| | |
| | | initDictConfig(){ |
| | | }, |
| | | 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 |
| | | }, |
| | | getSuperFieldList(){ |
| | | let fieldList=[]; |
| | |
| | | slot-scope='text, record, index' |
| | | > |
| | | <div :key="col.dataIndex"> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | <a-input |
| | | :value="text" |
| | |
| | | } |
| | | this.$nextTick(() => { |
| | | this.form.setFieldsValue( |
| | | pick(this.model, 'cuttingCode', 'cuttingName', 'cuttingCategory', 'storeLocation','cuttingModel', 'supplierId', 'minimumPackageUnit', |
| | | pick(this.model, 'cuttingCode', 'cuttingName', 'cuttingCategory', 'storeLocation','cuttingModel', 'supplierId', 'minimumPackageUnit', |
| | | 'cuttingMaterial','drawingNumber','inventoryWarning','remark') |
| | | ) |
| | | }) |
| | |
| | | this.deletePropertiesIds.push(record.id); |
| | | } |
| | | }, |
| | | |
| | | handleOk() { |
| | | const that = this |
| | | let dataSource = that.dataSource; |
| | |
| | | handleCancel() { |
| | | this.close() |
| | | }, |
| | | |
| | | |
| | | //æ·»å æ©å±å±æ§ |
| | | addPropertiesList() { |
| | | const temp = [...(this.dataSource || [])] |
| | |
| | | <a-row> |
| | | <a-col :span="24"> |
| | | <a-form-model-item label="åå
·ç¼ç " :labelCol="labelCol" :wrapperCol="wrapperCol" prop="cuttingId"> |
| | | <a-input v-model="model.cuttingId" placeholder="请è¾å
¥åå
·ç¼ç " ></a-input> |
| | | <!-- <a-input v-model="model.cuttingId" placeholder="请è¾å
¥åå
·ç¼ç " ></a-input>--> |
| | | <j-search-select-tag |
| | | placeholder="è¯·éæ©åå
·ç¼ç " |
| | | v-model="model.cuttingId" |
| | | :remoteSearch="true" |
| | | :async="true" |
| | | dict="cms_cutting_tool,cutting_code,cutting_code" |
| | | /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="24"> |
| | |
| | | that.confirmLoading = false; |
| | | }) |
| | | } |
| | | |
| | | |
| | | }) |
| | | }, |
| | | } |
| | |
| | | } |
| | | ], |
| | | url: { |
| | | list: "/meskittingcompletenesscheck/mesKittingCompletenessCheck/list", |
| | | delete: "/meskittingcompletenesscheck/mesKittingCompletenessCheck/delete", |
| | | deleteBatch: "/meskittingcompletenesscheck/mesKittingCompletenessCheck/deleteBatch", |
| | | exportXlsUrl: "/meskittingcompletenesscheck/mesKittingCompletenessCheck/exportXls", |
| | | importExcelUrl: "meskittingcompletenesscheck/mesKittingCompletenessCheck/importExcel", |
| | | list: "/mes/mesKittingCompletenessCheck/list", |
| | | delete: "/mes/mesKittingCompletenessCheck/delete", |
| | | deleteBatch: "/mes/mesKittingCompletenessCheck/deleteBatch", |
| | | exportXlsUrl: "/mes/mesKittingCompletenessCheck/exportXls", |
| | | importExcelUrl: "mes/mesKittingCompletenessCheck/importExcel", |
| | | |
| | | }, |
| | | dictOptions:{}, |
| | |
| | | <!-- æä½æé®åºå --> |
| | | <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> |
| | | |
| | |
| | | |
| | | <script> |
| | | |
| | | import '@/assets/less/TableExpand.less' |
| | | import { mixinDevice } from '@/utils/mixin' |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import MesMaterialTransferRequestModal from './modules/MesMaterialTransferRequestModal' |
| | | import {filterMultiDictText} from '@/components/dict/JDictSelectUtil' |
| | | import '@/assets/less/TableExpand.less' |
| | | import { mixinDevice } from '@/utils/mixin' |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import MesMaterialTransferRequestModal from './modules/MesMaterialTransferRequestModal' |
| | | |
| | | export default { |
| | | name: 'MesMaterialTransferRequestList', |
| | | mixins:[JeecgListMixin, mixinDevice], |
| | | components: { |
| | | MesMaterialTransferRequestModal |
| | | }, |
| | | data () { |
| | | return { |
| | | description: 'ç©ææå¨ç³è¯·ç®¡ç页é¢', |
| | | // 表头 |
| | | columns: [ |
| | | { |
| | | title: '#', |
| | | dataIndex: '', |
| | | key:'rowIndex', |
| | | width:60, |
| | | align:"center", |
| | | customRender:function (t,r,index) { |
| | | return parseInt(index)+1; |
| | | } |
| | | }, |
| | | { |
| | | title:'å 餿 è®°', |
| | | align:"center", |
| | | dataIndex: 'delFlag' |
| | | }, |
| | | { |
| | | title:'æå¨åå·', |
| | | align:"center", |
| | | dataIndex: 'requestCode' |
| | | }, |
| | | { |
| | | title:'å·¥åID', |
| | | align:"center", |
| | | dataIndex: 'workOrderId' |
| | | }, |
| | | { |
| | | title:'SAPé¢çå·', |
| | | align:"center", |
| | | dataIndex: 'reservationCode' |
| | | }, |
| | | { |
| | | title:'åå¸ç¶æ', |
| | | align:"center", |
| | | dataIndex: 'publishStatus_dictText' |
| | | }, |
| | | { |
| | | title:'请æ±ç¶æ', |
| | | align:"center", |
| | | dataIndex: 'requestStatus_dictText' |
| | | }, |
| | | { |
| | | title:'è¯·æ±æ¶é´', |
| | | align:"center", |
| | | dataIndex: 'requestTime' |
| | | }, |
| | | { |
| | | title:'ååºåå°', |
| | | align:"center", |
| | | dataIndex: 'originalWarehouseId' |
| | | }, |
| | | { |
| | | title:'ç®æ åºåå°', |
| | | align:"center", |
| | | dataIndex: 'targetWarehouseId' |
| | | }, |
| | | { |
| | | title:'ä¼å
çº§ï¼æå¨ç±»åï¼', |
| | | align:"center", |
| | | dataIndex: 'priority_dictText' |
| | | }, |
| | | { |
| | | title:'ææé
éæ¶é´', |
| | | align:"center", |
| | | dataIndex: 'latestDeliveryTime' |
| | | }, |
| | | { |
| | | title: 'æä½', |
| | | dataIndex: 'action', |
| | | align:"center", |
| | | fixed:"right", |
| | | width:147, |
| | | scopedSlots: { customRender: 'action' } |
| | | export default { |
| | | name: 'MesMaterialTransferRequestList', |
| | | mixins: [JeecgListMixin, mixinDevice], |
| | | components: { |
| | | MesMaterialTransferRequestModal |
| | | }, |
| | | data() { |
| | | return { |
| | | description: 'ç©ææå¨ç³è¯·ç®¡ç页é¢', |
| | | // 表头 |
| | | columns: [ |
| | | { |
| | | title: '#', |
| | | dataIndex: '', |
| | | key: 'rowIndex', |
| | | width: 60, |
| | | align: 'center', |
| | | customRender: function(t, r, index) { |
| | | return parseInt(index) + 1 |
| | | } |
| | | ], |
| | | url: { |
| | | list: "/mesmaterialtransferrequest/mesMaterialTransferRequest/list", |
| | | delete: "/mesmaterialtransferrequest/mesMaterialTransferRequest/delete", |
| | | deleteBatch: "/mesmaterialtransferrequest/mesMaterialTransferRequest/deleteBatch", |
| | | exportXlsUrl: "/mesmaterialtransferrequest/mesMaterialTransferRequest/exportXls", |
| | | importExcelUrl: "mesmaterialtransferrequest/mesMaterialTransferRequest/importExcel", |
| | | |
| | | }, |
| | | dictOptions:{}, |
| | | superFieldList:[], |
| | | } |
| | | }, |
| | | 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 |
| | | { |
| | | title: 'æå¨åå·', |
| | | align: 'center', |
| | | dataIndex: 'requestCode' |
| | | }, |
| | | { |
| | | title: 'å·¥åID', |
| | | align: 'center', |
| | | dataIndex: 'workOrderId' |
| | | }, |
| | | { |
| | | title: 'SAPé¢çå·', |
| | | align: 'center', |
| | | dataIndex: 'reservationCode' |
| | | }, |
| | | { |
| | | title: 'åå¸ç¶æ', |
| | | align: 'center', |
| | | dataIndex: 'publishStatus_dictText' |
| | | }, |
| | | { |
| | | title: '请æ±ç¶æ', |
| | | align: 'center', |
| | | dataIndex: 'requestStatus_dictText' |
| | | }, |
| | | { |
| | | title: 'è¯·æ±æ¶é´', |
| | | align: 'center', |
| | | dataIndex: 'requestTime' |
| | | }, |
| | | { |
| | | title: 'ååºåå°', |
| | | align: 'center', |
| | | dataIndex: 'originalWarehouseId' |
| | | }, |
| | | { |
| | | title: 'ç®æ åºåå°', |
| | | align: 'center', |
| | | dataIndex: 'targetWarehouseId' |
| | | }, |
| | | { |
| | | title: 'ä¼å
çº§ï¼æå¨ç±»åï¼', |
| | | align: 'center', |
| | | dataIndex: 'priority_dictText' |
| | | }, |
| | | { |
| | | title: 'ææé
éæ¶é´', |
| | | align: 'center', |
| | | dataIndex: 'latestDeliveryTime' |
| | | }, |
| | | { |
| | | title: 'æä½', |
| | | dataIndex: 'action', |
| | | align: 'center', |
| | | fixed: 'right', |
| | | width: 147, |
| | | scopedSlots: { customRender: 'action' } |
| | | } |
| | | ], |
| | | url: { |
| | | list: '/mes/mesMaterialTransferRequest/list', |
| | | delete: '/mes/mesMaterialTransferRequest/delete', |
| | | deleteBatch: '/mes/mesMaterialTransferRequest/deleteBatch' |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | created() { |
| | | }, |
| | | computed: {}, |
| | | methods: {} |
| | | } |
| | | </script> |
| | | <style scoped> |
| | | @import '~@assets/less/common.less'; |
| | | @import '~@assets/less/common.less'; |
| | | </style> |
| | |
| | | ] |
| | | }, |
| | | url: { |
| | | list: '/mesproductionwork/mesProductionOrder/list', |
| | | delete: '/mesproductionwork/mesProductionOrder/delete', |
| | | deleteBatch: '/mesproductionwork/mesProductionOrder/deleteBatch', |
| | | exportXlsUrl: '/mesproductionwork/mesProductionOrder/exportXls', |
| | | importExcelUrl: 'mesproductionwork/mesProductionOrder/importExcel', |
| | | queryWorkReportingByOrderId:'/mesworkreporting/mesWorkReporting/queryWorkReportingByOrderId', |
| | | queryOrderPrintByOrderId:'/mestransferorderprint/mesTransferOrderPrint/queryOrderPrintByOrderId' |
| | | list: '/mes/productionOrder/list', |
| | | delete: '/mes/productionOrder/delete', |
| | | deleteBatch: '/mes/productionOrder/deleteBatch', |
| | | exportXlsUrl: '/mes/productionOrder/exportXls', |
| | | importExcelUrl: 'mes/productionOrder/importExcel', |
| | | queryWorkReportingByOrderId:'/mes/mesWorkReporting/queryWorkReportingByOrderId', |
| | | queryOrderPrintByOrderId:'/mes/mesTransferOrderPrint/queryOrderPrintByOrderId' |
| | | }, |
| | | dictOptions: {}, |
| | | superFieldList: [] |
| | |
| | | } |
| | | ], |
| | | url: { |
| | | list: '/mesproductionworkorder/mesProductionWorkOrder/list', |
| | | delete: '/mesproductionworkorder/mesProductionWorkOrder/delete', |
| | | deleteBatch: '/mesproductionworkorder/mesProductionWorkOrder/deleteBatch', |
| | | exportXlsUrl: '/mesproductionworkorder/mesProductionWorkOrder/exportXls', |
| | | importExcelUrl: 'mesproductionworkorder/mesProductionWorkOrder/importExcel', |
| | | list: '/mes/mesProductionWorkOrder/list', |
| | | delete: '/mes/mesProductionWorkOrder/delete', |
| | | deleteBatch: '/mes/mesProductionWorkOrder/deleteBatch', |
| | | exportXlsUrl: '/mes/mesProductionWorkOrder/exportXls', |
| | | importExcelUrl: 'mes/mesProductionWorkOrder/importExcel', |
| | | listProductionLinesOption: '/base/factory/queryIdTree', |
| | | schedule: '/mesproductionworkorder/mesProductionWorkOrder/schedule', |
| | | publish: '/mesproductionworkorder/mesProductionWorkOrder/publish' |
| | | schedule: '/mes/mesProductionWorkOrder/schedule', |
| | | publish: '/mes/mesProductionWorkOrder/publish' |
| | | }, |
| | | dictOptions: {}, |
| | | superFieldList: [], |
| | |
| | | </template> |
| | | </j-vxe-table> |
| | | </a-tab-pane> |
| | | <a-tab-pane tab="ç©ææå¨ç³è¯·" :key="refKeys2[0]" :forceRender="true"> |
| | | <div style="display: flex; align-items: center; margin-bottom: 10px;"> |
| | | </div> |
| | | <j-vxe-table |
| | | keep-source |
| | | :ref="refKeys2[0]" |
| | | :loading="mesMaterialTransferRequest.loading" |
| | | :columns="mesMaterialTransferRequest.columns" |
| | | :dataSource="mesMaterialTransferRequest.dataSource" |
| | | :maxHeight="300" |
| | | :rowNumber="true" |
| | | :rowSelection="true" |
| | | :toolbar="false"> |
| | | <template slot="showTransferDetail" slot-scope="{row}"> |
| | | <a-button type="primary" @click="handleTransferDetail(row)" size="small"> |
| | | <a-icon type="eye" />ç©ææå¨æç» |
| | | </a-button> |
| | | </template> |
| | | </j-vxe-table> |
| | | </a-tab-pane> |
| | | <a-tab-pane tab="ä¸ä¸ææ¥è¯¢" :key="refKeys3[0]" :forceRender="true"> |
| | | <div style="display: flex; align-items: center; margin-bottom: 10px;"> |
| | | </div> |
| | |
| | | // 工忥工 |
| | | refKeys1: ['mesWorkReporting'], |
| | | tableKeys1: ['mesWorkReporting'], |
| | | //ç©ææå¨ç³è¯· |
| | | refKeys2: ['mesMaterialTransferRequest'], |
| | | tableKeys2: ['mesMaterialTransferRequest'], |
| | | //䏿 |
| | | refKeys3: ['mesMaterialLoading'], |
| | | tableKeys3: ['mesMaterialLoading'], |
| | |
| | | }, |
| | | ] |
| | | }, |
| | | mesMaterialTransferRequest: { |
| | | loading: false, |
| | | dataSource: [], |
| | | columns: [ |
| | | { |
| | | title: 'æä½', |
| | | key: 'action', |
| | | type: JVXETypes.slot, |
| | | slotName: 'showTransferDetail', |
| | | width: '120px', |
| | | align: 'center' |
| | | }, |
| | | { |
| | | title: 'æå¨åå·', |
| | | key: 'requestCode', |
| | | type: JVXETypes.input, |
| | | width: '200px', |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '' |
| | | }, |
| | | { |
| | | title: 'å·¥åå·', |
| | | key: 'workOrderCode', |
| | | type: JVXETypes.input, |
| | | width: '200px', |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '' |
| | | }, |
| | | { |
| | | title: 'SAPé¢çå·', |
| | | key: 'reservationCode', |
| | | type: JVXETypes.input, |
| | | width: '200px', |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '' |
| | | }, |
| | | { |
| | | title: 'åå¸ç¶æ', |
| | | key: 'publishStatus', |
| | | type: JVXETypes.input, |
| | | width: '200px', |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '' |
| | | }, |
| | | { |
| | | title: '请æ±ç¶æ', |
| | | key: 'requestStatus', |
| | | type: JVXETypes.input, |
| | | width: '200px', |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '' |
| | | }, |
| | | { |
| | | title: 'è¯·æ±æ¶é´', |
| | | key: 'requestTime', |
| | | type: JVXETypes.input, |
| | | width: '200px', |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '' |
| | | }, |
| | | { |
| | | title: 'ååºåå°', |
| | | key: 'originalWarehouseName', |
| | | type: JVXETypes.input, |
| | | width: '200px', |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '' |
| | | }, |
| | | { |
| | | title: 'ç®æ åºåå°', |
| | | key: 'targetWarehouseName', |
| | | type: JVXETypes.input, |
| | | width: '200px', |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '' |
| | | }, |
| | | { |
| | | title: 'ä¼å
级', |
| | | key: 'priority', |
| | | type: JVXETypes.select, |
| | | dictCode: 'priority', |
| | | width: '200px', |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '' |
| | | }, |
| | | { |
| | | title: 'ææé
éæ¶é´', |
| | | key: 'latestDeliveryTime', |
| | | type: JVXETypes.input, |
| | | width: '200px', |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '' |
| | | }, |
| | | ] |
| | | }, |
| | | mesMaterialLoading: { |
| | | loading: false, |
| | | dataSource: [], |
| | |
| | | ] |
| | | }, |
| | | url: { |
| | | list: '/mesproductionworkorder/mesProductionWorkOrder/list', |
| | | delete: '/mesproductionworkorder/mesProductionWorkOrder/delete', |
| | | deleteBatch: '/mesproductionworkorder/mesProductionWorkOrder/deleteBatch', |
| | | exportXlsUrl: '/mesproductionworkorder/mesProductionWorkOrder/exportXls', |
| | | importExcelUrl: 'mesproductionworkorder/mesProductionWorkOrder/importExcel', |
| | | queryWorkReportingByWorkOrderId:'/mesworkreporting/mesWorkReporting/queryWorkReportingByWorkOrderId', |
| | | queryMaterialTransferRequestByWorkOrderId:'/mesmaterialtransferrequest/mesMaterialTransferRequest/queryMaterialTransferRequestByWorkOrderId', |
| | | list: '/mes/mesProductionWorkOrder/list', |
| | | delete: '/mes/mesProductionWorkOrder/delete', |
| | | deleteBatch: '/mes/mesProductionWorkOrder/deleteBatch', |
| | | exportXlsUrl: '/mes/mesProductionWorkOrder/exportXls', |
| | | importExcelUrl: 'mes/mesProductionWorkOrder/importExcel', |
| | | queryWorkReportingByWorkOrderId:'/mes/mesWorkReporting/queryWorkReportingByWorkOrderId', |
| | | queryLoadingByWorkOrderId:'/mes/mesMaterialLoading/queryLoadingByWorkOrderId', |
| | | queryCompletenessCheckByWorkOrderId:'/meskittingcompletenesscheck/mesKittingCompletenessCheck/queryCompletenessCheckByWorkOrderId', |
| | | queryOrderById:'/mesproductionwork/mesProductionOrder/queryById', |
| | | queryCompletenessCheckByWorkOrderId:'/mes/mesKittingCompletenessCheck/queryCompletenessCheckByWorkOrderId', |
| | | queryOrderById:'/mes/productionOrder/queryById', |
| | | queryUnloadingByLoadingId:'/mes/mesMaterialUnloading/queryUnloadingByLoadingId', |
| | | queryTransferDetailBy:'/mes/mesMaterialTransferDetail/queryTransferDetailBy', |
| | | publish: '/mesproductionworkorder/mesProductionWorkOrder/publish', |
| | | execute: '/mesproductionworkorder/mesProductionWorkOrder/execute', |
| | | publish: '/mes/mesProductionWorkOrder/publish', |
| | | execute: '/mes/mesProductionWorkOrder/execute', |
| | | }, |
| | | dictOptions: {}, |
| | | superFieldList: [] |
| | |
| | | this.$refs.MesProductionOrderModal.disableSubmit = true; |
| | | }, |
| | | async onSelectChange(selectedRowKeys){ |
| | | //mesWorkReporting,mesMaterialTransferRequest,mesMaterialLoading,mesKittingCompletenessCheck |
| | | //mesWorkReporting,·,mesMaterialLoading,mesKittingCompletenessCheck |
| | | this.mesWorkReporting.loading = true |
| | | this.mesMaterialTransferRequest.loading = true |
| | | this.mesMaterialLoading.loading = true |
| | | this.mesKittingCompletenessCheck.loading = true |
| | | |
| | | this.selectedRowKeys = selectedRowKeys |
| | | this.mesWorkReporting.dataSource=[] |
| | | this.mesMaterialTransferRequest.dataSource=[] |
| | | this.mesMaterialLoading.dataSource=[] |
| | | this.mesKittingCompletenessCheck.dataSource=[] |
| | | if (selectedRowKeys.length > 0) { |
| | |
| | | 'workOrderId':selectedId |
| | | } |
| | | const mesWorkReportingResult = await getAction(this.url.queryWorkReportingByWorkOrderId, parm) |
| | | const mesMaterialTransferRequestResult = await getAction(this.url.queryMaterialTransferRequestByWorkOrderId, parm) |
| | | const mesMaterialLoadingResult = await getAction(this.url.queryLoadingByWorkOrderId, parm) |
| | | const mesKittingCompletenessCheckResult = await getAction(this.url.queryCompletenessCheckByWorkOrderId, parm) |
| | | this.mesWorkReporting.dataSource = mesWorkReportingResult.result |
| | | this.mesMaterialTransferRequest.dataSource = mesMaterialTransferRequestResult.result |
| | | this.mesMaterialLoading.dataSource = mesMaterialLoadingResult.result |
| | | this.mesKittingCompletenessCheck.dataSource = mesKittingCompletenessCheckResult.result |
| | | this.mesWorkReporting.loading = false |
| | | this.mesMaterialTransferRequest.loading = false |
| | | this.mesMaterialLoading.loading = false |
| | | this.mesKittingCompletenessCheck.loading = false |
| | | } |
| | |
| | | } |
| | | ], |
| | | url: { |
| | | list: "/mestransferorderprint/mesTransferOrderPrint/list", |
| | | delete: "/mestransferorderprint/mesTransferOrderPrint/delete", |
| | | deleteBatch: "/mestransferorderprint/mesTransferOrderPrint/deleteBatch", |
| | | exportXlsUrl: "/mestransferorderprint/mesTransferOrderPrint/exportXls", |
| | | importExcelUrl: "mestransferorderprint/mesTransferOrderPrint/importExcel", |
| | | |
| | | list: "/mes/mesTransferOrderPrint/list", |
| | | delete: "/mes/mesTransferOrderPrint/delete", |
| | | deleteBatch: "/mes/mesTransferOrderPrint/deleteBatch", |
| | | exportXlsUrl: "/mes/mesTransferOrderPrint/exportXls", |
| | | importExcelUrl: "mes/mesTransferOrderPrint/importExcel", |
| | | |
| | | }, |
| | | dictOptions:{}, |
| | | superFieldList:[], |
| | |
| | | } |
| | | ], |
| | | url: { |
| | | list: "/mesworkreporting/mesWorkReporting/list", |
| | | delete: "/mesworkreporting/mesWorkReporting/delete", |
| | | deleteBatch: "/mesworkreporting/mesWorkReporting/deleteBatch", |
| | | exportXlsUrl: "/mesworkreporting/mesWorkReporting/exportXls", |
| | | importExcelUrl: "mesworkreporting/mesWorkReporting/importExcel", |
| | | list: "/mes/mesWorkReporting/list", |
| | | delete: "/mes/mesWorkReporting/delete", |
| | | deleteBatch: "/mes/mesWorkReporting/deleteBatch", |
| | | exportXlsUrl: "/mes/mesWorkReporting/exportXls", |
| | | importExcelUrl: "mes/mesWorkReporting/importExcel", |
| | | |
| | | }, |
| | | dictOptions:{}, |
| | |
| | | validatorRules: { |
| | | }, |
| | | url: { |
| | | add: "/meskittingcompletenesscheck/mesKittingCompletenessCheck/add", |
| | | edit: "/meskittingcompletenesscheck/mesKittingCompletenessCheck/edit", |
| | | queryById: "/meskittingcompletenesscheck/mesKittingCompletenessCheck/queryById" |
| | | add: "/mes/mesKittingCompletenessCheck/add", |
| | | edit: "/mes/mesKittingCompletenessCheck/edit", |
| | | queryById: "/mes/mesKittingCompletenessCheck/queryById" |
| | | } |
| | | } |
| | | }, |
| | |
| | | that.confirmLoading = false; |
| | | }) |
| | | } |
| | | |
| | | |
| | | }) |
| | | }, |
| | | } |
| | |
| | | <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" |
| | | } |
| | | } |
| | | }, |
| | |
| | | that.confirmLoading = false; |
| | | }) |
| | | } |
| | | |
| | | |
| | | }) |
| | | }, |
| | | } |
| | |
| | | url: { |
| | | report: '/mesworkreporting/mesWorkReporting/add', |
| | | selectReportWorkOrderList: '/mes/productionOrder/selectReportWorkOrderList', |
| | | workOrderCompletenessCheck: '/mesproductionworkorder/mesProductionWorkOrder/workOrderCompletenessCheck', |
| | | add: '/meskittingcompletenesscheck/mesKittingCompletenessCheck/addBatch' |
| | | workOrderCompletenessCheck: '/mes/mesProductionWorkOrder/workOrderCompletenessCheck', |
| | | add: '/mes/mesKittingCompletenessCheck/addBatch' |
| | | }, |
| | | workOrderOptions: [] |
| | | } |
| | |
| | | validatorRules: { |
| | | }, |
| | | url: { |
| | | add: "/mesproductionworkorder/mesProductionWorkOrder/add", |
| | | edit: "/mesproductionworkorder/mesProductionWorkOrder/edit", |
| | | queryById: "/mesproductionworkorder/mesProductionWorkOrder/queryById" |
| | | add: "/mes/mesProductionWorkOrder/add", |
| | | edit: "/mes/mesProductionWorkOrder/edit", |
| | | queryById: "/mes/mesProductionWorkOrder/queryById" |
| | | } |
| | | } |
| | | }, |
| | |
| | | workOrderDateOptions: [], |
| | | url: { |
| | | queryShiftGroupByFactoryId: '/base/shiftGroup/queryShiftGroupByFactoryId', |
| | | addSchedulePlan: '/mesproductionworkorder/mesProductionWorkOrder/addSchedulePlan' |
| | | addSchedulePlan: '/mes/mesProductionWorkOrder/addSchedulePlan' |
| | | }, |
| | | editRules: { |
| | | materialNumber: [ |
| | |
| | | sm: { span: 18 }, |
| | | }, |
| | | url: { |
| | | report: '/mesworkreporting/mesWorkReporting/add', |
| | | report: '/mes/mesWorkReporting/add', |
| | | selectReportWorkOrderList: '/mes/productionOrder/selectReportWorkOrderList' |
| | | }, |
| | | workOrderOptions: [] |
| | |
| | | sm: { span: 18 }, |
| | | }, |
| | | url: { |
| | | republish: '/mesproductionworkorder/mesProductionWorkOrder/republish' |
| | | republish: '/mes/mesProductionWorkOrder/republish' |
| | | } |
| | | } |
| | | }, |
| | |
| | | <!-- :layouts="['PrevPage', 'JumpNumber', 'NextPage', 'FullJump', 'Sizes', 'Total']"--> |
| | | <!-- @page-change="handlePageChange">--> |
| | | <!-- </vxe-pager>--> |
| | | </div> |
| | | </a-card> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | |
| | | }, |
| | | // 表头 |
| | | url: { |
| | | list: '/mesproductionworkorder/mesProductionWorkOrder/list', |
| | | delete: '/mesproductionworkorder/mesProductionWorkOrder/delete', |
| | | deleteBatch: '/mesproductionworkorder/mesProductionWorkOrder/deleteBatch', |
| | | exportXlsUrl: '/mesproductionworkorder/mesProductionWorkOrder/exportXls', |
| | | importExcelUrl: 'mesproductionworkorder/mesProductionWorkOrder/importExcel', |
| | | list: '/mes/mesProductionWorkOrder/list', |
| | | delete: '/mes/mesProductionWorkOrder/delete', |
| | | deleteBatch: '/mes/mesProductionWorkOrder/deleteBatch', |
| | | exportXlsUrl: '/mes/mesProductionWorkOrder/exportXls', |
| | | importExcelUrl: 'mes/mesProductionWorkOrder/importExcel', |
| | | listProductionLinesOption: '/base/factory/queryIdTree', |
| | | queryShiftGroupByFactoryId: '/base/shiftGroup/queryShiftGroupByFactoryId', |
| | | queryFactoryById: '/base/factory/queryById', |
| | | schedule: '/mesproductionworkorder/mesProductionWorkOrder/schedule', |
| | | addSchedulePlan: '/mesproductionworkorder/mesProductionWorkOrder/addSchedulePlan' |
| | | queryLswMaterialByProductionType: '/lsw/lswMaterial/queryLswMaterialByProductionType', |
| | | schedule: '/mes/mesProductionWorkOrder/schedule', |
| | | addSchedulePlan: '/mes/mesProductionWorkOrder/addSchedulePlan' |
| | | }, |
| | | editRules: { |
| | | materialNumber: [ |
| | |
| | | }); |
| | | promises.push(shiftGroupPromise); |
| | | |
| | | const materialNumberPromise = ajaxGetDictItems("lsw_material,material_name,material_number,del_flag!='1' order by material_number asc", null).then(res => { |
| | | const materialNumberPromise = getAction(this.url.queryLswMaterialByProductionType, { factoryId: factoryId }).then(res => { |
| | | if (res.success) { |
| | | this.materialOptions = res.result.map(item => { |
| | | return { |
| | | value: item.value, |
| | | label: item.value |
| | | value: item.materialNumber, |
| | | label: item.materialNumber |
| | | } |
| | | }); |
| | | }) |
| | | this.materNumberNameMap = res.result.reduce((map, item) => { |
| | | map[item.value] = item.text |
| | | map[item.materialNumber] = item.materialName |
| | | return map |
| | | }, {}) |
| | | } |
| | | }).catch(() => { |
| | | }); |
| | | }) |
| | | promises.push(materialNumberPromise); |
| | | |
| | | // çå¾
ææè¯·æ±å®æ |
| | |
| | | if (this.dateRange[0]) { |
| | | this.calendarStartDate = this.dateRange[0].clone().startOf('week'); |
| | | } |
| | | } else { |
| | | this.$message.error(res.message) |
| | | } |
| | | }) |
| | | }, |
| | |
| | | validatorRules: { |
| | | }, |
| | | url: { |
| | | add: "/mestransferorderprint/mesTransferOrderPrint/add", |
| | | edit: "/mestransferorderprint/mesTransferOrderPrint/edit", |
| | | queryById: "/mestransferorderprint/mesTransferOrderPrint/queryById" |
| | | add: "/mes/mesTransferOrderPrint/add", |
| | | edit: "/mes/mesTransferOrderPrint/edit", |
| | | queryById: "/mes/mesTransferOrderPrint/queryById" |
| | | } |
| | | } |
| | | }, |
| | |
| | | that.confirmLoading = false; |
| | | }) |
| | | } |
| | | |
| | | |
| | | }) |
| | | }, |
| | | } |
| | |
| | | validatorRules: { |
| | | }, |
| | | url: { |
| | | add: "/mesworkreporting/mesWorkReporting/add", |
| | | edit: "/mesworkreporting/mesWorkReporting/edit", |
| | | queryById: "/mesworkreporting/mesWorkReporting/queryById" |
| | | add: "/mes/mesWorkReporting/add", |
| | | edit: "/mes/mesWorkReporting/edit", |
| | | queryById: "/mes/mesWorkReporting/queryById" |
| | | } |
| | | } |
| | | }, |
| | |
| | | that.confirmLoading = false; |
| | | }) |
| | | } |
| | | |
| | | |
| | | }) |
| | | }, |
| | | } |