fundClaim.vue 60 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418
  1. <template>
  2. <div class="app-container">
  3. <div class="title-container">
  4. <breadcrumb id="breadcrumb-container" class="breadcrumb-container" />
  5. </div>
  6. <y-page-list-layout :page-list="pageData" :page-para="listQuery" :get-page-list="getList">
  7. <template slot="left">
  8. <PermissionButton menu-code="_views_finance_real_fund_create" class-name="filter-item" type="success"
  9. icon="el-icon-circle-plus-outline" :page-jump="false" round style="float: left"
  10. @click="createdRealFundDialog = true" />
  11. <el-input v-model="listQuery.keyword" placeholder="关键字搜索..." clearable
  12. style="margin-left: 20px;width: 500px;float: left;">
  13. </el-input>
  14. <el-date-picker style="margin-left: 20px;float: left;" v-model="payDate" type="daterange" align="center"
  15. unlink-panels range-separator="至" start-placeholder="到账时日(开始)" end-placeholder="到账时日(结束)"
  16. :picker-options="pickerOptions" value-format="yyyy-MM-dd">
  17. </el-date-picker>
  18. <el-date-picker style="margin-left: 20px;float: left;" v-model="orderDate" type="daterange" align="center"
  19. unlink-panels range-separator="至" start-placeholder="录入时间(开始)" end-placeholder="录入时间(结束)"
  20. :picker-options="pickerOptions" value-format="yyyy-MM-dd">
  21. </el-date-picker>
  22. <el-button class="filter-item" style="margin-left: 10px;float: left;" type="primary" @click="searchList" round>搜索
  23. </el-button>
  24. <el-button class="filter-item" style="float: left;" round type="success" @click="resetSearch()">重置
  25. </el-button>
  26. </template>
  27. <parentTable :data="pageData.records" slot="table" style="width: 100%;">
  28. <el-table-column label="付款方" align="center" width='200'>
  29. <template slot-scope="{row}">
  30. <span>{{ row.payer }}</span>
  31. </template>
  32. </el-table-column>
  33. <el-table-column label="付款银行" align="center" width='130'>
  34. <template slot-scope="{row}">
  35. <span>{{ row.payerBank }}</span>
  36. </template>
  37. </el-table-column>
  38. <el-table-column label="付款金额(元)" align="center">
  39. <template slot-scope="{row}">
  40. <span>{{ row.amount }}</span>
  41. </template>
  42. </el-table-column>
  43. <el-table-column label="到账时日" align="center">
  44. <template slot-scope="{row}">
  45. <span>{{ row.payDatetime }}</span>
  46. </template>
  47. </el-table-column>
  48. <el-table-column label="已认领(元)" align="center">
  49. <template slot-scope="{row}">
  50. <span style="color:green">{{ row.claimAmount }}</span>
  51. </template>
  52. </el-table-column>
  53. <el-table-column label="未认领(元)" align="center">
  54. <template slot-scope="{row}">
  55. <span style="color:red">{{ row.notClaimAmount }}</span>
  56. </template>
  57. </el-table-column>
  58. <el-table-column label="录入人" align="center">
  59. <template slot-scope="{row}">
  60. <span>{{ row.creator }}</span>
  61. </template>
  62. </el-table-column>
  63. <el-table-column label="录入时间" align="center" width='160'>
  64. <template slot-scope="{row}">
  65. <span>{{ row.created }}</span>
  66. </template>
  67. </el-table-column>
  68. <el-table-column label="全部认领" align="center">
  69. <template slot-scope="{row}">
  70. <i v-if="row.notClaimAmount <= 0" style="font-size:20px; color:green" class="el-icon-success"></i>
  71. <i v-else style="font-size:20px; color:RGB(255,106,106)" class="el-icon-warning"></i>
  72. </template>
  73. </el-table-column>
  74. <el-table-column label="备注" align="center" width='170'>
  75. <template slot-scope="{row}">
  76. <span>{{ row.remark }}</span>
  77. </template>
  78. </el-table-column>
  79. <el-table-column label="认领" align="center" width="200" fixed="right">
  80. <template slot-scope="{row}">
  81. <el-tooltip effect="light" :disabled="!row.recommends.includes('MAJOR_BUSINESS')" class="item" content="推荐" placement="top-start">
  82. <el-button type="text" @click="claimMajor(row)" :style="row.recommends.includes('MAJOR_BUSINESS')?'color:red':''">大中型</el-button>
  83. </el-tooltip>
  84. <el-tooltip effect="light" :disabled="!row.recommends.includes('PERSONAL_BUSINESS')" class="item" content="推荐" placement="top-start">
  85. <el-button type="text" @click="claimPersonal(row)" :style="row.recommends.includes('PERSONAL_BUSINESS')?'color:red':''">个贷</el-button>
  86. </el-tooltip>
  87. <el-tooltip effect="light" :disabled="!row.recommends.includes('ASSET_BUSINESS')" class="item" content="推荐" placement="top-start">
  88. <el-button type="text" @click="claimAssets(row)" :style="row.recommends.includes('ASSET_BUSINESS')?'color:red':''">资产</el-button>
  89. </el-tooltip>
  90. </template>
  91. </el-table-column>
  92. </parentTable>
  93. </y-page-list-layout>
  94. <el-dialog :visible.sync="allotAmountDialog" width="45%" center custom-class="doWarehouseClass"
  95. @closed="cleanClaimDTO">
  96. <el-form v-model="claimOrders" ref="claimOrdersForm">
  97. <el-row>
  98. <el-col :xs="24" :sm="12" :lg="21" :span="6">
  99. <div style="font-size:20px;">
  100. <span>此笔实收款剩余:</span><span style="color:red;font-weight:bold">{{ notClaimAmount }}¥</span>
  101. </div>
  102. </el-col>
  103. <el-col :xs="24" :sm="12" :lg="3" :span="6">
  104. <el-button style="float:right" type="success" @click="doClaimMajorToOrder()">确认认领</el-button>
  105. </el-col>
  106. </el-row>
  107. <el-card style="margin-top:20px" v-for="(p, id) in claimOrders" shadow="hover">
  108. <div slot="header" class="clearfix">
  109. <el-row>
  110. <el-col :xs="24" :sm="12" :lg="24" :span="6">
  111. <el-form-item label="订单名称" prop="orderName" label-width="140px" class="postInfo-container-item">
  112. <el-input :value="p.orderName" type="text" class="filter-item" disabled readonly />
  113. </el-form-item>
  114. </el-col>
  115. </el-row>
  116. <el-row>
  117. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  118. <span class="redPoint">*</span>
  119. <el-form-item label="本次认领金额:" prop="thisTimeAmount" label-width="140px" class="postInfo-container-item">
  120. <el-input-number :precision="2" :min="0" :value-on-clear="0" v-model.number="p.thisTimeAmount"
  121. style="width:100%" class="filter-item" />
  122. </el-form-item>
  123. </el-col>
  124. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  125. <el-form-item label="订单号" prop="orderId" label-width="140px" class="postInfo-container-item">
  126. <el-input :value="p.orderId" type="text" class="filter-item" disabled readonly />
  127. </el-form-item>
  128. </el-col>
  129. </el-row>
  130. <el-row>
  131. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  132. <el-form-item label="已认领金额:" prop="realAmount" label-width="140px" class="postInfo-container-item">
  133. <el-input :value="p.realAmount" type="text" class="filter-item" disabled readonly>
  134. <template slot="append">元</template>
  135. </el-input>
  136. </el-form-item>
  137. </el-col>
  138. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  139. <el-form-item label="订单应收金额:" prop="shouldAmount" label-width="140px" class="postInfo-container-item">
  140. <el-input :value="p.shouldAmount" type="text" class="filter-item" disabled readonly>
  141. <template slot="append">元</template>
  142. </el-input>
  143. </el-form-item>
  144. </el-col>
  145. </el-row>
  146. </div>
  147. </el-card>
  148. </el-form>
  149. </el-dialog>
  150. <el-dialog :visible.sync="allotProdDialog" width="45%" center custom-class="doWarehouseClass" @closed="cleanClaimDTO">
  151. <el-form v-model="claimOrders" ref="claimOrdersForm">
  152. <el-row>
  153. <el-col :xs="24" :sm="12" :lg="21" :span="6">
  154. <div style="font-size:20px;">
  155. <span>此笔实收款剩余:</span><span style="color:red;font-weight:bold">{{ notClaimAmount }}¥</span>
  156. </div>
  157. </el-col>
  158. <el-col :xs="24" :sm="12" :lg="3" :span="6">
  159. <el-button style="float:right" type="success" @click="doClaimMajor()">确认认领</el-button>
  160. </el-col>
  161. </el-row>
  162. <el-card style="margin-top:20px" v-for="(p, id) in claimOrders" shadow="hover">
  163. <div slot="header" class="clearfix">
  164. <el-row>
  165. <el-col :xs="24" :sm="12" :lg="24" :span="6">
  166. <el-form-item label="项目名称" prop="name" label-width="140px" class="postInfo-container-item">
  167. <el-input :value="p.name" type="text" class="filter-item" disabled readonly />
  168. </el-form-item>
  169. </el-col>
  170. </el-row>
  171. <el-row>
  172. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  173. <span class="redPoint">*</span>
  174. <el-form-item label="本次认领金额:" prop="thisTimeAmount" label-width="140px" class="postInfo-container-item">
  175. <el-input-number :precision="2" :min="0" :value-on-clear="0" v-model.number="p.thisTimeAmount"
  176. style="width:100%" class="filter-item" />
  177. </el-form-item>
  178. </el-col>
  179. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  180. <el-form-item label="报告号" prop="reportNo" label-width="140px" class="postInfo-container-item">
  181. <el-input :value="p.reportNo" type="text" class="filter-item" disabled readonly />
  182. </el-form-item>
  183. </el-col>
  184. </el-row>
  185. <el-row>
  186. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  187. <el-form-item label="已认领金额:" prop="realAmount" label-width="140px" class="postInfo-container-item">
  188. <el-input :value="p.realAmount" type="text" class="filter-item" disabled readonly>
  189. <template slot="append">元</template>
  190. </el-input>
  191. </el-form-item>
  192. </el-col>
  193. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  194. <el-form-item label="应收金额:" prop="shouldAmount" label-width="140px" class="postInfo-container-item">
  195. <el-input :value="p.shouldAmount" type="text" class="filter-item" disabled readonly>
  196. <template slot="append">元</template>
  197. </el-input>
  198. </el-form-item>
  199. </el-col>
  200. </el-row>
  201. </div>
  202. </el-card>
  203. </el-form>
  204. </el-dialog>
  205. <el-dialog :visible.sync="myMajorOrderDialog" width="95%" center custom-class="doWarehouseClass" @closed="getList">
  206. <y-page-list-layout :page-list="myMajorPageData" :page-para="majorListQuery" :get-page-list="getMyMajor">
  207. <template slot="left">
  208. <el-switch style="width: 270px;float: left;margin-top: 5px;" v-model="toProd" active-color="#13ce66"
  209. inactive-color="#ff4949" active-text="认领到产品" inactive-text="认领到订单" disabled>
  210. </el-switch>
  211. <el-input v-model="majorListQuery.name" placeholder="订单/项目名称" clearable style="width: 270px;float: left;">
  212. </el-input>
  213. <el-input v-model="majorListQuery.orderId" placeholder="订单号" clearable
  214. style="margin-left: 20px;width: 200px;float: left;">
  215. </el-input>
  216. <el-input v-model="majorListQuery.reportNo" placeholder="产品编号" clearable
  217. style="margin-left: 20px;width: 200px;float: left;">
  218. </el-input>
  219. <el-select v-model="majorListQuery.eDeclareResult" placeholder="评估人员申报" clearable
  220. style="margin-left: 20px;width: 150px;float: left;">
  221. <el-option value="审核通过">审核通过</el-option>
  222. <el-option value="审核中">审核中</el-option>
  223. <el-option value="未申报">未申报</el-option>
  224. <el-option value="审核拒绝">审核拒绝</el-option>
  225. </el-select>
  226. <el-select v-model="majorListQuery.mDeclareResult" placeholder="市场人员申报" clearable
  227. style="margin-left: 20px;width: 150px;float: left;">
  228. <el-option value="审核通过">审核通过</el-option>
  229. <el-option value="审核中">审核中</el-option>
  230. <el-option value="未申报">未申报</el-option>
  231. <el-option value="审核拒绝">审核拒绝</el-option>
  232. </el-select>
  233. <el-button class="filter-item" style="margin-left: 10px;float: left;" type="primary"
  234. @click="getMajorOrderOrProd()" round>搜索
  235. </el-button>
  236. <el-button class="filter-item" style="float: left;" round type="success" @click="resetMajorOrderOrProd()">重置
  237. </el-button>
  238. <el-button style="float: left;" round type="danger" @click="openClaimDialog()">选择认领</el-button>
  239. </template>
  240. <parentTable v-show="!toProd" ref="order" :clickRowToPick="false" :data="myMajorPageData.records" slot="table"
  241. style="width: 100%; height: 50%;" :selectionChange="handleSelectionChange">
  242. <el-table-column align="center" type="selection" claimOrders width="100" border="true"
  243. :selectable="checkSelectable">
  244. </el-table-column>
  245. <el-table-column label="订单名称" align="center" show-overflow-tooltip>
  246. <template slot-scope="{row}">
  247. <span>{{ row.orderName }}</span>
  248. </template>
  249. </el-table-column>
  250. <el-table-column label="订单号" align="center" show-overflow-tooltip width='200'>
  251. <template slot-scope="{row}">
  252. <span>{{ row.orderId }}</span>
  253. </template>
  254. </el-table-column>
  255. <el-table-column label="委托人" align="center" show-overflow-tooltip width='100'>
  256. <template slot-scope="{row}">
  257. <span>{{ row.bailor }}</span>
  258. </template>
  259. </el-table-column>
  260. <el-table-column label="产权人" align="center" show-overflow-tooltip width='100'>
  261. <template slot-scope="{row}">
  262. <span>{{ row.owner }}</span>
  263. </template>
  264. </el-table-column>
  265. <el-table-column label="客户名称" align="center" width='120' show-overflow-tooltip>
  266. <template slot-scope="{row}">
  267. <span>{{ row.clienteleName }}</span>
  268. </template>
  269. </el-table-column>
  270. <el-table-column label="业务来源" align="center" width='120' show-overflow-tooltip>
  271. <template slot-scope="{row}">
  272. <span>{{ row.clienteleSubName }}</span>
  273. </template>
  274. </el-table-column>
  275. <el-table-column label="客户联系人" align="center" width='120' show-overflow-tooltip>
  276. <template slot-scope="{row}">
  277. <span>{{ row.clienteleContactName }}</span>
  278. </template>
  279. </el-table-column>
  280. <el-table-column label="应收款(¥)" align="center" width='120'>
  281. <template slot-scope="{row}">
  282. <span>{{ row.shouldAmount }}</span>
  283. </template>
  284. </el-table-column>
  285. <el-table-column label="实收款(¥)" align="center" width='120'>
  286. <template slot-scope="{row}">
  287. <span style="color:red;font-weight:bold">{{ row.realAmount==null? 0 : row.realAmount }}</span>
  288. </template>
  289. </el-table-column>
  290. <el-table-column align="center" width='140' label="市场人员申报提成">
  291. <template slot-scope="{row}">
  292. <el-tag :type="row.mdeclareResult ? (row.mdeclareResult === '审核通过' ? 'success' : 'info') : 'danger'">{{
  293. row.mdeclareResult ? row.mdeclareResult : '未申报' }}</el-tag>
  294. </template>
  295. </el-table-column>
  296. <el-table-column align="center" width='140' label="评估人员申报提成">
  297. <template slot-scope="{row}">
  298. <el-tag :type="row.edeclareResult ? (row.edeclareResult === '审核通过' ? 'success' : 'info') : 'danger'">{{
  299. row.edeclareResult ? row.edeclareResult : '未申报' }}</el-tag>
  300. </template>
  301. </el-table-column>
  302. </parentTable>
  303. <el-table v-show="toProd" ref="prod" :data="myMajorPageData.records" slot="table"
  304. :header-row-style="{ color: '#333333' }" style="
  305. border-left: 1px solid #ebeced;
  306. border-right: 1px solid #ebeced;
  307. color: #333333; font-size: 14px
  308. " @selection-change="handleSelectionChange" :rowClassName="tableRowClassName">
  309. <el-table-column align="center" type="selection" claimOrders border="true" :selectable="checkSelectable">
  310. </el-table-column>
  311. <el-table-column align="center" width='100'>
  312. <template slot-scope="{row}">
  313. <span style="color:red">
  314. {{ row.invoiceAmount === notClaimAmount ? '推荐匹配' : '' }}
  315. </span>
  316. </template>
  317. </el-table-column>
  318. <el-table-column label="金融类型" align="center" width='100'>
  319. <template slot-scope="{row}">
  320. <span>{{ row.financial == true ? '金融' : '非金融' }}</span>
  321. </template>
  322. </el-table-column>
  323. <el-table-column label="项目名称" align="center" show-overflow-tooltip>
  324. <template slot-scope="{row}">
  325. <span>{{ row.name }}</span>
  326. </template>
  327. </el-table-column>
  328. <el-table-column label="订单编号" align="center" width='160'>
  329. <template slot-scope="{row}">
  330. <span>{{ row.orderId }}</span>
  331. </template>
  332. </el-table-column>
  333. <el-table-column label="产品类型" align="center" width='80'>
  334. <template slot-scope="{row}">
  335. <span>{{ row.production }}</span>
  336. </template>
  337. </el-table-column>
  338. <el-table-column label="产品编号" align="center" width='200'>
  339. <template slot-scope="{row}">
  340. <span>{{ row.reportNo }}</span>
  341. </template>
  342. </el-table-column>
  343. <el-table-column label="客户名称" align="center" width='100'>
  344. <template slot-scope="{row}">
  345. <span>{{ row.clienteleName }}</span>
  346. </template>
  347. </el-table-column>
  348. <el-table-column label="收费标准(¥)" align="center" width='100'>
  349. <template slot-scope="{row}">
  350. <span>{{ row.standardAmount }}</span>
  351. </template>
  352. </el-table-column>
  353. <el-table-column label="应收款(¥)" align="center" width='100'>
  354. <template slot-scope="{row}">
  355. <span>{{ row.shouldAmount?row.shouldAmount:row.orderShouldAmount }}</span>
  356. </template>
  357. </el-table-column>
  358. <el-table-column label="实收款(¥)" align="center" width='100'>
  359. <template slot-scope="{row}">
  360. <span style="color:red;font-weight:bold">{{ row.realAmount==null? 0 : row.realAmount }}</span>
  361. </template>
  362. </el-table-column>
  363. <el-table-column label="开票金额(¥)" align="center" width='80'>
  364. <template slot-scope="{row}">
  365. <span >{{ row.invoiceAmount?row.invoiceAmount:'--'}}</span>
  366. </template>
  367. </el-table-column>
  368. <el-table-column label="市场人员" align="center" width='100'>
  369. <template slot-scope="{row}">
  370. <span>{{ row.clientManager }}</span>
  371. </template>
  372. </el-table-column>
  373. <el-table-column align="center" width='140' label="市场人员申报提成">
  374. <template slot-scope="{row}">
  375. <el-tag :type="row.mdeclareResult ? (row.mdeclareResult === '审核通过' ? 'success' : 'info') : 'danger'">{{
  376. row.mdeclareResult ? row.mdeclareResult : '未申报' }}</el-tag>
  377. </template>
  378. </el-table-column>
  379. <el-table-column label="评估人员" align="center" width='100'>
  380. <template slot-scope="{row}">
  381. <span>{{ row.principal }}</span>
  382. </template>
  383. </el-table-column>
  384. <el-table-column align="center" width='140' label="评估人员申报提成">
  385. <template slot-scope="{row}">
  386. <el-tag :type="row.edeclareResult ? (row.edeclareResult === '审核通过' ? 'success' : 'info') : 'danger'">{{
  387. row.edeclareResult ? row.edeclareResult : '未申报' }}</el-tag>
  388. </template>
  389. </el-table-column>
  390. </el-table>
  391. </y-page-list-layout>
  392. </el-dialog>
  393. <el-dialog :visible.sync="myPersonalOrderDialog" width="90%" center custom-class="doWarehouseClass" @closed="getList">
  394. <y-page-list-layout :page-list="myPersonalPageData" :page-para="majorListQuery" :get-page-list="getMyPersonalOrder">
  395. <template slot="left">
  396. <el-input v-model="listQuery.name" placeholder="坐落" clearable
  397. style="margin-left: 20px;width: 270px;float: left;">
  398. </el-input>
  399. <el-input v-model="listQuery.orderId" placeholder="订单号" clearable
  400. style="margin-left: 20px;width: 200px;float: left;">
  401. </el-input>
  402. <el-input v-model="listQuery.clientManager" placeholder="客户经理" clearable
  403. style="margin-left: 20px;width: 100px;float: left;">
  404. </el-input>
  405. <el-button class="filter-item" style="margin-left: 10px;float: left;" type="primary" @click="searchList"
  406. round>搜索
  407. </el-button>
  408. <el-button class="filter-item" style="float: left;" round type="success" @click="resetSearch()">重置
  409. </el-button>
  410. <el-button class="filter-item" style="float: left;" round type="info" @click="downloadTemp()">下载模板
  411. </el-button>
  412. <ExcelImport style="float: left; margin-left: 10px; " ref="uploadControl" buttonType="danger" :limit="1"
  413. :flag="'financeClaim/personal/temp/upload/' + financeFundId" :style-type="2" title="模版认领"
  414. @fath="getMyPersonalOrder" />
  415. <el-button style="margin-left: 10px ;float: left;" round type="danger"
  416. @click="openPersonalOrderDialog()">选择认领</el-button>
  417. </template>
  418. <el-table ref="table" :data="myPersonalPageData.records" slot="table"
  419. :header-row-style="{ color: '#333333' }" style="
  420. border-left: 1px solid #ebeced;
  421. border-right: 1px solid #ebeced; font-size: 14px;
  422. color: #333333;" @selection-change="handleSelectionChange" :row-class-name="tableRowClassName">
  423. <el-table-column align="center" type="selection" claimOrders width="100" border="true">
  424. </el-table-column>
  425. <el-table-column align="center" width='100'>
  426. <template slot-scope="{row}">
  427. <span style="color:red">
  428. {{ row.invoiceAmount === notClaimAmount ? '推荐匹配' : '' }}
  429. </span>
  430. </template>
  431. </el-table-column>
  432. <el-table-column label="坐落" align="center" show-overflow-tooltip>
  433. <template slot-scope="{row}">
  434. <span>{{ row.orderName }}</span>
  435. </template>
  436. </el-table-column>
  437. <el-table-column label="项目编号" align="center">
  438. <template slot-scope="{row}">
  439. <span>{{ row.orderId }}</span>
  440. </template>
  441. </el-table-column>
  442. <el-table-column label="委托人" align="center" width='100'>
  443. <template slot-scope="{row}">
  444. <span>{{ row.bailorA }} {{ row.bailorB }}</span>
  445. </template>
  446. </el-table-column>
  447. <el-table-column label="客户名称" align="center" width='200'>
  448. <template slot-scope="{row}">
  449. <span>{{ row.clientName }}</span>
  450. </template>
  451. </el-table-column>
  452. <el-table-column label="业务来源" align="center">
  453. <template slot-scope="{row}">
  454. <span>{{ row.clientSubName }}</span>
  455. </template>
  456. </el-table-column>
  457. <el-table-column label="中介" align="center">
  458. <template slot-scope="{row}">
  459. <span>{{ row.agent == null ? '-' : row.agent }}</span>
  460. </template>
  461. </el-table-column>
  462. <el-table-column label="联系人" align="center">
  463. <template slot-scope="{row}">
  464. <span>{{ row.contactName }}</span>
  465. </template>
  466. </el-table-column>
  467. <el-table-column label="应收款(¥)" align="center" width='100'>
  468. <template slot-scope="{row}">
  469. <span>{{ row.shouldAmount?row.shouldAmount:'--' }}</span>
  470. </template>
  471. </el-table-column>
  472. <el-table-column label="实收款(元)" align="center">
  473. <template slot-scope="{row}">
  474. <span style="color:red;font-weight: bold;">{{ row.realAmount ? row.realAmount : 0 }}</span>
  475. </template>
  476. </el-table-column>
  477. <el-table-column label="开票金额(¥)" align="center" width='100'>
  478. <template slot-scope="{row}">
  479. <span>{{ row.invoiceAmount?row.invoiceAmount:'--' }}</span>
  480. </template>
  481. </el-table-column>
  482. <el-table-column align="center" show-overflow-tooltip width='120' label="备注">
  483. <template slot-scope="{row}">
  484. <span>{{ row.remark }}</span>
  485. </template>
  486. </el-table-column>
  487. </el-table>
  488. </y-page-list-layout>
  489. </el-dialog>
  490. <el-dialog :visible.sync="myAssetsOrderDialog" width="95%" center custom-class="doWarehouseClass" @closed="getList">
  491. <y-page-list-layout :page-list="myAssetsPageData" :page-para="assetsListQuery"
  492. :get-page-list="getMyAssetsOrderOrProd">
  493. <template slot="left">
  494. <el-switch style="width: 270px;float: left;margin-top: 5px;" v-model="toAssetsProd" active-color="#13ce66"
  495. inactive-color="#ff4949" active-text="认领到产品" inactive-text="认领到订单" disabled>
  496. </el-switch>
  497. <el-input v-model="assetsListQuery.name" placeholder="订单/项目名称" clearable style="width: 270px;float: left;">
  498. </el-input>
  499. <el-input v-model="assetsListQuery.orderId" placeholder="订单号" clearable
  500. style="margin-left: 20px;width: 200px;float: left;">
  501. </el-input>
  502. <el-input v-show="toAssetsProd" v-model="assetsListQuery.reportNo" placeholder="报告号" clearable
  503. style="margin-left: 20px;width: 200px;float: left;">
  504. </el-input>
  505. <el-select v-model="assetsListQuery.eDeclareResult" placeholder="评估人员申报" clearable
  506. style="margin-left: 20px;width: 150px;float: left;">
  507. <el-option value="审核通过">审核通过</el-option>
  508. <el-option value="审核中">审核中</el-option>
  509. <el-option value="未申报">未申报</el-option>
  510. <el-option value="审核拒绝">审核拒绝</el-option>
  511. </el-select>
  512. <el-select v-model="assetsListQuery.mDeclareResult" placeholder="市场人员申报" clearable
  513. style="margin-left: 20px;width: 150px;float: left;">
  514. <el-option value="审核通过">审核通过</el-option>
  515. <el-option value="审核中">审核中</el-option>
  516. <el-option value="未申报">未申报</el-option>
  517. <el-option value="审核拒绝">审核拒绝</el-option>
  518. </el-select>
  519. <el-button v-show="toAssetsProd" class="filter-item" style="margin-left: 10px;float: left;" type="primary"
  520. @click="getMyAssetsOrderProd()" round>搜索
  521. </el-button>
  522. <el-button v-show="!toAssetsProd" class="filter-item" style="margin-left: 10px;float: left;" type="primary"
  523. @click="getMyAssetsOrder()" round>搜索
  524. </el-button>
  525. <el-button v-show="toAssetsProd" class="filter-item" style="float: left;" round type="success"
  526. @click="getMyAssetsProdResetSearch()">重置
  527. </el-button>
  528. <el-button v-show="!toAssetsProd" class="filter-item" style="float: left;" round type="success"
  529. @click="getMyAssetsOrderResetSearch()">重置
  530. </el-button>
  531. <el-button style="float: left;" round type="danger" @click="openAssetsClaimDialog()">选择认领</el-button>
  532. </template>
  533. <parentTable v-show="toAssetsProd" ref="prod" :clickRowToPick="false" :data="myAssetsPageData.records"
  534. slot="table" style="width: 100%;" :selectionChange="assetsHandleSelectionChange" :isBoard=500>
  535. <el-table-column align="center" type="selection" claimOrders width="100" border="true"
  536. :selectable="checkSelectable">
  537. </el-table-column>
  538. <el-table-column label="订单名称" align="center" show-overflow-tooltip>
  539. <template slot-scope="{row}">
  540. <span>{{ row.name }}</span>
  541. </template>
  542. </el-table-column>
  543. <el-table-column label="订单号" align="center" width='160'>
  544. <template slot-scope="{row}">
  545. <span>{{ row.orderId }}</span>
  546. </template>
  547. </el-table-column>
  548. <el-table-column label="报告号" align="center" width='220'>
  549. <template slot-scope="{row}">
  550. <span>{{ row.productionNo }}</span>
  551. </template>
  552. </el-table-column>
  553. <el-table-column label="报告类型" align="center" width="80">
  554. <template slot-scope="{row}">
  555. <span v-if="row.productionType === 'STATEMENT'">价值意见书</span>
  556. <span v-if="row.productionType == 'LETTER'">意见函</span>
  557. <span v-if="row.productionType == 'CONSULT'">咨询报告</span>
  558. <span v-if="row.productionType == 'REPORT'">评估报告</span>
  559. </template>
  560. </el-table-column>
  561. <el-table-column label="客户名称" align="center" width='100'>
  562. <template slot-scope="{row}">
  563. <span>{{ row.clienteleName }}</span>
  564. </template>
  565. </el-table-column>
  566. <!-- <el-table-column label="订单应收款(元)" align="center" width='120'>
  567. <template slot-scope="{row}">
  568. <span>{{ row.orderShouldAmount }}</span>
  569. </template>
  570. </el-table-column>
  571. <el-table-column label="订单实收款(元)" align="center" width='120'>
  572. <template slot-scope="{row}">
  573. <span>{{ row.orderRealAmount }}</span>
  574. </template>
  575. </el-table-column> -->
  576. <el-table-column label="应收款(元)" align="center" width='100'>
  577. <template slot-scope="{row}">
  578. <span>{{ row.productionShouldAmount }}</span>
  579. </template>
  580. </el-table-column>
  581. <el-table-column label="实收款(元)" align="center" width='100'>
  582. <template slot-scope="{row}">
  583. <span>{{ row.productionRealAmount }}</span>
  584. </template>
  585. </el-table-column>
  586. <el-table-column label="标准收费(元)" align="center" width='120'>
  587. <template slot-scope="{row}">
  588. <span>{{ row.standardAmount }}</span>
  589. </template>
  590. </el-table-column>
  591. <el-table-column label="市场人员" align="center" width='100'>
  592. <template slot-scope="{row}">
  593. <span>{{ row.marketUser }}</span>
  594. </template>
  595. </el-table-column>
  596. <el-table-column align="center" width='140' label="市场人员申报提成">
  597. <template slot-scope="{row}">
  598. <el-tag :type="row.mdeclareResult ? (row.mdeclareResult === '审核通过' ? 'success' : 'info') : 'danger'">{{
  599. row.mdeclareResult ? row.mdeclareResult : '未申报' }}</el-tag>
  600. </template>
  601. </el-table-column>
  602. <el-table-column label="评估人员" align="center" width='100'>
  603. <template slot-scope="{row}">
  604. <span>{{ row.evaluateUser }}</span>
  605. </template>
  606. </el-table-column>
  607. <el-table-column align="center" width='140' label="评估人员申报提成">
  608. <template slot-scope="{row}">
  609. <el-tag :type="row.edeclareResult ? (row.edeclareResult === '审核通过' ? 'success' : 'info') : 'danger'">{{
  610. row.edeclareResult ? row.edeclareResult : '未申报' }}</el-tag>
  611. </template>
  612. </el-table-column>
  613. </parentTable>
  614. <parentTable v-show="!toAssetsProd" ref="order" :clickRowToPick="false" :data="myAssetsPageData.records"
  615. slot="table" style="width: 100%;" :selectionChange="assetsHandleSelectionChange">
  616. <el-table-column align="center" type="selection" claimOrders width="100" border="true"
  617. :selectable="checkSelectable">
  618. </el-table-column>
  619. <el-table-column label="订单名称" align="center" show-overflow-tooltip>
  620. <template slot-scope="{row}">
  621. <span>{{ row.name }}</span>
  622. </template>
  623. </el-table-column>
  624. <el-table-column label="订单号" align="center" width='200'>
  625. <template slot-scope="{row}">
  626. <span>{{ row.orderId }}</span>
  627. </template>
  628. </el-table-column>
  629. <el-table-column label="客户名称" align="center" width='200'>
  630. <template slot-scope="{row}">
  631. <span>{{ row.clienteleName }}</span>
  632. </template>
  633. </el-table-column>
  634. <el-table-column label="订单应收款(元)" align="center" width='200'>
  635. <template slot-scope="{row}">
  636. <span>{{ row.orderShouldAmount }}</span>
  637. </template>
  638. </el-table-column>
  639. <el-table-column label="订单实收款(元)" align="center" width='200'>
  640. <template slot-scope="{row}">
  641. <span>{{ row.orderRealAmount }}</span>
  642. </template>
  643. </el-table-column>
  644. <el-table-column label="市场人员" align="center" width='200'>
  645. <template slot-scope="{row}">
  646. <span>{{ row.marketUser }}</span>
  647. </template>
  648. </el-table-column>
  649. <el-table-column align="center" width='215' label="市场人员申报提成">
  650. <template slot-scope="{row}">
  651. <el-tag :type="row.mdeclareResult ? (row.mdeclareResult === '审核通过' ? 'success' : 'info') : 'danger'">{{
  652. row.mdeclareResult ? row.mdeclareResult : '未申报' }}</el-tag>
  653. </template>
  654. </el-table-column>
  655. <el-table-column label="评估人员" align="center" width='200'>
  656. <template slot-scope="{row}">
  657. <span>{{ row.evaluateUser }}</span>
  658. </template>
  659. </el-table-column>
  660. <el-table-column align="center" width='215' label="评估人员申报提成">
  661. <template slot-scope="{row}">
  662. <el-tag :type="row.edeclareResult ? (row.edeclareResult === '审核通过' ? 'success' : 'info') : 'danger'">{{
  663. row.edeclareResult ? row.edeclareResult : '未申报' }}</el-tag>
  664. </template>
  665. </el-table-column>
  666. </parentTable>
  667. </y-page-list-layout>
  668. </el-dialog>
  669. <el-dialog :visible.sync="allotAssetsAmountDialog" width="45%" center custom-class="doWarehouseClass"
  670. @closed="cleanClaimDTO">
  671. <el-form v-model="claimOrders" ref="claimOrdersForm">
  672. <el-row>
  673. <el-col :xs="24" :sm="12" :lg="21" :span="6">
  674. <div style="font-size:20px;">
  675. <span>此笔实收款剩余:</span><span style="color:red;font-weight:bold">{{ notClaimAmount }}¥</span>
  676. </div>
  677. </el-col>
  678. <el-col :xs="24" :sm="12" :lg="3" :span="6">
  679. <el-button style="float:right" type="success" @click="assetsDoAllotRealAmountToOrder()">确认认领</el-button>
  680. </el-col>
  681. </el-row>
  682. <el-card style="margin-top:20px" v-for="(p, id) in claimOrders" shadow="hover">
  683. <div slot="header" class="clearfix">
  684. <el-row>
  685. <el-col :xs="24" :sm="12" :lg="24" :span="6">
  686. <el-form-item label="订单名称" prop="orderName" label-width="140px" class="postInfo-container-item">
  687. <el-input :value="p.name" type="text" class="filter-item" disabled readonly />
  688. </el-form-item>
  689. </el-col>
  690. </el-row>
  691. <el-row>
  692. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  693. <span class="redPoint">*</span>
  694. <el-form-item label="本次认领金额:" prop="thisTimeAmount" label-width="140px" class="postInfo-container-item">
  695. <el-input-number :precision="2" :min="0" :value-on-clear="0" v-model.number="p.thisTimeAmount"
  696. style="width:100%" class="filter-item" />
  697. </el-form-item>
  698. </el-col>
  699. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  700. <el-form-item label="订单号" prop="orderId" label-width="140px" class="postInfo-container-item">
  701. <el-input :value="p.orderId" type="text" class="filter-item" disabled readonly />
  702. </el-form-item>
  703. </el-col>
  704. </el-row>
  705. <el-row>
  706. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  707. <el-form-item label="已认领金额:" prop="realAmount" label-width="140px" class="postInfo-container-item">
  708. <el-input :value="p.realAmount" type="text" class="filter-item" disabled readonly>
  709. <template slot="append">元</template>
  710. </el-input>
  711. </el-form-item>
  712. </el-col>
  713. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  714. <el-form-item label="应收金额:" prop="shouldAmount" label-width="140px" class="postInfo-container-item">
  715. <el-input :value="p.shouldAmount" type="text" class="filter-item" disabled readonly>
  716. <template slot="append">元</template>
  717. </el-input>
  718. </el-form-item>
  719. </el-col>
  720. </el-row>
  721. </div>
  722. </el-card>
  723. </el-form>
  724. </el-dialog>
  725. <el-dialog :visible.sync="allotAssetsProdDialog" width="45%" center custom-class="doWarehouseClass"
  726. @closed="cleanClaimDTO">
  727. <el-form v-model="claimOrders" ref="claimOrdersForm">
  728. <el-row>
  729. <el-col :xs="24" :sm="12" :lg="21" :span="6">
  730. <div style="font-size:20px;">
  731. <span>此笔实收款剩余:</span><span style="color:red;font-weight:bold">{{ notClaimAmount }}¥</span>
  732. </div>
  733. </el-col>
  734. <el-col :xs="24" :sm="12" :lg="3" :span="6">
  735. <el-button style="float:right" type="success" @click="assetsDoAllotRealAmountToProd()">确认认领</el-button>
  736. </el-col>
  737. </el-row>
  738. <el-card style="margin-top:20px" v-for="(p, id) in claimOrders" shadow="hover">
  739. <div slot="header" class="clearfix">
  740. <el-row>
  741. <el-col :xs="24" :sm="12" :lg="24" :span="6">
  742. <el-form-item label="订单名称:" prop="name" label-width="140px" class="postInfo-container-item">
  743. <el-input :value="p.name" type="text" class="filter-item" disabled readonly />
  744. </el-form-item>
  745. </el-col>
  746. </el-row>
  747. <el-row>
  748. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  749. <span class="redPoint">*</span>
  750. <el-form-item label="本次认领金额:" prop="thisTimeAmount" label-width="140px" class="postInfo-container-item">
  751. <el-input-number :precision="2" :min="0" :value-on-clear="0" v-model.number="p.thisTimeAmount"
  752. style="width:100%" class="filter-item" />
  753. </el-form-item>
  754. </el-col>
  755. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  756. <el-form-item label="报告号:" prop="reportNo" label-width="140px" class="postInfo-container-item">
  757. <el-input :value="p.reportNo" type="text" class="filter-item" disabled readonly />
  758. </el-form-item>
  759. </el-col>
  760. </el-row>
  761. <el-row>
  762. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  763. <el-form-item label="已认领金额:" prop="realAmount" label-width="140px" class="postInfo-container-item">
  764. <el-input :value="p.realAmount" type="text" class="filter-item" disabled readonly>
  765. <template slot="append">元</template>
  766. </el-input>
  767. </el-form-item>
  768. </el-col>
  769. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  770. <el-form-item label="产品应收金额:" prop="shouldAmount" label-width="140px" class="postInfo-container-item">
  771. <el-input :value="p.shouldAmount" type="text" class="filter-item" disabled readonly>
  772. <template slot="append">元</template>
  773. </el-input>
  774. </el-form-item>
  775. </el-col>
  776. </el-row>
  777. </div>
  778. </el-card>
  779. </el-form>
  780. </el-dialog>
  781. <el-dialog :visible.sync="allotPersonalAmountDialog" width="45%" center custom-class="doWarehouseClass"
  782. @closed="cleanClaimDTO">
  783. <el-form v-model="claimOrders" ref="claimOrdersForm">
  784. <el-row>
  785. <el-col :xs="24" :sm="12" :lg="21" :span="6">
  786. <div style="font-size:20px;">
  787. <span>此笔实收款剩余:</span><span style="color:red;font-weight:bold">{{ notClaimAmount }}¥</span>
  788. </div>
  789. </el-col>
  790. <el-col :xs="24" :sm="12" :lg="3" :span="6">
  791. <el-button style="float:right" type="success" @click="doClaimPersonal()">确认认领</el-button>
  792. </el-col>
  793. </el-row>
  794. <el-card style="margin-top:20px" v-for="(p, id) in claimOrders" shadow="hover">
  795. <div slot="header" class="clearfix">
  796. <el-row>
  797. <el-col :xs="24" :sm="12" :lg="24" :span="6">
  798. <el-form-item label="订单名称" prop="orderName" label-width="140px" class="postInfo-container-item">
  799. <el-input :value="p.orderName" type="text" class="filter-item" disabled readonly />
  800. </el-form-item>
  801. </el-col>
  802. </el-row>
  803. <el-row>
  804. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  805. <span class="redPoint">*</span>
  806. <el-form-item label="本次认领金额:" prop="thisTimeAmount" label-width="140px" class="postInfo-container-item">
  807. <el-input-number :precision="2" :min="0" :value-on-clear="0" v-model.number="p.thisTimeAmount"
  808. style="width:100%" class="filter-item" />
  809. </el-form-item>
  810. </el-col>
  811. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  812. <el-form-item label="订单号" prop="orderId" label-width="140px" class="postInfo-container-item">
  813. <el-input :value="p.orderId" type="text" class="filter-item" disabled readonly />
  814. </el-form-item>
  815. </el-col>
  816. </el-row>
  817. <el-row>
  818. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  819. <el-form-item label="已认领金额:" prop="realAmount" label-width="140px" class="postInfo-container-item">
  820. <el-input :value="p.realAmount" type="text" class="filter-item" disabled readonly>
  821. <template slot="append">元</template>
  822. </el-input>
  823. </el-form-item>
  824. </el-col>
  825. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  826. <el-form-item label="应收金额:" prop="shouldAmount" label-width="140px" class="postInfo-container-item">
  827. <el-input :value="p.shouldAmount" type="text" class="filter-item" disabled readonly>
  828. <template slot="append">元</template>
  829. </el-input>
  830. </el-form-item>
  831. </el-col>
  832. </el-row>
  833. </div>
  834. </el-card>
  835. </el-form>
  836. </el-dialog>
  837. </div>
  838. </template>
  839. <script>
  840. import YPageListLayout from '@/components/YPageListLayout'
  841. import Breadcrumb from '@/components/Breadcrumb'
  842. import ExcelImport from "@/components/excelImport.vue";
  843. export default {
  844. name: 'financeRealFundClaim',
  845. components: {
  846. Breadcrumb,
  847. YPageListLayout,
  848. ExcelImport
  849. },
  850. watch: {
  851. toProd: {
  852. handler(value) {
  853. if (value) {
  854. this.getMyMajorProd();
  855. } else {
  856. this.getMyMajorOrder();
  857. }
  858. },
  859. immediate: true
  860. },
  861. toAssetsProd: {
  862. handler(value) {
  863. if (value) {
  864. this.getMyAssetsOrderProd();
  865. } else {
  866. this.getMyAssetsOrder();
  867. }
  868. },
  869. immediate: true
  870. }
  871. },
  872. computed: {
  873. },
  874. data() {
  875. return {
  876. pageData: { records: [] },
  877. listQuery: {
  878. page: 1,
  879. size: 10,
  880. descs: 'id',
  881. keyword: null,
  882. startDate: null,
  883. endDate: null,
  884. notFinished:true
  885. },
  886. myPersonalOrderDialog: false,
  887. myAssetsOrderDialog: false,
  888. allotAmountDialog: false,
  889. allotProdDialog: false,
  890. allotAssetsAmountDialog: false,
  891. allotAssetsProdDialog: false,
  892. realFund: {
  893. id: null,
  894. payer: null,
  895. payerBank: null,
  896. payerAccount: null,
  897. amount: null,
  898. claimAmount: null,
  899. notClaimAmount: null,
  900. payDatetime: null,
  901. remark: null,
  902. created: null,
  903. creator: null
  904. },
  905. toProd: true,
  906. toAssetsProd: true,
  907. myMajorOrderDialog: false,
  908. majorListQuery: {
  909. page: 1,
  910. size: 10,
  911. descs: 'id',
  912. },
  913. myMajorPageData: { records: [] },
  914. notClaimAmount: 0,
  915. notInfo: "此笔实收款剩余:",
  916. claimOrders: [],
  917. financeFundId: null,
  918. payer: null,
  919. amount: null,
  920. productionLabel: "产品",
  921. orderDate: '',
  922. payDate: '',
  923. myPersonalPageData: { records: [] },
  924. pickerOptions: {
  925. shortcuts: [{
  926. text: '最近一周',
  927. onClick(picker) {
  928. const end = new Date();
  929. const start = new Date();
  930. start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
  931. picker.$emit('pick', [start, end]);
  932. }
  933. }, {
  934. text: '最近一个月',
  935. onClick(picker) {
  936. const end = new Date();
  937. const start = new Date();
  938. start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
  939. picker.$emit('pick', [start, end]);
  940. }
  941. }, {
  942. text: '最近三个月',
  943. onClick(picker) {
  944. const end = new Date();
  945. const start = new Date();
  946. start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
  947. picker.$emit('pick', [start, end]);
  948. }
  949. }]
  950. },
  951. myAssetsPageData: { records: [] },
  952. assetsListQuery: {
  953. page: 1,
  954. size: 10,
  955. descs: 'id',
  956. },
  957. allotPersonalAmountDialog:false,
  958. }
  959. },
  960. created() {
  961. this.getList();
  962. },
  963. methods: {
  964. resetSearch() {
  965. this.$router.push({ query: {} });
  966. this.orderDate = '';
  967. this.payDate = '';
  968. this.listQuery = {
  969. current: 1,
  970. size: 10,
  971. descs: 'id',
  972. }
  973. this.getList()
  974. },
  975. getMyMajor(){
  976. if (this.toProd){
  977. this.getMyMajorProd();
  978. }else{
  979. this.getMyMajorOrder();
  980. }
  981. },
  982. getMyMajorOrderResetSearch() {
  983. this.$router.push({ query: {} });
  984. this.majorListQuery = {
  985. current: 1,
  986. size: 10,
  987. descs: 'id',
  988. }
  989. this.getMyMajorOrder()
  990. },
  991. getMyMajorProdResetSearch() {
  992. this.$router.push({ query: {} });
  993. this.majorListQuery = {
  994. current: 1,
  995. size: 10,
  996. descs: 'id',
  997. }
  998. this.getMyMajorProd()
  999. },
  1000. searchList() {
  1001. // 重置分页
  1002. this.listQuery.page = 1
  1003. this.listQuery.size = 10
  1004. if (this.payDate) {
  1005. this.listQuery.startDate = this.payDate[0];
  1006. this.listQuery.endDate = this.payDate[1];
  1007. }
  1008. if (this.orderDate) {
  1009. this.listQuery.xStartDate = this.orderDate[0] + ' 00:00:00';
  1010. this.listQuery.xEndDate = this.orderDate[1] + ' 23:59:59';
  1011. }
  1012. this.getList()
  1013. },
  1014. getList() {
  1015. this.listQuery.notFinished = true;
  1016. this.claimOrders = [];
  1017. this.$api.financeRealFund.claimList(Object.assign({}, this.listQuery)).then(res => {
  1018. if (res.code === 200) {
  1019. this.pageData = res.data;
  1020. }
  1021. })
  1022. console.log(this.claimOrders)
  1023. },
  1024. getMyMajorOrder() {
  1025. this.$api.majorProduction.waitingClaim(Object.assign({}, this.majorListQuery)).then(res => {
  1026. if (res.code === 200) {
  1027. this.myMajorPageData = res.data;
  1028. }
  1029. })
  1030. },
  1031. getMyMajorProd() {
  1032. this.$api.majorProduction.waitingClaimProd(Object.assign({'invoiceAmount':this.notClaimAmount}, this.majorListQuery)).then(res => {
  1033. if (res.code === 200) {
  1034. this.myMajorPageData = res.data;
  1035. }
  1036. })
  1037. },
  1038. cleanClaimDTO() {
  1039. this.notInfo = "此笔实收款剩余:";
  1040. },
  1041. handleSelectionChange(val) {
  1042. let pickeds = [];
  1043. for (let i in val) {
  1044. let picked = new Object();
  1045. picked.id = val[i].id;
  1046. picked.orderName = val[i].orderName;
  1047. picked.name = val[i].name;
  1048. picked.reportNo = val[i].reportNo;
  1049. picked.orderId = val[i].orderId;
  1050. picked.shouldAmount = val[i].shouldAmount;
  1051. picked.orderFundId = val[i].orderFundId;
  1052. picked.realAmount = val[i].realAmount;
  1053. picked.financeFundId = this.financeFundId;
  1054. picked.productionFundId = val[i].productionFundId;
  1055. pickeds.push(picked);
  1056. }
  1057. this.claimOrders = pickeds;
  1058. },
  1059. assetsHandleSelectionChange(val) {
  1060. let pickeds = [];
  1061. for (let i in val) {
  1062. let picked = new Object();
  1063. picked.id = val[i].id;
  1064. picked.orderName = val[i].name;
  1065. picked.name = val[i].name;
  1066. picked.reportNo = val[i].productionNo;
  1067. picked.orderId = val[i].orderId;
  1068. if (this.toAssetsProd) {
  1069. picked.shouldAmount = val[i].productionShouldAmount;
  1070. picked.realAmount = val[i].productionRealAmount;
  1071. } else {
  1072. picked.shouldAmount = val[i].orderShouldAmount;
  1073. picked.realAmount = val[i].orderRealAmount;
  1074. }
  1075. picked.orderFundId = val[i].orderFundId;
  1076. picked.financeFundId = this.financeFundId;
  1077. picked.productionFundId = val[i].productionFundId;
  1078. pickeds.push(picked);
  1079. }
  1080. this.claimOrders = pickeds;
  1081. },
  1082. openClaimDialog() {
  1083. if (this.claimOrders.length === 0) {
  1084. this.$notify({
  1085. title: '提示',
  1086. message: '请先选择订单,然后认领。',
  1087. type: 'info',
  1088. duration: 2000
  1089. });
  1090. return;
  1091. }
  1092. if (this.toProd) {
  1093. this.allotProdDialog = true;
  1094. } else {
  1095. this.allotAmountDialog = true;
  1096. }
  1097. this.notInfo = this.notInfo + this.notClaimAmount + '¥'
  1098. },
  1099. openAssetsClaimDialog() {
  1100. if (this.claimOrders.length === 0) {
  1101. this.$notify({
  1102. title: '提示',
  1103. message: '请先选择订单,然后认领。',
  1104. type: 'info',
  1105. duration: 2000
  1106. });
  1107. return;
  1108. }
  1109. if (this.toAssetsProd) {
  1110. this.allotAssetsProdDialog = true;
  1111. } else {
  1112. this.allotAssetsAmountDialog = true;
  1113. }
  1114. this.notInfo = this.notInfo + this.notClaimAmount + '¥'
  1115. },
  1116. getMyPersonalOrder() {
  1117. this.$api.personal.waitingClamOrder(this.listQuery).then(res => {
  1118. if (res.code === 200) {
  1119. this.myPersonalPageData = res.data;
  1120. }
  1121. })
  1122. },
  1123. downloadTemp() {
  1124. window.location.href = "/api/financeClaim/personal/claim/template"
  1125. },
  1126. doClaimMajor() {
  1127. const orders = this.claimOrders;
  1128. for (let i in orders) {
  1129. if (!orders[i].thisTimeAmount) {
  1130. this.$message.error("报告号:[" + orders[i].reportNo + "],本次认领金额不能为空。");
  1131. return;
  1132. }
  1133. }
  1134. this.$api.businessProduction.allotRealAmount(this.claimOrders).then(res => {
  1135. if (res.code === 200 && res.data) {
  1136. this.$notify({
  1137. title: '成功',
  1138. message: '实收款认领成功',
  1139. type: 'success',
  1140. duration: 2000
  1141. });
  1142. this.getMajorOrderOrProd();
  1143. this.allotAmountDialog = false;
  1144. this.allotProdDialog = false;
  1145. this.myMajorOrderDialog = false;
  1146. } else {
  1147. this.$notify({
  1148. title: '失败',
  1149. message: '实收款认领失败',
  1150. type: 'error',
  1151. duration: 2000
  1152. });
  1153. }
  1154. })
  1155. },
  1156. doClaimMajorToOrder() {
  1157. const orders = this.claimOrders;
  1158. for (let i in orders) {
  1159. if (!orders[i].thisTimeAmount) {
  1160. this.$message.error("订单号:[" + orders[i].orderId + "],本次认领金额不能为空。");
  1161. return;
  1162. }
  1163. }
  1164. this.$api.businessProduction.allotRealAmountToOrder(this.claimOrders).then(res => {
  1165. if (res.code === 200 && res.data) {
  1166. this.$notify({
  1167. title: '成功',
  1168. message: '实收款认领成功',
  1169. type: 'success',
  1170. duration: 2000
  1171. });
  1172. this.getMajorOrderOrProd();
  1173. this.allotAmountDialog = false;
  1174. this.allotProdDialog = false;
  1175. this.myMajorOrderDialog = false;
  1176. } else {
  1177. this.$notify({
  1178. title: '失败',
  1179. message: '实收款认领失败',
  1180. type: 'error',
  1181. duration: 2000
  1182. });
  1183. }
  1184. })
  1185. },
  1186. doClaimPersonal() {
  1187. const orders = this.claimOrders;
  1188. for (let i in orders) {
  1189. if (!orders[i].thisTimeAmount) {
  1190. this.$message.error("订单号:[" + orders[i].orderId + "],本次认领金额不能为空。");
  1191. return;
  1192. }
  1193. }
  1194. this.$api.businessProduction.personalAllotRealAmount(this.claimOrders).then(res => {
  1195. if (res.code === 200 && res.data) {
  1196. this.$notify({
  1197. title: '成功',
  1198. message: '实收款认领成功',
  1199. type: 'success',
  1200. duration: 2000
  1201. });
  1202. this.getMyPersonalOrder();
  1203. this.allotPersonalAmountDialog = false;
  1204. } else {
  1205. this.$notify({
  1206. title: '失败',
  1207. message: '实收款认领失败',
  1208. type: 'error',
  1209. duration: 2000
  1210. });
  1211. }
  1212. })
  1213. },
  1214. checkSelectable(row) {
  1215. if (row.mdeclareResult === '审核通过' && row.edeclareResult === '审核通过') {
  1216. return true;
  1217. } else {
  1218. return false;
  1219. }
  1220. },
  1221. claimMajor(row) {
  1222. this.myMajorOrderDialog = true;
  1223. this.notClaimAmount = row.notClaimAmount;
  1224. this.financeFundId = row.id;
  1225. this.getMyMajorProd();
  1226. },
  1227. claimPersonal(row) {
  1228. this.getMyPersonalOrder();
  1229. this.myPersonalOrderDialog = true;
  1230. this.financeFundId = row.id;
  1231. this.notClaimAmount = row.notClaimAmount;
  1232. },
  1233. getMajorOrderOrProd() {
  1234. if (this.toProd) {
  1235. this.getMyMajorProd();
  1236. } else {
  1237. this.getMyMajorOrder();
  1238. }
  1239. },
  1240. resetMajorOrderOrProd() {
  1241. if (this.toProd) {
  1242. this.getMyMajorProdResetSearch();
  1243. } else {
  1244. this.getMyMajorOrderResetSearch();
  1245. }
  1246. },
  1247. claimAssets(row) {
  1248. this.getMyAssetsOrderProd();
  1249. this.myAssetsOrderDialog = true;
  1250. this.notClaimAmount = row.notClaimAmount;
  1251. this.financeFundId = row.id;
  1252. },
  1253. resetAssetsListQuery() {
  1254. this.assetsListQuery = {
  1255. page: 1,
  1256. size: 10,
  1257. descs: 'id',
  1258. }
  1259. },
  1260. getMyAssetsOrderProd() {
  1261. this.$api.assetsProduction.getMyAssetsOrderProd(this.assetsListQuery).then(res => {
  1262. if (res.code == 200) {
  1263. this.myAssetsPageData = res.data;
  1264. }
  1265. })
  1266. },
  1267. getMyAssetsOrder() {
  1268. this.$api.assetsProduction.getMyAssetsOrder(this.assetsListQuery).then(res => {
  1269. if (res.code == 200) {
  1270. this.myAssetsPageData = res.data;
  1271. }
  1272. })
  1273. },
  1274. getMyAssetsProdResetSearch() {
  1275. this.$router.push({ query: {} });
  1276. this.assetsListQuery = {
  1277. current: 1,
  1278. size: 10,
  1279. descs: 'id',
  1280. }
  1281. this.getMyAssetsOrderProd()
  1282. },
  1283. getMyAssetsOrderResetSearch() {
  1284. this.$router.push({ query: {} });
  1285. this.assetsListQuery = {
  1286. current: 1,
  1287. size: 10,
  1288. descs: 'id',
  1289. }
  1290. this.getMyAssetsOrder()
  1291. },
  1292. getMyAssetsOrderOrProd() {
  1293. if (this.toAssetsProd) {
  1294. this.getMyAssetsOrderProd();
  1295. } else {
  1296. this.getMyAssetsOrder();
  1297. }
  1298. },
  1299. // 资产认领实收款到 订单
  1300. assetsDoAllotRealAmountToOrder() {
  1301. const orders = this.claimOrders;
  1302. for (let i in orders) {
  1303. if (!orders[i].thisTimeAmount) {
  1304. this.$message.error("订单号:[" + orders[i].orderId + "],本次认领金额不能为空。");
  1305. return;
  1306. }
  1307. }
  1308. this.$api.businessProduction.assetsDoAllotRealAmountToOrder(this.claimOrders).then(res => {
  1309. if (res.code === 200 && res.data) {
  1310. this.$notify({
  1311. title: '成功',
  1312. message: '实收款认领成功',
  1313. type: 'success',
  1314. duration: 2000
  1315. });
  1316. this.getMyAssetsOrder();
  1317. this.allotAssetsAmountDialog = false;
  1318. this.allotAssetsProdDialog = false;
  1319. } else {
  1320. this.$notify({
  1321. title: '失败',
  1322. message: '实收款认领失败',
  1323. type: 'error',
  1324. duration: 2000
  1325. });
  1326. }
  1327. })
  1328. },
  1329. // 资产认领实收款到 产品
  1330. assetsDoAllotRealAmountToProd() {
  1331. const orders = this.claimOrders;
  1332. for (let i in orders) {
  1333. if (!orders[i].thisTimeAmount) {
  1334. this.$message.error("报告号:[" + orders[i].reportNo + "],本次认领金额不能为空。");
  1335. return;
  1336. }
  1337. }
  1338. this.$api.businessProduction.assetsDoAllotRealAmountToProd(this.claimOrders).then(res => {
  1339. if (res.code === 200 && res.data) {
  1340. this.$notify({
  1341. title: '成功',
  1342. message: '实收款认领成功',
  1343. type: 'success',
  1344. duration: 2000
  1345. });
  1346. this.getMyAssetsOrderProd();
  1347. this.allotAssetsAmountDialog = false;
  1348. this.allotAssetsProdDialog = false;
  1349. } else {
  1350. this.$notify({
  1351. title: '失败',
  1352. message: '实收款认领失败',
  1353. type: 'error',
  1354. duration: 2000
  1355. });
  1356. }
  1357. })
  1358. },
  1359. openPersonalOrderDialog(){
  1360. if (this.claimOrders.length === 0) {
  1361. this.$notify({
  1362. title: '提示',
  1363. message: '请先选择订单,然后认领。',
  1364. type: 'info',
  1365. duration: 2000
  1366. });
  1367. return;
  1368. }
  1369. this.notInfo = this.notInfo + this.notClaimAmount + '¥'
  1370. this.allotPersonalAmountDialog = true;
  1371. },
  1372. tableRowClassName({row, rowIndex}) {
  1373. if (row.invoiceAmount === this.notClaimAmount) {
  1374. return 'success-row';
  1375. }
  1376. return '';
  1377. }
  1378. },
  1379. }
  1380. </script>
  1381. <style lang="scss" scoped>
  1382. /deep/.doWarehouseClass {
  1383. border-radius: 10px;
  1384. }
  1385. .redPoint {
  1386. color: red;
  1387. position: absolute;
  1388. top: 8px;
  1389. left: 5px;
  1390. }
  1391. </style>
  1392. <style>
  1393. .el-table .success-row {
  1394. background: #f0f9eb;
  1395. }
  1396. </style>