| | |
| | | }) |
| | | } |
| | | |
| | | export function WorkPieceOutboundRecordPage (parameter) { |
| | | return axios({ |
| | | url: '/WorkPieceOutbound/pageForRecord', |
| | | method: 'get', |
| | | params: parameter |
| | | }) |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 工件åºåºä¿¡æ¯å表 |
| | | * |
| | |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="colMd" :sm="colSm"> |
| | | <a-form-item label="åºåºäºº"> |
| | | <a-input v-model="queryParam.workPieceOutboundUserName" allow-clear placeholder="请è¾å
¥åºåºäºº" /> |
| | | <a-form-item label="å
¥åºäºº"> |
| | | <a-input v-model="queryParam.workPieceOutboundUserName" allow-clear placeholder="请è¾å
¥å
¥åºäºº" /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="colMd" :sm="colSm"> |
| | | <a-form-item label="åºåºæ¶é´"> |
| | | <a-form-item label="å
¥åºæ¶é´"> |
| | | <a-range-picker style="width:100%" :show-time="{format:'HH:mm'}" v-model="queryParam.dates" format="YYYY-MM-DD HH:mm" /> |
| | | </a-form-item> |
| | | </a-col> |
| | |
| | | // dataIndex: 'workPieceUnLineUserName' |
| | | // }, |
| | | { |
| | | title: 'åºåºæ¶é´', |
| | | title: 'å
¥åºæ¶é´', |
| | | align: 'center', |
| | | sorter: true, |
| | | dataIndex: 'workPieceOutboundTime' |
| | | }, |
| | | { |
| | | title: 'åºåºäºº', |
| | | title: 'å
¥åºäºº', |
| | | align: 'center', |
| | | sorter: true, |
| | | dataIndex: 'workPieceOutboundUserName' |
| | |
| | | allRevoke() { |
| | | this.$confirm({ |
| | | title: 'æ¤é确认', |
| | | content: 'ç¡®å®æ¤ééä¸å·¥ä»¶åºåºä¿¡æ¯ï¼', |
| | | content: 'ç¡®å®æ¤ééä¸å·¥ä»¶å
¥åºä¿¡æ¯ï¼', |
| | | onOk: () => { |
| | | this.WorkPieceOutboundDelete(this.selectedRows) |
| | | }, |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <a-modal |
| | | title="æ°å¢å·¥ä»¶åºåºä¿¡æ¯" |
| | | :width="900" |
| | | :visible="visible" |
| | | :confirmLoading="confirmLoading" |
| | | @ok="handleSubmit" |
| | | @cancel="handleCancel"> |
| | | <a-spin :spinning="confirmLoading"> |
| | | <a-form :form="form"> |
| | | <a-form-item label="工件å·" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-input placeholder="请è¾å
¥å·¥ä»¶å·" v-decorator="['workPieceID', {rules: [{required: true, message: '请è¾å
¥å·¥ä»¶å·ï¼'}]}]" /> |
| | | </a-form-item> |
| | | <a-form-item label="OP80æåç " :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-input placeholder="请è¾å
¥OP80æåç " v-decorator="['oP80NewCode', {rules: [{required: true, message: '请è¾å
¥OP80æåç ï¼'}]}]" /> |
| | | </a-form-item> |
| | | <a-form-item label="åºåºæ¶é´" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-date-picker style="width: 100%" placeholder="è¯·éæ©åºåºæ¶é´" v-decorator="['workPieceOutboundTime',{rules: [{ required: true, message: 'è¯·éæ©åºåºæ¶é´ï¼' }]}]" @change="onChangeworkPieceOutboundTime"/> |
| | | </a-form-item> |
| | | <a-form-item label="åºåºäºº" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-date-picker style="width: 100%" placeholder="è¯·éæ©åºåºäºº" v-decorator="['workPieceOutboundUser',{rules: [{ required: true, message: 'è¯·éæ©åºåºäººï¼' }]}]" @change="onChangeworkPieceOutboundUser"/> |
| | | </a-form-item> |
| | | </a-form> |
| | | </a-spin> |
| | | </a-modal> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | WorkPieceOutboundAdd |
| | | } from '@/api/modular/main/WorkPieceOutboundManage' |
| | | export default { |
| | | data () { |
| | | return { |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 5 } |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 15 } |
| | | }, |
| | | workPieceOutboundTimeDateString: '', |
| | | workPieceOutboundUserDateString: '', |
| | | visible: false, |
| | | confirmLoading: false, |
| | | form: this.$form.createForm(this) |
| | | } |
| | | }, |
| | | methods: { |
| | | // åå§åæ¹æ³ |
| | | add (record) { |
| | | this.visible = true |
| | | this.$nextTick(() => { |
| | | |
| | | }); |
| | | }, |
| | | /** |
| | | * æäº¤è¡¨å |
| | | */ |
| | | handleSubmit () { |
| | | const { form: { validateFields } } = this |
| | | this.confirmLoading = true |
| | | validateFields((errors, values) => { |
| | | if (!errors) { |
| | | for (const key in values) { |
| | | if (typeof (values[key]) === 'object') { |
| | | values[key] = JSON.stringify(values[key]) |
| | | } |
| | | } |
| | | values.workPieceOutboundTime = this.workPieceOutboundTimeDateString |
| | | values.workPieceOutboundUser = this.workPieceOutboundUserDateString |
| | | WorkPieceOutboundAdd(values).then((res) => { |
| | | if (res.success) { |
| | | this.$message.success('æ°å¢æå') |
| | | this.confirmLoading = false |
| | | this.$emit('ok', values) |
| | | this.handleCancel() |
| | | } else { |
| | | this.$message.error('æ°å¢å¤±è´¥ï¼' + JSON.stringify(res.message)) |
| | | } |
| | | }).finally((res) => { |
| | | this.confirmLoading = false |
| | | }) |
| | | } else { |
| | | this.confirmLoading = false |
| | | } |
| | | }) |
| | | }, |
| | | onChangeworkPieceOutboundTime(date, dateString) { |
| | | this.workPieceOutboundTimeDateString = dateString |
| | | }, |
| | | onChangeworkPieceOutboundUser(date, dateString) { |
| | | this.workPieceOutboundUserDateString = dateString |
| | | }, |
| | | handleCancel () { |
| | | this.form.resetFields() |
| | | this.visible = false |
| | | } |
| | | } |
| | | } |
| | | </script> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <a-modal |
| | | title="ç¼è¾å·¥ä»¶åºåºä¿¡æ¯" |
| | | :width="900" |
| | | :visible="visible" |
| | | :confirmLoading="confirmLoading" |
| | | @ok="handleSubmit" |
| | | @cancel="handleCancel"> |
| | | <a-spin :spinning="confirmLoading"> |
| | | <a-form :form="form"> |
| | | <a-form-item label="工件å·" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-input placeholder="请è¾å
¥å·¥ä»¶å·" v-decorator="['workPieceID', {rules: [{required: true, message: '请è¾å
¥å·¥ä»¶å·ï¼'}]}]" /> |
| | | </a-form-item> |
| | | <a-form-item label="OP80æåç " :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-input placeholder="请è¾å
¥OP80æåç " v-decorator="['oP80NewCode', {rules: [{required: true, message: '请è¾å
¥OP80æåç ï¼'}]}]" /> |
| | | </a-form-item> |
| | | <a-form-item label="åºåºæ¶é´" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-date-picker style="width: 100%" placeholder="è¯·éæ©åºåºæ¶é´" v-decorator="['workPieceOutboundTime',{rules: [{ required: true, message: 'è¯·éæ©åºåºæ¶é´ï¼' }]}]" @change="onChangeworkPieceOutboundTime"/> |
| | | </a-form-item> |
| | | <a-form-item label="åºåºäºº" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-date-picker style="width: 100%" placeholder="è¯·éæ©åºåºäºº" v-decorator="['workPieceOutboundUser',{rules: [{ required: true, message: 'è¯·éæ©åºåºäººï¼' }]}]" @change="onChangeworkPieceOutboundUser"/> |
| | | </a-form-item> |
| | | <a-form-item v-show="false"><a-input v-decorator="['id']" /></a-form-item> |
| | | </a-form> |
| | | </a-spin> |
| | | </a-modal> |
| | | </template> |
| | | |
| | | <script> |
| | | import moment from 'moment' |
| | | import { |
| | | WorkPieceOutboundEdit |
| | | } from '@/api/modular/main/WorkPieceOutboundManage' |
| | | export default { |
| | | data () { |
| | | return { |
| | | Id: 0, |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 5 } |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 15 } |
| | | }, |
| | | record: {}, |
| | | workPieceOutboundTimeDateString: '', |
| | | workPieceOutboundUserDateString: '', |
| | | visible: false, |
| | | confirmLoading: false, |
| | | form: this.$form.createForm(this) |
| | | } |
| | | }, |
| | | methods: { |
| | | moment, |
| | | // åå§åæ¹æ³ |
| | | edit (record) { |
| | | this.visible = true; |
| | | this.Id = record.id; |
| | | this.$nextTick(() => { |
| | | }); |
| | | //深度æ·è´ ç§»é¤VUEççå¬ï¼é²æ¢INDEX页é¢å¼åå¨ |
| | | this.record = JSON.parse(JSON.stringify(record)) |
| | | this.$nextTick(() => { |
| | | this.form.setFieldsValue( |
| | | { |
| | | id: record.id, |
| | | workPieceID: record.workPieceID, |
| | | oP80NewCode: record.oP80NewCode |
| | | } |
| | | ) |
| | | }) |
| | | this.form.getFieldDecorator('workPieceOutboundTime', { initialValue: moment(record.workPieceOutboundTime, 'YYYY-MM-DD') }) |
| | | this.workPieceOutboundTimeDateString = moment(record.workPieceOutboundTime).format('YYYY-MM-DD') |
| | | this.form.getFieldDecorator('workPieceOutboundUser', { initialValue: moment(record.workPieceOutboundUser, 'YYYY-MM-DD') }) |
| | | this.workPieceOutboundUserDateString = moment(record.workPieceOutboundUser).format('YYYY-MM-DD') |
| | | }, |
| | | handleSubmit () { |
| | | const { form: { validateFields } } = this |
| | | this.confirmLoading = true |
| | | validateFields((errors, values) => { |
| | | if (!errors) { |
| | | for (const key in values) { |
| | | if (values[key] == null) continue |
| | | if (typeof (values[key]) === 'object') { |
| | | values[key] = JSON.stringify(values[key]) |
| | | this.record[key] = values[key] |
| | | } else { |
| | | this.record[key] = values[key] |
| | | } |
| | | } |
| | | values.workPieceOutboundTime = this.workPieceOutboundTimeDateString |
| | | this.record.workPieceOutboundTime = this.workPieceOutboundTimeDateString |
| | | values.workPieceOutboundUser = this.workPieceOutboundUserDateString |
| | | this.record.workPieceOutboundUser = this.workPieceOutboundUserDateString |
| | | WorkPieceOutboundEdit(this.record).then((res) => { |
| | | if (res.success) { |
| | | this.$message.success('ç¼è¾æå') |
| | | this.confirmLoading = false |
| | | this.$emit('ok', this.record) |
| | | this.handleCancel() |
| | | } else { |
| | | this.$message.error('ç¼è¾å¤±è´¥ï¼' + JSON.stringify(res.message)) |
| | | } |
| | | }).finally((res) => { |
| | | this.confirmLoading = false |
| | | }) |
| | | }else{ |
| | | this.confirmLoading = false |
| | | } |
| | | }); |
| | | }, |
| | | onChangeworkPieceOutboundTime(date, dateString) { |
| | | this.workPieceOutboundTimeDateString = dateString |
| | | }, |
| | | onChangeworkPieceOutboundUser(date, dateString) { |
| | | this.workPieceOutboundUserDateString = dateString |
| | | }, |
| | | handleCancel () { |
| | | this.form.resetFields() |
| | | this.visible = false |
| | | } |
| | | } |
| | | } |
| | | </script> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div> |
| | | <a-card :bordered="false" :bodyStyle="tstyle"> |
| | | <div class="table-page-search-wrapper" v-if="hasPerm('WorkPieceOutbound:page')"> |
| | | <a-form layout="inline" :label-col="labelCol" :wrapper-col="wrapperCol"> |
| | | <a-row :gutter="gutter"> |
| | | <a-col :md="colMd" :sm="colSm"> |
| | | <a-form-item label="工件å·"> |
| | | <a-input v-model="queryParam.workPieceID" allow-clear placeholder="请è¾å
¥å·¥ä»¶å·" /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="colMd" :sm="colSm"> |
| | | <a-form-item label="æåç "> |
| | | <a-input v-model="queryParam.oP80NewCode" allow-clear placeholder="请è¾å
¥æåç " /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="colMd" :sm="colSm"> |
| | | <a-form-item label="æä½äºº"> |
| | | <a-input v-model="queryParam.workPieceOutboundUserName" allow-clear placeholder="请è¾å
¥æä½äºº" /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="colMd" :sm="colSm"> |
| | | <a-form-item label="æä½æ¶é´"> |
| | | <a-range-picker style="width:100%" :show-time="{format:'HH:mm'}" v-model="queryParam.dates" format="YYYY-MM-DD HH:mm" /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <template v-if="advanced"> |
| | | |
| | | </template> |
| | | |
| | | <a-col :md="colMd" :sm="colSm"> |
| | | <span class="table-page-search-submitButtons"> |
| | | <a-button type="primary" @click="$refs.table.refresh(true)">æ¥è¯¢</a-button> |
| | | <a-button style="margin-left: 8px" @click="() => (queryParam = {})">éç½®</a-button> |
| | | <!-- <a @click="toggleAdvanced" style="margin-left: 8px"> |
| | | {{ advanced ? 'æ¶èµ·' : 'å±å¼' }} |
| | | <a-icon :type="advanced ? 'up' : 'down'" /> |
| | | </a> --> |
| | | </span> |
| | | </a-col> |
| | | </a-row> |
| | | </a-form> |
| | | </div> |
| | | </a-card> |
| | | <a-card :bordered="false"> |
| | | <s-table |
| | | ref="table" |
| | | :columns="columns" |
| | | :data="loadData" |
| | | :alert="true" |
| | | :rowKey="(record) => record.id" |
| | | :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" |
| | | > |
| | | </s-table> |
| | | <add-form ref="addForm" @ok="handleOk" /> |
| | | <edit-form ref="editForm" @ok="handleOk" /> |
| | | </a-card> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import { STable } from '@/components' |
| | | import moment from 'moment' |
| | | import { WorkPieceOutboundRecordPage, WorkPieceOutboundRevoke } from '@/api/modular/main/WorkPieceOutboundManage' |
| | | import addForm from './addForm.vue' |
| | | import editForm from './editForm.vue' |
| | | export default { |
| | | components: { |
| | | STable, |
| | | addForm, |
| | | editForm |
| | | }, |
| | | data() { |
| | | return { |
| | | gutter: 36, |
| | | colMd: 6, |
| | | colSm: 18, |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 8 } |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 15 } |
| | | }, |
| | | advanced: false, // é«çº§æç´¢ å±å¼/å
³é |
| | | queryParam: {}, |
| | | columns: [ |
| | | { |
| | | title: 'åºå·', |
| | | width: '50px', |
| | | dataIndex: 'index', |
| | | key: 'index', |
| | | align: 'center', |
| | | customRender: (text, record, index) => `${index + 1}` |
| | | }, |
| | | { |
| | | title: 'æåç ', |
| | | align: 'center', |
| | | sorter: true, |
| | | dataIndex: 'oP80NewCode' |
| | | }, |
| | | { |
| | | title: 'æä½ç±»å', |
| | | align: 'center', |
| | | sorter: true, |
| | | dataIndex: 'operationType' |
| | | }, |
| | | // { |
| | | // title: 'å°è½¦ç ', |
| | | // align: 'center', |
| | | // sorter: true, |
| | | // dataIndex: 'carNo' |
| | | // }, |
| | | { |
| | | title: '工件å·', |
| | | align: 'center', |
| | | sorter: true, |
| | | dataIndex: 'workPieceID' |
| | | }, |
| | | // { |
| | | // title: 'ä¸çº¿æ¶é´', |
| | | // align: 'center', |
| | | // sorter: true, |
| | | // dataIndex: 'workPieceUnLineTime' |
| | | // }, |
| | | // { |
| | | // title: 'ä¸çº¿äºº', |
| | | // align: 'center', |
| | | // sorter: true, |
| | | // dataIndex: 'workPieceUnLineUserName' |
| | | // }, |
| | | { |
| | | title: 'æä½æ¶é´', |
| | | align: 'center', |
| | | sorter: true, |
| | | dataIndex: 'createdTime' |
| | | }, |
| | | { |
| | | title: 'æä½äºº', |
| | | align: 'center', |
| | | sorter: true, |
| | | dataIndex: 'createdUserName' |
| | | } |
| | | ], |
| | | tstyle: { 'padding-bottom': '0px', 'margin-bottom': '10px' }, |
| | | // å è½½æ°æ®æ¹æ³ å¿
须为 Promise 对象 |
| | | loadData: (parameter) => { |
| | | return WorkPieceOutboundRecordPage(Object.assign(parameter, this.switchingDate())).then((res) => { |
| | | return res.data |
| | | }) |
| | | }, |
| | | selectedRowKeys: [], |
| | | selectedRows: [] |
| | | } |
| | | }, |
| | | created() { |
| | | if (this.hasPerm('WorkPieceOutbound:edit') || this.hasPerm('WorkPieceOutbound:delete')) { |
| | | // this.columns.push({ |
| | | // title: 'æä½', |
| | | // width: '150px', |
| | | // dataIndex: 'action', |
| | | // scopedSlots: { customRender: 'action' } |
| | | // }) |
| | | } |
| | | }, |
| | | methods: { |
| | | moment, |
| | | /** |
| | | * æ¥è¯¢åæ°ç»è£
|
| | | */ |
| | | switchingDate() { |
| | | const dates = this.queryParam.dates |
| | | if (dates != null) { |
| | | this.queryParam.startTimeBeginTime = moment(dates[0]).format('YYYY-MM-DD HH:mm') |
| | | this.queryParam.startTimeEndTime = moment(dates[1]).format('YYYY-MM-DD HH:mm') |
| | | if (dates.length < 1) { |
| | | delete this.queryParam.startTimeBeginTime |
| | | delete this.queryParam.startTimeEndTime |
| | | } |
| | | } |
| | | const obj = JSON.parse(JSON.stringify(this.queryParam)) |
| | | return obj |
| | | }, |
| | | WorkPieceOutboundDelete(record) { |
| | | WorkPieceOutboundRevoke(record).then((res) => { |
| | | if (res.success) { |
| | | this.$message.success('æ¤éæå') |
| | | this.$refs.table.refresh() |
| | | } else { |
| | | this.$message.error('æ¤é失败') // + res.message |
| | | } |
| | | }) |
| | | }, |
| | | allRevoke() { |
| | | this.$confirm({ |
| | | title: 'æ¤é确认', |
| | | content: 'ç¡®å®æ¤ééä¸å·¥ä»¶å
¥åºä¿¡æ¯ï¼', |
| | | onOk: () => { |
| | | this.WorkPieceOutboundDelete(this.selectedRows) |
| | | }, |
| | | onCancel() { |
| | | console.log('Cancel') |
| | | } |
| | | }) |
| | | }, |
| | | toggleAdvanced() { |
| | | this.advanced = !this.advanced |
| | | }, |
| | | onChangeworkPieceOutboundTime(date, dateString) { |
| | | this.workPieceOutboundTimeDateString = dateString |
| | | }, |
| | | handleOk() { |
| | | this.$refs.table.refresh() |
| | | }, |
| | | onSelectChange(selectedRowKeys, selectedRows) { |
| | | this.selectedRowKeys = selectedRowKeys |
| | | this.selectedRows = selectedRows |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | <style lang="less"> |
| | | .table-operator { |
| | | margin-bottom: 18px; |
| | | } |
| | | button { |
| | | margin-right: 8px; |
| | | } |
| | | </style> |