| | |
| | | :show-summary="showSummary.show" |
| | | :summary-method="getSummaries" |
| | | :span-method="arraySpanMethod" |
| | | @row-click="rowClick" |
| | | > |
| | | <el-table-column |
| | | type="index" |
| | |
| | | :rules="[{ required: item.isRequird ? true : false, message: '输入不能为空' }]" |
| | | > |
| | | <el-input |
| | | :disabled="item.disabled" |
| | | v-model.trim="scope.row[item.prop]" |
| | | maxlength="50" |
| | | size="mini" |
| | |
| | | <el-form-item v-else-if="item.productName" label=" " :prop="'tableData.' + scope.$index + '.' + item.prop"> |
| | | <div class="custom-name"> |
| | | <el-autocomplete |
| | | :disabled="item.disabled" |
| | | v-model="scope.row[item.prop]" |
| | | :fetch-suggestions="querySearchAsync" |
| | | value-key="name" |
| | |
| | | } |
| | | " |
| | | ></el-autocomplete> |
| | | <div class="common-select-btn" @click="selClientClick(scope.row, item.prop, scope)"> |
| | | <div |
| | | v-if="!item.disabled" |
| | | class="common-select-btn" |
| | | @click="selClientClick(scope.row, item.prop, scope)" |
| | | > |
| | | <i class="el-icon-circle-plus-outline" title="选择"></i> |
| | | </div> |
| | | <div class="common-select-btn" @click="clearupClient(scope.row, scope)"> |
| | | <div v-if="!item.disabled" class="common-select-btn" @click="clearupClient(scope.row, scope)"> |
| | | <i class="el-icon-remove-outline" title="清除"></i> |
| | | </div> |
| | | <div class="common-select-btn" v-if="scope.$index != 0" @click="deleteClient(scope.row, scope)"> |
| | | <i class="el-icon-delete" title="删除"></i> |
| | | </div> |
| | | <template v-if="!item.disabled"> |
| | | <div class="common-select-btn" v-if="scope.$index != 0" @click="deleteClient(scope.row, scope)"> |
| | | <i class="el-icon-delete" title="删除"></i> |
| | | </div> |
| | | </template> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item |
| | |
| | | :rules="[{ required: item.isRequird ? true : false, message: '输入不能为空' }]" |
| | | > |
| | | <el-input-number |
| | | :disabled="item.disabled" |
| | | v-model="scope.row[item.prop]" |
| | | placeholder="" |
| | | :min="0" |
| | |
| | | :prop="'tableData.' + scope.$index + '.' + item.prop" |
| | | :rules="[{ required: item.isRequird ? true : false, message: '输入不能为空' }]" |
| | | > |
| | | <!-- 采购管理 --> |
| | | <template v-if="item.multiply"> |
| | | <el-input-number |
| | | :disabled="item.disabled" |
| | | :value="scope.row[showSummary.multiply[0]] * scope.row[showSummary.multiply[1]]" |
| | | placeholder="" |
| | | :disabled="item.disabled" |
| | | :min="0" |
| | | :precision="2" |
| | | :controls="false" |
| | |
| | | </template> |
| | | <template v-else> |
| | | <el-input-number |
| | | :disabled="item.disabled" |
| | | v-model="scope.row[item.prop]" |
| | | placeholder="" |
| | | :min="0" |
| | |
| | | </el-table> |
| | | </el-form> |
| | | <div v-if="!detailEnter" style="margin: 10px"> |
| | | <el-button size="small" type="primary" @click="add">新增</el-button> |
| | | <el-button size="small" type="primary" @click="empty">清空</el-button> |
| | | <el-button :disabled="tableList.disabled" size="small" type="primary" @click="add">新增</el-button> |
| | | <el-button :disabled="tableList.disabled" size="small" type="primary" @click="empty">清空</el-button> |
| | | </div> |
| | | <!-- 产品名称 --> |
| | | <SelectCommonDialog |
| | |
| | | type: Object, |
| | | default: () => { |
| | | return { |
| | | tableProductList: [], |
| | | disabled: false, |
| | | tableData: [], // 接口返回数据 |
| | | tableColumn: [ |
| | | // table表单 |
| | |
| | | title: "", |
| | | infomation: {} |
| | | }, |
| | | productIndex: 0 |
| | | productIndex: 0, |
| | | tableProductLists: [] |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | } |
| | | }, |
| | | methods: { |
| | | // 选择行 |
| | | rowClick(row) { |
| | | this.$emit("rowClick", row) |
| | | }, |
| | | // 产品名称 |
| | | async getProductList() { |
| | | let fn = this.sign == "purchase" ? getProductList : getProductListFromGrpc |
| | |
| | | page: 1, |
| | | pageSize: 100 |
| | | }).then((res) => { |
| | | if (res.data.code === 200) { |
| | | if (res.data.data.list && res.data.data.list.length > 0) { |
| | | this.productList = res.data.data.list |
| | | if (res.code === 200) { |
| | | if (res.data.list && res.data.list.length > 0) { |
| | | this.productList = res.data.list |
| | | this.tableProductLists = res.data.list |
| | | } |
| | | } |
| | | }) |
| | |
| | | this.$emit("addProductClick") |
| | | }, |
| | | commonInputChange(val, prop, row) { |
| | | console.log(val, prop) |
| | | console.log(row) |
| | | this.$emit("inputContent", val, prop, row) |
| | | }, |
| | | // 清空 |
| | |
| | | }, |
| | | // 选择产品名称相关方法 |
| | | querySearchAsync(queryString, cb) { |
| | | var restaurants = this.productList |
| | | var restaurants = this.tableProductLists |
| | | var results = queryString ? restaurants.filter(this.createStateFilter(queryString)) : restaurants |
| | | cb(results) |
| | | }, |
| | |
| | | } |
| | | }, |
| | | handleSelectClient(item, prop, row) { |
| | | // this.clientId = item.id |
| | | console.log(item, prop, row) |
| | | this.tableList.tableData.map((ite) => { |
| | | if (ite.name === item.name) { |
| | | ite.ID = row.ID |
| | | ite.id = row.id |
| | | ite.amount = item.amount || 1 |
| | | ite.number = item.number |
| | | ite.purchasePrice = item.purchasePrice |
| | |
| | | } |
| | | }) |
| | | if (this.detailEnter) { |
| | | this.setEditName(item, row.ID) |
| | | this.setEditName(item, row.id) |
| | | } |
| | | this.$emit("handleProduct", item, row) |
| | | }, |
| | | setEditName(item, ID) { |
| | | setEditName(item, id) { |
| | | let selRow = { |
| | | ID: ID, |
| | | id: id, |
| | | deliveryTime: item.deliveryTime, |
| | | maximumStock: item.maximumStock, |
| | | minimumStock: item.minimumStock, |
| | |
| | | console.log(this.tableList.tableData) |
| | | if (this.detailEnter) { |
| | | this.tableList.tableData.map((ite) => { |
| | | ite.ID |
| | | ite.id |
| | | ite.name = item.name |
| | | ite.amount = item.amount || 1 |
| | | ite.number = item.number |
| | |
| | | ite.deliveryTime = item.deliveryTime |
| | | ite.shippingDuration = item.shippingDuration |
| | | }) |
| | | this.setEditName(item, this.tableList.tableData[0].ID) |
| | | this.setEditName(item, this.tableList.tableData[0].id) |
| | | } else { |
| | | this.tableList.tableData.map((ite, index) => { |
| | | if (index === this.productIndex) { |
| | | ite.name = item.name |
| | | ite.productId = item.ID |
| | | ite.productId = item.id |
| | | ite.productIndex = this.productIndex + 1 |
| | | ite.amount = item.amount || 1 |
| | | ite.number = item.number |
| | | ite.purchasePrice = item.purchasePrice |
| | |
| | | this.$forceUpdate() |
| | | } |
| | | }) |
| | | |
| | | console.log(this.tableList.tableData, "=====chanp") |
| | | } |
| | | }, |
| | |
| | | <style lang="scss" scoped> |
| | | .page-view { |
| | | min-width: 100px; |
| | | |
| | | .el-form-item { |
| | | margin-bottom: 0; |
| | | |
| | | .custom-name { |
| | | display: flex; |
| | | |
| | | .common-select-btn { |
| | | margin-left: 5px; |
| | | font-size: 18px; |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | ::v-deep { |
| | | .el-form-item__label { |
| | | display: none; |
| | | } |
| | | |
| | | .el-table__footer-wrapper tbody td.el-table__cell { |
| | | background-color: #fff; |
| | | // text-align: right; |
| | | font-weight: bold; |
| | | } |
| | | |
| | | .el-input--suffix .el-input__inner { |
| | | padding-right: 0px; |
| | | } |
| | | |
| | | .el-table .cell, |
| | | .el-table th.el-table__cell > .cell { |
| | | padding: 0 5px; |
| | | } |
| | | |
| | | .el-input__inner { |
| | | text-align: left; |
| | | } |