refund_replenish.vue 50 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262
  1. <template>
  2. <div>
  3. <div class="sty">
  4. <el-page-header content="补充资料" @back="goBack" />
  5. </div>
  6. <el-divider />
  7. <h3>工程项目信息</h3>
  8. <el-divider />
  9. <div class="diy-table-1">
  10. <el-row :gutter="0">
  11. <el-col :xs="12" :sm="24" :lg="8" class="item">
  12. <div class="label">
  13. {{ detailList.enginOrderType == 'HOME' ? '工程登录编号' : '工程信息编号' }}
  14. </div>
  15. <div class="value">
  16. <CopyButton :copy-text="detailList.refEnginRecordNo" />
  17. {{ detailList.refEnginRecordNo }}
  18. </div>
  19. </el-col>
  20. <!-- <el-col :xs="12" :sm="24" :lg="8" class="item">
  21. <div class="label">工程信息编号</div>
  22. <div class="value">{{ detailList.refEnginRecordNo }}</div>
  23. </el-col> -->
  24. <el-col :xs="12" :sm="24" :lg="8" class="item">
  25. <div class="label">项目类别</div>
  26. <div class="value">{{ detailList.refProjectCategory }}</div>
  27. </el-col>
  28. <el-col :xs="12" :sm="24" :lg="8" class="item">
  29. <div class="label">行业类别</div>
  30. <div class="value">
  31. {{ detailList.refTradeCategory }}
  32. </div>
  33. </el-col>
  34. <el-col :xs="24" :sm="24" :lg="8" class="item">
  35. <div class="label">跨区厂编号</div>
  36. <div class="value">{{ detailList.refFactoryNo }}</div>
  37. </el-col>
  38. <el-col :xs="24" :sm="24" :lg="8" class="item">
  39. <div class="label">使用单位</div>
  40. <div class="value">{{ detailList.refUseUnit }}</div>
  41. </el-col>
  42. <!-- <el-col :xs="24" :sm="24" :lg="8" class="item">
  43. <div class="label">经销商二级代码</div>
  44. <div class="value">{{detailList.}}</div>
  45. </el-col> -->
  46. <el-col :xs="24" :sm="24" :lg="8" class="item">
  47. <div class="label">业务员</div>
  48. <div class="value">{{ detailList.serviceName }}</div>
  49. </el-col>
  50. <el-col :xs="24" :sm="24" :lg="8" class="item">
  51. <div class="label">联系人</div>
  52. <div class="value">{{ detailList.refLinkman }}</div>
  53. </el-col>
  54. <el-col :xs="24" :sm="24" :lg="8" class="item">
  55. <div class="label">固定电话</div>
  56. <div class="value">{{ detailList.refTel }}</div>
  57. </el-col>
  58. <el-col :xs="24" :sm="24" :lg="8" class="item">
  59. <div class="label">移动电话</div>
  60. <div class="value">{{ detailList.refPhone }}</div>
  61. </el-col>
  62. <!-- <el-col :xs="24" :sm="24" :lg="8" class="item">
  63. <div class="label">移动电话</div>
  64. <div class="value">
  65. <el-input
  66. :readonly="title == '详情'"
  67. placeholder="请输入"
  68. v-model="detailList.refPhone"
  69. ></el-input>
  70. </div>
  71. </el-col> -->
  72. <!-- <el-col :xs="24" :sm="24" :lg="8" class="item">
  73. <div class="label">押金比例</div>
  74. <div class="value">{{detailList.}}</div>
  75. </el-col> -->
  76. <el-col :xs="24" :sm="24" :lg="8" class="item">
  77. <div class="label">单据状态</div>
  78. <div class="value">
  79. {{
  80. detailList.examineStatus == 'SAVE'
  81. ? '保存'
  82. : detailList.examineStatus == 'WAIT'
  83. ? '待审核'
  84. : detailList.examineStatus == 'OK'
  85. ? '通过'
  86. : detailList.examineStatus == 'FAIL'
  87. ? '不通过'
  88. : '关闭'
  89. }}
  90. </div>
  91. </el-col>
  92. <el-col :xs="24" :sm="24" :lg="8" class="item">
  93. <div class="label">销售类型</div>
  94. <div class="value">{{ detailList.saleTypeName }}</div>
  95. </el-col>
  96. <!-- <el-col :xs="24" :sm="24" :lg="8" class="item">
  97. <div class="label">不扣押金</div>
  98. <div class="value">{{ detailList.customerName }}</div>
  99. </el-col> -->
  100. <el-col :xs="24" :sm="24" :lg="8" class="item">
  101. <div class="label">第几申报</div>
  102. <div class="value">{{ detailList.refDeclareNo }}</div>
  103. </el-col>
  104. <el-col :xs="24" :sm="24" :lg="8" class="item">
  105. <div class="label">项目类型</div>
  106. <div class="value">{{ detailList.refProjectType }}</div>
  107. </el-col>
  108. <el-col :xs="24" :sm="24" :lg="8" class="item">
  109. <div class="label">经销商编码</div>
  110. <div class="value">{{ detailList.customerNumber }}</div>
  111. </el-col>
  112. <el-col :xs="24" :sm="24" :lg="8" class="item">
  113. <div class="label">押金总额</div>
  114. <div class="value">{{ detailList.depositAmount }}</div>
  115. </el-col>
  116. <el-col :xs="24" :sm="24" :lg="8" class="item">
  117. <div class="label">安装时间</div>
  118. <div class="value">
  119. <el-date-picker v-model="detailList.installDate" prefix-icon="''" placeholder="请选择安装时间"
  120. :readonly="title == '详情'" class="selectStyle" type="datetime" default-time="00:00:00"
  121. value-format="yyyy-MM-dd HH:mm:ss" />
  122. </div>
  123. </el-col>
  124. <el-col :xs="24" :sm="24" :lg="16" class="item">
  125. <div class="label">安装地址</div>
  126. <div class="value">{{ detailList.refInstallAddress }}</div>
  127. </el-col>
  128. <!-- <el-col :xs="24" :sm="24" :lg="8" class="item">
  129. <div class="label">工程订单号</div>
  130. <div class="value">{{ detailList.customerName }}</div>
  131. </el-col> -->
  132. <el-col :xs="24" :sm="24" :lg="16" class="item">
  133. <div class="label">经销商名称</div>
  134. <div class="value">{{ detailList.customerName }}</div>
  135. </el-col>
  136. <el-col :xs="24" :sm="24" :lg="16" class="item">
  137. <div class="label">项目说明</div>
  138. <div class="value">{{ detailList.refProjectNote }}</div>
  139. </el-col>
  140. <!-- <el-col :xs="24" :sm="24" :lg="8" class="item">
  141. <div class="label">订单日期</div>
  142. <div class="value">{{ detailList.customerName }}</div>
  143. </el-col> -->
  144. <!-- <el-col :xs="24" :sm="24" :lg="16" class="item">
  145. <div class="label">格力内部备注</div>
  146. <div class="value">{{ detailList.customerName }}</div>
  147. </el-col> -->
  148. <!-- <el-col :xs="24" :sm="24" :lg="8" class="item">
  149. <div class="label">文件编码</div>
  150. <div class="value">{{ detailList.customerName }}</div>
  151. </el-col> -->
  152. <el-col :xs="24" :sm="24" :lg="16" class="item">
  153. <div class="label">备注</div>
  154. <!-- <div class="value">{{ detailList.remark }}</div> -->
  155. <div class="value">
  156. <el-input v-model="detailList.remark" :readonly="detailList.examineStatus !== 'WAIT'" placeholder="请输入内容" />
  157. </div>
  158. </el-col>
  159. <el-col v-if="!isCustomer" :xs="24" :sm="24" :lg="16" class="item">
  160. <div class="label">格力内部备注</div>
  161. <!-- <div class="value">{{ detailList.geLiInerNote}}</div> -->
  162. <div class="value">
  163. <el-input v-model="detailList.geLiInerNote" :readonly="detailList.examineStatus !== 'WAIT'"
  164. placeholder="请输入内容" />
  165. </div>
  166. </el-col>
  167. <el-col :xs="24" :sm="24" :lg="8" class="item">
  168. <div class="label">提交保证函</div>
  169. <!-- <div class="value">{{ detailList.remark }}</div> -->
  170. <div class="value">
  171. <el-input v-model="detailList.refPromiseProvide" readonly />
  172. </div>
  173. </el-col>
  174. <el-col :xs="24" :sm="24" :lg="8" class="item">
  175. <div class="label">跟进函备注</div>
  176. <!-- <div class="value">{{ detailList.remark }}</div> -->
  177. <div class="value">
  178. <el-input v-model="detailList.refFollowAcceptRemark" readonly />
  179. </div>
  180. </el-col>
  181. <el-col :xs="24" :sm="24" :lg="8" class="item">
  182. <div class="label">资料提交日期</div>
  183. <div class="value">{{ detailList.refDatumProvideDate }}</div>
  184. <!-- <div class="value">
  185. <el-date-picker
  186. prefix-icon="''"
  187. placeholder="请选择安装时间"
  188. class="selectStyle"
  189. v-model="detailList.refDatumProvideDate"
  190. type="datetime"
  191. default-time="00:00:00"
  192. value-format="yyyy-MM-dd HH:mm:ss"
  193. >
  194. </el-date-picker>
  195. </div> -->
  196. </el-col>
  197. <el-col :xs="24" :sm="24" :lg="8" class="item">
  198. <div class="label">大额工程</div>
  199. <div class="value">{{ detailList.refIsBigAmounts }}</div>
  200. <!-- <div class="value">
  201. <el-select
  202. v-model="detailList.refIsBigAmounts"
  203. v
  204. clearable
  205. filterable
  206. >
  207. <el-option label="是" value="是"> </el-option>
  208. <el-option label="否" value="否"> </el-option>
  209. </el-select>
  210. </div> -->
  211. </el-col>
  212. <el-col :xs="24" :sm="24" :lg="8" class="item">
  213. <div class="label">合同变更批复结果</div>
  214. <!-- <div class="value">{{ detailList.remark }}</div> -->
  215. <div class="value">
  216. <el-input v-model="detailList.refContractResult" readonly />
  217. </div>
  218. </el-col>
  219. <el-col :xs="24" :sm="24" :lg="8" class="item">
  220. <div class="label">工程机转零售批复结果</div>
  221. <!-- <div class="value">{{ detailList.remark }}</div> -->
  222. <div class="value">
  223. <el-input v-model="detailList.refToRetailResult" readonly />
  224. </div>
  225. </el-col>
  226. <el-col :xs="24" :sm="24" :lg="8" class="item">
  227. <div class="label">资料延期批复结果</div>
  228. <!-- <div class="value">{{ detailList.remark }}</div> -->
  229. <div class="value">
  230. <el-input v-model="detailList.refDataDelayResult" readonly />
  231. </div>
  232. </el-col>
  233. <el-col :xs="24" :sm="24" :lg="8" class="item">
  234. <div class="label">其他附件批复结果</div>
  235. <!-- <div class="value">{{ detailList.remark }}</div> -->
  236. <div class="value">
  237. <el-input v-model="detailList.refOtherAnnexResult" readonly />
  238. </div>
  239. </el-col>
  240. <el-col :xs="24" :sm="24" :lg="8" class="item">
  241. <div class="label">保证函受理状态</div>
  242. <!-- <div class="value">{{ detailList.remark }}</div> -->
  243. <div class="value">
  244. <el-input v-model="detailList.refPromiseAcceptStatus" readonly />
  245. </div>
  246. </el-col>
  247. <el-col :xs="24" :sm="24" :lg="8" class="item">
  248. <div class="label">保证函备注</div>
  249. <!-- <div class="value">{{ detailList.remark }}</div> -->
  250. <div class="value">
  251. <el-input v-model="detailList.refPromisePriceRemark" readonly />
  252. </div>
  253. </el-col>
  254. <el-col :xs="24" :sm="24" :lg="8" class="item">
  255. <div class="label">附件备注</div>
  256. <!-- <div class="value">{{ detailList.remark }}</div> -->
  257. <div class="value">
  258. <el-input v-model="detailList.refFjShenPiRemark" readonly />
  259. </div>
  260. </el-col>
  261. <el-col :xs="24" :sm="24" :lg="8" class="item">
  262. <div class="label">资料状态</div>
  263. <!-- <div class="value">{{ detailList.remark }}</div> -->
  264. <div class="value">
  265. <el-input v-model="detailList.refDatumProvide" readonly />
  266. </div>
  267. </el-col>
  268. <el-col :xs="24" :sm="24" :lg="8" class="item">
  269. <div class="label">资料审核结果</div>
  270. <!-- <div class="value">{{ detailList.remark }}</div> -->
  271. <div class="value">
  272. <el-input v-model="detailList.refDatumAcceptStatus" readonly />
  273. </div>
  274. </el-col>
  275. <el-col :xs="24" :sm="24" :lg="8" class="item">
  276. <div class="label">合同变更批复意见</div>
  277. <!-- <div class="value">{{ detailList.remark }}</div> -->
  278. <div class="value">
  279. <el-input v-model="detailList.refContractIdea" readonly />
  280. </div>
  281. </el-col>
  282. <el-col :xs="24" :sm="24" :lg="8" class="item">
  283. <div class="label">工程机转零售批复意见</div>
  284. <!-- <div class="value">{{ detailList.remark }}</div> -->
  285. <div class="value">
  286. <el-input v-model="detailList.refToRetailIdea" readonly />
  287. </div>
  288. </el-col>
  289. <el-col :xs="24" :sm="24" :lg="8" class="item">
  290. <div class="label">资料延期批复意见</div>
  291. <!-- <div class="value">{{ detailList.remark }}</div> -->
  292. <div class="value">
  293. <el-input v-model="detailList.refDataDelayIdea" readonly />
  294. </div>
  295. </el-col>
  296. <el-col :xs="24" :sm="24" :lg="8" class="item">
  297. <div class="label">其他附件审批</div>
  298. <!-- <div class="value">{{ detailList.remark }}</div> -->
  299. <div class="value">
  300. <el-input v-model="detailList.refOtherAnnexIdea" readonly />
  301. </div>
  302. </el-col>
  303. <el-col :xs="24" :sm="24" :lg="8" class="item">
  304. <div class="label">资料审核日期</div>
  305. <div class="value">{{ detailList.refDatumAcceptDate }}</div>
  306. <!-- <div class="value">
  307. <el-date-picker
  308. readonly
  309. prefix-icon="''"
  310. placeholder="请选择安装时间"
  311. class="selectStyle"
  312. v-model="detailList.refDatumAcceptDate"
  313. type="datetime"
  314. default-time="00:00:00"
  315. value-format="yyyy-MM-dd HH:mm:ss"
  316. >
  317. </el-date-picker>
  318. </div> -->
  319. </el-col>
  320. <!-- <el-col :xs="24" :sm="24" :lg="8" class="item">
  321. <div class="label">寄厂日期</div>
  322. <div class="value">
  323. <el-date-picker
  324. :readonly="title == '详情'"
  325. class="selectStyle"
  326. v-model="detailList.sendFactoryDate"
  327. type="datetime"
  328. prefix-icon="''"
  329. placeholder="请选择寄厂日期"
  330. default-time="00:00:00"
  331. value-format="yyyy-MM-dd HH:mm:ss"
  332. >
  333. </el-date-picker>
  334. </div>
  335. </el-col> -->
  336. <!-- <el-col :xs="24" :sm="24" :lg="8" class="item">
  337. <div class="label">提货日期</div>
  338. <div class="value">{{detailList.}}</div>
  339. </el-col> -->
  340. </el-row>
  341. </div>
  342. <h3>货品信息</h3>
  343. <el-divider />
  344. <!-- 列表 -->
  345. <div class="mymain-container">
  346. <div class="table">
  347. <div class="table">
  348. <el-table v-loading="listLoading" :data="detailList.items" element-loading-text="Loading" border fit
  349. highlight-current-row stripe show-summary :summary-method="$getSummaries">
  350. <template v-if="!isCustomer">
  351. <el-table-column align="left" label="厂编号" prop="factoryNo" min-width="160" show-overflow-tooltip>
  352. <template slot-scope="scope">
  353. <CopyButton :copy-text="scope.row.factoryNo" />
  354. <span>{{ scope.row.factoryNo }}</span>
  355. </template>
  356. </el-table-column>
  357. <el-table-column align="left" label="物料编码" prop="materialNumber" min-width="130" show-overflow-tooltip>
  358. <template slot-scope="scope">
  359. <CopyButton :copy-text="scope.row.materialNumber" />
  360. <span>{{ scope.row.materialNumber }}</span>
  361. </template>
  362. </el-table-column>
  363. </template>
  364. <el-table-column align="left" label="产品编码" prop="materialOldNumber" min-width="130" show-overflow-tooltip>
  365. <template slot-scope="scope">
  366. <CopyButton :copy-text="scope.row.materialOldNumber" />
  367. <span>{{ scope.row.materialOldNumber }}</span>
  368. </template>
  369. </el-table-column>
  370. <el-table-column align="left" label="产品名称" prop="materialName" min-width="160" show-overflow-tooltip>
  371. <template slot-scope="scope">
  372. <CopyButton :copy-text="scope.row.materialName" />
  373. <span>{{ scope.row.materialName }}</span>
  374. </template>
  375. </el-table-column>
  376. <el-table-column align="left" label="规格型号" prop="specification" min-width="300" show-overflow-tooltip>
  377. <template slot-scope="scope">
  378. <CopyButton :copy-text="scope.row.specification" />
  379. <span>{{ scope.row.specification }}</span>
  380. </template>
  381. </el-table-column>
  382. <el-table-column align="left" label="实装规格型号" prop="realSpecification" min-width="300" show-overflow-tooltip>
  383. <template slot-scope="scope">
  384. <div :style="scope.row.realSpecification != scope.row.specification ? { color: 'blue' } : ''">
  385. {{ scope.row.realSpecification }}
  386. </div>
  387. </template>
  388. </el-table-column>
  389. <el-table-column align="left" label="实装物料编号" prop="realMaterialNumber" min-width="150"
  390. show-overflow-tooltip>
  391. <template slot-scope="scope">
  392. <div :style="scope.row.realMaterialNumber != scope.row.materialNumber ? { color: 'blue' } : ''">
  393. {{ scope.row.realMaterialNumber }}
  394. </div>
  395. </template>
  396. </el-table-column>
  397. <el-table-column align="left" label="实装厂产品编码" prop="realMaterialOldNumber" min-width="200"
  398. show-overflow-tooltip>
  399. <template slot-scope="scope">
  400. <div :style="scope.row.realMaterialOldNumber != scope.row.materialOldNumber ? { color: 'blue' } : ''">
  401. {{ scope.row.realMaterialOldNumber }}
  402. </div>
  403. </template>
  404. </el-table-column>
  405. <el-table-column align="right" label="单价" prop="price" min-width="160" show-overflow-tooltip>
  406. <template slot-scope="scope">
  407. {{ scope.row.price | numToFixed }}
  408. </template>
  409. </el-table-column>
  410. <el-table-column align="right" label="数量" prop="qty" min-width="160" show-overflow-tooltip />
  411. <el-table-column align="right" label="金额" prop="totalAmount" min-width="160" show-overflow-tooltip>
  412. <template slot-scope="scope">
  413. {{ scope.row.totalAmount | numToFixed }}
  414. </template>
  415. </el-table-column>
  416. <el-table-column align="right" label="押金数量" prop="hasSendQty" min-width="160" show-overflow-tooltip />
  417. <el-table-column align="right" label="发货数量" prop="orderHasSendQty" min-width="160" show-overflow-tooltip />
  418. <el-table-column align="right" label="押金金额" prop="depositAmount" min-width="160" show-overflow-tooltip>
  419. <template slot-scope="scope">
  420. {{ scope.row.depositAmount | numToFixed }}
  421. </template>
  422. </el-table-column>
  423. <el-table-column align="right" label="合同数量" prop="contractQty" min-width="160" show-overflow-tooltip>
  424. <template slot-scope="scope">
  425. <el-input v-if="title !== '详情'" v-model.number="scope.row.contractQty" class="inpt" size="mini"
  426. clearable />
  427. <div v-else>
  428. {{ scope.row.contractQty }}
  429. </div>
  430. </template>
  431. </el-table-column>
  432. <el-table-column align="right" label="合同单价" prop="contractPrice" min-width="160" show-overflow-tooltip>
  433. <template slot-scope="scope">
  434. <el-input v-if="title !== '详情'" v-model.number="scope.row.contractPrice" class="inpt" size="mini"
  435. clearable />
  436. <div v-else>
  437. {{ scope.row.contractPrice }}
  438. </div>
  439. </template>
  440. </el-table-column>
  441. <el-table-column align="right" label="合同金额" prop="contractAmount" min-width="160" show-overflow-tooltip>
  442. <template slot-scope="scope">
  443. <div>
  444. {{ comTotal(scope.row.contractQty, scope.row.contractPrice) }}
  445. </div>
  446. </template>
  447. </el-table-column>
  448. <el-table-column align="right" label="上交资料" prop="dataQty" min-width="160" show-overflow-tooltip>
  449. <template slot-scope="scope">
  450. <el-input v-if="title !== '详情'" v-model.number.trim="scope.row.dataQty" class="inpt" size="mini"
  451. @blur="setDataQty($event, scope.row)" />
  452. <div v-else>
  453. {{ scope.row.dataQty }}
  454. </div>
  455. </template>
  456. </el-table-column>
  457. <el-table-column align="right" label="收差金额" prop="diffAmount" min-width="160" show-overflow-tooltip>
  458. <template slot-scope="scope">
  459. {{ scope.row.diffAmount | numToFixed }}
  460. </template>
  461. </el-table-column>
  462. <el-table-column align="right" label="收差政策价格" prop="diffPolicyPrice" min-width="200" show-overflow-tooltip>
  463. <template slot-scope="scope">
  464. {{ scope.row.diffPolicyPrice | numToFixed }}
  465. </template>
  466. </el-table-column>
  467. </el-table>
  468. </div>
  469. </div>
  470. </div>
  471. <h3 class="gdzl">工程资料</h3>
  472. <!-- <el-button :readonly="isDis" class="batchDownload" type="primary" size="small" @click="batchDownloadFn"-->
  473. <!-- >批量下载</el-button-->
  474. <!-- >-->
  475. <el-divider />
  476. <!-- 列表 -->
  477. <div class="mymain-container">
  478. <div class="table">
  479. <el-table v-loading="listLoading" :data="original" element-loading-text="Loading" border fit
  480. highlight-current-row stripe>
  481. <el-table-column align="left" label="资料描述" prop="dataDescribe" min-width="160" show-overflow-tooltip />
  482. <el-table-column align="left" label="原文件名" prop="fileName" min-width="160" show-overflow-tooltip />
  483. <el-table-column align="left" label="缩略图" prop="fileUrl" min-width="160" show-overflow-tooltip>
  484. <template slot-scope="scope">
  485. <el-image v-if="checkFileType(scope.row.fileUrl) == 'image'" ref="img" :src="imageURL + scope.row.fileUrl"
  486. style="width: 120px; height: 120px" fit="cover" :preview-src-list="[imageURL + scope.row.fileUrl]" />
  487. <img v-if="checkFileType(scope.row.fileUrl) == 'word'" class="file" src="@/assets/common/word.png" />
  488. <img v-if="checkFileType(scope.row.fileUrl) == 'excel'" class="file" src="@/assets/common/excel.png" />
  489. <img v-if="checkFileType(scope.row.fileUrl) == 'ppt'" class="file" src="@/assets/common/ppt.png" />
  490. <img v-if="checkFileType(scope.row.fileUrl) == 'pdf'" class="file" src="@/assets/common/pdf.png" />
  491. <img v-if="checkFileType(scope.row.fileUrl) == 'file'" class="file aaa" src="@/assets/common/zip.jpeg" />
  492. </template>
  493. </el-table-column>
  494. <el-table-column align="left" label="下载文件名称" prop="fileName" min-width="160" show-overflow-tooltip>
  495. <template slot-scope="scope">
  496. {{ '资料_' + scope.row.fileName }}
  497. </template>
  498. </el-table-column>
  499. <el-table-column align="center" label="操作" min-width="160" show-overflow-tooltip>
  500. <template slot-scope="scope">
  501. <el-button type="text" class="textColor"
  502. @click="downLoadFn(scope.row.fileUrl, scope.row.fileName)">下载</el-button>
  503. </template>
  504. </el-table-column>
  505. </el-table>
  506. </div>
  507. </div>
  508. <el-divider />
  509. <div class="diy-table-1">
  510. <el-row :gutter="0">
  511. <el-col :xs="12" :sm="12" :lg="12" class="item">
  512. <div class="label">申请人</div>
  513. <div class="value">
  514. <div class="flex">
  515. <div>
  516. {{ detailList.submitName }}
  517. </div>
  518. <el-button :readonly="isDis" type="primary" size="mini" @click="batchDownloadFn">批量下载</el-button>
  519. </div>
  520. </div>
  521. </el-col>
  522. <el-col :xs="12" :sm="12" :lg="12" class="item">
  523. <div class="label">申请日期</div>
  524. <div class="value">{{ detailList.submitTime }}</div>
  525. </el-col>
  526. <el-col :xs="12" :sm="24" :lg="24" class="item">
  527. <div class="label">申请退押金</div>
  528. <div class="value">{{ detailList.applyNote }}</div>
  529. </el-col>
  530. </el-row>
  531. </div>
  532. <h3>记录</h3>
  533. <el-divider />
  534. <!-- 列表 -->
  535. <div class="mymain-container">
  536. <div class="table">
  537. <el-table v-loading="listLoading" :data="detailList.checkRecordItems" element-loading-text="Loading" border fit
  538. highlight-current-row stripe>
  539. <el-table-column align="left" label="申请人" prop="submitName" min-width="160" show-overflow-tooltip />
  540. <el-table-column align="left" label="申请日期" prop="submitTime" min-width="160" show-overflow-tooltip />
  541. <el-table-column align="left" label="申请说明" prop="applyNote" min-width="160" show-overflow-tooltip />
  542. <el-table-column align="left" label="验收人" prop="checkName" min-width="160" show-overflow-tooltip />
  543. <el-table-column align="left" label="受理日期" prop="checkDate" min-width="160" show-overflow-tooltip />
  544. <el-table-column align="left" label="验收说明" prop="checkNote" min-width="160" show-overflow-tooltip />
  545. <el-table-column align="left" label="审批结果" prop="isRefundDeposit" min-width="160" show-overflow-tooltip>
  546. <template slot-scope="scope">
  547. {{ scope.row.isRefundDeposit == false ? '否' : '是' }}
  548. </template>
  549. </el-table-column>
  550. </el-table>
  551. </div>
  552. </div>
  553. <h3 v-if="
  554. detailList.examineStatus == 'WAIT' || detailList.examineStatus == 'FAIL' || detailList.examineStatus == 'OK'
  555. ">
  556. 审批
  557. </h3>
  558. <el-divider v-if="
  559. detailList.examineStatus == 'WAIT' || detailList.examineStatus == 'FAIL' || detailList.examineStatus == 'OK'
  560. " />
  561. <div v-if="detailList.examineStatus == 'WAIT'" class="diy-table-1">
  562. <el-row :gutter="0">
  563. <el-col :xs="12" :sm="12" :lg="12" class="item">
  564. <div class="label">验收人</div>
  565. <div class="value">{{ this.checkBy }}</div>
  566. </el-col>
  567. <el-col :xs="12" :sm="12" :lg="12" class="item dateS">
  568. <div class="label">受理日期</div>
  569. <div class="value">
  570. <el-date-picker readonly prefix-icon="''" class="selectStyle" type="datetime" placeholder="系统自动生成"
  571. default-time="00:00:00" value-format="yyyy-MM-dd HH:mm:ss" />
  572. </div>
  573. </el-col>
  574. <el-col :xs="12" :sm="24" :lg="24" class="item">
  575. <div class="label">是否退押</div>
  576. <div class="value">
  577. <el-radio-group v-model="isRefundDeposit">
  578. <el-radio :label="true">是</el-radio>
  579. <el-radio :label="false">否</el-radio>
  580. </el-radio-group>
  581. </div>
  582. </el-col>
  583. <el-col :xs="12" :sm="24" :lg="24" class="item">
  584. <div class="label">验收说明</div>
  585. <div class="value">
  586. <el-input v-model="checkNote" placeholder="请输入内容" />
  587. </div>
  588. </el-col>
  589. </el-row>
  590. </div>
  591. <div v-if="detailList.examineStatus == 'OK' || detailList.examineStatus == 'FAIL'" class="diy-table-1">
  592. <el-row :gutter="0">
  593. <el-col :xs="12" :sm="12" :lg="12" class="item">
  594. <div class="label">验收人</div>
  595. <div class="value">{{ detailList.checkBy }}</div>
  596. </el-col>
  597. <el-col :xs="12" :sm="12" :lg="12" class="item dateS">
  598. <div class="label">受理日期</div>
  599. <div class="value">
  600. <el-date-picker v-model="detailList.checkDate" readonly prefix-icon="''" class="selectStyle" type="datetime"
  601. placeholder="" default-time="00:00:00" value-format="yyyy-MM-dd HH:mm:ss" />
  602. </div>
  603. </el-col>
  604. <el-col :xs="12" :sm="24" :lg="24" class="item">
  605. <div class="label">是否退押</div>
  606. <div class="value">
  607. <el-radio-group v-model="detailList.isRefundDeposit" disabled>
  608. <el-radio readonly :label="true">是</el-radio>
  609. <el-radio readonly :label="false">否</el-radio>
  610. </el-radio-group>
  611. </div>
  612. </el-col>
  613. <el-col :xs="12" :sm="24" :lg="24" class="item dateS">
  614. <div class="label">验收说明</div>
  615. <div class="value">
  616. <el-input v-model="detailList.checkNote" readonly placeholder="请输入内容" />
  617. </div>
  618. </el-col>
  619. <el-col :xs="12" :sm="24" :lg="24" class="item dateS">
  620. <div class="label">审批通过后备注</div>
  621. <div class="value">
  622. <el-input v-model="detailList.examineAfterRemark" readonly placeholder="请输入内容" />
  623. </div>
  624. </el-col>
  625. </el-row>
  626. </div>
  627. <div>
  628. <h3 class="gdzl">补充资料</h3>
  629. <el-divider />
  630. <!-- 列表 -->
  631. <div class="mymain-container">
  632. <div class="table">
  633. <el-table v-loading="listLoading" :data="amendData" element-loading-text="Loading" border fit
  634. highlight-current-row stripe>
  635. <el-table-column align="left" label="资料描述" prop="dataDescribe" min-width="160" show-overflow-tooltip />
  636. <el-table-column align="left" label="原文件名" prop="fileName" min-width="160" show-overflow-tooltip />
  637. <el-table-column align="left" label="缩略图" prop="fileUrl" min-width="160" show-overflow-tooltip>
  638. <template slot-scope="scope">
  639. <el-image v-if="checkFileType(scope.row.fileUrl) == 'image'" ref="img"
  640. :src="imageURL + scope.row.fileUrl" style="width: 120px; height: 120px" fit="cover"
  641. :preview-src-list="[imageURL + scope.row.fileUrl]" />
  642. <img v-if="checkFileType(scope.row.fileUrl) == 'word'" class="file" src="@/assets/common/word.png" />
  643. <img v-if="checkFileType(scope.row.fileUrl) == 'excel'" class="file" src="@/assets/common/excel.png" />
  644. <img v-if="checkFileType(scope.row.fileUrl) == 'ppt'" class="file" src="@/assets/common/ppt.png" />
  645. <img v-if="checkFileType(scope.row.fileUrl) == 'pdf'" class="file" src="@/assets/common/pdf.png" />
  646. <img v-if="checkFileType(scope.row.fileUrl) == 'file'" class="file aaa"
  647. src="@/assets/common/zip.jpeg" />
  648. </template>
  649. </el-table-column>
  650. <el-table-column align="left" label="下载文件名称" prop="fileName" min-width="160" show-overflow-tooltip>
  651. <template slot-scope="scope">
  652. {{ '资料_' + scope.row.fileName }}
  653. </template>
  654. </el-table-column>
  655. <el-table-column align="center" label="操作" min-width="160" show-overflow-tooltip>
  656. <template slot-scope="scope">
  657. <el-button type="text" class="textColor"
  658. @click="downLoadFn(scope.row.fileUrl, scope.row.fileName)">下载</el-button>
  659. </template>
  660. </el-table-column>
  661. </el-table>
  662. </div>
  663. <div class="diy-table-1">
  664. <el-row :gutter="0">
  665. <el-col :xs="12" :sm="12" :lg="12" class="item">
  666. <div class="label">
  667. 上传人
  668. </div>
  669. <div class="value">
  670. {{ detailList.amendBy }}
  671. </div>
  672. </el-col>
  673. <el-col :xs="12" :sm="12" :lg="12" class="item">
  674. <div class="label">
  675. 上传时间
  676. </div>
  677. <div class="value">
  678. {{ detailList.amendTime }}
  679. </div>
  680. </el-col>
  681. <el-col :xs="12" :sm="24" :lg="24" class="item">
  682. <div class="label">
  683. 补充说明
  684. </div>
  685. <div class="value">
  686. {{ detailList.amendRemark }}
  687. </div>
  688. </el-col>
  689. </el-row>
  690. </div>
  691. <div v-if="detailList.examineStatus == 'AMEND'">
  692. <h3 class="gdzl">审批</h3>
  693. <el-divider />
  694. <div class="diy-table-1">
  695. <el-row :gutter="0">
  696. <el-col :xs="12" :sm="12" :lg="12" class="item">
  697. <div class="label">
  698. 复核人
  699. </div>
  700. <div class="value">
  701. <el-input v-model="detailList.reviewBy" placeholder="请输入" />
  702. </div>
  703. </el-col>
  704. <el-col :xs="12" :sm="12" :lg="12" class="item">
  705. <div class="label">
  706. 复核时间
  707. </div>
  708. <div class="value">
  709. <el-date-picker v-model="detailList.reviewTime" class="dateStyle" type="datetime" placeholder="选择日期"
  710. default-time="00:00:00" value-format="yyyy-MM-dd HH:mm:ss" />
  711. </div>
  712. </el-col>
  713. <el-col :xs="12" :sm="24" :lg="24" class="item">
  714. <div class="label">
  715. 复核说明
  716. </div>
  717. <div class="value">
  718. <input v-model="detailList.reviewRemark" type="text" />
  719. </div>
  720. </el-col>
  721. </el-row>
  722. </div>
  723. </div>
  724. </div>
  725. </div>
  726. <div v-if="detailList.examineStatus == 'OK' || detailList.examineStatus == 'AMEND'">
  727. <div>
  728. <h3>上传资料</h3>
  729. <el-divider />
  730. <!-- 筛选条件 -->
  731. <div>
  732. <el-form ref="form" :model="detailList" label-width="100px" size="small" label-position="left">
  733. <el-row :gutter="20">
  734. <el-col :xs="24" :sm="12" :lg="24">
  735. <el-form-item label="工程验收资料" prop="">
  736. <imageUpload :file-list="fileList" :multiple="true" :start-restricting="true"
  737. :restrict-filename="restrictFilename" />
  738. </el-form-item>
  739. </el-col>
  740. <el-col :xs="24" :sm="12" :lg="6">
  741. <el-form-item label="上传人" prop="amendBy">
  742. <el-input v-model="detailList.amendBy" placeholder="请输入" />
  743. </el-form-item>
  744. </el-col>
  745. <el-col :xs="24" :sm="12" :lg="6">
  746. <el-form-item label="上传时间" prop="amendTime">
  747. <el-date-picker v-model="detailList.amendTime" class="dateStyle" type="datetime" placeholder="选择日期"
  748. default-time="00:00:00" value-format="yyyy-MM-dd HH:mm:ss" />
  749. </el-form-item>
  750. </el-col>
  751. <el-col :xs="24" :sm="12" :lg="18">
  752. <el-form-item label="补充说明" prop="amendRemark">
  753. <el-input v-model="detailList.amendRemark" type="textarea" placeholder="请输入" class="textareaStyle" />
  754. </el-form-item>
  755. </el-col>
  756. <el-col :xs="24" :sm="24" :lg="24">
  757. <el-form-item label="">
  758. <el-button type="primary" size="small" @click="replenishClick">保存</el-button>
  759. <el-button type="primary" size="small" @clikc="resetClick">重置</el-button>
  760. </el-form-item>
  761. </el-col>
  762. </el-row>
  763. </el-form>
  764. </div>
  765. </div>
  766. </div>
  767. <br />
  768. <!-- 按钮 -->
  769. <!-- detailList.examineStatus != 'OK' || detailList.examineStatus != 'FAIL' -->
  770. <div class="btn-group clearfix">
  771. <!-- <div class="fl">
  772. <el-button v-if="detailList.examineStatus == 'WAIT'" type="primary" size="small"
  773. @click="adoptFn">审批通过</el-button>
  774. <el-button v-if="detailList.examineStatus == 'WAIT'" type="primary" size="small"
  775. @click="rejectFn">审批驳回</el-button>
  776. <el-button v-if="detailList.examineStatus == 'OK'" type="primary" size="small" @click="saveFn">保存</el-button>
  777. </div> -->
  778. </div>
  779. </div>
  780. </template>
  781. <script>
  782. import imageUpload from '@/components/Common/image-upload.vue'
  783. import { downloadFiles, downloadPdf } from '@/utils/util'
  784. import { getFileUrl } from '@/api/common'
  785. import { mapGetters } from 'vuex'
  786. import {
  787. getDepositManageDetail,
  788. getDepositManageExamine,
  789. getDepositManageDownZip,
  790. getDepositManageEdit,
  791. getCommonFileGetStream,
  792. addAmendData
  793. } from '@/api/engin_deposit/refund_list'
  794. import { applyDeposit, computeDiff } from '@/api/engin_deposit.js'
  795. import ret from 'bluebird/js/release/util'
  796. export default {
  797. components: { imageUpload, },
  798. props: {
  799. detailId: {
  800. type: String,
  801. required: true
  802. }
  803. },
  804. computed: {
  805. ...mapGetters(['name']),
  806. comTotal() {
  807. return (qty, price) => {
  808. console.log(qty, price)
  809. return Number(qty) * Number(price)
  810. }
  811. }
  812. },
  813. data() {
  814. return {
  815. isCustomer: JSON.parse(localStorage.getItem('supply_user')).isCustomer,
  816. isDis: true,
  817. imageURL: this.$imageUrl,
  818. title: '审批',
  819. imageURL: this.$imageUrl,
  820. listLoading: false, // 列表加载loading
  821. dataList: [], // 列表数据
  822. detailList: {},
  823. checkBy: '',
  824. checkDate: '',
  825. isRefundDeposit: true,
  826. baseURL: '',
  827. fileList: [],
  828. checkNote: '',
  829. restrictFilename: ['结算单', '合同', '明细表', '审核表', '收据', '发票', '照片', '相片'],
  830. datTate: new Date(),
  831. amendData: [],
  832. original: []
  833. }
  834. },
  835. watch: {
  836. 'detailList.items': {
  837. handler(newValue, oldValue) {
  838. if (newValue && newValue.length) {
  839. newValue.forEach((item, index) => {
  840. item.contractAmount = Number(item.contractQty) * Number(item.contractPrice)
  841. })
  842. }
  843. this.detailList.items = newValue
  844. },
  845. immediate: true,
  846. deep: true
  847. }
  848. },
  849. created() {
  850. console.log(this.$imageUrl, 8888)
  851. this.checkBy = this.name
  852. this.getData({ id: this.detailId })
  853. },
  854. methods: {
  855. // 审批通过后可以编辑
  856. async saveFn() {
  857. console.log(this.detailList)
  858. await getDepositManageEdit(this.detailList)
  859. this.$message.success('保存成功')
  860. this.goBack()
  861. this.$emit('updateList')
  862. },
  863. // 批量下载
  864. async batchDownloadFn() {
  865. downloadFiles('deposit-manage/downZip', { parentId: this.detailId })
  866. },
  867. // 下载
  868. async downLoadFn(v, name) {
  869. // getCommonFileGetStream({ key: v, fileName: name }).then((res) => {
  870. // // window.open(res.data);
  871. // });
  872. // // window.open(this.imageURL + v);
  873. downloadFiles('common/file/getStream', { key: v, fileName: name })
  874. // await getCommonFileGetStream({ key: v, fileName: name });
  875. },
  876. // 检查文件类型
  877. checkFileType(url) {
  878. if (!url) return ''
  879. const fileSuffix = url.substring(url.lastIndexOf('.') + 1)
  880. if (['jpg', 'jpeg', 'png'].includes(fileSuffix)) {
  881. return 'image'
  882. } else if (['doc', 'docx', 'dot', 'wps', 'wpt'].includes(fileSuffix)) {
  883. return 'word'
  884. } else if (['xls', 'xlsx', 'xlt', 'et', 'ett'].includes(fileSuffix)) {
  885. return 'excel'
  886. } else if (['ppt', 'pptx', 'dps', 'dpt', 'pot', 'pps'].includes(fileSuffix)) {
  887. return 'ppt'
  888. } else if (['pdf'].includes(fileSuffix)) {
  889. return 'pdf'
  890. } else if (['zip', 'rar', 'gz', 'apk'].includes(fileSuffix)) {
  891. return 'file'
  892. } else {
  893. return ''
  894. }
  895. },
  896. // 计算收差金额
  897. setDataQty(e, row) {
  898. // eslint-disable-next-line no-return-assign
  899. if (!row.dataQty) return (row.dataQty = 0)
  900. row.saleTypeId = this.detailList.saleTypeId
  901. computeDiff(row).then(res => {
  902. row.diffAmount = res.data.diffAmount
  903. row.diffPolicyPrice = res.data.diffPolicyPrice
  904. // this.$successMsg('已计算收差金额')
  905. })
  906. },
  907. // 审批驳回
  908. async rejectFn() {
  909. this.$confirm('此操作将驳回订单, 是否继续?', '提示', {
  910. confirmButtonText: '确定',
  911. cancelButtonText: '取消',
  912. type: 'warning'
  913. })
  914. .then(() => {
  915. if (this.isCustomer) {
  916. for (let i = 0; i < this.detailList.items.length; i++) {
  917. this.detailList.items[i].contractAmount =
  918. this.detailList.items[i].contractQty * this.detailList.items[i].contractPrice
  919. if (!this.detailList.items[i].contractAmount) {
  920. return this.$errorMsg('合同单价、合同数量不能为空')
  921. }
  922. }
  923. }
  924. // this.detailList.items.map(e=>{
  925. // e.contractAmount = e.contractQty * e.contractPrice
  926. // if (!e.contractAmount) {
  927. // return this.$errorMsg('合同单价、合同数量不能为空')
  928. // }
  929. // })
  930. const data = {
  931. ...this.detailList,
  932. checkBy: this.checkBy,
  933. // checkDate: this.checkDate,
  934. isRefundDeposit: this.isRefundDeposit,
  935. checkNote: this.checkNote,
  936. examineResult: 0
  937. }
  938. if (!this.detailList.items.every(e => e.dataQty)) {
  939. this.$confirm(`上交资料为0,是否继续提交`, '提示', {
  940. confirmButtonText: '确定',
  941. cancelButtonText: '取消',
  942. type: 'warning'
  943. })
  944. .then(() => {
  945. getDepositManageExamine(data)
  946. .then(res => {
  947. if (!res.data) {
  948. this.goBack()
  949. this.$emit('updateList')
  950. } else {
  951. this.$confirm('审批成功!是否跳转下一张待审批订单?', '提示', {
  952. confirmButtonText: '跳转',
  953. cancelButtonText: '取消',
  954. type: 'warning'
  955. })
  956. .then(() => {
  957. this.$successMsg('进入下一张待审批订单')
  958. this.detailList = res.data
  959. })
  960. .catch(() => {
  961. this.goBack()
  962. this.$emit('updateList')
  963. })
  964. }
  965. })
  966. .finally(res => { })
  967. })
  968. .catch(() => { })
  969. } else {
  970. getDepositManageExamine(data)
  971. .then(res => {
  972. if (!res.data) {
  973. this.goBack()
  974. this.$emit('updateList')
  975. } else {
  976. this.$confirm('审批成功!是否跳转下一张待审批订单?', '提示', {
  977. confirmButtonText: '跳转',
  978. cancelButtonText: '取消',
  979. type: 'warning'
  980. })
  981. .then(() => {
  982. this.$successMsg('进入下一张待审批订单')
  983. this.detailList = res.data
  984. })
  985. .catch(() => {
  986. this.goBack()
  987. this.$emit('updateList')
  988. })
  989. }
  990. })
  991. .finally(res => { })
  992. }
  993. })
  994. .catch(() => { })
  995. // if (!this.detailList.installDate) {
  996. // this.$message.error("请选择安装时间");
  997. // return;
  998. // }
  999. // let data = {
  1000. // ...this.detailList,
  1001. // checkBy: this.checkBy,
  1002. // // checkDate: this.checkDate,
  1003. // isRefundDeposit: this.isRefundDeposit,
  1004. // checkNote: this.checkNote,
  1005. // examineResult: 0,
  1006. // };
  1007. // await getDepositManageExamine(data);
  1008. // this.$message.success("审批驳回");
  1009. // this.goBack();
  1010. // this.$emit("updateList");
  1011. },
  1012. // 审批通过
  1013. async adoptFn() {
  1014. this.$confirm('此操作将审批订单, 是否继续?', '提示', {
  1015. confirmButtonText: '确定',
  1016. cancelButtonText: '取消',
  1017. type: 'warning'
  1018. })
  1019. .then(() => {
  1020. if (!this.detailList.installDate) {
  1021. this.$message.error('请选择安装时间')
  1022. return
  1023. }
  1024. if (this.isCustomer) {
  1025. for (let i = 0; i < this.detailList.items.length; i++) {
  1026. this.detailList.items[i].contractAmount =
  1027. this.detailList.items[i].contractQty * this.detailList.items[i].contractPrice
  1028. if (!this.detailList.items[i].contractAmount) {
  1029. return this.$errorMsg('合同单价、合同数量不能为空')
  1030. }
  1031. }
  1032. }
  1033. const data = {
  1034. ...this.detailList,
  1035. checkBy: this.checkBy,
  1036. // checkDate: this.checkDate,
  1037. isRefundDeposit: this.isRefundDeposit,
  1038. checkNote: this.checkNote,
  1039. examineResult: 1
  1040. }
  1041. if (!this.detailList.items.every(e => e.dataQty)) {
  1042. this.$confirm(`上交资料为0,是否继续提交`, '提示', {
  1043. confirmButtonText: '确定',
  1044. cancelButtonText: '取消',
  1045. type: 'warning'
  1046. })
  1047. .then(() => {
  1048. getDepositManageExamine(data)
  1049. .then(res => {
  1050. if (!res.data) {
  1051. this.goBack()
  1052. this.$emit('updateList')
  1053. } else {
  1054. this.$confirm('审批成功!是否跳转下一张待审批订单?', '提示', {
  1055. confirmButtonText: '跳转',
  1056. cancelButtonText: '取消',
  1057. type: 'warning'
  1058. })
  1059. .then(() => {
  1060. this.$successMsg('进入下一张待审批订单')
  1061. this.detailList = res.data
  1062. })
  1063. .catch(() => {
  1064. this.goBack()
  1065. this.$emit('updateList')
  1066. })
  1067. }
  1068. })
  1069. .finally(res => { })
  1070. })
  1071. .catch(() => { })
  1072. } else {
  1073. getDepositManageExamine(data)
  1074. .then(res => {
  1075. if (!res.data) {
  1076. this.goBack()
  1077. this.$emit('updateList')
  1078. } else {
  1079. this.$confirm('审批成功!是否跳转下一张待审批订单?', '提示', {
  1080. confirmButtonText: '跳转',
  1081. cancelButtonText: '取消',
  1082. type: 'warning'
  1083. })
  1084. .then(() => {
  1085. this.$successMsg('进入下一张待审批订单')
  1086. this.detailList = res.data
  1087. })
  1088. .catch(() => {
  1089. this.goBack()
  1090. this.$emit('updateList')
  1091. })
  1092. }
  1093. })
  1094. .finally(res => { })
  1095. }
  1096. })
  1097. .catch(() => { })
  1098. // if (!this.detailList.installDate) {
  1099. // this.$message.error("请选择安装时间");
  1100. // return;
  1101. // }
  1102. // let data = {
  1103. // ...this.detailList,
  1104. // checkBy: this.checkBy,
  1105. // // checkDate: this.checkDate,
  1106. // isRefundDeposit: this.isRefundDeposit,
  1107. // checkNote: this.checkNote,
  1108. // examineResult: 1,
  1109. // };
  1110. // await getDepositManageExamine(data);
  1111. // this.$message.success("审批通过");
  1112. // this.goBack();
  1113. // this.$emit("updateList");
  1114. },
  1115. async getData(data) {
  1116. const res = await getDepositManageDetail(data)
  1117. console.log(res)
  1118. if (res.data.dataList.length == 0) {
  1119. this.isDis = true
  1120. } else {
  1121. this.isDis = false
  1122. }
  1123. const arr = []
  1124. res.data.items.forEach(item => {
  1125. if (Number(item.qty) > 0) {
  1126. arr.push(item)
  1127. }
  1128. // item.number = (item.qty*100 - item.directTransferQty*100 - item.retiredQty*100) / 100;
  1129. item.sums1 = ['orderHasSendQty', 'dataQty', 'qty', 'hasSendQty', 'contractQty']
  1130. item.sums2 = [
  1131. 'totalAmount',
  1132. 'diffAmount',
  1133. 'price',
  1134. 'depositAmount',
  1135. 'contractPrice',
  1136. 'comTotal',
  1137. 'contractAmount'
  1138. ]
  1139. })
  1140. res.data.items = arr
  1141. this.amendData = res.data.dataList.filter(k => k.dataPosition == 'AMEND')
  1142. this.original = res.data.dataList.filter(k => k.dataPosition != 'AMEND')
  1143. this.detailList = res.data
  1144. if (res.data.examineStatus == 'SAVE' || res.data.examineStatus == 'OK' || res.data.examineStatus == 'FAIL') {
  1145. this.title = '详情'
  1146. }
  1147. },
  1148. goBack() {
  1149. this.$parent.showSurrender = 0
  1150. },
  1151. resetClick() {
  1152. this.detailList.amendName = ''
  1153. this.detailList.amendTime = ''
  1154. this.fileList = []
  1155. },
  1156. replenishClick() {
  1157. var arr = []
  1158. if (this.fileList.length) {
  1159. this.fileList.forEach(el => {
  1160. arr.push({
  1161. dataDescribe: el.name,
  1162. enginOrderNo: this.detailList.refEnginRecordNo,
  1163. fileName: el.name,
  1164. fileUrl: el.url,
  1165. dataPosition: 'AMEND'
  1166. })
  1167. })
  1168. } else {
  1169. this.$errorMsg('请补充资料')
  1170. return
  1171. }
  1172. addAmendData({
  1173. ...this.detailList,
  1174. dataList: arr
  1175. }).then(res => {
  1176. this.$successMsg('已提交')
  1177. this.goBack()
  1178. })
  1179. }
  1180. }
  1181. }
  1182. </script>
  1183. <style lang="scss" scoped>
  1184. .inpt {
  1185. ::v-deep .el-input__inner {
  1186. text-align: right;
  1187. }
  1188. }
  1189. .aaa {
  1190. height: 64px;
  1191. width: 64px;
  1192. }
  1193. .dateS {
  1194. .value {
  1195. padding: 0;
  1196. }
  1197. }
  1198. .batchDownload {
  1199. float: right;
  1200. margin-top: 9px;
  1201. }
  1202. .gdzl {
  1203. display: inline-block;
  1204. }
  1205. .dateStyle {
  1206. width: 100%;
  1207. }
  1208. .label {
  1209. width: 150px !important;
  1210. }
  1211. .selectStyle {
  1212. width: 100%;
  1213. }
  1214. .flex {
  1215. width: 100%;
  1216. display: flex;
  1217. justify-content: space-between;
  1218. align-items: center;
  1219. }
  1220. </style>