index.vue 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739
  1. <template>
  2. <div class="tenant">
  3. <byTable :source="sourceList.data" :pagination="sourceList.pagination" :config="config" :loading="loading" highlight-current-row
  4. :selectConfig="selectConfig" :table-events="{
  5. select: select,
  6. }" :action-list="[]" @get-list="getList" @moreSearch="() => (queryDialogVisible = true)">
  7. </byTable>
  8. <!--回告-->
  9. <el-dialog :z-index="1500" title="采购单回告" v-if="tellDialogVisible" v-model="formData.data" width="1500px" v-loading="loading">
  10. <el-descriptions title="基础信息" />
  11. <el-form label-width="auto" :rules="rules">
  12. <el-row>
  13. <el-col :span="8">
  14. <el-form-item label="采购单号:" :span="8">
  15. {{formData.data.orderId}}
  16. </el-form-item>
  17. </el-col>
  18. <el-col :span="8">
  19. <el-form-item label="配送中心:" :span="8">
  20. {{formData.data.deliverCenterName}}
  21. </el-form-item>
  22. </el-col>
  23. <el-col :span="8">
  24. <el-form-item label="入库时间:" :span="8">
  25. {{formData.data.storageTime}}
  26. </el-form-item>
  27. </el-col>
  28. </el-row>
  29. <el-row>
  30. <el-col :span="8">
  31. <el-form-item label="预计送货时间:" :span="8">
  32. <el-date-picker v-model="formData.data.deliveryTime" type="datetime" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss"
  33. placeholder="请选择预计送货时间" />
  34. </el-form-item>
  35. </el-col>
  36. </el-row>
  37. <el-row>
  38. <el-descriptions title="采购单明细" />
  39. <el-table :data="formData.data.jdOrderDetailsList" stripe style="width: 100%">
  40. <!-- <el-table stripe style="width: 100%">-->
  41. <el-table-column prop="wareId" label="京东商品编号" width="180">
  42. <template #default="scope">
  43. <span
  44. :style="scope.row.productName=='' || scope.row.productName == undefined || scope.row.productName == 'undefined'?'color: red':''">{{scope.row.wareId}}</span>
  45. </template>
  46. </el-table-column>
  47. <el-table-column prop="wareName" label="京东商品名称">
  48. <template #default="scope">
  49. <span
  50. :style="scope.row.productName=='' || scope.row.productName == undefined || scope.row.productName == 'undefined'?'color: red':''">{{scope.row.wareName}}</span>
  51. </template>
  52. </el-table-column>
  53. <el-table-column prop="productName" label="产品名称" />
  54. <el-table-column prop="originalNum" label="采购数量" />
  55. <el-table-column prop="confirmNum" label="确认数量">
  56. <template v-slot="scope">
  57. <el-form-item :rules="rules['confirmNum']">
  58. <el-input-number :min="0" :step="1" :max="scope.row.originalNum" v-model="scope.row.confirmNum" placeholder="请输入确认数量" />
  59. </el-form-item>
  60. </template>
  61. </el-table-column>
  62. <el-table-column prop="purchasePrice" label="采购价" />
  63. <el-table-column prop="nonDeliveryReason" label="不满足发货原因">
  64. <template v-slot="scope">
  65. <el-form-item :rules="rules['nonDeliveryReason']">
  66. <el-input v-model="scope.row.nonDeliveryReason" placeholder="请输入不满足发货原因" />
  67. </el-form-item>
  68. </template>
  69. </el-table-column>
  70. </el-table>
  71. </el-row>
  72. </el-form>
  73. <template #footer>
  74. <el-button @click="tellDialogVisible = false" size="large">取 消</el-button>
  75. <el-button type="primary" @click="submitForm" size="large" :loading="submitLoading">采购单回告</el-button>
  76. </template>
  77. </el-dialog>
  78. <!--详情-->
  79. <el-dialog :z-index="1500" title="采购单详情" v-if="dialogVisible" v-model="formData.data" width="1500px" v-loading="loading">
  80. <el-descriptions title="基础信息" />
  81. <el-form label-width="auto" :rules="rules">
  82. <el-row>
  83. <el-col :span="8">
  84. <el-form-item label="京东订单号:" :span="8">
  85. {{formData.data.orderId}}
  86. </el-form-item>
  87. </el-col>
  88. <el-col :span="8">
  89. <el-form-item label="订购时间:" :span="8" label-position="right">
  90. {{formData.data.createdDate}}
  91. </el-form-item>
  92. </el-col>
  93. <el-col :span="8">
  94. <el-form-item label="供应商名称:" :span="8">
  95. {{formData.data.providerName}}
  96. </el-form-item>
  97. </el-col>
  98. </el-row>
  99. <el-row>
  100. <el-col :span="8">
  101. <el-form-item label="采购总金额:" :span="8">
  102. {{formData.data.totalPrice}}
  103. </el-form-item>
  104. </el-col>
  105. <el-col :span="8">
  106. <el-form-item label="配送中心名称:" :span="8">
  107. {{formData.data.deliverCenterName}}
  108. </el-form-item>
  109. </el-col>
  110. <el-col :span="8">
  111. <el-form-item label="采购员姓名:" :span="8">
  112. {{formData.data.purchaserName}}
  113. </el-form-item>
  114. </el-col>
  115. </el-row>
  116. <el-row>
  117. <el-col :span="8">
  118. <el-form-item label="删除状态:" :span="8">
  119. {{formData.data.statusName}}
  120. </el-form-item>
  121. </el-col>
  122. <el-col :span="8">
  123. <el-form-item label="是否EPT定制:" :span="8">
  124. {{formData.data.isEptCustomized?'是':'否'}}
  125. </el-form-item>
  126. </el-col>
  127. <el-col :span="8">
  128. <el-form-item label="订单状态:" :span="8">
  129. {{formData.data.stateName}}
  130. </el-form-item>
  131. </el-col>
  132. </el-row>
  133. <el-row>
  134. <el-col :span="8">
  135. <el-form-item label="完成时间:" :span="8">
  136. {{formData.data.completedDate}}
  137. </el-form-item>
  138. </el-col>
  139. <el-col :span="8">
  140. <el-form-item label="账期:" :span="8">
  141. {{formData.data.accountPeriod}}
  142. </el-form-item>
  143. </el-col>
  144. <el-col :span="8">
  145. <el-form-item label="收货负责人:" :span="8">
  146. {{formData.data.receiverName}}
  147. </el-form-item>
  148. </el-col>
  149. </el-row>
  150. <el-row>
  151. <el-col :span="8">
  152. <el-form-item label="收货电话:" :span="8">
  153. {{formData.data.warehousePhone}}
  154. </el-form-item>
  155. </el-col>
  156. <el-col :span="8">
  157. <el-form-item label="详细地址:" :span="8">
  158. {{formData.data.address}}
  159. </el-form-item>
  160. </el-col>
  161. <el-col :span="8">
  162. <el-form-item label="采购类型:" :span="8">
  163. {{formData.data.orderTypeName}}
  164. </el-form-item>
  165. </el-col>
  166. </el-row>
  167. <el-row>
  168. <el-col :span="8">
  169. <el-form-item label="订单属性:" :span="8">
  170. {{formData.data.orderAttributeName}}
  171. </el-form-item>
  172. </el-col>
  173. <el-col :span="8">
  174. <el-form-item label="回告状态:" :span="8">
  175. {{formData.data.confirmStateName}}
  176. </el-form-item>
  177. </el-col>
  178. <el-col :span="8">
  179. <el-form-item label="顾客单号:" :span="8">
  180. {{formData.data.customerOrderid}}
  181. </el-form-item>
  182. </el-col>
  183. </el-row>
  184. <el-row>
  185. <el-col :span="8">
  186. <el-form-item label="品种数量:" :span="8">
  187. {{formData.data.wareVariety}}
  188. </el-form-item>
  189. </el-col>
  190. <el-col :span="8">
  191. <el-form-item label="预计到货时间:" :span="8">
  192. {{formData.data.deliveryTime}}
  193. </el-form-item>
  194. </el-col>
  195. <el-col :span="8">
  196. <el-form-item label="是否可回告:" :span="8">
  197. {{formData.data.isCanConfirm?"可回告":"不可回告"}}
  198. </el-form-item>
  199. </el-col>
  200. </el-row>
  201. <el-row>
  202. <el-col :span="8">
  203. <el-form-item label="是否有差异:" :span="8">
  204. {{formData.data.isExistActualNumDif=='0'?"存在差异":"无差异"}}
  205. </el-form-item>
  206. </el-col>
  207. <el-col :span="8">
  208. <el-form-item label="是否已结算:" :span="8">
  209. {{formData.data.balanceStatus?"已结算":"未结算"}}
  210. </el-form-item>
  211. </el-col>
  212. <el-col :span="8">
  213. <el-form-item label="入库时间:" :span="8">
  214. {{formData.data.storageTime}}
  215. </el-form-item>
  216. </el-col>
  217. </el-row>
  218. <el-row>
  219. <el-col :span="8">
  220. <el-form-item label="TC转运标识:" :span="8">
  221. {{formData.data.tcFlagName}}
  222. </el-form-item>
  223. </el-col>
  224. <el-col :span="8">
  225. <el-form-item label="预约时间:" :span="8">
  226. {{formData.data.bookTime}}
  227. </el-form-item>
  228. </el-col>
  229. </el-row>
  230. <el-row>
  231. <el-descriptions title="采购单明细" />
  232. <el-table :data="formData.data.jdOrderDetailsList" stripe style="width: 100%">
  233. <!-- <el-table stripe style="width: 100%">-->
  234. <el-table-column prop="wareId" label="京东商品编号" width="120">
  235. <template #default="scope">
  236. <span
  237. :style="scope.row.productName=='' || scope.row.productName == undefined || scope.row.productName == 'undefined'?'color: red':''">{{scope.row.wareId}}</span>
  238. </template>
  239. </el-table-column>
  240. <el-table-column prop="wareName" label="京东商品名称" min-width="200">
  241. <template #default="scope">
  242. <span
  243. :style="scope.row.productName=='' || scope.row.productName == undefined || scope.row.productName == 'undefined'?'color: red':''">{{scope.row.wareName}}</span>
  244. </template>
  245. </el-table-column>
  246. <el-table-column prop="productName" label="产品名称" width="150" />
  247. <el-table-column prop="deliverCenterName" label="配送中心名称" width="110" />
  248. <el-table-column prop="purchasePrice" label="采购价" width="80" />
  249. <el-table-column prop="originalNum" label="原始采购数量" width="110" />
  250. <el-table-column prop="confirmNum" label="回告数量" width="80" />
  251. <el-table-column prop="actualNum" label="实收数量" width="80" />
  252. <el-table-column prop="nonDeliveryReason" label="不满足原因" width="100" />
  253. <el-table-column prop="totalPrice" label="采购总金额" width="110" />
  254. <el-table-column prop="storeName" label="库房名称" width="180" />
  255. <el-table-column prop="wareProperty" label="EPT采购单定制相关信息" width="180" />
  256. </el-table>
  257. </el-row>
  258. </el-form>
  259. <template #footer>
  260. <el-button @click="dialogVisible = false" size="large">取 消</el-button>
  261. </template>
  262. </el-dialog>
  263. <!--高级搜索-->
  264. <el-dialog :title="'高级检索'" v-model="queryDialogVisible" width="500px" destroy-on-close>
  265. <el-form :model="sourceList.pagination" label-width="100px" label-position="top">
  266. <el-form-item label="采购单号">
  267. <el-input v-model="sourceList.pagination.orderId" placeholder="请输入采购单号" oninput="value=value.replace(/[^\d.]/g,'')"/>
  268. </el-form-item>
  269. <el-form-item label="京东商品编号">
  270. <el-input v-model="sourceList.pagination.wareId" placeholder="请输入京东商品编号" oninput="value=value.replace(/[^\d.]/g,'')"/>
  271. </el-form-item>
  272. </el-form>
  273. <template #footer>
  274. <el-button @click="handleReset" size="large">重置</el-button>
  275. <el-button @click="handleQuery" type="primary" size="large">搜索</el-button>
  276. </template>
  277. </el-dialog>
  278. </div>
  279. </template>
  280. <script setup>
  281. import { ElMessage, ElMessageBox } from "element-plus";
  282. import byTable from "@/components/byTable/index";
  283. import byForm from "@/components/byForm/index";
  284. import { computed, nextTick, reactive, ref } from "vue";
  285. const { proxy } = getCurrentInstance();
  286. const router = useRouter();
  287. const loading = ref(false);
  288. const deliveryCenter = ref([]);
  289. const confirmState = ref([]);
  290. const orderState = ref([]);
  291. const blessingTypeList = ref([]);
  292. const submitLoading = ref(false);
  293. const sourceList = ref({
  294. data: [],
  295. pagination: {
  296. total: 0,
  297. pageNum: 1,
  298. pageSize: 10,
  299. },
  300. });
  301. let rules = ref({
  302. deliverCenterId: [
  303. { required: true, message: "请选择配送中心", trigger: "blur" },
  304. ],
  305. nonDeliveryReason: [
  306. { required: true, message: "请输入不满足发货原因", trigger: "blur" },
  307. ],
  308. confirmNum: [{ required: true, message: "请输入确认数量", trigger: "blur" }],
  309. });
  310. const queryDialogVisible = ref(false);
  311. const dialogVisible = ref(false);
  312. const tellDialogVisible = ref(false);
  313. let modalType = ref("add");
  314. const selectConfig = computed(() => {
  315. return [
  316. {
  317. label: "订单状态",
  318. prop: "state",
  319. data: orderState.value,
  320. },
  321. {
  322. label: "回告状态",
  323. prop: "confirmState",
  324. data: confirmState.value,
  325. },
  326. {
  327. label: "是否确认",
  328. prop: "businessStatus",
  329. data: [
  330. {
  331. label: "未确认",
  332. value: "0",
  333. },
  334. {
  335. label: "已确认",
  336. value: "1",
  337. },
  338. {
  339. label: "已回告",
  340. value: "2",
  341. },
  342. ],
  343. },
  344. {
  345. label: "是否可回告",
  346. prop: "isCanConfirm",
  347. data: [
  348. {
  349. label: "可回告",
  350. value: true,
  351. },
  352. {
  353. label: "不可回告",
  354. value: false,
  355. },
  356. ],
  357. },
  358. ];
  359. });
  360. const config = computed(() => {
  361. return [
  362. {
  363. attrs: {
  364. label: "京东订单号",
  365. align: "left",
  366. width: 120,
  367. },
  368. renderHTML(row) {
  369. return [
  370. {
  371. attrs: {
  372. label: row.orderId,
  373. type: "primary",
  374. text: true,
  375. },
  376. el: "button",
  377. click() {
  378. getDtl(row);
  379. },
  380. },
  381. ];
  382. },
  383. },
  384. {
  385. attrs: {
  386. label: "订购时间",
  387. prop: "createdDate",
  388. align: "left",
  389. width: 170,
  390. },
  391. },
  392. {
  393. attrs: {
  394. label: "供应商名称",
  395. prop: "providerName",
  396. align: "left",
  397. width: 220,
  398. },
  399. },
  400. {
  401. attrs: {
  402. label: "采购总金额",
  403. prop: "totalPrice",
  404. align: "left",
  405. width: 110,
  406. },
  407. render(totalPrice) {
  408. return proxy.moneyFormat(totalPrice, 2);
  409. },
  410. },
  411. {
  412. attrs: {
  413. label: "配送中心名称",
  414. prop: "deliverCenterName",
  415. align: "left",
  416. width: 110,
  417. },
  418. },
  419. {
  420. attrs: {
  421. label: "订单状态",
  422. prop: "state",
  423. align: "left",
  424. width: 80,
  425. },
  426. render(value) {
  427. return proxy.dictValueLabel(value, orderState.value);
  428. },
  429. },
  430. {
  431. attrs: {
  432. label: "回告状态",
  433. prop: "confirmState",
  434. align: "left",
  435. width: 80,
  436. },
  437. render(value) {
  438. return proxy.dictValueLabel(value, confirmState.value);
  439. },
  440. },
  441. {
  442. attrs: {
  443. label: "是否可回告",
  444. prop: "isCanConfirm",
  445. align: "left",
  446. width: 100,
  447. },
  448. render(value) {
  449. return value ? "可回告" : "不可回告";
  450. },
  451. },
  452. {
  453. attrs: {
  454. label: "详细地址",
  455. prop: "address",
  456. align: "left",
  457. "min-width": 200,
  458. },
  459. },
  460. {
  461. attrs: {
  462. label: "采购类型",
  463. prop: "orderTypeName",
  464. align: "left",
  465. width: 100,
  466. },
  467. },
  468. {
  469. attrs: {
  470. label: "是否确认",
  471. prop: "businessStatus",
  472. align: "left",
  473. width: 80,
  474. },
  475. render(value) {
  476. let label = "未确认";
  477. if (value == "1") {
  478. label = "已确认";
  479. } else if (value == "2") {
  480. label = "已回告";
  481. }
  482. return label;
  483. },
  484. },
  485. {
  486. attrs: {
  487. label: "操作",
  488. width: "150",
  489. align: "center",
  490. fixed: "right",
  491. },
  492. renderHTML(row) {
  493. return [
  494. // {
  495. // attrs: {
  496. // label: "详情",
  497. // type: "primary",
  498. // text: true,
  499. // },
  500. // el: "button",
  501. // click() {
  502. // getDtl(row);
  503. // },
  504. // },
  505. row.businessStatus == 0
  506. ? {
  507. attrs: {
  508. label: "采购单确认",
  509. type: "danger",
  510. text: true,
  511. },
  512. el: "button",
  513. click() {
  514. ElMessageBox.confirm("是否确认当前采购单状态?", "提示", {
  515. confirmButtonText: "确定",
  516. cancelButtonText: "取消",
  517. type: "warning",
  518. }).then(() => {
  519. confirmBusinessStatus(row);
  520. });
  521. },
  522. }
  523. : {},
  524. row.businessStatus == 1 && row.isCanConfirm
  525. ? {
  526. attrs: {
  527. label: "回告",
  528. type: "danger",
  529. text: true,
  530. },
  531. el: "button",
  532. click() {
  533. getTellDtl(row);
  534. },
  535. }
  536. : {},
  537. ];
  538. },
  539. },
  540. ];
  541. });
  542. let formData = reactive({
  543. data: {
  544. coverList: [],
  545. audioList: [],
  546. },
  547. });
  548. const formOption = reactive({
  549. inline: true,
  550. labelWidth: 100,
  551. itemWidth: 100,
  552. rules: [],
  553. });
  554. const byform = ref(null);
  555. const formConfig = computed(() => {
  556. return [
  557. {
  558. type: "input",
  559. prop: "orderId",
  560. label: "京东订单号",
  561. readonly: true,
  562. },
  563. {
  564. type: "input",
  565. prop: "createdDate",
  566. label: "订购时间",
  567. readonly: true,
  568. },
  569. {
  570. type: "input",
  571. label: "采购单明细,应该是个一对多还没弄",
  572. readonly: true,
  573. },
  574. ];
  575. });
  576. const getDictlist = async () => {
  577. proxy
  578. .getDictOne(["delivery_center", "confirmState", "OrderState"])
  579. .then((res) => {
  580. deliveryCenter.value = res["delivery_center"].map((x) => ({
  581. label: x.dictValue,
  582. value: x.dictKey,
  583. }));
  584. confirmState.value = res["confirmState"].map((x) => ({
  585. label: x.dictValue,
  586. value: x.dictKey,
  587. }));
  588. orderState.value = res["OrderState"].map((x) => ({
  589. label: x.dictValue,
  590. value: x.dictKey,
  591. }));
  592. });
  593. };
  594. const getList = async (req) => {
  595. sourceList.value.pagination = { ...sourceList.value.pagination, ...req };
  596. loading.value = true;
  597. proxy.post("/jdOrder/page", sourceList.value.pagination).then((res) => {
  598. sourceList.value.data = res.rows;
  599. sourceList.value.pagination.total = res.total;
  600. setTimeout(() => {
  601. loading.value = false;
  602. }, 200);
  603. });
  604. };
  605. const openModal = () => {
  606. dialogVisible.value = true;
  607. modalType.value = "add";
  608. formData.data = {
  609. content: "",
  610. };
  611. };
  612. const selection = ref({
  613. data: [],
  614. });
  615. const select = (_selection, row) => {
  616. selection.value.data = _selection;
  617. };
  618. const getDtl = (row) => {
  619. modalType.value = "edit";
  620. proxy.post("/jdOrder/detail", { id: row.id }).then((res) => {
  621. formData.data = res;
  622. dialogVisible.value = true;
  623. });
  624. };
  625. const getTellDtl = (row) => {
  626. modalType.value = "edit";
  627. proxy.post("/jdOrder/detail", { id: row.id }).then((res) => {
  628. formData.data = res;
  629. tellDialogVisible.value = true;
  630. });
  631. };
  632. /**
  633. * 确认采购单状态
  634. * @param row
  635. */
  636. const confirmBusinessStatus = (row) => {
  637. let businessStatus = row.businessStatus == "1" ? 0 : 1;
  638. proxy
  639. .post("/jdOrder/confirmBusinessStatus", {
  640. id: row.id,
  641. businessStatus: businessStatus,
  642. })
  643. .then(
  644. () => {
  645. ElMessage({
  646. message: "确认成功",
  647. type: "success",
  648. });
  649. dialogVisible.value = false;
  650. submitLoading.value = false;
  651. getList();
  652. },
  653. (err) => {
  654. console.log(err);
  655. submitLoading.value = false;
  656. }
  657. );
  658. };
  659. //订单回告
  660. const submitForm = () => {
  661. ElMessageBox.confirm("是否确认回告当前采购单?", "提示", {
  662. confirmButtonText: "确定",
  663. cancelButtonText: "取消",
  664. type: "warning",
  665. }).then(() => {
  666. submitLoading.value = true;
  667. //TODO 这里应该是订单回告
  668. proxy.post("/jdOrder/tellBackOrer", formData.data).then(
  669. () => {
  670. ElMessage({
  671. message: "回告成功",
  672. type: "success",
  673. });
  674. tellDialogVisible.value = false;
  675. submitLoading.value = false;
  676. getList();
  677. },
  678. (err) => {
  679. console.log(err);
  680. submitLoading.value = false;
  681. }
  682. );
  683. });
  684. };
  685. //高级搜索
  686. const handleReset = () => {
  687. sourceList.value.pagination = {
  688. pageNum: sourceList.value.pagination.pageNum,
  689. pageSize: sourceList.value.pagination.pageSize,
  690. arr: [],
  691. };
  692. handleQuery();
  693. };
  694. const handleQuery = () => {
  695. if (
  696. sourceList.value.pagination.arr &&
  697. sourceList.value.pagination.arr.length > 1
  698. ) {
  699. sourceList.value.pagination.purchaseStartTime =
  700. sourceList.value.pagination.arr[0];
  701. sourceList.value.pagination.purchaseEndTime =
  702. sourceList.value.pagination.arr[1];
  703. }
  704. queryDialogVisible.value = false;
  705. getList();
  706. };
  707. getDictlist();
  708. getList();
  709. </script>
  710. <style lang='scss' scoped>
  711. .tenant {
  712. padding: 20px;
  713. }
  714. :deep(.el-form-item--default) {
  715. margin-bottom: 0px;
  716. }
  717. </style>