promotionForm.vue 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782
  1. <template>
  2. <div v-loading="pageLoad">
  3. <el-dialog
  4. element-loading-text="loading..."
  5. :title="title"
  6. top="0"
  7. width="100%"
  8. lock-scroll
  9. custom-class="promotionform"
  10. :close-on-click-modal="false"
  11. :visible.sync="promotionFormVisible"
  12. @open="handleOpenDialog"
  13. @close="resetData"
  14. >
  15. <div class="dialog-box" v-loading="pageLoad">
  16. <div class="dialog-body" v-loading="pageLoad">
  17. <el-form
  18. ref="promotionBuyXgetYDertailFormRef"
  19. :model="promotion"
  20. label-width="210px"
  21. size="medium"
  22. >
  23. <!-- 活动基本信息 -->
  24. <div class="box base">
  25. <div class="title">
  26. <span>{{ $t("label.setBasicEventInformationDetail") }}</span>
  27. </div>
  28. <div class="info">
  29. <!--促销名称-->
  30. <el-form-item
  31. :label="$t('label.promotionName') + ':'"
  32. prop="promotionName"
  33. >
  34. <el-input
  35. v-model.trim="promotion.title"
  36. :disabled="edit"
  37. ></el-input>
  38. </el-form-item>
  39. <div class="item row">
  40. <!--促销开始时间-->
  41. <el-form-item
  42. :label="$t('label.promotionStartTime') + ':'"
  43. prop="startTime"
  44. >
  45. <el-date-picker
  46. :disabled="edit"
  47. type="datetime"
  48. placeholder="选择日期"
  49. value-format="yyyy-MM-dd HH:mm:ss"
  50. v-model="promotion.startTime"
  51. ></el-date-picker>
  52. </el-form-item>
  53. <!--促销失效时间-->
  54. <el-form-item
  55. :label="$t('label.promotionEndTime') + ':'"
  56. prop="endTime"
  57. >
  58. <el-date-picker
  59. :disabled="edit"
  60. type="datetime"
  61. placeholder="选择日期"
  62. value-format="yyyy-MM-dd HH:mm:ss"
  63. v-model="promotion.endTime"
  64. ></el-date-picker>
  65. </el-form-item>
  66. </div>
  67. <!--应用方式-->
  68. <el-form-item
  69. :label="$t('label.applicationMethod') + ':'"
  70. prop="discountMethod"
  71. >
  72. <el-radio-group
  73. v-model="promotion.discountMethod"
  74. :disabled="edit"
  75. >
  76. <div class="item row">
  77. <el-radio :label="1">{{ $t("label.discount") }}</el-radio>
  78. <el-input
  79. v-show="promotion.discountMethod === 1"
  80. class="codeinput"
  81. v-model.trim="promotion.discountCode"
  82. :disabled="edit"
  83. />
  84. <el-radio :label="2">{{
  85. $t("label.autoDiscount")
  86. }}</el-radio>
  87. </div>
  88. </el-radio-group>
  89. </el-form-item>
  90. </div>
  91. </div>
  92. <!-- 折扣设置 -->
  93. <div class="box discount">
  94. <!-- 客户购买条件 -->
  95. <div class="title">
  96. <span>{{ $t("label.customerPurchaseConditions") }}</span>
  97. </div>
  98. <div class="info">
  99. <!--最低购买要求-->
  100. <el-form-item
  101. :label="$t('label.minimumPurchaseRequirement') + ':'"
  102. prop="minimum"
  103. >
  104. <el-radio-group
  105. v-model="promotion.purchaseRequire"
  106. :disabled="edit"
  107. >
  108. <div class="item row">
  109. <el-radio :label="3">{{
  110. $t("label.numberStr")
  111. }}</el-radio>
  112. <el-radio :label="2">{{ $t("label.money") }}</el-radio>
  113. <el-radio :label="1">{{ $t("label.free") }}</el-radio>
  114. </div>
  115. </el-radio-group>
  116. </el-form-item>
  117. <!--折扣内容 数量&金额-->
  118. <el-form-item :label="$t('label.discountValue') + ':'">
  119. <div class="item">
  120. <!--最低要求 免费 不展示 -->
  121. <div
  122. class="item-box"
  123. v-if="promotion.purchaseRequire !== 1"
  124. >
  125. <span class="label">{{ discountContentValue }}</span>
  126. <el-input
  127. class="mininput"
  128. v-model.trim="promotion.requireValue"
  129. :disabled="edit"
  130. />
  131. </div>
  132. <div class="item-box">
  133. <span class="label">{{ $t("label.buyType") }}</span>
  134. <el-input
  135. class="mininput"
  136. v-model.trim="promotion.purchaseType"
  137. :disabled="edit"
  138. />
  139. </div>
  140. </div>
  141. </el-form-item>
  142. <!--国家-->
  143. <el-form-item
  144. :label="$t('label.countries') + ':'"
  145. prop="shippingTargetType"
  146. class="discount"
  147. >
  148. <el-radio-group
  149. v-model="promotion.shippingTargetType"
  150. :disabled="edit"
  151. >
  152. <div class="item row">
  153. <el-radio :label="1">{{
  154. $t("label.shippingTargetList")[0].label
  155. }}</el-radio>
  156. </div>
  157. <div class="item row">
  158. <el-radio :label="2">{{
  159. $t("label.shippingTargetList")[1].label
  160. }}</el-radio>
  161. <el-input
  162. v-if="promotion.shippingTargetType === 2"
  163. class="mininput"
  164. v-model.trim="promotion.shippingTarget"
  165. :disabled="edit"
  166. />
  167. </div>
  168. <el-radio :label="3">{{ $t("label.free") }}</el-radio>
  169. </el-radio-group>
  170. </el-form-item>
  171. <!-- 运输税率 -->
  172. <el-form-item
  173. :label="$t('label.shippingRates') + ':'"
  174. prop="shippingExceptAmountType"
  175. class="discount"
  176. >
  177. <div class="item row">
  178. <el-checkbox
  179. v-model="shippingExceptCheck"
  180. :disabled="edit"
  181. >{{ $t("label.shippingRatesValue") }}</el-checkbox
  182. >
  183. <el-input
  184. v-if="promotion.shippingExceptAmountType === 1"
  185. class="mininput checkboxinput"
  186. v-model.trim="promotion.shippingExceptAmount"
  187. :disabled="edit"
  188. />
  189. </div>
  190. </el-form-item>
  191. </div>
  192. </div>
  193. <!-- 客户资格 折扣码才有-->
  194. <div class="box" v-if="promotion.discountMethod === 1">
  195. <div class="title">
  196. <span>{{ $t("label.customerQualification") }}</span>
  197. </div>
  198. <div class="info customerQualification">
  199. <el-form-item prop="customerQualification" required>
  200. <el-radio-group
  201. class="customerqualification"
  202. v-model="promotion.targetCustomerType"
  203. :disabled="edit"
  204. >
  205. <el-radio :label="1">{{
  206. $t("label.customerQualificationList")[0].label
  207. }}</el-radio>
  208. <div class="item row">
  209. <el-radio :label="2">{{
  210. $t("label.customerQualificationList")[1].label
  211. }}</el-radio>
  212. <el-input
  213. v-if="promotion.targetCustomerType === 2"
  214. class="mininput"
  215. v-model.trim="promotion.targetCustomer"
  216. :disabled="edit"
  217. />
  218. </div>
  219. <div class="item row">
  220. <el-radio :label="3">{{
  221. $t("label.customerQualificationList")[2].label
  222. }}</el-radio>
  223. <el-input
  224. v-if="promotion.targetCustomerType === 3"
  225. class="mininput"
  226. v-model.trim="promotion.targetCustomer"
  227. :disabled="edit"
  228. />
  229. </div>
  230. <!-- <el-radio
  231. v-for="(item, i) in $t('label.customerQualificationList')"
  232. :key="i"
  233. :label="item.value"
  234. >{{ item.label }}</el-radio
  235. > -->
  236. </el-radio-group>
  237. </el-form-item>
  238. </div>
  239. </div>
  240. <!-- 最大折扣使用次数 折扣码才有-->
  241. <div class="box" v-if="promotion.discountMethod === 1">
  242. <div class="title">
  243. <span>{{ $t("label.maximumNumberOfDiscounts") }}</span>
  244. </div>
  245. <div class="info">
  246. <el-form-item>
  247. <!-- <el-checkbox-group v-model="promotion.startTime"> -->
  248. <div class="item row">
  249. <el-checkbox
  250. :checked="codeUsageLimitchecked"
  251. :disabled="edit"
  252. >{{ $t("label.limitDiscountCount") }}</el-checkbox
  253. >
  254. <el-input
  255. class="mininput checkboxinput"
  256. v-model.trim="promotion.codeUsageLimit"
  257. :disabled="edit"
  258. />
  259. </div>
  260. <div class="item row">
  261. <el-checkbox
  262. :checked="promotion.codeCustomerUsageType === 1"
  263. :disabled="edit"
  264. >{{ $t("label.customerCount") }}</el-checkbox
  265. >
  266. </div>
  267. <!-- </el-checkbox-group> -->
  268. </el-form-item>
  269. </div>
  270. </div>
  271. <!-- 定期订阅付款 购买方式为订阅 才展示-->
  272. <div class="box" v-if="promotion.targetType !== 1">
  273. <div class="title">
  274. <span>{{ $t("label.recurringPayment") }}</span>
  275. </div>
  276. <div class="info">
  277. <el-form-item prop="subscribePayType" required>
  278. <el-radio-group
  279. class="customerqualification"
  280. v-model="promotion.subscribePayType"
  281. :disabled="edit"
  282. >
  283. <el-radio :label="1">{{
  284. $t("label.recurringPaymentList")[0].label
  285. }}</el-radio>
  286. <div class="item row">
  287. <el-radio :label="2">{{
  288. $t("label.recurringPaymentList")[1].label
  289. }}</el-radio>
  290. <el-input
  291. v-if="promotion.subscribePayType === 2"
  292. class="mininput"
  293. v-model.trim="promotion.subscribeUsageLimit"
  294. :disabled="edit"
  295. />
  296. </div>
  297. <div class="item row">
  298. <el-radio :label="3">{{
  299. $t("label.recurringPaymentList")[2].label
  300. }}</el-radio>
  301. </div>
  302. </el-radio-group>
  303. </el-form-item>
  304. </div>
  305. </div>
  306. <!-- 组合 自动折扣才有 -->
  307. <div class="box">
  308. <div class="title">
  309. <span>{{ $t("label.combination") }}</span>
  310. </div>
  311. <div class="info">
  312. <el-form-item :label="$t('label.combinationLable') + ':'">
  313. <el-checkbox-group v-model="promotion.combination">
  314. <el-checkbox
  315. v-for="(item, i) in $t('label.combinationList')"
  316. :key="i"
  317. :label="item.value"
  318. :disabled="edit"
  319. >{{ item.label }}
  320. </el-checkbox>
  321. </el-checkbox-group>
  322. </el-form-item>
  323. </div>
  324. </div>
  325. </el-form>
  326. </div>
  327. </div>
  328. <template slot="footer">
  329. <el-button
  330. @click="
  331. resetData();
  332. promotionFormVisible = false;
  333. "
  334. >{{ $t("view.cancel") }}
  335. </el-button>
  336. </template>
  337. </el-dialog>
  338. </div>
  339. </template>
  340. <script>
  341. import waves from "@/directive/waves"; // 水波纹指令
  342. import { fetchDetailByIdAndVersion } from "@/api/oms/order/multiBuyDiscount";
  343. import i18n from "@/lang";
  344. import { isEmpty } from "@/utils/toolUtil";
  345. export default {
  346. inject: ["reload"],
  347. directives: {
  348. waves
  349. },
  350. name: "freeShipping",
  351. computed: {
  352. discountContentValue() {
  353. return this.promotion.purchaseRequire === 2
  354. ? i18n.t("label.money")
  355. : i18n.t("label.numberStr");
  356. }
  357. },
  358. data() {
  359. return {
  360. promotionFormVisible: false,
  361. title: "",
  362. productSku: "",
  363. productKeys: [],
  364. usageLimitchecked: false,
  365. codeUsageLimitchecked: false,
  366. shippingExceptCheck: false,
  367. tagLists: [],
  368. getTagList: [],
  369. promotion: {
  370. // 配置基本信息
  371. id: "",
  372. title: "",
  373. startTime: "",
  374. endTime: "",
  375. discountMethod: null,
  376. discountNumber: null,
  377. purchaseRequire: null,
  378. purchaseType: "",
  379. productType: "",
  380. productBuyType: "",
  381. discount: "",
  382. combination: []
  383. },
  384. edit: true,
  385. noDataText: "加载中",
  386. pageLoad: false,
  387. isEmpty
  388. };
  389. },
  390. methods: {
  391. tagValue(data) {
  392. return (
  393. data.title +
  394. i18n.t("label.productCollection") +
  395. i18n.t("label.all") +
  396. data.spus.length +
  397. i18n.t("label.itemProduct")
  398. );
  399. },
  400. async showDialog(id, edit, version) {
  401. this.edit = edit;
  402. if (id) {
  403. // 修改配置
  404. this.promotion.id = id;
  405. this.promotion.version = version;
  406. await this.getPromotionInfo();
  407. this.title = this.edit
  408. ? i18n.t("label.mutiPromotionDetailTitle")
  409. : i18n.t("label.mutiPromotionUpdateTitle");
  410. } else {
  411. this.title = i18n.t("label.mutiPromotionCreateTitle");
  412. }
  413. let str = this.promotion.id ? "Detail" : "";
  414. this.discountSettingTitle = i18n.t("label.discountSetting" + str);
  415. this.productRangeTitle = i18n.t("label.setProductRange" + str);
  416. this.promotionFormVisible = true;
  417. },
  418. // 款号搜索
  419. handleProductSearch() {
  420. this.productKeys = this.productSku.split(",");
  421. },
  422. handleProductDialog(data) {
  423. this.$refs.productCollectionRef.showDialog(data);
  424. },
  425. resetData() {
  426. this.promotion = {
  427. id: "",
  428. title: "",
  429. startTime: "",
  430. endTime: "",
  431. discountMethod: null,
  432. discountNumber: null,
  433. purchaseRequire: null,
  434. purchaseType: "",
  435. productType: "",
  436. productBuyType: "",
  437. discount: "",
  438. combination: []
  439. };
  440. },
  441. handleOpenDialog() {
  442. this.resetData();
  443. if (this.$refs.promotionBuyXgetYDertailFormRef) {
  444. this.$refs.promotionBuyXgetYDertailFormRef.clearValidate();
  445. }
  446. },
  447. getPromotionInfo() {
  448. this.pageLoad = true;
  449. let { id, version } = this.promotion;
  450. fetchDetailByIdAndVersion({ id, version })
  451. .then(res => {
  452. // 促销配置信息
  453. const { priceRule, productTags, giveProductCollects } = res.data;
  454. this.promotion = { ...priceRule, productTags };
  455. if (priceRule.valueType === 1) {
  456. let number = priceRule.numericValue * 100;
  457. // this.promotion.discountNumber = number;
  458. this.$set(this.promotion, "discountNumber", number);
  459. }
  460. if (priceRule.purchaseRequire === 3) {
  461. // this.promotion.quantity = priceRule.requireValue;
  462. this.$set(this.promotion, "quantity", priceRule.requireValue);
  463. } else if (priceRule.purchaseRequire === 2) {
  464. // this.promotion.miniAmount = priceRule.requireValue;
  465. this.$set(this.promotion, "miniAmount", priceRule.requireValue);
  466. }
  467. // 购买类型
  468. const targetType = i18n
  469. .t("label.promotionBuyTyper")
  470. .find(item => item.value === priceRule.targetType);
  471. if (targetType && targetType.label) {
  472. this.$set(this.promotion, "purchaseType", targetType.label);
  473. }
  474. // 顾客购买商品类型
  475. const productBuyType = i18n
  476. .t("label.promotionCustomerGetType")
  477. .find(item => item.value === priceRule.targetSelectionType);
  478. if (productBuyType && productBuyType.label) {
  479. this.$set(this.promotion, "productBuyType", productBuyType.label);
  480. }
  481. // 顾客得到商品类型
  482. const productType = i18n
  483. .t("label.promotionCustomerGetType")
  484. .find(item => item.value === priceRule.customerGetType);
  485. if (productType && productType.label) {
  486. this.$set(this.promotion, "productType", productType.label);
  487. }
  488. // 组合
  489. const {
  490. combineWithOrder,
  491. combineWithProduct,
  492. combineWithShipping,
  493. targetShopifyProductSpu,
  494. targetShopifySku,
  495. targetSelectionType,
  496. customerGetType,
  497. getTargetShopifyProductSpu,
  498. getTargetShopifySku,
  499. customerGetOrderUsageLimit,
  500. codeUsageLimit,
  501. shippingExceptAmountType
  502. } = priceRule;
  503. let combinationArr = [];
  504. if (combineWithOrder) {
  505. combinationArr.push(i18n.t("label.combinationList")[1].value);
  506. }
  507. if (combineWithProduct) {
  508. combinationArr.push(i18n.t("label.combinationList")[0].value);
  509. }
  510. if (combineWithShipping) {
  511. combinationArr.push(i18n.t("label.combinationList")[2].value);
  512. }
  513. this.usageLimitchecked = !!customerGetOrderUsageLimit;
  514. this.codeUsageLimitchecked = !!codeUsageLimit;
  515. this.shippingExceptCheck = shippingExceptAmountType === 1;
  516. this.$set(this.promotion, "combination", combinationArr);
  517. // 折扣适用 1特定系列 其他2,3 特定商品
  518. let tagLists = [];
  519. if (targetSelectionType === 1) {
  520. tagLists = productTags.map(item => {
  521. let data = [];
  522. if (item.spu) {
  523. data = item.spu.split(",");
  524. }
  525. item.spus = data;
  526. return item;
  527. });
  528. } else {
  529. // 特地商品
  530. if (targetShopifySku) {
  531. const spusSKU = targetShopifySku.split(",");
  532. tagLists.push({ title: "", spus: spusSKU });
  533. }
  534. if (targetShopifyProductSpu) {
  535. const spusId = targetShopifyProductSpu.split(",");
  536. tagLists.push({ title: "", spus: spusId });
  537. }
  538. }
  539. this.tagLists = tagLists;
  540. // 折扣得到条件 1 特定系列 2 特定商品
  541. let getTagList = [];
  542. if (customerGetType === 1) {
  543. giveProductCollects.forEach(item => {
  544. if (item.spu) {
  545. const arr = item.spu.split(",");
  546. getTagList.push.apply(getTagList, arr);
  547. }
  548. });
  549. } else {
  550. // 特地商品
  551. if (getTargetShopifySku) {
  552. const skus = getTargetShopifySku.split(",");
  553. getTagList.push.apply(getTagList, skus);
  554. }
  555. if (getTargetShopifyProductSpu) {
  556. const spus = getTargetShopifyProductSpu.split(",");
  557. getTagList.push.apply(getTagList, spus);
  558. }
  559. }
  560. this.getTagList = getTagList;
  561. })
  562. .finally(() => {
  563. this.pageLoad = false;
  564. });
  565. }
  566. }
  567. };
  568. </script>
  569. <style lang="scss">
  570. .promotionform {
  571. width: 100%;
  572. height: 100%;
  573. position: fixed;
  574. top: 0px;
  575. left: 0px;
  576. .el-dialog__header {
  577. padding: 36px 21px 0px 34px;
  578. .el-dialog__title {
  579. font-size: 18px;
  580. font-weight: bold;
  581. color: #ae8877;
  582. line-height: 22px;
  583. }
  584. }
  585. .el-form-item__label {
  586. font-weight: 400;
  587. font-size: 12px;
  588. }
  589. .el-dialog__body {
  590. padding: 30px 10px 30px 34px;
  591. }
  592. .el-dialog__headerbtn {
  593. top: 14px;
  594. right: 14px;
  595. font-weight: bold;
  596. .el-icon-close {
  597. font-weight: bold;
  598. }
  599. }
  600. .el-input {
  601. width: 220px !important;
  602. }
  603. }
  604. </style>
  605. <style scoped rel="stylesheet/scss" lang="scss">
  606. .dialog-box {
  607. height: 100%;
  608. .dialog-body {
  609. height: 80vh;
  610. overflow: auto;
  611. .box {
  612. border-bottom: 1px solid #d8d8d8;
  613. padding-bottom: 20px;
  614. margin-bottom: 42px;
  615. &.base {
  616. .info {
  617. width: 25%;
  618. }
  619. }
  620. &.discount {
  621. .info {
  622. margin-bottom: 60px;
  623. }
  624. }
  625. .title {
  626. color: #606266;
  627. font-size: 16px;
  628. line-height: 16px;
  629. position: relative;
  630. font-weight: bold;
  631. padding-left: 6px;
  632. margin-bottom: 23px;
  633. &:before {
  634. position: absolute;
  635. left: 0px;
  636. top: 0px;
  637. content: "";
  638. display: inline-block;
  639. width: 3px;
  640. height: 13px;
  641. background: #ae8877;
  642. border-radius: 0px 0px 0px 0px;
  643. }
  644. }
  645. }
  646. // /deep/.el-form-item__label-wrap {
  647. // margin-left: 0px !important;
  648. // .el-form-item__label {
  649. // text-align: right;
  650. // }
  651. // }
  652. .skucon {
  653. width: 90%;
  654. height: 139px;
  655. overflow-y: auto;
  656. border-radius: 3px 3px 3px 3px;
  657. border: 1px solid #dcdfe6;
  658. background: #f5f7fa;
  659. margin-top: 12px;
  660. padding: 10px;
  661. font-size: 12px;
  662. line-height: 16px;
  663. .active {
  664. color: #fd5959;
  665. }
  666. }
  667. .productbox {
  668. border-bottom: none;
  669. }
  670. .info {
  671. .item {
  672. display: flex;
  673. flex-direction: row;
  674. flex-wrap: wrap;
  675. align-items: center;
  676. &.row {
  677. flex-wrap: nowrap;
  678. }
  679. .el-form-item {
  680. margin-right: 42px !important;
  681. }
  682. .codeinput {
  683. margin-right: 36px;
  684. }
  685. .mininput {
  686. margin-right: 30px;
  687. width: 180px !important;
  688. }
  689. .checkboxinput {
  690. margin-left: 20px;
  691. }
  692. .productinput {
  693. width: 340px !important;
  694. }
  695. .label {
  696. margin-right: 12px;
  697. }
  698. &.product {
  699. margin-top: 26px;
  700. .label {
  701. margin-bottom: 10px;
  702. }
  703. .mininput {
  704. margin-right: 20px;
  705. margin-bottom: 10px;
  706. }
  707. .row {
  708. flex-wrap: wrap;
  709. }
  710. .collectioninput {
  711. margin-right: 20px;
  712. min-width: 220px !important;
  713. width: auto !important;
  714. /deep/.el-input-group__append {
  715. color: #ae8877;
  716. border-left: none;
  717. font-size: 12px;
  718. padding: 0px 5px;
  719. background: #f5f7fa;
  720. span {
  721. cursor: pointer;
  722. }
  723. }
  724. /deep/.el-input__inner {
  725. border-right: none;
  726. }
  727. }
  728. .value {
  729. margin-bottom: 10px;
  730. }
  731. }
  732. }
  733. .discount {
  734. .item {
  735. margin-bottom: 20px;
  736. /deep/.el-radio {
  737. min-width: 135px;
  738. }
  739. }
  740. }
  741. .customerqualification {
  742. .el-radio {
  743. display: block;
  744. margin-bottom: 30px;
  745. }
  746. }
  747. }
  748. .value {
  749. position: relative;
  750. min-width: 300px;
  751. height: 36px;
  752. padding: 0px 6px;
  753. font-size: 12px;
  754. margin-right: 13px;
  755. color: #c0c4cc;
  756. background: #f5f7fa;
  757. border-radius: 3px;
  758. border: 1px solid #dcdfe6;
  759. p {
  760. line-height: 12px;
  761. padding-right: 130px;
  762. overflow: hidden;
  763. text-overflow: ellipsis;
  764. white-space: nowrap;
  765. }
  766. a {
  767. position: absolute;
  768. right: 10px;
  769. top: 0%;
  770. color: #ae8877;
  771. }
  772. }
  773. .customerQualification {
  774. .mininput {
  775. margin-bottom: 30px;
  776. }
  777. }
  778. }
  779. }
  780. </style>