deposit_list-detail.vue 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506
  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. <template v-if="!(details.examineStatus =='WAIT' || details.examineStatus == 'SAVE' )">
  244. {{ details.isRefundDeposit == true ? "是" : "否" }}
  245. </template>
  246. </div>
  247. </el-col>
  248. <el-col :xs="12" :sm="12" :lg="12" class="item">
  249. <div class="label">审批结果</div>
  250. <div class="value">
  251. {{ details.examineResult == 0 ? "驳回" : "通过" }}
  252. </div>
  253. </el-col>
  254. <el-col :xs="24" :sm="24" :lg="24" class="item">
  255. <div class="label">验收说明</div>
  256. <div class="value">{{ details.checkNote }}</div>
  257. </el-col>
  258. </el-row>
  259. </div>
  260. <div style="margin: 20px 0">
  261. <el-button type="primary" size="small" @click="handleSvse"
  262. >保存</el-button
  263. >
  264. <el-button type="primary" size="small" @click="handleReset"
  265. >重置</el-button
  266. >
  267. </div>
  268. </div>
  269. <div v-show="engineering == '工程订单信息'">
  270. <h3>订单信息</h3>
  271. <el-divider></el-divider>
  272. <!-- 列表 -->
  273. <div class="mymain-container">
  274. <div class="table">
  275. <el-table
  276. v-loading="listLoading"
  277. :data="dataList"
  278. element-loading-text="Loading"
  279. border
  280. fit
  281. highlight-current-row
  282. stripe
  283. >
  284. <el-table-column
  285. align="center"
  286. label="工程订单号"
  287. prop="enginOrderNo"
  288. min-width="160"
  289. show-overflow-tooltip
  290. ></el-table-column>
  291. <el-table-column
  292. align="center"
  293. label="订单日期"
  294. prop="orderDate"
  295. min-width="160"
  296. show-overflow-tooltip
  297. ></el-table-column>
  298. <el-table-column
  299. align="center"
  300. label="产品名称"
  301. prop="materialName"
  302. min-width="160"
  303. show-overflow-tooltip
  304. ></el-table-column>
  305. <el-table-column
  306. align="center"
  307. label="规格型号"
  308. prop="specification"
  309. min-width="160"
  310. show-overflow-tooltip
  311. ></el-table-column>
  312. <el-table-column
  313. align="center"
  314. label="单价"
  315. prop="price"
  316. min-width="160"
  317. show-overflow-tooltip
  318. ></el-table-column>
  319. <el-table-column
  320. align="center"
  321. label="数量"
  322. prop="qty"
  323. min-width="160"
  324. show-overflow-tooltip
  325. ></el-table-column>
  326. <el-table-column
  327. align="center"
  328. label="押金金额"
  329. prop="totalDepositAmount"
  330. min-width="160"
  331. show-overflow-tooltip
  332. ></el-table-column>
  333. </el-table>
  334. </div>
  335. </div>
  336. </div>
  337. <div v-show="engineering == '工程发货信息'">
  338. <h3>发货单信息</h3>
  339. <el-divider></el-divider>
  340. <!-- 列表 -->
  341. <div class="mymain-container">
  342. <div class="table">
  343. <el-table
  344. v-loading="listLoading"
  345. :data="projectList"
  346. element-loading-text="Loading"
  347. border
  348. fit
  349. highlight-current-row
  350. stripe
  351. >
  352. <el-table-column
  353. align="center"
  354. label="发货单"
  355. prop="id"
  356. min-width="160"
  357. show-overflow-tooltip
  358. ></el-table-column>
  359. <el-table-column
  360. align="center"
  361. label="发货申请日期"
  362. prop="theTime"
  363. min-width="160"
  364. show-overflow-tooltip
  365. ></el-table-column>
  366. <el-table-column
  367. align="center"
  368. label="产品名称"
  369. prop="materialName"
  370. min-width="160"
  371. show-overflow-tooltip
  372. ></el-table-column>
  373. <el-table-column
  374. align="center"
  375. label="规格型号"
  376. prop="specification"
  377. min-width="160"
  378. show-overflow-tooltip
  379. ></el-table-column>
  380. <el-table-column
  381. align="center"
  382. label="单价"
  383. prop="price"
  384. min-width="160"
  385. show-overflow-tooltip
  386. ></el-table-column>
  387. <el-table-column
  388. align="center"
  389. label="数量"
  390. prop="qty"
  391. min-width="160"
  392. show-overflow-tooltip
  393. ></el-table-column>
  394. <el-table-column
  395. align="center"
  396. label="押金金额"
  397. prop="totalDepositAmount"
  398. min-width="160"
  399. show-overflow-tooltip
  400. >
  401. <template slot-scope="scope">
  402. {{
  403. (scope.row.refundableQty || 0) *
  404. (scope.row.singleDepositAmount || 0)
  405. }}
  406. </template>
  407. </el-table-column>
  408. </el-table>
  409. </div>
  410. </div>
  411. </div>
  412. </div>
  413. </template>
  414. <script>
  415. import {
  416. geDetail,
  417. geOrderInfo,
  418. editInfo,
  419. getListProject,
  420. } from "@/api/engin_deposit.js";
  421. export default {
  422. data() {
  423. return {
  424. listLoading: false,
  425. engineering: "工程押金信息",
  426. dataList: [],
  427. projectList: [],
  428. details: {},
  429. };
  430. },
  431. created() {
  432. this.getDetail();
  433. },
  434. methods: {
  435. getDetail() {
  436. if (this.engineering == "工程押金信息") {
  437. geDetail({ id: this.$parent.depositManageId }).then((res) => {
  438. this.details = res.data;
  439. });
  440. } else if (this.engineering == "工程订单信息") {
  441. geOrderInfo({ refEnginRecordNo: this.$parent.refEnginRecordNo }).then(
  442. (res) => {
  443. this.dataList = res.data;
  444. }
  445. );
  446. } else {
  447. getListProject({
  448. pageSize: -1,
  449. pageNum: 1,
  450. refEnginRecordNo: this.$parent.refEnginRecordNo,
  451. }).then((res) => {
  452. this.projectList = res.data.records;
  453. });
  454. }
  455. },
  456. goBack() {
  457. this.$parent.showPage = 1;
  458. },
  459. handleRadio(e) {
  460. this.getDetail();
  461. },
  462. handleSvse() {
  463. this.details.isRefundDeposit =
  464. this.details.isRefundDeposit == true ? true : false;
  465. editInfo(this.details).then((res) => {
  466. this.$successMsg("编辑成功");
  467. this.$parent.showPage = 1;
  468. });
  469. },
  470. handleReset() {
  471. this.$refs.form.resetFields();
  472. },
  473. },
  474. };
  475. </script>
  476. <style scoped lang="scss">
  477. ::v-deep .el-input__prefix {
  478. display: none;
  479. left: 65px !important;
  480. -webkit-transition: all 0.3s;
  481. transition: all 0.3s;
  482. }
  483. ::v-deep .el-date-editor.el-input {
  484. width: 100%;
  485. box-sizing: border-box;
  486. padding-left: 10px;
  487. }
  488. .diy-table-1 {
  489. ::v-deep .el-form-item {
  490. margin: 0;
  491. }
  492. }
  493. ::v-deep .el-input__suffix {
  494. right: -15px;
  495. -webkit-transition: all 0.3s;
  496. transition: all 0.3s;
  497. }
  498. </style>