materialApplicationds.vue 75 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239
  1. <template>
  2. <fullscreen :fullscreen.sync="fullscreen" class="container">
  3. <div class="container-box">
  4. <toolList @iconCli='iconCli' :tooltit='tooltit'></toolList>
  5. <div class="search">
  6. <!-- <mySearch :searchList="searchList" @searchInfo="searchInfo"></mySearch> -->
  7. <eltabs :tabList="tabList" @status="clickTabs"></eltabs>
  8. <!-- <el-button class="btn-check" size="medium" type="primary" @click='jumpadd'
  9. v-if="(userInfo.cityName==null&&userInfo.countyName==null)||(userInfo.cityName!=null&&userInfo.countyName==null)">添加
  10. </el-button> -->
  11. <el-button class="btn-check" size="medium" type="primary"
  12. @click='jumpadd'
  13. v-if="userInfo.duty > 9"
  14. style="width:100px;height:50px"
  15. >添加
  16. </el-button>
  17. <!-- <el-button size="medium" type="primary" @click="operationZuo()">
  18. 处理
  19. </el-button> -->
  20. </div>
  21. <div class="tabbox" v-if="this.childname == 'first' || this.childname == 'two'">
  22. <tableList
  23. :list="Table"
  24. ref="TableList"
  25. @clickDemand="clickDemand"
  26. @changeNum="changeNum"
  27. ></tableList>
  28. </div>
  29. <div class="tabbox" v-if="this.childname == 'three'">
  30. <el-table :data="tableData" style="width: 100%" ref="refTable" height="400px" max-height="400px">
  31. <el-table-column type="expand">
  32. <template slot-scope="props">
  33. <!-- <el-table v-loading="loading2" :data="props.row.fxfkProcessList" size="mini" style="width: 95%;margin-left: 5%;"> -->
  34. <el-table :data="props.row.xcwlProProcessList" size="mini" style="width: 95%;margin-left: 5%;"
  35. @cell-click="getRowList">
  36. <el-table-column label="序号" type="index" width="50">
  37. </el-table-column>
  38. <el-table-column label="业务名称" prop="needName"></el-table-column>
  39. <el-table-column label="地市" prop="region"></el-table-column>
  40. <el-table-column label="区县" prop="district"></el-table-column>
  41. <el-table-column label="渠道/小区/校园名称" prop="channelQuartersSchool"> </el-table-column>
  42. <el-table-column label="使用场景" prop="useCase"></el-table-column>
  43. <el-table-column label="物料名称" prop="material"></el-table-column>
  44. <el-table-column label="物料编码" prop="materialNo"></el-table-column>
  45. <el-table-column label="规格尺码" prop="spec"></el-table-column>
  46. <el-table-column label="长(米)" prop="chang"></el-table-column>
  47. <el-table-column label="宽(米)" prop="kuan"></el-table-column>
  48. <el-table-column label="横/竖" prop="hengShu"></el-table-column>
  49. <el-table-column label="系数" prop="coefficient"></el-table-column>
  50. <!-- <el-table-column label="单价" prop="price"></el-table-column> -->
  51. <el-table-column label="数量" prop="quantity"></el-table-column>
  52. <!-- <el-table-column label="结算金额" prop="replyContent"></el-table-column> -->
  53. <el-table-column label="麦穗" prop="gys1Price"></el-table-column>
  54. <el-table-column label="神笔" prop="gys2Price"></el-table-column>
  55. <el-table-column label="状态" prop="taskname"></el-table-column>
  56. <el-table-column label="操作" fixed="right" align="center">
  57. <template slot-scope="scope">
  58. <el-button size="mini" type="text" @click="getinform(scope.row)" v-if="scope.row.taskname == null">
  59. 任务下发</el-button>
  60. <el-button size="mini" type="text" @click="chakanfaqi(scope.row)" v-if="scope.row.taskname != null">
  61. 查看</el-button>
  62. </template>
  63. <!-- <template slot-scope="scope">
  64. </template> -->
  65. </el-table-column>
  66. </el-table>
  67. </template>
  68. </el-table-column>
  69. <el-table-column label="业务名称" prop="businessName">
  70. </el-table-column>
  71. <el-table-column label="下单周期" prop="cycle">
  72. </el-table-column>
  73. <el-table-column label="申请人" prop="proposer">
  74. </el-table-column>
  75. <el-table-column label="申请人部门" prop="applydept">
  76. </el-table-column>
  77. <el-table-column label="申请人类型" prop="applyType">
  78. </el-table-column>
  79. <el-table-column label="申请时间" prop="applyTime">
  80. </el-table-column>
  81. <el-table-column label="当前进度" prop="progressBar">
  82. <template slot-scope="props">
  83. <el-progress :percentage="props.row.progressBar"></el-progress>
  84. </template>
  85. </el-table-column>
  86. </el-table>
  87. <!-- v-if="adminpageData.total > 0" -->
  88. <el-pagination style="display: flex; flex-direction: row-reverse"
  89. :current-page.sync="adminpageData.pageNum" :page-sizes="
  90. adminpageData.pageSizes ? adminpageData.pageSizes : [5, 10, 15, 20]
  91. " :page-size="adminpageData.pageSize" layout="total, sizes, prev, pager, next, jumper"
  92. :total="adminpageData.total" @size-change="adminhandleSizeChange"
  93. @current-change="adminhandleCurrentChange" />
  94. </div>
  95. </div>
  96. <div class="containtbox">
  97. <el-dialog
  98. title="处理操作"
  99. :visible.sync="dialogVisible1"
  100. :before-close="handleCloses"
  101. width="100%"
  102. height="100vh"
  103. class="dialogClass"
  104. top="0"
  105. :modal="false"
  106. :modal-append-to-body="true"
  107. :destroy-on-close="true"
  108. >
  109. <!-- -->
  110. <!-- <Workflow :list="ruleForm" :requestForm="requestForm" @dialogVisible1 = "Visible1"/> -->
  111. <Workflow
  112. :list="infolist"
  113. @updateForm = "updateForm"
  114. :requestForm="requestForm"
  115. />
  116. <!-- @dialogVisible1 = "Visible1" -->
  117. <!-- <WorkflowEntrance
  118. :list="infolist"
  119. v-else
  120. :lastManList="lastManList"
  121. @beforeClose = "updateForm"
  122. :requestForm="requestForm"
  123. /> -->
  124. <span slot="footer" class="dialog-footer">
  125. </span>
  126. </el-dialog>
  127. </div>
  128. <el-dialog
  129. :visible.sync="dialogVisible"
  130. :before-close="handleCloses"
  131. width="100%"
  132. height="500vh"
  133. class="dialogClass"
  134. top="0"
  135. :modal="false"
  136. :modal-append-to-body="true"
  137. >
  138. <span class="dialog-body">
  139. <el-form
  140. :model="infolist"
  141. ref="infolist"
  142. :rules="rules"
  143. label-width="100px"
  144. class="demo-ruleForm"
  145. >
  146. <!--dialogVisible1 = true -->
  147. <el-form-item
  148. style="position: fixed; top: 50px; left: -60px; z-index: 1000"
  149. >
  150. <!-- v-if="baocun" @click="newFormgong"-->
  151. <el-button type="primary" @click="dealwith()" v-if="deal">处理</el-button>
  152. <el-button type="primary" @click="close()">关闭</el-button>
  153. <el-button type="primary" @click="saveform()" v-if="baocun">保存</el-button>
  154. <!-- <el-button type="primary" @click="submitForm()" v-if = "baocun">保存</el-button> -->
  155. </el-form-item>
  156. <!-- style="height: calc(100% - 160px); overflow: auto" -->
  157. <div >
  158. <el-row :gutter="10">
  159. <el-col :span="8" style="width: 450px; padding-top: 68px">
  160. <el-form-item prop="businessName" label="业务名称">
  161. <el-input
  162. v-model="infolist.businessName"
  163. placeholder="业务名称"
  164. :disabled="disableStatus"
  165. ></el-input>
  166. </el-form-item>
  167. </el-col>
  168. <el-col :span="8" style="width: 450px;padding-top: 68px">
  169. <el-form-item label="下单周期" prop="cycle">
  170. <el-date-picker
  171. v-model="infolist.cycle"
  172. type="daterange"
  173. range-separator="-"
  174. start-placeholder="开始日期"
  175. end-placeholder="结束日期"
  176. :disabled="disableStatus"
  177. :picker-options="pickerOptions0"
  178. >
  179. </el-date-picker>
  180. </el-form-item>
  181. </el-col>
  182. <el-col :span="8" style="width: 450px;padding-top: 68px">
  183. <el-form-item label="需求编号" prop="needCode">
  184. <el-input
  185. v-model="infolist.needCode"
  186. placeholder="需求编号"
  187. disabled
  188. ></el-input>
  189. </el-form-item>
  190. </el-col>
  191. </el-row>
  192. <el-row :gutter="10">
  193. <el-col :span="8" style="width: 450px">
  194. <el-form-item prop="districtScore" label="区县打分">
  195. <el-input
  196. v-model="infolist.districtScore"
  197. placeholder="区县打分"
  198. :disabled="this.infolist.tabletaskName != '区县公司负责人'"
  199. ></el-input>
  200. </el-form-item>
  201. </el-col>
  202. <el-col :span="8" style="width: 410px">
  203. <el-form-item prop="gys" label="供应商">
  204. <!-- <span>供应商</span> -->
  205. <el-select
  206. @change="gysMing(1, $event)"
  207. clearable
  208. v-model="infolist.gys"
  209. placeholder="供应商"
  210. :disabled="this.infolist.tabletaskName != '省公司宣传负责人'"
  211. >
  212. <el-option
  213. v-for="(items, index) in gysopt"
  214. :key="index"
  215. :label="items.name"
  216. :value="items.name"
  217. >
  218. </el-option>
  219. </el-select>
  220. </el-form-item>
  221. </el-col>
  222. <el-col :span="8" style="width: 470px">
  223. <el-form-item label="物料验证材料链接" prop="materialUrl" label-width="140px">
  224. <el-input
  225. v-model="infolist.materialUrl"
  226. placeholder="物料验证材料链接"
  227. :disabled="this.infolist.tabletaskName != '区县公司负责人'"
  228. ></el-input>
  229. </el-form-item>
  230. </el-col>
  231. </el-row>
  232. <el-row>
  233. <el-col :span="24">
  234. <el-form-item class="info-line online">
  235. <el-table
  236. :data="infomaterType"
  237. style="width: 100%"
  238. height="240px"
  239. border
  240. size="mini"
  241. >
  242. <!-- <el-table-column type="selection" width="55" fixed="left" > -->
  243. <!-- </el-table-column> -->
  244. <el-table-column prop="riqi" label="日期">
  245. </el-table-column>
  246. <el-table-column prop="formType" label="表单类型">
  247. </el-table-column>
  248. <el-table-column prop="region" label="地市公司">
  249. </el-table-column>
  250. <el-table-column prop="district" label="区县名称">
  251. </el-table-column>
  252. <el-table-column prop="channelCode" label="渠道编码">
  253. </el-table-column>
  254. <el-table-column
  255. prop="channelQuartersSchool"
  256. label="渠道/小区/校园名称"
  257. >
  258. </el-table-column>
  259. <!-- <el-table-column prop="useCase" label="场景"> -->
  260. <el-table-column prop="useCase" label="场景">
  261. </el-table-column>
  262. <el-table-column prop="channelCode" label="物料编码">
  263. </el-table-column>
  264. <el-table-column prop="material" label="物料名称">
  265. </el-table-column>
  266. <el-table-column prop="unit" label="物料单位">
  267. </el-table-column>
  268. <el-table-column prop="spec" label="规格尺寸">
  269. </el-table-column>
  270. <el-table-column prop="chang" label="长"> </el-table-column>
  271. <el-table-column prop="kuan" label="宽"> </el-table-column>
  272. <el-table-column prop="hengShu" label="横竖">
  273. </el-table-column>
  274. <el-table-column prop="coefficient" label="系数">
  275. </el-table-column>
  276. <!-- <el-table-column prop="price" label="单价"> </el-table-column> -->
  277. <el-table-column prop="quantity" label="数量" >
  278. </el-table-column>
  279. <el-table-column prop="priority" label="优先级">
  280. </el-table-column>
  281. <el-table-column label="麦穗" prop="gys1Price">
  282. <!-- <template slot-scope="scope">
  283. <div>
  284. {{
  285. (scope.row.gys1Price =
  286. scope.row.quantity *
  287. scope.row.price *
  288. scope.row.coefficient)
  289. }}
  290. </div>
  291. </template> -->
  292. </el-table-column>
  293. <el-table-column label="神笔" prop="gys2Price">
  294. <!-- <template slot-scope="scope">
  295. <div>
  296. {{
  297. (scope.row.gys2Price =
  298. scope.row.quantity *
  299. scope.row.price *
  300. scope.row.coefficient)
  301. }}
  302. </div>
  303. </template> -->
  304. </el-table-column>
  305. <el-table-column label="操作" fixed="right" align="center" v-if="this.infolist.tabletaskName == '起草'">
  306. <template slot-scope="scope">
  307. <el-button size="mini" type="text" @click="updatexiuform(scope.row)" :disabled="xiugaizhuan">
  308. 修改</el-button>
  309. </template>
  310. </el-table-column>
  311. <!-- <el-table-column label="供应商3金额" prop="gys3Price">
  312. <template slot-scope="scope">
  313. <div>
  314. {{
  315. (scope.row.gys3Price =
  316. scope.row.quantity *
  317. scope.row.price *
  318. scope.row.coefficient)
  319. }}
  320. </div>
  321. </template>
  322. </el-table-column>
  323. <el-table-column label="供应商4金额" prop="gys4Price">
  324. <template slot-scope="scope">
  325. <div>
  326. {{
  327. (scope.row.gys4Price =
  328. scope.row.quantity *
  329. scope.row.price *
  330. scope.row.coefficient)
  331. }}
  332. </div>
  333. </template>
  334. </el-table-column> -->
  335. </el-table>
  336. </el-form-item>
  337. </el-col>
  338. </el-row>
  339. <div style="width: 96%; margin:20px 0 0 38px">
  340. <div>
  341. <myUpload
  342. @uploadBack="uploadBack"
  343. @clickDownload = "download"
  344. :disabled = "updisabled"
  345. :fileInfo="fileInfo"
  346. :fileList="fileInfo.fileList"
  347. >
  348. </myUpload>
  349. </div>
  350. </div>
  351. </div>
  352. </el-form>
  353. <div class="table-title">
  354. <h2>流程追踪</h2>
  355. </div>
  356. <div class="flex-header-process">
  357. <!-- <tableList :list="processTable" ref="el-form" @clickDemand = "clickDemand"></tableList> -->
  358. <el-table
  359. :data="tableData1"
  360. :header-cell-style="{ textAlign: 'center' }"
  361. :cell-style="{ textAlign: 'center' }"
  362. style="width: 100%"
  363. max-height="350"
  364. >
  365. <el-table-column
  366. type="index"
  367. label="序号"
  368. width="50">
  369. </el-table-column>
  370. <el-table-column
  371. prop="taskName"
  372. label="环节名称"
  373. width="280"
  374. class="is-center"
  375. >
  376. </el-table-column>
  377. <el-table-column prop="assignee" label="处理人" width="280">
  378. </el-table-column>
  379. <el-table-column prop="startTime" label="到达时间" width="280">
  380. </el-table-column>
  381. <el-table-column prop="endTime" label="处理时间" width="280">
  382. </el-table-column>
  383. <el-table-column prop="content" label="回复意见" width="280">
  384. </el-table-column>
  385. </el-table>
  386. </div>
  387. </span>
  388. </el-dialog>
  389. <el-dialog
  390. title="下单信息"
  391. :visible.sync="typests"
  392. width="50%"
  393. :destroy-on-close="true"
  394. :modal-append-to-body="false"
  395. :close-on-click-modal="false"
  396. :before-close="closedia"
  397. >
  398. <el-form
  399. :model="rulelist"
  400. ref="rulelist"
  401. style="height: 30vh; overflow-y: scroll"
  402. v-loading="loadinged"
  403. >
  404. <div class="info-lineform">
  405. <el-form-item prop="useCase" label="使用场景">
  406. <el-select
  407. @change="changeMing(1,$event)"
  408. clearable
  409. v-model="rulelist.useCase"
  410. placeholder="使用场景"
  411. >
  412. <el-option
  413. v-for="(items, index) in useCaseopt"
  414. :key="index"
  415. :label="items.dataName"
  416. :value="items.dataName"
  417. >
  418. </el-option>
  419. </el-select>
  420. </el-form-item>
  421. <el-form-item prop="formType" label="表单类型">
  422. <el-select
  423. v-model="rulelist.formType"
  424. placeholder="请选择表单类型"
  425. >
  426. <el-option
  427. v-for="(item, index) in optionList"
  428. :label="item.value"
  429. :value="item.value"
  430. :key="index"
  431. ></el-option>
  432. </el-select>
  433. </el-form-item>
  434. <el-form-item prop="material" label="物料名称">
  435. <el-select
  436. @change="changeSearch(3, $event)"
  437. clearable
  438. v-model="rulelist.material"
  439. placeholder="物料名称"
  440. >
  441. <el-option
  442. v-for="(items, index) in metirialOpt"
  443. :key="index"
  444. :label="items.metirialName"
  445. :value="items.metirialName"
  446. >
  447. </el-option>
  448. </el-select>
  449. </el-form-item>
  450. <el-form-item prop="quantity" label="数量" label-width="68px" >
  451. <el-input
  452. v-model="rulelist.quantity"
  453. placeholder="数量"
  454. type="number"
  455. style="width:256px"
  456. >
  457. </el-input>
  458. </el-form-item>
  459. <el-form-item prop="channelQuartersSchool" label="渠道/小区/校园名称" label-width="137px">
  460. <el-input
  461. v-model="rulelist.channelQuartersSchool"
  462. placeholder="渠道/小区/校园名称"
  463. style="width:256px"
  464. >
  465. </el-input>
  466. </el-form-item>
  467. </div>
  468. </el-form>
  469. <div class="t-footer">
  470. <!-- -->
  471. <el-button type="primary" @click="gengxinge">确 定</el-button>
  472. <el-button @click="closediaform">取 消</el-button>
  473. </div>
  474. </el-dialog>
  475. <el-dialog
  476. :title="titname"
  477. :visible.sync="applicationDialogStatus"
  478. width="30%"
  479. :destroy-on-close="true"
  480. :modal-append-to-body="false"
  481. :close-on-click-modal="false"
  482. :before-close="closedia"
  483. >
  484. <div v-loading="loadinged">
  485. <el-form
  486. :model="approvalinfolist"
  487. ref="approvalinfolist"
  488. >
  489. <el-form-item class="info-line online" style="margin-left: 10%">
  490. <el-radio-group v-model="approvalinfolist.opinionradio">
  491. <el-radio :label="1">同意</el-radio>
  492. <el-radio :label="2">打回</el-radio>
  493. </el-radio-group>
  494. </el-form-item>
  495. <el-form-item class="info-line online" style="text-align: center">
  496. <el-input
  497. v-model="approvalinfolist.opinion"
  498. placeholder="审批意见"
  499. type="textarea"
  500. :rows="2"
  501. ></el-input>
  502. </el-form-item>
  503. </el-form>
  504. <div slot="footer" class="dialog-footer myfooter">
  505. <el-button @click="dialogCli(4)">取 消</el-button>
  506. <el-button type="primary" @click="dialogCli(5)">确 定</el-button>
  507. </div>
  508. </div>
  509. </el-dialog>
  510. <myMessage :messTit='messTit' @closeMessage="closeMessage" :centerDialogVisible="centerDialogVisible" v-if="centerDialogVisible"></myMessage>
  511. </fullscreen>
  512. </template>
  513. <script>
  514. import eltabs from "../../../components/el-tabs";
  515. import mySearch from "../../../components/search.vue";
  516. import myMessage from "../../../components/myMessage.vue"
  517. import toolList from '../../../components/toolList'
  518. import myUpload from '../../../components/upload'
  519. import tableList from "../../../components/el-form";
  520. import Workflow from "../../../components/workflowBasexcwls";
  521. // import Workflow from "../../../components/workflow";
  522. // import WorkflowEntrance from "../../../components/workflowEntrance";
  523. import {
  524.   getTodoBase,
  525.   getDoneBase,
  526.  
  527. } from "../../../http/api.js";
  528. export default {
  529. components: {
  530. mySearch,
  531. myMessage,
  532. toolList,
  533. myUpload,
  534. eltabs,
  535. tableList,
  536. Workflow,
  537. },
  538. data() {
  539. // const regionName = (rule, value, callback) => {
  540. // if (!this.infolist.regionName) {
  541. // callback(new Error('不能为空'))
  542. // } else {
  543. // callback()
  544. // }
  545. // }
  546. // const advTypeDesc = (rule, value, callback) => {
  547. // if (!this.infolist.advTypeDesc) {
  548. // callback(new Error('不能为空'))
  549. // } else {
  550. // callback()
  551. // }
  552. // }
  553. return {
  554. requestForm: {
  555. fresourceId: "241efa62-a816-11ed-886f-d6cd97160e00",
  556. processDefinitionKey: "xcwl_cit_process",
  557. processDefinitionKey1: "xcwl_pro_process",
  558. // processDefinitionKeys: "xcwl_cit_process",
  559. taskId:"",
  560. },
  561. request_form: {
  562. userId: "",
  563. userName: "",
  564. path: this.$router.currentRoute.name,
  565. userCode: JSON.parse(window.sessionStorage.userInfo).loginNo,
  566. title: "",
  567. businessKey: "",
  568. processDefinitionKey: "xcwl_cit_process",
  569. },
  570. processDefinitionKey1: "xcwl_pro_process",
  571. lastManList: [],
  572. tabList: [
  573. {
  574. index: "first",
  575. label: "我的待办",
  576. number: "",
  577. name: "prosss_key",
  578. },
  579. {
  580. index: "two",
  581. label: "我的已办",
  582. number: "",
  583. },
  584. {
  585. index: "three",
  586. label: "我发起的",
  587. number: "",
  588. },
  589. ],
  590. Table: {},
  591. adminpageData: {
  592. total: 15, // 总条数
  593. pageSizes: 10, // 每页数量
  594. pageNum: 1, // 页码
  595. },
  596. firstTable: {
  597. name: "first",
  598. height: "350",
  599. titledata: [
  600. {
  601. label: "业务名称",
  602. prop: "needName",
  603. width: 200,
  604. },
  605. {
  606. label: "地市",
  607. prop: "region",
  608. width: 200,
  609. },
  610. {
  611. label: "区县",
  612. prop: "district",
  613. width: 200,
  614. },
  615. {
  616. label: "渠道/小区/校园名称",
  617. prop: "channelQuartersSchool",
  618. width: 200,
  619. },
  620. {
  621. label: "使用场景",
  622. prop: "useCase",
  623. width: 200,
  624. },
  625. {
  626. label: "物料名称",
  627. prop: "material",
  628. width: 200,
  629. },
  630. {
  631. label: "规格尺寸",
  632. prop: "spec",
  633. width: 100,
  634. },
  635. {
  636. label: "长",
  637. prop: "chang",
  638. width: 100,
  639. },
  640. {
  641. label: "宽",
  642. prop: "kuan",
  643. width: 100,
  644. },
  645. {
  646. label: "横/竖",
  647. prop: "hengShu",
  648. width: 100,
  649. },
  650. {
  651. label: "系数",
  652. prop: "coefficient",
  653. width: 100,
  654. },
  655. // {
  656. // label: "单价",
  657. // prop: "price",
  658. // width: 100,
  659. // },
  660. {
  661. label: "数量",
  662. prop: "quantity",
  663. width: 100,
  664. },
  665. {
  666. label: "麦穗",
  667. prop: "gys1Price",
  668. width: 100,
  669. },
  670. {
  671. label: "神笔",
  672. prop: "gys2Price",
  673. width: 100,
  674. },
  675. {
  676. label: "状态",
  677. prop: "taskName",
  678. width: 200,
  679. },
  680. ], //表格头
  681. data: [
  682. {
  683. label: "文件标题", // 操作名
  684. handleRow: (e, r, o) => {
  685. this. operationZuo(r);
  686. }
  687. }
  688. ], //内容数据
  689. loading: true,
  690. pageData: {
  691. total: 100, // 总条数
  692. pageSize: 10, // 每页数量
  693. pageNum: 1, // 页码
  694. },
  695. isSelection: false, // 表格有多选时设置
  696. isOperation: false, // 表格有操作列时设置
  697. isIndex: false, // 列表序号
  698. operation: {
  699. // 表格有操作列时设置
  700. label: "操作", // 列名
  701. width: "50", // 根据实际情况给宽度
  702. data: [
  703. {
  704. label: "任务下发", // 操作名称
  705. type: "", //按钮类型
  706. handleRow: function (e, r, o) {
  707. console.log(e);
  708. console.log(r);
  709. console.log(o);
  710. // getinform
  711. // this.getinform(r);
  712. }, // 自定义事件
  713. },
  714. ],
  715. },
  716. },
  717. twoTable: {
  718. name: "first",
  719. height: "350",
  720. titledata: [
  721. {
  722. label: "业务名称",
  723. prop: "needName",
  724. width: 200,
  725. },
  726. {
  727. label: "地市",
  728. prop: "region",
  729. width: 200,
  730. },
  731. {
  732. label: "区县",
  733. prop: "district",
  734. width: 200,
  735. },
  736. {
  737. label: "渠道/小区/校园名称",
  738. prop: "channelQuartersSchool",
  739. width: 200,
  740. },
  741. {
  742. label: "使用场景",
  743. prop: "useCase",
  744. width: 200,
  745. },
  746. {
  747. label: "物料名称",
  748. prop: "material",
  749. width: 200,
  750. },
  751. {
  752. label: "规格尺寸",
  753. prop: "spec",
  754. width: 100,
  755. },
  756. {
  757. label: "长",
  758. prop: "chang",
  759. width: 100,
  760. },
  761. {
  762. label: "宽",
  763. prop: "kuan",
  764. width: 100,
  765. },
  766. {
  767. label: "横/竖",
  768. prop: "hengShu",
  769. width: 100,
  770. },
  771. {
  772. label: "系数",
  773. prop: "coefficient",
  774. width: 100,
  775. },
  776. // {
  777. // label: "单价",
  778. // prop: "price",
  779. // width: 100,
  780. // },
  781. {
  782. label: "数量",
  783. prop: "quantity",
  784. width: 100,
  785. },
  786. {
  787. label: "麦穗",
  788. prop: "gys1Price",
  789. width: 100,
  790. },
  791. {
  792. label: "神笔",
  793. prop: "gys2Price",
  794. width: 100,
  795. },
  796. {
  797. label: "状态",
  798. prop: "taskName",
  799. width: 200,
  800. },
  801. ], //表格头
  802. data: [
  803. {
  804. label: "文件标题", // 操作名
  805. handleRow: (e, r, o) => {
  806. this. operationZuo(r);
  807. }
  808. }
  809. ], //内容数据
  810. loading: true,
  811. pageData: {
  812. total: 100, // 总条数
  813. pageSize: 10, // 每页数量
  814. pageNum: 1, // 页码
  815. },
  816. isSelection: false, // 表格有多选时设置
  817. isOperation: false, // 表格有操作列时设置
  818. isIndex: false, // 列表序号
  819. operation: {
  820. // 表格有操作列时设置
  821. label: "操作", // 列名
  822. width: "50", // 根据实际情况给宽度
  823. data: [
  824. {
  825. label: "任务下发", // 操作名称
  826. type: "", //按钮类型
  827. handleRow: function (e, r, o) {
  828. console.log(e);
  829. console.log(r);
  830. console.log(o);
  831. // getinform
  832. // this.getinform(r);
  833. }, // 自定义事件
  834. },
  835. ],
  836. },
  837. },
  838. gysopt:[
  839. ],
  840. useCaseopt: [
  841. {
  842. dataCode: "1",
  843. dataName: "小区"
  844. },
  845. {
  846. dataCode: "2",
  847. dataName: "校园"
  848. },
  849. {
  850. dataCode: "3",
  851. dataName: "营业厅-VI改造-自有渠道"
  852. },
  853. {
  854. dataCode: "4",
  855. dataName: "营业厅-常规物料-自有渠道"
  856. },
  857. {
  858. dataCode: "5",
  859. dataName:'营业厅-VI改造-合作渠道'
  860. },
  861. {
  862. dataCode: "6",
  863. dataName: '营业厅-常规物料-合作渠道'
  864. },
  865. {
  866. dataCode: "7",
  867. dataName: "政企"
  868. }
  869. ],
  870. optionList: [
  871. {
  872. id: 1,
  873. value: "自有渠道",
  874. },
  875. {
  876. id: 2,
  877. value: "合作渠道",
  878. },
  879. {
  880. id: 3,
  881. value: "家庭市场",
  882. },
  883. {
  884. id: 4,
  885. value: "个人市场",
  886. },
  887. {
  888. id: 5,
  889. value: "政企市场",
  890. },
  891. ],
  892. metirialOpt: [
  893. {
  894. materialNo: "6",
  895. metirialName: '常规物料'
  896. },
  897. {
  898. materialNo: "7",
  899. metirialName: "政企物料"
  900. }
  901. ],
  902. searchList: [
  903. {
  904. type: 'input',
  905. tit: '业务名称',
  906. value: '',
  907. width: '32%',
  908. },
  909. {
  910. type: 'sel',
  911. tit: '状态',
  912. value: '',
  913. width: '32%',
  914. options: [
  915. {
  916. dataCode: "0",
  917. dataName: "待审批"
  918. },
  919. {
  920. dataCode: "1",
  921. dataName: "待确认"
  922. },
  923. {
  924. dataCode: "2",
  925. dataName: "待验收"
  926. },
  927. {
  928. dataCode: "3",
  929. dataName: "已完成"
  930. }
  931. ]
  932. },
  933. {
  934. type: 'date',
  935. tit: '申请时间',
  936. value: '',
  937. width: '32%',
  938. },
  939. ],
  940. rules:{
  941. cycle: [{type: "array",required: true,trigger: "blur",message: "下单周期不能为空"}],
  942. needCode: [{required: true,trigger: "blur",message: "需求编号不能为空"}],
  943. businessName: [{required: true,trigger: "blur",message: "业务名称不能为空"}],
  944. // districtScore: [{required: true,trigger: "blur",message: "区县打分不能为空"}],
  945. // gys: [{required: true,trigger: "change",message: "请选择供应商"}],
  946. // materialUrl: [{required: true,trigger: "blur",message: "物料验证材料链接不能为空"}],
  947. },
  948. childname:"first",
  949. tooltit:'物料申请管理',
  950. // applyType: "省",
  951. fullscreen: false,
  952. total: 0,
  953. pageSize: 1,
  954. pageNo: "1",
  955. page: "1",
  956. selectLetter:"",
  957. tableData: [],
  958. tableData1: [],
  959. typests:false, //修改弹窗
  960. dialogStatus: false,
  961. disableStatus: false,
  962. dialogVisible1:false,
  963. treeList: [], //候选人列表
  964. textarea: "未填写意见",
  965. destroy:false,
  966. infomaterType:[],
  967. infolist:[],
  968. xiugaizhuan:false,
  969. deal: true,
  970. baocun: true,
  971. rulelist:[],
  972. teshuhuanjie: [],
  973. isWorkflowStatus:false,
  974. titname: '',
  975. infolist: {},
  976. searchBox: {},
  977. userInfo: {},
  978. params: {},
  979. centerDialogVisible: false,
  980. dialogVisible:false,
  981. messTit: '',
  982. delid: '',
  983. loading:false,
  984. loadinged:false,
  985. updisabled:false,
  986. fileInfo: {
  987. limit: 10,
  988. url: '/market/waf/upload',
  989. fileList: []
  990. },
  991. infoApply:{},
  992. rovaList:[],
  993. applicationDialogStatus:false,
  994. approvalinfolist: {
  995. opinionradio: 1
  996. },
  997. pickerOptions0: {
  998. disabledDate(time) {
  999. return time.getTime() < Date.now() - 8.64e7; //如果没有后面的-8.64e7就是不可以选择今天的
  1000. },
  1001. },
  1002. stsArr: ['待审批','待确认','待验收','已完成'],
  1003. provinceCityArr:['省',"地市","区县"],
  1004. loginNoStr: "",
  1005. cityWoId: "",
  1006. }
  1007. },
  1008. watch:{
  1009. 'infolist.tabletaskName':{
  1010. handler(newVal,oldVal){
  1011. // console.log(this.ruleForm);
  1012. console.log(newVal);
  1013. let rule1 = {
  1014. gys: [
  1015. { required: true, validator: this.validatorFile , trigger: "blur" },
  1016. ],
  1017. }
  1018. let rule2 = {
  1019. districtScore: [
  1020. { required: true, validator: this.validatorDafen , trigger: "blur" },],
  1021. materialUrl: [
  1022. { required: true, validator: this.validatorLianjie , trigger: "blur" },],
  1023. }
  1024. if(newVal === '省公司宣传负责人'){
  1025. console.log(121);
  1026. this.rules = { ...this.rules, ...rule1 }
  1027. console.log(111);
  1028. }
  1029. else if(newVal === '区县公司负责人'){
  1030. console.log(1234);
  1031. this.rules = { ...this.rules, ...rule2 }
  1032. }
  1033. },
  1034. deep:true,
  1035. },
  1036. // 'infolist.tabletaskName':{
  1037. // handler(newVal,oldVal){
  1038. // // console.log(this.ruleForm);
  1039. // // console.log(newVal);
  1040. // let rule2 = {
  1041. // districtScore: [
  1042. // { required: true, validator: this.validatorDafen , trigger: "blur" },],
  1043. // materialUrl: [
  1044. // { required: true, validator: this.validatorLianjie , trigger: "blur" },],
  1045. // }
  1046. // if(newVal === '市公司主管宣传副主任'){
  1047. // this.rules = { ...this.rules, ...rule }
  1048. // }
  1049. // },
  1050. // deep:true,
  1051. // },
  1052. },
  1053. methods: {
  1054. clickTabs(name){
  1055. console.log(name);
  1056. this.pageNo = "1";
  1057. this.page = "1";
  1058. this.childname = name;
  1059. if(name == "first"){
  1060. this.Table = this.firstTable;
  1061. this.getTodoList();
  1062. }else if(name == "two"){
  1063. this.Table = this.twoTable;
  1064. this.haveDone();
  1065. }else{
  1066. this.Table = {}
  1067. this.getIssueList();
  1068. }
  1069. },
  1070. changeNum(val) {
  1071. this.page = val;
  1072. this.pageNo = val;
  1073. console.log(this.page);
  1074. console.log(this.childname);
  1075. switch (this.childname) {
  1076. case "first":
  1077. this.getTodoList();
  1078. // this.iniTiate();
  1079. break;
  1080. case "two":
  1081. this.haveDone();
  1082. break;
  1083. case "three":
  1084. // this.iniTiate();
  1085. // this.Table = this.thirdTable;
  1086. }
  1087. },
  1088. clickDemand(e, r) {
  1089. // console.log(e,r);
  1090. if (e === "业务名称") {
  1091. if(this.childname == "first"){
  1092. }
  1093. if(this.childname == "two"){
  1094. this.disableStatus = true;
  1095. this.deal = false;
  1096. this.baocun = false;
  1097. this.xiugaizhuan = true;
  1098. // this.shanchu = false;
  1099. // this.xinzeng = false;
  1100. }
  1101. if(this.childname == "three"){
  1102. // this.shanchu = false;
  1103. // this.xinzeng = false;
  1104. // this.isdisabled = true;
  1105. // if(r.taskName == "起草"){
  1106. this.deal = false;
  1107. this.baocun = false;
  1108. // }else{
  1109. // this.deal = false;
  1110. // this.baocun = false;
  1111. // }
  1112. }
  1113. this.operationZuo(r); //点标题
  1114. this.clickForm(r); //流程追踪
  1115. }
  1116. },
  1117. chakanfaqi(r){
  1118. this.operationZuo(r); //点标题
  1119. this.deal = false;
  1120. this.baocun = false;
  1121. this.clickForm1(r)
  1122. },
  1123. // operationZuo(){
  1124. // this.dialogVisible = true;
  1125. // },
  1126. //点击标题
  1127. operationZuo(r){
  1128. console.log(r);
  1129. let list = {}
  1130. list.id = r.id,
  1131. // console.log(row)
  1132. this.$http({
  1133. url:"/market/xcwlProcess/query",
  1134. method:"post",
  1135. headers: {
  1136. "Content-Type": "application/json",
  1137. },
  1138. data: list,
  1139. }).then((res)=>{
  1140. this.dialogVisible = true;
  1141. this.infolist = res.data;
  1142. this.infolist.businessName = res.data.xcwlProProcessList[0].needName;
  1143. this.infomaterType.riqi = res.data.riqi;
  1144. this.infomaterType.region = res.data.region;
  1145. this.infomaterType = res.data.xcwlProProcessList;
  1146. this.fileInfo.fileList = res.data.mkFileShareAttachList;
  1147. this.infolist.cycle = res.data.cycleList;
  1148. this.infolist.resourceId = r.resourceId;
  1149. this.infolist.taskId = r.taskId;
  1150. this.infolist.id = r.id;
  1151. this.infolist.createId = r.createId;
  1152. this.infolist.tabletaskName = r.taskName;
  1153. // console.log(this.infolist.tabletaskname);
  1154. this.infolist.gys = res.data.xcwlProProcessList[0].selectedGys;
  1155. this.infolist.districtScore = res.data.xcwlProProcessList[0].districtScore;
  1156. this.infolist.materialUrl = res.data.xcwlProProcessList[0].materialUrl;
  1157. if(r.taskName != "起草"){
  1158. this.disableStatus = true;
  1159. this.updisabled = true; //上传附件
  1160. }else{
  1161. this.updisabled = false;
  1162. }
  1163. if(this.infolist.tabletaskName === "起草" || this.infolist.tabletaskName === "省公司宣传负责人" || this.infolist.tabletaskName === "区县公司负责人"){
  1164. this.baocun = true;
  1165. }else{
  1166. this.baocun = false;
  1167. }
  1168. this.$http({
  1169. url: "/market/cadvSupplier/queryList",
  1170. method: "post",
  1171. headers: {
  1172. "Content-Type": "application/json",
  1173. },
  1174. data:{},
  1175. }).then((res) => {
  1176. // console.log(res.data);
  1177. this.gysopt = res.data;
  1178. // console.log( this.infolist.gysopt);
  1179. // this.infomaterType = res.data;
  1180. // if(res.data){
  1181. // this.typests = false;
  1182. // return;
  1183. // }
  1184. });
  1185. });
  1186. },
  1187. uploadBack(v) {
  1188. this.attList = v;
  1189. console.log(this.attList);
  1190. },
  1191. gysMing(n,ev){
  1192. let that = this;
  1193. // console.log(that);
  1194. let hh = that.gysopt.filter(function (c, i, a) {
  1195. // console.log(c,i,a);
  1196. if (c.name == that.infolist.gys) {
  1197. return c;
  1198. }
  1199. });
  1200. this.selectLetter = hh[0].code;
  1201. console.log(this.selectLetter);
  1202. },
  1203. dealwith(){
  1204. if(this.infolist.tabletaskName == "省公司宣传负责人" || this.infolist.tabletaskName == "区县公司负责人"){
  1205. console.log(this.teshuhuanjie);
  1206. if(this.teshuhuanjie.length == 0){
  1207. this.$message.error("请先点击保存");
  1208. }else{
  1209. this.dialogVisible1 = true;
  1210. }
  1211. }else{
  1212. this.dialogVisible1 = true;
  1213. }
  1214. },
  1215. updatexiuform(r){
  1216. console.log(r);
  1217. this.typests = true;
  1218. this.rulelist = r;
  1219. },
  1220. closediaform(){
  1221. this.typests = false;
  1222. },
  1223. //更新表格
  1224. gengxinge(){
  1225. this.typests = false;
  1226. // this.$http({
  1227. // url: "/market/xcwlProcess/update",
  1228. // method: "post",
  1229. // headers: {
  1230. // "Content-Type": "application/json",
  1231. // },
  1232. // data: this.rulelist,
  1233. // }).then((res) => {
  1234. // console.log(res.data);
  1235. // // this.infomaterType = res.data;
  1236. // if(res.data){
  1237. // this.typests = false;
  1238. // return;
  1239. // }
  1240. // });
  1241. },
  1242. validatorFile(rule,value,callback){
  1243. if(this.infolist.gys == null){
  1244. // console.log(this.ruleForm.addJobNumber);
  1245. callback(new Error('请选择供应商'));
  1246. }else{
  1247. callback();
  1248. }
  1249. },
  1250. validatorDafen(rule,value,callback){
  1251. if(this.infolist.districtScore == null || ""){
  1252. console.log(this.infolist.districtScore);
  1253. callback(new Error('请输入区县打分'));
  1254. }else{
  1255. callback();
  1256. }
  1257. },
  1258. validatorLianjie(rule,value,callback){
  1259. if(this.infolist.materialUrl == null || ""){
  1260. console.log(this.infolist.materialUrl);
  1261. callback(new Error('请输入物料验证材料链接'));
  1262. }else{
  1263. callback();
  1264. }
  1265. },
  1266. //任务下发
  1267. getinform(r){
  1268. console.log(r);
  1269. this.infolist = r;
  1270. this.infolist.id = r.id;
  1271. this.request_form.businessKey = r.id;
  1272. this.getUserIds();
  1273. // console.log(this.request_form);
  1274. // this.infolist.userId = this.request_form.userId;
  1275. // this.infolist.userName = this.request_form.userName;
  1276. // console.log(r);
  1277. // this.clickHandle(r);
  1278. },
  1279. //获取userID
  1280. getUserIds() {
  1281. let id = JSON.parse(window.sessionStorage.userInfo).loginNo
  1282. this.$http({
  1283. url: "/market//api/user/info/queryNodePers?params="+ id,
  1284. method: "post",
  1285. headers: {
  1286. "Content-Type": "application/json",
  1287. },
  1288. data: {
  1289. // params: JSON.parse(window.sessionStorage.userInfo).loginNo,
  1290. },
  1291. }).then((res) => {
  1292. // console.log(res.data.data.rows[0].name);
  1293. // console.log(res.data.data.rows[0].userCode);
  1294. console.log(res.data[0].children);
  1295. this.request_form.userName = res.data[0].children[0].loginNameStr;
  1296. this.request_form.userId = res.data[0].children[0].loginNoStr;
  1297. this.request_form.title = this.infolist.needName;
  1298. console.log(this.request_form);
  1299. this.clickHandle(this.infolist);
  1300. });
  1301. },
  1302. async clickHandle(e) {
  1303. console.log(this.request_form);
  1304. let _this = this;
  1305. let obj = {
  1306. url: this.$url.formList.startWork, //开始工作流接口
  1307. data: _this.request_form,
  1308. status: "form",
  1309. headers: {
  1310. "Content-Type": "application/x-www-form-urlencoded",
  1311. },
  1312. };
  1313. let res = await this.common.httpPost(obj, success);
  1314. function success(data) {
  1315. console.log(data);
  1316. //         _this.ruleForm.taskId = _this.ruleForm.taskId;
  1317. // a = a
  1318. //         _this.taskId = data.data;
  1319. // console.log(data);
  1320. // console.log(data.code);
  1321. _this.infolist.processId = data.data;
  1322. let list = {
  1323. id: e.id,
  1324. // taskId:_this.formId,
  1325. processId: data.data,
  1326. tableName: _this.processDefinitionKey1,
  1327. // resourceId: _this.nextPath.currentShape[0].resourceId,
  1328. };
  1329. // console.log(processDefinitionKey);
  1330. console.log(list);
  1331. _this.setUpdate(list);
  1332. }
  1333. },
  1334. //更新工作流接口
  1335. setUpdate(e) {
  1336. console.log(e);
  1337. this.$http({
  1338. url: "/market/waf/updateBase",
  1339. method: "post",
  1340. headers: {
  1341. "Content-Type": "application/json",
  1342. },
  1343. data: e,
  1344. }).then((res) => {
  1345. this.infolist.taskId = res.data.body[0].taskId;
  1346. this.clickHandles();
  1347. });
  1348. },
  1349. //是否最后一个人
  1350. async getLastName() {
  1351. console.log(this.infolist);
  1352. let list = {
  1353. procinstid: this.infolist.processId,
  1354. taskid: this.infolist.taskId,
  1355. // taskId:e.taskId
  1356. };
  1357. let _this = this;
  1358. let obj = {
  1359. url: this.$url.formList.getLastName, //流程追踪接口
  1360. data: list,
  1361. // status: "form",
  1362. headers: {
  1363. "Content-Type": "application/json",
  1364. },
  1365. };
  1366. let res = await this.common.httpPost(obj, success);
  1367. function success(data) {
  1368. console.log(data);
  1369. if (data.lastMan == true) {
  1370. _this.adminResourceId = data.adminResourceId;
  1371. }
  1372. _this.destroy = true;
  1373. _this.dialogVisible1 = true;
  1374. _this.isWorkflowStatus = data.lastMan == false ? false : true;
  1375. _this.lastManList = data;
  1376. // console.log(_this.isWorkflowStatus);
  1377. }
  1378. },
  1379. getNextPath(e) {
  1380. let list = {
  1381. // fresourceId: "bf79721c-33f3-11ed-ba0b-00505687dcd3", //测试环境
  1382. fresourceId: this.requestForm.fresourceId, // 本地环境
  1383. processId: this.requestForm.processDefinitionKey,
  1384. // processId: this.infolist.processId,
  1385. // fresourceId: "0d94de8a-0281-11ed-a302-4ae7da54db39", // 本地环境
  1386. // processId: "request_form_process",
  1387. // resourceId: e,
  1388. };
  1389. if (e) {
  1390. // this.propsList = [];
  1391. list.resourceId = e;
  1392. }
  1393. this.$http({
  1394. url: "/market/waf/queryPath",
  1395. method: "post",
  1396. headers: {
  1397. "Content-Type": "application/json",
  1398. },
  1399. data: list,
  1400. }).then((res) => {
  1401. if (res.data.body.nextShapes[0].multi) {
  1402. console.log('这是mulit节点');
  1403. if (res.data.body.nextShapes[0].multi.multi === "true") {
  1404. console.log('这是mulit节点');
  1405. this.getLastName();
  1406. } else {
  1407. this.adminResourceId = ''
  1408. console.log('这不是mulit节点');
  1409. this.destroy = true;
  1410. this.dialogVisible1 = true;
  1411. // this.getMetirialType();
  1412. }
  1413. } else {
  1414. this.adminResourceId = ''
  1415. console.log('这不是mulit节点');
  1416. this.destroy = true;
  1417. this.dialogVisible1 = true;
  1418. // this.getMetirialType();
  1419. }
  1420. // if (this.infolist.processId) {
  1421. // } else {
  1422. // this.$message.error("请先点击保存按钮");
  1423. // }
  1424. });
  1425. },
  1426. //处理按钮,开始工作流接口
  1427. clickHandles() {
  1428. // console.log(this.infolist.resourceId);
  1429. // this.getNextPath(this.infolist.resourceId || "");
  1430. this.dialogVisible1 = true;
  1431. },
  1432. async clickForm(r) {
  1433.       let list = {
  1434.         processInstanceId: r.processId,
  1435.         // taskId:e.taskId
  1436.       };
  1437.       let _this = this;
  1438.       let obj = {
  1439.         url: this.$url.formList.getCommentsByProcessId, //流程追踪接口
  1440.         data: list,
  1441.         headers: {
  1442.           "Content-Type": "application/json",
  1443.         },
  1444.       };
  1445.       let res = await this.common.httpPost(obj, success);
  1446.       function success(data) {
  1447.         _this. tableData1 = data.data.data;
  1448.         data.data.data.map((item) => {
  1449.           item.startTime = _this.$util.datetimeFormat(item.startTime);
  1450.           item.endTime = _this.$util.datetimeFormat(item.endTime);
  1451.         });
  1452.         // _this.getProcess(e, data.data);
  1453.         _this. tableData1 = data.data.data;
  1454.       }
  1455.     },
  1456. async clickForm1(r) {
  1457.       let list = {
  1458.         processInstanceId: r.processId,
  1459.         // taskId:e.taskId
  1460.       };
  1461.       let _this = this;
  1462.       let obj = {
  1463.         url: this.$url.formList.getCommentsByProcessId, //流程追踪接口
  1464.         data: list,
  1465.         headers: {
  1466.           "Content-Type": "application/json",
  1467.         },
  1468.       };
  1469.       let res = await this.common.httpPost(obj, success);
  1470.       function success(data) {
  1471.         _this. tableData1 = data.data.data;
  1472.         data.data.data.map((item) => {
  1473.           item.startTime = _this.$util.datetimeFormat(item.startTime);
  1474.           item.endTime = _this.$util.datetimeFormat(item.endTime);
  1475.         });
  1476.         // _this.getProcess(e, data.data);
  1477.         _this. tableData1 = data.data.data;
  1478.       }
  1479.     },
  1480. updateForm(){
  1481. this.dialogVisible1 = false;
  1482. this.dialogVisible = false;
  1483. this.getIssueList();
  1484. // this.refreshbtn();
  1485. },
  1486. // changeNum(e) {
  1487. // console.log(e)
  1488. // this.pageNo = e;
  1489. // this.page = e;
  1490. // this.firstTable.pageData.pageNum = e;
  1491. // this.getTodoList()
  1492. // },
  1493. adminhandleSizeChange(val) {
  1494. console.log(`每页 ${val} 条`);
  1495. },
  1496. adminhandleCurrentChange(val) {
  1497. // console.log(e)
  1498. this.pageNo = val;
  1499. this.getIssueList()
  1500. console.log(`当前页: ${val}`);
  1501. },
  1502. handleCloses() {
  1503. this.treeList = [];
  1504. this.textarea = "";
  1505. this.dialogVisible1 = false;
  1506. },
  1507. close(){
  1508. this.dialogVisible = false;
  1509. },
  1510. //我发起列表
  1511. getIssueList(e) {
  1512. this.loading2 = true;
  1513. this.$http({
  1514. url: "/market/xcwlProcessImport/queryPage",
  1515. method: "post",
  1516. headers: {
  1517. "Content-Type": "application/json",
  1518. page: '{"pageNo":"' + this.pageNo + '","pageSize":"10"}',
  1519. },
  1520. data:this.searchBox,
  1521. }).then((res) => {
  1522. this.tableData = res.data.data;
  1523. this.tabList[2].number = res.data.totalRecord;
  1524. this.adminpageData.total = res.data.totalRecord;
  1525. this.loading2 = false;
  1526. });
  1527. },
  1528. //待办列表
  1529. getTodoList(e) {
  1530. // this.loading2 = true;
  1531. let list = {
  1532. tableName: this.requestForm.processDefinitionKey1,
  1533. applyType: "地市"
  1534. };
  1535. this.$http({
  1536. url: "/market/xcwlProcess/queryTodoBase",
  1537. method: "post",
  1538. headers: {
  1539. "Content-Type": "application/json",
  1540. page: '{"pageNo":"' + this.pageNo + '","pageSize":"10"}',
  1541. },
  1542. data:list,
  1543. }).then((res) => {
  1544. this.firstTable.data = res.data.data;
  1545. this.firstTable.pageData.total = res.data.totalRecord;
  1546. this.tabList[0].number = res.data.totalRecord;
  1547. this.Table = this.firstTable;
  1548. // this.adminpageData.total = res.data.totalRecord;
  1549. // this.loading2 = false;
  1550. });
  1551. },
  1552. // getTodoList(){
  1553. // let list = {
  1554. // tableName: this.requestForm.processDefinitionKey,
  1555. // };
  1556. // // getInitiateBase getTodoBase
  1557. // getTodoBase(this.page,"",list).then((res)=>{
  1558. // this.firstTable.data = res.data.data;
  1559. // this.firstTable.pageData.total = res.data.totalRecord;
  1560. // // this.Table = this.firstTable;
  1561. // // this.tabList[0].number = res.data.totalRecord;
  1562. // })
  1563. // },
  1564. //已办
  1565. haveDone(){
  1566. // let list = {
  1567. // tableName : this.requestForm.processDefinitionKey
  1568. // }
  1569. // getDoneBase(this.page,"",list).then((res)=>{
  1570. // this.twoTable.data = res.data.data;
  1571. // this.twoTable.pageData.total = res.data.totalRecord;
  1572. // this.tabList[1].number = res.data.totalRecord;
  1573. // this.Table = this.twoTable;
  1574. // // console.log(this.Table);
  1575. // // this.tabList[1].number = res.data.totalRecord;
  1576. // })
  1577. let list = {
  1578. tableName: this.requestForm.processDefinitionKey1,
  1579. applyType: "地市"
  1580. };
  1581. this.$http({
  1582. url: "/market/xcwlProcess/queryDoneBase",
  1583. method: "post",
  1584. headers: {
  1585. "Content-Type": "application/json",
  1586. page: '{"pageNo":"' + this.pageNo + '","pageSize":"10"}',
  1587. },
  1588. data:list,
  1589. }).then((res) => {
  1590. this.twoTable.data = res.data.data;
  1591. this.twoTable.pageData.total = res.data.totalRecord;
  1592. this.tabList[1].number = res.data.totalRecord;
  1593. this.Table = this.twoTable;
  1594. });
  1595. },
  1596. saveform(){
  1597. this.$refs.infolist.validate((valid) => {
  1598. console.log(valid);
  1599. if (valid) {
  1600. this.$message.success("保存成功");
  1601. let list = {}
  1602. list.id = this.infolist.id;
  1603. list.businessName = this.infolist.businessName;//业务名称
  1604. list.cycleList = [this.$util.datetimeFormat(this.infolist.cycle[0]),this.$util.datetimeFormat(this.infolist.cycle[1])];
  1605. list.needCode = this.infolist.needCode;
  1606. list.districtScore = this.infolist.districtScore;
  1607. list.gys = this.infolist.gys;
  1608. list.materialUrl = this.infolist.materialUrl;
  1609. list.xcwlProProcessList = this.infomaterType;
  1610. list.gysCode = this.selectLetter;
  1611. // list.xcwlProProcessList = this.multipleSelection;
  1612. if(this.attList == null){
  1613. list.mkFileShareAttachList = this.fileInfo.fileList
  1614. }else{
  1615. list.mkFileShareAttachList = this.attList;
  1616. }
  1617. this.$http({
  1618. url: "/market/xcwlProcessImport/update",
  1619. method: "post",
  1620. headers: {
  1621. "Content-Type": "application/json",
  1622. },
  1623. data: list,
  1624. }).then((res) => {
  1625. console.log(res.data);
  1626. this.teshuhuanjie = res.data;
  1627. // this.infomaterType = res.data;
  1628. // if(res.data){
  1629. // this.typests = false;
  1630. // return;
  1631. // }
  1632. });
  1633. }else{
  1634. this.$message.error("请完善表单信息");
  1635. }
  1636. });
  1637. },
  1638. download(u) {
  1639. console.log(u);
  1640. // if (this.ruleForm.wfFileShareAttachList.length > 1) {
  1641. this.$http({
  1642. url: "/market/waf/downAllFile",
  1643. method: "post",
  1644. headers: {
  1645. "Content-Type": "application/json",
  1646. },
  1647. responseType: "blob",
  1648. data: { wfFileShareAttachList: this.fileInfo.fileList },
  1649. }).then((response) => {
  1650. if (window.navigator && window.navigator.msSaveOrOpenBlob) {
  1651. let blob = new Blob([response.data], {
  1652. type: "application/vnd.ms-excel",
  1653. });
  1654. window.navigator.msSaveOrOpenBlob(
  1655. blob,
  1656. new Date().getTime().toString() + ".zip"
  1657. );
  1658. } else {
  1659. /* 火狐谷歌的文件下载方式 */
  1660. var blob = new Blob([response.data]);
  1661. var downloadElement = document.createElement("a");
  1662. var href = window.URL.createObjectURL(blob);
  1663. downloadElement.href = href;
  1664. // downloadElement.download = this.ruleForm.fileName + ".zip";
  1665. downloadElement.download = "附件.zip";
  1666. document.body.appendChild(downloadElement);
  1667. downloadElement.click();
  1668. document.body.removeChild(downloadElement);
  1669. window.URL.revokeObjectURL(href);
  1670. }
  1671. if (this.infolist.authType === "3") {
  1672. this.dialogCli(10);
  1673. }
  1674. });
  1675. },
  1676. jumpadd(){
  1677. this.$router.push({
  1678. path: '/materialApplicationadd',
  1679. query: {applyType:'地市'},
  1680. });
  1681. this.setabList('物料宣传申请','/materialApplicationadd');
  1682. },
  1683. jump(v, n){
  1684. if(v === 1){
  1685. // this.$router.push("/materialApplicationExa?id=" + n.id + "");
  1686. this.$router.push({
  1687. path: '/materialApplicationExa',
  1688. query: {cityWoId: n.cityWoId, id: n.id, btnS: 1}
  1689. })
  1690. }else if(v === 2){
  1691. this.$router.push("/materialApplicationDetail?id="+ n.id + "")
  1692. }else if(v === 3){
  1693. let jumpParams = {cityWoId: n.cityWoId, countyWoId: n.countryWoId, woId: n.id, pcId: n.provinceCity};
  1694. sessionStorage.setItem("jumpParams", JSON.stringify(jumpParams))
  1695. if(n.provinceCity == 1 && n.nextStep ==7){
  1696. this.$router.push({
  1697. path: '/subtaskList',
  1698. // query: { cityWoId: n.cityWoId, countyWoId: n.countryWoId, woId: n.id, }
  1699. // path: '/subtaskList/:name',
  1700. // name: 'subtaskList',
  1701. // params: { cityWoId: n.cityWoId, countyWoId: n.countryWoId, woId: n.id, }
  1702. })
  1703. } else if((n.provinceCity == 1 && n.nextStep ==11) || (n.provinceCity == 2 && n.nextStep == 9) || (n.provinceCity == 3 && n.nextStep == 10)){
  1704. this.$router.push({
  1705. path: '/acceptanceSituation',
  1706. // query: { cityWoId: n.cityWoId, countyWoId: n.countryWoId, woId: n.id, pcId: n.provinceCity}
  1707. // path: '/acceptanceSituation/:name',
  1708. // name: 'acceptanceSituation',
  1709. // params: { cityWoId: n.cityWoId, countyWoId: n.countryWoId, woId: n.id, pcId: n.provinceCity}
  1710. })
  1711. }
  1712. }else if(v === 4){
  1713. // this.$router.push("/acceptance?cityWoId="+ n.cityWoId + "&countyWoId=" + n.countryWoId)
  1714. this.$router.push({
  1715. path: '/acceptance',
  1716. query: { cityWoId: n.cityWoId, countyWoId: n.countryWoId, woId: n.id }
  1717. })
  1718. }
  1719. },
  1720. setabList(n, p) {
  1721. let params = {
  1722. children: "",
  1723. name: n,
  1724. rountPath: p,
  1725. target: "_self",
  1726. };
  1727. for (let i = 0; i < this.$store.state.tabList.length; i++) {
  1728. if (this.$store.state.tabList[i].name === params.name) {
  1729. this.$store.state.tabList[i] = params;
  1730. }
  1731. }
  1732. let set = new Set([...this.$store.state.tabList, params]);
  1733. set.add(params);
  1734. this.$store.commit("setDefaultActive", params.rountPath);
  1735. this.$store.commit("setTabList", Array.from(set));
  1736. },
  1737. closedia() {
  1738. this.infolist = {};
  1739. this.dialogStatus = false;
  1740. this.approvalinfolist = {};
  1741. this.applicationDialogStatus = false;
  1742. },
  1743. //搜索数据
  1744. searchInfo(v) {
  1745. this.params = {};
  1746. v[0] ? this.params.bizName = v[0] : '';
  1747. v[1] ? this.params.sts = v[1] : '';
  1748. let timeFrom = '';
  1749. let timeTo = '';
  1750. if (v[2]){
  1751. timeFrom = this.$formatDate(v[2],"YYYY-MM-DD")+ ' 00:00:00'
  1752. timeTo = this.$formatDate(v[2],"YYYY-MM-DD")+ ' 23:59:59'
  1753. }
  1754. timeFrom ? this.params.opTimeFrom = timeFrom : '';
  1755. timeTo ? this.params.opTimeTo = timeTo : '';
  1756. this.getList(this.params, this.pageSize);
  1757. },
  1758. //获取列表
  1759. getList(v, n) {
  1760. this.pageSize = n;
  1761. let _this = this;
  1762. // this.loading = true;
  1763. this.tableData = [];
  1764. this.$http({
  1765. url: "/market/cadvBusiMetirialWo/queryPage",
  1766. method: "post",
  1767. headers: {
  1768. "Content-Type": "application/json",
  1769. "page": '{"pageNo":"' + n + '","pageSize":"10"}'
  1770. },
  1771. data: v,
  1772. }).then((res) => {
  1773. this.tableData = res.data.body.pageList.data;
  1774. this.total = res.data.body.pageList.totalRecord;
  1775. // console.log(this.tableData);
  1776. this.loading = false;
  1777. });
  1778. },
  1779. // 分页
  1780. currchange(v) {
  1781. this.pageSize = v;
  1782. this.getList(this.params, this.pageSize);
  1783. },
  1784. //申请
  1785. dialogCheck(v, n) {
  1786. this.dialogStatus = true;
  1787. // 审批同意对话框
  1788. this.applicationDialogStatus = true;
  1789. this.infolist = Object.assign({}, n);
  1790. if (v === 1) {
  1791. this.titname = '查看';
  1792. this.disableStatus = true;
  1793. } else if (v === 2) {
  1794. this.titname = '审批';
  1795. this.disableStatus = false;
  1796. }
  1797. this.$http({
  1798. url: '/bpm/api/taskInit',
  1799. method: "post",
  1800. headers: {
  1801. "Content-Type": "application/json",
  1802. },
  1803. data: {
  1804. woNo: n.woNo
  1805. },
  1806. }).then((res) => {
  1807. this.infolist = Object.assign({}, res.data);
  1808. this.infoApply = JSON.parse(this.infolist.params.wo);
  1809. this.rovaList = res.data.taskList;
  1810. });
  1811. },
  1812. //添加
  1813. dialogCli(v) {
  1814. if (v === 1) {
  1815. this.infolist = {};
  1816. this.dialogStatus = false;
  1817. return
  1818. }else if(v===5){
  1819. if(this.approvalinfolist.opinionradio == 1){
  1820. this.infolist.opTime = this.$formatDate(new Date(), "YYYY-MM-DD");
  1821. this.infolist.dealType = '2';
  1822. this.infolist.dealTypeDesc = this.approvalinfolist.opinion;
  1823. this.applicationDialogStatus = false;
  1824. this.submitInfo("/bpm/api/submitTask", this.infolist);
  1825. }
  1826. }
  1827. else {
  1828. this.infolist.opTime = this.$formatDate(new Date(), "YYYY-MM-DD");
  1829. if (this.titname === '添加') {
  1830. this.submitInfo("/bpm/api/addBpmPrePlugin");
  1831. } else if (this.titname === '审批') {
  1832. this.submitInfo("/bpm/api/updateBpmPrePlugin", v);
  1833. }
  1834. }
  1835. },
  1836. submitInfo(u) {
  1837. let _this = this;
  1838. //this.$refs.infolist.validate(valid => {
  1839. //if (valid) {
  1840. this.loadinged = true;
  1841. this.$http({
  1842. url: u,
  1843. method: "post",
  1844. headers: {
  1845. "Content-Type": "application/json",
  1846. },
  1847. data: this.infolist,
  1848. }).then((res) => {
  1849. this.loadinged = false;
  1850. if (res.data.result === 1) {
  1851. _this.$message({
  1852. message: res.data.desc,
  1853. type: 'error'
  1854. });
  1855. } else {
  1856. _this.$message({
  1857. message: '成功',
  1858. type: 'success'
  1859. });
  1860. _this.infolist = {};
  1861. _this.dialogStatus = false;
  1862. _this.getList({}, _this.pageSize);
  1863. }
  1864. });
  1865. //}
  1866. //})
  1867. },
  1868. closeMessage(v) {
  1869. this.centerDialogVisible = false;
  1870. let _this = this;
  1871. if (v === 1) {
  1872. _this.$http({
  1873. url: "/market/cadvBusiMetirialWo/del",
  1874. method: "post",
  1875. headers: {
  1876. "Content-Type": "application/json",
  1877. },
  1878. data: {
  1879. woId: this.delid
  1880. },
  1881. }).then((res) => {
  1882. if (res.data.result === 1) {
  1883. _this.$message({
  1884. message: res.data.desc,
  1885. type: 'error'
  1886. });
  1887. } else {
  1888. _this.$message({
  1889. message: '删除成功',
  1890. type: 'success'
  1891. });
  1892. _this.getList(this.params, this.pageSize);
  1893. }
  1894. });
  1895. }
  1896. },
  1897. //删除
  1898. delLine(v) {
  1899. this.centerDialogVisible = true;
  1900. this.messTit = '即将删除此条数据, 是否删除?';
  1901. this.delid = v.id;
  1902. },
  1903. //文件返回值
  1904. uploadBack(v) {
  1905. console.log(v)
  1906. this.attList = v;
  1907. },
  1908. //功能栏
  1909. iconCli(v) {
  1910. if (v === 1) {
  1911. this.getList(this.params, this.pageSize);
  1912. }
  1913. if (v === 2) {
  1914. this.fullscreen = !this.fullscreen
  1915. }
  1916. },
  1917. getUser() {
  1918. this.userInfo = JSON.parse(window.sessionStorage.userInfo);
  1919. this.loginNoStr = this.userInfo.loginNoStr;
  1920. }
  1921. },
  1922. mounted() {
  1923. // this.getList({}, 1);
  1924. this.getUser();
  1925. },
  1926. created() {
  1927. // console.log(this.$route);
  1928. this.getTodoList();
  1929. this.Table = this.firstTable;
  1930. // this.haveDone();
  1931. this.getIssueList();
  1932. }
  1933. }
  1934. </script>
  1935. <style scoped lang="scss">
  1936. .t-footer {
  1937. text-align: center;
  1938. padding: 20px;
  1939. margin: 20px 0 20px 0;
  1940. }
  1941. .info-lineform {
  1942. width: 100%;
  1943. display: block;
  1944. // padding-left: 20px;
  1945. div {
  1946. width: 50%;
  1947. display: inline-block;
  1948. }
  1949. span {
  1950. width: 80px;
  1951. display: inline-block;
  1952. text-align: left;
  1953. i {
  1954. color: red;
  1955. display: inline-block;
  1956. padding-right: 5px;
  1957. }
  1958. }
  1959. .el-select,
  1960. .el-input {
  1961. width: calc(100% - 100px);
  1962. }
  1963. .el-checkbox-group {
  1964. border: 1px solid #ddd;
  1965. padding-left: 20px;
  1966. height: 40px;
  1967. width: calc(100% - 100px);
  1968. border-radius: 5px;
  1969. }
  1970. }
  1971. .table-title {
  1972. width: 100%;
  1973. height: 50px;
  1974. margin-top: 100px;
  1975. line-height: 50px;
  1976. background-color: rgb(243, 250, 255);
  1977. // font-size: 18px;
  1978. font-weight: 700;
  1979. }
  1980. // ::v-deep.online .el-form-item__content {
  1981. // width: 98%;
  1982. // margin-left: 0 !important;
  1983. // }
  1984. ::v-deep .el-tabs__nav {
  1985. margin: 12px 0 0 12px;
  1986. }
  1987. ::v-deep .el-tabs__nav-wrap::after {
  1988. display: none;
  1989. }
  1990. ::v-deep .el-tabs__active-bar {
  1991. display: none;
  1992. }
  1993. ::v-deep .el-tabs .is-active {
  1994. color: #fff;
  1995. background-color: #0583cd;
  1996. }
  1997. ::v-deep .el-tabs__item {
  1998. padding: 0;
  1999. margin-right: 20px;
  2000. width: 166px;
  2001. text-align: center;
  2002. background-color: #d8eaf6;
  2003. color: #000;
  2004. height: 40px;
  2005. box-sizing: border-box;
  2006. line-height: 40px;
  2007. display: inline-block;
  2008. list-style: none;
  2009. font-size: 14px;
  2010. font-weight: 500;
  2011. color: #303133;
  2012. position: relative;
  2013. }
  2014. .onetab {
  2015. margin-bottom: 20px;
  2016. padding: 0 20px;
  2017. }
  2018. .titbox {
  2019. div {
  2020. float: right;
  2021. i {
  2022. font-size: 22px;
  2023. margin-left: 20px;
  2024. cursor: pointer;
  2025. }
  2026. }
  2027. }
  2028. .tabbox {
  2029. margin-top: 15px;
  2030. }
  2031. .pageBox {
  2032. text-align: right;
  2033. margin-top: 10px;
  2034. }
  2035. .info-line {
  2036. width: 100%;
  2037. display: block;
  2038. // padding-left: 20px;
  2039. margin: 20px 0 0 -35px;
  2040. div {
  2041. width: 50%;
  2042. display: inline-block;
  2043. }
  2044. span {
  2045. width: 80px;
  2046. display: inline-block;
  2047. text-align: left;
  2048. i {
  2049. color: red;
  2050. display: inline-block;
  2051. padding-right: 5px;
  2052. }
  2053. }
  2054. .el-select,
  2055. .el-input {
  2056. width: calc(100% - 100px);
  2057. }
  2058. }
  2059. .online {
  2060. width: 100%;
  2061. .el-select {
  2062. width: calc(100% - 100px);
  2063. }
  2064. span {
  2065. vertical-align: top;
  2066. }
  2067. .el-textarea {
  2068. width: calc(100% - 100px);
  2069. }
  2070. }
  2071. .adv-type{
  2072. margin-top: 20px;
  2073. display: flex;
  2074. justify-content: space-between;
  2075. flex-wrap: wrap;
  2076. // border: 1px solid #ddd;
  2077. border-radius: 5px;
  2078. padding: 20px;
  2079. box-shadow: 0 2px 12px 0 rgba(0,0,0,.1);
  2080. div{
  2081. width: 33%;
  2082. text-align: center;
  2083. height: 80px;
  2084. overflow: hidden;
  2085. min-width: 100px;
  2086. cursor: pointer;
  2087. padding-top: 10px;
  2088. margin: 10px 0;
  2089. }
  2090. div:hover{
  2091. background: #CFE8FC;
  2092. border-radius: 5px;
  2093. }
  2094. span{
  2095. width: 100%;
  2096. display: inline-block;
  2097. height: 40px;
  2098. // line-height: 40px;
  2099. i{
  2100. color: #0074D9;
  2101. font-size: 36px;
  2102. }
  2103. }
  2104. }
  2105. .boximgc {
  2106. display: flex;
  2107. flex-wrap: wrap;
  2108. width: 100% !important;
  2109. margin-top: 20px;
  2110. div {
  2111. display: inline-block;
  2112. width: 18% !important;
  2113. margin-right: 2%;
  2114. margin-bottom: 20px;
  2115. overflow: hidden;
  2116. border: 1px solid #ddd;
  2117. border-radius: 3px;
  2118. background: #fff;
  2119. position: relative;
  2120. height: 100px;
  2121. img {
  2122. width: 100%;
  2123. position: absolute;
  2124. top: 0;
  2125. bottom: 0;
  2126. margin: auto;
  2127. // height: 100%;
  2128. }
  2129. }
  2130. }
  2131. </style>