detail.vue 156 KB

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