TicketForm.vue 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. <template>
  2. <div class="main" v-show="visible">
  3. <div>
  4. <a-button type="primary" v-print="'#print-container2'" :disabled="disabled">打印</a-button>
  5. <a-button style="margin-left: 8px" @click="handleCancel()">返回</a-button>
  6. </div>
  7. <div id="print-container2">
  8. <div class="title">
  9. <div style="font-size:26px;"><span style="font-size:30px;font-weight:700;vertical-align: middle;letter-spacing:.2em;">设备变动申请单</span></div>
  10. </div>
  11. <div style="display:flex;justify-content:space-between; margin: 10px auto;width: 1130px;">
  12. <div>申请人:{{ modal.applyName }}</div>
  13. <!-- <div>日期:{{ BaseTool.Date.formatter(new Date, BaseTool.Date.PICKER_NORM_DATE_PATTERN) }}</div> -->
  14. <div>单号:{{ modal.no }}</div>
  15. </div>
  16. <div class="tables" >
  17. <table>
  18. <tr>
  19. <td colspan="3" style="text-align:center;">
  20. <div style="font-size:18px;"><span style="font-weight:700;vertical-align: middle;letter-spacing:.2em;">申请信息</span></div>
  21. </td>
  22. </tr>
  23. <tr>
  24. <td style="text-align:left;">
  25. 备注:{{ modal.name }}
  26. </td>
  27. <td colspan="2" style="text-align:left;">
  28. 申请原因:{{ modal.applyReason }}
  29. </td>
  30. </tr>
  31. <tr>
  32. <td colspan="3" style="text-align:left;">
  33. <table style="width:100%;border:none">
  34. <tr>
  35. <td colspan="8">设备集合</td>
  36. </tr>
  37. <tr>
  38. <td>设备名称</td>
  39. <td>原设备位号</td>
  40. <td>新设备位号</td>
  41. <td>原设备位置</td>
  42. <td>新设备位置</td>
  43. <td>是否清洗</td>
  44. <td>设备完好性</td>
  45. <td>设备编号</td>
  46. </tr>
  47. <tr v-for="item in modal.sbUnusedDetailVOS" :key="item.id">
  48. <td>{{ item.sbName }}</td>
  49. <td>{{ item.oldPositionNo }}</td>
  50. <td>{{ item.newPositionNo }}</td>
  51. <td>{{ item.oldPositionName }}</td>
  52. <td>{{ item.newPositionName }}</td>
  53. <td>{{ BaseTool.Object.getField(yesNoMap, item.clean) }}</td>
  54. <td>{{ item.sbIntact }}</td>
  55. <td>{{ item.sbNo }}</td>
  56. </tr>
  57. </table>
  58. </td>
  59. </tr>
  60. <tr>
  61. <td colspan="3" style="text-align:left;">
  62. 处理人意见区: <br />
  63. <br />
  64. <div style="padding-left:30px;">
  65. <a-steps size="small" :current="modal.sbUnusedVerifyRecordVOS.length-1" direction="vertical">
  66. <a-step v-for="item in modal.sbUnusedVerifyRecordVOS" :key="item.id" :title="item.realName" :sub-title="item.createdTime" :description="item.advice" />
  67. </a-steps>
  68. </div>
  69. </td>
  70. </tr><tr>
  71. <td style="text-align:left;">
  72. 申请人签字:
  73. </td>
  74. <td style="text-align:left;">
  75. 审核主管签字:
  76. </td>
  77. <td style="text-align:left;">
  78. 部门负责人签字:
  79. </td>
  80. </tr>
  81. </table>
  82. </div>
  83. </div>
  84. </div>
  85. </template>
  86. <script>
  87. export default {
  88. data () {
  89. return {
  90. visible: false,
  91. disabled: false,
  92. columns: [
  93. {
  94. title: '设备名称',
  95. dataIndex: 'sbName',
  96. key: 'sbName'
  97. },
  98. {
  99. title: '设备位号',
  100. dataIndex: 'positionNo',
  101. key: 'positionNo'
  102. },
  103. {
  104. title: '设备编号',
  105. dataIndex: 'sbNo',
  106. key: 'sbNo'
  107. },
  108. {
  109. title: '所属车间',
  110. dataIndex: 'positionName',
  111. key: 'positionName'
  112. }
  113. ],
  114. modal: {
  115. sbUnusedVerifyRecordVOS: [],
  116. sbUnusedDetailVOS: []
  117. },
  118. yesNoMap: {}
  119. }
  120. },
  121. created () {
  122. // 下拉框map
  123. // this.typeMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.OUT_STORE_FORM_TYPE)
  124. this.yesNoMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.YES_NO)
  125. },
  126. methods: {
  127. base (record) {
  128. this.visible = true
  129. this.modal = record
  130. },
  131. handleCancel (values) {
  132. this.visible = false
  133. this.$emit('ok')
  134. }
  135. }
  136. }
  137. </script>
  138. <style lang="less" scoped>
  139. .main{
  140. background: #fff;
  141. font-size: 16px;
  142. }
  143. .title{
  144. text-align: center;
  145. font-size:18px;
  146. }
  147. .tables{
  148. margin: 10px auto;
  149. width: 1130px;
  150. font-size: 16px;
  151. overflow-x:auto;
  152. table {
  153. margin: 0 auto;
  154. border: 1px solid #D6D6D6;
  155. border-radius: 6px;
  156. width: 1130px;
  157. border-collapse: collapse;
  158. font-weight: 400;
  159. }
  160. th{
  161. color: #FFFFFF;
  162. background: #3762FC;
  163. }
  164. tr {
  165. min-height:26px;
  166. }
  167. th,
  168. td {
  169. border: 1px solid #D6D6D6;
  170. text-align: center;
  171. padding: 2px 10px;
  172. word-wrap:break-word;
  173. word-break:break-all;
  174. }
  175. }
  176. .check{
  177. position:absolute;
  178. left:0px;
  179. font-size:20px;
  180. }
  181. .checks{
  182. position:absolute;
  183. left:-27px;
  184. font-size:20px;
  185. }
  186. /deep/.ant-radio-inner::after ,/deep/.ant-checkbox-checked .ant-checkbox-inner{
  187. background-color:#fff;
  188. border-radius: 0;
  189. }
  190. </style>