details.vue 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846
  1. <template>
  2. <!-- 巡点检计划审批 -->
  3. <div class="page" v-loading="pageLoading">
  4. <el-form label-width="130px">
  5. <div class="content-detail">
  6. <div class="basic-details">
  7. <HeaderTitle title="基本信息" size="16px">
  8. <el-button
  9. type="primary"
  10. @click="
  11. $router.push({
  12. path: '/maintenance/patrol',
  13. query: { title: '计划' }
  14. })
  15. "
  16. >返回</el-button
  17. >
  18. </HeaderTitle>
  19. <el-row>
  20. <el-col :span="12">
  21. <el-col :span="12">
  22. <el-form-item label="计划单号">
  23. <span> {{ infoData.code }} </span>
  24. </el-form-item>
  25. </el-col>
  26. <el-col :span="12">
  27. <el-form-item label="来源计划配置单号">
  28. <span> {{ infoData.planConfigCode }} </span>
  29. </el-form-item>
  30. </el-col>
  31. <el-col :span="12">
  32. <el-form-item label="名称">
  33. <span> {{ infoData.name }} </span>
  34. </el-form-item>
  35. </el-col>
  36. <el-col :span="12">
  37. <el-form-item label="部门">
  38. <span v-if="infoData.executor && infoData.executor.length">
  39. {{ infoData.executor[0].deptName }}
  40. </span>
  41. </el-form-item>
  42. </el-col>
  43. <el-col :span="12">
  44. <el-form-item label="人员">
  45. <span v-if="infoData.executor && infoData.executor.length">
  46. {{ infoData.executor.map((i) => i.name).join(',') }}
  47. </span>
  48. </el-form-item>
  49. </el-col>
  50. <el-col :span="12">
  51. <el-form-item label="计划完成时长">
  52. <span v-if="infoData.duration >= 0"
  53. >{{ infoData.duration }}分钟</span
  54. >
  55. </el-form-item>
  56. </el-col>
  57. <el-col :span="12">
  58. <el-form-item label="周期">
  59. <span v-if="infoData.ruleInfo">
  60. {{ infoData.ruleInfo.cycleValue
  61. }}{{
  62. getDictValue('巡点检周期', infoData.ruleInfo.cycleType)
  63. }}
  64. </span>
  65. </el-form-item>
  66. </el-col>
  67. <el-col :span="12">
  68. <el-form-item label="设备分类">
  69. <span> {{ infoData.categoryLevelName }} </span>
  70. </el-form-item>
  71. </el-col>
  72. <el-col :span="12">
  73. <el-form-item label="规则名称">
  74. <span>
  75. {{ infoData.ruleInfo && infoData.ruleInfo.name }}
  76. </span>
  77. </el-form-item>
  78. </el-col>
  79. <el-col :span="12">
  80. <el-form-item label="创建部门">
  81. <span> {{ infoData.createUserGroupName }} </span>
  82. </el-form-item>
  83. </el-col>
  84. <el-col :span="12">
  85. <el-form-item label="创建人">
  86. <span> {{ infoData.createUserName }} </span>
  87. </el-form-item>
  88. </el-col>
  89. <el-col :span="12">
  90. <el-form-item label="创建时间">
  91. <span> {{ infoData.createTime }} </span>
  92. </el-form-item>
  93. </el-col>
  94. <el-col :span="24">
  95. <el-form-item label="备注">
  96. <span> {{ infoData.remark }} </span>
  97. </el-form-item>
  98. </el-col>
  99. </el-col>
  100. <el-col :span="12">
  101. <!-- <img :src="infoData.imageUrl" alt="" /> -->
  102. </el-col>
  103. </el-row>
  104. </div>
  105. <!-- 备品备件 -->
  106. <div v-if="sparePartsList.length > 0" class="maintain_spareParts_info">
  107. <HeaderTitle title="备品备件" size="16px"></HeaderTitle>
  108. <div
  109. class="maintain_spareParts_info_content"
  110. v-for="(item, index) in sparePartsList"
  111. >
  112. <div class="title">
  113. <span>工单号:{{ item.workOrderId }}</span>
  114. </div>
  115. <el-table :data="item.infoList" border>
  116. <el-table-column label="序号" width="50">
  117. <template slot-scope="scope">
  118. <span>{{ scope.$index + 1 }}</span>
  119. </template>
  120. </el-table-column>
  121. <el-table-column
  122. label="备件物品编码"
  123. prop="code"
  124. ></el-table-column>
  125. <el-table-column label="备件名称" prop="name"></el-table-column>
  126. <el-table-column
  127. label="所属分类"
  128. prop="typeName"
  129. ></el-table-column>
  130. <el-table-column label="型号" prop="model"></el-table-column>
  131. <el-table-column label="使用数量" prop="num"></el-table-column>
  132. </el-table>
  133. </div>
  134. </div>
  135. <!-- 巡点检、保养设备 -->
  136. <div class="maintain_equipment_info">
  137. <HeaderTitle title="巡点检设备" size="16px"></HeaderTitle>
  138. <div class="maintain_equipment_info_content">
  139. <div
  140. class="equipment_item"
  141. v-for="item in infoData.planDeviceList"
  142. :key="item.id"
  143. >
  144. <div class="equipment_info" v-if="item.substance">
  145. <div class="item_info">
  146. <span class="item_label">设备编码</span>
  147. <span class="item_value">{{ item.substance.code }}</span>
  148. </div>
  149. <div class="item_info">
  150. <span class="item_label">设备名称</span>
  151. <span class="item_value">{{ item.substance.name }}</span>
  152. </div>
  153. <div class="item_info">
  154. <span class="item_label">设备型号</span>
  155. <span class="item_value">{{ item.substance.model }}</span>
  156. </div>
  157. <div class="item_info">
  158. <span class="item_label">设备位置</span>
  159. <span class="item_value">{{
  160. item.substance.positionNames
  161. }}</span>
  162. </div>
  163. </div>
  164. <p>操作事项</p>
  165. <div class="ruleMatters_box">
  166. <el-table :data="item.workItems" border>
  167. <el-table-column label="序号" width="50">
  168. <template slot-scope="scope">
  169. <span>{{ scope.$index + 1 }}</span>
  170. </template>
  171. </el-table-column>
  172. <el-table-column label="事项" prop="name" width="100">
  173. <template slot-scope="scope">
  174. <div>
  175. <span>{{ scope.row.name }}</span>
  176. </div>
  177. </template>
  178. </el-table-column>
  179. <el-table-column label="内容" prop="content" width="300">
  180. <template slot-scope="scope">
  181. <div>
  182. <span>{{ scope.row.content }}</span>
  183. </div>
  184. </template>
  185. </el-table-column>
  186. <el-table-column label="操作指导" prop="operationGuide">
  187. <template slot-scope="scope">
  188. <div class="operationGuide_box">
  189. <div class="left_content">
  190. <template v-if="scope.row.operationGuide">
  191. <div
  192. v-for="(item, index) in scope.row.operationGuide
  193. .toolList"
  194. :key="item.id"
  195. >{{ index + 1 }}.{{ item.name }}</div
  196. >
  197. </template>
  198. </div>
  199. <div class="line"></div>
  200. <div class="right_content">
  201. <template v-if="scope.row.operationGuide">
  202. <div
  203. v-for="(item, index) in scope.row.operationGuide
  204. .procedureList"
  205. :key="item.id"
  206. >{{ index + 1 }}.{{ item.content }}</div
  207. >
  208. </template>
  209. </div>
  210. </div>
  211. </template>
  212. </el-table-column>
  213. <el-table-column label="标准" prop="norm" width="100">
  214. <template slot-scope="scope">
  215. <div>
  216. <span>{{ scope.row.norm }}</span>
  217. </div>
  218. </template>
  219. </el-table-column>
  220. </el-table>
  221. </div>
  222. <!-- <div class="matter_info">
  223. <el-table :data="item.workItems || []" border>
  224. <el-table-column label="序号" align="center" width="80">
  225. <template slot-scope="scope">
  226. <span>{{ scope.$index + 1 }}</span>
  227. </template>
  228. </el-table-column>
  229. <el-table-column label="事项" prop="name" />
  230. <el-table-column label="内容" prop="content" />
  231. <el-table-column label="标准" prop="norm" />
  232. </el-table>
  233. </div> -->
  234. </div>
  235. </div>
  236. </div>
  237. <!-- 巡点检、审批信息 -->
  238. <!-- <div class="examine_info">
  239. <HeaderTitle title="审批信息" size="16px"></HeaderTitle>
  240. <div class="item_row">
  241. <div class="item_info">
  242. <span class="item_label border_top">审批结果</span>
  243. <span class="item_value" v-if="infoData.approvalResult === 0"
  244. >驳回</span
  245. >
  246. <span class="item_value" v-if="infoData.approvalResult === 1"
  247. >通过</span
  248. >
  249. </div>
  250. <div class="item_info border_top">
  251. <span class="item_label">审批人</span>
  252. <span class="item_value">{{ infoData.verifyUserName }}</span>
  253. </div>
  254. <div class="item_info border_right border_top">
  255. <span class="item_label">审批时间</span>
  256. <span class="item_value">{{ infoData.approvalTime }}</span>
  257. </div>
  258. <div
  259. class="item_info reason border_right"
  260. v-if="infoData.auditResult == 0"
  261. >
  262. <span class="item_label">驳回原因</span>
  263. <span class="item_value">{{ infoData.rejectCause }}</span>
  264. </div>
  265. </div>
  266. </div> -->
  267. <!-- 巡点检、执行信息 -->
  268. <!-- <div class="execute_info">
  269. <HeaderTitle title="执行信息" size="16px"></HeaderTitle>
  270. <el-table :data="infoData.planWorkOrderList || []">
  271. <el-table-column label="序号" align="center" width="60">
  272. <template slot-scope="scope">
  273. <span>{{ scope.$index + 1 }}</span>
  274. </template>
  275. </el-table-column>
  276. <el-table-column
  277. label="工单编号"
  278. align="center"
  279. prop="workOrderCode"
  280. />
  281. <el-table-column label="状态" align="center">
  282. <template slot-scope="scope">
  283. <span>{{ scope.row.status.descp }}</span>
  284. </template>
  285. </el-table-column>
  286. <el-table-column
  287. label="执行部门"
  288. align="center"
  289. prop="executorDeptName"
  290. />
  291. <el-table-column
  292. label="执行人员"
  293. align="center"
  294. prop="executeUserName"
  295. />
  296. <el-table-column
  297. label="开始时间"
  298. align="center"
  299. prop="acceptTime"
  300. />
  301. <el-table-column
  302. label="完成时间"
  303. align="center"
  304. prop="finishTime"
  305. />
  306. <el-table-column
  307. label="计划工时"
  308. align="center"
  309. prop="planManhour"
  310. />
  311. <el-table-column
  312. label="实际工时"
  313. align="center"
  314. prop="practicalManhour"
  315. />
  316. <el-table-column
  317. label="开始时间"
  318. align="center"
  319. prop="acceptTime"
  320. width="160"
  321. >
  322. <template slot-scope="scope">
  323. {{ scope.row.acceptTime ? scope.row.acceptTime : '-' }}
  324. </template>
  325. </el-table-column>
  326. <el-table-column
  327. label="完成时间"
  328. align="center"
  329. prop="finishTime"
  330. width="160"
  331. >
  332. <template slot-scope="scope">
  333. {{ scope.row.finishTime ? scope.row.finishTime : '-' }}
  334. </template>
  335. </el-table-column>
  336. <el-table-column label="计划工时" align="center" prop="planManhour">
  337. <template slot-scope="{ row }">
  338. <span>{{
  339. row.planManhour ? row.planManhour + '分钟' : '-'
  340. }}</span>
  341. </template>
  342. </el-table-column>
  343. <el-table-column
  344. label="实际工时"
  345. align="center"
  346. prop="practicalManhour"
  347. >
  348. <template slot-scope="{ row }">
  349. <span>{{
  350. row.practicalManhour ? row.practicalManhour + '分钟' : '-'
  351. }}</span>
  352. </template>
  353. </el-table-column>
  354. </el-table>
  355. </div> -->
  356. <div class="btnbox" v-if="$route.query.isshow">
  357. <el-button class="confirm-btn" type="danger" plain @click="reject"
  358. >驳回</el-button
  359. >
  360. <el-button class="confirm-btn" type="success" plain @click="pass"
  361. >通过</el-button
  362. >
  363. <!-- <el-button class="cancel-btn">关闭</el-button> -->
  364. </div>
  365. <div class="textbox" v-if="showtext" ref="rejectContent">
  366. <el-input
  367. type="textarea"
  368. placeholder="请输入驳回原因"
  369. v-model="cause"
  370. maxlength="30"
  371. rows="5"
  372. show-word-limit
  373. >
  374. </el-input>
  375. <div class="textbtnbox">
  376. <el-button size="small" round @click="cancelreject">取消</el-button>
  377. <el-button size="small" round @click="surereject">提交</el-button>
  378. </div>
  379. </div>
  380. </div>
  381. </el-form>
  382. </div>
  383. </template>
  384. <script>
  385. // import { getDetail, sendAudit } from '@/api/stockManagement/stocking'
  386. // import { useDictLabel, patrolMatterStatus } from '@/utils/dict/index'
  387. import { getById, getSpareParts } from '@/api/maintenance/patrol_maintenance';
  388. import dictMixins from '@/mixins/dictMixins';
  389. export default {
  390. mixins: [dictMixins],
  391. data() {
  392. return {
  393. num: 1,
  394. dialogVisible: false,
  395. baseInfo: {},
  396. pageLoading: false,
  397. typeValue: null,
  398. contract_type: [],
  399. status: [
  400. {
  401. value: true,
  402. label: '失效'
  403. },
  404. {
  405. value: false,
  406. label: '生效'
  407. }
  408. ],
  409. ruleItem: [],
  410. cause: '',
  411. showtext: false,
  412. infoData: {},
  413. sparePartsList: []
  414. };
  415. },
  416. async created() {
  417. this.requestDict('巡点检周期');
  418. this.getInfo();
  419. this.getSparePartsList();
  420. },
  421. methods: {
  422. // getStatus: useDictLabel(patrolMatterStatus),
  423. delete() {},
  424. // 点击切换事件
  425. tab(index) {
  426. this.num = index;
  427. },
  428. // 表格数据
  429. async getInfo() {
  430. this.pageLoading = true;
  431. const res = await getById(this.$route.query.id).catch(() => {
  432. this.pageLoading = false;
  433. });
  434. if (res?.data) {
  435. this.infoData = res.data;
  436. }
  437. this.pageLoading = false;
  438. },
  439. // 通过工单查询备品备件
  440. getSparePartsList() {
  441. getSpareParts(this.$route.query.id).then((data) => {
  442. console.log(data);
  443. this.sparePartsList = data.map((item) => {
  444. item.infoList = item.content.infoList.map((innerItem) => {
  445. return {
  446. sparePartsId: innerItem.sparePartsId,
  447. ...JSON.parse(innerItem.sparePartsList)
  448. };
  449. });
  450. return {
  451. ...item
  452. };
  453. });
  454. console.log(this.sparePartsList);
  455. });
  456. },
  457. //通过按钮事件
  458. pass() {
  459. let params = {
  460. id: this.$route.query.id,
  461. checked: true,
  462. myHandleId: this.$route.query.dbid,
  463. cause: '',
  464. type: 2,
  465. handleType: 0
  466. };
  467. sendAudit(params).then((res) => {
  468. if (res.success) {
  469. this.$message.success('审批通过!');
  470. this.$router.back();
  471. }
  472. });
  473. },
  474. //驳回按钮事件
  475. reject() {
  476. this.showtext = true;
  477. let bodyscrollHeight = document.body.scrollHeight;
  478. this.$nextTick(() => {
  479. document.documentElement.scrollTop = bodyscrollHeight;
  480. });
  481. },
  482. cancelreject() {
  483. this.showtext = false;
  484. this.cause = '';
  485. },
  486. surereject() {
  487. if (!this.cause) {
  488. this.$message.info('请填写驳回原因!');
  489. } else {
  490. let params = {
  491. id: this.$route.query.id,
  492. checked: false,
  493. myHandleId: this.$route.query.dbid,
  494. cause: this.cause,
  495. type: 2,
  496. handleType: 0
  497. };
  498. sendAudit(params).then((res) => {
  499. if (res.success) {
  500. this.$message.success('驳回成功!');
  501. this.$router.back();
  502. }
  503. });
  504. }
  505. }
  506. }
  507. };
  508. </script>
  509. <style lang="scss" scoped>
  510. // @import '@/assets/css/oaa.scss';
  511. .page {
  512. padding: 10px;
  513. }
  514. .page-title {
  515. background: #fff;
  516. font-size: 18px;
  517. padding: 6px 20px;
  518. font-weight: 500;
  519. .page-title-div {
  520. margin: 5px 0;
  521. height: 30px;
  522. line-height: 30px;
  523. border-bottom: 1px solid #eaeefb;
  524. .title-div-no {
  525. margin-left: 10px;
  526. font-weight: 400;
  527. color: #909090;
  528. font-size: 14px;
  529. }
  530. }
  531. }
  532. .page-data {
  533. padding-top: 10px;
  534. }
  535. .content-detail {
  536. background: #fff;
  537. padding: 20px;
  538. }
  539. .flows {
  540. .flow-left {
  541. width: 156px;
  542. height: 70px;
  543. border: 1px dashed #ccc;
  544. padding: 10px;
  545. }
  546. .row {
  547. margin-top: 13px;
  548. }
  549. }
  550. .basic-details-title {
  551. margin-bottom: 12px;
  552. margin-top: 20px;
  553. border-bottom: 1px solid #1890ff;
  554. padding-bottom: 8px;
  555. display: flex;
  556. justify-content: space-between;
  557. }
  558. .basic-details-title .border-span {
  559. height: 18px;
  560. font-size: 16px;
  561. border-left: 4px solid #1890ff;
  562. padding-left: 8px;
  563. font-weight: 500;
  564. }
  565. .heade-right {
  566. // float: right;
  567. .heade-right-content {
  568. margin-right: 12px;
  569. font-size: 14px;
  570. display: inline-block;
  571. .content-key {
  572. color: #3e3e3e;
  573. margin-right: 12px;
  574. font-weight: 500;
  575. }
  576. .content-value {
  577. color: #000;
  578. }
  579. }
  580. }
  581. .list-title {
  582. font-size: 14px;
  583. color: #3e3e3e;
  584. margin: 10px 0px;
  585. }
  586. .goods {
  587. background: #a30014;
  588. border: 1px solid #a30014;
  589. }
  590. .details-title {
  591. display: inline-block;
  592. color: #6e6e6e;
  593. font-size: 14px;
  594. font-weight: bold;
  595. margin-right: 13px;
  596. width: 70px;
  597. text-align: right;
  598. }
  599. .details-con {
  600. color: #3e3e3e;
  601. font-size: 14px;
  602. }
  603. .detailed-tab {
  604. margin-left: 10px;
  605. margin-top: 10px;
  606. }
  607. ::v-deep .el-form-item--medium .el-form-item__label {
  608. color: #6e6e6e;
  609. font-size: 14px;
  610. font-weight: bold;
  611. }
  612. .warehouse {
  613. display: block;
  614. border-bottom: 1px solid #eaeefb;
  615. padding: 10px 0;
  616. }
  617. .box-card {
  618. .store-box {
  619. width: 80%;
  620. .store-box-span {
  621. display: inline-block;
  622. font-size: 14px;
  623. height: 50px;
  624. width: 50px;
  625. text-align: center;
  626. line-height: 50px;
  627. color: #fff;
  628. margin: 2px;
  629. }
  630. }
  631. }
  632. .vacant {
  633. background: #3196fb;
  634. }
  635. .inUse {
  636. background: #157a2c;
  637. }
  638. .invalid {
  639. background: #cccccc;
  640. }
  641. .full {
  642. background: #cc3300;
  643. }
  644. .maintain_equipment_info {
  645. .maintain_equipment_info_title {
  646. border-bottom: 1px solid #1890ff;
  647. padding-bottom: 3px;
  648. margin-bottom: 20px;
  649. > span {
  650. display: inline-block;
  651. line-height: 16px;
  652. border-left: 6px solid #1890ff;
  653. padding-left: 6px;
  654. }
  655. }
  656. .maintain_equipment_info_content {
  657. padding: 0 30px;
  658. .equipment_item {
  659. border: 1px solid #ccc;
  660. font-size: 14px;
  661. padding: 15px;
  662. margin-bottom: 30px;
  663. .equipment_info {
  664. display: flex;
  665. flex-wrap: wrap;
  666. border: 1px solid #ddd;
  667. .item_info {
  668. width: 33.33%;
  669. height: 24px;
  670. line-height: 24px;
  671. display: flex;
  672. .item_label {
  673. width: 90px;
  674. text-align: center;
  675. background-color: #f2f2f2;
  676. font-weight: 700;
  677. }
  678. .item_value {
  679. border-bottom: 1px solid #f2f2f2;
  680. flex: 1;
  681. padding-left: 5px;
  682. }
  683. &:last-child {
  684. width: 100%;
  685. .item_value {
  686. border: 0;
  687. }
  688. }
  689. }
  690. }
  691. > p {
  692. margin-top: 20px;
  693. color: #797979;
  694. }
  695. .matter_info {
  696. ::v-deep .el-table {
  697. th.el-table__cell {
  698. background-color: #f2f2f2;
  699. padding: 0;
  700. }
  701. td.el-table__cell {
  702. padding: 0;
  703. }
  704. }
  705. }
  706. .ruleMatters_box {
  707. flex: 3;
  708. height: 100%;
  709. display: flex;
  710. flex-direction: column;
  711. .divider {
  712. flex: 0 0 50px;
  713. .title {
  714. height: 35px;
  715. }
  716. }
  717. .el-table {
  718. overflow: auto;
  719. .operationGuide_box {
  720. width: 100%;
  721. display: flex;
  722. position: relative;
  723. .left_content {
  724. flex: 0 0 300px;
  725. padding: 10px;
  726. margin-right: 10px;
  727. overflow-y: auto;
  728. }
  729. .line {
  730. position: absolute;
  731. top: -10px;
  732. left: 300px;
  733. bottom: -10px;
  734. height: 110%;
  735. width: 1px;
  736. background-color: #ededed;
  737. }
  738. .right_content {
  739. flex: 1;
  740. padding: 10px;
  741. overflow-y: auto;
  742. }
  743. }
  744. }
  745. }
  746. }
  747. }
  748. }
  749. .maintain_spareParts_info {
  750. margin-bottom: 20px;
  751. .maintain_spareParts_info_content {
  752. .title {
  753. padding: 20px 0;
  754. font-size: 16px;
  755. }
  756. }
  757. }
  758. .examine_info {
  759. margin-bottom: 30px;
  760. .examine_info_title {
  761. border-bottom: 1px solid #1890ff;
  762. padding-bottom: 3px;
  763. margin-bottom: 20px;
  764. > span {
  765. display: inline-block;
  766. line-height: 16px;
  767. border-left: 6px solid #1890ff;
  768. padding-left: 6px;
  769. }
  770. }
  771. .item_row {
  772. display: flex;
  773. flex-wrap: wrap;
  774. font-size: 14px;
  775. padding: 0 15px;
  776. box-sizing: border-box;
  777. .item_info {
  778. width: 33.33%;
  779. height: 24px;
  780. line-height: 24px;
  781. display: flex;
  782. &.border_right {
  783. border-right: 1px solid #f2f2f2;
  784. }
  785. &.border_top {
  786. border-top: 1px solid #f2f2f2;
  787. }
  788. &.reason {
  789. width: 100%;
  790. }
  791. .item_label {
  792. width: 90px;
  793. text-align: center;
  794. background-color: #f2f2f2;
  795. font-weight: 700;
  796. }
  797. .item_value {
  798. border-bottom: 1px solid #f2f2f2;
  799. flex: 1;
  800. padding-left: 5px;
  801. }
  802. }
  803. }
  804. }
  805. .execute_info {
  806. .execute_info_title {
  807. border-bottom: 1px solid #1890ff;
  808. padding-bottom: 3px;
  809. margin-bottom: 20px;
  810. > span {
  811. display: inline-block;
  812. line-height: 16px;
  813. border-left: 6px solid #1890ff;
  814. padding-left: 6px;
  815. }
  816. }
  817. ::v-deep .el-table th.el-table__cell {
  818. background-color: #f2f2f2;
  819. }
  820. ::v-deep .el-table .el-table__cell {
  821. padding: 5px 0;
  822. }
  823. }
  824. .btnbox {
  825. display: flex;
  826. justify-content: center;
  827. margin-top: 10px;
  828. }
  829. ::v-deep .el-button {
  830. padding: 10px 20px;
  831. margin-right: 10px;
  832. }
  833. .textbox {
  834. margin-top: 10px;
  835. }
  836. .textbtnbox {
  837. margin-top: 10px;
  838. display: flex;
  839. justify-content: center;
  840. }
  841. </style>