diff --git a/src/api/api.js b/src/api/api.js index 825a933..7672b5b 100644 --- a/src/api/api.js +++ b/src/api/api.js @@ -105,6 +105,7 @@ export const editTechnology = (params)=>putAction("/sys/technology/edit", params //物料 export const addMaterial = (params)=>postAction("/sys/material/add", params); export const editMaterial = (params)=>postAction("/sys/material/edit", params); +export const getMaterialBasicInfo = (params)=>getAction("/sys/material/getMaterialBasicInfo", params); //工时统计 export const calculateWorking = (params)=>getAction("/working/working/calculateTotal", params); diff --git a/src/views/examples/profile/advanced/Advanced.vue b/src/views/examples/profile/advanced/Advanced.vue index af44843..c97f002 100644 --- a/src/views/examples/profile/advanced/Advanced.vue +++ b/src/views/examples/profile/advanced/Advanced.vue @@ -1,4 +1,5 @@ <template> + <page-layout title="单号:234231029431" logo="https://gw.alipayobjects.com/zos/rmsportal/nxkuOJlFJuAUhzlMTCEe.png"> <detail-list slot="headerContent" size="small" :col="2" class="detail-layout"> @@ -30,7 +31,7 @@ </template> <a-card :bordered="false" title="流程进度"> - <a-steps :direction="isMobile() && 'vertical' || 'horizontal'" :current="1" progressDot> + <a-steps :direction="isMobile() && 'vertical' || 'horizontal'" :current="2" progressDot> <a-step title="创建项目"> </a-step> <a-step title="部门初审"> @@ -130,6 +131,7 @@ </a-card> </page-layout> + </template> <script> diff --git a/src/views/material/MaterialCollection.vue b/src/views/material/MaterialCollection.vue index 65dcc12..53e5bd4 100644 --- a/src/views/material/MaterialCollection.vue +++ b/src/views/material/MaterialCollection.vue @@ -9,8 +9,8 @@ <a-form-item label="项目名称"> <j-popup v-model="queryParam.workOrder" code="find_projectc" field="field0056" - orgFields="field0056,field0054,field0055,field0057" - destFields="field0056,field0054,field0055,field0057" :trigger-change="true" @callback="findCarNumberClick" :multi="true"/> + orgFields="field0056,field0054,field0055,field0057,field0192" + destFields="field0056,field0054,field0055,field0057,field0192" :trigger-change="true" @callback="findCarNumberClick" :multi="true"/> </a-form-item> </a-col> @@ -192,6 +192,7 @@ export default { field0054:'', field0055:'', field0057:'', + field0192:'', materia_Attr:[], // 表头 columns: [ @@ -303,6 +304,7 @@ export default { this.field0054=row.field0054; this.field0055=row.field0055; this.field0057=row.field0057; + this.field0192=row.field0192; this.param1['field0057'] =row.field0057; this.param1['field0054'] =row.field0054; }, @@ -406,6 +408,7 @@ export default { "field0054":this.field0054, "field0055":this.field0055, "field0057":this.field0057, + "field0192":this.field0192, "cno":this.queryParam.bomCode, "attr":this.queryParam.attr, "type":'2' @@ -455,12 +458,28 @@ export default { "field0054":this.field0054, "field0055":this.field0055, "field0057":this.field0057, + "field0192":this.field0192, "cno":this.queryParam.bomCode, "attr":this.queryParam.attr, "pno":this.queryParam.pno, "type":'2' } + + if(this.field0056==''){ + this.$message.warning("请先选择项目工作令信息!!"); + this.loading=false; + return false; + } + //判断属性 + if(this.queryParam.attr=='5'){ + if(this.field0192==''){ + this.$message.warning("项目C表没有软件编码!!"); + this.loading=false; + return false; + } + } + getMissingMaterialList(params).then((res) => { if (res.success) { this.loading=false; diff --git a/src/views/material/MissingMaterialsPlease.vue b/src/views/material/MissingMaterialsPlease.vue index 142ee0e..aa53148 100644 --- a/src/views/material/MissingMaterialsPlease.vue +++ b/src/views/material/MissingMaterialsPlease.vue @@ -8,8 +8,8 @@ <a-form-item label="项目名称"> <j-popup v-model="queryParam.workOrder" code="find_projectc" field="field0056" - orgFields="field0056,field0054,field0055,field0057" - destFields="field0056,field0054,field0055,field0057" :trigger-change="true" @callback="findCarNumberClick" :multi="true"/> + orgFields="field0056,field0054,field0055,field0057,field0192" + destFields="field0056,field0054,field0055,field0057,field0192" :trigger-change="true" @callback="findCarNumberClick" :multi="true"/> </a-form-item> </a-col> @@ -178,6 +178,7 @@ export default { field0054:'', field0055:'', field0057:'', + field0192:'', materia_Attr:[], // 表头 columns: [ @@ -289,6 +290,7 @@ export default { this.field0054=row.field0054; this.field0055=row.field0055; this.field0057=row.field0057; + this.field0192=row.field0192; this.param1['field0057'] =row.field0057; this.param1['field0054'] =row.field0054; }, @@ -395,7 +397,19 @@ export default { "attr":this.queryParam.attr, "pno":this.queryParam.pno, "type":'1' - + } + if(this.field0056==''){ + this.$message.warning("请先选择项目工作令信息!!"); + this.loading=false; + return false; + } + //判断属性 + if(this.queryParam.attr=='5'){ + if(this.field0192==''){ + this.$message.warning("项目C表没有软件编码!!"); + this.loading=false; + return false; + } } getMissingMaterialList(params).then((res) => { if (res.success) { diff --git a/src/views/material/materiaTrack.vue b/src/views/material/materiaTrack.vue new file mode 100644 index 0000000..c1b5d9a --- /dev/null +++ b/src/views/material/materiaTrack.vue @@ -0,0 +1,350 @@ +<template> + <page-layout :title="info" logo="https://gw.alipayobjects.com/zos/rmsportal/nxkuOJlFJuAUhzlMTCEe.png"> + + <page-header v-if="!$route.meta.pageHeader" :title="title" :logo="logo" :avatar="avatar"> + <slot slot="action" name="action"></slot> + <slot slot="content" name="headerContent"></slot> + <div slot="content" v-if="!this.$slots.headerContent && desc"> + <p style="font-size: 14px;color: rgba(0,0,0,.65)">{{ desc }}</p> + <div class="link"> + <template v-for="(link, index) in linkList"> + <a :key="index" :href="link.href"> + <a-icon :type="link.icon"/> + <span>{{ link.title }}</span> + </a> + </template> + </div> + </div> + <slot slot="extra" name="extra"></slot> + <div slot="pageMenu"> + <div class="page-menu-search" > + <a-input-search style="width: 80%; max-width: 522px;" v-model="queryParam.code" @search="searchAll" placeholder="请输入..." size="large" enterButton="搜索" /> + </div> + + </div> + </page-header> + + <a-card :bordered="false" title="流程进度"> + <a-steps :direction="isMobile() && 'vertical' || 'horizontal'" :current="basicSource.flowindex" progressDot> + <a-step v-for="sa in basicSource.flow" :title="sa"> + </a-step> + </a-steps> + </a-card> + + <a-card style="margin-top: 24px;" :bordered="false" title="基本信息"> + <detail-list> + <detail-list-item term="物料名称">{{basicSource.name}}</detail-list-item> + <detail-list-item term="物料编码">{{basicSource.code}}</detail-list-item> + <detail-list-item term="关联编码">{{basicSource.linkCode}}</detail-list-item> + <detail-list-item term="物料规格">{{basicSource.spec}}</detail-list-item> + <detail-list-item term="制造方式">{{basicSource.attr}}</detail-list-item> + <detail-list-item term="设计类型">{{basicSource.type}}</detail-list-item> + <detail-list-item term="设计重量">{{basicSource.dsnweight}}</detail-list-item> + <detail-list-item term="形状尺寸">{{basicSource.shape}}</detail-list-item> + <detail-list-item term="工艺信息">{{basicSource.process}}</detail-list-item> + </detail-list> + <detail-list title="库存信息" style="color: #9e9e9e"> + <detail-list-item term="WMS库存"><a @click="inventoryClick">{{basicSource.qty}}</a></detail-list-item> + <detail-list-item term="该数据更新时间">{{basicSource.qtyTime}}</detail-list-item> + </detail-list> + </a-card> + + <a-card style="margin-top: 24px" :bordered="false" title="近半年出入库记录"> + <div class="no-data"><a-icon type="frown-o"/>暂无数据</div> + </a-card> + + <!-- 操作 --> + <a-card + style="margin-top: 24px" + :bordered="false" + :tabList="tabList" + :activeTabKey="activeTabKey" + @tabChange="(key) => {this.activeTabKey = key}" + > + <a-table + v-if="activeTabKey === '1'" + :columns="operationColumns" + :dataSource="operation1" + :pagination="false" + > + <template + slot="status" + slot-scope="status"> + <a-badge :status="status | statusTypeFilter" :text="status | statusFilter"/> + </template> + </a-table> + <a-table + v-if="activeTabKey === '2'" + :columns="operationColumns" + :dataSource="operation2" + :pagination="false" + > + <template + slot="status" + slot-scope="status"> + <a-badge :status="status | statusTypeFilter" :text="status | statusFilter"/> + </template> + </a-table> + <a-table + v-if="activeTabKey === '3'" + :columns="operationColumns" + :dataSource="operation3" + :pagination="false" + > + <template + slot="status" + slot-scope="status"> + <a-badge :status="status | statusTypeFilter" :text="status | statusFilter"/> + </template> + </a-table> + + <j-popup + v-show="showRentPrise" + ref="inventory_details" + code="find_inventory" + :param="inventoryParam" + org-fields="username" + dest-fields="popup" + field="popup"/> + </a-card> + + </page-layout> +</template> + +<script> + import { mixinDevice } from '@/utils/mixin.js' + import PageLayout from '@/components/page/PageLayout' + import DetailList from '@/components/tools/DetailList' + import {getMaterialBasicInfo} from "../../api/api"; + + const DetailListItem = DetailList.Item + + export default { + name: "materiaTrack", + components: { + PageLayout, + DetailList, + DetailListItem + }, + mixins: [mixinDevice], + data () { + return { + queryParam: {}, + basicSource:[], + inventoryParam:{code:''}, + index:1, + status:[ + {name:"采购"}, + {name:"到货"}, + {name:"收货"} + ], + tabList: [ + { + key: '1', + tab: '项目信息' + }, + { + key: '2', + tab: '生产计划' + }, + { + key: '3', + tab: '采购计划' + } + ], + activeTabKey: '1', + info:'huaheng', + operationColumns: [ + { + title: '操作类型', + dataIndex: 'type', + key: 'type' + }, + { + title: '操作人', + dataIndex: 'name', + key: 'name' + }, + { + title: '执行结果', + dataIndex: 'status', + key: 'status', + scopedSlots: { customRender: 'status' }, + }, + { + title: '操作时间', + dataIndex: 'updatedAt', + key: 'updatedAt' + }, + { + title: '备注', + dataIndex: 'remark', + key: 'remark' + } + ], + operation1: [ + { + key: 'op1', + type: '订购关系生效', + name: '曲丽丽', + status: 'agree', + updatedAt: '2017-10-03 19:23:12', + remark: '-' + }, + { + key: 'op2', + type: '财务复审', + name: '付小小', + status: 'reject', + updatedAt: '2017-10-03 19:23:12', + remark: '不通过原因' + }, + { + key: 'op3', + type: '部门初审', + name: '周毛毛', + status: 'agree', + updatedAt: '2017-10-03 19:23:12', + remark: '-' + }, + { + key: 'op4', + type: '提交订单', + name: '林东东', + status: 'agree', + updatedAt: '2017-10-03 19:23:12', + remark: '很棒' + }, + { + key: 'op5', + type: '创建订单', + name: '汗牙牙', + status: 'agree', + updatedAt: '2017-10-03 19:23:12', + remark: '-' + } + ], + operation2: [ + { + key: 'op2', + type: '财务复审', + name: '付小小', + status: 'reject', + updatedAt: '2017-10-03 19:23:12', + remark: '不通过原因' + }, + { + key: 'op3', + type: '部门初审', + name: '周毛毛', + status: 'agree', + updatedAt: '2017-10-03 19:23:12', + remark: '-' + }, + { + key: 'op4', + type: '提交订单', + name: '林东东', + status: 'agree', + updatedAt: '2017-10-03 19:23:12', + remark: '很棒' + } + ], + operation3: [ + { + key: 'op2', + type: '财务复审', + name: '付小小', + status: 'reject', + updatedAt: '2017-10-03 19:23:12', + remark: '不通过原因' + }, + { + key: 'op3', + type: '部门初审', + name: '周毛毛', + status: 'agree', + updatedAt: '2017-10-03 19:23:12', + remark: '-' + } + ], + } + }, + methods: { + searchAll(){ + let params = { + 'code': this.queryParam.code + } + this.basicSource=[]; + getMaterialBasicInfo(params).then(res => { + if (res.success) { + this.basicSource = res.result + this.loading = false + } + }) + }, + + inventoryClick(){ + this.inventoryParam['code'] = "'"+this.queryParam.code+"'"; + this.$refs.inventory_details.openModal(); + }, + }, + filters: { + statusFilter(status) { + const statusMap = { + 'agree': '成功', + 'reject': '驳回' + } + return statusMap[status] + }, + statusTypeFilter(type) { + const statusTypeMap = { + 'agree': 'success', + 'reject': 'error' + } + return statusTypeMap[type] + } + } + } +</script> + +<style lang="less" scoped> + + .detail-layout { + margin-left: 44px; + } + .text { + color: rgba(0, 0, 0, .45); + } + + .heading { + color: rgba(0, 0, 0, .85); + font-size: 20px; + } + + .no-data { + color: rgba(0, 0, 0, .25); + text-align: center; + line-height: 64px; + font-size: 16px; + + i { + font-size: 24px; + margin-right: 16px; + position: relative; + top: 3px; + } + } + + .mobile { + .detail-layout { + margin-left: unset; + } + .text { + + } + .status-list { + text-align: left; + } + } +</style> \ No newline at end of file diff --git a/src/views/material/modules/ShipPrintModal.vue b/src/views/material/modules/ShipPrintModal.vue index 775bd87..7fac566 100644 --- a/src/views/material/modules/ShipPrintModal.vue +++ b/src/views/material/modules/ShipPrintModal.vue @@ -132,7 +132,6 @@ export default { 'id': id } queryById(params2).then(res => { - debugger if (res.success) { this.titleSource = res.result diff --git a/src/views/system/modules/newsOrderPart.vue b/src/views/system/modules/newsOrderPart.vue index 7d476db..7022d77 100644 --- a/src/views/system/modules/newsOrderPart.vue +++ b/src/views/system/modules/newsOrderPart.vue @@ -18,7 +18,7 @@ </a-form-item> </a-col> <a-col :span="24/3"> - <a-form-item label="物料编码" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <a-form-item label="物料编码:" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-input v-decorator="['cno']" placeholder="请输入物料编码" disabled></a-input> </a-form-item> </a-col> @@ -85,7 +85,6 @@ </a-row> <a-row> - <a-col :span="24" style="text-align: center" class="table-page-search-submitButtons"> <a-button type="primary" @click="submitForm" icon="check-circle">提 交</a-button> </a-col>