DetailMaterialRegistration.vue 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393
  1. <template>
  2. <a-modal
  3. title="详情"
  4. width="55%"
  5. :closable="true"
  6. @cancel="close"
  7. @ok="handelOk"
  8. :visible="visible"
  9. >
  10. <a-card :bordered="false">
  11. <a-spin :spinning="confirmLoading">
  12. <a-form :model="formState" >
  13. <a-form-item label="编号" >
  14. {{formState.code}}
  15. </a-form-item>
  16. <a-form-item label="设备名称" >
  17. {{formState.name}}
  18. </a-form-item>
  19. <a-form-item label="型号" >
  20. {{formState.model}}
  21. </a-form-item>
  22. <a-form-item label="购买日期" >
  23. {{formState.buyTime}}
  24. </a-form-item>
  25. <a-form-item label="购买数量" >
  26. {{formState.buyNum}}
  27. </a-form-item>
  28. <a-form-item label="单位" >
  29. {{formState.unit}}
  30. </a-form-item>
  31. <a-form-item label="购买金额" >
  32. {{formState.amount}}
  33. </a-form-item>
  34. <a-form-item label="使用者" >
  35. {{formState.useId}}
  36. </a-form-item>
  37. <a-form-item label="状态" >
  38. {{formState.type}}
  39. </a-form-item>
  40. <a-form-item label="供货方" >
  41. {{formState.supply}}
  42. </a-form-item>
  43. <a-form-item label="备注" >
  44. {{formState.remarks}}
  45. </a-form-item>
  46. <a-form-item label="来源" >
  47. {{formState.source}}
  48. </a-form-item>
  49. </a-form>
  50. </a-spin>
  51. </a-card>
  52. <a-divider style="height: 1px; background-color: balck" />
  53. <a-card :bordered="false" >
  54. <div class="purchase-order-table" >
  55. <div >
  56. <h6 class="table-title" style="float: left">维修服务记录</h6>
  57. <a-button @click="addList" type="primary" style="float: right;position: relative;z-index: 11" >新增</a-button>
  58. </div>
  59. <a-table
  60. :columns="Columns"
  61. :data-source="List"
  62. bordered
  63. :pagination="false"
  64. >
  65. <span slot="headCode" slot-scope="text, record">
  66. <span v-if="record.state=='0'">{{record.headCode}}</span>
  67. <a-input v-else placeholder="请输入" v-model="record.headCode"/>
  68. </span>
  69. <span slot="infoDate" slot-scope="text, record">
  70. <span v-if="record.state=='0'">{{record.infoDate}}</span>
  71. <a-date-picker
  72. style="width: 100%"
  73. placeholder="请选择时间"
  74. v-model="record.infoDate"
  75. v-if="record.state=='1'"
  76. />
  77. </span>
  78. <span slot="items" slot-scope="text, record">
  79. <span v-if="record.state=='0'">{{record.items}}</span>
  80. <a-input v-else placeholder="请输入" v-model="record.items"/>
  81. </span>
  82. <span slot="cost" slot-scope="text, record">
  83. <span v-if="record.state=='0'">{{record.cost}}</span>
  84. <a-input v-else placeholder="请输入" v-model="record.cost"/>
  85. </span>
  86. <span slot="remarks" slot-scope="text, record">
  87. <span v-if="record.state=='0'">{{record.remarks}}</span>
  88. <a-input v-else placeholder="请输入" v-model="record.remarks"/>
  89. </span>
  90. <span slot="operation" slot-scope="text, record">
  91. <a @click="handleEdit(record)">编辑</a>
  92. <a-divider type="vertical" />
  93. <a @click="handleDetail(record)" style="color:red">删除</a>
  94. <a-divider type="vertical" v-if="record.state=='1'"/>
  95. <a @click="handleCl(record)" style="color:red" v-if="record.state=='1'">取消</a>
  96. </span>
  97. </a-table>
  98. </div>
  99. <div class="purchase-order-table" >
  100. <div>
  101. <h6 class="table-title" style="float: left">领用记录</h6>
  102. <a-button @click="addList1" type="primary" style="float: right;position: relative;z-index: 11" >新增</a-button>
  103. </div>
  104. <a-table
  105. :columns="Columns1"
  106. :data-source="List1"
  107. bordered
  108. :pagination="false"
  109. >
  110. <span slot="headCode" slot-scope="text, record">
  111. <span v-if="record.state=='0'">{{record.headCode}}</span>
  112. <a-input v-else placeholder="请输入" v-model="record.headCode"/>
  113. </span>
  114. <span slot="infoDate" slot-scope="text, record">
  115. <span v-if="record.state=='0'">{{record.infoDate}}</span>
  116. <a-date-picker
  117. style="width: 100%"
  118. placeholder="请选择时间"
  119. v-model="record.infoDate"
  120. v-if="record.state=='1'"
  121. />
  122. </span>
  123. <span slot="items" slot-scope="text, record">
  124. <span v-if="record.state=='0'">{{record.items}}</span>
  125. <a-input v-else placeholder="请输入" v-model="record.items"/>
  126. </span>
  127. <span slot="cost" slot-scope="text, record">
  128. <span v-if="record.state=='0'">{{record.cost}}</span>
  129. <a-date-picker
  130. style="width: 100%"
  131. placeholder="请选择时间"
  132. v-model="record.cost"
  133. v-if="record.state=='1'"
  134. />
  135. </span>
  136. <span slot="remarks" slot-scope="text, record">
  137. <span v-if="record.state=='0'">{{record.remarks}}</span>
  138. <a-input v-else placeholder="请输入" v-model="record.remarks"/>
  139. </span>
  140. <span slot="operation" slot-scope="text, record">
  141. <a @click="handleEdit(record)">编辑</a>
  142. <a-divider type="vertical" />
  143. <a @click="handleDetail(record)" style="color:red">删除</a>
  144. <a-divider type="vertical" v-if="record.state=='1'"/>
  145. <a @click="handleCl1(record)" style="color:red" v-if="record.state=='1'">取消</a>
  146. </span>
  147. </a-table>
  148. </div>
  149. </a-card>
  150. </a-modal>
  151. </template>
  152. <script>
  153. export default {
  154. name: 'DetailMaterialRegistration',
  155. mixins: [],
  156. computed: {},
  157. components: { },
  158. data() {
  159. return{
  160. visible:false,
  161. formState:{
  162. },
  163. confirmLoading: false,
  164. Columns:[
  165. {
  166. title: '主要信息编号',
  167. align: "center",
  168. dataIndex: 'headCode',
  169. width: 160,
  170. scopedSlots: { customRender: 'headCode' },
  171. },
  172. {
  173. title: '日期',
  174. align: "center",
  175. dataIndex: 'infoDate',
  176. width: 180,
  177. scopedSlots: { customRender: 'infoDate' },
  178. },
  179. {
  180. title: '维修项目',
  181. align: "center",
  182. dataIndex: 'items',
  183. width: 180,
  184. scopedSlots: { customRender: 'items' },
  185. },
  186. {
  187. title: '费用',
  188. align: "center",
  189. dataIndex: 'cost',
  190. width: 120,
  191. scopedSlots: { customRender: 'cost' },
  192. },
  193. {
  194. title: '备注',
  195. align: "center",
  196. dataIndex: 'remarks',
  197. width: 120,
  198. scopedSlots: { customRender: 'remarks' },
  199. },
  200. {
  201. title: '操作',
  202. align: "center",
  203. dataIndex: 'operation',
  204. scopedSlots: { customRender: 'operation' },
  205. width: 180
  206. },
  207. ],
  208. Columns1:[
  209. {
  210. title: '主要信息编号',
  211. align: "center",
  212. dataIndex: 'headCode',
  213. width: 160,
  214. scopedSlots: { customRender: 'headCode' },
  215. },
  216. {
  217. title: '领用日期',
  218. align: "center",
  219. dataIndex: 'infoDate',
  220. width: 180,
  221. scopedSlots: { customRender: 'infoDate' },
  222. },
  223. {
  224. title: '领用人',
  225. align: "center",
  226. dataIndex: 'items',
  227. width: 160,
  228. scopedSlots: { customRender: 'items' },
  229. },
  230. {
  231. title: '归还日期',
  232. align: "center",
  233. dataIndex: 'cost',
  234. width: 180,
  235. scopedSlots: { customRender: 'cost' },
  236. },
  237. {
  238. title: '备注',
  239. align: "center",
  240. dataIndex: 'remarks',
  241. width: 120,
  242. scopedSlots: { customRender: 'remarks' },
  243. },
  244. {
  245. title: '操作',
  246. align: "center",
  247. dataIndex: 'operation',
  248. scopedSlots: { customRender: 'operation' },
  249. width: 180
  250. },
  251. ],
  252. List:[],
  253. List1:[],
  254. }
  255. },
  256. // 接收父组件查询方法
  257. props: {
  258. },
  259. created() {
  260. this.getData()
  261. },
  262. mounted() {},
  263. methods: {
  264. close(){
  265. this.visible = false
  266. this.List =[]
  267. this.List1=[]
  268. },
  269. getData(){
  270. // this.List.push({
  271. // headCode:'1',
  272. // infoDate:'1',
  273. // items:'1',
  274. // cost:'1',
  275. // remarks:'1',
  276. // state:'0',
  277. // })
  278. // this.List1.push({
  279. // headCode:'1',
  280. // infoDate:'1',
  281. // items:'1',
  282. // cost:'1',
  283. // remarks:'1',
  284. // state:'0'
  285. // })
  286. },
  287. handleEdit(record){
  288. record.state = '1'
  289. record.default = 'edit'
  290. },
  291. addList(){
  292. var line ={
  293. headCode:'',
  294. infoDate:'',
  295. items:'',
  296. cost:'',
  297. remarks:'',
  298. state:'1',
  299. default:'add'
  300. }
  301. this.List.unshift(line)
  302. },
  303. addList1(){
  304. var line ={
  305. headCode:'',
  306. infoDate:'',
  307. items:'',
  308. cost:'',
  309. remarks:'',
  310. state:'1',
  311. default:'add'
  312. }
  313. this.List1.unshift(line)
  314. },
  315. handleCl(record){
  316. if(record.default == 'add'){
  317. this.List.shift()
  318. }else if(record.default == 'edit'){
  319. record.state ='0'
  320. }
  321. },
  322. handleCl1(record){
  323. if(record.default == 'add'){
  324. this.List1.shift()
  325. }else if(record.default == 'edit'){
  326. record.state ='0'
  327. }
  328. },
  329. handelOk(){
  330. }
  331. }
  332. }
  333. </script>
  334. <style lang="less" scoped>
  335. /deep/.ant-form{
  336. display: flex !important;
  337. width: 100%;
  338. flex-wrap: wrap;
  339. justify-content: center;
  340. }
  341. /deep/ .ant-form-item{
  342. display: flex;
  343. width: 24%;
  344. justify-content: center;
  345. }
  346. /deep/ .ant-form-item-label{
  347. width: 35%;
  348. }
  349. /deep/.ant-modal{
  350. background-color: red !important;
  351. }
  352. .table-title {
  353. margin: 0;
  354. border: 1px solid #e8e8e8;
  355. background-color: #f2f2f2;
  356. border-top-right-radius: 16px;
  357. border-bottom: none;
  358. font-size: 16px;
  359. width: 160px;
  360. height: 40px;
  361. line-height: 40px;
  362. text-align: center;
  363. }
  364. .purchase-order-table{
  365. margin-bottom: 10px;
  366. }
  367. /deep/ .ant-card-body{
  368. padding: 0px 32px !important;
  369. }
  370. /deep/ .ant-divider-horizontal{
  371. margin: 13px 0;
  372. }
  373. </style>