| | |
| | | <i class="el-icon-s-tools"></i> |
| | | <span>动作</span> |
| | | </span> |
| | | <el-button v-if="showEdit" plain size="mini" style="margin-left: 15px" @click="editClick">编辑</el-button> |
| | | <el-button |
| | | v-if="showEdit" |
| | | plain |
| | | size="mini" |
| | | style="margin-left: 15px" |
| | | @click="editClick" |
| | | >编辑</el-button |
| | | > |
| | | </div> |
| | | </div> |
| | | <!-- 内容 --> |
| | |
| | | <div class="basic-info-view"> |
| | | <el-row> |
| | | <el-col :span="23"> |
| | | <div style="margin-left: 20px"><span style="color: #f56c6c">*</span>产品名称</div> |
| | | <div style="margin-left: 20px"> |
| | | <span style="color: #f56c6c">*</span>产品名称 |
| | | </div> |
| | | <el-form-item label="" prop="name" label-width="20px"> |
| | | <el-input v-model="editConfig.infomation.name" placeholder="" :disabled="!showFooter"></el-input> |
| | | <el-input |
| | | v-model="editConfig.infomation.name" |
| | | placeholder="" |
| | | :disabled="!showFooter" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <!-- <el-col :span="4"> |
| | |
| | | <div v-if="activeName === 'first'"> |
| | | <div class="purchase-view"> |
| | | <div class="left"> |
| | | <el-form-item label="产品类型" prop="productType" style="margin-left: 20px"> |
| | | <el-form-item |
| | | label="产品类型" |
| | | prop="productType" |
| | | style="margin-left: 20px" |
| | | > |
| | | <el-select |
| | | v-model="editConfig.infomation.productType" |
| | | placeholder="请选择" |
| | |
| | | style="width: 85%" |
| | | :disabled="!showFooter" |
| | | > |
| | | <el-option v-for="item in productTypeOptions" :key="item.id" :label="item.name" :value="item.id"> |
| | | <el-option |
| | | v-for="item in productTypeOptions" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="开票策略" prop="invoicingStrategy" style="margin-left: 20px"> |
| | | <el-form-item |
| | | label="开票策略" |
| | | prop="invoicingStrategy" |
| | | style="margin-left: 20px" |
| | | > |
| | | <el-select |
| | | v-model="editConfig.infomation.invoicingStrategy" |
| | | placeholder="请选择" |
| | |
| | | style="width: 85%" |
| | | :disabled="!showFooter" |
| | | > |
| | | <el-option v-for="item in strategyOptions" :key="item.id" :label="item.name" :value="item.id"> |
| | | <el-option |
| | | v-for="item in strategyOptions" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | <div class="font_size_13" style="color: gray">可储存的产品是您管理库存水平的实物项目。</div> |
| | | <div class="font_size_13" style="color: gray">您可以在发货前为其开具结算单。</div> |
| | | <div class="font_size_13" style="color: gray"> |
| | | 可储存的产品是您管理库存水平的实物项目。 |
| | | </div> |
| | | <div class="font_size_13" style="color: gray"> |
| | | 您可以在发货前为其开具结算单。 |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="物料类型" prop="model" style="margin-left: 20px"> |
| | | <el-form-item |
| | | label="物料类型" |
| | | prop="model" |
| | | style="margin-left: 20px" |
| | | > |
| | | <el-select |
| | | v-model="editConfig.infomation.model" |
| | | placeholder="请选择" |
| | |
| | | :popper-append-to-body="false" |
| | | :disabled="!showFooter" |
| | | > |
| | | <el-option v-for="item in materialTypeList" :key="item.id" :label="item.name" :value="item.id"> |
| | | <el-option |
| | | v-for="item in materialTypeList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="单位" prop="unit" style="margin-left: 20px"> |
| | | <el-form-item |
| | | label="单位" |
| | | prop="unit" |
| | | style="margin-left: 20px" |
| | | > |
| | | <el-input |
| | | v-model="editConfig.infomation.unit" |
| | | placeholder="请输入" |
| | |
| | | :disabled="!showFooter" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="产品标签" prop="productTagName" style="margin-left: 20px"> |
| | | <el-form-item |
| | | label="产品标签" |
| | | prop="productTagName" |
| | | style="margin-left: 20px" |
| | | > |
| | | <el-input |
| | | v-model="editConfig.infomation.productTagName" |
| | | placeholder="请输入" |
| | |
| | | </el-form-item> |
| | | </div> |
| | | <div class="right"> |
| | | <el-form-item label="销售价格" prop="salePrice" style="margin-left: 20px"> |
| | | <el-form-item |
| | | label="销售价格" |
| | | prop="salePrice" |
| | | style="margin-left: 20px" |
| | | > |
| | | <span>¥</span> |
| | | <el-input-number |
| | | v-model.trim="editConfig.infomation.salePrice" |
| | |
| | | :disabled="!showFooter" |
| | | ></el-input-number> |
| | | </el-form-item> |
| | | <el-form-item label="销项税" prop="customerTaxes" style="margin-left: 20px"> |
| | | <el-form-item |
| | | label="销项税" |
| | | prop="customerTaxes" |
| | | style="margin-left: 20px" |
| | | > |
| | | <el-input-number |
| | | v-model="editConfig.infomation.customerTaxes" |
| | | placeholder="请输入" |
| | |
| | | :disabled="!showFooter" |
| | | ></el-input-number> |
| | | </el-form-item> |
| | | <el-form-item label="成本" prop="cost" style="margin-left: 20px"> |
| | | <el-form-item |
| | | label="成本" |
| | | prop="cost" |
| | | style="margin-left: 20px" |
| | | > |
| | | <span>¥</span> |
| | | <el-input-number |
| | | v-model.trim="editConfig.infomation.cost" |
| | |
| | | :disabled="!showFooter" |
| | | ></el-input-number> |
| | | </el-form-item> |
| | | <el-form-item label="产品类别" prop="categoryId" style="margin-left: 20px"> |
| | | <el-form-item |
| | | label="产品类别" |
| | | prop="categoryId" |
| | | style="margin-left: 20px" |
| | | > |
| | | <el-select |
| | | v-model="editConfig.infomation.categoryId" |
| | | placeholder="请选择" |
| | |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="内部参考" prop="internalReference" style="margin-left: 20px"> |
| | | <el-form-item |
| | | label="内部参考" |
| | | prop="internalReference" |
| | | style="margin-left: 20px" |
| | | > |
| | | <el-input |
| | | v-model.trim="editConfig.infomation.internalReference" |
| | | placeholder="请输入" |
| | |
| | | :disabled="!showFooter" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="条码" prop="barcode" style="margin-left: 20px"> |
| | | <el-form-item |
| | | label="条码" |
| | | prop="barcode" |
| | | style="margin-left: 20px" |
| | | > |
| | | <el-input |
| | | v-model.trim="editConfig.infomation.barcode" |
| | | placeholder="请输入" |
| | |
| | | </div> |
| | | <div class="all"> |
| | | <div class="second-label">内部说明</div> |
| | | <el-form-item label="" prop="internalNotes" style="margin-left: 20px" label-width="0px"> |
| | | <el-form-item |
| | | label="" |
| | | prop="internalNotes" |
| | | style="margin-left: 20px" |
| | | label-width="0px" |
| | | > |
| | | <el-input |
| | | v-model.trim="editConfig.infomation.internalNotes" |
| | | placeholder="请输入" |
| | |
| | | </el-form-item> |
| | | </div> --> |
| | | <div class="left"> |
| | | <el-form-item label="负责人" prop="principal" style="margin-left: 20px" label-width="80px"> |
| | | <el-form-item |
| | | label="负责人" |
| | | prop="principal" |
| | | style="margin-left: 20px" |
| | | label-width="80px" |
| | | > |
| | | <el-select |
| | | v-model="editConfig.infomation.principal" |
| | | placeholder="请选择" |
| | |
| | | style="width: 85%" |
| | | :disabled="!showFooter" |
| | | > |
| | | <el-option v-for="item in memberOptions" :key="item.id" :label="item.name" :value="item.name"> |
| | | <el-option |
| | | v-for="item in memberOptions" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.name" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="重量" prop="weight" style="margin-left: 20px" label-width="80px"> |
| | | <el-form-item |
| | | label="重量" |
| | | prop="weight" |
| | | style="margin-left: 20px" |
| | | label-width="80px" |
| | | > |
| | | <el-input-number |
| | | v-model="editConfig.infomation.weight" |
| | | placeholder="请输入" |
| | |
| | | ></el-input-number> |
| | | <span> kg</span> |
| | | </el-form-item> |
| | | <el-form-item label="体积" prop="volume" style="margin-left: 20px" label-width="80px"> |
| | | <el-form-item |
| | | label="体积" |
| | | prop="volume" |
| | | style="margin-left: 20px" |
| | | label-width="80px" |
| | | > |
| | | <el-input-number |
| | | v-model="editConfig.infomation.volume" |
| | | placeholder="请输入" |
| | |
| | | <div class="purchase-view"> |
| | | <div class="left"> |
| | | <div class="second-label">收货说明</div> |
| | | <el-form-item label="" prop="inStorageExplain" style="margin-left: 20px" label-width="0px"> |
| | | <el-form-item |
| | | label="" |
| | | prop="inStorageExplain" |
| | | style="margin-left: 20px" |
| | | label-width="0px" |
| | | > |
| | | <el-input |
| | | v-model.trim="editConfig.infomation.inStorageExplain" |
| | | placeholder="此说明添加到收货订单中(例如,产品在仓库的存储位置)" |
| | |
| | | </div> |
| | | <div class="right"> |
| | | <div class="second-label">出库单说明</div> |
| | | <el-form-item label="" prop="outStorageExplain" style="margin-left: 20px" label-width="0px"> |
| | | <el-form-item |
| | | label="" |
| | | prop="outStorageExplain" |
| | | style="margin-left: 20px" |
| | | label-width="0px" |
| | | > |
| | | <el-input |
| | | v-model.trim="editConfig.infomation.outStorageExplain" |
| | | placeholder="此通知已添加到送货单中" |
| | |
| | | <div class="purchase-view"> |
| | | <div class="left"> |
| | | <div class="second-label">内部调拨说明</div> |
| | | <el-form-item label="" prop="internalTransferExplain" style="margin-left: 20px" label-width="0px"> |
| | | <el-form-item |
| | | label="" |
| | | prop="internalTransferExplain" |
| | | style="margin-left: 20px" |
| | | label-width="0px" |
| | | > |
| | | <el-input |
| | | v-model.trim="editConfig.infomation.internalTransferExplain" |
| | | v-model.trim=" |
| | | editConfig.infomation.internalTransferExplain |
| | | " |
| | | placeholder="此说明添加到内部调拨订单中(例如,在仓库中何处提取产品)" |
| | | size="mini" |
| | | type="textarea" |
| | |
| | | </el-form> |
| | | <!-- 尾 --> |
| | | <div v-if="showFooter" slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" size="small" @click="saveClick('form')">保存</el-button> |
| | | <el-button size="small" @click="editConfig.visible = false">取消</el-button> |
| | | <el-button type="primary" size="small" @click="saveClick('form')" |
| | | >保存</el-button |
| | | > |
| | | <el-button size="small" @click="editConfig.visible = false" |
| | | >取消</el-button |
| | | > |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | |
| | | |
| | | <script> |
| | | // import CommonFormTableView from "@/components/makepager/CommonFormTableView" |
| | | import { getProductCategoryList } from "@/api/product/productCategory" |
| | | import { getProductList, addProduct, updateProduct } from "@/api/product/product" |
| | | import { getProductCategoryList } from "@/api/product/productCategory"; |
| | | import { |
| | | getProductList, |
| | | addProduct, |
| | | updateProduct, |
| | | } from "@/api/product/product"; |
| | | |
| | | let inputElement = null |
| | | let inputElement = null; |
| | | export default { |
| | | name: "AddProductDialog", |
| | | props: { |
| | |
| | | return { |
| | | visible: false, |
| | | title: "新建", |
| | | infomation: {} |
| | | } |
| | | } |
| | | } |
| | | infomation: {}, |
| | | }; |
| | | }, |
| | | }, |
| | | }, |
| | | components: {}, |
| | | computed: {}, |
| | |
| | | editConfig: this.editCommonConfig, |
| | | rules: { |
| | | name: [{ required: true, message: "请输入产品名称", trigger: "blur" }], |
| | | model: [{ required: true, message: "请选择物料类型", trigger: "change" }], |
| | | salePrice: [{ required: true, message: "请输入销售价格", trigger: "blur" }], |
| | | unit: [{ required: true, message: "请输入单位", trigger: "blur" }] |
| | | model: [ |
| | | { required: true, message: "请选择物料类型", trigger: "change" }, |
| | | ], |
| | | salePrice: [ |
| | | { required: true, message: "请输入销售价格", trigger: "blur" }, |
| | | ], |
| | | unit: [{ required: true, message: "请输入单位", trigger: "blur" }], |
| | | }, |
| | | memberOptions: [{ name: "管理员", id: 1 }], |
| | | productCategoryOptions: [], // 产品类别 |
| | | productTypeOptions: [ |
| | | { name: "能消耗", id: 1 }, |
| | | { name: "服务", id: 2 }, |
| | | { name: "可库存产品", id: 3 } |
| | | { name: "可库存产品", id: 3 }, |
| | | ], // 产品类型 |
| | | strategyOptions: [ |
| | | { name: "订购数量", id: 1 }, |
| | | { name: "交付数量", id: 2 } |
| | | { name: "交付数量", id: 2 }, |
| | | ], // 开票策略 |
| | | selectProductOptions: [], // 可选产品 |
| | | showButton: true, |
| | |
| | | { name: "成品", id: "成品" }, |
| | | { name: "辅料", id: "辅料" }, |
| | | { name: "耗材", id: "耗材" }, |
| | | { name: "其他", id: "其他" } |
| | | ] |
| | | } |
| | | { name: "其他", id: "其他" }, |
| | | ], |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getProductCategoryList() |
| | | this.getProductList() |
| | | this.setTableForm() |
| | | this.setBottonView() |
| | | this.getProductCategoryList(); |
| | | this.getProductList(); |
| | | this.setTableForm(); |
| | | this.setBottonView(); |
| | | }, |
| | | methods: { |
| | | // 获取产品类别 |
| | |
| | | await getProductCategoryList({ |
| | | keyWord: "", |
| | | page: 0, |
| | | pageSize: 0 |
| | | pageSize: 0, |
| | | }).then((res) => { |
| | | if (res.code === 200) { |
| | | this.productCategoryOptions = res.data |
| | | this.productCategoryOptions = res.data; |
| | | } |
| | | }) |
| | | }); |
| | | }, |
| | | // 获取可选产品 |
| | | async getProductList() { |
| | | await getProductList({ |
| | | keyWord: "", |
| | | page: 1, |
| | | pageSize: 20 |
| | | pageSize: 20, |
| | | }).then((res) => { |
| | | if (res.code === 200) { |
| | | const list = res.data.map((item) => { |
| | | return { |
| | | id: item.id, |
| | | name: item.name |
| | | } |
| | | }) |
| | | this.selectProductOptions = list || [] |
| | | name: item.name, |
| | | }; |
| | | }); |
| | | this.selectProductOptions = list || []; |
| | | } |
| | | }) |
| | | }); |
| | | }, |
| | | // 设置删除/打印/编辑是否显示 |
| | | setBottonView() { |
| | | if (this.editConfig.title === "新建") { |
| | | this.showButton = false |
| | | this.showEdit = false |
| | | this.showFooter = true |
| | | this.addProduct = true |
| | | this.showButton = false; |
| | | this.showEdit = false; |
| | | this.showFooter = true; |
| | | this.addProduct = true; |
| | | } else { |
| | | this.showEdit = true |
| | | this.showFooter = false |
| | | this.addProduct = false |
| | | this.showEdit = true; |
| | | this.showFooter = false; |
| | | this.addProduct = false; |
| | | } |
| | | }, |
| | | // 关闭 |
| | | handleClose() { |
| | | this.editConfig.visible = false |
| | | this.editConfig.visible = false; |
| | | }, |
| | | // 编辑 |
| | | editClick() { |
| | | this.showEdit = false |
| | | this.showButton = false |
| | | this.showFooter = true |
| | | this.setTableForm() |
| | | this.showEdit = false; |
| | | this.showButton = false; |
| | | this.showFooter = true; |
| | | this.setTableForm(); |
| | | }, |
| | | // 保存 |
| | | saveClick(formName) { |
| | | console.log(this.editConfig.infomation) |
| | | console.log(this.editConfig.infomation); |
| | | this.$refs[formName].validate((valid) => { |
| | | if (valid) { |
| | | let requestUrl = this.editConfig.title === "新建" ? addProduct : updateProduct |
| | | let requestUrl = |
| | | this.editConfig.title === "新建" ? addProduct : updateProduct; |
| | | requestUrl({ |
| | | ...this.editConfig.infomation |
| | | ...this.editConfig.infomation, |
| | | }).then((res) => { |
| | | console.log(res) |
| | | this.editConfig.visible = false |
| | | console.log(res); |
| | | this.editConfig.visible = false; |
| | | if (res.code === 200) { |
| | | this.$message.success("添加成功") |
| | | this.$parent.getData() |
| | | this.$message.success("添加成功"); |
| | | this.$parent.getData(); |
| | | } |
| | | }) |
| | | }); |
| | | } |
| | | }) |
| | | }); |
| | | }, |
| | | // 删除 |
| | | delClick() {}, |
| | |
| | | { label: "公司", prop: "total", select: true }, |
| | | { label: "数量", prop: "total", inputFloat: true }, |
| | | { label: "价格", prop: "price", inputFloat: true }, |
| | | { label: "币种", prop: "total", select: true } |
| | | { label: "币种", prop: "total", select: true }, |
| | | // { label: "交货提前时间", prop: "total", inputNumber: true } |
| | | ] |
| | | } |
| | | ], |
| | | }; |
| | | }, |
| | | // 产品列表输入 |
| | | inputContent(val, prop, row) { |
| | | this.productId = row.productId |
| | | this.productId = row.productId; |
| | | this.tableData.map((item) => { |
| | | if (item.productId === row.productId) { |
| | | item[prop] = val |
| | | item[prop] = val; |
| | | } |
| | | }) |
| | | }); |
| | | }, |
| | | // 产品新增 |
| | | addProductClick() { |
| | | console.log(this.tableData) |
| | | console.log(this.tableData); |
| | | for (let i = 0; i < this.tableData.length; i++) { |
| | | if (this.tableData[i].name.length === 0) { |
| | | this.isNoProduct = true |
| | | break |
| | | this.isNoProduct = true; |
| | | break; |
| | | } else { |
| | | this.isNoProduct = false |
| | | this.isNoProduct = false; |
| | | } |
| | | } |
| | | if (!this.isNoProduct) { |
| | | this.productId++ |
| | | this.productId++; |
| | | this.tableData.push({ |
| | | productId: this.productId, |
| | | id: 0, |
| | |
| | | name: "", |
| | | number: "", |
| | | price: 0, |
| | | total: 0 |
| | | }) |
| | | total: 0, |
| | | }); |
| | | } |
| | | }, |
| | | // 产品删除 |
| | | handleDelClick(scope) { |
| | | console.log(scope) |
| | | this.tableData.splice(scope.$index, 1) |
| | | console.log(scope); |
| | | this.tableData.splice(scope.$index, 1); |
| | | }, |
| | | // 上传图片 |
| | | toGetImg() { |
| | | if (this.showFooter) { |
| | | if (inputElement === null) { |
| | | // 生成文件上传的控件 |
| | | inputElement = document.createElement("input") |
| | | inputElement.setAttribute("type", "file") |
| | | inputElement.style.display = "none" |
| | | inputElement = document.createElement("input"); |
| | | inputElement.setAttribute("type", "file"); |
| | | inputElement.style.display = "none"; |
| | | if (window.addEventListener) { |
| | | inputElement.addEventListener("change", this.uploadFile, false) |
| | | inputElement.addEventListener("change", this.uploadFile, false); |
| | | } else { |
| | | inputElement.attachEvent("onchange", this.uploadFile) |
| | | inputElement.attachEvent("onchange", this.uploadFile); |
| | | } |
| | | document.body.appendChild(inputElement) |
| | | document.body.appendChild(inputElement); |
| | | } |
| | | inputElement.click() |
| | | inputElement.click(); |
| | | } |
| | | }, |
| | | uploadFile(el) { |
| | | if (el && el.target && el.target.files && el.target.files.length > 0) { |
| | | console.log(el) |
| | | const files = el.target.files[0] |
| | | const isLt2M = files.size / 1024 / 1024 < 2 |
| | | const size = files.size / 1024 / 1024 |
| | | console.log(size) |
| | | console.log(el); |
| | | const files = el.target.files[0]; |
| | | const isLt2M = files.size / 1024 / 1024 < 2; |
| | | const size = files.size / 1024 / 1024; |
| | | console.log(size); |
| | | // 判断上传文件的大小 |
| | | if (!isLt2M) { |
| | | this.$message.error("上传头像图片大小不能超过 2MB!") |
| | | this.$message.error("上传头像图片大小不能超过 2MB!"); |
| | | } else if (files.type.indexOf("image") === -1) { |
| | | //如果不是图片格式 |
| | | this.$message.error("请选择图片文件") |
| | | this.$message.error("请选择图片文件"); |
| | | } else { |
| | | const that = this |
| | | const reader = new FileReader() // 创建读取文件对象 |
| | | reader.readAsDataURL(el.target.files[0]) // 发起异步请求,读取文件 |
| | | const that = this; |
| | | const reader = new FileReader(); // 创建读取文件对象 |
| | | reader.readAsDataURL(el.target.files[0]); // 发起异步请求,读取文件 |
| | | reader.onload = function () { |
| | | // 读取完成后,将结果赋值给img的src |
| | | that.imageSrc = this.result |
| | | console.log(this.result) |
| | | that.imageSrc = this.result; |
| | | console.log(this.result); |
| | | // 数据传到后台 |
| | | //const formData = new FormData() |
| | | //formData.append('file', files); // 可以传到后台的数据 |
| | | } |
| | | }; |
| | | } |
| | | } |
| | | }, |
| | | // 进出点击 |
| | | inOutBoundClick() { |
| | | if (this.editConfig.title !== "新建") { |
| | | console.log(this.editConfig.infomation) |
| | | console.log(this.editConfig.infomation); |
| | | this.$router.push({ |
| | | name: "inOutboundDetail", |
| | | params: { name: this.editConfig.infomation.name, id: this.editConfig.infomation.id } |
| | | }) |
| | | name: "inboundOutboundDetail", |
| | | params: { |
| | | name: this.editConfig.infomation.name, |
| | | id: this.editConfig.infomation.id, |
| | | pageName:"产品", |
| | | paramsKey: { |
| | | amount: "amount", //数量 |
| | | productName:"productName", //产品名称 |
| | | status: "status", // 状态 |
| | | contactedName: "admin", //完成者 |
| | | date: "operationDate", // 日期 |
| | | fromLocation: "from", // 从 |
| | | number: "number", //单号 |
| | | toLocation: "to", //至 |
| | | unit: "unit", //单位 |
| | | }, |
| | | }, |
| | | }); |
| | | } |
| | | }, |
| | | // 可销售/可采购 |
| | | checkboxChange(val, param) { |
| | | if (val === "采购") { |
| | | this.showProcure = param |
| | | this.showProcure = param; |
| | | } else if (val === "销售") { |
| | | this.showSale = param |
| | | this.showSale = param; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <!-- Add "scoped" attribute to limit CSS to this component only --> |