1、修改入库记录功能
2、修改出库记录功能 3、修改不良品库,增加退换货功能 4、新增入库、出库功能,修改库存明细
正在显示
7 个修改的文件
包含
1010 行增加
和
171 行删除
src/views/trade/TblTradInventoryIn.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <a-spin :spinning="confirmLoading"> | ||
| 3 | + <j-form-container :disabled="formDisabled"> | ||
| 4 | + <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail"> | ||
| 5 | + <a-row> | ||
| 6 | + <a-col :span="12"> | ||
| 7 | + <a-form-model-item label="物料编码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="meterialCode"> | ||
| 8 | + <a-input | ||
| 9 | + v-model="model.meterialCode" | ||
| 10 | + placeholder="请输入物料编码" | ||
| 11 | + readonly | ||
| 12 | + ></a-input> | ||
| 13 | + </a-form-model-item> | ||
| 14 | + </a-col> | ||
| 15 | + <a-col :span="12"> | ||
| 16 | + <a-form-model-item label="合同/订单号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="hth"> | ||
| 17 | + <a-input-search | ||
| 18 | + v-model="model.hth" | ||
| 19 | + placeholder="请输入合同/订单号" | ||
| 20 | + @search="searchHth" | ||
| 21 | + | ||
| 22 | + /> | ||
| 23 | + </a-form-model-item> | ||
| 24 | + </a-col> | ||
| 25 | +<!-- <a-col :span="1">--> | ||
| 26 | +<!-- <a >查询</a>--> | ||
| 27 | +<!-- </a-col>--> | ||
| 28 | + <a-col :span="12"> | ||
| 29 | + <a-form-model-item label="物料长描述" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="meterialReview"> | ||
| 30 | + <a-input | ||
| 31 | + v-model="model.meterialReview" | ||
| 32 | + placeholder="请输入物料长描述" | ||
| 33 | + | ||
| 34 | + ></a-input> | ||
| 35 | + </a-form-model-item> | ||
| 36 | + </a-col> | ||
| 37 | + <a-col :span="12"> | ||
| 38 | + <a-form-model-item label="物流单号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="wldh"> | ||
| 39 | + <a-input | ||
| 40 | + v-model="model.wldh" | ||
| 41 | + placeholder="请输入物流单号" | ||
| 42 | + | ||
| 43 | + ></a-input> | ||
| 44 | + </a-form-model-item> | ||
| 45 | + </a-col> | ||
| 46 | + <a-col :span="12"> | ||
| 47 | + <a-form-model-item label="单位" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="unit"> | ||
| 48 | + <a-input | ||
| 49 | + v-model="model.unit" | ||
| 50 | + placeholder="请输入单位" | ||
| 51 | + | ||
| 52 | + ></a-input> | ||
| 53 | + </a-form-model-item> | ||
| 54 | + </a-col> | ||
| 55 | + <a-col :span="12"> | ||
| 56 | + <a-form-model-item label="是否在途" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="iszt"> | ||
| 57 | + <a-select | ||
| 58 | + ref="select" | ||
| 59 | + v-model:value="model.iszt" | ||
| 60 | + > | ||
| 61 | + <a-select-option value="1">在途</a-select-option> | ||
| 62 | + <a-select-option value="2">到库</a-select-option> | ||
| 63 | + </a-select> | ||
| 64 | + </a-form-model-item> | ||
| 65 | + </a-col> | ||
| 66 | + <a-col :span="12"> | ||
| 67 | + <a-form-model-item label="供货商名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="cs"> | ||
| 68 | + <a-input | ||
| 69 | + v-model="model.cs" | ||
| 70 | + placeholder="请输入供货商名称" | ||
| 71 | + | ||
| 72 | + ></a-input> | ||
| 73 | + </a-form-model-item> | ||
| 74 | + </a-col> | ||
| 75 | + | ||
| 76 | + <a-col :span="12"> | ||
| 77 | + <a-form-model-item label="品牌" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="brand"> | ||
| 78 | + <a-input | ||
| 79 | + v-model="model.brand" | ||
| 80 | + placeholder="请输入品牌" | ||
| 81 | + | ||
| 82 | + ></a-input> | ||
| 83 | + </a-form-model-item> | ||
| 84 | + </a-col> | ||
| 85 | + <a-col :span="12"> | ||
| 86 | + <a-form-model-item label="仓库" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="warehouse"> | ||
| 87 | + <a-input | ||
| 88 | + v-model="model.warehouse" | ||
| 89 | + placeholder="请输入仓库" | ||
| 90 | + | ||
| 91 | + ></a-input> | ||
| 92 | + </a-form-model-item> | ||
| 93 | + </a-col> | ||
| 94 | + <a-col :span="12"> | ||
| 95 | + <a-form-model-item label="入库数量" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="rksl"> | ||
| 96 | + <a-input | ||
| 97 | + v-model="model.rksl" | ||
| 98 | + placeholder="请输入入库数量" | ||
| 99 | + @blur="changeRksl(model.rksl)" | ||
| 100 | + ></a-input> | ||
| 101 | + </a-form-model-item> | ||
| 102 | + </a-col> | ||
| 103 | + <a-col :span="12"> | ||
| 104 | + <a-form-model-item label="采购员" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="operator"> | ||
| 105 | + <a-input | ||
| 106 | + v-model="model.operator" | ||
| 107 | + placeholder="请输入采购员" | ||
| 108 | + | ||
| 109 | + ></a-input> | ||
| 110 | + </a-form-model-item> | ||
| 111 | + </a-col> | ||
| 112 | + <a-col :span="12"> | ||
| 113 | + <a-form-model-item label="不良品数量" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="blpsl"> | ||
| 114 | + <a-input type="number" | ||
| 115 | + v-model="model.blpsl" | ||
| 116 | + placeholder="请输入不良品数量" | ||
| 117 | + @blur="changeBlpsl(model.blpsl)" | ||
| 118 | + ></a-input> | ||
| 119 | + </a-form-model-item> | ||
| 120 | + </a-col> | ||
| 121 | + <a-col :span="12"> | ||
| 122 | + <a-form-model-item label="异常原因" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="ycyy"> | ||
| 123 | + <a-input | ||
| 124 | + v-model="model.ycyy" | ||
| 125 | + placeholder="请输入异常原因" | ||
| 126 | + | ||
| 127 | + ></a-input> | ||
| 128 | + </a-form-model-item> | ||
| 129 | + </a-col> | ||
| 130 | + </a-row> | ||
| 131 | + | ||
| 132 | + </a-form-model> | ||
| 133 | + </j-form-container> | ||
| 134 | + </a-spin> | ||
| 135 | +</template> | ||
| 136 | + | ||
| 137 | +<script> | ||
| 138 | +import { httpAction, getAction, selectUp } from '@/api/manage' | ||
| 139 | +import { validateDuplicateValue } from '@/utils/util' | ||
| 140 | + | ||
| 141 | +export default { | ||
| 142 | + name: 'TblTradInventoryIn', | ||
| 143 | + | ||
| 144 | + components: {}, | ||
| 145 | + props: { | ||
| 146 | + materialCode: String, //物料编码 | ||
| 147 | + meterialReview: String, //物料长描述 | ||
| 148 | + unit: String, //计量单位 | ||
| 149 | + brand: String, //品牌 | ||
| 150 | + //表单禁用 | ||
| 151 | + disabled: { | ||
| 152 | + type: Boolean, | ||
| 153 | + default: false, | ||
| 154 | + required: false, | ||
| 155 | + }, | ||
| 156 | + }, | ||
| 157 | + data() { | ||
| 158 | + return { | ||
| 159 | + url:{ | ||
| 160 | + searchHth: '/trade/tblTradeBidSub/queryHtInfoByHthAndWlbm' | ||
| 161 | + }, | ||
| 162 | + model: { | ||
| 163 | + iszt: '1', | ||
| 164 | + operator: this.$store.state.user.info.realname, | ||
| 165 | + blpsl: 0, | ||
| 166 | + }, | ||
| 167 | + labelCol: { | ||
| 168 | + xs: { span: 24 }, | ||
| 169 | + sm: { span: 5 }, | ||
| 170 | + }, | ||
| 171 | + wrapperCol: { | ||
| 172 | + xs: { span: 24 }, | ||
| 173 | + sm: { span: 16 }, | ||
| 174 | + }, | ||
| 175 | + validatorRules: { | ||
| 176 | + meterialCode: [{ required: true, message: '请输入物料编码!' },], | ||
| 177 | + hth: [{ required: true, message: '请输入合同/订单号!' },], | ||
| 178 | + meterialReview: [{ required: true, message: '请输入物料长描述!' },], | ||
| 179 | + wldh: [{ required: true, message: '请输入物流单号!' },], | ||
| 180 | + unit: [{ required: true, message: '请输入单位!' },], | ||
| 181 | + iszt: [{ required: true, message: '请选择是否在途!' },], | ||
| 182 | + cs: [{ required: true, message: '请输入供货商名称!' },], | ||
| 183 | + brand: [{ required: true, message: '请输入品牌!' },], | ||
| 184 | + warehouse: [{ required: true, message: '请输入仓库!' },], | ||
| 185 | + rksl: [{ required: true, message: '请输入入库数量!' },], | ||
| 186 | + operator: [{ required: true, message: '请输入采购员!' },], | ||
| 187 | + }, | ||
| 188 | + confirmLoading: false, | ||
| 189 | + } | ||
| 190 | + }, | ||
| 191 | + computed: { | ||
| 192 | + formDisabled() { | ||
| 193 | + return this.disabled | ||
| 194 | + }, | ||
| 195 | + }, | ||
| 196 | + created() { | ||
| 197 | + this.model.meterialCode = this.materialCode | ||
| 198 | + this.model.meterialReview = this.meterialReview | ||
| 199 | + this.model.unit = this.unit | ||
| 200 | + this.model.brand = this.brand | ||
| 201 | + }, | ||
| 202 | + methods: { | ||
| 203 | + changeRksl(rksl){ | ||
| 204 | + console.log(" this.model.sl", this.model.sl) | ||
| 205 | + console.log(" rksl", rksl) | ||
| 206 | + if (rksl < 0 ){ | ||
| 207 | + this.$message.error("请输入正确的入库数量") | ||
| 208 | + return | ||
| 209 | + } | ||
| 210 | + this.model.blpsl = this.model.sl-rksl | ||
| 211 | + }, | ||
| 212 | + changeBlpsl(blpsl){ | ||
| 213 | + if (!this.model.hth){ | ||
| 214 | + this.$message.error("请先查询合同/订单号信息") | ||
| 215 | + } | ||
| 216 | + | ||
| 217 | + if (blpsl < 0){ | ||
| 218 | + this.$message.error("请输入正确的不良品数量") | ||
| 219 | + } | ||
| 220 | + //如果不良品数量大于0,增加对不良品的规则校验 | ||
| 221 | + console.log("this.model.sl",this.model.sl) | ||
| 222 | + if (blpsl < this.model.sl){ | ||
| 223 | + if (!this.model.ycyy){ | ||
| 224 | + this.$message.error("请输入异常原因") | ||
| 225 | + } | ||
| 226 | + } | ||
| 227 | + | ||
| 228 | + }, | ||
| 229 | + searchHth(){ | ||
| 230 | + getAction(this.url.searchHth,{ | ||
| 231 | + hth: this.model.hth, | ||
| 232 | + wlbm: this.materialCode | ||
| 233 | + }).then(res=>{ | ||
| 234 | + if (res.success){ | ||
| 235 | + // console.log(this.$store.state.user.info.realname) | ||
| 236 | + this.$set(this.model, "wldh", res.result.wldh); | ||
| 237 | + this.$set(this.model, "cs", res.result.cs); | ||
| 238 | + this.$set(this.model, "rksl", res.result.sl); | ||
| 239 | + this.$set(this.model, "sl", res.result.sl); | ||
| 240 | + // this.$set(this.model, "operator", this.$store.state.user.info.realname); | ||
| 241 | + | ||
| 242 | + | ||
| 243 | + } | ||
| 244 | + }) | ||
| 245 | + console.log('根据订单号查询订单信息') | ||
| 246 | + } | ||
| 247 | + }, | ||
| 248 | +} | ||
| 249 | +</script> |
| @@ -28,10 +28,10 @@ | @@ -28,10 +28,10 @@ | ||
| 28 | 28 | ||
| 29 | <!-- table区域-begin --> | 29 | <!-- table区域-begin --> |
| 30 | <div> | 30 | <div> |
| 31 | - <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> | ||
| 32 | - <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | ||
| 33 | - <a style="margin-left: 24px" @click="onClearSelected">清空</a> | ||
| 34 | - </div> | 31 | +<!-- <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">--> |
| 32 | +<!-- <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项--> | ||
| 33 | +<!-- <a style="margin-left: 24px" @click="onClearSelected">清空</a>--> | ||
| 34 | +<!-- </div>--> | ||
| 35 | 35 | ||
| 36 | <a-table | 36 | <a-table |
| 37 | ref="table" | 37 | ref="table" |
| @@ -43,7 +43,6 @@ | @@ -43,7 +43,6 @@ | ||
| 43 | :dataSource="dataSource" | 43 | :dataSource="dataSource" |
| 44 | :pagination="ipagination" | 44 | :pagination="ipagination" |
| 45 | :loading="loading" | 45 | :loading="loading" |
| 46 | - :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" | ||
| 47 | class="j-table-force-nowrap" | 46 | class="j-table-force-nowrap" |
| 48 | @change="handleTableChange"> | 47 | @change="handleTableChange"> |
| 49 | 48 | ||
| @@ -68,28 +67,66 @@ | @@ -68,28 +67,66 @@ | ||
| 68 | </template> | 67 | </template> |
| 69 | 68 | ||
| 70 | <span slot="action" slot-scope="text, record"> | 69 | <span slot="action" slot-scope="text, record"> |
| 71 | - <a @click="handleEdit(record)">编辑</a> | 70 | + <a @click="exchange(record)">退换货</a> |
| 72 | 71 | ||
| 73 | <a-divider type="vertical" /> | 72 | <a-divider type="vertical" /> |
| 74 | - <a-dropdown> | ||
| 75 | - <a class="ant-dropdown-link">更多 <a-icon type="down" /></a> | ||
| 76 | - <a-menu slot="overlay"> | ||
| 77 | - <a-menu-item> | ||
| 78 | - <a @click="handleDetail(record)">详情</a> | ||
| 79 | - </a-menu-item> | ||
| 80 | - <a-menu-item> | ||
| 81 | - <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)"> | ||
| 82 | - <a>删除</a> | ||
| 83 | - </a-popconfirm> | ||
| 84 | - </a-menu-item> | ||
| 85 | - </a-menu> | ||
| 86 | - </a-dropdown> | ||
| 87 | </span> | 73 | </span> |
| 88 | 74 | ||
| 89 | </a-table> | 75 | </a-table> |
| 90 | </div> | 76 | </div> |
| 91 | 77 | ||
| 92 | <tbl-trade-inventory-defective-product-modal ref="modalForm" @ok="modalFormOk"></tbl-trade-inventory-defective-product-modal> | 78 | <tbl-trade-inventory-defective-product-modal ref="modalForm" @ok="modalFormOk"></tbl-trade-inventory-defective-product-modal> |
| 79 | + | ||
| 80 | + | ||
| 81 | + | ||
| 82 | + <j-modal | ||
| 83 | + :title="title" | ||
| 84 | + :width="width" | ||
| 85 | + :visible="visibleInfo" | ||
| 86 | + switchFullscreen | ||
| 87 | + @ok="handleOkInfoIn" | ||
| 88 | + :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" | ||
| 89 | + @cancel="handleCancelInfoIn" | ||
| 90 | + cancelText="关闭"> | ||
| 91 | + | ||
| 92 | + <a-spin :spinning="confirmLoading"> | ||
| 93 | + <j-form-container :disabled="formDisabled"> | ||
| 94 | + <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail"> | ||
| 95 | + <a-row> | ||
| 96 | + <a-col :span="24"> | ||
| 97 | + <a-form-model-item label="退/换货" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="thFlag"> | ||
| 98 | + <a-radio-group v-model="model.thFlag" > | ||
| 99 | + <a-radio :value="1"> | ||
| 100 | + 退货 | ||
| 101 | + </a-radio> | ||
| 102 | + <a-radio :value="2"> | ||
| 103 | + 换货 | ||
| 104 | + </a-radio> | ||
| 105 | + </a-radio-group> | ||
| 106 | + | ||
| 107 | + | ||
| 108 | + | ||
| 109 | + </a-form-model-item> | ||
| 110 | + </a-col> | ||
| 111 | + <a-col :span="24"> | ||
| 112 | + <a-form-model-item label="退换货单号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="thNum"> | ||
| 113 | + <a-input | ||
| 114 | + v-model="model.thNum" | ||
| 115 | + placeholder="请输入退换货单号" | ||
| 116 | + ></a-input> | ||
| 117 | + </a-form-model-item> | ||
| 118 | + </a-col> | ||
| 119 | + | ||
| 120 | + | ||
| 121 | + </a-row> | ||
| 122 | + | ||
| 123 | + </a-form-model> | ||
| 124 | + </j-form-container> | ||
| 125 | + </a-spin> | ||
| 126 | + | ||
| 127 | + </j-modal> | ||
| 128 | + | ||
| 129 | + | ||
| 93 | </a-card> | 130 | </a-card> |
| 94 | </template> | 131 | </template> |
| 95 | 132 | ||
| @@ -99,6 +136,7 @@ | @@ -99,6 +136,7 @@ | ||
| 99 | import { mixinDevice } from '@/utils/mixin' | 136 | import { mixinDevice } from '@/utils/mixin' |
| 100 | import { JeecgListMixin } from '@/mixins/JeecgListMixin' | 137 | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| 101 | import TblTradeInventoryDefectiveProductModal from './modules/TblTradeInventoryDefectiveProductModal' | 138 | import TblTradeInventoryDefectiveProductModal from './modules/TblTradeInventoryDefectiveProductModal' |
| 139 | + import { postAction } from '@api/manage' | ||
| 102 | 140 | ||
| 103 | export default { | 141 | export default { |
| 104 | name: 'TblTradeInventoryDefectiveProductList', | 142 | name: 'TblTradeInventoryDefectiveProductList', |
| @@ -108,21 +146,45 @@ | @@ -108,21 +146,45 @@ | ||
| 108 | }, | 146 | }, |
| 109 | data () { | 147 | data () { |
| 110 | return { | 148 | return { |
| 149 | + validatorRules:{ | ||
| 150 | + thFlag: [ | ||
| 151 | + { required: true, message: '请选择退/换货', trigger: 'change' } | ||
| 152 | + ], | ||
| 153 | + thNum: [ | ||
| 154 | + { required: true, message: '请输入退换货单号', trigger: 'blur' } | ||
| 155 | + ] | ||
| 156 | + }, | ||
| 157 | + model:{ | ||
| 158 | + | ||
| 159 | + }, | ||
| 160 | + labelCol: { | ||
| 161 | + xs: { span: 24 }, | ||
| 162 | + sm: { span: 5 }, | ||
| 163 | + }, | ||
| 164 | + wrapperCol: { | ||
| 165 | + xs: { span: 24 }, | ||
| 166 | + sm: { span: 16 }, | ||
| 167 | + }, | ||
| 168 | + confirmLoading: false, | ||
| 169 | + disableSubmit: false, | ||
| 170 | + title: '退换货', | ||
| 171 | + width: 896, | ||
| 172 | + visibleInfo: false, | ||
| 111 | description: '不良品库管理页面', | 173 | description: '不良品库管理页面', |
| 112 | // 表头 | 174 | // 表头 |
| 113 | columns: [ | 175 | columns: [ |
| 176 | + // { | ||
| 177 | + // title: '#', | ||
| 178 | + // dataIndex: '', | ||
| 179 | + // key:'rowIndex', | ||
| 180 | + // width:60, | ||
| 181 | + // align:"center", | ||
| 182 | + // customRender:function (t,r,index) { | ||
| 183 | + // return parseInt(index)+1; | ||
| 184 | + // } | ||
| 185 | + // }, | ||
| 114 | { | 186 | { |
| 115 | - title: '#', | ||
| 116 | - dataIndex: '', | ||
| 117 | - key:'rowIndex', | ||
| 118 | - width:60, | ||
| 119 | - align:"center", | ||
| 120 | - customRender:function (t,r,index) { | ||
| 121 | - return parseInt(index)+1; | ||
| 122 | - } | ||
| 123 | - }, | ||
| 124 | - { | ||
| 125 | - title:'单号', | 187 | + title:'不良品单号', |
| 126 | align:"center", | 188 | align:"center", |
| 127 | dataIndex: 'waybillNum' | 189 | dataIndex: 'waybillNum' |
| 128 | }, | 190 | }, |
| @@ -132,12 +194,12 @@ | @@ -132,12 +194,12 @@ | ||
| 132 | dataIndex: 'materialCode' | 194 | dataIndex: 'materialCode' |
| 133 | }, | 195 | }, |
| 134 | { | 196 | { |
| 135 | - title:'物料描述', | 197 | + title:'物料长描述', |
| 136 | align:"center", | 198 | align:"center", |
| 137 | dataIndex: 'materialDescription' | 199 | dataIndex: 'materialDescription' |
| 138 | }, | 200 | }, |
| 139 | { | 201 | { |
| 140 | - title:'计量单位', | 202 | + title:'单位', |
| 141 | align:"center", | 203 | align:"center", |
| 142 | dataIndex: 'measurementUnit' | 204 | dataIndex: 'measurementUnit' |
| 143 | }, | 205 | }, |
| @@ -147,27 +209,45 @@ | @@ -147,27 +209,45 @@ | ||
| 147 | dataIndex: 'brand' | 209 | dataIndex: 'brand' |
| 148 | }, | 210 | }, |
| 149 | { | 211 | { |
| 150 | - title:'实际库存量', | 212 | + title:'不良品数量', |
| 151 | align:"center", | 213 | align:"center", |
| 152 | - dataIndex: 'actualInventory' | 214 | + dataIndex: 'blpsl' |
| 153 | }, | 215 | }, |
| 154 | { | 216 | { |
| 155 | - title:'出库数量', | 217 | + title:'异常原因', |
| 156 | align:"center", | 218 | align:"center", |
| 157 | - dataIndex: 'outboundQuantity' | 219 | + dataIndex: 'ycyy', |
| 220 | + customRender: function (text) { | ||
| 221 | + var str = ''; | ||
| 222 | + if(text === 1){ | ||
| 223 | + str = '来料不良'; | ||
| 224 | + }else if(text === 2){ | ||
| 225 | + str = '货损'; | ||
| 226 | + }else if(text === 3){ | ||
| 227 | + str = '来料少件'; | ||
| 228 | + }else if(text === 4){ | ||
| 229 | + str = '发错货'; | ||
| 230 | + } | ||
| 231 | + return str; | ||
| 232 | + }, | ||
| 233 | + }, | ||
| 234 | + { | ||
| 235 | + title:'操作时间', | ||
| 236 | + align:"center", | ||
| 237 | + dataIndex: 'createTime' | ||
| 158 | }, | 238 | }, |
| 159 | { | 239 | { |
| 160 | title:'操作人', | 240 | title:'操作人', |
| 161 | align:"center", | 241 | align:"center", |
| 162 | - dataIndex: 'operator' | 242 | + dataIndex: 'createBy' |
| 163 | }, | 243 | }, |
| 164 | { | 244 | { |
| 165 | - title:'合同单号/快递单号', | 245 | + title:'供应商合同号/订单号', |
| 166 | align:"center", | 246 | align:"center", |
| 167 | dataIndex: 'expressDeliveryNumber' | 247 | dataIndex: 'expressDeliveryNumber' |
| 168 | }, | 248 | }, |
| 169 | { | 249 | { |
| 170 | - title:'交货合同编号', | 250 | + title:'中标合同编号', |
| 171 | align:"center", | 251 | align:"center", |
| 172 | dataIndex: 'deliveryContractNumber' | 252 | dataIndex: 'deliveryContractNumber' |
| 173 | }, | 253 | }, |
| @@ -181,21 +261,32 @@ | @@ -181,21 +261,32 @@ | ||
| 181 | align:"center", | 261 | align:"center", |
| 182 | dataIndex: 'warehouse' | 262 | dataIndex: 'warehouse' |
| 183 | }, | 263 | }, |
| 264 | + | ||
| 184 | { | 265 | { |
| 185 | - title:'销售人员', | 266 | + title:'销售员', |
| 186 | align:"center", | 267 | align:"center", |
| 187 | dataIndex: 'salesman' | 268 | dataIndex: 'salesman' |
| 188 | }, | 269 | }, |
| 189 | { | 270 | { |
| 190 | - title:'审核人', | 271 | + title:'退/换货', |
| 191 | align:"center", | 272 | align:"center", |
| 192 | - dataIndex: 'reviewer' | 273 | + dataIndex: 'thFlag', |
| 274 | + customRender: function (text) { | ||
| 275 | + var str = ''; | ||
| 276 | + if(text === 1){ | ||
| 277 | + str = '退货'; | ||
| 278 | + }else if(text === 2){ | ||
| 279 | + str = '换货'; | ||
| 280 | + } | ||
| 281 | + return str; | ||
| 282 | + }, | ||
| 193 | }, | 283 | }, |
| 194 | { | 284 | { |
| 195 | - title:'合同单号/快递单号(退换)', | 285 | + title:'退换货单号', |
| 196 | align:"center", | 286 | align:"center", |
| 197 | - dataIndex: 'exchangeExpressDeliveryNumber' | 287 | + dataIndex: 'thNum' |
| 198 | }, | 288 | }, |
| 289 | + | ||
| 199 | { | 290 | { |
| 200 | title: '操作', | 291 | title: '操作', |
| 201 | dataIndex: 'action', | 292 | dataIndex: 'action', |
| @@ -207,6 +298,7 @@ | @@ -207,6 +298,7 @@ | ||
| 207 | ], | 298 | ], |
| 208 | url: { | 299 | url: { |
| 209 | list: "/trade/tblTradeInventoryDefectiveProduct/list", | 300 | list: "/trade/tblTradeInventoryDefectiveProduct/list", |
| 301 | + edit: "/trade/tblTradeInventoryDefectiveProduct/edit", | ||
| 210 | delete: "/trade/tblTradeInventoryDefectiveProduct/delete", | 302 | delete: "/trade/tblTradeInventoryDefectiveProduct/delete", |
| 211 | deleteBatch: "/trade/tblTradeInventoryDefectiveProduct/deleteBatch", | 303 | deleteBatch: "/trade/tblTradeInventoryDefectiveProduct/deleteBatch", |
| 212 | exportXlsUrl: "/trade/tblTradeInventoryDefectiveProduct/exportXls", | 304 | exportXlsUrl: "/trade/tblTradeInventoryDefectiveProduct/exportXls", |
| @@ -221,11 +313,38 @@ | @@ -221,11 +313,38 @@ | ||
| 221 | this.getSuperFieldList(); | 313 | this.getSuperFieldList(); |
| 222 | }, | 314 | }, |
| 223 | computed: { | 315 | computed: { |
| 316 | + formDisabled(){ | ||
| 317 | + return this.disabled | ||
| 318 | + }, | ||
| 224 | importExcelUrl: function(){ | 319 | importExcelUrl: function(){ |
| 225 | return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; | 320 | return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; |
| 226 | }, | 321 | }, |
| 227 | }, | 322 | }, |
| 228 | methods: { | 323 | methods: { |
| 324 | + handleCancelInfoIn(){ | ||
| 325 | + this.visibleInfo = false | ||
| 326 | + }, | ||
| 327 | + handleOkInfoIn(){ | ||
| 328 | + postAction(this.url.edit,{ | ||
| 329 | + id: this.model.id, | ||
| 330 | + thFlag:this.model.thFlag, | ||
| 331 | + thNum:this.model.thNum | ||
| 332 | + }).then(res=>{ | ||
| 333 | + if(res.success){ | ||
| 334 | + this.$message.success('操作成功') | ||
| 335 | + this.searchQuery(); | ||
| 336 | + }else{ | ||
| 337 | + this.$message.error(res.message) | ||
| 338 | + } | ||
| 339 | + }) | ||
| 340 | + this.visibleInfo = false | ||
| 341 | + }, | ||
| 342 | + exchange(record){ | ||
| 343 | + this.model.id = record.id; | ||
| 344 | + this.$set(this.model, "thFlag", record.thFlag); | ||
| 345 | + this.$set(this.model, "thNum", record.thNum); | ||
| 346 | + this.visibleInfo = true | ||
| 347 | + }, | ||
| 229 | initDictConfig(){ | 348 | initDictConfig(){ |
| 230 | }, | 349 | }, |
| 231 | getSuperFieldList(){ | 350 | getSuperFieldList(){ |
| @@ -173,7 +173,12 @@ | @@ -173,7 +173,12 @@ | ||
| 173 | }, | 173 | }, |
| 174 | 174 | ||
| 175 | { | 175 | { |
| 176 | - title:'合同单号/快递单号', | 176 | + title:'合同单号/订单号', |
| 177 | + align:"center", | ||
| 178 | + dataIndex: 'deliveryContractNumber' | ||
| 179 | + }, | ||
| 180 | + { | ||
| 181 | + title:'物流单号', | ||
| 177 | align:"center", | 182 | align:"center", |
| 178 | dataIndex: 'expressDeliveryNumber' | 183 | dataIndex: 'expressDeliveryNumber' |
| 179 | }, | 184 | }, |
| @@ -197,11 +202,11 @@ | @@ -197,11 +202,11 @@ | ||
| 197 | align:"center", | 202 | align:"center", |
| 198 | dataIndex: 'warehouse' | 203 | dataIndex: 'warehouse' |
| 199 | }, | 204 | }, |
| 200 | - { | ||
| 201 | - title:'审核人', | ||
| 202 | - align:"center", | ||
| 203 | - dataIndex: 'reviewer' | ||
| 204 | - }, | 205 | + // { |
| 206 | + // title:'审核人', | ||
| 207 | + // align:"center", | ||
| 208 | + // dataIndex: 'reviewer' | ||
| 209 | + // }, | ||
| 205 | // { | 210 | // { |
| 206 | // title:'出库/入库', | 211 | // title:'出库/入库', |
| 207 | // align:"center", | 212 | // align:"center", |
| @@ -240,6 +245,12 @@ | @@ -240,6 +245,12 @@ | ||
| 240 | }, | 245 | }, |
| 241 | }, | 246 | }, |
| 242 | methods: { | 247 | methods: { |
| 248 | + searchReset(){ | ||
| 249 | + this.queryParam = {} | ||
| 250 | + this.getSuperFieldList(); | ||
| 251 | + this.queryParam.type='入库' | ||
| 252 | + this.searchQuery(this.queryParam) | ||
| 253 | + }, | ||
| 243 | initDictConfig(){ | 254 | initDictConfig(){ |
| 244 | }, | 255 | }, |
| 245 | getSuperFieldList(){ | 256 | getSuperFieldList(){ |
| @@ -140,6 +140,11 @@ | @@ -140,6 +140,11 @@ | ||
| 140 | // } | 140 | // } |
| 141 | // }, | 141 | // }, |
| 142 | { | 142 | { |
| 143 | + title:'入库/出库单号', | ||
| 144 | + align:"center", | ||
| 145 | + dataIndex: 'waybillNum' | ||
| 146 | + }, | ||
| 147 | + { | ||
| 143 | title:'物料编码', | 148 | title:'物料编码', |
| 144 | align:"center", | 149 | align:"center", |
| 145 | dataIndex: 'materialCode' | 150 | dataIndex: 'materialCode' |
| @@ -13,10 +13,10 @@ | @@ -13,10 +13,10 @@ | ||
| 13 | <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> | 13 | <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> |
| 14 | <a-button type="primary" @click="searchQuery" icon="search">查询</a-button> | 14 | <a-button type="primary" @click="searchQuery" icon="search">查询</a-button> |
| 15 | <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button> | 15 | <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button> |
| 16 | - <a @click="handleToggleSearch" style="margin-left: 8px"> | ||
| 17 | - {{ toggleSearchStatus ? '收起' : '展开' }} | ||
| 18 | - <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/> | ||
| 19 | - </a> | 16 | +<!-- <a @click="handleToggleSearch" style="margin-left: 8px">--> |
| 17 | +<!-- {{ toggleSearchStatus ? '收起' : '展开' }}--> | ||
| 18 | +<!-- <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>--> | ||
| 19 | +<!-- </a>--> | ||
| 20 | </span> | 20 | </span> |
| 21 | </a-col> | 21 | </a-col> |
| 22 | </a-row> | 22 | </a-row> |
| @@ -85,22 +85,9 @@ | @@ -85,22 +85,9 @@ | ||
| 85 | </template> | 85 | </template> |
| 86 | 86 | ||
| 87 | <span slot="action" slot-scope="text, record"> | 87 | <span slot="action" slot-scope="text, record"> |
| 88 | - <!-- <a @click="handleEdit(record)">库存明细</a> --> | 88 | + <a @click="handleInventoryInfoIn(record)">入库</a>   |
| 89 | + <a @click="handleInventoryInfoOut(record)">出库</a>   | ||
| 89 | <a @click="handleInventoryInfo(record)">库存明细</a> | 90 | <a @click="handleInventoryInfo(record)">库存明细</a> |
| 90 | - <!-- <a-divider type="vertical" /> | ||
| 91 | - <a-dropdown> | ||
| 92 | - <a class="ant-dropdown-link">更多 <a-icon type="down" /></a> | ||
| 93 | - <a-menu slot="overlay"> | ||
| 94 | - <a-menu-item> | ||
| 95 | - <a @click="handleDetail(record)">详情</a> | ||
| 96 | - </a-menu-item> | ||
| 97 | - <a-menu-item> | ||
| 98 | - <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)"> | ||
| 99 | - <a>删除</a> | ||
| 100 | - </a-popconfirm> | ||
| 101 | - </a-menu-item> | ||
| 102 | - </a-menu> | ||
| 103 | - </a-dropdown> --> | ||
| 104 | </span> | 91 | </span> |
| 105 | 92 | ||
| 106 | </a-table> | 93 | </a-table> |
| @@ -138,19 +125,293 @@ | @@ -138,19 +125,293 @@ | ||
| 138 | @ok="handleCancelDefective" | 125 | @ok="handleCancelDefective" |
| 139 | @cancel="handleCancelDefective" | 126 | @cancel="handleCancelDefective" |
| 140 | cancelText="关闭"> | 127 | cancelText="关闭"> |
| 141 | - <TblTradeInventoryDefectiveProductList></TblTradeInventoryDefectiveProductList> | 128 | + <TblTradeInventoryDefectiveProductList ></TblTradeInventoryDefectiveProductList> |
| 142 | </j-modal> | 129 | </j-modal> |
| 143 | 130 | ||
| 144 | <j-modal | 131 | <j-modal |
| 145 | title="库存明细" | 132 | title="库存明细" |
| 146 | - :width="width" | 133 | + :width="kcmxWidth" |
| 147 | :visible="visibleInfo" | 134 | :visible="visibleInfo" |
| 148 | @ok="handleCancelInfo" | 135 | @ok="handleCancelInfo" |
| 149 | @cancel="handleCancelInfo" | 136 | @cancel="handleCancelInfo" |
| 150 | cancelText="关闭"> | 137 | cancelText="关闭"> |
| 151 | - <TblTradeInventoryInfoList :materialCode="materialCode"></TblTradeInventoryInfoList> | 138 | + <TblTradeInventoryInfoList :materialCode="meterialCode"></TblTradeInventoryInfoList> |
| 152 | </j-modal> | 139 | </j-modal> |
| 153 | 140 | ||
| 141 | + | ||
| 142 | +<!-- <j-modal--> | ||
| 143 | +<!-- --> | ||
| 144 | +<!-- title="入库"--> | ||
| 145 | +<!-- :width="width"--> | ||
| 146 | +<!-- :visible="visibleInfoIn"--> | ||
| 147 | +<!-- @ok="handleCancelInfo"--> | ||
| 148 | +<!-- @cancel="handleCancelInfoIn"--> | ||
| 149 | +<!-- cancelText="关闭">--> | ||
| 150 | +<!-- <TblTradInventoryIn ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></TblTradInventoryIn>--> | ||
| 151 | +<!-- </j-modal>--> | ||
| 152 | + | ||
| 153 | + <j-modal | ||
| 154 | + :title="title" | ||
| 155 | + :width="width" | ||
| 156 | + :visible="visibleInfoIn" | ||
| 157 | + switchFullscreen | ||
| 158 | + @ok="handleOkInfoIn" | ||
| 159 | + :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" | ||
| 160 | + @cancel="handleCancelInfoIn" | ||
| 161 | + cancelText="关闭"> | ||
| 162 | + | ||
| 163 | + <a-spin :spinning="confirmLoading"> | ||
| 164 | + <j-form-container :disabled="formDisabled"> | ||
| 165 | + <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail"> | ||
| 166 | + <a-row> | ||
| 167 | + <a-col :span="12"> | ||
| 168 | + <a-form-model-item label="物料编码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="meterialCode"> | ||
| 169 | + <a-input | ||
| 170 | + v-model="model.meterialCode" | ||
| 171 | + placeholder="请输入物料编码" | ||
| 172 | + disabled="disabled" | ||
| 173 | + ></a-input> | ||
| 174 | + </a-form-model-item> | ||
| 175 | + </a-col> | ||
| 176 | + <a-col :span="12"> | ||
| 177 | + <a-form-model-item label="合同/订单号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="hth"> | ||
| 178 | + <a-input-search | ||
| 179 | + v-model="model.hth" | ||
| 180 | + placeholder="请输入合同/订单号" | ||
| 181 | + @search="searchHth" | ||
| 182 | + | ||
| 183 | + /> | ||
| 184 | + </a-form-model-item> | ||
| 185 | + </a-col> | ||
| 186 | + <!-- <a-col :span="1">--> | ||
| 187 | + <!-- <a >查询</a>--> | ||
| 188 | + <!-- </a-col>--> | ||
| 189 | + <a-col :span="12"> | ||
| 190 | + <a-form-model-item label="物料长描述" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="meterialReview"> | ||
| 191 | + <a-input | ||
| 192 | + v-model="model.meterialReview" | ||
| 193 | + placeholder="请输入物料长描述" | ||
| 194 | + disabled="disabled" | ||
| 195 | + ></a-input> | ||
| 196 | + </a-form-model-item> | ||
| 197 | + </a-col> | ||
| 198 | + <a-col :span="12"> | ||
| 199 | + <a-form-model-item label="物流单号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="wldh"> | ||
| 200 | + <a-input | ||
| 201 | + v-model="model.wldh" | ||
| 202 | + placeholder="请输入物流单号" | ||
| 203 | + disabled="disabled" | ||
| 204 | + ></a-input> | ||
| 205 | + </a-form-model-item> | ||
| 206 | + </a-col> | ||
| 207 | + <a-col :span="12"> | ||
| 208 | + <a-form-model-item label="单位" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="unit"> | ||
| 209 | + <a-input | ||
| 210 | + v-model="model.unit" | ||
| 211 | + placeholder="请输入单位" | ||
| 212 | + disabled="disabled" | ||
| 213 | + ></a-input> | ||
| 214 | + </a-form-model-item> | ||
| 215 | + </a-col> | ||
| 216 | + | ||
| 217 | + <a-col :span="12"> | ||
| 218 | + <a-form-model-item label="供货商名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="cs"> | ||
| 219 | + <a-input | ||
| 220 | + v-model="model.cs" | ||
| 221 | + placeholder="请输入供货商名称" | ||
| 222 | + disabled="disabled" | ||
| 223 | + ></a-input> | ||
| 224 | + </a-form-model-item> | ||
| 225 | + </a-col> | ||
| 226 | + | ||
| 227 | + <a-col :span="12"> | ||
| 228 | + <a-form-model-item label="品牌" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="brand"> | ||
| 229 | + <a-input | ||
| 230 | + v-model="model.brand" | ||
| 231 | + placeholder="请输入品牌" | ||
| 232 | + disabled="disabled" | ||
| 233 | + ></a-input> | ||
| 234 | + </a-form-model-item> | ||
| 235 | + </a-col> | ||
| 236 | + <a-col :span="12"> | ||
| 237 | + <a-form-model-item label="仓库" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="warehouse"> | ||
| 238 | + <a-input | ||
| 239 | + v-model="model.warehouse" | ||
| 240 | + placeholder="请输入仓库" | ||
| 241 | + | ||
| 242 | + ></a-input> | ||
| 243 | + </a-form-model-item> | ||
| 244 | + </a-col> | ||
| 245 | + <a-col :span="12"> | ||
| 246 | + <a-form-model-item label="入库数量" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="rksl"> | ||
| 247 | + <a-input | ||
| 248 | + v-model="model.rksl" | ||
| 249 | + placeholder="请输入入库数量" | ||
| 250 | + | ||
| 251 | + ></a-input> | ||
| 252 | + </a-form-model-item> | ||
| 253 | + </a-col> | ||
| 254 | + <a-col :span="12"> | ||
| 255 | + <a-form-model-item label="采购员" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="operator"> | ||
| 256 | + <a-input | ||
| 257 | + v-model="model.operator" | ||
| 258 | + placeholder="请输入采购员" | ||
| 259 | + | ||
| 260 | + ></a-input> | ||
| 261 | + </a-form-model-item> | ||
| 262 | + </a-col> | ||
| 263 | +<!-- <a-col :span="12">--> | ||
| 264 | +<!-- <a-form-model-item label="不良品数量" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="blpsl">--> | ||
| 265 | +<!-- <a-input type="number"--> | ||
| 266 | +<!-- v-model="model.blpsl"--> | ||
| 267 | +<!-- placeholder="请输入不良品数量"--> | ||
| 268 | + | ||
| 269 | +<!-- ></a-input>--> | ||
| 270 | +<!-- </a-form-model-item>--> | ||
| 271 | +<!-- </a-col>--> | ||
| 272 | + | ||
| 273 | +<!-- <a-col :span="12">--> | ||
| 274 | +<!-- <a-form-model-item label="异常原因" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="iszt">--> | ||
| 275 | +<!-- <a-select--> | ||
| 276 | +<!-- ref="select"--> | ||
| 277 | +<!-- v-model:value="model.ycyy"--> | ||
| 278 | +<!-- >--> | ||
| 279 | +<!-- <a-select-option value="1">来料不良</a-select-option>--> | ||
| 280 | +<!-- <a-select-option value="2">货损</a-select-option>--> | ||
| 281 | +<!-- <a-select-option value="3">来料少件</a-select-option>--> | ||
| 282 | +<!-- <a-select-option value="4">发错货</a-select-option>--> | ||
| 283 | +<!-- </a-select>--> | ||
| 284 | +<!-- </a-form-model-item>--> | ||
| 285 | +<!-- </a-col>--> | ||
| 286 | + | ||
| 287 | + </a-row> | ||
| 288 | + | ||
| 289 | + </a-form-model> | ||
| 290 | + </j-form-container> | ||
| 291 | + </a-spin> | ||
| 292 | + | ||
| 293 | + </j-modal> | ||
| 294 | + | ||
| 295 | + | ||
| 296 | + | ||
| 297 | + | ||
| 298 | + | ||
| 299 | + | ||
| 300 | +<!-- 出库表单--> | ||
| 301 | + <j-modal | ||
| 302 | + :title="titleOut" | ||
| 303 | + :width="width" | ||
| 304 | + :visible="visibleInfoOut" | ||
| 305 | + switchFullscreen | ||
| 306 | + @ok="handleOkInfoOut" | ||
| 307 | + :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" | ||
| 308 | + @cancel="handleCancelInfoOut" | ||
| 309 | + cancelText="关闭"> | ||
| 310 | + | ||
| 311 | + <a-spin :spinning="confirmLoading"> | ||
| 312 | + <j-form-container :disabled="formDisabled"> | ||
| 313 | + <a-form-model ref="form" :model="model2" :rules="validatorOutRules" slot="detail"> | ||
| 314 | + <a-row> | ||
| 315 | + <a-col :span="12"> | ||
| 316 | + <a-form-model-item label="物料编码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="meterialCode"> | ||
| 317 | + <a-input | ||
| 318 | + v-model="model2.meterialCode" | ||
| 319 | + placeholder="请输入物料编码" | ||
| 320 | + disabled="disabled" | ||
| 321 | + ></a-input> | ||
| 322 | + </a-form-model-item> | ||
| 323 | + </a-col> | ||
| 324 | + <a-col :span="12"> | ||
| 325 | + <a-form-model-item label="供应商合同号/订单号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="expressDeliveryNumber"> | ||
| 326 | + <a-input | ||
| 327 | + v-model="model2.expressDeliveryNumber" | ||
| 328 | + placeholder="请输入供应商合同号/订单号" | ||
| 329 | + | ||
| 330 | + | ||
| 331 | + /> | ||
| 332 | + </a-form-model-item> | ||
| 333 | + </a-col> | ||
| 334 | + <a-col :span="12"> | ||
| 335 | + <a-form-model-item label="物料长描述" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="meterialReview"> | ||
| 336 | + <a-input | ||
| 337 | + v-model="model2.meterialReview" | ||
| 338 | + placeholder="请输入物料长描述" | ||
| 339 | + disabled="disabled" | ||
| 340 | + ></a-input> | ||
| 341 | + </a-form-model-item> | ||
| 342 | + </a-col> | ||
| 343 | + <a-col :span="12"> | ||
| 344 | + <a-form-model-item label="中标合同编号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="deliveryContractNumber"> | ||
| 345 | + <a-input | ||
| 346 | + v-model="model2.deliveryContractNumber" | ||
| 347 | + placeholder="请输入中标合同编号" | ||
| 348 | + | ||
| 349 | + ></a-input> | ||
| 350 | + </a-form-model-item> | ||
| 351 | + </a-col> | ||
| 352 | + <a-col :span="12"> | ||
| 353 | + <a-form-model-item label="单位" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="unit"> | ||
| 354 | + <a-input | ||
| 355 | + v-model="model2.unit" | ||
| 356 | + placeholder="请输入单位" | ||
| 357 | + disabled="disabled" | ||
| 358 | + ></a-input> | ||
| 359 | + </a-form-model-item> | ||
| 360 | + </a-col> | ||
| 361 | + <a-col :span="12"> | ||
| 362 | + <a-form-model-item label="需求单位" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="demandUnit"> | ||
| 363 | + <a-input | ||
| 364 | + v-model="model2.demandUnit" | ||
| 365 | + placeholder="请输入需求单位" | ||
| 366 | + | ||
| 367 | + ></a-input> | ||
| 368 | + </a-form-model-item> | ||
| 369 | + </a-col> | ||
| 370 | + | ||
| 371 | + <a-col :span="12"> | ||
| 372 | + <a-form-model-item label="品牌" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="brand"> | ||
| 373 | + <a-input | ||
| 374 | + v-model="model2.brand" | ||
| 375 | + placeholder="请输入品牌" | ||
| 376 | + disabled="disabled" | ||
| 377 | + ></a-input> | ||
| 378 | + </a-form-model-item> | ||
| 379 | + </a-col> | ||
| 380 | + <a-col :span="12"> | ||
| 381 | + <a-form-model-item label="仓库" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="warehouse"> | ||
| 382 | + <a-input | ||
| 383 | + v-model="model2.warehouse" | ||
| 384 | + placeholder="请输入仓库" | ||
| 385 | + | ||
| 386 | + ></a-input> | ||
| 387 | + </a-form-model-item> | ||
| 388 | + </a-col> | ||
| 389 | + <a-col :span="12"> | ||
| 390 | + <a-form-model-item label="出库数量" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="outboundQuantity"> | ||
| 391 | + <a-input | ||
| 392 | + v-model="model2.outboundQuantity" | ||
| 393 | + placeholder="请输入出库数量" | ||
| 394 | + | ||
| 395 | + ></a-input> | ||
| 396 | + </a-form-model-item> | ||
| 397 | + </a-col> | ||
| 398 | + <a-col :span="12"> | ||
| 399 | + <a-form-model-item label="销售员" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="salesman"> | ||
| 400 | + <a-input | ||
| 401 | + v-model="model2.salesman" | ||
| 402 | + placeholder="请输入销售员" | ||
| 403 | + | ||
| 404 | + ></a-input> | ||
| 405 | + </a-form-model-item> | ||
| 406 | + </a-col> | ||
| 407 | + | ||
| 408 | + </a-row> | ||
| 409 | + | ||
| 410 | + </a-form-model> | ||
| 411 | + </j-form-container> | ||
| 412 | + </a-spin> | ||
| 413 | + | ||
| 414 | + </j-modal> | ||
| 154 | </a-card> | 415 | </a-card> |
| 155 | </template> | 416 | </template> |
| 156 | 417 | ||
| @@ -164,18 +425,26 @@ | @@ -164,18 +425,26 @@ | ||
| 164 | import TblTradeInventoryOutList from './TblTradeInventoryOutList.vue' | 425 | import TblTradeInventoryOutList from './TblTradeInventoryOutList.vue' |
| 165 | import TblTradeInventoryDefectiveProductList from './TblTradeInventoryDefectiveProductList.vue' | 426 | import TblTradeInventoryDefectiveProductList from './TblTradeInventoryDefectiveProductList.vue' |
| 166 | import TblTradeInventoryInfoList from './TblTradeInventoryInfoList.vue' | 427 | import TblTradeInventoryInfoList from './TblTradeInventoryInfoList.vue' |
| 428 | + import TblTradInventoryIn from './TblTradInventoryIn.vue' | ||
| 429 | + import TblTradBaseForm from '@views/trad/modules/base/TblTradBaseForm.vue' | ||
| 430 | + import { getAction, postAction } from '@api/manage' | ||
| 431 | + | ||
| 167 | export default { | 432 | export default { |
| 168 | name: 'TblTradeInventoryList', | 433 | name: 'TblTradeInventoryList', |
| 169 | mixins:[JeecgListMixin, mixinDevice], | 434 | mixins:[JeecgListMixin, mixinDevice], |
| 170 | components: { | 435 | components: { |
| 436 | + TblTradBaseForm, | ||
| 171 | TblTradeInventoryModal, | 437 | TblTradeInventoryModal, |
| 172 | TblTradeInventoryInList, | 438 | TblTradeInventoryInList, |
| 173 | TblTradeInventoryOutList, | 439 | TblTradeInventoryOutList, |
| 174 | TblTradeInventoryDefectiveProductList, | 440 | TblTradeInventoryDefectiveProductList, |
| 175 | TblTradeInventoryInfoList, | 441 | TblTradeInventoryInfoList, |
| 442 | + TblTradInventoryIn | ||
| 176 | }, | 443 | }, |
| 444 | + | ||
| 177 | data () { | 445 | data () { |
| 178 | return { | 446 | return { |
| 447 | + confirmLoading: false, | ||
| 179 | description: '贸易库存表管理页面', | 448 | description: '贸易库存表管理页面', |
| 180 | // 表头 | 449 | // 表头 |
| 181 | columns: [ | 450 | columns: [ |
| @@ -192,17 +461,17 @@ | @@ -192,17 +461,17 @@ | ||
| 192 | { | 461 | { |
| 193 | title:'物料编码', | 462 | title:'物料编码', |
| 194 | align:"center", | 463 | align:"center", |
| 195 | - dataIndex: 'materialCode' | 464 | + dataIndex: 'meterialCode' |
| 196 | }, | 465 | }, |
| 197 | { | 466 | { |
| 198 | title:'物料长描述', | 467 | title:'物料长描述', |
| 199 | align:"center", | 468 | align:"center", |
| 200 | - dataIndex: 'materialDescription' | 469 | + dataIndex: 'meterialReview' |
| 201 | }, | 470 | }, |
| 202 | { | 471 | { |
| 203 | title:'计量单位', | 472 | title:'计量单位', |
| 204 | align:"center", | 473 | align:"center", |
| 205 | - dataIndex: 'measurementUnit' | 474 | + dataIndex: 'unit' |
| 206 | }, | 475 | }, |
| 207 | { | 476 | { |
| 208 | title:'品牌', | 477 | title:'品牌', |
| @@ -224,21 +493,21 @@ | @@ -224,21 +493,21 @@ | ||
| 224 | align:"center", | 493 | align:"center", |
| 225 | dataIndex: 'totalQuantity' | 494 | dataIndex: 'totalQuantity' |
| 226 | }, | 495 | }, |
| 227 | - { | ||
| 228 | - title:'单价(不含税,元)', | ||
| 229 | - align:"center", | ||
| 230 | - dataIndex: 'unitPrice' | ||
| 231 | - }, | ||
| 232 | - { | ||
| 233 | - title:'税率(%)', | ||
| 234 | - align:"center", | ||
| 235 | - dataIndex: 'taxRate' | ||
| 236 | - }, | ||
| 237 | - { | ||
| 238 | - title:'总价(不含税,元)', | ||
| 239 | - align:"center", | ||
| 240 | - dataIndex: 'totalPrice' | ||
| 241 | - }, | 496 | + // { |
| 497 | + // title:'单价(不含税,元)', | ||
| 498 | + // align:"center", | ||
| 499 | + // dataIndex: 'unitPrice' | ||
| 500 | + // }, | ||
| 501 | + // { | ||
| 502 | + // title:'税率(%)', | ||
| 503 | + // align:"center", | ||
| 504 | + // dataIndex: 'taxRate' | ||
| 505 | + // }, | ||
| 506 | + // { | ||
| 507 | + // title:'总价(不含税,元)', | ||
| 508 | + // align:"center", | ||
| 509 | + // dataIndex: 'totalPrice' | ||
| 510 | + // }, | ||
| 242 | { | 511 | { |
| 243 | title:'首次入库时间', | 512 | title:'首次入库时间', |
| 244 | align:"center", | 513 | align:"center", |
| @@ -270,6 +539,9 @@ | @@ -270,6 +539,9 @@ | ||
| 270 | } | 539 | } |
| 271 | ], | 540 | ], |
| 272 | url: { | 541 | url: { |
| 542 | + out: '/trade/tblTradeInventory/out', | ||
| 543 | + searchHth: '/trade/tblTradeBidSub/queryHtInfoByHthAndWlbm', | ||
| 544 | + store: '/trade/tblTradeInventory/add', | ||
| 273 | list: "/trade/tblTradeInventory/list", | 545 | list: "/trade/tblTradeInventory/list", |
| 274 | delete: "/trade/tblTradeInventory/delete", | 546 | delete: "/trade/tblTradeInventory/delete", |
| 275 | deleteBatch: "/trade/tblTradeInventory/deleteBatch", | 547 | deleteBatch: "/trade/tblTradeInventory/deleteBatch", |
| @@ -279,24 +551,99 @@ | @@ -279,24 +551,99 @@ | ||
| 279 | }, | 551 | }, |
| 280 | dictOptions:{}, | 552 | dictOptions:{}, |
| 281 | superFieldList:[], | 553 | superFieldList:[], |
| 554 | + model: { | ||
| 555 | + iszt: '1', | ||
| 556 | + // operator: this.$store.state.user.info.realname, | ||
| 557 | + blpsl: 0, | ||
| 558 | + }, | ||
| 559 | + model2: { | ||
| 282 | 560 | ||
| 283 | - materialCode:'', | 561 | + }, |
| 562 | + meterialCode:'', | ||
| 563 | + meterialReview:'', | ||
| 564 | + unit:'', | ||
| 565 | + brand:'', | ||
| 284 | width:896, | 566 | width:896, |
| 567 | + kcmxWidth: 1000, | ||
| 285 | visible:false, | 568 | visible:false, |
| 286 | visibleOut:false, | 569 | visibleOut:false, |
| 287 | visibleDefective:false, | 570 | visibleDefective:false, |
| 288 | visibleInfo:false, | 571 | visibleInfo:false, |
| 572 | + visibleInfoIn:false, | ||
| 573 | + visibleInfoOut:false, | ||
| 574 | + disableSubmit: false, | ||
| 575 | + title: '入库', | ||
| 576 | + titleOut: '出库', | ||
| 577 | + labelCol: { | ||
| 578 | + xs: { span: 24 }, | ||
| 579 | + sm: { span: 5 }, | ||
| 580 | + }, | ||
| 581 | + wrapperCol: { | ||
| 582 | + xs: { span: 24 }, | ||
| 583 | + sm: { span: 16 }, | ||
| 584 | + }, | ||
| 585 | + validatorRules: { | ||
| 586 | + meterialCode: [{ required: true, message: '请输入物料编码!' },], | ||
| 587 | + hth: [{ required: true, message: '请输入合同/订单号!' },], | ||
| 588 | + meterialReview: [{ required: true, message: '请输入物料长描述!' },], | ||
| 589 | + wldh: [{ required: true, message: '请输入物流单号!' },], | ||
| 590 | + unit: [{ required: true, message: '请输入单位!' },], | ||
| 591 | + // iszt: [{ required: true, message: '请选择是否在途!' },], | ||
| 592 | + cs: [{ required: true, message: '请输入供货商名称!' },], | ||
| 593 | + brand: [{ required: true, message: '请输入品牌!' },], | ||
| 594 | + warehouse: [{ required: true, message: '请输入仓库!' },], | ||
| 595 | + rksl: [{ required: true, message: '请输入入库数量!' },], | ||
| 596 | + operator: [{ required: true, message: '请输入采购员!' },], | ||
| 597 | + }, | ||
| 598 | + validatorOutRules: { | ||
| 599 | + meterialCode: [{ required: true, message: '请输入物料编码!' },], | ||
| 600 | + expressDeliveryNumber: [{ required: true, message: '请输入供应商合同号/订单号!' },], | ||
| 601 | + meterialReview: [{ required: true, message: '请输入物料长描述!' },], | ||
| 602 | + deliveryContractNumber: [{ required: true, message: '请输入中标合同编号!' },], | ||
| 603 | + unit: [{ required: true, message: '请输入单位!' },], | ||
| 604 | + demandUnit: [{ required: true, message: '请输入需求单位!' },], | ||
| 605 | + brand: [{ required: true, message: '请输入品牌!' },], | ||
| 606 | + warehouse: [{ required: true, message: '请输入仓库!' },], | ||
| 607 | + outboundQuantity: [{ required: true, message: '请输入出库数量!' },], | ||
| 608 | + salesman: [{ required: true, message: '请输入销售员!' },], | ||
| 609 | + }, | ||
| 289 | } | 610 | } |
| 290 | }, | 611 | }, |
| 291 | created() { | 612 | created() { |
| 292 | this.getSuperFieldList(); | 613 | this.getSuperFieldList(); |
| 293 | }, | 614 | }, |
| 294 | computed: { | 615 | computed: { |
| 616 | + formDisabled() { | ||
| 617 | + return this.disabled | ||
| 618 | + }, | ||
| 295 | importExcelUrl: function(){ | 619 | importExcelUrl: function(){ |
| 296 | return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; | 620 | return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; |
| 297 | }, | 621 | }, |
| 298 | }, | 622 | }, |
| 299 | methods: { | 623 | methods: { |
| 624 | + searchHth(){ | ||
| 625 | + getAction(this.url.searchHth,{ | ||
| 626 | + hth: this.model.hth, | ||
| 627 | + wlbm: this.model.meterialCode | ||
| 628 | + }).then(res=>{ | ||
| 629 | + if (res.success){ | ||
| 630 | + if (res.result.sl == null || res.result.cs == null || res.result.wldh == null){ | ||
| 631 | + // this.model = { | ||
| 632 | + // iszt: '1', | ||
| 633 | + // operator: this.$store.state.user.info.realname, | ||
| 634 | + // blpsl: 0, | ||
| 635 | + // } | ||
| 636 | + this.$message.error("未查询到订单信息!") | ||
| 637 | + }else { | ||
| 638 | + this.$set(this.model, "wldh", res.result.wldh); | ||
| 639 | + this.$set(this.model, "cs", res.result.cs); | ||
| 640 | + this.$set(this.model, "rksl", res.result.sl); | ||
| 641 | + this.$set(this.model, "sl", res.result.sl); | ||
| 642 | + this.$message.success("查询订单信息成功!") | ||
| 643 | + } | ||
| 644 | + } | ||
| 645 | + }) | ||
| 646 | + }, | ||
| 300 | handleInventoryIn(){ | 647 | handleInventoryIn(){ |
| 301 | this.visible = true; | 648 | this.visible = true; |
| 302 | }, | 649 | }, |
| @@ -307,10 +654,29 @@ | @@ -307,10 +654,29 @@ | ||
| 307 | this.visibleDefective = true; | 654 | this.visibleDefective = true; |
| 308 | }, | 655 | }, |
| 309 | handleInventoryInfo(recode){ | 656 | handleInventoryInfo(recode){ |
| 310 | - this.materialCode = recode.materialCode; | 657 | + this.meterialCode = recode.meterialCode; |
| 311 | this.visibleInfo = true; | 658 | this.visibleInfo = true; |
| 312 | }, | 659 | }, |
| 660 | + handleInventoryInfoIn(recode){ | ||
| 661 | + this.model = {} | ||
| 662 | + console.log(recode) | ||
| 663 | + this.model.meterialCode = recode.meterialCode; | ||
| 664 | + this.model.meterialReview = recode.meterialReview; | ||
| 665 | + this.model.unit = recode.unit; | ||
| 666 | + this.model.brand = recode.brand; | ||
| 667 | + this.visibleInfoIn = true; | ||
| 668 | + }, | ||
| 669 | + handleInventoryInfoOut(recode){ | ||
| 670 | + this.model2= {} | ||
| 671 | + console.log("..............",recode) | ||
| 672 | + this.model2.meterialCode = recode.meterialCode; | ||
| 673 | + this.model2.meterialReview = recode.meterialReview; | ||
| 674 | + this.model2.unit = recode.unit; | ||
| 675 | + this.model2.brand = recode.brand; | ||
| 676 | + this.visibleInfoOut = true; | ||
| 677 | + }, | ||
| 313 | handleCancel(){ | 678 | handleCancel(){ |
| 679 | + this.searchQuery(); | ||
| 314 | this.visible = false; | 680 | this.visible = false; |
| 315 | }, | 681 | }, |
| 316 | handleCancelOut(){ | 682 | handleCancelOut(){ |
| @@ -322,20 +688,95 @@ | @@ -322,20 +688,95 @@ | ||
| 322 | handleCancelInfo(){ | 688 | handleCancelInfo(){ |
| 323 | this.visibleInfo = false; | 689 | this.visibleInfo = false; |
| 324 | }, | 690 | }, |
| 691 | + // 出库页面确认 | ||
| 692 | + handleOkInfoOut(){ | ||
| 693 | + this.model2.materialCode = this.model2.meterialCode | ||
| 694 | + this.model2.materialDescription = this.model2.meterialReview | ||
| 695 | + this.model2.measurementUnit = this.model2.unit | ||
| 696 | + postAction(this.url.out,this.model2).then(res=>{ | ||
| 697 | + if (res.success){ | ||
| 698 | + this.$message.success("提交成功") | ||
| 699 | + }else{ | ||
| 700 | + this.$message.error(res.message) | ||
| 701 | + } | ||
| 702 | + }) | ||
| 703 | + console.log("11111111111111111111111") | ||
| 704 | + this.searchQuery(); | ||
| 705 | + console.log("222222222222222222") | ||
| 706 | + this.visibleInfoOut = false | ||
| 707 | + }, | ||
| 708 | + // 关闭出库页面 | ||
| 709 | + handleCancelInfoOut(){ | ||
| 710 | + this.searchQuery(); | ||
| 711 | + this.visibleInfoOut = false | ||
| 712 | + } | ||
| 713 | + | ||
| 714 | + | ||
| 715 | + , | ||
| 716 | + handleOkInfoIn(){ | ||
| 717 | + this.$refs.form.validate((valid) => { | ||
| 718 | + if (valid){ | ||
| 719 | + postAction(this.url.store,{ | ||
| 720 | + materialCode: this.model.meterialCode, //物料编码 | ||
| 721 | + materialDescription: this.model.meterialReview, //长描述 | ||
| 722 | + measurementUnit: this.model.unit, //单位 | ||
| 723 | + brand: this.model.brand,//品牌 | ||
| 724 | + hth: this.model.hth, //合同号 | ||
| 725 | + wldh: this.model.wldh, //物流单号 | ||
| 726 | + warehouse: this.model.warehouse, //仓库 | ||
| 727 | + operator: this.model.operator, //采购员 | ||
| 728 | + rksl: this.model.rksl, //入库数量 | ||
| 729 | + cs: this.model.cs, //厂商 | ||
| 730 | + }).then(res=>{ | ||
| 731 | + if (res.success){ | ||
| 732 | + this.$message.success("提交成功") | ||
| 733 | + }else { | ||
| 734 | + this.$message.error(res.message) | ||
| 735 | + } | ||
| 736 | + }) | ||
| 737 | + console.log("提交表单内容") | ||
| 738 | + this.visibleInfoIn = false | ||
| 739 | + } | ||
| 740 | + }) | ||
| 741 | + console.log("33333") | ||
| 742 | + this.loadData(1); | ||
| 743 | + this.searchQuery(); | ||
| 744 | + console.log("4444") | ||
| 745 | + }, | ||
| 746 | + handleCancelInfoIn(){ | ||
| 747 | + this.visibleInfoIn = false | ||
| 748 | + this.model = {} | ||
| 749 | + this.model = { | ||
| 750 | + iszt: '1', | ||
| 751 | + operator: this.$store.state.user.info.realname, | ||
| 752 | + blpsl: 0, | ||
| 753 | + } | ||
| 754 | + this.searchQuery(); | ||
| 755 | + }, | ||
| 325 | initDictConfig(){ | 756 | initDictConfig(){ |
| 326 | }, | 757 | }, |
| 758 | + submitCallback(){ | ||
| 759 | + this.$emit('ok'); | ||
| 760 | + this.visible = false; | ||
| 761 | + }, | ||
| 762 | + add () { | ||
| 763 | + this.visible=true | ||
| 764 | + this.$nextTick(()=>{ | ||
| 765 | + this.$refs.realForm.add(); | ||
| 766 | + }) | ||
| 767 | + }, | ||
| 327 | getSuperFieldList(){ | 768 | getSuperFieldList(){ |
| 328 | let fieldList=[]; | 769 | let fieldList=[]; |
| 329 | - fieldList.push({type:'string',value:'materialCode',text:'物料编码',dictCode:''}) | ||
| 330 | - fieldList.push({type:'string',value:'materialDescription',text:'物料描述',dictCode:''}) | ||
| 331 | - fieldList.push({type:'string',value:'measurementUnit',text:'计量单位',dictCode:''}) | 770 | + fieldList.push({type:'string',value:'meterialCode',text:'物料编码',dictCode:''}) |
| 771 | + fieldList.push({type:'string',value:'meterialReview',text:'物料长描述',dictCode:''}) | ||
| 772 | + fieldList.push({type:'string',value:'unit',text:'单位',dictCode:''}) | ||
| 332 | fieldList.push({type:'string',value:'brand',text:'品牌',dictCode:''}) | 773 | fieldList.push({type:'string',value:'brand',text:'品牌',dictCode:''}) |
| 333 | fieldList.push({type:'int',value:'actualInventory',text:'实际库存量',dictCode:''}) | 774 | fieldList.push({type:'int',value:'actualInventory',text:'实际库存量',dictCode:''}) |
| 334 | fieldList.push({type:'int',value:'quantityInTransit',text:'在途数量',dictCode:''}) | 775 | fieldList.push({type:'int',value:'quantityInTransit',text:'在途数量',dictCode:''}) |
| 335 | fieldList.push({type:'int',value:'totalQuantity',text:'总数量',dictCode:''}) | 776 | fieldList.push({type:'int',value:'totalQuantity',text:'总数量',dictCode:''}) |
| 336 | - fieldList.push({type:'BigDecimal',value:'unitPrice',text:'单价(不含税,元)',dictCode:''}) | ||
| 337 | - fieldList.push({type:'string',value:'taxRate',text:'税率(%)',dictCode:''}) | ||
| 338 | - fieldList.push({type:'BigDecimal',value:'totalPrice',text:'总价(不含税,元)',dictCode:''}) | 777 | + // fieldList.push({type:'BigDecimal',value:'unitPrice',text:'单价(不含税,元)',dictCode:''}) |
| 778 | + // fieldList.push({type:'string',value:'taxRate',text:'税率(%)',dictCode:''}) | ||
| 779 | + // fieldList.push({type:'BigDecimal',value:'totalPrice',text:'总价(不含税,元)',dictCode:''}) | ||
| 339 | fieldList.push({type:'date',value:'firstStorageTime',text:'首次入库时间'}) | 780 | fieldList.push({type:'date',value:'firstStorageTime',text:'首次入库时间'}) |
| 340 | fieldList.push({type:'date',value:'lastOutboundTime',text:'最后一次出库时间'}) | 781 | fieldList.push({type:'date',value:'lastOutboundTime',text:'最后一次出库时间'}) |
| 341 | fieldList.push({type:'string',value:'daysInStock',text:'在库天数',dictCode:''}) | 782 | fieldList.push({type:'string',value:'daysInStock',text:'在库天数',dictCode:''}) |
| @@ -13,10 +13,10 @@ | @@ -13,10 +13,10 @@ | ||
| 13 | <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> | 13 | <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> |
| 14 | <a-button type="primary" @click="searchQuery" icon="search">查询</a-button> | 14 | <a-button type="primary" @click="searchQuery" icon="search">查询</a-button> |
| 15 | <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button> | 15 | <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button> |
| 16 | - <a @click="handleToggleSearch" style="margin-left: 8px"> | ||
| 17 | - {{ toggleSearchStatus ? '收起' : '展开' }} | ||
| 18 | - <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/> | ||
| 19 | - </a> | 16 | +<!-- <a @click="handleToggleSearch" style="margin-left: 8px">--> |
| 17 | +<!-- {{ toggleSearchStatus ? '收起' : '展开' }}--> | ||
| 18 | +<!-- <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>--> | ||
| 19 | +<!-- </a>--> | ||
| 20 | </span> | 20 | </span> |
| 21 | </a-col> | 21 | </a-col> |
| 22 | </a-row> | 22 | </a-row> |
| @@ -132,7 +132,7 @@ | @@ -132,7 +132,7 @@ | ||
| 132 | // } | 132 | // } |
| 133 | // }, | 133 | // }, |
| 134 | { | 134 | { |
| 135 | - title:'单号', | 135 | + title:'出库单号', |
| 136 | align:"center", | 136 | align:"center", |
| 137 | dataIndex: 'waybillNum' | 137 | dataIndex: 'waybillNum' |
| 138 | }, | 138 | }, |
| @@ -147,7 +147,7 @@ | @@ -147,7 +147,7 @@ | ||
| 147 | dataIndex: 'materialDescription' | 147 | dataIndex: 'materialDescription' |
| 148 | }, | 148 | }, |
| 149 | { | 149 | { |
| 150 | - title:'计量单位', | 150 | + title:'单位', |
| 151 | align:"center", | 151 | align:"center", |
| 152 | dataIndex: 'measurementUnit' | 152 | dataIndex: 'measurementUnit' |
| 153 | }, | 153 | }, |
| @@ -167,17 +167,22 @@ | @@ -167,17 +167,22 @@ | ||
| 167 | dataIndex: 'inventoryQuantity' | 167 | dataIndex: 'inventoryQuantity' |
| 168 | }, | 168 | }, |
| 169 | { | 169 | { |
| 170 | + title:'出库时间', | ||
| 171 | + align:"center", | ||
| 172 | + dataIndex: 'createTime' | ||
| 173 | + }, | ||
| 174 | + { | ||
| 170 | title:'操作人', | 175 | title:'操作人', |
| 171 | align:"center", | 176 | align:"center", |
| 172 | dataIndex: 'createBy' | 177 | dataIndex: 'createBy' |
| 173 | }, | 178 | }, |
| 174 | { | 179 | { |
| 175 | - title:'合同单号/快递单号', | 180 | + title:'供应商合同号/订单号', |
| 176 | align:"center", | 181 | align:"center", |
| 177 | dataIndex: 'expressDeliveryNumber' | 182 | dataIndex: 'expressDeliveryNumber' |
| 178 | }, | 183 | }, |
| 179 | { | 184 | { |
| 180 | - title:'交货合同编号', | 185 | + title:'中标合同编号', |
| 181 | align:"center", | 186 | align:"center", |
| 182 | dataIndex: 'deliveryContractNumber' | 187 | dataIndex: 'deliveryContractNumber' |
| 183 | }, | 188 | }, |
| @@ -187,38 +192,15 @@ | @@ -187,38 +192,15 @@ | ||
| 187 | dataIndex: 'demandUnit' | 192 | dataIndex: 'demandUnit' |
| 188 | }, | 193 | }, |
| 189 | { | 194 | { |
| 190 | - title:'时间日期', | ||
| 191 | - align:"center", | ||
| 192 | - dataIndex: 'createTime' | ||
| 193 | - }, | ||
| 194 | - { | ||
| 195 | - title:'销售', | ||
| 196 | - align:"center", | ||
| 197 | - dataIndex: 'operator' | ||
| 198 | - }, | ||
| 199 | - { | ||
| 200 | title:'仓库', | 195 | title:'仓库', |
| 201 | align:"center", | 196 | align:"center", |
| 202 | dataIndex: 'warehouse' | 197 | dataIndex: 'warehouse' |
| 203 | }, | 198 | }, |
| 204 | { | 199 | { |
| 205 | - title:'审核人', | 200 | + title:'销售员', |
| 206 | align:"center", | 201 | align:"center", |
| 207 | - dataIndex: 'reviewer' | ||
| 208 | - }, | ||
| 209 | - // { | ||
| 210 | - // title:'出库/入库', | ||
| 211 | - // align:"center", | ||
| 212 | - // dataIndex: 'type' | ||
| 213 | - // }, | ||
| 214 | - // { | ||
| 215 | - // title: '操作', | ||
| 216 | - // dataIndex: 'action', | ||
| 217 | - // align:"center", | ||
| 218 | - // fixed:"right", | ||
| 219 | - // width:147, | ||
| 220 | - // scopedSlots: { customRender: 'action' } | ||
| 221 | - // } | 202 | + dataIndex: 'salesman' |
| 203 | + } | ||
| 222 | ], | 204 | ], |
| 223 | url: { | 205 | url: { |
| 224 | list: "/trade/tblTradeInventoryIn/list", | 206 | list: "/trade/tblTradeInventoryIn/list", |
| @@ -244,6 +226,12 @@ | @@ -244,6 +226,12 @@ | ||
| 244 | }, | 226 | }, |
| 245 | }, | 227 | }, |
| 246 | methods: { | 228 | methods: { |
| 229 | + searchReset(){ | ||
| 230 | + this.queryParam = { | ||
| 231 | + type : '出库' | ||
| 232 | + }; | ||
| 233 | + this.searchQuery(this.queryParam) | ||
| 234 | + }, | ||
| 247 | initDictConfig(){ | 235 | initDictConfig(){ |
| 248 | }, | 236 | }, |
| 249 | getSuperFieldList(){ | 237 | getSuperFieldList(){ |
| @@ -3,81 +3,81 @@ | @@ -3,81 +3,81 @@ | ||
| 3 | <j-form-container :disabled="formDisabled"> | 3 | <j-form-container :disabled="formDisabled"> |
| 4 | <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail"> | 4 | <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail"> |
| 5 | <a-row> | 5 | <a-row> |
| 6 | - <a-col :span="12"> | ||
| 7 | - <a-form-model-item label="单号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="waybillNum"> | ||
| 8 | - <a-input v-model="model.waybillNum" placeholder="请输入单号" ></a-input> | ||
| 9 | - </a-form-model-item> | ||
| 10 | - </a-col> | 6 | +<!-- <a-col :span="12">--> |
| 7 | +<!-- <a-form-model-item label="单号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="waybillNum">--> | ||
| 8 | +<!-- <a-input v-model="model.waybillNum" placeholder="请输入单号" ></a-input>--> | ||
| 9 | +<!-- </a-form-model-item>--> | ||
| 10 | +<!-- </a-col>--> | ||
| 11 | <a-col :span="12"> | 11 | <a-col :span="12"> |
| 12 | <a-form-model-item label="物料编码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="materialCode"> | 12 | <a-form-model-item label="物料编码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="materialCode"> |
| 13 | - <a-input v-model="model.materialCode" placeholder="请输入物料编码" ></a-input> | ||
| 14 | - </a-form-model-item> | ||
| 15 | - </a-col> | ||
| 16 | - <a-col :span="12"> | ||
| 17 | - <a-form-model-item label="物料描述" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="materialDescription"> | ||
| 18 | - <a-input v-model="model.materialDescription" placeholder="请输入物料描述" ></a-input> | ||
| 19 | - </a-form-model-item> | ||
| 20 | - </a-col> | ||
| 21 | - <a-col :span="12"> | ||
| 22 | - <a-form-model-item label="计量单位" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="measurementUnit"> | ||
| 23 | - <a-input v-model="model.measurementUnit" placeholder="请输入计量单位" ></a-input> | 13 | + <a-input-search |
| 14 | + v-model="model.materialCode" placeholder="请输入物料编码" | ||
| 15 | + @search="searchMaterialCode" | ||
| 16 | + ></a-input-search> | ||
| 24 | </a-form-model-item> | 17 | </a-form-model-item> |
| 25 | </a-col> | 18 | </a-col> |
| 26 | <a-col :span="12"> | 19 | <a-col :span="12"> |
| 27 | - <a-form-model-item label="品牌" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="brand"> | ||
| 28 | - <a-input v-model="model.brand" placeholder="请输入品牌" ></a-input> | 20 | + <a-form-model-item label="供应商合同号/订单号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="expressDeliveryNumber"> |
| 21 | + <a-input v-model="model.expressDeliveryNumber" placeholder="请输入供应商合同号/订单号" ></a-input> | ||
| 29 | </a-form-model-item> | 22 | </a-form-model-item> |
| 30 | </a-col> | 23 | </a-col> |
| 31 | <a-col :span="12"> | 24 | <a-col :span="12"> |
| 32 | - <a-form-model-item label="实际库存量" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="actualInventory"> | ||
| 33 | - <a-input v-model="model.actualInventory" placeholder="请输入实际库存量" ></a-input> | 25 | + <a-form-model-item label="物料长描述" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="materialDescription"> |
| 26 | + <a-input v-model="model.materialDescription" placeholder="请输入物料长描述" disabled="disabled"></a-input> | ||
| 34 | </a-form-model-item> | 27 | </a-form-model-item> |
| 35 | </a-col> | 28 | </a-col> |
| 36 | <a-col :span="12"> | 29 | <a-col :span="12"> |
| 37 | - <a-form-model-item label="出库数量" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="outboundQuantity"> | ||
| 38 | - <a-input v-model="model.outboundQuantity" placeholder="请输入出库数量" ></a-input> | 30 | + <a-form-model-item label="中标合同编号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="deliveryContractNumber"> |
| 31 | + <a-input v-model="model.deliveryContractNumber" placeholder="请输入中标合同编号" ></a-input> | ||
| 39 | </a-form-model-item> | 32 | </a-form-model-item> |
| 40 | </a-col> | 33 | </a-col> |
| 41 | <a-col :span="12"> | 34 | <a-col :span="12"> |
| 42 | - <a-form-model-item label="操作人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="operator"> | ||
| 43 | - <a-input v-model="model.operator" placeholder="请输入操作人" ></a-input> | 35 | + <a-form-model-item label="单位" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="measurementUnit"> |
| 36 | + <a-input v-model="model.measurementUnit" placeholder="请输入单位" disabled="disabled"></a-input> | ||
| 44 | </a-form-model-item> | 37 | </a-form-model-item> |
| 45 | </a-col> | 38 | </a-col> |
| 46 | <a-col :span="12"> | 39 | <a-col :span="12"> |
| 47 | - <a-form-model-item label="合同单号/快递单号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="expressDeliveryNumber"> | ||
| 48 | - <a-input v-model="model.expressDeliveryNumber" placeholder="请输入合同单号/快递单号" ></a-input> | ||
| 49 | - </a-form-model-item> | ||
| 50 | - </a-col> | ||
| 51 | - <a-col :span="12"> | ||
| 52 | - <a-form-model-item label="交货合同编号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="deliveryContractNumber"> | ||
| 53 | - <a-input v-model="model.deliveryContractNumber" placeholder="请输入交货合同编号" ></a-input> | 40 | + <a-form-model-item label="需求单位" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="demandUnit"> |
| 41 | + <a-input v-model="model.demandUnit" placeholder="请输入需求单位" ></a-input> | ||
| 54 | </a-form-model-item> | 42 | </a-form-model-item> |
| 55 | </a-col> | 43 | </a-col> |
| 56 | <a-col :span="12"> | 44 | <a-col :span="12"> |
| 57 | - <a-form-model-item label="需求单位" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="demandUnit"> | ||
| 58 | - <a-input v-model="model.demandUnit" placeholder="请输入需求单位" ></a-input> | 45 | + <a-form-model-item label="品牌" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="brand"> |
| 46 | + <a-input v-model="model.brand" placeholder="请输入品牌" disabled="disabled" ></a-input> | ||
| 59 | </a-form-model-item> | 47 | </a-form-model-item> |
| 60 | </a-col> | 48 | </a-col> |
| 49 | + | ||
| 61 | <a-col :span="12"> | 50 | <a-col :span="12"> |
| 62 | <a-form-model-item label="仓库" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="warehouse"> | 51 | <a-form-model-item label="仓库" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="warehouse"> |
| 63 | <a-input v-model="model.warehouse" placeholder="请输入仓库" ></a-input> | 52 | <a-input v-model="model.warehouse" placeholder="请输入仓库" ></a-input> |
| 64 | </a-form-model-item> | 53 | </a-form-model-item> |
| 65 | </a-col> | 54 | </a-col> |
| 66 | <a-col :span="12"> | 55 | <a-col :span="12"> |
| 67 | - <a-form-model-item label="销售人员" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="salesman"> | ||
| 68 | - <a-input v-model="model.salesman" placeholder="请输入销售人员" ></a-input> | 56 | + <a-form-model-item label="不良品数量" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="blpsl"> |
| 57 | + <a-input v-model="model.blpsl" placeholder="请输入不良品数量" ></a-input> | ||
| 69 | </a-form-model-item> | 58 | </a-form-model-item> |
| 70 | </a-col> | 59 | </a-col> |
| 71 | <a-col :span="12"> | 60 | <a-col :span="12"> |
| 72 | - <a-form-model-item label="审核人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="reviewer"> | ||
| 73 | - <a-input v-model="model.reviewer" placeholder="请输入审核人" ></a-input> | 61 | + <a-form-model-item label="销售员" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="salesman"> |
| 62 | + <a-input v-model="model.salesman" placeholder="请输入销售员" ></a-input> | ||
| 74 | </a-form-model-item> | 63 | </a-form-model-item> |
| 75 | </a-col> | 64 | </a-col> |
| 76 | <a-col :span="12"> | 65 | <a-col :span="12"> |
| 77 | - <a-form-model-item label="合同单号/快递单号(退换)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="exchangeExpressDeliveryNumber"> | ||
| 78 | - <a-input v-model="model.exchangeExpressDeliveryNumber" placeholder="请输入合同单号/快递单号(退换)" ></a-input> | 66 | + <a-form-model-item label="异常原因" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="ycyy"> |
| 67 | + <a-select | ||
| 68 | + ref="select" | ||
| 69 | + v-model:value="model.ycyy" | ||
| 70 | + > | ||
| 71 | + <a-select-option value="1">来料不良</a-select-option> | ||
| 72 | + <a-select-option value="2">货损</a-select-option> | ||
| 73 | + <a-select-option value="3">来料少件</a-select-option> | ||
| 74 | + <a-select-option value="4">发错货</a-select-option> | ||
| 75 | + </a-select> | ||
| 79 | </a-form-model-item> | 76 | </a-form-model-item> |
| 80 | </a-col> | 77 | </a-col> |
| 78 | + | ||
| 79 | + | ||
| 80 | + | ||
| 81 | </a-row> | 81 | </a-row> |
| 82 | </a-form-model> | 82 | </a-form-model> |
| 83 | </j-form-container> | 83 | </j-form-container> |
| @@ -104,6 +104,7 @@ | @@ -104,6 +104,7 @@ | ||
| 104 | data () { | 104 | data () { |
| 105 | return { | 105 | return { |
| 106 | model:{ | 106 | model:{ |
| 107 | + ycyy: '1' | ||
| 107 | }, | 108 | }, |
| 108 | labelCol: { | 109 | labelCol: { |
| 109 | xs: { span: 24 }, | 110 | xs: { span: 24 }, |
| @@ -115,8 +116,20 @@ | @@ -115,8 +116,20 @@ | ||
| 115 | }, | 116 | }, |
| 116 | confirmLoading: false, | 117 | confirmLoading: false, |
| 117 | validatorRules: { | 118 | validatorRules: { |
| 119 | + materialCode: [{ required: true, message: '物料编码不能为空', trigger: 'blur' }], | ||
| 120 | + expressDeliveryNumber: [{ required: true, message: '供应商合同号/订单号不能为空', trigger: 'blur' }], | ||
| 121 | + materialDescription: [{ required: true, message: '物料长描述不能为空', trigger: 'blur' }], | ||
| 122 | + deliveryContractNumber: [{ required: true, message: '中标合同编号不能为空', trigger: 'blur' }], | ||
| 123 | + measurementUnit: [{ required: true, message: '单位不能为空', trigger: 'blur' }], | ||
| 124 | + demandUnit: [{ required: true, message: '需求单位不能为空', trigger: 'blur' }], | ||
| 125 | + brand: [{ required: true, message: '品牌不能为空', trigger: 'blur' }], | ||
| 126 | + warehouse: [{ required: true, message: '仓库不能为空', trigger: 'blur' }], | ||
| 127 | + blpsl: [{ required: true, message: '不良品数量不能为空', trigger: 'blur' }], | ||
| 128 | + salesman: [{ required: true, message: '销售员不能为空', trigger: 'blur' }], | ||
| 129 | + ycyy: [{ required: true, message: '异常原因不能为空', trigger: 'blur' }], | ||
| 118 | }, | 130 | }, |
| 119 | url: { | 131 | url: { |
| 132 | + queryByMaterialCode: "/trade/tblTradeMeterial/queryByMaterialCode", | ||
| 120 | add: "/trade/tblTradeInventoryDefectiveProduct/add", | 133 | add: "/trade/tblTradeInventoryDefectiveProduct/add", |
| 121 | edit: "/trade/tblTradeInventoryDefectiveProduct/edit", | 134 | edit: "/trade/tblTradeInventoryDefectiveProduct/edit", |
| 122 | queryById: "/trade/tblTradeInventoryDefectiveProduct/queryById" | 135 | queryById: "/trade/tblTradeInventoryDefectiveProduct/queryById" |
| @@ -133,6 +146,19 @@ | @@ -133,6 +146,19 @@ | ||
| 133 | this.modelDefault = JSON.parse(JSON.stringify(this.model)); | 146 | this.modelDefault = JSON.parse(JSON.stringify(this.model)); |
| 134 | }, | 147 | }, |
| 135 | methods: { | 148 | methods: { |
| 149 | + searchMaterialCode(){ | ||
| 150 | + getAction(this.url.queryByMaterialCode,{ | ||
| 151 | + meterialCode: this.model.materialCode | ||
| 152 | + }).then((res)=>{ | ||
| 153 | + if(res.success){ | ||
| 154 | + this.$set(this.model, "materialDescription", res.result.meterialReview); | ||
| 155 | + this.$set(this.model, "measurementUnit", res.result.unit); | ||
| 156 | + this.$set(this.model, "brand", res.result.brand); | ||
| 157 | + }else{ | ||
| 158 | + this.$message.warning(res.message); | ||
| 159 | + } | ||
| 160 | + }) | ||
| 161 | + }, | ||
| 136 | add () { | 162 | add () { |
| 137 | this.edit(this.modelDefault); | 163 | this.edit(this.modelDefault); |
| 138 | }, | 164 | }, |
-
请 注册 或 登录 后发表评论