deposit_list-detail.vue 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501
  1. <template>
  2. <div>
  3. <div class="sty">
  4. <el-page-header @back="goBack" content="详情"> </el-page-header>
  5. </div>
  6. <el-divider></el-divider>
  7. <el-radio-group v-model="engineering" size="" @change="handleRadio">
  8. <el-radio-button label="工程押金信息"></el-radio-button>
  9. <el-radio-button label="工程订单信息"></el-radio-button>
  10. <el-radio-button label="工程发货信息"></el-radio-button>
  11. </el-radio-group>
  12. <br /><br />
  13. <div v-show="engineering == '工程押金信息'">
  14. <div class="diy-table-1">
  15. <el-form :model="details" ref="form">
  16. <el-row :gutter="0">
  17. <el-col :xs="12" :sm="8" :lg="8" class="item">
  18. <div class="label">工程登录编码</div>
  19. <div class="value">{{ details.refEnginRecordNo }}</div>
  20. </el-col>
  21. <el-col :xs="12" :sm="8" :lg="8" class="item">
  22. <div class="label">工程名称(项目名称)</div>
  23. <div class="value">{{ details.refProjectName }}</div>
  24. </el-col>
  25. <el-col :xs="12" :sm="8" :lg="8" class="item">
  26. <div class="label">工程编号</div>
  27. <div class="value">{{ details.refProjectNo }}</div>
  28. </el-col>
  29. <el-col :xs="24" :sm="24" :lg="8" class="item">
  30. <div class="label">经销商名称</div>
  31. <div class="value">{{ details.customerName }}</div>
  32. </el-col>
  33. <el-col :xs="24" :sm="24" :lg="8" class="item">
  34. <div class="label">经销商编码</div>
  35. <div class="value">{{ details.customerId }}</div>
  36. </el-col>
  37. <el-col :xs="24" :sm="24" :lg="8" class="item">
  38. <div class="label">工程登录类型</div>
  39. <div class="value">{{ details.refPromiseStatus }}</div>
  40. </el-col>
  41. <el-col :xs="24" :sm="24" :lg="8" class="item">
  42. <div class="label">联系人</div>
  43. <div class="value">{{ details.refLinkman }}</div>
  44. </el-col>
  45. <el-col :xs="24" :sm="24" :lg="8" class="item">
  46. <div class="label">固定电话</div>
  47. <div class="value">{{ details.refTel }}</div>
  48. </el-col>
  49. <el-col :xs="24" :sm="24" :lg="8" class="item">
  50. <div class="label">厂工程编码</div>
  51. <div class="value">
  52. <el-form-item prop="refFactoryNo">
  53. <el-input
  54. v-model="details.refFactoryNo"
  55. placeholder="厂工程编码"
  56. size="small"
  57. ></el-input>
  58. </el-form-item>
  59. </div>
  60. </el-col>
  61. <el-col :xs="24" :sm="24" :lg="8" class="item">
  62. <div class="label"></div>
  63. <div class="value"></div>
  64. </el-col>
  65. <el-col :xs="24" :sm="24" :lg="8" class="item">
  66. <div class="label">移动电话</div>
  67. <div class="value">{{ details.refPhone }}</div>
  68. </el-col>
  69. <el-col :xs="24" :sm="24" :lg="8" class="item">
  70. <div class="label">押金总额</div>
  71. <div class="value">{{ details.depositAmount }}</div>
  72. </el-col>
  73. <el-col :xs="24" :sm="24" :lg="8" class="item">
  74. <div class="label">工程差价总额</div>
  75. <div class="value">{{ details.depositDiffAmount }}</div>
  76. </el-col>
  77. <el-col :xs="24" :sm="24" :lg="8" class="item">
  78. <div class="label">使用单位</div>
  79. <div class="value">{{ details.refUseUnit }}</div>
  80. </el-col>
  81. <el-col :xs="24" :sm="24" :lg="8" class="item">
  82. <div class="label"></div>
  83. <div class="value"></div>
  84. </el-col>
  85. <el-col :xs="24" :sm="24" :lg="8" class="item">
  86. <div class="label">安装时间</div>
  87. <div class="value" style="padding: 0">
  88. <el-form-item prop="installDate">
  89. <el-date-picker
  90. v-model="details.installDate"
  91. type="datetime"
  92. placeholder="安装时间"
  93. default-time="00:00:00"
  94. value-format="yyyy-MM-dd HH:mm:ss"
  95. >
  96. </el-date-picker>
  97. </el-form-item>
  98. </div>
  99. </el-col>
  100. <el-col :xs="24" :sm="24" :lg="8" class="item">
  101. <div class="label">寄厂日期</div>
  102. <div class="value" style="padding: 0">
  103. <el-form-item prop="sendFactoryDate">
  104. <el-date-picker
  105. v-model="details.sendFactoryDate"
  106. type="datetime"
  107. placeholder="寄厂日期"
  108. default-time="00:00:00"
  109. value-format="yyyy-MM-dd HH:mm:ss"
  110. >
  111. </el-date-picker>
  112. </el-form-item>
  113. </div>
  114. </el-col>
  115. </el-row>
  116. </el-form>
  117. </div>
  118. <h3>货品信息</h3>
  119. <el-divider></el-divider>
  120. <!-- 列表 -->
  121. <div class="mymain-container">
  122. <div class="table">
  123. <el-table
  124. v-loading="listLoading"
  125. :data="details.items"
  126. element-loading-text="Loading"
  127. border
  128. fit
  129. highlight-current-row
  130. stripe
  131. >
  132. <el-table-column
  133. align="center"
  134. label="物料编码"
  135. prop="materialNumber"
  136. min-width="160"
  137. show-overflow-tooltip
  138. ></el-table-column>
  139. <el-table-column
  140. align="center"
  141. label="产品编码"
  142. prop="materialOldNumber"
  143. min-width="160"
  144. show-overflow-tooltip
  145. ></el-table-column>
  146. <el-table-column
  147. align="center"
  148. label="产品名称"
  149. prop="materialName"
  150. min-width="160"
  151. show-overflow-tooltip
  152. ></el-table-column>
  153. <el-table-column
  154. align="center"
  155. label="规格型号"
  156. prop="specification"
  157. min-width="160"
  158. show-overflow-tooltip
  159. ></el-table-column>
  160. <el-table-column
  161. align="center"
  162. label="单价"
  163. prop="price"
  164. min-width="160"
  165. show-overflow-tooltip
  166. ></el-table-column>
  167. <el-table-column
  168. align="center"
  169. label="数量"
  170. prop="qty"
  171. min-width="160"
  172. show-overflow-tooltip
  173. ></el-table-column>
  174. <el-table-column
  175. align="center"
  176. label="金额"
  177. prop="totalAmount"
  178. min-width="160"
  179. show-overflow-tooltip
  180. ></el-table-column>
  181. <el-table-column
  182. align="center"
  183. label="发货数量"
  184. prop="hasSendQty"
  185. min-width="160"
  186. show-overflow-tooltip
  187. ></el-table-column>
  188. <el-table-column
  189. align="center"
  190. label="押金金额"
  191. prop="depositAmount"
  192. min-width="160"
  193. show-overflow-tooltip
  194. ></el-table-column>
  195. <el-table-column
  196. align="center"
  197. label="上交资料"
  198. prop="dataQty"
  199. min-width="160"
  200. show-overflow-tooltip
  201. ></el-table-column>
  202. <el-table-column
  203. align="center"
  204. label="收差全额"
  205. prop="diffAmount"
  206. min-width="160"
  207. show-overflow-tooltip
  208. ></el-table-column>
  209. </el-table>
  210. </div>
  211. </div>
  212. <div class="diy-table-1">
  213. <el-row :gutter="0">
  214. <el-col :xs="12" :sm="12" :lg="12" class="item">
  215. <div class="label">申请人</div>
  216. <div class="value">{{ details.submitBy }}</div>
  217. </el-col>
  218. <el-col :xs="12" :sm="12" :lg="12" class="item">
  219. <div class="label">申请日期</div>
  220. <div class="value">{{ details.submitTime }}</div>
  221. </el-col>
  222. <el-col :xs="24" :sm="24" :lg="24" class="item">
  223. <div class="label">申请退押金</div>
  224. <div class="value">{{ details.applyNote }}</div>
  225. </el-col>
  226. </el-row>
  227. </div>
  228. <div style="margin-top: 25px">审批</div>
  229. <el-divider></el-divider>
  230. <div class="diy-table-1">
  231. <el-row :gutter="0">
  232. <el-col :xs="12" :sm="12" :lg="12" class="item">
  233. <div class="label">验收人</div>
  234. <div class="value">{{ details.checkBy }}</div>
  235. </el-col>
  236. <el-col :xs="12" :sm="12" :lg="12" class="item">
  237. <div class="label">验收日期</div>
  238. <div class="value">{{ details.checkDate }}</div>
  239. </el-col>
  240. <el-col :xs="12" :sm="12" :lg="12" class="item">
  241. <div class="label">是否退押</div>
  242. <div class="value">
  243. {{ details.isRefundDeposit == true ? "是" : "否" }}
  244. </div>
  245. </el-col>
  246. <el-col :xs="12" :sm="12" :lg="12" class="item">
  247. <div class="label">审批结果</div>
  248. <div class="value">
  249. {{ details.examineResult == 0 ? "驳回" : "通过" }}
  250. </div>
  251. </el-col>
  252. <el-col :xs="24" :sm="24" :lg="24" class="item">
  253. <div class="label">验收说明</div>
  254. <div class="value">{{ details.checkNote }}</div>
  255. </el-col>
  256. </el-row>
  257. </div>
  258. <div style="margin: 20px 0">
  259. <el-button type="primary" size="small" @click="handleSvse"
  260. >保存</el-button
  261. >
  262. <el-button type="primary" size="small" @click="handleReset"
  263. >重置</el-button
  264. >
  265. </div>
  266. </div>
  267. <div v-show="engineering == '工程订单信息'">
  268. <h3>订单信息</h3>
  269. <el-divider></el-divider>
  270. <!-- 列表 -->
  271. <div class="mymain-container">
  272. <div class="table">
  273. <el-table
  274. v-loading="listLoading"
  275. :data="dataList"
  276. element-loading-text="Loading"
  277. border
  278. fit
  279. highlight-current-row
  280. stripe
  281. >
  282. <el-table-column
  283. align="center"
  284. label="工程订单号"
  285. prop="enginOrderNo"
  286. min-width="160"
  287. show-overflow-tooltip
  288. ></el-table-column>
  289. <el-table-column
  290. align="center"
  291. label="订单日期"
  292. prop="orderDate"
  293. min-width="160"
  294. show-overflow-tooltip
  295. ></el-table-column>
  296. <el-table-column
  297. align="center"
  298. label="产品名称"
  299. prop="materialName"
  300. min-width="160"
  301. show-overflow-tooltip
  302. ></el-table-column>
  303. <el-table-column
  304. align="center"
  305. label="规格型号"
  306. prop="specification"
  307. min-width="160"
  308. show-overflow-tooltip
  309. ></el-table-column>
  310. <el-table-column
  311. align="center"
  312. label="单价"
  313. prop="price"
  314. min-width="160"
  315. show-overflow-tooltip
  316. ></el-table-column>
  317. <el-table-column
  318. align="center"
  319. label="数量"
  320. prop="qty"
  321. min-width="160"
  322. show-overflow-tooltip
  323. ></el-table-column>
  324. <el-table-column
  325. align="center"
  326. label="押金金额"
  327. prop="totalDepositAmount"
  328. min-width="160"
  329. show-overflow-tooltip
  330. ></el-table-column>
  331. </el-table>
  332. </div>
  333. </div>
  334. </div>
  335. <div v-show="engineering == '工程发货信息'">
  336. <h3>发货单信息</h3>
  337. <el-divider></el-divider>
  338. <!-- 列表 -->
  339. <div class="mymain-container">
  340. <div class="table">
  341. <el-table
  342. v-loading="listLoading"
  343. :data="projectList"
  344. element-loading-text="Loading"
  345. border
  346. fit
  347. highlight-current-row
  348. stripe
  349. >
  350. <el-table-column
  351. align="center"
  352. label="发货单"
  353. prop="id"
  354. min-width="160"
  355. show-overflow-tooltip
  356. ></el-table-column>
  357. <el-table-column
  358. align="center"
  359. label="发货申请日期"
  360. prop="theTime"
  361. min-width="160"
  362. show-overflow-tooltip
  363. ></el-table-column>
  364. <el-table-column
  365. align="center"
  366. label="产品名称"
  367. prop="materialName"
  368. min-width="160"
  369. show-overflow-tooltip
  370. ></el-table-column>
  371. <el-table-column
  372. align="center"
  373. label="规格型号"
  374. prop="specification"
  375. min-width="160"
  376. show-overflow-tooltip
  377. ></el-table-column>
  378. <el-table-column
  379. align="center"
  380. label="单价"
  381. prop="price"
  382. min-width="160"
  383. show-overflow-tooltip
  384. ></el-table-column>
  385. <el-table-column
  386. align="center"
  387. label="数量"
  388. prop="qty"
  389. min-width="160"
  390. show-overflow-tooltip
  391. ></el-table-column>
  392. <el-table-column
  393. align="center"
  394. label="押金金额"
  395. prop="totalDepositAmount"
  396. min-width="160"
  397. show-overflow-tooltip
  398. >
  399. <template slot-scope="scope">
  400. {{
  401. (scope.row.refundableQty || 0) *
  402. (scope.row.singleDepositAmount || 0)
  403. }}
  404. </template>
  405. </el-table-column>
  406. </el-table>
  407. </div>
  408. </div>
  409. </div>
  410. </div>
  411. </template>
  412. <script>
  413. import {
  414. geDetail,
  415. geOrderInfo,
  416. editInfo,
  417. getListProject,
  418. } from "@/api/engin_deposit.js";
  419. export default {
  420. data() {
  421. return {
  422. listLoading: false,
  423. engineering: "工程押金信息",
  424. dataList: [],
  425. projectList: [],
  426. details: {},
  427. };
  428. },
  429. created() {
  430. this.getDetail();
  431. },
  432. methods: {
  433. getDetail() {
  434. if (this.engineering == "工程押金信息") {
  435. geDetail({ id: this.$parent.depositManageId }).then((res) => {
  436. this.details = res.data;
  437. });
  438. } else if (this.engineering == "工程订单信息") {
  439. geOrderInfo({ refEnginRecordNo: this.$parent.refEnginRecordNo }).then(
  440. (res) => {
  441. this.dataList = res.data;
  442. }
  443. );
  444. } else {
  445. getListProject({
  446. pageSize: -1,
  447. pageNum: 1,
  448. refEnginRecordNo: this.$parent.refEnginRecordNo,
  449. }).then((res) => {
  450. this.projectList = res.data.records;
  451. });
  452. }
  453. },
  454. goBack() {
  455. this.$parent.showPage = 1;
  456. },
  457. handleRadio(e) {
  458. this.getDetail();
  459. },
  460. handleSvse() {
  461. this.details.isRefundDeposit =
  462. this.details.isRefundDeposit == true ? true : false;
  463. editInfo(this.details).then((res) => {
  464. this.$successMsg("编辑成功");
  465. this.$parent.showPage = 1;
  466. });
  467. },
  468. handleReset() {
  469. this.$refs.form.resetFields();
  470. },
  471. },
  472. };
  473. </script>
  474. <style scoped lang="scss">
  475. ::v-deep .el-input__prefix {
  476. display: none;
  477. left: 65px !important;
  478. -webkit-transition: all 0.3s;
  479. transition: all 0.3s;
  480. }
  481. ::v-deep .el-date-editor.el-input {
  482. width: 100%;
  483. box-sizing: border-box;
  484. padding-left: 10px;
  485. }
  486. .diy-table-1 {
  487. ::v-deep .el-form-item {
  488. margin: 0;
  489. }
  490. }
  491. ::v-deep .el-input__suffix {
  492. right: -15px;
  493. -webkit-transition: all 0.3s;
  494. transition: all 0.3s;
  495. }
  496. </style>