dispatch_edit3.html 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482
  1. {extend name="common/common2" /}
  2. {block name="main"}
  3. <style>
  4. .rr{
  5. padding-right: 10px;
  6. }
  7. </style>
  8. <div class="row" id="formApp">
  9. <div class="col-sm-12">
  10. <div class="ibox float-e-margins">
  11. <div class="ibox-content">
  12. <form method="post" action="{:url('editOrder',[],'')}/mode/{$mode}?id={$id}" class="form-horizontal">
  13. <input type="hidden" name="id" value="{$order['id']}">
  14. <div class="col-sm-12">
  15. <div class="form-group">
  16. <label class="control-label">部门</label></br>
  17. <input type="hidden" name="dep_id" id="dep" value="{$order['dep_id']|default=0}">
  18. <el-select v-model="dep_id" size="small" clearable style="width: 100%" filterable placeholder="请选择">
  19. <el-option
  20. v-for="item in dep"
  21. :key="item.id"
  22. :label="item.title"
  23. :value="item.id.toString()">
  24. </el-option>
  25. </el-select>
  26. </div>
  27. </div>
  28. <div class="col-sm-12">
  29. <div class="form-group">
  30. <label class="control-label">执行人<span class="text-danger">*</span></label></br>
  31. {if $send_user_num==0} <!--多选-->
  32. <input type="hidden" name="to_user_id" id="user_id">
  33. <el-select v-model="user_id" filterable clearable multiple placeholder="请选择" size="small"
  34. style="width:100%">
  35. <el-option-group
  36. v-for="group in user"
  37. :key="group.id"
  38. :label="group.name">
  39. <el-option
  40. v-for="item in group.user"
  41. :key="item.id"
  42. :label="item.real_name"
  43. :value="item.id.toString()">
  44. </el-option>
  45. </el-option-group>
  46. </el-select>
  47. {else}<!--单选-->
  48. <input type="hidden" name="to_user_id" id="user_id">
  49. <el-select v-model="user_id" filterable clearable placeholder="请选择" size="small"
  50. style="width:100%">
  51. <el-option-group
  52. v-for="group in user"
  53. :key="group.id"
  54. :label="group.name">
  55. <el-option
  56. v-for="item in group.user"
  57. :key="item.id"
  58. :label="item.real_name"
  59. :value="item.id.toString()">
  60. </el-option>
  61. </el-option-group>
  62. </el-select>
  63. {/if}
  64. </div>
  65. </div>
  66. <div class="col-sm-12">
  67. <div class="form-group">
  68. <label class="control-label">运送类型<span class="text-danger">*</span></label></br>
  69. <div class="rr">
  70. <input type="hidden" name="type" id="type" value="{$orderconvey['type']|default=''}">
  71. <div>
  72. <el-select v-model="type" size="small" clearable style="width: 100%" filterable placeholder="请选择">
  73. <el-option
  74. v-for="item in types"
  75. :key="item.id"
  76. :label="item.title"
  77. :value="item.id.toString()">
  78. </el-option>
  79. </el-select>
  80. </div>
  81. </div>
  82. </div>
  83. </div>
  84. <div class="col-sm-12">
  85. <div class="form-group">
  86. <label class="control-label">优 &nbsp;先 &nbsp;级</label></br>
  87. <input type="hidden" name="priority" id="priority" value="{$orderconvey['type']|default=''}">
  88. <div style="padding-right: 10px">
  89. <el-radio v-model="priority" label="2">常规</el-radio>
  90. <el-radio v-model="priority" label="3">紧急</el-radio>
  91. </div>
  92. </div>
  93. </div>
  94. <div id="patient">
  95. <div class="col-sm-6">
  96. <div class="form-group">
  97. <label class="control-label">床号</label></br>
  98. <div class="rr">
  99. <input type="text" class="form-control" name="bed_number" value="{$orderconveypatient['bed_number']|default=''}">
  100. </div>
  101. </div>
  102. </div>
  103. <div class="col-sm-6">
  104. <div class="form-group">
  105. <label class="control-label">姓名</label></br>
  106. <div class="rr">
  107. <input type="text" class="form-control" name="p_name" value="{$orderconveypatient['name']|default=''}">
  108. </div>
  109. </div>
  110. </div>
  111. <!-- <div class="col-sm-4">-->
  112. <!-- <div class="form-group">-->
  113. <!-- <label class="control-label">病案号</label></br>-->
  114. <!-- <div class="rr">-->
  115. <!-- <input type="text" class="form-control" name="ba_number">-->
  116. <!-- </div>-->
  117. <!-- </div>-->
  118. <!-- </div>-->
  119. <!-- <div class="col-sm-6">-->
  120. <!-- <div class="form-group">-->
  121. <!-- <label class="control-label">性别</label></br>-->
  122. <!-- <div class="rr">-->
  123. <!-- <select name="gender" class="form-control">-->
  124. <!-- <option value="0">未知</option>-->
  125. <!-- <option value="1">男</option>-->
  126. <!-- <option value="2">女</option>-->
  127. <!-- </select>-->
  128. <!-- </div>-->
  129. <!-- </div>-->
  130. <!-- </div>-->
  131. <!-- <div class="col-sm-6">-->
  132. <!-- <div class="form-group">-->
  133. <!-- <label class="control-label">是否往返</label></br>-->
  134. <!-- <select name="back" class="form-control">-->
  135. <!-- <option value="0">否</option>-->
  136. <!-- <option value="1">是</option>-->
  137. <!-- </select>-->
  138. <!-- </div>-->
  139. <!-- </div>-->
  140. </div>
  141. <div class="col-sm-6">
  142. <div class="form-group" >
  143. <label class="control-label">开始地点<span class="text-danger">*</span></label></br>
  144. <input type="hidden" value="{$user.addr_id==0?'':$user.addr_id}" name="start" id="start" value="{$orderconvey['start']|default=''}">
  145. <div class="rr">
  146. <el-select v-model="start" size="small" clearable style="width: 100%" filterable placeholder="请选择">
  147. <el-option
  148. v-for="item in starts"
  149. :key="item.id"
  150. :label="item.title"
  151. :value="item.id.toString()">
  152. </el-option>
  153. </el-select>
  154. </div>
  155. </div>
  156. </div>
  157. <div class="col-sm-6">
  158. <div class="form-group">
  159. <label class="control-label">结束地点<span class="text-danger">*</span></label></br>
  160. <input type="hidden" name="end" id="end" value="{$orderconvey['end']|default=''}">
  161. <el-select v-model="end" size="small" clearable style="width: 100%" filterable placeholder="请选择">
  162. <el-option
  163. v-for="item in ends"
  164. :key="item.id"
  165. :label="item.title"
  166. :value="item.id.toString()">
  167. </el-option>
  168. </el-select>
  169. </div>
  170. </div>
  171. <div class="col-sm-12">
  172. <div class="form-group">
  173. <label class="control-label">途径地点</label></br>
  174. <div style="padding-right: 10px">
  175. <input type="hidden" name="way_addr" id="way_addr" value="{$addrs|default=''}">
  176. <el-select v-model="way_addr" size="small" collapse-tags style="width: 100%" multiple placeholder="请选择">
  177. <el-option
  178. v-for="item in way_addrs"
  179. :key="item.id"
  180. :label="item.title"
  181. :value="item.id.toString()">
  182. </el-option>
  183. </el-select>
  184. </div>
  185. </div>
  186. </div>
  187. <div class="col-sm-12">
  188. <div class="form-group">
  189. <label class="control-label">运送设备</label></br>
  190. <input type="hidden" name="device_id" id="device" value="{$orderconvey['device_id']|default=''}">
  191. <el-select v-model="device" size="small" style="width: 100%" clearable filterable placeholder="请选择">
  192. <el-option
  193. v-for="item in devices"
  194. :key="item.id"
  195. :label="item.title"
  196. :value="item.id.toString()">
  197. </el-option>
  198. </el-select>
  199. </div>
  200. </div>
  201. <div id="yy" style="display:none;">
  202. <div class="col-sm-6">
  203. <div class="form-group">
  204. <label class="control-label">需求时间<span class="text-danger">*</span></label></br>
  205. <input type="hidden" name="xq_time" id="xqtime" value="{$orderconvey['xq_time']|default=''}">
  206. <div class="rr">
  207. <el-date-picker
  208. style="width: 100%"
  209. size="small"
  210. v-model="xq_time"
  211. type="datetime"
  212. :editable="false"
  213. value-format="yyyy-MM-dd HH:mm"
  214. :clearable="true"
  215. @change="xqDateChange"
  216. placeholder="选择日期时间">
  217. </el-date-picker>
  218. </div>
  219. </div>
  220. </div>
  221. <div class="col-sm-6">
  222. <div class="form-group">
  223. <label class="control-label">应完成时间<span class="text-danger">*</span></label></br>
  224. <input type="hidden" name="ywc_time" id="ywctime" value="{$orderconvey['ywc_time']|default=''}">
  225. <el-date-picker
  226. style="width: 100%"
  227. size="small"
  228. v-model="ywc_time"
  229. type="datetime"
  230. :editable="false"
  231. value-format="yyyy-MM-dd HH:mm"
  232. :clearable="true"
  233. placeholder="选择日期时间">
  234. </el-date-picker>
  235. </div>
  236. </div>
  237. <!-- <div class="col-sm-6">-->
  238. <!-- <div class="form-group">-->
  239. <!-- <label class="control-label">联系人</label></br>-->
  240. <!-- <div class="rr">-->
  241. <!-- <input type="text" class="form-control" name="name">-->
  242. <!-- </div>-->
  243. <!-- </div>-->
  244. <!-- </div>-->
  245. <!-- <div class="col-sm-6">-->
  246. <!-- <div class="form-group">-->
  247. <!-- <label class="control-label">联系电话</label></br>-->
  248. <!-- <input type="text" class="form-control" name="phone">-->
  249. <!-- </div>-->
  250. <!-- </div>-->
  251. </div>
  252. <div class="col-sm-12">
  253. <div class="form-group">
  254. <label class="control-label">派单备注</label></br>
  255. <textarea name="todo_content" class="form-control" cols="30" rows="3" ></textarea>
  256. </div>
  257. </div>
  258. <div class="col-sm-12">
  259. <div class="form-group">
  260. <label class="control-label">任务备注</label></br>
  261. <input type="text" placeholder="{$tsDh}" class="form-control" name="content" value="{$order['content']}">
  262. </div>
  263. </div>
  264. <div class="col-sm-12">
  265. <div class="hr-line-dashed">
  266. </div>
  267. </div>
  268. <div class="form-group">
  269. <div class="col-sm-6 col-sm-offset-2">
  270. <button class="btn btn-primary ajax-post" data-layer="1" target-form="form-horizontal" type="submit">确 定</button>
  271. <button class="btn cancel-btn btn-default" type="button">取 消</button>
  272. </div>
  273. </div>
  274. </form>
  275. </div>
  276. </div>
  277. </div>
  278. </div>
  279. {/block}
  280. {block name="script"}
  281. <script>
  282. function setType(val) {
  283. if(val==1){
  284. $("#type1").css('display','block')
  285. $("#type2").css('display','none')
  286. }else {
  287. $("#type2").css('display','block')
  288. $("#type1").css('display','none')
  289. }
  290. }
  291. $(document).ready(function(){
  292. formSetValue("back", {$info.back|default=0});
  293. $("#yy").css('display','block');
  294. });
  295. $('#patient').hide();
  296. var vdevices = {:json_encode($order_device)};
  297. new Vue({
  298. el: '#formApp',
  299. data: function() {
  300. return {
  301. starts: [],
  302. start: "",
  303. ends: [],
  304. end: '{$orderconvey?$orderconvey["end"]:""}',
  305. way_addrs: {:json_encode($address)},
  306. way_addr:'',
  307. types: {:json_encode($order_convey_type)},
  308. type: '',
  309. prioritys:{:json_encode($priority)},
  310. priority: "",
  311. devices: {:json_encode($order_device)},
  312. device: '{$orderconvey?$orderconvey["device_id"]:""}',
  313. xq_time: '{$orderconvey?$orderconvey["xq_time"]:""}',
  314. ywc_time:'{$orderconvey?$orderconvey["ywc_time"]:""}',
  315. dep: {:json_encode($dep_list)},
  316. dep_id: '{$order?$order["dep_id"]:""}',
  317. user: {:json_encode($user_list)},
  318. user_id: '',
  319. to_roles: {:json_encode($dispatch_roles)},
  320. to_roles_id: '',
  321. roles_id:''
  322. }
  323. },
  324. watch: {
  325. type: function (newtype, oldtype) {
  326. var that = this;
  327. $.post('{:url("getAddr")}',{id:newtype},function (res){
  328. that.starts = res.data.s;
  329. that.ends = res.data.e;
  330. },'json')
  331. $('#type').val(newtype);
  332. this.types.forEach((item) => {
  333. if(item.id == newtype){
  334. console.log(item);
  335. // this.end = item.ends > 0?parseInt(item.ends):'';
  336. if(item.starts >0){
  337. this.start = parseInt(item.starts);
  338. }else {
  339. if(item.startList.length ==0){
  340. this.start= parseInt('{$user.addr_id}') >0?parseInt('{$user.addr_id}').toString():"";
  341. }
  342. }
  343. if(item.ends >0){
  344. this.end = parseInt(item.ends).toString();
  345. }else {
  346. if(item.endList.length ==0){
  347. this.end= parseInt('{$user.addr_id}') >0?parseInt('{$user.addr_id}').toString():"";
  348. }
  349. }
  350. this.xq_time = item.xq_time?item.xq_time:'';
  351. this.ywc_time = item.ywc_time?item.ywc_time:'';
  352. this.priority = item.priority > 0?item.priority.toString():'';
  353. if(item.cate == 1){
  354. let devices = [];
  355. vdevices.forEach((item) => {
  356. if(item.patient == 1){
  357. devices.push(item);
  358. }
  359. });
  360. this.devices = devices;
  361. $('#patient').show();
  362. }else{
  363. this.devices = vdevices;
  364. $('#patient').hide();
  365. }
  366. $("#yy").css('display','block')
  367. // if(item.cate==4){
  368. // $("#yy").css('display','block')
  369. // }else {
  370. // $("#yy").css('display','none')
  371. //
  372. // }
  373. }
  374. });
  375. },
  376. start: function (newtype, oldtype) {
  377. $('#start').val(newtype);
  378. },
  379. end: function (newtype, oldtype) {
  380. $('#end').val(newtype);
  381. },
  382. way_addr: function (newtype, oldtype) {
  383. $('#way_addr').val(newtype);
  384. },
  385. priority: function (newtype, oldtype) {
  386. $('#priority').val(newtype);
  387. },
  388. device: function (newtype, oldtype) {
  389. $('#device').val(newtype);
  390. },
  391. xq_time: function (newtype, oldtype) {
  392. // var that = this;
  393. // $.post("{:url('getTime')}",{type:this.type,'start':newtype},function (res){
  394. // if(res.code == 1){
  395. // that.xq_time = res.data.xq_time;
  396. // that.ywc_time = res.data.ywc_time;
  397. // }
  398. //
  399. // })
  400. $('#xqtime').val(newtype);
  401. },
  402. ywc_time: function (newtype, oldtype) {
  403. $('#ywctime').val(newtype);
  404. },
  405. dep_id: function (newtype, oldtype) {
  406. $('#dep').val(newtype);
  407. },
  408. user_id: function (newtype, oldtype) {
  409. if("{$send_user_num}"==="0"){
  410. $('#user_id').val(newtype.join(','));
  411. }else {
  412. $('#user_id').val(newtype);
  413. }
  414. },
  415. roles_id: function (newtype, oldtype) {
  416. $('#to_roles_id').val(newtype);
  417. },
  418. },
  419. created(){
  420. let t = '{$orderconvey?$orderconvey["type"]:""}';
  421. if(t){
  422. this.type = t;
  423. }
  424. let way = '{$addrs?$addrs:""}';
  425. if(way){
  426. this.way_addr = way.split(",");
  427. }
  428. let s = '{$orderconvey?$orderconvey["start"]:""}';
  429. if(s){
  430. this.start = s;
  431. }
  432. let e = '{$orderconvey?$orderconvey["end"]:""}';
  433. if(e){
  434. this.end = e;
  435. }
  436. let pp = '{$orderconvey?$orderconvey["priority"]:""}';
  437. if(pp){
  438. this.priority = pp;
  439. }
  440. },
  441. methods: {
  442. xqDateChange(e){
  443. var that = this;
  444. $.post("{:url('getTime')}",{type:this.type,'start':e},function (res){
  445. if(res.code == 1){
  446. that.xq_time = res.data.xq_time;
  447. that.ywc_time = res.data.ywc_time;
  448. }
  449. })
  450. $('#xqtime').val(e);
  451. }
  452. }
  453. })
  454. $('.cancel-btn').click(function () {
  455. parent.layer.closeAll();
  456. })
  457. </script>
  458. {/block}