deposit_list-detail.vue 16 KB

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