| | |
| | | <div class="label">价格</div> |
| | | <div class="number">¥{{ data.priceBase }}.00</div> |
| | | </div> |
| | | <!-- |
| | | <div class="row"> |
| | | <div class="label">购买数量</div> |
| | | <el-input-number |
| | | v-model="cartItem.devCount" |
| | | :disabled="data.productType == 5" |
| | | size="small" |
| | | :min="1" |
| | | label="描述文字" |
| | | ></el-input-number> |
| | | </div> |
| | | |
| | | <div class="row"> |
| | | <div class="label">服务时长</div> |
| | | <el-button-group class="serviceYearOpt"> |
| | | <el-button |
| | | type="default" |
| | | size="small" |
| | | :class="cartItem.timeLength == 1 ? 'selected' : ''" |
| | | @click="selectYear(1)" |
| | | >一年</el-button |
| | | > |
| | | <el-button |
| | | type="default" |
| | | size="small" |
| | | :class="cartItem.timeLength == 2 ? 'selected' : ''" |
| | | @click="selectYear(2)" |
| | | >两年</el-button |
| | | > |
| | | <el-button |
| | | type="default" |
| | | size="small" |
| | | :class="cartItem.timeLength == 3 ? 'selected' : ''" |
| | | @click="selectYear(3)" |
| | | >三年</el-button |
| | | > |
| | | </el-button-group> |
| | | </div> |
| | | |
| | | <div class="row"> |
| | | <div class="label">配置模块</div> |
| | | <div class="check-component"> |
| | | <div class="check-list"> |
| | | <div |
| | | class="check-item" |
| | | v-for="(item, index) in cartItem.modules" |
| | | :key="index + 'c'" |
| | | :style="isSmartCalDot ? { cursor: 'default' } : {}" |
| | | :class="item.selected ? 'selected' : ''" |
| | | @click="selectModel(index)" |
| | | > |
| | | {{ item.moduleName }} |
| | | </div> |
| | | </div> |
| | | <div class="checked-list"> |
| | | <div class="label">已选</div> |
| | | <div class="list"> |
| | | <div |
| | | class="checked-item" |
| | | v-for="(item, index) in cartItem.modules" |
| | | v-show="item.selected" |
| | | :key="index + 'd'" |
| | | > |
| | | {{ item.moduleName }} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row"> |
| | | <div class="label">请求码</div> |
| | | <el-input |
| | | type="textarea" |
| | | autosize |
| | | placeholder="请输入请求码" |
| | | v-model="cartItem.requestCode" |
| | | > |
| | | </el-input> |
| | | </div> |
| | | |
| | | <div class="row"> |
| | | <div class="label">通道数量</div> |
| | | <el-input-number |
| | | v-model="cartItem.chCount" |
| | | @change="handleChangeCh" |
| | | :disabled="!data.hasChUnitPrice" |
| | | size="small" |
| | | :min="1" |
| | | :max="16" |
| | | label="描述文字" |
| | | ></el-input-number> |
| | | <span class="desText">最大支持16路</span> |
| | | </div> |
| | | |
| | | <div class="row"> |
| | | <div class="label">授权数量</div> |
| | | <el-input-number |
| | | v-model="cartItem.chCount" |
| | | @change="handleChangeCh" |
| | | :disabled="!data.hasChUnitPrice" |
| | | size="small" |
| | | :min="1" |
| | | :max="16" |
| | | label="描述文字" |
| | | ></el-input-number> |
| | | <span class="desText">最大支持16路</span> |
| | | <el-input-number |
| | | v-model="cartItem.authCount" |
| | | @change="handleChangeAuth" |
| | | :disabled="!data.hasAuthPrice" |
| | | size="small" |
| | | :min="this.cartItem.chCount" |
| | | label="描述文字" |
| | | ></el-input-number> |
| | | <span class="desText">可支持的轮询路数</span> |
| | | </div> |
| | | |
| | | <div class="row"> |
| | | <div class="label">配置算法</div> |
| | | <div class="check-component"> |
| | | <div class="check-list"> |
| | | <div |
| | | class="check-item" |
| | | v-for="(item, index) in cartItem.sdks" |
| | | :key="index + 'c'" |
| | | :class="item.selected ? 'selected' : ''" |
| | | @click="selectAlgorithm(index)" |
| | | > |
| | | {{ item.sdkName }} |
| | | </div> |
| | | </div> |
| | | <div class="checked-list"> |
| | | <div class="label">已选</div> |
| | | <div class="list"> |
| | | <div |
| | | class="checked-item" |
| | | v-for="(item, index) in cartItem.sdks" |
| | | v-show="item.selected" |
| | | :key="index + 'd'" |
| | | > |
| | | {{ item.sdkName }} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row"> |
| | | <div class="label">芯片架构</div> |
| | | <el-select |
| | | v-model="cartItem.targetPlatform" |
| | | placeholder="请选择使用芯片" |
| | | style=" |
| | | width: 329px; |
| | | height: 40px; |
| | | border-color: #ddd; |
| | | border-radius: 0; |
| | | " |
| | | > |
| | | <el-option |
| | | v-for="item in data.productBaseDetail && |
| | | data.productBaseDetail.platforms" |
| | | style="font-size: 12px" |
| | | :key="item.id" |
| | | :label="item.id" |
| | | :value="item.id" |
| | | :title="item.name" |
| | | ></el-option> |
| | | </el-select> |
| | | </div> |
| | | |
| | | <div class="row"> |
| | | <div class="label">设备ID</div> |
| | | <el-select |
| | | collapse-tags |
| | | multiple |
| | | :multiple-limit="cartItem.devCount" |
| | | v-model="cartItem.devIdList" |
| | | placeholder="请选择设备ID" |
| | | :popper-append-to-body="false" |
| | | style=" |
| | | width: 329px; |
| | | height: 40px; |
| | | border-color: #ddd; |
| | | border-radius: 0; |
| | | " |
| | | > |
| | | <el-option |
| | | v-for="item in devList" |
| | | style="font-size: 12px" |
| | | :key="item.id" |
| | | :label="item.id" |
| | | :value="item.id" |
| | | :title="item.id" |
| | | > |
| | | <span class="option-lt" :title="item.id">{{ item.id }}</span> |
| | | <span class="option-rt" :title="item.name">{{ item.name }}</span> |
| | | </el-option> |
| | | </el-select> |
| | | </div> --> |
| | | |
| | | <div class="row"> |
| | | <div class="label">购买数量</div> |
| | |
| | | data.productBaseDetail && |
| | | data.productBaseDetail.hasPriceBase && |
| | | data.productType != 5 && |
| | | !isSmartCalDot |
| | | !isSmartCalDot && |
| | | cartItem.sdks.length > 0 |
| | | " |
| | | > |
| | | <div class="label">配置算法</div> |
| | |
| | | v-if=" |
| | | data.productType != 2 && |
| | | data.productType != 1 && |
| | | data.productType != 5 && |
| | | data.productType == 3 && |
| | | (cartItem.targetPlatform.includes('x86') || |
| | | cartItem.targetPlatform.includes('X86')) |
| | | " |
| | | > |
| | | <div class="label">显卡型号</div> |
| | | <el-select |
| | | v-model="cartItem.vGpu" |
| | | style=" |
| | | width: 329px; |
| | | height: 40px; |
| | | border-color: #ddd; |
| | | border-radius: 0; |
| | | " |
| | | placeholder="请选择显卡型号" |
| | | > |
| | | <el-option |
| | | v-for="item in data.productBaseDetail && |
| | | data.productBaseDetail.vGpus" |
| | | style="font-size: 12px" |
| | | :key="item.id" |
| | | :label="item.id" |
| | | :value="item.id" |
| | | :title="item.name" |
| | | ></el-option> |
| | | </el-select> |
| | | </div> |
| | | |
| | | <div |
| | | class="row" |
| | | v-if=" |
| | | data.productType != 2 && |
| | | data.productType != 1 && |
| | | data.productType != 5 |
| | | " |
| | | > |
| | |
| | | |
| | | <div class="btns"> |
| | | <div class="button addCar">加入购物车</div> |
| | | <div class="button pay">立即购买</div> |
| | | <div class="button pay" @click="confirmNow">立即购买</div> |
| | | </div> |
| | | </div> |
| | | |
| | | <ConfirmOrder |
| | | v-if="showOrder" |
| | | :orderId="orderId" |
| | | @close="showOrder = false" |
| | | ></ConfirmOrder> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { findDevListByUser } from "@/api/device"; |
| | | import { getReleaseProduct } from "@/api/product"; |
| | | import { resumeOrder } from "@/api/shopcart"; |
| | | import ConfirmOrder from "@/views/productDetail/components/ConfirmOrder"; |
| | | |
| | | export default { |
| | | props: { |
| | | dataInfo: {}, |
| | | }, |
| | | components: { |
| | | ConfirmOrder, |
| | | }, |
| | | created() { |
| | | this.getDevList(); |
| | |
| | | index: 0, |
| | | url: "", |
| | | }, |
| | | showOrder: false, |
| | | orderId: "", |
| | | }; |
| | | }, |
| | | methods: { |
| | |
| | | this.activeImg.index = index; |
| | | this.activeImg.url = url; |
| | | }, |
| | | confirmNow() { |
| | | this.cartItem.totalPrice = this.computTotalPrice; |
| | | let products = [ |
| | | { |
| | | activateCode: this.cartItem.requestCode, |
| | | authCount: this.cartItem.authCount, |
| | | chCount: this.cartItem.chCount, |
| | | devCount: this.cartItem.devCount, |
| | | devIdList: this.cartItem.devIdList, |
| | | moduleIds: this.cartItem.moduleIds, |
| | | productId: this.cartItem.id, |
| | | productPrice: this.cartItem.totalPrice, |
| | | quantity: 1, |
| | | sdkIds: this.cartItem.sdkIds, |
| | | serveYear: this.cartItem.timeLength, |
| | | targetPlatform: this.cartItem.targetPlatform, |
| | | vGpu: this.cartItem.vGpu, |
| | | }, |
| | | ]; |
| | | resumeOrder({ |
| | | orderMoney: this.numeral(this.sum).value(), |
| | | payMethod: 0, |
| | | products, |
| | | status: 0, |
| | | }).then((res) => { |
| | | if (res.success) { |
| | | this.orderId = res.data.orderId; |
| | | this.showOrder = true; |
| | | } |
| | | }); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |