detail.vue 157 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652
  1. <template>
  2. <div class="app-container">
  3. <el-collapse v-model="activeName" @change="handleChange" v-if="nodeBusinessInfo.currentNodeInstanceId">
  4. <el-collapse-item>
  5. <template slot="title" >
  6. <span style="font-size:20px; color:RGB(168,168,168)">
  7. <i class="el-icon-star-on"></i>
  8. <span> {{currentNode==null ?'???':currentNode.nodeName?currentNode.nodeName:'结束'}}</span>
  9. <span style="margin-left:30px" v-if="reportNo || statementNo">已取号:<span style="font-style:italic;" v-if="statementNo">{{statementNo}}</span>
  10. <span style="font-style:italic;margin-left:30px" v-if="reportNo">{{reportNo}}</span></span>
  11. </span>
  12. <span style="font-size:15px; margin-left:15px;letter-spacing:2px; color:RGB(168,168,168)">
  13. 点击展开查看实时流程图
  14. </span>
  15. </template>
  16. <WorkflowBoard ref='board' :nodeBusinessInfo="nodeBusinessInfo" />
  17. </el-collapse-item>
  18. </el-collapse>
  19. <div class="button-area">
  20. <el-button class="y-save" round type="info" @click="goBack">返回</el-button>
  21. </div>
  22. <el-tabs v-model="activeTagName" @tab-click="handleClick" type="border-card">
  23. <el-tab-pane name="order" class="pane-class" :lazy=true>
  24. <span slot="label"><i class="el-icon-document"></i> 市场订单</span>
  25. <y-detail-page-layout ref="myPersonalOrder" @save="handleCreate" :editStatus="couldEdit || pgLeader" :couldBack="couldBack">
  26. <div>
  27. <el-form ref="majorForm" :model="major" class="form-container" :rules="rules">
  28. <div class="createMajor-main-container">
  29. <div class="postInfo-container">
  30. <div>
  31. <el-divider content-position="left">
  32. <h3 class="title">
  33. <div class="avatar-wrapper icon-title">订单</div>
  34. <div class="icon-info">大中型订单</div>
  35. </h3>
  36. </el-divider>
  37. </div>
  38. <el-row class="row-style">
  39. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  40. <el-form-item
  41. label="客户经理:"
  42. prop="clientManager"
  43. :rules="{required: true, message: '客户经理不能为空', trigger: 'blur'}"
  44. label-width="120px"
  45. class="postInfo-container-item"
  46. >
  47. <el-input :value="major.clientManager" class="filter-item" readonly disabled />
  48. </el-form-item>
  49. </el-col>
  50. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  51. <el-form-item
  52. label="订单属性:"
  53. prop="financial"
  54. :rules="{required: true, message: '订单属性不能为空', trigger: 'blur'}"
  55. label-width="120px"
  56. class="postInfo-container-item"
  57. >
  58. <el-select v-model="major.financial" placeholder="请选择" style="width: 100%;" :readonly = "pgLeader"
  59. :disabled="pgLeader">
  60. <el-option label="金融" :value="true">金融</el-option>
  61. <el-option label="非金融" :value="false">非金融</el-option>
  62. </el-select>
  63. </el-form-item>
  64. </el-col>
  65. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  66. <el-form-item
  67. label="派单方式:"
  68. prop="allotType"
  69. :rules="{required: true, message: '派单方式不能为空', trigger: 'blur'}"
  70. label-width="120px"
  71. class="postInfo-container-item"
  72. >
  73. <el-select v-model="major.allotType" placeholder="请选择" style="width: 100%" :readonly = "pgLeader"
  74. :disabled="pgLeader" @change="queryOrderOverStock(major.allotType)">
  75. <el-option label="部门轮单" value="轮单"></el-option>
  76. <el-option label="部门指派" value="指派"></el-option>
  77. </el-select>
  78. </el-form-item>
  79. </el-col>
  80. <el-col :xs="24" :sm="12" :lg="6" :span="6" v-if="major.allotType==='指派' || nodeBusinessInfo.currentNodeInstanceId ">
  81. <el-form-item
  82. label="接单部门:"
  83. prop="departmentId"
  84. label-width="120px"
  85. class="postInfo-container-item"
  86. >
  87. <el-select v-model="major.departmentId" style="width: 100%" :readonly = "pgLeader"
  88. :disabled="pgLeader">
  89. <el-option v-for="(d,id) in allotDepartment" :label="d.name" :value="d.id" :disabled="d.orderOverStock>2">
  90. <span style="float: left">{{ d.name }}</span>
  91. <span v-if="d.orderOverStock>2" style="float: right; color: #8492a6; font-size: 13px">轮单已积压</span>
  92. </el-option>
  93. </el-select>
  94. </el-form-item>
  95. </el-col>
  96. </el-row>
  97. <el-row class="row-style" v-if="saveOrderBtn==null">
  98. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  99. <el-form-item
  100. label="项目负责人:"
  101. prop="principalId"
  102. label-width="120px"
  103. :class="['postInfo-container-item']"
  104. >
  105. <el-select v-model="major.principalId"
  106. placeholder="待定" style="width: 100%" filterable
  107. :readonly = "!pgLeader"
  108. :disabled="!pgLeader"
  109. >
  110. <el-option v-for="(p,id) in principals" :label="p.name" :value="p.id"></el-option>
  111. </el-select>
  112. </el-form-item>
  113. </el-col>
  114. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  115. <el-form-item
  116. label="项目成员:"
  117. prop="membersId"
  118. label-width="120px"
  119. :class="['postInfo-container-item']"
  120. >
  121. <el-select v-model="major.membersId"
  122. placeholder="待定"
  123. multiple filterable
  124. :readonly = "!pgLeader"
  125. :disabled="!pgLeader"
  126. style="width: 100%">
  127. <el-option v-for="(u,id) in allUsers" :label="u.name" :value="u.id"></el-option>
  128. </el-select>
  129. </el-form-item>
  130. </el-col>
  131. </el-row>
  132. <el-row class="row-style">
  133. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  134. <el-form-item
  135. label="订单号:"
  136. prop="orderId"
  137. label-width="120px"
  138. :class="['postInfo-container-item']"
  139. >
  140. <el-input :value="major.orderId" class="filter-item" readonly disabled style=" width: 225px"></el-input>
  141. </el-form-item>
  142. </el-col>
  143. <el-col :xs="12" :sm="12" :lg="18" :span="6">
  144. <el-form-item
  145. label="订单名称:"
  146. prop="name"
  147. :rules="{required: true, message: '订单名称不能为空', trigger: 'blur'}"
  148. label-width="120px"
  149. class="postInfo-container-item"
  150. >
  151. <el-input v-model="major.name" clearable class="filter-item" style=" width: 100%" />
  152. </el-form-item>
  153. </el-col>
  154. </el-row>
  155. <el-row class="row-style">
  156. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  157. <el-form-item
  158. label="对象类型:"
  159. prop="businessObjectType"
  160. :rules="{required: true, message: '评估对象类型不能为空', trigger: 'blur'}"
  161. label-width="120px"
  162. class="postInfo-container-item"
  163. >
  164. <el-select v-model="major.businessObjectType" placeholder="请选择" @change="changeType" style="width: 100%">
  165. <el-option label="土地" value="土地"></el-option>
  166. <el-option label="房地产" value="房地产"></el-option>
  167. </el-select>
  168. </el-form-item>
  169. </el-col>
  170. <el-col :xs="24" :sm="12" :lg="6" :span="6" v-if="major.businessObjectType==='房地产'">
  171. <el-form-item
  172. label="特殊类型:"
  173. prop="specialType"
  174. label-width="120px"
  175. class="postInfo-container-item"
  176. >
  177. <el-select v-model="major.specialType" placeholder="请选择" style="width: 100%">
  178. <el-option label="在建工程" value="在建工程"></el-option>
  179. <el-option label="加油加气站" value="加油加气站"></el-option>
  180. <el-option label="电站" value="电站"></el-option>
  181. <el-option label="客运站" value="客运站"></el-option>
  182. </el-select>
  183. </el-form-item>
  184. </el-col>
  185. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  186. <el-form-item
  187. label="业务类型:"
  188. prop="businessGener"
  189. label-width="120px"
  190. class="postInfo-container-item"
  191. >
  192. <el-select v-model="major.businessGener" placeholder="请选择" clearable style="width: 100%" >
  193. <el-option v-for="(type,index) in types" :label="type" :value="type"></el-option>
  194. </el-select>
  195. </el-form-item>
  196. </el-col>
  197. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  198. <el-form-item
  199. label="评估目的:"
  200. prop="evaluateAim"
  201. :rules="{required: true, message: '评估目的不能为空', trigger: 'blur'}"
  202. label-width="120px"
  203. class="postInfo-container-item"
  204. >
  205. <el-select v-model="major.evaluateAim" placeholder="请选择" style="width: 100%">
  206. <el-option label="抵押" value="抵押"></el-option>
  207. <el-option label="咨询" value="咨询"></el-option>
  208. <el-option label="融资" value="融资"></el-option>
  209. <el-option label="司法" value="司法"></el-option>
  210. <el-option label="可行性研究" value="可行性研究"></el-option>
  211. <el-option label="不良资产价值评估" value="不良资产价值评估"></el-option>
  212. <el-option label="租金" value="租金"></el-option>
  213. <el-option label="BD" value="BD"></el-option>
  214. <el-option label="其他" value="其他"></el-option>
  215. </el-select>
  216. </el-form-item>
  217. </el-col>
  218. </el-row>
  219. <el-row class="row-style">
  220. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  221. <el-form-item
  222. label="再次委托:"
  223. prop="entrustAgain"
  224. :rules="{required: true, message: '再次委托不能为空', trigger: 'blur'}"
  225. label-width="120px"
  226. class="postInfo-container-item"
  227. >
  228. <el-radio v-model="major.entrustAgain" :label="false" size="medium" >否</el-radio>
  229. <el-radio v-model="major.entrustAgain" :label="true" size="medium" >是</el-radio>
  230. </el-form-item>
  231. </el-col>
  232. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  233. <el-form-item
  234. label="分户搬迁:"
  235. prop="multipleRemoval"
  236. :rules="{required: true, message: '分户搬迁不能为空', trigger: 'blur'}"
  237. label-width="120px"
  238. class="postInfo-container-item"
  239. >
  240. <el-radio v-model="major.multipleRemoval" :label="false" size="medium" >否</el-radio>
  241. <el-radio v-model="major.multipleRemoval" :label="true" size="medium" >是</el-radio>
  242. </el-form-item>
  243. </el-col>
  244. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  245. <el-form-item
  246. label="是否口估:"
  247. prop="informalEvaluate"
  248. :rules="{required: true, message: '是否口估不能为空', trigger: 'blur'}"
  249. label-width="120px"
  250. class="postInfo-container-item"
  251. >
  252. <el-radio v-model="major.informalEvaluate" :label="false" size="medium" >否</el-radio>
  253. <el-radio v-model="major.informalEvaluate" :label="true" size="medium" >是</el-radio>
  254. </el-form-item>
  255. </el-col>
  256. </el-row>
  257. <el-row class="row-style">
  258. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  259. <el-form-item
  260. label="客户类型:"
  261. prop="clienteleType"
  262. :rules="{required: true, message: '客户类型不能为空', trigger: 'blur'}"
  263. label-width="120px"
  264. class="postInfo-container-item"
  265. >
  266. <el-select v-model="major.clienteleType" placeholder="请选择" @change="changeCustomerType(0)" style="width: 100%">
  267. <el-option label="企业" value="企业"></el-option>
  268. <el-option label="个人" value="个人"></el-option>
  269. </el-select>
  270. </el-form-item>
  271. </el-col>
  272. <el-col :xs="24" :sm="12" :lg="6" :span="6" v-if="major.clienteleType==='企业'">
  273. <el-form-item
  274. label="客户名称:"
  275. prop="clienteleId"
  276. label-width="120px"
  277. class="postInfo-container-item"
  278. >
  279. <el-select v-model="major.clienteleId" placeholder="请选择(可搜索)" @change="findSubClientele(0)" clearable filterable style="width: 100%" v-if="couldEdit">
  280. <el-option v-for="(c,id) in customerCompany" :label="c.name" :value="c.id"></el-option>
  281. </el-select>
  282. <el-input :value="major.cclienteleName" class="filter-item" v-else/>
  283. </el-form-item>
  284. </el-col>
  285. <el-col :xs="24" :sm="12" :lg="6" :span="6" v-if="major.clienteleType==='企业'">
  286. <el-form-item
  287. label="业务来源:"
  288. prop="clienteleSubId"
  289. label-width="120px"
  290. class="postInfo-container-item"
  291. >
  292. <el-select v-model="major.clienteleSubId" placeholder="请选择(可搜索)" @change="getCustomerContract" clearable filterable style="width: 100%" v-if="couldEdit">
  293. <el-option v-for="(s,id) in subCustomerCompany" :label="s.name" :value="s.id"></el-option>
  294. </el-select>
  295. <el-input :value="major.cclienteleSubName" class="filter-item" v-else />
  296. </el-form-item>
  297. </el-col>
  298. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  299. <el-form-item
  300. label="客户联系人:"
  301. prop="clienteleContactId"
  302. :rules="{required: true, message: '客户联系人不能为空', trigger: 'blur'}"
  303. label-width="140px"
  304. class="postInfo-container-item"
  305. >
  306. <div v-if="couldEdit">
  307. <el-select v-model="major.clienteleContactId" placeholder="请选择(可搜索)" clearable filterable @change="getContactInfo" style="width:80%">
  308. <el-option v-for="(c,id) in customerContract" :label="c.name" :value="c.id"></el-option>
  309. </el-select>
  310. <el-tooltip class="item" effect="dark" content="没有联系人?点击新增" placement="top-end">
  311. <span style="margin-left:5%;color:RGB(64,158,255);cursor:pointer" @click="createLinkman(false)">新增</span>
  312. </el-tooltip>
  313. </div>
  314. <el-input :value="major.cclienteleContactName" class="filter-item" v-else/>
  315. </el-form-item>
  316. </el-col>
  317. </el-row>
  318. <el-row class="row-style">
  319. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  320. <el-form-item
  321. label="联系人电话:"
  322. prop="clienteleContactId"
  323. label-width="120px"
  324. class="postInfo-container-item"
  325. >
  326. <el-input :value="major.cmobile" class="filter-item" readonly disabled/>
  327. </el-form-item>
  328. </el-col>
  329. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  330. <el-form-item
  331. label="联系人部门:"
  332. prop="cdepartment"
  333. label-width="120px"
  334. class="postInfo-container-item"
  335. >
  336. <el-input :value="major.cdepartment" class="filter-item" readonly disabled/>
  337. </el-form-item>
  338. </el-col>
  339. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  340. <el-form-item
  341. label="联系人职务:"
  342. prop="cduty"
  343. label-width="120px"
  344. class="postInfo-container-item"
  345. >
  346. <el-input :value="major.cduty" class="filter-item" readonly disabled/>
  347. </el-form-item>
  348. </el-col>
  349. </el-row>
  350. <el-row class="row-style">
  351. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  352. <el-form-item
  353. label="分配产值:"
  354. prop="dispenseBenefit"
  355. :rules="{required: true, message: '分配产值不能为空', trigger: 'blur'}"
  356. label-width="120px"
  357. class="postInfo-container-item"
  358. >
  359. <el-radio v-model="major.dispenseBenefit" :label="false" size="medium" >否</el-radio>
  360. <el-radio v-model="major.dispenseBenefit" :label="true" size="medium">是</el-radio>
  361. </el-form-item>
  362. </el-col>
  363. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  364. <el-form-item
  365. label="是否异地:"
  366. prop="nonnative"
  367. :rules="{required: true, message: '是否异地不能为空', trigger: 'blur'}"
  368. label-width="120px"
  369. class="postInfo-container-item"
  370. >
  371. <el-radio v-model="major.nonnative" :label="false" size="medium" >否</el-radio>
  372. <el-radio v-model="major.nonnative" :label="true" size="medium" >是</el-radio>
  373. </el-form-item>
  374. </el-col>
  375. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  376. <el-form-item
  377. label="是否续贷:"
  378. prop="refinance"
  379. :rules="{required: true, message: '是否续贷不能为空', trigger: 'blur'}"
  380. label-width="120px"
  381. class="postInfo-container-item"
  382. >
  383. <el-radio v-model="major.refinance" :label="false" size="medium" >否</el-radio>
  384. <el-radio v-model="major.refinance" :label="true" size="medium">是</el-radio>
  385. </el-form-item>
  386. </el-col>
  387. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  388. <el-form-item
  389. label="贷款到期:"
  390. prop="loanExpire"
  391. label-width="120px"
  392. class="postInfo-container-item"
  393. >
  394. <el-radio v-model="major.loanExpire" :label="false" size="medium" >否</el-radio>
  395. <el-radio v-model="major.loanExpire" :label="true" size="medium">是</el-radio>
  396. </el-form-item>
  397. </el-col>
  398. </el-row>
  399. <el-row class="row-style">
  400. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  401. <el-form-item
  402. label="贷款额度:"
  403. prop="loanLimit"
  404. label-width="120px"
  405. class="postInfo-container-item"
  406. >
  407. <el-input v-model="major.loanLimit" clearable class="filter-item" >
  408. <template slot="append">万</template>
  409. </el-input>
  410. </el-form-item>
  411. </el-col>
  412. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  413. <el-form-item
  414. label="贷款期限:"
  415. prop="loanPeriod"
  416. label-width="120px"
  417. class="postInfo-container-item"
  418. >
  419. <el-input v-model="major.loanPeriod" clearable class="filter-item" >
  420. <template slot="append">年</template>
  421. </el-input>
  422. </el-form-item>
  423. </el-col>
  424. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  425. <el-form-item
  426. label="贷款性质:"
  427. prop="loanNature"
  428. label-width="120px"
  429. class="postInfo-container-item"
  430. >
  431. <el-input v-model="major.loanNature" clearable class="filter-item" />
  432. </el-form-item>
  433. </el-col>
  434. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  435. <el-form-item
  436. label="贷款用途:"
  437. prop="loanAim"
  438. label-width="120px"
  439. class="postInfo-container-item"
  440. >
  441. <el-input v-model="major.loanAim" clearable class="filter-item" />
  442. </el-form-item>
  443. </el-col>
  444. </el-row>
  445. <el-row class="row-style">
  446. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  447. <el-form-item
  448. label="委托人:"
  449. prop="bailor"
  450. :rules="{required: true, message: '委托人不能为空', trigger: 'blur'}"
  451. label-width="120px"
  452. class="postInfo-container-item"
  453. >
  454. <el-input v-model="major.bailor" clearable class="filter-item" />
  455. </el-form-item>
  456. </el-col>
  457. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  458. <el-form-item
  459. label="委托人地址:"
  460. prop="bailorAddress"
  461. label-width="120px"
  462. class="postInfo-container-item"
  463. >
  464. <el-input v-model="major.bailorAddress" clearable class="filter-item" />
  465. </el-form-item>
  466. </el-col>
  467. </el-row>
  468. <el-row class="row-style">
  469. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  470. <el-form-item
  471. label="委托联系人:"
  472. prop="bailorContactName"
  473. :rules="{required: true, message: '委托联系人不能为空', trigger: 'blur'}"
  474. label-width="140px"
  475. class="postInfo-container-item"
  476. >
  477. <el-input v-model="major.bailorContactName" clearable class="filter-item" />
  478. </el-form-item>
  479. </el-col>
  480. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  481. <el-form-item
  482. label="委托电话:"
  483. prop="bailorContactTel"
  484. label-width="120px"
  485. class="postInfo-container-item"
  486. >
  487. <el-input v-model="major.bailorContactTel" clearable class="filter-item"/>
  488. </el-form-item>
  489. </el-col>
  490. </el-row>
  491. <el-row class="row-style">
  492. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  493. <el-form-item
  494. label="产权人:"
  495. prop="owner"
  496. label-width="120px"
  497. class="postInfo-container-item"
  498. >
  499. <el-input v-model="major.owner" clearable class="filter-item"/>
  500. </el-form-item>
  501. </el-col>
  502. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  503. <el-form-item
  504. label="产权人电话:"
  505. prop="ownerTel"
  506. label-width="120px"
  507. class="postInfo-container-item"
  508. >
  509. <el-input v-model="major.ownerTel" clearable class="filter-item"/>
  510. </el-form-item>
  511. </el-col>
  512. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  513. <el-form-item
  514. label="是否加急:"
  515. prop="urgent"
  516. :rules="{required: true, message: '是否加急不能为空', trigger: 'blur'}"
  517. label-width="120px"
  518. class="postInfo-container-item"
  519. >
  520. <el-radio v-model="major.urgent" :label="false" size="medium" >否</el-radio>
  521. <el-radio v-model="major.urgent" :label="true" size="medium" >是</el-radio>
  522. </el-form-item>
  523. </el-col>
  524. </el-row>
  525. <el-row class="row-style">
  526. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  527. <el-form-item
  528. label="终端客户类型:"
  529. prop="terminalClienteleType"
  530. label-width="140px"
  531. class="postInfo-container-item"
  532. >
  533. <el-select v-model="major.terminalClienteleType" placeholder="请选择" clearable @change="changeCustomerType(1)" style="width:100%">
  534. <el-option label="企业" value="企业"></el-option>
  535. <el-option label="个人" value="个人"></el-option>
  536. </el-select>
  537. </el-form-item>
  538. </el-col>
  539. <el-col :xs="24" :sm="12" :lg="12" :span="6" v-if="major.terminalClienteleType!=''">
  540. <el-form-item
  541. label="终端客户名称:"
  542. prop="terminalClienteleId"
  543. label-width="140px"
  544. :rules="{required: true, message: '终端客户名称不能为空', trigger: 'blur'}"
  545. class="postInfo-container-item"
  546. >
  547. <div v-if="couldEdit">
  548. <el-select v-model="major.terminalClienteleId" placeholder="请选择(可搜索)" @change="findSubClientele(1)" clearable filterable style="width:90%">
  549. <el-option v-for="(c,id) in tCustomerCompany" :label="c.name" :value="c.id"></el-option>
  550. </el-select>
  551. <el-tooltip class="item" effect="dark" content="没有终端客户?点击新增" placement="top-end">
  552. <span style="margin-left:5%;color:RGB(64,158,255);cursor:pointer" @click="createTerminalClient()">新增</span>
  553. </el-tooltip>
  554. </div>
  555. <el-input :value="major.tterminalClienteleName" readonly disabled class="filter-item" v-else/>
  556. </el-form-item>
  557. </el-col>
  558. <el-col :xs="24" :sm="12" :lg="6" :span="6" v-if="major.terminalClienteleType=='企业'">
  559. <el-form-item
  560. label="终端联系人:"
  561. prop="terminalClienteleContactId"
  562. label-width="140px"
  563. :rules="{required: true, message: '终端联系人不能为空', trigger: 'blur'}"
  564. class="postInfo-container-item"
  565. >
  566. <div v-if="couldEdit">
  567. <el-select v-model="major.terminalClienteleContactId" placeholder="请选择(可搜索)" clearable filterable @change="getTcontactInfo" style="width:80%">
  568. <el-option v-for="(c,id) in tCustomerContract" :label="c.name" :value="c.id"></el-option>
  569. </el-select>
  570. <el-tooltip class="item" effect="dark" content="没有联系人?点击新增" placement="top-end">
  571. <span style="margin-left:5%;color:RGB(64,158,255);cursor:pointer" @click="createTlinkman()">新增</span>
  572. </el-tooltip>
  573. </div>
  574. <el-input :value="major.tterminalClienteleContactName" readonly disabled class="filter-item" v-else/>
  575. </el-form-item>
  576. </el-col>
  577. <el-col :xs="24" :sm="12" :lg="6" :span="6" v-if="major.terminalClienteleType!=''">
  578. <el-form-item
  579. label="终端联系电话:"
  580. prop="tmobile"
  581. label-width="140px"
  582. class="postInfo-container-item"
  583. >
  584. <el-input :value="major.tmobile" class="filter-item" readonly disabled/>
  585. </el-form-item>
  586. </el-col>
  587. </el-row>
  588. <el-row class="row-style">
  589. <el-col :xs="24" :sm="12" :lg="18" :span="12">
  590. <el-form-item
  591. label="订单备注:"
  592. prop="remark"
  593. label-width="120px"
  594. class="postInfo-container-item"
  595. >
  596. <el-input v-model="major.remark" :autosize="{ minRows: 1, maxRows: 1}" clearable class="filter-item" type="textarea" />
  597. </el-form-item>
  598. </el-col>
  599. </el-row>
  600. </div>
  601. </div>
  602. </el-form>
  603. </div>
  604. </y-detail-page-layout>
  605. </el-tab-pane>
  606. <el-tab-pane name="evaluate" class="pane-class" :lazy=true v-if ="!couldEdit">
  607. <span slot="label"><i class="el-icon-office-building"></i> 估价对象</span>
  608. <div class="createMajor-main-container">
  609. <div class="postInfo-container">
  610. <div>
  611. <el-divider content-position="left">
  612. <h3 class="title">
  613. <div class="avatar-wrapper icon-title">对象</div>
  614. <div class="icon-info">{{major.businessObjectType}}</div>
  615. </h3>
  616. </el-divider>
  617. </div>
  618. </div>
  619. </div>
  620. <div class="evaluate-table" v-if="major.businessObjectType==='土地'">
  621. <div >
  622. <el-row >
  623. <el-col :span="2">
  624. <div>
  625. <el-statistic
  626. group-separator=","
  627. :precision="4"
  628. :value="totalEvaluateValue"
  629. title="估价对象总价(万)"
  630. >
  631. <template slot="prefix">
  632. <i class="el-icon-coin"></i>
  633. </template>
  634. </el-statistic>
  635. </div>
  636. </el-col>
  637. <el-col :span="2" style="margin-left:20px">
  638. <div>
  639. <el-statistic
  640. group-separator=","
  641. :precision="2"
  642. :value="totalAcreage"
  643. title="估价对象总面积(㎡)"
  644. >
  645. <template slot="prefix">
  646. <i class="el-icon-house"></i>
  647. </template>
  648. </el-statistic>
  649. </div>
  650. </el-col>
  651. </el-row>
  652. </div>
  653. <el-table
  654. ref="multipleTable"
  655. :data="evaluateLandData"
  656. stripe
  657. :header-row-style="{ color: '#333333','font-size': '14px' }"
  658. border
  659. takeNumberItems
  660. style="width: 100%; margin-top:20px;font-size: 14px;">
  661. <el-table-column
  662. type="index"
  663. label="序号"
  664. width="50"
  665. align="center">
  666. </el-table-column>
  667. <el-table-column
  668. prop="located"
  669. label="坐落"
  670. align="center"
  671. show-overflow-tooltip>
  672. </el-table-column>
  673. <el-table-column
  674. prop="landType"
  675. label="土地类型"
  676. width="80"
  677. align="center">
  678. </el-table-column>
  679. <el-table-column
  680. prop="landUse"
  681. label="用途"
  682. width="80"
  683. align="center">
  684. </el-table-column>
  685. <el-table-column
  686. prop="rightToUser"
  687. label="所有权人"
  688. align="center"
  689. show-overflow-tooltip>
  690. </el-table-column>
  691. <el-table-column
  692. prop="landCertificateNo"
  693. label="国土证号"
  694. align="center"
  695. show-overflow-tooltip>
  696. </el-table-column>
  697. <el-table-column
  698. prop="plotRatio"
  699. label="容积率(%)"
  700. width="80"
  701. align="center">
  702. </el-table-column>
  703. <el-table-column
  704. prop="useAcreage"
  705. label="使用权面积(㎡)"
  706. width="80"
  707. align="center">
  708. </el-table-column>
  709. <el-table-column
  710. prop="evaluateValue"
  711. label="初步定价(万)"
  712. width="80"
  713. align="center">
  714. </el-table-column>
  715. <el-table-column
  716. prop="checked"
  717. label="审核定价(万)"
  718. width="80"
  719. align="center">
  720. <template slot-scope="scope">
  721. {{scope.row.checkValue==null?'待审核':scope.row.checkValue}}
  722. </template>
  723. </el-table-column>
  724. <el-table-column
  725. prop="statementNo"
  726. label="价值意见书号"
  727. align="center"
  728. width=250
  729. show-overflow-tooltip>
  730. <template slot-scope="scope">
  731. <el-tag type='success'>
  732. {{scope.row.statementNo==null?'未取号':scope.row.statementNo}}</el-tag>
  733. </template>
  734. </el-table-column>
  735. <el-table-column
  736. prop="reportNo"
  737. label="报告号"
  738. align="center"
  739. width=250
  740. show-overflow-tooltip>
  741. <template slot-scope="scope">
  742. <el-tag type='danger'>
  743. {{scope.row.reportNo==null?'未取号':scope.row.reportNo}}</el-tag>
  744. </template>
  745. </el-table-column>
  746. <el-table-column
  747. prop="letterNo"
  748. label="复评函号"
  749. align="center"
  750. width=250
  751. show-overflow-tooltip>
  752. <template slot-scope="scope">
  753. <el-tag>
  754. {{scope.row.letterNo==null?'未取号':scope.row.letterNo}}</el-tag>
  755. </template>
  756. </el-table-column>
  757. <el-table-column
  758. label="操作"
  759. width="100"
  760. align="center">
  761. <template slot-scope="scope">
  762. <el-button @click="landTargetEdit(scope.row)" type="text" size="small">
  763. 查看
  764. </el-button>
  765. </template>
  766. </el-table-column>
  767. </el-table>
  768. </div>
  769. <div class="evaluate-table" v-if="major.businessObjectType==='房地产'">
  770. <div >
  771. <el-row>
  772. <el-col :span="2">
  773. <div>
  774. <el-statistic
  775. group-separator=","
  776. :precision="4"
  777. :value="totalEvaluateValue"
  778. title="估价对象总价(万)"
  779. >
  780. <template slot="prefix">
  781. <i class="el-icon-coin"></i>
  782. </template>
  783. </el-statistic>
  784. </div>
  785. </el-col>
  786. <el-col :span="2" style="margin-left:20px">
  787. <div>
  788. <el-statistic
  789. group-separator=","
  790. :precision="2"
  791. :value="totalAcreage"
  792. title="估价对象总面积(㎡)"
  793. >
  794. <template slot="prefix">
  795. <i class="el-icon-house"></i>
  796. </template>
  797. </el-statistic>
  798. </div>
  799. </el-col>
  800. </el-row>
  801. </div>
  802. <el-table
  803. ref="multipleTable"
  804. :data="evaluateLandData"
  805. stripe
  806. :header-row-style="{ color: '#333333','font-size': '14px' }"
  807. border
  808. takeNumberItems
  809. style="width: 100%; margin-top:20px;font-size: 14px;">
  810. <el-table-column
  811. type="index"
  812. label="序号"
  813. width="50"
  814. align="center">
  815. </el-table-column>
  816. <el-table-column
  817. prop="housePurpose"
  818. label="用途"
  819. width="80"
  820. align="center"
  821. show-overflow-tooltip>
  822. <template slot-scope="scope">
  823. <span v-for="(u,index) in JSON.parse(scope.row.housePurpose)">
  824. {{u}} {{index==((JSON.parse(scope.row.housePurpose)).length-1)?'':','}}
  825. </span>
  826. </template>
  827. </el-table-column>
  828. <el-table-column
  829. prop="owner"
  830. label="权利人"
  831. width="120"
  832. show-overflow-tooltip
  833. align="center">
  834. </el-table-column>
  835. <el-table-column
  836. prop="located"
  837. label="坐落"
  838. align="center"
  839. show-overflow-tooltip>
  840. </el-table-column>
  841. <el-table-column
  842. prop="buildAcreage"
  843. label="建筑面积(㎡)"
  844. width="80"
  845. align="center"
  846. show-overflow-tooltip>
  847. </el-table-column>
  848. <el-table-column
  849. prop="landAcreage"
  850. label="土地面积(㎡)"
  851. width="80"
  852. align="center">
  853. </el-table-column>
  854. <el-table-column
  855. prop="evaluateValue"
  856. label="初步定价(万)"
  857. width="80"
  858. align="center">
  859. </el-table-column>
  860. <el-table-column
  861. prop="checked"
  862. label="审核定价(万)"
  863. width="80"
  864. align="center">
  865. <template slot-scope="scope">
  866. {{scope.row.checkValue==null?'待审核':scope.row.checkValue}}
  867. </template>
  868. </el-table-column>
  869. <el-table-column
  870. prop="statementNo"
  871. label="价值意见书号"
  872. align="center"
  873. width=250
  874. show-overflow-tooltip>
  875. <template slot-scope="scope">
  876. <el-tag type='success'>
  877. {{scope.row.statementNo==null?'未取号':scope.row.statementNo}}</el-tag>
  878. </template>
  879. </el-table-column>
  880. <el-table-column
  881. prop="reportNo"
  882. label="报告号"
  883. align="center"
  884. width=250
  885. show-overflow-tooltip>
  886. <template slot-scope="scope">
  887. <el-tag type='danger'>
  888. {{scope.row.reportNo==null?'未取号':scope.row.reportNo}}</el-tag>
  889. </template>
  890. </el-table-column>
  891. <el-table-column
  892. prop="letterNo"
  893. label="复评函号"
  894. align="center"
  895. width=250
  896. show-overflow-tooltip>
  897. <template slot-scope="scope">
  898. <el-tag >
  899. {{scope.row.letterNo==null?'未取号':scope.row.letterNo}}</el-tag>
  900. </template>
  901. </el-table-column>
  902. <el-table-column
  903. label="操作"
  904. width="100"
  905. align="center">
  906. <template slot-scope="scope">
  907. <el-button @click="landTargetEdit(scope.row)" type="text" size="small">
  908. 查看
  909. </el-button>
  910. </template>
  911. </el-table-column>
  912. </el-table>
  913. </div>
  914. <div class="createMajor-main-container" style="margin-top:50px">
  915. <div class="postInfo-container">
  916. <div>
  917. <el-divider content-position="left">
  918. <h3 class="title">
  919. <div class="avatar-wrapper icon-title">反馈</div>
  920. <div class="icon-info">客户反馈</div>
  921. </h3>
  922. </el-divider>
  923. </div>
  924. </div>
  925. <el-form ref="feedbackFrom" :model="feedback" class="form-container" style="margin-top:50px">
  926. <el-row >
  927. <el-col :xs="24" :sm="12" :lg="8" :span="6">
  928. <el-form-item
  929. label="出具产品类型:"
  930. prop="production"
  931. :rules="{required: true, message: '出具产品类型不能为空', trigger: 'blur'}"
  932. label-width="160px"
  933. class="postInfo-container-item"
  934. >
  935. <el-checkbox-group v-model="feedback.production">
  936. <el-checkbox-button label="STATEMENT" name="production">价值意见书</el-checkbox-button>
  937. <el-checkbox-button label="REPORT" name="production">报告</el-checkbox-button>
  938. <el-checkbox-button label="LETTER" name="production">复评函</el-checkbox-button>
  939. </el-checkbox-group>
  940. </el-form-item>
  941. </el-col>
  942. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  943. <el-form-item
  944. label="打印份数:"
  945. prop="printing"
  946. :rules="{required: true, message: '打印份数不能为空', trigger: 'blur'}"
  947. label-width="120px"
  948. class="postInfo-container-item"
  949. >
  950. <el-input-number disabled :precision="0" :min="1" :value-on-clear="1" v-model.number="feedback.printing" type="number"
  951. style="width:206px"
  952. class="filter-item" />
  953. </el-form-item>
  954. </el-col>
  955. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  956. <el-form-item
  957. label="打印备注:"
  958. prop="printingRemark"
  959. label-width="120px"
  960. class="postInfo-container-item"
  961. >
  962. <el-select v-model="feedback.printingRemark" disabled readonly>
  963. <el-option label="一本不装订" value="一本不装订"></el-option>
  964. <el-option label="一本带技术" value="一本带技术"></el-option>
  965. <el-option label="一本带技术不装订" value="一本带技术不装订"></el-option>
  966. </el-select>
  967. </el-form-item>
  968. </el-col>
  969. </el-row>
  970. </el-form>
  971. </div>
  972. </el-tab-pane>
  973. <el-tab-pane name="producution" class="pane-class" :lazy=true v-if ="!couldEdit">
  974. <span slot="label"><i class="el-icon-document-checked"></i> 产品信息</span>
  975. <div class="createMajor-main-container" style="margin-top:40px">
  976. <div class="postInfo-container">
  977. <div>
  978. <el-divider content-position="left">
  979. <h3 class="title">
  980. <div class="avatar-wrapper icon-title">产品</div>
  981. <div class="icon-info">产品信息</div>
  982. </h3>
  983. </el-divider>
  984. </div>
  985. </div>
  986. </div>
  987. <el-table
  988. :data="productions"
  989. stripe
  990. ref = "pTable"
  991. :header-row-style="{ color: '#333333', 'font-size': '16px' }"
  992. border
  993. style="width: 99%; margin-top:20px;font-size: 16px;">
  994. <el-table-column type="expand">
  995. <template slot-scope="props">
  996. <el-form label-position="left" :model="props.row" class="form-container" :ref="'productionFrom' + props.row.id" :rules="rules">
  997. <div>
  998. <el-row class="row-style">
  999. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  1000. <el-form-item
  1001. prop="name"
  1002. :rules="{required: true, message: '项目不能为空', trigger: 'blur'}"
  1003. label-width="120px"
  1004. class="postInfo-container-item" label="项目名称:">
  1005. <el-input v-model="props.row.name" class="filter-item"
  1006. :readonly = "!pgLeader"
  1007. :disabled="!pgLeader"/>
  1008. </el-form-item>
  1009. </el-col>
  1010. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  1011. <el-form-item prop="clientName"
  1012. :rules="{required: true, message: '委托方不能为空', trigger: 'blur'}"
  1013. label-width="120px"
  1014. class="postInfo-container-item" label="委托方:">
  1015. <el-input v-model="props.row.clientName" class="filter-item"
  1016. :readonly = "!pgLeader"
  1017. :disabled="!pgLeader" />
  1018. </el-form-item>
  1019. </el-col>
  1020. </el-row><el-row class="row-style">
  1021. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  1022. <el-form-item prop="clientAddress"
  1023. :rules="{required: true, message: '委托方地址不能为空', trigger: 'blur'}"
  1024. label-width="140px"
  1025. class="postInfo-container-item" label="委托方地址:">
  1026. <el-input v-model="props.row.clientAddress" class="filter-item"
  1027. :readonly = "!pgLeader"
  1028. :disabled="!pgLeader"/>
  1029. </el-form-item>
  1030. </el-col>
  1031. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  1032. <el-form-item prop="clientTel"
  1033. :rules="{required: true, message: '委托方电话不能为空', trigger: 'blur'}"
  1034. label-width="140px"
  1035. class="postInfo-container-item" label="委托方电话:">
  1036. <el-input v-model="props.row.clientTel" class="filter-item"
  1037. :readonly = "!pgLeader"
  1038. :disabled="!pgLeader"/>
  1039. </el-form-item>
  1040. </el-col>
  1041. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  1042. <el-form-item prop="validateCode" label-width="140px" class="postInfo-container-item" label="打印二维码:">
  1043. <a @mouseenter="showQR=true">出入库二维码</a> <a @mouseenter="showQR=false" style="margin-left: 5px">验证二维码</a>
  1044. <div class="qr-code-div">
  1045. <img v-show="showQR" class="qr-code" :src="props.row.qrCode" alt="出入库二维码" @click="printQR(props.row.qrCode)"/>
  1046. <img v-show="!showQR" class="qr-code" :src="props.row.validateCode" alt="验证二维码" @click="printQR(props.row.validateCode)"/>
  1047. </div>
  1048. </el-form-item>
  1049. </el-col>
  1050. </el-row>
  1051. <el-row class="row-style">
  1052. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  1053. <el-form-item prop="evaluateAmount"
  1054. :rules="{required: true, message: '评估总价不能为空', trigger: 'blur'}"
  1055. label-width="120px"
  1056. class="postInfo-container-item" label="评估总价:">
  1057. <el-input :precision="2" :min="0" v-model.number="props.row.evaluateAmount" type="number"
  1058. :readonly = "!pgLeader"
  1059. :disabled="!pgLeader"
  1060. style="width:100%"
  1061. class="filter-item">
  1062. <template slot="append">
  1063. <span>万元</span>
  1064. </template>
  1065. </el-input>
  1066. </el-form-item>
  1067. </el-col>
  1068. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  1069. <el-form-item prop="evaluateAcreage"
  1070. :rules="{required: true, message: '评估面积不能为空', trigger: 'blur'}"
  1071. label-width="120px"
  1072. class="postInfo-container-item" label="评估面积:">
  1073. <el-input :precision="2" :min="0" v-model.number="props.row.evaluateAcreage" type="number" :readonly = "!pgLeader"
  1074. :disabled="!pgLeader"
  1075. style="width:100%"
  1076. class="filter-item" >
  1077. <template slot="append">
  1078. <span>平方</span>
  1079. </template>
  1080. </el-input>
  1081. </el-form-item>
  1082. </el-col>
  1083. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  1084. <el-form-item prop="evaluatePrice"
  1085. :rules="{required: true, message: '评估单价不能为空', trigger: 'blur'}"
  1086. label-width="120px"
  1087. class="postInfo-container-item" label="评估单价:">
  1088. <el-input :precision="2" :min="0" v-model.number="props.row.evaluatePrice" type="number" :readonly = "!pgLeader"
  1089. :disabled="!pgLeader"
  1090. style="width:100%"
  1091. class="filter-item" >
  1092. <template slot="append">
  1093. <span>万元</span>
  1094. </template>
  1095. </el-input>
  1096. </el-form-item>
  1097. </el-col>
  1098. </el-row>
  1099. <el-row class="row-style">
  1100. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  1101. <el-form-item prop="owner"
  1102. :rules="{required: true, message: '产权人不能为空', trigger: 'blur'}"
  1103. label-width="120px"
  1104. class="postInfo-container-item" label="产权人:">
  1105. <el-input v-model="props.row.owner" class="filter-item" :readonly = "!pgLeader"
  1106. :disabled="!pgLeader"/>
  1107. </el-form-item>
  1108. </el-col>
  1109. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  1110. <el-form-item prop="valueTiming"
  1111. :rules="{required: true, message: '价值时点不能为空', trigger: 'blur'}"
  1112. label-width="120px"
  1113. class="postInfo-container-item" label="价值时点:">
  1114. <el-date-picker
  1115. v-model="props.row.valueTiming" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width:100%" :readonly = "!pgLeader"
  1116. :disabled="!pgLeader">
  1117. </el-date-picker>
  1118. </el-form-item>
  1119. </el-col>
  1120. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  1121. <el-form-item label="评估目的:" prop="workPurpose"
  1122. :rules="{ required: true, message: '估价目的不能为空', trigger: 'blur' }" label-width="120px"
  1123. class="postInfo-container-item">
  1124. <el-select v-model="props.row.workPurpose" placeholder="请选择" style=" width: 100%" filterable default-first-option allow-create :readonly = "!pgLeader"
  1125. :disabled="!pgLeader" >
  1126. <el-option label="抵押" value="抵押"></el-option>
  1127. <el-option label="咨询" value="咨询"></el-option>
  1128. <el-option label="融资" value="融资"></el-option>
  1129. <el-option label="司法" value="司法"></el-option>
  1130. <el-option label="可行性研究" value="可行性研究"></el-option>
  1131. <el-option label="不良资产价值评估" value="不良资产价值评估"></el-option>
  1132. <el-option label="租金" value="租金"></el-option>
  1133. <el-option label="其他" value="其他"></el-option>
  1134. </el-select>
  1135. </el-form-item>
  1136. </el-col>
  1137. </el-row>
  1138. <el-row class="row-style" v-if="props.row.production==='REPORT'">
  1139. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  1140. <el-form-item prop="workStartDate" :rules="{ required: true, message: '估价作业开始日期不能为空', trigger: 'blur' }"
  1141. label-width="180px" class="postInfo-container-item" label="估价作业开始日期:">
  1142. <el-date-picker v-model="props.row.workStartDate" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width:100%" :readonly = "!pgLeader"
  1143. :disabled="!pgLeader">
  1144. </el-date-picker>
  1145. </el-form-item>
  1146. </el-col>
  1147. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  1148. <el-form-item prop="workEndDate" :rules="{ required: true, message: '估价作业结束日期不能为空', trigger: 'blur' }"
  1149. label-width="180px" class="postInfo-container-item" label="估价作业结束日期:">
  1150. <el-date-picker v-model="props.row.workEndDate" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width:100%" :readonly = "!pgLeader"
  1151. :disabled="!pgLeader">
  1152. </el-date-picker>
  1153. </el-form-item>
  1154. </el-col>
  1155. <el-col :xs="24" :sm="12" :lg="6" :span="6" v-if="props.row.production==='REPORT'">
  1156. <el-form-item prop="signatory"
  1157. label-width="120px"
  1158. class="postInfo-container-item" label="签字人:" >
  1159. <el-select v-model="props.row.signatoryId"
  1160. placeholder="产品类型为报告,签字人必填"
  1161. multiple
  1162. clearable :readonly = "!pgLeader"
  1163. :disabled="!pgLeader"
  1164. style=" width: 100%" >
  1165. <el-option v-for="(u,id) in allUsers" :label="u.name" :value="u.id"></el-option>
  1166. </el-select>
  1167. </el-form-item>
  1168. </el-col>
  1169. </el-row>
  1170. <el-row class="row-style" v-if="props.row.production==='REPORT'">
  1171. <el-col :xs="24" :sm="12" :lg="6" :span="6" v-if="major.businessObjectType === '房地产'">
  1172. <el-form-item label="是否上报协会:" prop="isSubmit"
  1173. :rules="{ required: true, message: '是否上报协会不能为空', trigger: 'blur' }" label-width="140px"
  1174. class="postInfo-container-item">
  1175. <el-radio v-model="props.row.isSubmit" :label="true" size="medium" :readonly = "!pgLeader"
  1176. :disabled="!pgLeader">是</el-radio>
  1177. <el-radio v-model="props.row.isSubmit" :label="false" size="medium" :readonly = "!pgLeader"
  1178. :disabled="!pgLeader">否</el-radio>
  1179. </el-form-item>
  1180. </el-col>
  1181. <el-col :xs="24" :sm="12" :lg="6" :span="6" v-if="major.businessObjectType === '土地'">
  1182. <el-form-item label="是否备案:" prop="isRecord"
  1183. :rules="{ required: true, message: '是否备案不能为空', trigger: 'blur' }" label-width="120px"
  1184. class="postInfo-container-item">
  1185. <el-radio v-model="props.row.isRecord" :label="true" size="medium" :readonly = "!pgLeader"
  1186. :disabled="!pgLeader">是</el-radio>
  1187. <el-radio v-model="props.row.isRecord" :label="false" size="medium" :readonly = "!pgLeader"
  1188. :disabled="!pgLeader">否</el-radio>
  1189. </el-form-item>
  1190. </el-col>
  1191. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  1192. <el-form-item prop="mainWorker" label-width="120px" class="postInfo-container-item"
  1193. label="第一报告人:">
  1194. <el-input :value="props.row.mainWorker" style="width:100%" class="filter-item" :readonly = "!pgLeader"
  1195. :disabled="!pgLeader">
  1196. <template slot="append">
  1197. <span>注册号:{{ props.row.mainWorkerNo }}</span>
  1198. </template>
  1199. </el-input>
  1200. </el-form-item>
  1201. </el-col>
  1202. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  1203. <el-form-item prop="minorWorker" label-width="120px" class="postInfo-container-item"
  1204. label="第二报告人:">
  1205. <el-input :value="props.row.minorWorker" style="width:100%" class="filter-item" :readonly = "!pgLeader"
  1206. :disabled="!pgLeader">
  1207. <template slot="append">
  1208. <span>注册号:{{ props.row.minorWorkerNo }}</span>
  1209. </template>
  1210. </el-input>
  1211. </el-form-item>
  1212. </el-col>
  1213. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  1214. <el-form-item prop="smallWorker" label-width="120px" class="postInfo-container-item"
  1215. label="第三报告人:">
  1216. <el-input :value="props.row.smallWorker" style="width:100%" class="filter-item" :readonly = "!pgLeader"
  1217. :disabled="!pgLeader">
  1218. <template slot="append">
  1219. <span>注册号:{{ props.row.smallWorkerNo }}</span>
  1220. </template>
  1221. </el-input>
  1222. </el-form-item>
  1223. </el-col>
  1224. </el-row>
  1225. <el-row class="row-style">
  1226. <el-col :xs="24" :sm="12" :lg="18" :span="6">
  1227. <el-form-item prop="comment"
  1228. label-width="120px"
  1229. class="postInfo-container-item" label="特殊情况说明:">
  1230. <el-input v-model.trim="props.row.comment" class="filter-item" :readonly = "!pgLeader"
  1231. :disabled="!pgLeader"/>
  1232. </el-form-item>
  1233. </el-col>
  1234. </el-row>
  1235. <el-row class="row-style">
  1236. <el-col :xs="24" :sm="12" :lg="8" :span="6">
  1237. <el-form-item label="产品初稿:" label-width="120px" class="postInfo-container-item">
  1238. <span v-for="file in props.row.filePathList" :key="file.name">
  1239. <el-link @click="officeFileView(file.name, file.url)">{{ file.name }}</el-link>
  1240. </span>
  1241. </el-form-item>
  1242. </el-col>
  1243. <el-col :xs="24" :sm="12" :lg="8" :span="6">
  1244. <el-form-item label="产品审核稿:" label-width="140px" class="postInfo-container-item">
  1245. <span v-for="file in props.row.filePathList1" :key="file.name">
  1246. <el-link @click="officeFileView(file.name, file.url)">{{ file.name }}</el-link>
  1247. </span>
  1248. </el-form-item>
  1249. </el-col>
  1250. </el-row>
  1251. </div>
  1252. </el-form>
  1253. </template>
  1254. </el-table-column>
  1255. <el-table-column
  1256. label="产品号"
  1257. prop="reportNo"
  1258. align="center">
  1259. <template slot-scope="props">
  1260. <span style="color:rgb(131,201,94); font-weight:bold">{{ props.row.reportNo }}</span>
  1261. </template>
  1262. </el-table-column>
  1263. <el-table-column
  1264. label="项目名称"
  1265. prop="name"
  1266. align="center" show-overflow-tooltip>
  1267. <template slot-scope="props">
  1268. <span style="font-size:16px">{{props.row.name}}</span>
  1269. </template>
  1270. </el-table-column>
  1271. <el-table-column
  1272. label="产品类型"
  1273. prop="production"
  1274. align="center">
  1275. <template slot-scope="props">
  1276. <span style="font-size:16px">{{aliasProductionType(props.row.production)}}</span>
  1277. </template>
  1278. </el-table-column>
  1279. <el-table-column label="操作" align="center">
  1280. <template slot-scope="props">
  1281. <el-button round type="danger" @click="saveProduction(props.row)"
  1282. :disabled="!pgLeader">更新产品信息</el-button>
  1283. </template>
  1284. </el-table-column>
  1285. </el-table>
  1286. </el-tab-pane>
  1287. <el-tab-pane name="quality" class="pane-class" :lazy=true v-if ="!couldEdit">
  1288. <span slot="label"><i class="el-icon-pie-chart"></i> 产品质检</span>
  1289. <el-form ref="performanceForm" :model="performance" class="form-container">
  1290. <div class="createMajor-main-container">
  1291. <div class="postInfo-container">
  1292. <div>
  1293. <el-divider content-position="left">
  1294. <h3 class="title">
  1295. <div class="avatar-wrapper icon-title">质检</div>
  1296. <div class="icon-info">产品质检</div>
  1297. </h3>
  1298. </el-divider>
  1299. </div>
  1300. <div style="margin-top:50px">
  1301. <el-row class="row-style" style="margin-top:30px;" >
  1302. <el-col :xs="24" :sm="12" :lg="7" :span="6">
  1303. <el-form-item prop="productionNo"
  1304. label-width="120px"
  1305. class="postInfo-container-item" label="产品号:">
  1306. <el-input style="width:100%;" disabled readonly :value="performance.productionNo" class="filter-item" />
  1307. </el-form-item>
  1308. </el-col>
  1309. <el-col :xs="24" :sm="12" :lg="4" :span="6">
  1310. <el-form-item prop="productionType"
  1311. label-width="120px"
  1312. class="postInfo-container-item" label="产品类型:">
  1313. <el-input style="width:100%;" disabled readonly :value="performance.productionType" class="filter-item" />
  1314. </el-form-item>
  1315. </el-col>
  1316. <el-col :xs="24" :sm="12" :lg="5" :span="6">
  1317. <el-form-item prop="productionName"
  1318. label-width="120px"
  1319. class="postInfo-container-item" label="项目名称:">
  1320. <el-input style="width:100%;" disabled readonly :value="performance.productionName" class="filter-item" />
  1321. </el-form-item>
  1322. </el-col>
  1323. <el-col :xs="24" :sm="12" :lg="4" :span="6">
  1324. <el-form-item prop="productionName"
  1325. label-width="120px"
  1326. class="postInfo-container-item" label="负责人:">
  1327. <el-input style="width:100%;" disabled readonly :value="performance.principal" class="filter-item" />
  1328. </el-form-item>
  1329. </el-col>
  1330. </el-row>
  1331. <el-card shadow="hover" style="width:80%;margin-left:3%" v-for="(p,id) in performance.info" :index="id">
  1332. <el-divider content-position="left">
  1333. <h3 class="title">
  1334. {{p.checkLoop}}
  1335. </h3>
  1336. </el-divider>
  1337. <el-row class="row-style" >
  1338. <el-col :xs="24" :sm="12" :lg="8" :span="6">
  1339. <el-form-item prop="normalMistake"
  1340. label-width="120px"
  1341. class="postInfo-container-item" label="一般错误个数:">
  1342. <el-input-number :min="0" style="width:100%;" type="number" disabled readonly :value="p.normalMistake" class="filter-item" />
  1343. </el-form-item>
  1344. </el-col>
  1345. <el-col :xs="24" :sm="12" :lg="8" :span="6">
  1346. <el-form-item prop="hardMistake"
  1347. label-width="120px"
  1348. class="postInfo-container-item" label="较大错误个数:">
  1349. <el-input-number :min="0" style="width:100%;" type="number" disabled readonly :value="p.hardMistake" class="filter-item" />
  1350. </el-form-item>
  1351. </el-col>
  1352. <el-col :xs="24" :sm="12" :lg="8" :span="6">
  1353. <el-form-item prop="fatalMistake"
  1354. label-width="120px"
  1355. class="postInfo-container-item" label="重大错误个数:">
  1356. <el-input-number :min="0" style="width:100%;" type="number" disabled readonly :value="p.fatalMistake" class="filter-item" />
  1357. </el-form-item>
  1358. </el-col>
  1359. </el-row>
  1360. <el-row class="row-style">
  1361. <el-col :xs="24" :sm="12" :lg="24" :span="6">
  1362. <el-form-item prop="reason"
  1363. label-width="120px"
  1364. class="postInfo-container-item" label="扣分原因:">
  1365. <el-input disabled readonly :value="'一般错误:'+p.normalMistakes +';较大错误:'+p.hardMistakes+';重大错误:'+p.fatalMistakes" class="filter-item" type="textarea" />
  1366. </el-form-item>
  1367. </el-col>
  1368. </el-row>
  1369. </el-card>
  1370. </div>
  1371. </div>
  1372. </div>
  1373. </el-form>
  1374. </el-tab-pane>
  1375. <el-tab-pane name="finance" class="pane-class" :lazy=true v-if ="!couldEdit">
  1376. <span slot="label"><i class="el-icon-coin"></i> 收款开票</span>
  1377. <div class="createMajor-main-container">
  1378. <div class="postInfo-container">
  1379. <div>
  1380. <el-divider content-position="left">
  1381. <h3 class="title">
  1382. <div class="avatar-wrapper icon-title">收开</div>
  1383. <div class="icon-info">收款开票</div>
  1384. </h3>
  1385. </el-divider>
  1386. </div>
  1387. </div>
  1388. </div>
  1389. <div style="margin-top: 40px;" v-if="productionFinance.length > 0">
  1390. <el-card v-for="(item,index) in productionFinance" shadow="hover">
  1391. <el-form ref="financeForm" :model="item" class="form-container">
  1392. <el-divider content-position="left" >
  1393. <span style="font-size:16px;font-weight:bold;">{{ item.productionNo }} {{ item.productionType }}</span>
  1394. </el-divider>
  1395. <el-row class="row-style">
  1396. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  1397. <el-form-item label-width="120px" class="postInfo-container-item" prop="prodRealAmount" label="产品实收金额:">
  1398. <el-input :value="item.prodRealAmount" class="filter-item" type="type" readonly disabled>
  1399. <template slot="append">元</template>
  1400. </el-input>
  1401. </el-form-item>
  1402. </el-col>
  1403. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  1404. <el-form-item label-width="120px" class="postInfo-container-item" prop="orderRealAmount" label="订单实收金额:">
  1405. <el-input :value="item.orderRealAmount" class="filter-item" type="type" readonly disabled>
  1406. <template slot="append">元</template>
  1407. </el-input>
  1408. </el-form-item>
  1409. </el-col>
  1410. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  1411. <el-form-item label-width="120px" class="postInfo-container-item" prop="shouldAmount" label="订单应收金额:">
  1412. <el-input :value="item.shouldAmount" class="filter-item" type="type" readonly disabled>
  1413. <template slot="append">元</template>
  1414. </el-input>
  1415. </el-form-item>
  1416. </el-col>
  1417. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  1418. <el-form-item label-width="120px" class="postInfo-container-item" prop="standardAmount" label="产品标准收费:">
  1419. <el-input :value="item.standardAmount" class="filter-item" type="type" readonly disabled>
  1420. <template slot="append">元</template>
  1421. </el-input>
  1422. </el-form-item>
  1423. </el-col>
  1424. </el-row>
  1425. <el-row class="row-style">
  1426. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  1427. <el-form-item label-width="120px" class="postInfo-container-item" prop="invoiceTitle" label="发票抬头:">
  1428. <el-input :value="item.invoiceTitle" class="filter-item" type="type" readonly disabled />
  1429. </el-form-item>
  1430. </el-col>
  1431. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  1432. <el-form-item label-width="120px" class="postInfo-container-item" prop="invoiceType" label="发票类型:">
  1433. <el-input :value="item.invoiceType" class="filter-item" type="type" readonly disabled />
  1434. </el-form-item>
  1435. </el-col>
  1436. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  1437. <el-form-item label-width="120px" class="postInfo-container-item" prop="taxNo" label="税号:">
  1438. <el-input :value="item.taxNo" class="filter-item" type="type" readonly disabled />
  1439. </el-form-item>
  1440. </el-col>
  1441. </el-row>
  1442. <el-row class="row-style">
  1443. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  1444. <el-form-item label-width="120px" class="postInfo-container-item" prop="invoiceAmount" label="开票金额:">
  1445. <el-input :value="item.invoiceAmount" class="filter-item" type="type" readonly disabled>
  1446. <template slot="append">元</template>
  1447. </el-input>
  1448. </el-form-item>
  1449. </el-col>
  1450. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  1451. <el-form-item label-width="120px" class="postInfo-container-item" prop="invoiceDate" label="开票日期:">
  1452. <el-input :value="item.invoiceDate" class="filter-item" type="type" readonly disabled />
  1453. </el-form-item>
  1454. </el-col>
  1455. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  1456. <el-form-item label-width="120px" class="postInfo-container-item" prop="invoiceTaxRate" label="税点:">
  1457. <el-input :value="item.invoiceTaxRate" class="filter-item" type="type" readonly disabled>
  1458. <template slot="append">%</template>
  1459. </el-input>
  1460. </el-form-item>
  1461. </el-col>
  1462. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  1463. <el-form-item label-width="120px" class="postInfo-container-item" prop="invoiceAmount" label="税额:">
  1464. <el-input :value="item.invoiceAmount" class="filter-item" type="type" readonly disabled >
  1465. <template slot="append">元</template>
  1466. </el-input>
  1467. </el-form-item>
  1468. </el-col>
  1469. </el-row>
  1470. <el-row class="row-style">
  1471. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  1472. <el-form-item label-width="120px" class="postInfo-container-item" prop="bankName" label="开户银行:">
  1473. <el-input :value="item.bankName" class="filter-item" type="type" readonly disabled />
  1474. </el-form-item>
  1475. </el-col>
  1476. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  1477. <el-form-item label-width="120px" class="postInfo-container-item" prop="invoiceState" label="开票状态:">
  1478. <el-input :value="item.invoiceState" class="filter-item" type="type" readonly disabled />
  1479. </el-form-item>
  1480. </el-col>
  1481. </el-row>
  1482. </el-form>
  1483. </el-card>
  1484. </div>
  1485. <div style="margin-top: 40px;height: 30%;text-align: center" v-else>
  1486. <span style="color: darkgrey;">还未设置订单应收款</span>
  1487. </div>
  1488. </el-tab-pane>
  1489. <el-tab-pane name="workflowLog" class="pane-class" :lazy=true v-if="!couldEdit">
  1490. <span slot="label"><i class="el-icon-date"></i> 流程日志</span>
  1491. <div class="createMajor-main-container">
  1492. <div class="postInfo-container">
  1493. <div>
  1494. <el-divider content-position="left">
  1495. <h3 class="title">
  1496. <div class="avatar-wrapper icon-title">日志</div>
  1497. <div class="icon-info">流程审批日志</div>
  1498. </h3>
  1499. </el-divider>
  1500. </div>
  1501. </div>
  1502. </div>
  1503. <el-table
  1504. :data="workflowLogs"
  1505. stripe
  1506. :header-row-style="{ color: '#333333' }"
  1507. border
  1508. style="width: 100%; margin-top:20px">
  1509. <el-table-column
  1510. prop="nodeName"
  1511. label="节点名称"
  1512. align="center">
  1513. </el-table-column>
  1514. <el-table-column
  1515. prop="state"
  1516. label="处理结果"
  1517. align="center">
  1518. </el-table-column>
  1519. <el-table-column
  1520. prop="handlerName"
  1521. label="处理人"
  1522. align="center">
  1523. </el-table-column>
  1524. <el-table-column
  1525. prop="longTime"
  1526. label="处理时长"
  1527. align="center">
  1528. </el-table-column>
  1529. <el-table-column
  1530. prop="created"
  1531. label="处理时间"
  1532. align="center">
  1533. </el-table-column>
  1534. <el-table-column
  1535. prop="comments"
  1536. label="处理意见"
  1537. align="center"
  1538. show-overflow-tooltip>
  1539. </el-table-column>
  1540. </el-table>
  1541. </el-tab-pane>
  1542. </el-tabs>
  1543. <el-dialog :visible.sync="landDialogVisible" custom-class="createLinkman">
  1544. <div>
  1545. <el-form ref="landFrom" :model="landTarget" style="margin-top:20px">
  1546. <el-divider content-position="left">【土地】基本信息</el-divider>
  1547. <el-row>
  1548. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  1549. <el-form-item
  1550. label="土地类型:"
  1551. prop="landType"
  1552. label-width="120px"
  1553. class="postInfo-container-item"
  1554. >
  1555. <el-radio v-model="landTarget.landType" label="国有" size="mini" readonly disabled>国有</el-radio>
  1556. <el-radio v-model="landTarget.landType" label="集体" size="mini" readonly disabled>集体</el-radio>
  1557. </el-form-item>
  1558. </el-col>
  1559. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  1560. <el-form-item
  1561. label="使用权面积:"
  1562. prop="useAcreage"
  1563. label-width="120px"
  1564. class="postInfo-container-item"
  1565. >
  1566. <el-input v-model="landTarget.useAcreage" class="filter-item" readonly disabled>
  1567. <template slot="append">平方</template>
  1568. </el-input>
  1569. </el-form-item>
  1570. </el-col>
  1571. </el-row>
  1572. <el-row>
  1573. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  1574. <el-form-item
  1575. label="使用权类型:"
  1576. prop="rights"
  1577. label-width="120px"
  1578. class="postInfo-container-item"
  1579. >
  1580. <!-- <el-checkbox-group v-model="landTarget.rights" >
  1581. <el-checkbox-button label="出让" name="rights"></el-checkbox-button>
  1582. <el-checkbox-button label="划拨" name="rights"></el-checkbox-button>
  1583. </el-checkbox-group> -->
  1584. <el-radio v-model="landTarget.rightType" label="出让" size="mini">出让</el-radio>
  1585. <el-radio v-model="landTarget.rightType" label="划拨" size="mini">划拨</el-radio>
  1586. </el-form-item>
  1587. </el-col>
  1588. <el-col :xs="24" :sm="12" :lg="12" :span="8">
  1589. <el-form-item
  1590. label="使用权人:"
  1591. prop="rightToUser"
  1592. label-width="120px"
  1593. class="postInfo-container-item"
  1594. >
  1595. <el-input v-model.trim="landTarget.rightToUser" class="filter-item" readonly disabled/>
  1596. </el-form-item>
  1597. </el-col>
  1598. </el-row>
  1599. <el-row>
  1600. <el-col :xs="24" :sm="12" :lg="12" :span="8">
  1601. <el-form-item
  1602. label="国土证号:"
  1603. prop="landCertificateNo"
  1604. label-width="120px"
  1605. class="postInfo-container-item"
  1606. >
  1607. <el-input v-model.trim="landTarget.landCertificateNo" class="filter-item" readonly disabled/>
  1608. </el-form-item>
  1609. </el-col>
  1610. <el-col :xs="24" :sm="12" :lg="12" :span="8">
  1611. <el-form-item
  1612. label="坐落:"
  1613. prop="located"
  1614. label-width="120px"
  1615. class="postInfo-container-item"
  1616. >
  1617. <el-input v-model.trim="landTarget.located" class="filter-item" readonly disabled />
  1618. </el-form-item>
  1619. </el-col>
  1620. </el-row>
  1621. <el-row>
  1622. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  1623. <el-form-item
  1624. label="剩余年限:"
  1625. prop="residueYears"
  1626. label-width="120px"
  1627. class="postInfo-container-item"
  1628. >
  1629. <el-input v-model="landTarget.residueYears" class="filter-item" readonly disabled>
  1630. <template slot="append">年</template>
  1631. </el-input>
  1632. </el-form-item>
  1633. </el-col>
  1634. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  1635. <el-form-item
  1636. label="容积率:"
  1637. prop="plotRatio"
  1638. label-width="120px"
  1639. class="postInfo-container-item"
  1640. >
  1641. <el-input v-model="landTarget.plotRatio" class="filter-item" readonly disabled>
  1642. <template slot="append">%</template>
  1643. </el-input>
  1644. </el-form-item>
  1645. </el-col>
  1646. </el-row>
  1647. <el-row>
  1648. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  1649. <el-form-item
  1650. label="用途(地类):"
  1651. prop="landUse"
  1652. label-width="120px"
  1653. class="postInfo-container-item"
  1654. >
  1655. <el-input v-model.trim="landTarget.landUse" class="filter-item" readonly disabled />
  1656. </el-form-item>
  1657. </el-col>
  1658. <el-col :xs="24" :sm="12" :lg="12" :span="8">
  1659. <el-form-item
  1660. label="估价期日:"
  1661. prop="evaluateDate"
  1662. label-width="120px"
  1663. class="postInfo-container-item"
  1664. >
  1665. <el-date-picker
  1666. v-model="landTarget.evaluateDate" type="date" placeholder="选择日期" style="width:100%" readonly disabled>
  1667. </el-date-picker>
  1668. </el-form-item>
  1669. </el-col>
  1670. </el-row>
  1671. <el-row>
  1672. <el-col :xs="24" :sm="12" :lg="12" :span="8">
  1673. <el-form-item
  1674. label="负责人:"
  1675. prop="principalId"
  1676. label-width="120px"
  1677. class="postInfo-container-item"
  1678. >
  1679. <el-select :value="landTarget.principalId" readonly disabled style="width:100%">
  1680. <el-option v-for="(p,id) in principals" :label="p.name" :value="p.id"></el-option>
  1681. </el-select>
  1682. </el-form-item>
  1683. </el-col>
  1684. <el-col :xs="24" :sm="12" :lg="12" :span="8">
  1685. <el-form-item
  1686. label="实勘人:"
  1687. prop="sites"
  1688. label-width="120px"
  1689. class="postInfo-container-item"
  1690. >
  1691. <el-select v-model="landTarget.sites" multiple readonly disabled placeholder="请选择" style="width:100%">
  1692. <el-option v-for="(u,id) in allUsers" :label="u.name" :value="u.id"></el-option>
  1693. </el-select>
  1694. </el-form-item>
  1695. </el-col>
  1696. </el-row>
  1697. <el-row>
  1698. <el-col :xs="24" :sm="12" :lg="24" :span="12">
  1699. <el-form-item
  1700. label="备注:"
  1701. prop="remark"
  1702. label-width="120px"
  1703. class="postInfo-container-item"
  1704. >
  1705. <el-input v-model.trim="landTarget.remark" class="filter-item" type="textarea" style="width:100%;" readonly disabled />
  1706. </el-form-item>
  1707. </el-col>
  1708. </el-row>
  1709. <div>
  1710. <el-divider content-position="left">【土地】定价信息</el-divider>
  1711. <el-row>
  1712. <el-col :xs="24" :sm="12" :lg="24" :span="6">
  1713. <el-form-item
  1714. label="评估方法:"
  1715. prop="eMethods"
  1716. label-width="160px"
  1717. :class="['postInfo-container-item','task-class']"
  1718. >
  1719. <el-checkbox-group v-model="eMethods">
  1720. <el-checkbox-button label="市场比较法" name="eMethods"></el-checkbox-button>
  1721. <el-checkbox-button label="收益还原法" name="eMethods"></el-checkbox-button>
  1722. <el-checkbox-button label="成本逼近法" name="eMethods"></el-checkbox-button>
  1723. <el-checkbox-button label="剩余法" name="eMethods"></el-checkbox-button>
  1724. <el-checkbox-button label="基准地价系数修正法" name="eMethods"></el-checkbox-button>
  1725. <el-checkbox-button label="其他" name="eMethods"></el-checkbox-button>
  1726. </el-checkbox-group>
  1727. </el-form-item>
  1728. </el-col>
  1729. </el-row>
  1730. <el-row>
  1731. <el-col :xs="24" :sm="12" :lg="12" :span="6" v-if="eMethods.includes('其他')">
  1732. <el-form-item label="其他评估方法:" label-width="160px" prop="definedEvaluationMethod"
  1733. :class="['postInfo-container-item', 'task-class']"
  1734. :rules="{ required: true, message: '其他评估方法不能为空', trigger: 'blur' }">
  1735. <el-input v-model="landTarget.definedEvaluationMethod">
  1736. </el-input>
  1737. </el-form-item>
  1738. </el-col>
  1739. </el-row>
  1740. <el-row>
  1741. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  1742. <el-form-item
  1743. label="初步定价:"
  1744. prop="evaluateValue"
  1745. label-width="160px"
  1746. :class="['postInfo-container-item','task-class']"
  1747. >
  1748. <el-input v-model="landTarget.evaluateValue" class="filter-item" readonly disabled>
  1749. <template slot="append">万</template>
  1750. </el-input>
  1751. </el-form-item>
  1752. </el-col>
  1753. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  1754. <el-form-item
  1755. label="审核定价:"
  1756. prop="checkValue"
  1757. label-width="160px"
  1758. :class="['postInfo-container-item','task-class']"
  1759. >
  1760. <span slot="label">审核定价
  1761. <el-tooltip
  1762. class="item"
  1763. effect="dark"
  1764. content="默认为‘初步定价’可修改。"
  1765. placement="top-start"
  1766. >
  1767. <i class="el-icon-question"/></el-tooltip>
  1768. </span>
  1769. <el-input v-model="landTarget.checkValue" :placeholder="landTarget.evaluateValue" class="filter-item" readonly disabled>
  1770. <template slot="append">万</template>
  1771. </el-input>
  1772. </el-form-item>
  1773. </el-col>
  1774. </el-row>
  1775. </div>
  1776. </el-form>
  1777. </div>
  1778. </el-dialog>
  1779. <el-dialog :visible.sync="houseDialogVisible" custom-class="createLinkman">
  1780. <div>
  1781. <el-divider content-position="left">【房地产】基本信息</el-divider>
  1782. <el-form ref="houseFrom" :model="landTarget" style="margin-top:20px">
  1783. <el-row>
  1784. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  1785. <el-form-item
  1786. label="房屋用途:"
  1787. prop="houseUseTO"
  1788. label-width="120px"
  1789. :class="['postInfo-container-item']"
  1790. >
  1791. <el-checkbox-group v-model="houseUseTO">
  1792. <el-checkbox-button label="住宅" name="houseUseTO"></el-checkbox-button>
  1793. <el-checkbox-button label="商业" name="houseUseTO"></el-checkbox-button>
  1794. <el-checkbox-button label="办公" name="houseUseTO"></el-checkbox-button>
  1795. <el-checkbox-button label="工业" name="houseUseTO"></el-checkbox-button>
  1796. <el-checkbox-button label="其他" name="houseUseTO"></el-checkbox-button>
  1797. </el-checkbox-group>
  1798. </el-form-item>
  1799. </el-col>
  1800. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  1801. <el-form-item
  1802. label="土地使用权人:"
  1803. prop="rightToUser"
  1804. label-width="140px"
  1805. class="postInfo-container-item"
  1806. >
  1807. <el-input v-model.trim="landTarget.rightToUser" class="filter-item" readonly disabled />
  1808. </el-form-item>
  1809. </el-col>
  1810. </el-row>
  1811. <el-row>
  1812. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  1813. <el-form-item
  1814. label="权利人:"
  1815. prop="owner"
  1816. label-width="120px"
  1817. class="postInfo-container-item"
  1818. >
  1819. <el-input v-model.trim="landTarget.owner" class="filter-item" readonly disabled />
  1820. </el-form-item>
  1821. </el-col>
  1822. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  1823. <el-form-item
  1824. label="权证号:"
  1825. prop="ownerNo"
  1826. label-width="120px"
  1827. class="postInfo-container-item"
  1828. >
  1829. <el-input v-model.trim="landTarget.ownerNo" class="filter-item" readonly disabled />
  1830. </el-form-item>
  1831. </el-col>
  1832. </el-row>
  1833. <el-row>
  1834. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  1835. <el-form-item
  1836. label="土地证号:"
  1837. prop="landCertificateNo"
  1838. label-width="120px"
  1839. class="postInfo-container-item"
  1840. >
  1841. <el-input v-model.trim="landTarget.landCertificateNo" class="filter-item" readonly disabled />
  1842. </el-form-item>
  1843. </el-col>
  1844. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  1845. <el-form-item
  1846. label="坐落:"
  1847. prop="located"
  1848. label-width="120px"
  1849. class="postInfo-container-item"
  1850. >
  1851. <el-input v-model.trim="landTarget.located" class="filter-item" readonly disabled/>
  1852. </el-form-item>
  1853. </el-col>
  1854. </el-row>
  1855. <el-row>
  1856. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  1857. <el-form-item
  1858. label="使用权类型:"
  1859. prop="useRightType"
  1860. label-width="120px"
  1861. class="postInfo-container-item"
  1862. >
  1863. <el-input v-model.trim="landTarget.useRightType" class="filter-item" readonly disabled />
  1864. </el-form-item>
  1865. </el-col>
  1866. <el-col :xs="24" :sm="12" :lg="12" :span="8">
  1867. <el-form-item
  1868. label="项目名称:"
  1869. prop="targetName"
  1870. label-width="120px"
  1871. class="postInfo-container-item"
  1872. >
  1873. <el-input v-model.trim="landTarget.targetName" readonly disabled/>
  1874. </el-form-item>
  1875. </el-col>
  1876. </el-row>
  1877. <el-row>
  1878. <el-col :xs="24" :sm="12" :lg="12" :span="8">
  1879. <el-form-item
  1880. label="竣工年代:"
  1881. prop="buildDoneYear"
  1882. label-width="120px"
  1883. class="postInfo-container-item"
  1884. >
  1885. <el-input v-model.trim="landTarget.buildDoneYear" class="filter-item" readonly disabled/>
  1886. </el-form-item>
  1887. </el-col>
  1888. <el-col :xs="24" :sm="12" :lg="12" :span="8">
  1889. <el-form-item
  1890. label="建筑面积:"
  1891. prop="buildAcreage"
  1892. label-width="120px"
  1893. class="postInfo-container-item"
  1894. >
  1895. <el-input v-model="landTarget.buildAcreage" readonly disabled
  1896. style="width:100%" class="filter-item" >
  1897. <template slot="append">平方</template>
  1898. </el-input>
  1899. </el-form-item>
  1900. </el-col>
  1901. </el-row>
  1902. <el-row>
  1903. <el-col :xs="24" :sm="12" :lg="12" :span="8">
  1904. <el-form-item
  1905. label="土地面积:"
  1906. prop="landAcreage"
  1907. label-width="120px"
  1908. class="postInfo-container-item"
  1909. >
  1910. <el-input v-model="landTarget.landAcreage" readonly disabled
  1911. style="width:100%" class="filter-item" >
  1912. <template slot="append">平方</template>
  1913. </el-input>
  1914. </el-form-item>
  1915. </el-col>
  1916. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  1917. <el-form-item
  1918. label="规划用途:"
  1919. prop="planPurpose"
  1920. label-width="120px"
  1921. class="postInfo-container-item"
  1922. >
  1923. <el-input v-model.trim="landTarget.planPurpose" class="filter-item" readonly disabled/>
  1924. </el-form-item>
  1925. </el-col>
  1926. </el-row>
  1927. <el-row>
  1928. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  1929. <el-form-item
  1930. label="实勘地址:"
  1931. prop="siteLocated"
  1932. label-width="120px"
  1933. class="postInfo-container-item"
  1934. >
  1935. <el-input v-model.trim="landTarget.siteLocated" class="filter-item" readonly disabled/>
  1936. </el-form-item>
  1937. </el-col>
  1938. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  1939. <el-form-item
  1940. label="实际用途:"
  1941. prop="realPurpose"
  1942. label-width="120px"
  1943. class="postInfo-container-item"
  1944. >
  1945. <el-input v-model.trim="landTarget.realPurpose" class="filter-item" readonly disabled/>
  1946. </el-form-item>
  1947. </el-col>
  1948. </el-row>
  1949. <el-row>
  1950. <el-col :xs="24" :sm="12" :lg="12" :span="8">
  1951. <el-form-item
  1952. label="负责人:"
  1953. prop="principalId"
  1954. label-width="120px"
  1955. class="postInfo-container-item"
  1956. >
  1957. <el-select :value="landTarget.principalId" readonly disabled style="width:100%">
  1958. <el-option v-for="(p,id) in principals" :label="p.name" :value="p.id"></el-option>
  1959. </el-select>
  1960. </el-form-item>
  1961. </el-col>
  1962. <el-col :xs="24" :sm="12" :lg="12" :span="8">
  1963. <el-form-item
  1964. label="实勘人:"
  1965. prop="sites"
  1966. label-width="120px"
  1967. class="postInfo-container-item"
  1968. >
  1969. <el-select v-model="landTarget.sites" multiple readonly disabled placeholder="请选择" style="width:100%">
  1970. <el-option v-for="(u,id) in allUsers" :label="u.name" :value="u.id"></el-option>
  1971. </el-select>
  1972. </el-form-item>
  1973. </el-col>
  1974. </el-row>
  1975. <el-row>
  1976. <el-col :xs="24" :sm="12" :lg="24" :span="12">
  1977. <el-form-item
  1978. label="备注:"
  1979. prop="remark"
  1980. label-width="120px"
  1981. class="postInfo-container-item"
  1982. >
  1983. <el-input v-model.trim="landTarget.remark" class="filter-item" type="textarea" readonly disabled/>
  1984. </el-form-item>
  1985. </el-col>
  1986. </el-row>
  1987. <div>
  1988. <el-divider content-position="left">【房地产】定价信息</el-divider>
  1989. <el-row>
  1990. <el-col :xs="24" :sm="12" :lg="24" :span="6">
  1991. <el-form-item
  1992. label="评估方法:"
  1993. prop="eMethods"
  1994. label-width="160px"
  1995. :class="['postInfo-container-item','task-class']"
  1996. >
  1997. <el-checkbox-group v-model="eMethods">
  1998. <el-checkbox-button label="比较法" name="eMethods"></el-checkbox-button>
  1999. <el-checkbox-button label="还原法" name="eMethods"></el-checkbox-button>
  2000. <el-checkbox-button label="成本法" name="eMethods"></el-checkbox-button>
  2001. <el-checkbox-button label="假设开发法" name="eMethods"></el-checkbox-button>
  2002. <el-checkbox-button label="基准地价修正法" name="eMethods"></el-checkbox-button>
  2003. </el-checkbox-group>
  2004. </el-form-item>
  2005. </el-col>
  2006. </el-row>
  2007. <el-row>
  2008. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  2009. <el-form-item
  2010. label="初步定价:"
  2011. prop="evaluateValue"
  2012. label-width="160px"
  2013. :class="['postInfo-container-item','task-class']"
  2014. >
  2015. <el-input v-model="landTarget.evaluateValue" readonly disabled
  2016. style="width:100%"
  2017. class="filter-item">
  2018. <template slot="append">万</template>
  2019. </el-input>
  2020. </el-form-item>
  2021. </el-col>
  2022. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  2023. <el-form-item
  2024. label="审核定价:"
  2025. prop="checkValue"
  2026. label-width="180px"
  2027. :class="['postInfo-container-item','task-class']"
  2028. >
  2029. <span slot="label">审核定价
  2030. <el-tooltip
  2031. class="item"
  2032. effect="dark"
  2033. content="默认为‘初步定价’若价格无误,可直接点击保存按钮,否则可修改。"
  2034. placement="top-start"
  2035. >
  2036. <i class="el-icon-question"/></el-tooltip>
  2037. </span>
  2038. <el-input v-model="landTarget.checkValue" :placeholder="landTarget.evaluateValue" readonly disabled
  2039. style="width:100%"
  2040. class="filter-item">
  2041. <template slot="append">万</template>
  2042. </el-input>
  2043. </el-form-item>
  2044. </el-col>
  2045. </el-row>
  2046. </div>
  2047. </el-form>
  2048. </div>
  2049. </el-dialog>
  2050. <el-dialog :visible.sync="createLinkmanVisible" width="70%" custom-class="createLinkman">
  2051. <el-divider content-position="left">新增客户联系人</el-divider>
  2052. <el-form ref="linkmanFrom" :model="linkmanFrom" :rules="rules">
  2053. <el-row>
  2054. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  2055. <el-form-item
  2056. label="客户类型:"
  2057. prop="clienteleType"
  2058. :rules="{required: true, message: '客户类型不能为空', trigger: 'blur'}"
  2059. label-width="120px"
  2060. class="postInfo-container-item"
  2061. >
  2062. <el-select v-model="linkmanFrom.clienteleType" disabled readonly>
  2063. <el-option label="企业" value="企业"></el-option>
  2064. <el-option label="个人" value="个人"></el-option>
  2065. </el-select>
  2066. </el-form-item>
  2067. </el-col>
  2068. <el-col :xs="24" :sm="12" :lg="6" :span="6" v-if="major.clienteleType==='企业'">
  2069. <el-form-item
  2070. label="客户名称:"
  2071. prop="clienteleId"
  2072. :rules="{required: true, message: '客户名称不能为空', trigger: 'blur'}"
  2073. label-width="120px"
  2074. class="postInfo-container-item"
  2075. >
  2076. <el-select v-model="linkmanFrom.clienteleId" disabled readonly>
  2077. <el-option v-for="(c,id) in customerCompany" :label="c.name" :value="c.id"></el-option>
  2078. </el-select>
  2079. </el-form-item>
  2080. </el-col>
  2081. <el-col :xs="24" :sm="12" :lg="6" :span="6" v-if="major.clienteleType==='企业'">
  2082. <el-form-item
  2083. label="业务来源:"
  2084. prop="clienteleSubId"
  2085. :rules="{required: true, message: '业务来源不能为空', trigger: 'blur'}"
  2086. label-width="120px"
  2087. class="postInfo-container-item"
  2088. >
  2089. <el-select v-model="linkmanFrom.clienteleSubId" disabled readonly>
  2090. <el-option v-for="(s,id) in subCustomerCompany" :label="s.name" :value="s.id"></el-option>
  2091. </el-select>
  2092. </el-form-item>
  2093. </el-col>
  2094. </el-row>
  2095. <el-row>
  2096. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  2097. <el-form-item
  2098. label="联系人姓名:"
  2099. prop="name"
  2100. :rules="{required: true, message: '联系人姓名不能为空', trigger: 'blur'}"
  2101. label-width="120px"
  2102. class="postInfo-container-item"
  2103. >
  2104. <el-input v-model.trim="linkmanFrom.name" class="filter-item" />
  2105. </el-form-item>
  2106. </el-col>
  2107. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  2108. <el-form-item
  2109. label="联系电话:"
  2110. prop="mobile"
  2111. label-width="120px"
  2112. class="postInfo-container-item"
  2113. >
  2114. <el-input v-model.trim="linkmanFrom.mobile" class="filter-item" />
  2115. </el-form-item>
  2116. </el-col>
  2117. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  2118. <el-form-item
  2119. label="性别:"
  2120. prop="sex"
  2121. label-width="120px"
  2122. class="postInfo-container-item"
  2123. >
  2124. <el-select v-model=linkmanFrom.sex>
  2125. <el-option label="男" value="男">男</el-option>
  2126. <el-option label="女" value="女">女</el-option>
  2127. </el-select>
  2128. </el-form-item>
  2129. </el-col>
  2130. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  2131. <el-form-item
  2132. label="身份证号:"
  2133. prop="idNo"
  2134. label-width="120px"
  2135. class="postInfo-container-item"
  2136. >
  2137. <el-input v-model.trim="linkmanFrom.idNo" class="filter-item" />
  2138. </el-form-item>
  2139. </el-col>
  2140. </el-row>
  2141. <el-row>
  2142. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  2143. <el-form-item
  2144. label="微信号:"
  2145. prop="wechatNo"
  2146. label-width="120px"
  2147. class="postInfo-container-item"
  2148. >
  2149. <el-input v-model.trim="linkmanFrom.wechatNo" class="filter-item" />
  2150. </el-form-item>
  2151. </el-col>
  2152. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  2153. <el-form-item
  2154. label="QQ号:"
  2155. prop="qqNo"
  2156. label-width="120px"
  2157. class="postInfo-container-item"
  2158. >
  2159. <el-input v-model.trim="linkmanFrom.qqNo" class="filter-item" />
  2160. </el-form-item>
  2161. </el-col>
  2162. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  2163. <el-form-item
  2164. label="毕业院校:"
  2165. prop="school"
  2166. label-width="120px"
  2167. class="postInfo-container-item"
  2168. >
  2169. <el-input v-model.trim="linkmanFrom.school" class="filter-item" />
  2170. </el-form-item>
  2171. </el-col>
  2172. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  2173. <el-form-item
  2174. label="毕业专业:"
  2175. prop="industry"
  2176. label-width="120px"
  2177. class="postInfo-container-item"
  2178. >
  2179. <el-input v-model.trim="linkmanFrom.industry" class="filter-item" />
  2180. </el-form-item>
  2181. </el-col>
  2182. </el-row>
  2183. <el-row>
  2184. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  2185. <el-form-item
  2186. label="所在部门:"
  2187. prop="department"
  2188. label-width="120px"
  2189. class="postInfo-container-item"
  2190. >
  2191. <el-input v-model.trim="linkmanFrom.department" class="filter-item" />
  2192. </el-form-item>
  2193. </el-col>
  2194. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  2195. <el-form-item
  2196. label="职位:"
  2197. prop="duty"
  2198. label-width="120px"
  2199. class="postInfo-container-item"
  2200. >
  2201. <el-input v-model.trim="linkmanFrom.duty" class="filter-item" />
  2202. </el-form-item>
  2203. </el-col>
  2204. </el-row>
  2205. <el-row>
  2206. <el-col :xs="24" :sm="12" :lg="24" :span="6">
  2207. <el-form-item
  2208. label="备注:"
  2209. prop="description"
  2210. label-width="120px"
  2211. class="postInfo-container-item"
  2212. >
  2213. <el-input v-model.trim="linkmanFrom.description" class="filter-item" type="textarea" />
  2214. </el-form-item>
  2215. </el-col>
  2216. </el-row>
  2217. <el-button type="primary" @click="saveLinkman()" style="position:absolute;top:45px;right:20px">保存</el-button>
  2218. </el-form>
  2219. </el-dialog>
  2220. <el-dialog :visible.sync="createTlinkmanVisible" width="70%" custom-class="createLinkman">
  2221. <el-divider content-position="left">{{major.terminalClienteleType==='企业'?'新增终端客户联系人':'新增终端客户'}}</el-divider>
  2222. <el-form ref="tLinkmanFrom" :model="tLinkmanFrom" :rules="rules" >
  2223. <el-row v-if="major.terminalClienteleType==='企业'">
  2224. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  2225. <el-form-item
  2226. label="所属企业:"
  2227. prop="ccId"
  2228. label-width="120px"
  2229. class="postInfo-container-item"
  2230. >
  2231. <el-select v-model="major.terminalClienteleId" disabled readonly style="width:100%">
  2232. <el-option v-for="(c,id) in tCustomerCompany" :label="c.name" :value="c.id"></el-option>
  2233. </el-select>
  2234. </el-form-item>
  2235. </el-col>
  2236. </el-row>
  2237. <el-row>
  2238. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  2239. <el-form-item
  2240. label="联系人姓名:"
  2241. prop="name"
  2242. :rules="{required: true, message: '联系人姓名不能为空', trigger: 'blur'}"
  2243. label-width="140px"
  2244. class="postInfo-container-item"
  2245. >
  2246. <el-input v-model.trim="tLinkmanFrom.name" class="filter-item" />
  2247. </el-form-item>
  2248. </el-col>
  2249. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  2250. <el-form-item
  2251. label="联系电话:"
  2252. prop="mobile"
  2253. label-width="120px"
  2254. class="postInfo-container-item"
  2255. >
  2256. <el-input v-model.trim="tLinkmanFrom.mobile" class="filter-item" />
  2257. </el-form-item>
  2258. </el-col>
  2259. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  2260. <el-form-item
  2261. label="性别:"
  2262. prop="sex"
  2263. label-width="120px"
  2264. class="postInfo-container-item"
  2265. >
  2266. <el-select v-model=tLinkmanFrom.sex>
  2267. <el-option label="男" value="男">男</el-option>
  2268. <el-option label="女" value="女">女</el-option>
  2269. </el-select>
  2270. </el-form-item>
  2271. </el-col>
  2272. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  2273. <el-form-item
  2274. label="身份证号:"
  2275. prop="idNo"
  2276. label-width="120px"
  2277. class="postInfo-container-item"
  2278. >
  2279. <el-input v-model.trim="tLinkmanFrom.idNo" class="filter-item" />
  2280. </el-form-item>
  2281. </el-col>
  2282. </el-row>
  2283. <el-row>
  2284. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  2285. <el-form-item
  2286. label="微信号:"
  2287. prop="wechatNo"
  2288. label-width="120px"
  2289. class="postInfo-container-item"
  2290. >
  2291. <el-input v-model.trim="tLinkmanFrom.wechatNo" class="filter-item" />
  2292. </el-form-item>
  2293. </el-col>
  2294. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  2295. <el-form-item
  2296. label="QQ号:"
  2297. prop="qqNo"
  2298. label-width="120px"
  2299. class="postInfo-container-item"
  2300. >
  2301. <el-input v-model.trim="tLinkmanFrom.qqNo" class="filter-item" />
  2302. </el-form-item>
  2303. </el-col>
  2304. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  2305. <el-form-item
  2306. label="毕业院校:"
  2307. prop="school"
  2308. label-width="120px"
  2309. class="postInfo-container-item"
  2310. >
  2311. <el-input v-model.trim="tLinkmanFrom.school" class="filter-item" />
  2312. </el-form-item>
  2313. </el-col>
  2314. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  2315. <el-form-item
  2316. label="毕业专业:"
  2317. prop="industry"
  2318. label-width="120px"
  2319. class="postInfo-container-item"
  2320. >
  2321. <el-input v-model.trim="tLinkmanFrom.industry" class="filter-item" />
  2322. </el-form-item>
  2323. </el-col>
  2324. </el-row>
  2325. <el-row>
  2326. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  2327. <el-form-item
  2328. label="所在部门:"
  2329. prop="department"
  2330. label-width="120px"
  2331. class="postInfo-container-item"
  2332. >
  2333. <el-input v-model.trim="tLinkmanFrom.department" class="filter-item" />
  2334. </el-form-item>
  2335. </el-col>
  2336. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  2337. <el-form-item
  2338. label="职位:"
  2339. prop="duty"
  2340. label-width="120px"
  2341. class="postInfo-container-item"
  2342. >
  2343. <el-input v-model.trim="tLinkmanFrom.duty" class="filter-item" />
  2344. </el-form-item>
  2345. </el-col>
  2346. </el-row>
  2347. <el-row>
  2348. <el-col :xs="24" :sm="12" :lg="24" :span="6">
  2349. <el-form-item
  2350. label="备注:"
  2351. prop="description"
  2352. label-width="120px"
  2353. class="postInfo-container-item"
  2354. >
  2355. <el-input v-model.trim="tLinkmanFrom.description" class="filter-item" type="textarea" />
  2356. </el-form-item>
  2357. </el-col>
  2358. </el-row>
  2359. <el-button type="primary" @click="saveTlinkman()" style="position:absolute;top:45px;right:20px">保存</el-button>
  2360. </el-form>
  2361. </el-dialog>
  2362. <el-dialog :visible.sync="createTerminalClientVisible" width="70%" custom-class="createLinkman">
  2363. <el-divider content-position="left">新增终端客户</el-divider>
  2364. <el-form ref="terminalClientFrom" :model="terminalClientFrom" :rules="rules" >
  2365. <el-row>
  2366. <el-col :xs="24" :sm="12" :lg="8" :span="6">
  2367. <el-form-item
  2368. label="客户名称:"
  2369. prop="name"
  2370. :rules="{required: true, message: '联系人姓名不能为空', trigger: 'blur'}"
  2371. label-width="120px"
  2372. class="postInfo-container-item"
  2373. >
  2374. <el-input v-model.trim="terminalClientFrom.name" class="filter-item" />
  2375. </el-form-item>
  2376. </el-col>
  2377. <el-col :xs="24" :sm="12" :lg="8" :span="6">
  2378. <el-form-item
  2379. label="企业类型:"
  2380. prop="companyType"
  2381. :rules="{required: true, message: '联系电话不能为空', trigger: 'blur'}"
  2382. label-width="120px"
  2383. class="postInfo-container-item"
  2384. >
  2385. <el-input v-model.trim="terminalClientFrom.companyType" class="filter-item" />
  2386. </el-form-item>
  2387. </el-col>
  2388. <el-col :xs="24" :sm="12" :lg="8" :span="6">
  2389. <el-form-item
  2390. label="联系电话:"
  2391. prop="phone"
  2392. :rules="{required: true, message: '联系电话不能为空', trigger: 'blur'}"
  2393. label-width="120px"
  2394. class="postInfo-container-item"
  2395. >
  2396. <el-input v-model.trim="terminalClientFrom.phone" class="filter-item" />
  2397. </el-form-item>
  2398. </el-col>
  2399. </el-row>
  2400. <el-row>
  2401. <el-col :xs="24" :sm="12" :lg="24" :span="6">
  2402. <el-form-item
  2403. label="客户地址:"
  2404. prop="address"
  2405. label-width="120px"
  2406. class="postInfo-container-item"
  2407. >
  2408. <el-input v-model.trim="terminalClientFrom.address" class="filter-item" />
  2409. </el-form-item>
  2410. </el-col>
  2411. </el-row>
  2412. <el-button type="primary" @click="saveClient()" style="position:absolute;top:45px;right:20px">保存</el-button>
  2413. </el-form>
  2414. </el-dialog>
  2415. </div>
  2416. </template>
  2417. <script>
  2418. import Breadcrumb from '@/components/Breadcrumb'
  2419. import YDetailPageLayout from '@/components/YDetailPageLayout/index_detail'
  2420. import WorkflowBoard from '@/components/workflowBoard'
  2421. import {isNumber,phoneNumber,postiveInteger,isIdNumber} from '@/utils/validate'
  2422. import { mapGetters } from 'vuex'
  2423. export default {
  2424. name: 'majorDetail',
  2425. components: {
  2426. Breadcrumb,
  2427. YDetailPageLayout,
  2428. WorkflowBoard
  2429. },
  2430. computed: {
  2431. ...mapGetters([
  2432. 'userInfo'
  2433. ]),
  2434. },
  2435. watch:{
  2436. userInfo: {
  2437. immediate: true, // immediate选项可以开启首次赋值监听
  2438. deep: true,
  2439. handler(newv) {
  2440. if (newv) {
  2441. const postList = newv.postList.map(item => item.name)
  2442. const marketPosts = ['评估部经理']
  2443. postList.forEach(element => {
  2444. if (marketPosts.includes(element)) {
  2445. this.pgLeader = true;
  2446. }
  2447. });
  2448. }
  2449. }
  2450. },
  2451. $route(to, from) {
  2452. if (to.path === from.path){
  2453. this.couldEdit = this.$route.query.couldEdit ==='true';
  2454. this.pgLeader = this.$route.query.pgLeader ==='true';
  2455. this.showBtn = this.$route.query.showBtn ==='true';
  2456. this.couldBack = this.$route.query.couldBack ==='true';
  2457. this.reportNo = this.$route.query.reportNo;
  2458. this.statementNo = this.$route.query.statementNo;
  2459. this.saveOrderBtn = this.$route.query.saveOrderBtn;
  2460. this.majorId = this.$route.query.id;
  2461. this.currentNode.nodeName = this.$route.query.currentNodeName;
  2462. this.nodeBusinessInfo.doWorkflow = this.$route.query.couldEdit ==='true';
  2463. this.nodeBusinessInfo.currentNodeInstanceId= this.$route.query.currentNodeId;
  2464. this.nodeBusinessInfo.businessId= this.$route.query.id;
  2465. this.nodeBusinessInfo.businessMinId=this.$route.query.reportNo;
  2466. this.nodeBusinessInfo.businessSubId=this.$route.query.statementNo;
  2467. this.getMajorDetail();
  2468. this.getCustomerCompany(0);
  2469. this.getCustomerCompany(1);
  2470. this.changeType();
  2471. if (typeof(this.nodeBusinessInfo.currentNodeInstanceId)!='undefined' &&this.nodeBusinessInfo.currentNodeInstanceId!=null){
  2472. this.getCurrentNodeInfo();
  2473. }
  2474. this.getAllotDepartment();
  2475. this.getLandTargetList();
  2476. this.getWorkflowLogs();
  2477. this.getProductions(this.majorId,this.statementNo,this.reportNo);
  2478. this.getPerformance(this.majorId,(this.reportNo==null?this.statementNo:this.reportNo));
  2479. this.getFinanceInvoiceAmountInfo();
  2480. }
  2481. },
  2482. productions: {
  2483. handler(newValue, oldVal) {
  2484. for (let p in oldVal){
  2485. if (oldVal[p].evaluateAmount==null){
  2486. oldVal[p].evaluateAmount = this.totalEvaluateValue;
  2487. }
  2488. if (oldVal[p].evaluateAcreage==null){
  2489. oldVal[p].evaluateAcreage = this.totalAcreage;
  2490. }
  2491. }
  2492. for (let d in newValue){
  2493. newValue[d].evaluatePrice = ((newValue[d].evaluateAmount)/(newValue[d].evaluateAcreage)).toFixed(4);
  2494. }
  2495. },
  2496. deep: true
  2497. },
  2498. nodeBusinessInfo: {
  2499. handler(newValue, oldValue) {
  2500. const board = this.$refs.board;
  2501. if (board){
  2502. board.getInstanceQueue();
  2503. }
  2504. },
  2505. deep: true,
  2506. }
  2507. },
  2508. data() {
  2509. return {
  2510. rules:{
  2511. loanLimit:[{required: false,validator:isNumber,trigger:'blur'}],
  2512. loanPeriod:[{required: false,validator:postiveInteger,trigger:'blur'}],
  2513. bailorContactTel:[{required: true, message: '委托联系人电话不能为空', trigger: 'blur'},{validator:phoneNumber,trigger:'blur'}],
  2514. ownerTel:[{required: false,validator:phoneNumber,trigger:'blur'}],
  2515. phone:[{required: true, message: '联系电话不能为空', trigger: 'blur'},{validator:phoneNumber,trigger:'blur'}],
  2516. // tmobile:[{required: true, message: '终端联系电话不能为空', trigger: 'blur'},{validator:phoneNumber,trigger:'blur'}],
  2517. idNo:[{required: false,validator:isIdNumber,trigger:'blur'}],
  2518. mobile:[{required: true, message: '联系电话不能为空', trigger: 'blur'},{validator:phoneNumber,trigger:'blur'}],
  2519. },
  2520. activeName:'workflowInfo',
  2521. activeTagName: 'order',
  2522. nodeBusinessInfo:{
  2523. currentNodePermission:{
  2524. commit:true,
  2525. reversible:true,
  2526. restartable:true,
  2527. terminable:true,
  2528. skippable:true,
  2529. },
  2530. mainBusiness:"MAJOR_BUSINESS",
  2531. doWorkflow:false,
  2532. businessSubId:null,
  2533. businessId:null,
  2534. businessMinId:null,
  2535. currentNodeInstanceId:null,
  2536. production:[],
  2537. reportNos:[],
  2538. currentNodeInstanceCode:null,
  2539. ifCheckTask:true
  2540. },
  2541. major: {
  2542. id:null,
  2543. name:null,
  2544. financial:false,
  2545. allotType:"轮单",
  2546. clientManagerId:this.$store.getters.userInfo.id,
  2547. principalId:null,
  2548. departmentId:null,
  2549. businessObjectType:"房地产",
  2550. specialType:null,
  2551. businessGener:null,
  2552. evaluateAim:"抵押",
  2553. entrustAgain:false,
  2554. multipleRemoval:false,
  2555. informalEvaluate:false,
  2556. clienteleType:"企业",
  2557. clienteleId:null,
  2558. clienteleContactId:null,
  2559. dispenseBenefit:false,
  2560. nonnative:false,
  2561. refinance:false,
  2562. loanLimit:null,
  2563. loanPeriod:null,
  2564. loanNature:null,
  2565. loanAim:null,
  2566. loanExpire:false,
  2567. bailor:null,
  2568. bailorAddress:null,
  2569. bailorContactName:null,
  2570. bailorContactTel:null,
  2571. owner:null,
  2572. ownerTel:null,
  2573. urgent:false,
  2574. terminalClienteleId:null,
  2575. terminalClienteleType:'',
  2576. terminalClienteleContactId:null,
  2577. remark:null,
  2578. membersName:null,
  2579. clientManager:this.$store.getters.userInfo.name,
  2580. members:null,
  2581. productionInfo:null,
  2582. printing:null,
  2583. printingRemark:null,
  2584. cmobile:null,
  2585. cdepartment:null,
  2586. cduty:null,
  2587. cclienteleName:null,
  2588. cclienteleSubName:null,
  2589. cclienteleContactName:null,
  2590. tmobile:null,
  2591. tterminalClienteleContactName:null,
  2592. tterminalClienteleName:null,
  2593. clienteleSubId:null,
  2594. },
  2595. currentNode:{
  2596. flowId:null,
  2597. pnodeId:null,
  2598. nodeId:null,
  2599. flowCode:null,
  2600. nodeName:"",
  2601. nodeCode:null,
  2602. state:"",
  2603. instanceId:null,
  2604. sequence:null,
  2605. tasks:[]
  2606. },
  2607. majorId:null,
  2608. allotDepartment:[],
  2609. principals:[],
  2610. allUsers:[],
  2611. evaluateLandData: [],
  2612. landDialogVisible:false,
  2613. houseDialogVisible:false,
  2614. landTarget:{
  2615. id:null,
  2616. majorId:null,
  2617. targetType:null,
  2618. landType:null,
  2619. useAcreage:null,
  2620. rights:[],
  2621. rightToUser:null,
  2622. landCertificateNo:null,
  2623. located:null,
  2624. residueYears:null,
  2625. plotRatio:null,
  2626. landUse:null,
  2627. principalId:null,
  2628. sites:[],
  2629. evaluateDate:null,
  2630. remark:null,
  2631. evaluateValue:null,
  2632. evaluateMethods:[],
  2633. housePurpose:[],
  2634. owner:null,
  2635. ownerNo:null,
  2636. targetName:null,
  2637. buildDoneYear:null,
  2638. buildAcreage:null,
  2639. landAcreage:null,
  2640. planPurpose:null,
  2641. realPurpose:null,
  2642. siteLocated:null,
  2643. useRightType:null
  2644. },
  2645. eMethods:[],
  2646. houseUseTO:[],
  2647. totalEvaluateValue:0,
  2648. totalAcreage:0,
  2649. feedback:{
  2650. majorId:null,
  2651. production:[],
  2652. printing:null,
  2653. printingRemark:null
  2654. },
  2655. workflowLogs:[],
  2656. productions:[],
  2657. waitingUpload:[],
  2658. performance:{
  2659. productionNo:null,
  2660. productionType:null,
  2661. principal:null,
  2662. productionName:null,
  2663. info:[]
  2664. // id:null,
  2665. // allots:[],
  2666. // fatalMistake:null,
  2667. // hardMistake:null,
  2668. // normalMistake:null,
  2669. // reason:null,
  2670. // performanceAllot:null,
  2671. // checkLoop:null,
  2672. },
  2673. saveOrderBtn:null,
  2674. customerCompany:[],
  2675. subCustomerCompany:[],
  2676. customerContract:[],
  2677. tCustomerCompany:[],
  2678. tSubCustomerCompany:[],
  2679. tCustomerContract:[],
  2680. types:[],
  2681. landType:[ "划拨土地价格评估",
  2682. "土地利用总体规划、规划调整、项目规划",
  2683. "城乡建设用地增减挂钩项目",
  2684. "建设用地报件",
  2685. "房屋征收、搬迁社会稳定风险评估",
  2686. "社会稳定风险评价",
  2687. "自然资源资产负债表项目",
  2688. "航空摄影测量",
  2689. "集体建设用地使用权价格评估",
  2690. "土地复垦方案",
  2691. "开发区土地集约利用评价",
  2692. "城市土地集约利用评价",
  2693. "土地基准地价评估",
  2694. "土地标定地价评估",
  2695. "土地地价动态监测",
  2696. "建设项目节地评价",
  2697. "集体承包土地的经营权流转租赁评估",
  2698. "集体经营性建设用地出让地价、租赁地价评估",
  2699. "集体经营性建设用地转让、出资、抵押评估",
  2700. "农用地质量分等评估",
  2701. "农用地定级和基准地价评估",
  2702. "集体建设用地定级和基准地价评估",
  2703. "工业用地集约利用评价",
  2704. "征收农用地区片综合地价评估",
  2705. "城市低效用地专项规划项目"],
  2706. houseType :[ "司法鉴定中不动产损害赔偿评估",
  2707. "税收部门征税房地产批量评估",
  2708. "房地产投资项目可行性研究",
  2709. "金融机构已设营业网点市场前景调查分析报告",
  2710. "企业国有资产产权无偿划转操作方案咨询",
  2711. "房地产区域市场研究",
  2712. "商业银行押品快速变现价值的量化分析评估",
  2713. "城市旧城改造、棚户区改造实施规划编制",
  2714. "城市旧城改造、棚户区改造项目可行性研究",
  2715. "城市更新项目规划编制",
  2716. "城市旧城改造、棚户区改造征收、搬迁方案咨询",
  2717. "城市更新项目可行性研究",
  2718. "以财务报表为目的投资性物业价值评估(投资性房地产市场价值除外)",
  2719. "住房租赁证券化评估",
  2720. "房屋征收、搬迁社会稳定风险评估",
  2721. "政府为出让土地成片大规模土地分等定级研究",
  2722. "“城中村”房屋搬迁补偿评估",
  2723. "经营性物业租金体系研究",
  2724. "存量房地产再开发利用投资价值评估、咨询",
  2725. "公共性、公益性房地产评估",
  2726. ],
  2727. createLinkmanVisible:false,
  2728. linkmanFrom:{
  2729. clienteleType:null,
  2730. clienteleSubId:null,
  2731. clienteleId:null,
  2732. ccId:null,
  2733. name:null,
  2734. mobile:null,
  2735. phone:null,
  2736. sex:null,
  2737. idNo:null,
  2738. wechatNo:null,
  2739. qqNo:null,
  2740. school:null,
  2741. industry:null,
  2742. department:null,
  2743. duty:null,
  2744. terminal:false,
  2745. description:null
  2746. },
  2747. createTerminalClientVisible:false,
  2748. terminalClientFrom:{
  2749. name:null,
  2750. companyType:null,
  2751. address:null,
  2752. phone:null,
  2753. terminal:true
  2754. },
  2755. createTlinkmanVisible:false,
  2756. tLinkmanFrom:{
  2757. ccId:null,
  2758. name:null,
  2759. mobile:null,
  2760. phone:null,
  2761. sex:null,
  2762. idNo:null,
  2763. wechatNo:null,
  2764. qqNo:null,
  2765. school:null,
  2766. industry:null,
  2767. department:null,
  2768. duty:null,
  2769. terminal:false,
  2770. description:null
  2771. },
  2772. productionFinance: [],
  2773. showQR:true,
  2774. pgLeader:false
  2775. }
  2776. },
  2777. created() {
  2778. this.couldEdit = this.$route.query.couldEdit ==='true';
  2779. this.showBtn = this.$route.query.showBtn ==='true';
  2780. this.couldBack = this.$route.query.couldBack ==='true';
  2781. this.reportNo = this.$route.query.reportNo;
  2782. this.statementNo = this.$route.query.statementNo;
  2783. this.saveOrderBtn = this.$route.query.saveOrderBtn;
  2784. this.majorId = this.$route.query.id;
  2785. this.currentNode.nodeName = this.$route.query.currentNodeName;
  2786. this.nodeBusinessInfo.doWorkflow = this.$route.query.couldEdit ==='true';
  2787. this.nodeBusinessInfo.currentNodeInstanceId= this.$route.query.currentNodeId;
  2788. this.nodeBusinessInfo.businessId= this.$route.query.id;
  2789. this.nodeBusinessInfo.businessMinId=this.$route.query.reportNo;
  2790. this.nodeBusinessInfo.businessSubId=this.$route.query.statementNo;
  2791. this.getMajorDetail();
  2792. this.getCustomerCompany(0);
  2793. this.getCustomerCompany(1);
  2794. this.changeType();
  2795. if (typeof(this.nodeBusinessInfo.currentNodeInstanceId)!='undefined' &&this.nodeBusinessInfo.currentNodeInstanceId!=null){
  2796. this.getCurrentNodeInfo();
  2797. }
  2798. if (this.activeTagName === 'order'){
  2799. this.getAllotDepartment();
  2800. this.getLandTargetList();
  2801. }
  2802. if (this.activeTagName === 'evaluate'){
  2803. if (this.major.businessObjectType==='土地'){
  2804. this.getLandTargetList();
  2805. }
  2806. }
  2807. if (this.activeTagName === 'workflowLog'){
  2808. this.getWorkflowLogs();
  2809. }
  2810. if (this.activeTagName === 'producution'){
  2811. this.getProductions(this.majorId,this.statementNo,this.reportNo);
  2812. }
  2813. if (this.activeTagName === 'quality'){
  2814. this.getPerformance(this.majorId,(this.reportNo==null?this.statementNo:this.reportNo));
  2815. }
  2816. if (this.activeTagName === 'finance' && this.productionFinance.length == 0){
  2817. this.getFinanceInvoiceAmountInfo();
  2818. }
  2819. },
  2820. methods: {
  2821. handleChange(){
  2822. },
  2823. handleClick(tab) {
  2824. if (tab.name === 'order' && this.allotDepartment.length==0){
  2825. this.getAllotDepartment();
  2826. }
  2827. if (tab.name === 'evaluate'){
  2828. if ( this.evaluateLandData.length==0){
  2829. this.getLandTargetList();
  2830. }
  2831. }
  2832. if (tab.name === 'workflowLog'){
  2833. if ( this.workflowLogs.length==0){
  2834. this.getWorkflowLogs();
  2835. }
  2836. }
  2837. if (tab.name === 'producution'){
  2838. this.getLandTargetList();
  2839. this.getProductions(this.majorId,this.statementNo,this.reportNo);
  2840. }
  2841. // if (tab.name === 'performance'){
  2842. // if ( this.performance.allots.length==0){
  2843. // this.getPerformance();
  2844. // }
  2845. // }
  2846. if (tab.name === 'quality'){
  2847. this.getPerformance(this.majorId,(this.reportNo==null?this.statementNo:this.reportNo));
  2848. }
  2849. if (tab.name === 'finance' && this.productionFinance.length == 0){
  2850. this.getFinanceInvoiceAmountInfo();
  2851. }
  2852. },
  2853. handleCreate(){
  2854. this.$refs.majorForm.validate(valid => {
  2855. if (valid) {
  2856. if (this.major.id) {
  2857. this.major.members = JSON.stringify(this.major.membersId);
  2858. this.$api.major.edit(this.major).then(res => {
  2859. if (res.code === 200) {
  2860. this.$notify({
  2861. title: '成功',
  2862. message: '保存成功',
  2863. type: 'success',
  2864. duration: 2000
  2865. });
  2866. const back = this.$route.query.back;
  2867. if (back) {
  2868. this.$router.push(back)
  2869. }
  2870. }
  2871. })
  2872. } else {
  2873. if (this.major.terminalClienteleType==='个人'){
  2874. this.major.terminalClienteleContactId = this.major.terminalClienteleId;
  2875. this.major.terminalClienteleId = null;
  2876. }
  2877. this.$api.major.add(this.major).then(res => {
  2878. if (res.code === 200) {
  2879. if (res.data && res.data.instanceNodeId && res.data.state){
  2880. this.$api.workflow.commit(res.data).then(result =>{
  2881. if (result.code === 200 && result.data){
  2882. this.$notify({
  2883. title: '成功',
  2884. message: '下单并提交流程成功',
  2885. type: 'success',
  2886. duration: 2000
  2887. });
  2888. }
  2889. })
  2890. }else{
  2891. this.$notify({
  2892. title: '成功',
  2893. message: '下单成功,需要手动提交流程。',
  2894. type: 'warning',
  2895. duration: 2000
  2896. });
  2897. }
  2898. const back = this.$route.query.back;
  2899. if (back) {
  2900. this.$router.push(back)
  2901. }
  2902. }else{
  2903. this.$notify({
  2904. title: '失败',
  2905. message: '下单失败,请稍后再试。',
  2906. type: 'error',
  2907. duration: 2000
  2908. });
  2909. }
  2910. })
  2911. }
  2912. }else{
  2913. console.log("error")
  2914. }
  2915. })
  2916. },
  2917. getMajorDetail(){
  2918. if (this.majorId){
  2919. let majorId= this.majorId;
  2920. let reportNo = this.statementNo;
  2921. this.$api.major.detail(this.majorId).then(res=>{
  2922. if (res.code === 200){
  2923. this.major = res.data;
  2924. this.major.membersId = JSON.parse(this.major.members);
  2925. if (this.major.feedbackInfo){
  2926. let feedbacks = JSON.parse(this.major.feedbackInfo);
  2927. if (reportNo){
  2928. this.feedback = feedbacks.filter(function(e,index,array){
  2929. return e.reportNo === reportNo;
  2930. })[0]
  2931. if (!this.feedback){
  2932. this.feedback = feedbacks.filter(function(e,index,array){
  2933. return e.majorId == majorId;
  2934. })[0];
  2935. }
  2936. }else {
  2937. this.feedback = feedbacks.filter(function(e,index,array){
  2938. return e.majorId == majorId;
  2939. })[0];
  2940. }
  2941. this.nodeBusinessInfo.production = this.feedback.production;
  2942. }
  2943. this.getPrincipalByAllotDepartment();
  2944. this.getAllUser();
  2945. // if (typeof(this.nodeBusinessInfo.currentNodeInstanceId)!='undefined'){
  2946. // this.$refs.board.getInstanceQueue();
  2947. // }
  2948. }
  2949. })
  2950. }
  2951. },
  2952. getAllotDepartment(){
  2953. this.$api.department.majorDepartment().then(res=>{
  2954. if (res.code === 200){
  2955. this.allotDepartment = res.data;
  2956. }
  2957. })
  2958. },
  2959. getPrincipalByAllotDepartment(){
  2960. let departmentId = this.major.departmentId;
  2961. if (departmentId){
  2962. this.$api.user.usersByDepartmentId(departmentId).then(res=>{
  2963. if (res.code === 200){
  2964. this.principals = res.data;
  2965. }
  2966. })
  2967. }
  2968. },
  2969. getAllUser() {
  2970. this.$api.user.simpleAll().then(res => {
  2971. if (res.code === 200) {
  2972. this.allUsers = res.data;
  2973. }
  2974. })
  2975. },
  2976. getCurrentNodeInfo(){
  2977. if (this.majorId){
  2978. this.$api.workNodeInstance.currentNode({"mainBusiness":"MAJOR_BUSINESS","businessId":this.majorId,"businessSubId":this.statementNo,"businessMinId":this.reportNo}).then(res=>{
  2979. if (res.code === 200){
  2980. if (res.data){
  2981. this.currentNode = res.data;
  2982. this.nodeBusinessInfo.currentInstanceNodeId = res.data.instanceId;
  2983. this.nodeBusinessInfo.currentNodeInstanceCode = res.data.nodeCode;
  2984. }
  2985. if (this.currentNode.nodeCode ==='CHECK_STATEMENT' ||
  2986. this.currentNode.nodeCode ==='CHECK_REPORT' ||
  2987. this.currentNode.nodeCode ==='CHECK_LETTER' ){
  2988. this.getPerformance();
  2989. }
  2990. if (this.currentNode.nodeCode ==='WRITE_STATEMENT' ||
  2991. this.currentNode.nodeCode ==='WRITE_REPORT' ||
  2992. this.currentNode.nodeCode ==='WRITE_LETTER' ){
  2993. if (this.major.businessObjectType==='土地'){
  2994. this.getLandTargetList();
  2995. }
  2996. }
  2997. }
  2998. })
  2999. }
  3000. },
  3001. getLandTargetList(){
  3002. if (this.majorId){
  3003. const obj = new Object();
  3004. obj.majorId = this.majorId;
  3005. if (this.statementNo){
  3006. obj.statementNo =this.statementNo;
  3007. }
  3008. if (this.reportNo ){
  3009. console.log(this.feedback.production)
  3010. if (this.feedback.production.includes("REPORT")){
  3011. obj.reportNo = this.reportNo;
  3012. }else{
  3013. obj.letterNo = this.reportNo;
  3014. }
  3015. }
  3016. this.$api.majorTarget.list(obj).then(res=>{
  3017. if (res.code === 200){
  3018. this.evaluateLandData = res.data;
  3019. if (this.evaluateLandData.length===1){
  3020. this.statementNo = this.evaluateLandData[0].statementNo
  3021. }
  3022. let totalAcreages = [];
  3023. let totalValues = this.evaluateLandData.map(item=>item.evaluateValue);
  3024. if (this.major.businessObjectType === '土地'){
  3025. totalAcreages = this.evaluateLandData.map(item=>item.useAcreage);
  3026. }else{
  3027. totalAcreages = this.evaluateLandData.map(item=>item.buildAcreage);
  3028. }
  3029. for (let i in totalValues){
  3030. if (totalValues[i]!=null && typeof(totalValues[i])!='undefined'){
  3031. this.totalEvaluateValue += totalValues[i];
  3032. }
  3033. }
  3034. for (let j in totalAcreages){
  3035. if (totalAcreages[j]!=null && typeof(totalAcreages[j])!='undefined'){
  3036. this.totalAcreage += totalAcreages[j];
  3037. }
  3038. }
  3039. }
  3040. })
  3041. }
  3042. },
  3043. getWorkflowLogs(){
  3044. console.log(this.statementNo);
  3045. let param = {
  3046. businessId:this.majorId,
  3047. businessSubId: this.statementNo,
  3048. businessMinId:this.reportNo,
  3049. businessType:'MAJOR_BUSINESS'
  3050. }
  3051. this.$api.workflowLog.list(param).then(res=>{
  3052. if (res.code === 200){
  3053. this.workflowLogs = res.data;
  3054. }
  3055. })
  3056. },
  3057. getProductions(majorId,statementNo,reportNo){
  3058. if (majorId){
  3059. let pro = {
  3060. majorId:majorId,
  3061. reportNo:reportNo,
  3062. statementNo:statementNo,
  3063. sequence:this.currentNode.sequence,
  3064. }
  3065. this.$api.majorProduction.pendingList(pro).then(res=>{
  3066. if (res.code === 200 ){
  3067. this.productions = res.data;
  3068. this.nodeBusinessInfo.doSecondCheck = this.productions[0].secondCheck;
  3069. this.nodeBusinessInfo.doThirdCheck = this.productions[0].thirdCheck;
  3070. //回显上传的文档
  3071. for (let p in this.productions){
  3072. let d = JSON.parse(this.productions[p].filePath);
  3073. let c = JSON.parse(this.productions[p].checkedFilePath);
  3074. for (let q in d){
  3075. this.productions[p].filePathList.push({name: d[q].name, url:d[q].url,index:p});
  3076. }
  3077. for (let cc in c){
  3078. this.productions[p].filePathList1.push({name: c[cc].name, url:c[cc].url,index:p});
  3079. }
  3080. }
  3081. }
  3082. })
  3083. }
  3084. },
  3085. getPerformance(majorId,productionNo){
  3086. if (majorId && productionNo){
  3087. const obj = new Object();
  3088. obj.businessType = 'MAJOR_BUSINESS';
  3089. obj.majorId = majorId;
  3090. obj.productionNo = productionNo;
  3091. obj.checkLoop = this.checkLoop;
  3092. this.$api.businessProductionPerformance.detail(obj).then(res=>{
  3093. if (res.code === 200){
  3094. this.performance = res.data;
  3095. }
  3096. })
  3097. }
  3098. },
  3099. landTargetEdit(row){
  3100. if (row.targetType ==='土地'){
  3101. this.landDialogVisible = true;
  3102. }else{
  3103. this.houseDialogVisible = true;
  3104. }
  3105. this.landTarget = row;
  3106. // this.landTarget.rights = JSON.parse(this.landTarget.rightType);
  3107. // this.landTarget.sites = JSON.parse(this.landTarget.siteIds);
  3108. this.landTarget.rights = this.landTarget.rightType;
  3109. this.landTarget.sites = this.landTarget.siteIds;
  3110. this.eMethods = [];
  3111. this.houseUseTO = [];
  3112. if (JSON.parse(this.landTarget.evaluateMethods)){
  3113. this.eMethods = JSON.parse(this.landTarget.evaluateMethods);
  3114. }
  3115. if (JSON.parse(this.landTarget.housePurpose)){
  3116. this.houseUseTO = JSON.parse(this.landTarget.housePurpose);
  3117. }
  3118. },
  3119. aliasProductionType(code){
  3120. let name = '价值意见书';
  3121. if (code ==='REPORT'){
  3122. name = '报告';
  3123. }
  3124. if (code ==='LETTER'){
  3125. name = '复评函';
  3126. }
  3127. return name;
  3128. },
  3129. getCustomerCompany(val){
  3130. if (val ===0){
  3131. let simpleAll = new Object();
  3132. simpleAll.terminal=val;
  3133. this.$api.customerCompany.simpleAll(simpleAll).then(res=>{
  3134. if (res.code === 200){
  3135. this.customerCompany = res.data;
  3136. }
  3137. })
  3138. }else{
  3139. let simpleAll = new Object();
  3140. simpleAll.terminal=val;
  3141. this.$api.customerCompany.simpleAll(simpleAll).then(res=>{
  3142. if (res.code === 200){
  3143. this.tCustomerCompany = res.data;
  3144. }
  3145. })
  3146. }
  3147. },
  3148. findSubClientele(val){
  3149. if (val===0){
  3150. this.major.cmobile = null;
  3151. this.major.cDepartment = null;
  3152. this.major.cDuty = null;
  3153. if (this.major.clienteleId){
  3154. let simpleAll = new Object();
  3155. simpleAll.terminal=val;
  3156. simpleAll.parentId= this.major.clienteleId;
  3157. this.$api.customerCompany.simpleAll(simpleAll).then(res=>{
  3158. if (res.code === 200){
  3159. this.subCustomerCompany = res.data;
  3160. if (this.major.clienteleSubId){
  3161. this.major.clienteleSubId = null
  3162. }
  3163. if (this.major.clienteleContactId){
  3164. this.major.clienteleContactId = null
  3165. this.customerContract =[];
  3166. }
  3167. }
  3168. })
  3169. }
  3170. }else {
  3171. if (this.major.terminalClienteleType==='企业' && this.major.terminalClienteleId){
  3172. let simpleAll = new Object();
  3173. simpleAll.terminal=val;
  3174. simpleAll.ccId = this.major.terminalClienteleId;
  3175. this.$api.customerLinkman.simpleAll(simpleAll).then(res=>{
  3176. if (res.code === 200){
  3177. this.tCustomerContract =res.data;
  3178. }
  3179. this.major.terminalClienteleContactId = null;
  3180. this.major.tmobile = null;
  3181. })
  3182. }else{
  3183. if (this.major.terminalClienteleType==='个人' && this.major.terminalClienteleId){
  3184. this.$api.customerLinkman.detail(this.major.terminalClienteleId).then(res=>{
  3185. if (res.code === 200){
  3186. this.major.tmobile = res.data.mobile;
  3187. }
  3188. })
  3189. }
  3190. }
  3191. }
  3192. },
  3193. getCustomerContract(){
  3194. this.major.cmobile = null;
  3195. this.major.cDepartment = null;
  3196. this.major.cDuty = null;
  3197. if (this.major.clienteleSubId){
  3198. let simpleAll = new Object();
  3199. simpleAll.ccId = this.major.clienteleSubId
  3200. this.$api.customerLinkman.simpleAll(simpleAll).then(res=>{
  3201. if (res.code === 200){
  3202. this.customerContract = res.data;
  3203. if (this.major.clienteleContactId){
  3204. this.major.clienteleContactId = null
  3205. }
  3206. }
  3207. })
  3208. }
  3209. },
  3210. changeCustomerType(val){
  3211. if (val ===0){
  3212. this.major.cmobile = null;
  3213. this.major.cDepartment = null;
  3214. this.major.cDuty = null;
  3215. if (this.major.clienteleId){
  3216. this.major.clienteleId = null;
  3217. this.customerCompany=[]
  3218. }
  3219. if (this.major.clienteleSubId){
  3220. this.major.clienteleSubId = null;
  3221. this.subCustomerCompany=[]
  3222. }
  3223. if (this.major.clienteleContactId){
  3224. this.major.clienteleContactId = null;
  3225. this.customerContract =[]
  3226. }
  3227. if (this.major.clienteleType==='个人'){
  3228. let simpleAll = new Object();
  3229. simpleAll.ccId = 1;
  3230. simpleAll.terminal = 0;
  3231. this.$api.customerLinkman.simpleAll(simpleAll).then(res=>{
  3232. if (res.code === 200){
  3233. this.customerContract = res.data;
  3234. if (this.major.clienteleContactId){
  3235. this.major.clienteleContactId = null
  3236. }
  3237. }
  3238. })
  3239. }
  3240. if (this.major.clienteleType==='企业'){
  3241. this.getCustomerCompany(0)
  3242. this.major.clienteleContactId = null
  3243. this.customerContract =[];
  3244. }
  3245. }else {
  3246. if (this.major.terminalClienteleType==='个人'){
  3247. let simpleAll = new Object();
  3248. simpleAll.ccId = 2;
  3249. simpleAll.terminal = 1;
  3250. this.$api.customerLinkman.simpleAll(simpleAll).then(res=>{
  3251. if (res.code === 200){
  3252. this.tCustomerCompany = res.data;
  3253. if (this.major.terminalClienteleId){
  3254. this.major.terminalClienteleContactId = null
  3255. this.major.terminalClienteleId = null
  3256. this.tCustomerContract =[];
  3257. this.major.tmobile = null;
  3258. }
  3259. }
  3260. })
  3261. }
  3262. if (this.major.terminalClienteleType==='企业'){
  3263. this.major.terminalClienteleContactId = null
  3264. this.major.terminalClienteleId = null;
  3265. this.major.tmobile = null;
  3266. this.tCustomerContract =[];
  3267. this.getCustomerCompany(1)
  3268. }
  3269. if (this.major.terminalClienteleType===''){
  3270. this.major.terminalClienteleContactId = null;
  3271. this.major.terminalClienteleId = null;
  3272. this.major.tmobile = null;
  3273. this.tCustomerCompany= [];
  3274. this.tCustomerContract =[];
  3275. }
  3276. }
  3277. },
  3278. getContactInfo(){
  3279. if (this.major.clienteleContactId){
  3280. this.$api.customerLinkman.detail(this.major.clienteleContactId).then(res=>{
  3281. if (res.code === 200){
  3282. this.major.cmobile = res.data.mobile;
  3283. this.major.cDepartment = res.data.department
  3284. this.major.cDuty = res.data.duty
  3285. }
  3286. })
  3287. }
  3288. },
  3289. getTcontactInfo(){
  3290. if (this.major.terminalClienteleContactId){
  3291. this.$api.customerLinkman.detail(this.major.terminalClienteleContactId).then(res=>{
  3292. if (res.code === 200){
  3293. this.major.tmobile = res.data.mobile;
  3294. }
  3295. })
  3296. }
  3297. },
  3298. changeType(){
  3299. if (this.major.businessGener){
  3300. this.major.businessGener = null;
  3301. }
  3302. if (this.major.businessObjectType==='土地'){
  3303. this.types = this.landType;
  3304. }
  3305. if (this.major.businessObjectType==='房地产'){
  3306. this.types = this.houseType;
  3307. }
  3308. },
  3309. createLinkman(val){
  3310. this.createLinkmanVisible = true;
  3311. this.linkmanFrom.terminal = val;
  3312. this.linkmanFrom.clienteleType = this.major.clienteleType;
  3313. this.linkmanFrom.clienteleId = this.major.clienteleId;
  3314. this.linkmanFrom.clienteleSubId = this.major.clienteleSubId;
  3315. if (this.major.clienteleType==='企业'){
  3316. this.linkmanFrom.ccId = this.major.clienteleSubId
  3317. }else{
  3318. this.major.clienteleSubId = 1;
  3319. this.linkmanFrom.ccId = this.major.clienteleSubId;
  3320. }
  3321. },
  3322. createTlinkman(){
  3323. this.createTlinkmanVisible = true;
  3324. this.tLinkmanFrom.terminal = 1;
  3325. if (this.major.terminalClienteleType==='企业'){
  3326. this.tLinkmanFrom.ccId = this.major.terminalClienteleId;
  3327. }else{
  3328. this.tLinkmanFrom.ccId = 1;
  3329. }
  3330. },
  3331. saveLinkman(){
  3332. this.$refs.linkmanFrom.validate(valid =>{
  3333. if (valid){
  3334. this.$api.customerLinkman.add(this.linkmanFrom).then(res=>{
  3335. if (res.code ===200){
  3336. this.$notify({
  3337. title: '成功',
  3338. message: '新增客户联系人成功',
  3339. type: 'success',
  3340. duration: 2000
  3341. });
  3342. }
  3343. this.getCustomerContract();
  3344. setTimeout(()=>{
  3345. this.major.clienteleContactId = this.customerContract[0].id;
  3346. this.getContactInfo();
  3347. },2000)
  3348. this.createLinkmanVisible=false;
  3349. })
  3350. }
  3351. })
  3352. },
  3353. saveTlinkman(){
  3354. this.$refs.tLinkmanFrom.validate(valid =>{
  3355. if (valid){
  3356. if (!this.tLinkmanFrom.ccId){
  3357. this.tLinkmanFrom.ccId = 2;
  3358. this.tLinkmanFrom.terminal = 1;
  3359. }
  3360. this.$api.customerLinkman.add(this.tLinkmanFrom).then(res=>{
  3361. if (res.code ===200){
  3362. this.$notify({
  3363. title: '成功',
  3364. message: '新增终端联系人成功',
  3365. type: 'success',
  3366. duration: 2000
  3367. });
  3368. }
  3369. if (this.major.terminalClienteleType==='企业'){
  3370. this.findSubClientele(1);
  3371. setTimeout(()=>{
  3372. this.major.terminalClienteleContactId = this.tCustomerContract[0].id;
  3373. this.getTcontactInfo();
  3374. },2000)
  3375. }
  3376. if (this.major.terminalClienteleType==='个人'){
  3377. let simpleAll = new Object();
  3378. simpleAll.ccId = 2;
  3379. simpleAll.terminal = 1;
  3380. this.$api.customerLinkman.simpleAll(simpleAll).then(res=>{
  3381. if (res.code === 200){
  3382. this.tCustomerCompany = res.data;
  3383. }
  3384. })
  3385. setTimeout(()=>{
  3386. this.major.terminalClienteleId = this.tCustomerCompany[0].id;
  3387. this.major.terminalClienteleContactId = this.tCustomerCompany[0].id;
  3388. this.getTcontactInfo();
  3389. },2000)
  3390. }
  3391. this.createTlinkmanVisible=false;
  3392. })
  3393. }
  3394. })
  3395. },
  3396. createTerminalClient(){
  3397. if (this.major.terminalClienteleType==='企业'){
  3398. this.createTerminalClientVisible = true;
  3399. }else{
  3400. this.createTlinkmanVisible = true;
  3401. }
  3402. },
  3403. saveClient(){
  3404. this.$refs.terminalClientFrom.validate(valid =>{
  3405. if (valid){
  3406. this.$api.customerCompany.add(this.terminalClientFrom).then(res=>{
  3407. if (res.code ===200){
  3408. this.$notify({
  3409. title: '成功',
  3410. message: '新增客户成功',
  3411. type: 'success',
  3412. duration: 2000
  3413. });
  3414. }
  3415. this.getCustomerCompany(1);
  3416. this.major.terminalClienteleContactId = null;
  3417. this.major.tmobile = null;
  3418. this.tCustomerContract =[];
  3419. setTimeout(()=>{
  3420. this.major.terminalClienteleId = this.tCustomerCompany[0].id;
  3421. this.findSubClientele(1);
  3422. },2000)
  3423. this.createTerminalClientVisible=false;
  3424. })
  3425. }
  3426. })
  3427. },
  3428. getFinanceInvoiceAmountInfo(){
  3429. const obj = new Object();
  3430. obj.majorId= this.majorId;
  3431. obj.productionNos = [];
  3432. if (this.statementNo){
  3433. obj.productionNos.push(this.statementNo);
  3434. }
  3435. if (this.reportNo){
  3436. obj.productionNos.push(this.reportNo);
  3437. }
  3438. this.$api.financeInvoice.getInvoiceAmountInfo(obj).then(res => {
  3439. if (res.code === 200) {
  3440. this.productionFinance = res.data;
  3441. }
  3442. })
  3443. },
  3444. printQR(path){
  3445. if (path){
  3446. let routeUrl = this.$router.resolve({
  3447. path: `/print/code?path=${path}`
  3448. });
  3449. window.open(routeUrl.href, '_blank');
  3450. }
  3451. },
  3452. handleAttachmentPreview(file) {
  3453. // window.open(file.url)
  3454. this.officeFileView(file.name, file.url);
  3455. },
  3456. // 文档预览
  3457. officeFileView(name, url) {
  3458. if (name || url) {
  3459. const route = this.$router.resolve({
  3460. path: "/office/view/window",
  3461. query: {
  3462. // 文档标题
  3463. title: name,
  3464. // 文档url地址
  3465. url: url,
  3466. mode: 'view'
  3467. }
  3468. });
  3469. // 在新窗口打开页面
  3470. window.open(route.href, "_blank");
  3471. } else {
  3472. this.$notify({
  3473. title: '失败',
  3474. message: 'url为空,无法打开,如未保存请保存后再试!',
  3475. type: 'error',
  3476. duration: 2000
  3477. });
  3478. }
  3479. },
  3480. goBack() {
  3481. const back = this.$route.query.back
  3482. if (back) {
  3483. this.$router.push(back)
  3484. }
  3485. },
  3486. saveProduction(production) {
  3487. const prodFrom = eval('this.$refs.productionFrom' + production.id);
  3488. if (prodFrom) {
  3489. prodFrom.validate(valid => {
  3490. if (valid) {
  3491. production.evaluateAmount = production.evaluateAmount*10000;
  3492. if (production.id) {
  3493. this.$api.majorProduction.update(production).then(res => {
  3494. if (res.code === 200 && res.data) {
  3495. this.$notify({
  3496. title: '成功',
  3497. message: '产品信息更新成功',
  3498. type: 'success',
  3499. duration: 1000,
  3500. offset: 100
  3501. });
  3502. this.getProductions(this.majorId, (this.reportNo == null ? this.statementNo : this.reportNo));
  3503. this.getPerformance(this.majorId, (this.reportNo == null ? this.statementNo : this.reportNo));
  3504. } else {
  3505. this.$notify({
  3506. title: '失败',
  3507. message: '产品信息完善失败',
  3508. type: 'error',
  3509. duration: 1000,
  3510. offset: 100
  3511. });
  3512. }
  3513. })
  3514. }
  3515. }
  3516. })
  3517. }
  3518. },
  3519. queryOrderOverStock(allotType){
  3520. if (allotType==='指派'){
  3521. this.$api.department.majorDepartment().then(res=>{
  3522. if (res.code === 200){
  3523. this.allotDepartment = res.data;
  3524. }
  3525. })
  3526. }
  3527. }
  3528. },
  3529. }
  3530. </script>
  3531. <style lang="scss" scoped>
  3532. .row-style{
  3533. margin-left:40px;
  3534. margin-right:1%;
  3535. }
  3536. .task-class{
  3537. /deep/ .el-form-item__label {
  3538. color: red;
  3539. }
  3540. }
  3541. .evaluate-table{
  3542. margin-left:40px;
  3543. margin-top:35px;
  3544. }
  3545. .pane-class{
  3546. width:100%;
  3547. overflow-y: scroll;
  3548. }
  3549. /deep/ .cell-class{
  3550. font-size:13px;
  3551. color:black;
  3552. }
  3553. .table {
  3554. /deep/ thead {
  3555. .el-table-column--selection {
  3556. .cell {
  3557. display: none;
  3558. }
  3559. }
  3560. }
  3561. }
  3562. .performance-avatar-wrapper{
  3563. width: 50px;
  3564. height: 50px;
  3565. position: relative;
  3566. border-radius: 50%;
  3567. background-color: rgba(129,216,207,1);
  3568. text-align: center;
  3569. line-height: 50px;
  3570. }
  3571. .perfomance-icon-title{
  3572. font-size: 20px;
  3573. color: rgba(255, 255, 255, 1);
  3574. display: inline-block;
  3575. position: relative;
  3576. top: -2px;
  3577. }
  3578. /deep/.createLinkman {
  3579. border-radius: 10px;
  3580. }
  3581. .qr-code-div{
  3582. background-color: RGB(245, 245, 245);
  3583. width: 150px;
  3584. height: 150px;
  3585. position: absolute;
  3586. display: flex;
  3587. justify-content: center;
  3588. align-items: center;
  3589. }
  3590. .qr-code{
  3591. width: 150px;
  3592. height: 150px;
  3593. z-index: 999;
  3594. border: 1px #919398 solid;
  3595. border-radius: 5px;
  3596. }
  3597. .qr-code-div:hover {
  3598. cursor: pointer;
  3599. // background-color:RGB(220,220,220);
  3600. // width: 205px;
  3601. // height: 205px;
  3602. }
  3603. a:hover{
  3604. cursor: pointer;
  3605. color: #5a9cf8
  3606. }
  3607. .button-area {
  3608. position: absolute;
  3609. top: 18px;
  3610. right: 50px;
  3611. }
  3612. .el-select {
  3613. max-width: 70vw !important;
  3614. }
  3615. </style>