newOrderSeimin.html 31 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006
  1. <div>
  2. <div class="modal-header" draggable class="modal-dialog">
  3. <div class="modal-title fontcolor-two fontsizes-14">
  4. 快速建单
  5. <button type="button" class="close pull-right" ng-click="cancel()">×</button>
  6. </div>
  7. </div>
  8. <div class="newOrder_content" style="width: 100%">
  9. <div class="leftList">
  10. <div class="DingW">
  11. <input
  12. type="text"
  13. class="SJFL_ipt"
  14. placeholder="请输入关键字"
  15. ng-model="jry_modelLeft"
  16. ng-change="jry_categorySearch(jry_modelLeft)"
  17. />
  18. <i class="glyphicon glyphicon-search jry_icon"></i>
  19. </div>
  20. <div class="newOrder_body">
  21. <span ng-if="loading_c">...加载中...</span>
  22. <ul class="newOrder_category newOrder_l" ng-if="!loading_c">
  23. <li
  24. ng-repeat="item in jry_categoryData track by item.id"
  25. ng-class="{active:item.id==categorySelectId}"
  26. ng-click="changeCategorySelect(item)"
  27. ng-bind-html="item.mutiCategory"
  28. ></li>
  29. <li class="noData" ng-show="jry_categoryData.length==0">
  30. <img src="./../../../../assets/images/404_wushuju.png" alt="" />
  31. </li>
  32. </ul>
  33. </div>
  34. </div>
  35. <div class="centerList">
  36. <div class="DingW" style="justify-content: space-between;">
  37. <!-- 来电号码:18086011111;故障现象:水电类-下水疏通-小便器堵了 由总务处理 -->
  38. <!-- <span><span ng-if="incidentModel.incomingPhone">来电号码:{{incidentModel.incomingPhone}};</span><span ng-if="categorySelect">故障现象:{{categorySelect.category}}</span></span>
  39. <span ng-if="selectedDuty">由{{selectedDuty.dept}}处理</span> -->
  40. <div><span ng-if="categorySelect">故障现象:{{categorySelect.category}};</span><strong ng-if="incidentModel.incomingPhone">来电号码:{{incidentModel.incomingPhone}}</strong></div>
  41. <div><strong ng-if="selectedDuty">责任科室:{{selectedDuty.dept}}</strong></div>
  42. </div>
  43. <div class="body clearfix">
  44. <div class="c_item clearfix">
  45. <label><span class="colorRed">*</span>院区:</label>
  46. <ui-select
  47. class="c_item_value branch"
  48. ng-model="incidentModel.branch"
  49. ng-change="changeBranch()"
  50. theme="bootstrap"
  51. ng-required="true"
  52. reset-search-input="false"
  53. >
  54. <ui-select-match placeholder="请选择院区">
  55. <span ng-bind="$select.selected.hosName"></span>
  56. </ui-select-match>
  57. <ui-select-choices
  58. repeat="item in jry_branchData| filter:{$:$select.search}"
  59. refresh="jry_branchSearch($select.search)"
  60. >
  61. <div
  62. ng-bind-html="item.hosName | highlight: $select.search"
  63. ></div>
  64. </ui-select-choices>
  65. </ui-select>
  66. </div>
  67. <div class="c_item clearfix">
  68. <label><span class="colorRed">*</span>报修科室:</label>
  69. <ui-select
  70. class="c_item_value dept"
  71. ng-model="incidentModel.department"
  72. theme="bootstrap"
  73. ng-required="true"
  74. reset-search-input="false"
  75. >
  76. <ui-select-match placeholder="请选择报修科室">
  77. <span ng-bind="$select.selected.dept"></span>
  78. </ui-select-match>
  79. <ui-select-choices
  80. repeat="item in jry_deptData"
  81. refresh="jry_deptSearch($select.search,incidentModel.branch.id)"
  82. >
  83. <div ng-bind-html="item.dept | highlight: $select.search"></div>
  84. </ui-select-choices>
  85. </ui-select>
  86. </div>
  87. <div class="c_item clearfix bxr">
  88. <label
  89. ><span class="colorRed">&nbsp;&nbsp;</span
  90. >报修人:</label
  91. >
  92. <ui-select
  93. class="c_item_value"
  94. style="min-width: 190px"
  95. ng-model="incidentModel.requester"
  96. theme="bootstrap"
  97. reset-search-input="false"
  98. >
  99. <ui-select-match allow-clear placeholder="请选择报修人">
  100. <span
  101. ng-bind="$select.selected.name + '('+$select.selected.account+')'"
  102. ></span>
  103. </ui-select-match>
  104. <ui-select-choices
  105. repeat="item in jry_requesterData"
  106. refresh="jry_requesterSearch($select.search)"
  107. >
  108. <div
  109. ng-bind-html="(item.name + '('+item.account+')') | highlight: $select.search"
  110. ></div>
  111. </ui-select-choices>
  112. </ui-select>
  113. </div>
  114. <div class="c_item clearfix">
  115. <label
  116. ><span class="colorRed">&nbsp;&nbsp;</span
  117. >联系人:</label
  118. >
  119. <input
  120. class="c_item_value"
  121. style="width: 100px;min-width:100px;"
  122. type="text"
  123. ng-model="incidentModel.contacts"
  124. placeholder="请填写联系人"
  125. />
  126. </div>
  127. <div class="c_item clearfix">
  128. <label><span class="colorRed">*</span>电话:</label>
  129. <input
  130. class="c_item_value"
  131. style="width: 120px;min-width:120px;"
  132. ng-required="true"
  133. type="text"
  134. ng-model="incidentModel.contactsInformation"
  135. placeholder="请填写电话"
  136. />
  137. </div>
  138. <div class="c_item clearfix" ng-if="incidentModel.incomingPhone" style="margin-right: 0;">
  139. <button class="btn btn-primary" ng-click="incidentModel.contactsInformation = incidentModel.incomingPhone;">来电回填</button>
  140. </div>
  141. <div class="c_item clearfix">
  142. <label><span class="colorRed">&nbsp;&nbsp;</span>院区楼栋:</label>
  143. <ui-select
  144. class="c_item_value place"
  145. ng-model="incidentModel.area"
  146. ng-change="changeArea()"
  147. theme="bootstrap"
  148. ng-required="true"
  149. reset-search-input="false"
  150. >
  151. <ui-select-match placeholder="请选择区域">
  152. <span ng-bind="$select.selected.area"></span>
  153. </ui-select-match>
  154. <ui-select-choices
  155. repeat="item in jry_areaData"
  156. refresh="jry_areaSearch($select.search,incidentModel.branch?incidentModel.branch.id:'')"
  157. >
  158. <div ng-bind-html="item.area | highlight: $select.search"></div>
  159. </ui-select-choices>
  160. </ui-select>
  161. <ui-select
  162. class="c_item_value place"
  163. ng-model="incidentModel.place"
  164. theme="bootstrap"
  165. ng-required="true"
  166. reset-search-input="false"
  167. >
  168. <ui-select-match placeholder="请选择地点">
  169. <span ng-bind="$select.selected.place"></span>
  170. </ui-select-match>
  171. <ui-select-choices
  172. repeat="item in jry_placeData"
  173. refresh="jry_placeSearch($select.search,incidentModel.area?incidentModel.area.id:'')"
  174. >
  175. <div ng-bind-html="item.place | highlight: $select.search"></div>
  176. </ui-select-choices>
  177. </ui-select>
  178. <input
  179. class="c_item_value"
  180. ng-required="true"
  181. type="text"
  182. ng-model="incidentModel.address"
  183. placeholder="请填写详细地址"
  184. />
  185. </div>
  186. <div class="c_item clearfix">
  187. <label
  188. ><span class="colorRed">*</span>优先级:</label
  189. >
  190. <ui-select
  191. class="c_item_value priority"
  192. ng-model="incidentModel.priority"
  193. theme="bootstrap"
  194. >
  195. <ui-select-match placeholder="请选择优先级">
  196. <span ng-bind="$select.selected.name"> </span>
  197. </ui-select-match>
  198. <ui-select-choices
  199. repeat="item in (priorityArray | filter:$select.search) track by item.id"
  200. >
  201. <span ng-bind="item.name"></span>
  202. </ui-select-choices>
  203. </ui-select>
  204. </div>
  205. <div class="c_item clearfix">
  206. <label><span class="colorRed">&nbsp;&nbsp;</span>事件来源:</label>
  207. <ui-select
  208. class="c_item_value source"
  209. ng-model="incidentModel.source"
  210. theme="bootstrap"
  211. >
  212. <ui-select-match placeholder="请选择事件来源">
  213. <span ng-bind="$select.selected.name"> </span>
  214. </ui-select-match>
  215. <ui-select-choices
  216. repeat="item in (sourceArray | filter:$select.search) track by item.id"
  217. >
  218. <span ng-bind="item.name"> </span>
  219. </ui-select-choices>
  220. </ui-select>
  221. </div>
  222. <!-- <div class="c_item clearfix">
  223. <label
  224. ><span class="colorRed">&nbsp;&nbsp;</span>预约维修时间:</label
  225. >
  226. <span class="input-icon" style="float: left">
  227. <input
  228. type="text"
  229. class="c_item_value underline"
  230. style="width: 175px"
  231. ng-click="endOpen = !endOpen"
  232. datepicker-popup="yyyy-MM-dd HH:mm:ss"
  233. ng-model="incidentModel.yyTime"
  234. is-open="endOpen"
  235. min-date="minYYtime"
  236. close-on-date-selection="false"
  237. ng-init="endOpen = false"
  238. close-text="关闭"
  239. current-text="今天"
  240. clear-text="清空"
  241. save-text="确定"
  242. show-weeks="false"
  243. />
  244. <i class="ti-calendar"></i>
  245. </span>
  246. </div> -->
  247. <div class="c_item c_item_value_textarea clearfix">
  248. <label><span class="colorRed">*</span>故障描述:</label>
  249. <textarea
  250. class="c_item_value"
  251. ng-model="incidentModel.description"
  252. placeholder="请填写故障描述"
  253. ></textarea>
  254. </div>
  255. <div class="c_item clearfix" style="width: 400px; height: 100px" ng-if="requestImgs.length">
  256. <div class="col-xs-12 ui-repair-photos">
  257. <div class="row fontcolor-two margin-top-15">
  258. <label><span class="colorRed">&nbsp;&nbsp;</span>图片上传:</label>
  259. <div class="imgsBox">
  260. <div class="fileupload pos-rlt" ng-repeat="(idx,img) in requestImgs" style="position: relative;">
  261. <img ng-src="{{attachmentAddressSplicing(img.relativeFilePath)}}" style="max-height:300px;object-fit: contain;"
  262. class="pos-rlt" width=100%; height=100%; ng-click="previewNew('requestImgs', img.relativeFilePath, idx)" />
  263. </div>
  264. </div>
  265. <!-- <div class="col-md-12" style="padding:0;">
  266. <div class="imgsBox">
  267. <div class="fileupload pos-rlt" ng-repeat="(idx,img) in requestImgs" style="position: relative;">
  268. <img ng-src="{{attachmentAddressSplicing(img.relativeFilePath)}}" style="max-height:300px;object-fit: contain;"
  269. class="pos-rlt" width=100%; height=100%; ng-click="preview('requestImgs', img.relativeFilePath, idx)" />
  270. </div>
  271. </div>
  272. </div> -->
  273. </div>
  274. </div>
  275. </div>
  276. <div class="c_item clearfix" style="width: 400px; height: 100px" ng-if="!requestImgs.length">
  277. <label><span class="colorRed">&nbsp;&nbsp;</span>图片上传:</label>
  278. <div class="imgsBox">
  279. <div
  280. class="fileupload pos-rlt"
  281. ng-repeat="(idx,imageSrc) in imgshows"
  282. style="position: relative"
  283. >
  284. <div
  285. style="
  286. border-radius: 5px;
  287. overflow: hidden;
  288. width: 100%;
  289. height: 100%;
  290. "
  291. >
  292. <img
  293. ng-src="{{imageSrc}}"
  294. style="
  295. max-width: 200px;
  296. max-height: 300px;
  297. margin: 0 auto;
  298. display: block;
  299. "
  300. class="pos-rlt"
  301. width="100%;"
  302. height="100%;"
  303. ng-click="preview(imageSrc,idx)"
  304. />
  305. </div>
  306. <i class="icon close" ng-click="uploadimg_del($index, imgshows)"
  307. >×</i
  308. >
  309. </div>
  310. <div
  311. id="upupgogo"
  312. class="fileupload pos-rlt clear"
  313. style="position: relative"
  314. >
  315. <span class="icon ion-plus-round fileupload-icon">+</span>
  316. <input
  317. type="file"
  318. onchange="angular.element(this).scope().change(this)"
  319. style="
  320. display: inline-block;
  321. width: 100%;
  322. height: 100%;
  323. opacity: 0;
  324. "
  325. class="upinp"
  326. uploader="uploader"
  327. accept="image/png,image/gif,image/jpeg,image/jpg"
  328. name="uploadedFile"
  329. nv-file-select=""
  330. />
  331. </div>
  332. </div>
  333. </div>
  334. <div class="c_item" style="width: 100%">
  335. <label style="margin-right: 8px; cursor: pointer">
  336. <input
  337. type="radio"
  338. name="assign"
  339. ng-value="1"
  340. ng-model="incidentModel.assign"
  341. />
  342. 派单给人
  343. </label>
  344. <label>
  345. <input
  346. type="radio"
  347. name="assign"
  348. ng-value="2"
  349. ng-model="incidentModel.assign"
  350. />
  351. 派单给组
  352. </label>
  353. </div>
  354. <div class="c_item clearfix" ng-if="incidentModel.assign==1">
  355. <label><span class="colorRed">*</span>处理人:</label>
  356. <ui-select
  357. class="c_item_value"
  358. style="min-width: 300px"
  359. ng-model="incidentModel.user"
  360. theme="bootstrap"
  361. ng-required="true"
  362. reset-search-input="false"
  363. >
  364. <ui-select-match placeholder="请选择处理人">
  365. <span ng-bind="$select.selected.name"></span>
  366. </ui-select-match>
  367. <ui-select-choices
  368. repeat="item in jry_userData| filter:{$:$select.search}"
  369. refresh="jry_userSearch($select.search)"
  370. >
  371. <div
  372. ng-bind-html="item.name | highlight: $select.search"
  373. ></div>
  374. </ui-select-choices>
  375. </ui-select>
  376. </div>
  377. <div class="c_item clearfix" ng-if="incidentModel.assign==2">
  378. <label><span class="colorRed">*</span>处理组:</label>
  379. <ui-select
  380. class="c_item_value"
  381. style="min-width: 300px"
  382. ng-model="incidentModel.group"
  383. theme="bootstrap"
  384. ng-required="true"
  385. reset-search-input="false"
  386. >
  387. <ui-select-match placeholder="处理组">
  388. <span ng-bind="$select.selected.groupName"></span>
  389. </ui-select-match>
  390. <ui-select-choices
  391. repeat="item in jry_groupData| filter:{$:$select.search}"
  392. refresh="jry_groupSearch($select.search)"
  393. >
  394. <div
  395. ng-bind-html="item.groupName | highlight: $select.search"
  396. ></div>
  397. </ui-select-choices>
  398. </ui-select>
  399. </div>
  400. </div>
  401. </div>
  402. <div class="rightList">
  403. <div class="DingW">
  404. <div
  405. class="tab_name"
  406. ng-click="changeTab(1)"
  407. ng-class="{active:selectTab==1}"
  408. >
  409. 近期报修
  410. </div>
  411. <div
  412. class="tab_name"
  413. ng-click="changeTab(2)"
  414. ng-class="{active:selectTab==2}"
  415. >
  416. 知识库
  417. </div>
  418. </div>
  419. <div class="newOrder_body" ng-if="selectTab==1">
  420. <span ng-if="loading_i">...加载中...</span>
  421. <ul class="newOrder_category newOrder_r" ng-if="!loading_i">
  422. <li ng-repeat="item in jry_incidentData track by item.id">
  423. <div class="newOrder_r_item">
  424. <div class="ll">{{item.incidentsign}}</div>
  425. <div class="rr">{{item.state?item.state.name:'无'}}</div>
  426. </div>
  427. <div class="newOrder_r_item">
  428. <div class="ll">{{item.description}}</div>
  429. </div>
  430. <div class="newOrder_r_item">
  431. <div class="ll">{{ (item.place ? (item.place.area ? item.place.area.area : '') : '') + (item.place ? (item.place.place ? item.place.place : '') : '') + (item.houseNumber ? item.houseNumber : '') }}</div>
  432. </div>
  433. <div class="newOrder_r_item">
  434. <div class="ll"></div>
  435. <div class="rr">{{item.acceptDate}}</div>
  436. </div>
  437. </li>
  438. <li class="noData" ng-show="jry_incidentData.length==0">
  439. <img src="./../../../../assets/images/404_wushuju.png" alt="" />
  440. </li>
  441. </ul>
  442. </div>
  443. <div class="newOrder_body" ng-if="selectTab==2">
  444. <span ng-if="loading_i">...加载中...</span>
  445. <ul class="newOrder_category newOrder_r" ng-if="!loading_i">
  446. <li ng-repeat="item in jry_solutionData track by item.id">
  447. <div class="newOrder_r_item">
  448. <div class="ll">故障现象:{{item.category.mutiCategory}}</div>
  449. </div>
  450. <div class="newOrder_r_item">
  451. <div class="ll">故障描述:{{item.title}}</div>
  452. </div>
  453. <div class="newOrder_r_item">
  454. <div class="ll">
  455. 解决方案:
  456. <div ng-bind-html="item.content"></div>
  457. </div>
  458. </div>
  459. <div class="newOrder_r_item">
  460. <div class="ll" style="width: 100%">
  461. <div class="overVis clearfix">
  462. <span class="fl">附件信息</span>
  463. <span class="fr" ng-click="showAll(item.id)"
  464. >{{(ifshow&&showId==item.id)?'收起':'展开'}}</span
  465. >
  466. </div>
  467. <div
  468. ng-class="{'showAllDiv':(showId==item.id&&ifshow),'showOverDiv':(showId!=item.id||!ifshow)}"
  469. >
  470. <div ng-if="showId==item.id&&ifshow">
  471. <table style="width: 252px" class="solutionTable">
  472. <tbody>
  473. <tr ng-repeat="attachment in attachments">
  474. <td
  475. class="hidden-xs"
  476. style="width: 230px; word-break: break-all"
  477. >
  478. {{attachment.name}}
  479. </td>
  480. <td class="center">
  481. <div
  482. class="visible-md visible-lg hidden-sm hidden-xs"
  483. >
  484. <a
  485. ng-click="download(attachment.token,attachment.name)"
  486. class="downBtn"
  487. tooltip-placement="top"
  488. tooltip="下载"
  489. ><i class="fa fa-download"></i
  490. ></a>
  491. </div>
  492. </td>
  493. </tr>
  494. </tbody>
  495. </table>
  496. </div>
  497. </div>
  498. </div>
  499. </div>
  500. </li>
  501. <li class="noData" ng-show="jry_solutionData.length==0">
  502. <img src="./../../../../assets/images/404_wushuju.png" alt="" />
  503. </li>
  504. </ul>
  505. </div>
  506. </div>
  507. </div>
  508. <div class="modal-footer">
  509. <label style="display: inline-flex;align-items:center;cursor: pointer;position: relative;top: 3px;right: 16px;"><input style="margin:0;" type="checkbox" ng-model="isBuildOrderAgagin">是否连续建单</label>
  510. <button class="btn btn-primary" ng-click="build()">直接解决</button>
  511. <button class="btn btn-primary" ng-click="buildAndAssign()">建单并派单</button>
  512. <button class="btn btn-primary" ng-click="temporaryStorage()">暂存</button>
  513. <button class="btn btn-primary btn-o" ng-click="cancel()">取消</button>
  514. </div>
  515. </div>
  516. <!-- 覆盖故障描述弹窗 -->
  517. <div class="alert-mask" ng-if="isShowAlertMask">
  518. <div class="alert-block">
  519. <div class="sa-icon sa-warning pulseWarning"> <span class="sa-body pulseWarningIns"></span> <span class="sa-dot pulseWarningIns"></span> </div>
  520. <h2>提示</h2>
  521. <p>是否覆盖故障描述?</p>
  522. <button class="confirm" tabindex="1" ng-click="overlayAlertMask()">覆盖</button>
  523. <button class="confirm" tabindex="1" ng-click="overlayLeftAlertMask()">前追加</button>
  524. <button class="confirm" tabindex="1" ng-click="overlayRightAlertMask()">后追加</button>
  525. <button class="cancel" tabindex="2" ng-click="cancelAlertMask()">取消</button>
  526. </div>
  527. </div>
  528. <style>
  529. /* 弹窗 start */
  530. .alert-mask{
  531. background-color: rgba(0,0,0,.4);
  532. position: absolute;
  533. left: 0;
  534. right: 0;
  535. top: 0;
  536. bottom: 0;
  537. z-index: 10000;
  538. }
  539. .alert-mask .alert-block {
  540. background-color: #fff;
  541. font-family: 'Open Sans','Helvetica Neue',Helvetica,Arial,sans-serif;
  542. width: 390px;
  543. height: 220px;
  544. padding: 17px;
  545. border-radius: 5px;
  546. text-align: center;
  547. position: fixed;
  548. left: 50%;
  549. top: 50%;
  550. margin-left: -180px;
  551. margin-top: -150px;
  552. overflow: hidden;
  553. z-index: 99999;
  554. }
  555. .alert-mask .sa-icon {
  556. width: 48px!important;
  557. height: 48px!important;
  558. border: 4px solid gray;
  559. border-radius: 50%;
  560. -webkit-border-radius: 40px;
  561. border-radius: 50%;
  562. margin: 0 auto!important;
  563. padding: 0;
  564. position: relative;
  565. box-sizing: content-box;
  566. border-color: #F8BB86;
  567. }
  568. .alert-mask .pulseWarning {
  569. -webkit-animation: pulseWarning .75s infinite alternate;
  570. animation: pulseWarning .75s infinite alternate;
  571. }
  572. .alert-mask .sa-icon.sa-warning .sa-body {
  573. position: absolute;
  574. width: 5px;
  575. height: 20px;
  576. left: 50%;
  577. top: 10px;
  578. -webkit-border-radius: 2px;
  579. border-radius: 2px;
  580. margin-left: -2px;
  581. background-color: #F8BB86;
  582. }
  583. .alert-mask .sa-icon.sa-warning .sa-dot {
  584. position: absolute;
  585. width: 7px;
  586. height: 7px;
  587. -webkit-border-radius: 50%;
  588. border-radius: 50%;
  589. margin-left: -3px;
  590. left: 50%;
  591. bottom: 10px;
  592. background-color: #F8BB86;
  593. }
  594. .alert-mask .pulseWarningIns {
  595. -webkit-animation: pulseWarningIns .75s infinite alternate;
  596. animation: pulseWarningIns .75s infinite alternate;
  597. }
  598. .alert-mask h2 {
  599. color: #575757;
  600. font-size: 26px;
  601. text-align: center;
  602. font-weight: 400;
  603. text-transform: none;
  604. position: relative;
  605. margin: 0;
  606. padding: 0;
  607. line-height: 40px;
  608. display: block;
  609. }
  610. .alert-mask p {
  611. color: #93989e;
  612. font-size: 16px;
  613. font-weight: 300;
  614. position: relative;
  615. text-align: inherit;
  616. float: none;
  617. margin: 0;
  618. padding: 0;
  619. line-height: normal;
  620. }
  621. .alert-mask button {
  622. background-color: #fff;
  623. box-shadow: none;
  624. font-size: 17px;
  625. font-weight: 500;
  626. -webkit-border-radius: 4px;
  627. border-radius: 5px;
  628. border: 1px solid #d1d1d1;
  629. padding: 5px 15px;
  630. margin: 26px 5px 0;
  631. cursor: pointer;
  632. color: #93989e;
  633. }
  634. /* 弹窗 end */
  635. .newOrder_content .btn {
  636. margin-top: 0;
  637. }
  638. .newOrder_content .overVis span {
  639. display: inline-block;
  640. text-align: right;
  641. color: #005395;
  642. }
  643. .newOrder_content .showOverDiv {
  644. max-height: 100px;
  645. overflow: hidden;
  646. padding-bottom: 10px;
  647. }
  648. .newOrder_content .showAllDiv {
  649. height: auto;
  650. width: 100%;
  651. padding-bottom: 10px;
  652. }
  653. .newOrder_content .solutionTable td {
  654. line-height: 20px;
  655. color: #005395;
  656. text-decoration: underline;
  657. }
  658. .newOrder_content .solutionTable .downBtn {
  659. color: #005395;
  660. }
  661. .newOrder_content .solutionTable tr:hover {
  662. background: #fff;
  663. }
  664. @media (min-width: 768px) {
  665. .modal-dialog {
  666. width: 1300px;
  667. margin: 30px auto;
  668. height: 100%;
  669. }
  670. }
  671. .newOrder_content input::-webkit-input-placeholder {
  672. /* Chrome/Opera/Safari */
  673. color: #c2c2c5;
  674. }
  675. .newOrder_content input:-ms-input-placeholder {
  676. /* IE 10+ */
  677. color: #c2c2c5;
  678. }
  679. .newOrder_content input:-moz-placeholder {
  680. /* Firefox 18- */
  681. color: #c2c2c5;
  682. opacity: 1;
  683. }
  684. .newOrder_content input::-moz-placeholder {
  685. /* Firefox 19+ */
  686. color: #c2c2c5;
  687. opacity: 1;
  688. }
  689. .newOrder_content textarea::-webkit-input-placeholder {
  690. /* Chrome/Opera/Safari */
  691. color: #c2c2c5;
  692. }
  693. .newOrder_content textarea:-ms-input-placeholder {
  694. /* IE 10+ */
  695. color: #c2c2c5;
  696. }
  697. .newOrder_content textarea:-moz-placeholder {
  698. /* Firefox 18- */
  699. color: #c2c2c5;
  700. opacity: 1;
  701. }
  702. .newOrder_content textarea::-moz-placeholder {
  703. /* Firefox 19+ */
  704. color: #c2c2c5;
  705. opacity: 1;
  706. }
  707. .newOrder_content .colorRed {
  708. color: red;
  709. }
  710. .newOrder_content .imgsBox {
  711. display: flex;
  712. justify-content: space-between;
  713. padding: 10px 10px;
  714. background: #f9f9f9;
  715. }
  716. .newOrder_content .fileupload {
  717. width: 64px;
  718. height: 64px;
  719. border: 1px dotted #ccc;
  720. display: inline-block;
  721. background: #fff;
  722. border-radius: 5px;
  723. color: #d8d8d8;
  724. }
  725. .newOrder_content .fileupload-icon {
  726. font-size: 32px;
  727. position: absolute;
  728. top: 50%;
  729. left: 50%;
  730. transform: translate(-50%, -50%);
  731. }
  732. .newOrder_content .close {
  733. position: absolute;
  734. top: -5px;
  735. right: -6px;
  736. font-size: 16px;
  737. display: inline-block;
  738. width: 14px;
  739. height: 14px;
  740. color: #fff;
  741. background: #bd2535;
  742. line-height: 8px;
  743. text-align: center;
  744. border-radius: 9px;
  745. border: 1px solid #bd2535;
  746. opacity: 1;
  747. overflow: hidden;
  748. }
  749. .newOrder_content .close:hover {
  750. opacity: 0.8;
  751. }
  752. .newOrder_content .category {
  753. margin-right: 8px;
  754. }
  755. .newOrder_content .newOrder_body {
  756. height: 652px;
  757. overflow-y: auto;
  758. }
  759. .newOrder_content .newOrder_category li {
  760. font-size: 14px;
  761. color: #606367;
  762. padding: 8px;
  763. border-bottom: 1px dashed #d3d3d3;
  764. }
  765. .newOrder_content .newOrder_l li {
  766. cursor: pointer;
  767. }
  768. .newOrder_content .newOrder_l li.active {
  769. background-color: #d3d3d3;
  770. }
  771. .newOrder_content .newOrder_l li:hover {
  772. background-color: #d3d3d3;
  773. }
  774. .newOrder_content .newOrder_l li.noData:hover {
  775. background-color: #f5f5f5;
  776. }
  777. .newOrder_content .newOrder_r_item {
  778. display: flex;
  779. align-items: center;
  780. justify-content: space-between;
  781. padding: 4px 0;
  782. }
  783. .newOrder_content .newOrder_r_item p {
  784. margin: 0;
  785. word-break: break-all;
  786. }
  787. .newOrder_content .newOrder_r_item .ll {
  788. flex: 1;
  789. text-align: left;
  790. word-break: break-all;
  791. }
  792. .newOrder_content .newOrder_r_item .rr {
  793. flex: 1;
  794. text-align: right;
  795. }
  796. .jry_positionFather .describe {
  797. width: 430px;
  798. }
  799. .jry_positionChild {
  800. position: absolute;
  801. height: 20px;
  802. margin-top: -10px;
  803. right: 14px;
  804. top: 50%;
  805. }
  806. .jry_positionFather {
  807. position: relative;
  808. width: 100%;
  809. }
  810. .jry_item {
  811. display: inline-block;
  812. margin-left: 5px;
  813. }
  814. .jry_icon {
  815. position: absolute;
  816. right: 0;
  817. top: 0;
  818. display: inline-block;
  819. width: 20px;
  820. height: 30px;
  821. text-align: center;
  822. line-height: 30px;
  823. border: 1px rgb(211, 211, 211) solid;
  824. background-color: white;
  825. border-radius: 0 4px 4px 0;
  826. }
  827. .DingW {
  828. position: relative;
  829. display: flex;
  830. justify-content: center;
  831. height: 36px;
  832. line-height: 36px;
  833. border-bottom: 1px solid #d3d3d3;
  834. }
  835. .DingW .ui-select-match {
  836. line-height: normal;
  837. }
  838. .DingW .tab_name {
  839. flex: 1;
  840. text-align: center;
  841. cursor: pointer;
  842. border-right: 1px solid #d3d3d3;
  843. }
  844. .DingW .tab_name:last-of-type {
  845. border-right: none;
  846. }
  847. .DingW .tab_name.active {
  848. color: #fff;
  849. background-color: #006bc0;
  850. }
  851. .SJFL_ipt {
  852. width: 100%;
  853. height: 30px;
  854. border-radius: 4px 0 0 4px !important;
  855. }
  856. .radio_left {
  857. width: 40px;
  858. display: flex;
  859. align-items: center;
  860. justify-content: center;
  861. }
  862. .list {
  863. padding: 10px 0;
  864. border-bottom: 1px rgb(211, 211, 211) solid;
  865. border-top: 1px rgb(211, 211, 211) solid;
  866. display: flex;
  867. }
  868. .noData {
  869. display: flex;
  870. width: 100%;
  871. height: 100%;
  872. justify-content: center;
  873. align-items: center;
  874. border-bottom: none !important;
  875. padding-top: 30px !important;
  876. cursor: default !important;
  877. }
  878. .noData img {
  879. width: 120px;
  880. }
  881. .newOrder_content {
  882. display: flex;
  883. }
  884. .leftList {
  885. width: 280px;
  886. background-color: rgb(245, 245, 245);
  887. height: 700px;
  888. margin: 4px;
  889. border: 1px rgb(211, 211, 211) solid;
  890. border-radius: 4px;
  891. padding: 5px;
  892. }
  893. .centerList {
  894. /* width: 778px; */
  895. flex: 1;
  896. background-color: rgb(245, 245, 245);
  897. height: 700px;
  898. margin: 4px;
  899. border: 1px rgb(211, 211, 211) solid;
  900. border-radius: 4px;
  901. padding: 5px;
  902. }
  903. .centerList .c_item {
  904. height: 30px;
  905. margin-top: 16px;
  906. margin-right: 8px;
  907. float: left;
  908. }
  909. .centerList .c_item.bxr .ui-select-allow-clear {
  910. width: 140px;
  911. overflow: hidden;
  912. text-overflow: ellipsis;
  913. white-space: nowrap;
  914. }
  915. .centerList .c_item .c_item_value {
  916. min-width: 165px;
  917. height: 30px;
  918. float: left;
  919. }
  920. .centerList .c_item .c_item_value.branch {
  921. min-width: 240px;
  922. width: 240px;
  923. margin-right: 8px;
  924. }
  925. .centerList .c_item .c_item_value.dept {
  926. min-width: 300px;
  927. width: 300px;
  928. }
  929. .centerList .c_item .c_item_value.area {
  930. min-width: 150px;
  931. width: 150px;
  932. margin-right: 8px;
  933. }
  934. .centerList .c_item .c_item_value.place {
  935. min-width: 150px;
  936. width: 150px;
  937. margin-right: 8px;
  938. }
  939. .centerList .c_item .c_item_value.priority {
  940. min-width: 110px;
  941. width: 110px;
  942. margin-right: 8px;
  943. }
  944. .centerList .c_item .c_item_value.source {
  945. min-width: 110px;
  946. width: 110px;
  947. margin-right: 8px;
  948. }
  949. .centerList .c_item input[type="text"].c_item_value {
  950. width: 165px;
  951. }
  952. .centerList .c_item_value_textarea {
  953. width: 100%;
  954. height: 100px;
  955. display: flex;
  956. }
  957. .centerList .c_item_value_textarea .c_item_value {
  958. flex: 1;
  959. height: 100px;
  960. resize: none;
  961. }
  962. .centerList .c_item label {
  963. float: left;
  964. line-height: 30px;
  965. margin: 0;
  966. }
  967. .rightList {
  968. width: 280px;
  969. background-color: rgb(245, 245, 245);
  970. height: 700px;
  971. margin: 4px;
  972. border: 1px rgb(211, 211, 211) solid;
  973. border-radius: 4px;
  974. padding: 5px;
  975. }
  976. .head {
  977. color: #005395;
  978. font-size: 12px;
  979. height: 30px;
  980. line-height: 30px;
  981. border-bottom: 1px rgb(211, 211, 211) solid;
  982. }
  983. </style>