maintain.vue 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835
  1. <template>
  2. <div class="global-variable">
  3. <div class="inquire">
  4. <div class="condition">
  5. <p>部件名称:</p>
  6. <el-input
  7. v-model="nameOfparts"
  8. size="small"
  9. class="search-input"
  10. ></el-input>
  11. <el-button type="primary" @click="GETquery" size="small"
  12. >查询</el-button
  13. >
  14. </div>
  15. <el-button plain size="small" @click="newly">新增</el-button>
  16. </div>
  17. <div class="assemblyList">
  18. <el-table :data="tableData" border style="width: 100%">
  19. <el-table-column prop="unitModuleName" align="center" label="部件模块">
  20. </el-table-column>
  21. <el-table-column prop="contentsName" align="center " label="部件名称 ">
  22. </el-table-column>
  23. <el-table-column
  24. prop="associatedFunctionTypeName"
  25. align="center"
  26. label="部件类型 "
  27. >
  28. </el-table-column>
  29. <el-table-column prop="contentsType" align="center" label="部件编码">
  30. </el-table-column>
  31. <el-table-column prop="createTime" align="center" label="创建时间">
  32. </el-table-column>
  33. <el-table-column prop="updateTime" align="center" label="维护时间">
  34. </el-table-column>
  35. <el-table-column fixed="right" align="center" label="操作">
  36. <template slot-scope="scope">
  37. <!-- <el-button @click="handleClick(scope.row)" type="text" size="small"
  38. >编辑</el-button
  39. > -->
  40. <el-button
  41. v-if="scope.row.associatedFunctionType === 1"
  42. @click="ONallocation(scope.row)"
  43. type="text"
  44. size="small"
  45. >部件配置</el-button
  46. >
  47. <el-button
  48. v-if="scope.row.associatedFunctionType === 2"
  49. @click="ONbrand(scope.row)"
  50. type="text"
  51. size="small"
  52. >品牌维护</el-button
  53. >
  54. <el-button @click="ONdelete(scope.row)" type="text" size="small"
  55. >删除</el-button
  56. >
  57. </template>
  58. </el-table-column>
  59. </el-table>
  60. <el-pagination
  61. @size-change="handleSizeChange"
  62. @current-change="handleCurrentChange"
  63. :current-page.sync="pageNum"
  64. :page-size="pageSize"
  65. layout="total, prev, pager, next"
  66. :total="total"
  67. class="fenye"
  68. >
  69. </el-pagination>
  70. </div>
  71. <el-dialog
  72. title="新增部件"
  73. :visible.sync="dialogVisible"
  74. width="20%"
  75. :before-close="handleClose"
  76. >
  77. <p style="margin-bottom: 20px">
  78. 部件模块:<el-select v-model="modulevalue" placeholder="请选择">
  79. <el-option
  80. v-for="item in moduleoptions"
  81. :key="item.contentsValue"
  82. :label="item.contentsName"
  83. :value="item.contentsValue"
  84. >
  85. </el-option>
  86. </el-select>
  87. </p>
  88. <p style="margin-bottom: 20px">
  89. 部件名称:<el-select v-model="namevalue" placeholder="请选择">
  90. <el-option
  91. v-for="item in nameoptions"
  92. :key="item.contentsValue"
  93. :label="item.contentsName"
  94. :value="item.contentsValue"
  95. >
  96. </el-option>
  97. </el-select>
  98. </p>
  99. <p style="margin-bottom: 20px">
  100. 功能类型:<el-select v-model="functionvalue" placeholder="请选择">
  101. <el-option
  102. v-for="item in functionoptions"
  103. :key="item.contentsValue"
  104. :label="item.contentsName"
  105. :value="item.contentsValue"
  106. >
  107. </el-option>
  108. </el-select>
  109. </p>
  110. <div class="button-container">
  111. <el-button
  112. class="but"
  113. size="small"
  114. type="primary"
  115. @click="handleConfirm"
  116. >
  117. 确定
  118. </el-button>
  119. </div>
  120. </el-dialog>
  121. <!-- 关联 -->
  122. <el-drawer
  123. title="新增"
  124. :visible.sync="drawer"
  125. size="23%"
  126. :with-header="true"
  127. @close="handleClose"
  128. class="drawers"
  129. >
  130. <div class="drawersDIV">
  131. <el-input
  132. size="small "
  133. placeholder="请输入品牌"
  134. v-model="brandvalue"
  135. ></el-input>
  136. <span>-</span>
  137. <el-input
  138. size="small "
  139. placeholder="请输入型号"
  140. v-model="modelvalue"
  141. ></el-input>
  142. <el-button
  143. size="small"
  144. type="primary"
  145. style="margin-left: 5px"
  146. @click="fetchData"
  147. >查询</el-button
  148. >
  149. <el-button size="small" @click="newtype('1')">新增</el-button>
  150. <el-table :data="relevanceData" border style="width: 100%">
  151. <el-table-column prop="manufacture" label="品牌"> </el-table-column>
  152. <el-table-column prop="modelNumber" label="型号"> </el-table-column>
  153. <el-table-column fixed="right" label="操作" width="100">
  154. <template slot-scope="scope">
  155. <el-button
  156. @click="handleClick(scope.row)"
  157. type="text"
  158. size="small"
  159. >编辑</el-button
  160. >
  161. <el-button type="text" @click="DELpingpai(scope.row)" size="small"
  162. >删除</el-button
  163. >
  164. </template>
  165. </el-table-column>
  166. </el-table>
  167. <el-pagination
  168. @size-change="drawerhandleSizeChange"
  169. @current-change="drawerhandleCurrentChange"
  170. :current-page.sync="pageNum"
  171. :page-size="pageSize"
  172. :pager-count="5"
  173. layout="prev, pager, next"
  174. :total="drawertotal"
  175. class="fenye"
  176. >
  177. </el-pagination>
  178. </div>
  179. </el-drawer>
  180. <el-dialog
  181. title="新增部件"
  182. :visible.sync="relevanceVisible"
  183. width="400px"
  184. :before-close="handleClose"
  185. >
  186. <p class="maintain">
  187. <span class="two"> 品牌:</span>
  188. <span class="one"
  189. ><el-input v-model="brand" size="small"></el-input
  190. ></span>
  191. </p>
  192. <p class="maintain">
  193. <span class="two"> 型号:</span
  194. ><span class="one"
  195. ><el-input v-model="guige" size="small"></el-input
  196. ></span>
  197. </p>
  198. <h3 style="font-weight: 600; margin-bottom: 10px;">轴承参数信息</h3>
  199. <p class="maintain">
  200. <span class="two"> 滚动体数量:</span>
  201. <span class="one">
  202. <el-input
  203. :disabled="zcShow != 1"
  204. v-model="quantity"
  205. size="small"
  206. @input="validateDecimal('quantity')"
  207. ></el-input>
  208. </span>
  209. </p>
  210. <p class="maintain">
  211. <span class="two"> 滚动体直径/mm:</span>
  212. <span class="one">
  213. <el-input
  214. :disabled="zcShow != 1"
  215. v-model="diameter"
  216. size="small"
  217. @input="validateDecimal('diameter')"
  218. ></el-input>
  219. </span>
  220. </p>
  221. <p class="maintain">
  222. <span class="two">节圆直径/mm:</span>
  223. <span class="one">
  224. <el-input
  225. :disabled="zcShow != 1"
  226. v-model="section"
  227. size="small"
  228. @input="validateDecimal('section')"
  229. ></el-input>
  230. </span>
  231. </p>
  232. <p class="maintain">
  233. <span class="two"> 接触角°:</span>
  234. <span class="one">
  235. <el-input
  236. :disabled="zcShow != 1"
  237. v-model="contact"
  238. size="small"
  239. @input="validateDecimal('contact')"
  240. ></el-input>
  241. </span>
  242. </p>
  243. <div class="button-container">
  244. <el-button class="but" size="small" type="primary" @click="Glsubmit">
  245. 确定
  246. </el-button>
  247. </div>
  248. </el-dialog>
  249. <!-- 非 -->
  250. <el-drawer
  251. title="新增"
  252. :visible.sync="notdrawer"
  253. size="22%"
  254. :with-header="true"
  255. class="drawers"
  256. >
  257. <div class="drawersDIV">
  258. <el-button
  259. style="margin-bottom: 10px"
  260. size="small"
  261. @click="newtype('2')"
  262. >新增</el-button
  263. >
  264. <el-table :data="nothaveData" border style="width: 100%">
  265. <el-table-column prop="contentsName" label="属性名称">
  266. </el-table-column>
  267. <el-table-column fixed="right" label="操作" width="100">
  268. <template slot-scope="scope">
  269. <el-button @click="compile(scope.row)" type="text" size="small"
  270. >编辑</el-button
  271. >
  272. <el-button type="text" @click="DELshuxing(scope.row)" size="small"
  273. >删除</el-button
  274. >
  275. </template>
  276. </el-table-column>
  277. </el-table>
  278. </div>
  279. </el-drawer>
  280. <el-dialog
  281. title="新增部件"
  282. :visible.sync="maintainVisible"
  283. width="22%"
  284. :before-close="handleClose"
  285. >
  286. <p class="maintain">
  287. 名称:<span class="one"
  288. ><el-input v-model="bujianval" size="small"></el-input></span
  289. ><span class="Sptwo">
  290. <el-button class="but" size="small" type="primary" @click="submit">
  291. 确定
  292. </el-button></span
  293. >
  294. </p>
  295. </el-dialog>
  296. </div>
  297. </template>
  298. <script>
  299. import {
  300. getDictList,
  301. createUnitDict,
  302. getUnitDictConstantsPage,
  303. delUnitDict,
  304. createUnitDictProperty,
  305. getUnitDictConstantsList,
  306. delUnitDictProperty,
  307. updateUnitDictProperty,
  308. saveUnitDictBrandModel,
  309. getUnitDictBrandModelPage,
  310. delUnitDictBrandModel,
  311. updateUnitDictBrandModel,
  312. } from "@/api/maintain.js";
  313. export default {
  314. data() {
  315. return {
  316. nameOfparts: "",
  317. tableData: [],
  318. drawer: false,
  319. notdrawer: false,
  320. dialogVisible: false,
  321. maintainVisible: false,
  322. relevanceVisible: false,
  323. modulevalue: "",
  324. moduleoptions: [],
  325. namevalue: "",
  326. nameoptions: [],
  327. functionvalue: "",
  328. functionoptions: [],
  329. checked: "0",
  330. drawervalue: "",
  331. brand: "",
  332. guige: "",
  333. rowList: {},
  334. bujianval: "",
  335. nothaveData: [],
  336. editType: "",
  337. currentRow: "",
  338. compilerow: {},
  339. total: 0,
  340. drawertotal: 0,
  341. pageNum: 1,
  342. pageSize: 10,
  343. relevanceData: [],
  344. drawerList: {},
  345. brandvalue: "",
  346. modelvalue: "",
  347. pprow: {},
  348. quantity: "",
  349. diameter: "",
  350. section: "",
  351. contact: "",
  352. zcShow: "",
  353. };
  354. },
  355. created() {
  356. this.GETquery();
  357. this.GETmokuai();
  358. },
  359. methods: {
  360. validateDecimal(field) {
  361. this[field] = this[field]
  362. .replace(/[^0-9.]/g, "") // 只允许输入数字和小数点
  363. .replace(/^(\d*\.?\d*).*$/, "$1") // 只保留第一个小数点后面的数字
  364. .replace(/(\..*)\./g, "$1"); // 只能有一个小数点
  365. },
  366. load() {
  367. this.$message.success("加载下一页");
  368. this.tableData = this.tableData.concat(exampleData);
  369. //此时也可以调用接口,然后做数组的拼接
  370. },
  371. // 查询
  372. GETquery() {
  373. const params = {
  374. contentsName: this.nameOfparts,
  375. pageNum: this.pageNum,
  376. pageSize: this.pageSize,
  377. };
  378. getUnitDictConstantsPage(params).then((res) => {
  379. this.tableData = res.data.list;
  380. this.total = res.data.totalSize;
  381. });
  382. },
  383. // 获取属性
  384. GETmokuai() {
  385. getDictList({ dictType: 3 }).then((res) => {
  386. this.moduleoptions = res.data;
  387. });
  388. getDictList({ dictType: 4 }).then((res) => {
  389. this.nameoptions = res.data;
  390. });
  391. getDictList({ dictType: 5 }).then((res) => {
  392. this.functionoptions = res.data;
  393. });
  394. },
  395. // 打开新增
  396. newly() {
  397. this.dialogVisible = true;
  398. },
  399. // 新增属性
  400. handleConfirm() {
  401. // 构建 params 对象
  402. const params = {
  403. associatedFunctionType: this.functionvalue,
  404. contentsDictKey: this.namevalue,
  405. contentsName:
  406. this.nameoptions.find((item) => item.contentsValue === this.namevalue)
  407. ?.contentsName || "", // 赋值nameoptions当前选中的label
  408. unitModule: this.modulevalue,
  409. parentId: 0,
  410. };
  411. // 验证 params 中的字段是否为空
  412. if (
  413. !params.associatedFunctionType ||
  414. !params.contentsDictKey ||
  415. !params.contentsName ||
  416. !params.unitModule
  417. ) {
  418. this.$message({
  419. message: "请确保所有字段都已填写!",
  420. type: "warning",
  421. });
  422. return; // 阻止提交
  423. }
  424. // 提交数据
  425. createUnitDict(params).then((res) => {
  426. if (res.status === true) {
  427. this.$message({
  428. message: "恭喜你,这是一条成功消息",
  429. type: "success",
  430. });
  431. this.dialogVisible = false;
  432. this.GETquery();
  433. this.handleClose();
  434. }
  435. });
  436. },
  437. // 删除
  438. ONdelete(row) {
  439. this.$confirm(
  440. `确定要删除该项吗?(部件模块:${row.unitModuleName},部件名称:${row.contentsName})`,
  441. "删除确认",
  442. {
  443. confirmButtonText: "确定",
  444. cancelButtonText: "取消",
  445. type: "warning",
  446. }
  447. )
  448. .then(() => {
  449. // Proceed with deletion after confirmation
  450. const params = {
  451. contentsType: row.contentsType,
  452. id: row.id,
  453. };
  454. delUnitDict(params).then((res) => {
  455. if (res.status === true) {
  456. this.tableData = this.tableData.filter(
  457. (item) => item.id !== row.id
  458. );
  459. this.GETquery();
  460. this.$message({
  461. type: "success",
  462. message: "删除成功!",
  463. });
  464. } else {
  465. this.$message({
  466. type: "error",
  467. message: "删除失败,请稍后再试。",
  468. });
  469. }
  470. });
  471. })
  472. .catch(() => {
  473. // User canceled the deletion
  474. this.$message({
  475. type: "info",
  476. message: "删除已取消。",
  477. });
  478. });
  479. },
  480. // 分页
  481. handleSizeChange(pageSize) {
  482. this.pageSize = pageSize; // 更新每页显示条数
  483. this.GETquery(); // 重新获取数据
  484. },
  485. handleCurrentChange(pageNum) {
  486. this.pageNum = pageNum; // 更新当前页
  487. this.GETquery(); // 重新获取数据
  488. },
  489. // 常用类型
  490. ONallocation(row) {
  491. this.rowList = row;
  492. this.notdrawer = true;
  493. getUnitDictConstantsList({
  494. contentsType: this.rowList.contentsType,
  495. }).then((res) => {
  496. this.nothaveData = res.data;
  497. });
  498. },
  499. // 删除常用
  500. DELshuxing(row) {
  501. const params = {
  502. updateBy: row.updateBy,
  503. id: row.id,
  504. };
  505. delUnitDictProperty(params).then((res) => {
  506. this.nothaveData = this.nothaveData.filter(
  507. (item) => item.id !== row.id
  508. );
  509. });
  510. },
  511. // 编辑常用
  512. compile(row) {
  513. this.maintainVisible = true;
  514. this.bujianval = row.contentsName;
  515. this.compilerow = row;
  516. this.editType = "edit"; // 设置编辑模式
  517. },
  518. // 提交
  519. submit() {
  520. const params = {
  521. contentsName: this.bujianval,
  522. contentsType: this.rowList.contentsType,
  523. parentId: this.rowList.id,
  524. unitModule: this.rowList.unitModule,
  525. contentsDictKey: 0,
  526. };
  527. console.log(params, "1");
  528. if (this.editType === "edit") {
  529. // 编辑操作
  530. const updateParams = {
  531. contentsName: this.bujianval,
  532. id: this.compilerow.id, // 编辑时需要传递项的 ID
  533. updateBy: 0, // 更新人的 ID(如果需要)
  534. };
  535. console.log(updateParams, "2");
  536. updateUnitDictProperty(updateParams).then((res) => {
  537. this.maintainVisible = false;
  538. getUnitDictConstantsList({
  539. contentsType: this.rowList.contentsType,
  540. }).then((res) => {
  541. this.nothaveData = res.data;
  542. });
  543. });
  544. } else {
  545. // 新增操作
  546. createUnitDictProperty(params).then((res) => {
  547. this.maintainVisible = false;
  548. getUnitDictConstantsList({
  549. contentsType: this.rowList.contentsType,
  550. }).then((res) => {
  551. this.nothaveData = res.data;
  552. });
  553. });
  554. }
  555. this.handleClose();
  556. },
  557. // 品牌
  558. drawerhandleSizeChange(newSize) {
  559. this.pageSize = newSize;
  560. this.fetchData();
  561. },
  562. drawerhandleCurrentChange(newPage) {
  563. this.pageNum = newPage;
  564. this.fetchData();
  565. },
  566. fetchData() {
  567. const params = {
  568. contentsDictKey: this.drawerList.contentsDictKey,
  569. manufacture: this.brandvalue,
  570. modelNumber: this.modelvalue,
  571. pageNum: this.pageNum,
  572. pageSize: this.pageSize,
  573. };
  574. getUnitDictBrandModelPage(params).then((res) => {
  575. this.relevanceData = res.data.list;
  576. this.drawertotal = res.data.totalSize;
  577. });
  578. },
  579. ONbrand(row) {
  580. this.drawer = true;
  581. this.zcShow = row.contentsDictKey;
  582. console.log(row, 1111);
  583. this.drawerList = row;
  584. console.log(row);
  585. this.fetchData();
  586. },
  587. // 提交品牌
  588. Glsubmit() {
  589. const params = {
  590. manufacture: this.brand,
  591. modelNumber: this.guige,
  592. unitType: this.drawerList ? this.drawerList.contentsDictKey : "", // 确保 this.drawerList 存在
  593. rollsNumbe: this.quantity,
  594. rollsDiameter: this.diameter,
  595. circleDiameter: this.section,
  596. thetaDeg: this.contact,
  597. };
  598. console.log(params, "params");
  599. return;
  600. if (!params.manufacture || !params.modelNumber || !params.unitType) {
  601. this.$message({
  602. message: "请确保所有字段都已填写!",
  603. type: "warning",
  604. });
  605. return;
  606. }
  607. if (this.editType === "edit") {
  608. // Edit operation
  609. const updateParams = {
  610. id: this.pprow.id, // The ID of the item being edited
  611. manufacture: params.manufacture,
  612. modelNumber: params.modelNumber,
  613. unitType: params.unitType,
  614. rollsNumbe: params.rollsNumbe,
  615. rollsDiameter: params.rollsDiameter,
  616. circleDiameter: params.circleDiameter,
  617. thetaDeg: params.thetaDeg,
  618. };
  619. updateUnitDictBrandModel(updateParams).then((res) => {
  620. if (res.status === true) {
  621. this.$message({
  622. message: "更新成功!",
  623. type: "success",
  624. });
  625. this.notdrawer = false;
  626. this.handleClose();
  627. this.editType = null; // Reset editType after a successful edit
  628. if (this.drawerList) {
  629. this.ONbrand(this.drawerList);
  630. } else {
  631. this.$message({
  632. message: "未选择有效的部件信息,无法更新相关数据。",
  633. type: "error",
  634. });
  635. }
  636. }
  637. });
  638. } else {
  639. // New entry
  640. saveUnitDictBrandModel(params).then((res) => {
  641. if (res.status === true) {
  642. this.$message({
  643. message: "恭喜你,这是一条成功消息",
  644. type: "success",
  645. });
  646. this.notdrawer = false;
  647. this.handleClose();
  648. if (this.drawerList) {
  649. this.ONbrand(this.drawerList);
  650. } else {
  651. this.$message({
  652. message: "未选择有效的部件信息,无法更新相关数据。",
  653. type: "error",
  654. });
  655. }
  656. }
  657. });
  658. }
  659. },
  660. //删除品牌
  661. DELpingpai(row) {
  662. this.$confirm("确定删除该品牌吗?", "提示", {
  663. confirmButtonText: "确定",
  664. cancelButtonText: "取消",
  665. type: "warning",
  666. })
  667. .then(() => {
  668. delUnitDictBrandModel({ id: row.id }).then((res) => {
  669. if (res.status === true) {
  670. this.$message({
  671. type: "success",
  672. message: "删除成功!",
  673. });
  674. this.relevanceData = this.relevanceData.filter(
  675. (item) => item.id !== row.id
  676. );
  677. } else {
  678. this.$message({
  679. type: "error",
  680. message: "删除失败,请重试!",
  681. });
  682. }
  683. });
  684. })
  685. .catch(() => {
  686. // 用户点击了"取消"
  687. this.$message({
  688. type: "info",
  689. message: "已取消删除操作",
  690. });
  691. });
  692. },
  693. handleClick(row) {
  694. this.pprow = row;
  695. this.relevanceVisible = true;
  696. this.brand = row.manufacture;
  697. this.guige = row.modelNumber;
  698. this.editType = "edit"; // 设置编辑模式
  699. },
  700. // 清空选项
  701. handleClose() {
  702. this.modulevalue = "";
  703. this.namevalue = "";
  704. this.functionvalue = "";
  705. this.bujianval = "";
  706. this.brand = "";
  707. this.guige = "";
  708. this.brandvalue = "";
  709. this.modelvalue = "";
  710. this.dialogVisible = false;
  711. this.maintainVisible = false;
  712. this.relevanceVisible = false;
  713. this.drawer = false;
  714. this.quantity = "";
  715. this.diameter = "";
  716. this.section = "";
  717. this.contact = "";
  718. this.zcShow = "";
  719. },
  720. newtype(type) {
  721. if (type === "1") {
  722. this.relevanceVisible = true;
  723. } else if (type === "2") {
  724. this.maintainVisible = true;
  725. }
  726. },
  727. onlyNumberFilter(value) {
  728. const newValue = value.replace(/[^\d]/g, ""); // 过滤非数字字符
  729. return newValue;
  730. },
  731. },
  732. };
  733. </script>
  734. <style lang="scss" scoped>
  735. .inquire {
  736. display: flex;
  737. justify-content: space-between;
  738. .condition {
  739. display: flex;
  740. p {
  741. width: 80px;
  742. line-height: 32px;
  743. }
  744. .el-input {
  745. width: 150px;
  746. margin-right: 20px;
  747. }
  748. }
  749. }
  750. .assemblyList {
  751. margin: 20px 0;
  752. }
  753. .fenye {
  754. margin: 20px auto;
  755. text-align: center;
  756. }
  757. .button-container {
  758. display: flex;
  759. justify-content: center;
  760. margin-top: 20px;
  761. .but {
  762. width: 100px;
  763. }
  764. }
  765. .drawers {
  766. .drawersDIV {
  767. padding: 0 20px;
  768. margin-bottom: 20px;
  769. }
  770. .el-input {
  771. width: 100px;
  772. // margin-right: 20px;
  773. margin-bottom: 20px;
  774. }
  775. }
  776. .maintain {
  777. margin-bottom: 20px;
  778. .two {
  779. width: 120px;
  780. display: inline-block;
  781. text-align: right;
  782. }
  783. .el-input {
  784. width: 220px;
  785. }
  786. .Sptwo {
  787. margin-left: 10px;
  788. }
  789. }
  790. </style>