newOrderSeimin.html 32 KB

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