index.vue 49 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785
  1. <template>
  2. <div class="app-container">
  3. <div class="box-lfet">
  4. <div class="data">
  5. <p>日期</p>
  6. <div class="a1"></div>
  7. <el-date-picker
  8. v-model="tiem"
  9. type="date"
  10. :editable="false"
  11. placeholder="选择日期"
  12. value-format="yyyy-MM-dd"
  13. @change="shiJian"
  14. >
  15. </el-date-picker>
  16. </div>
  17. <div class="dadui">
  18. <img src="../../../images/星星.png" alt="" />
  19. 单位
  20. </div>
  21. <div class="tree">
  22. <el-tree
  23. :data="deptOptions"
  24. :props="defaultProps"
  25. @node-click="handleNodeClick"
  26. default-expand-all
  27. :expand-on-click-node="false"
  28. ></el-tree>
  29. </div>
  30. </div>
  31. <div class="box-right">
  32. <!-- 搜索条件区域 -->
  33. <el-form
  34. :model="queryParams"
  35. ref="queryForm"
  36. :inline="true"
  37. v-show="showSearch"
  38. label-width="68px"
  39. >
  40. </el-form>
  41. <!-- 添加,删除 -->
  42. <el-row :gutter="10" class="mb8">
  43. <el-col :span="1.5">
  44. <el-button
  45. type="primary"
  46. plain
  47. icon="el-icon-plus"
  48. size="mini"
  49. @click="handleAdd"
  50. v-hasPermi="['grassrootsregistration:bdgldiary:add']"
  51. >新增</el-button
  52. >
  53. </el-col>
  54. <div class="shuJu">
  55. <span class="box44 public"> 当前数据为 : {{ DataTime }}</span>
  56. <span class="box5 public">
  57. 已登记部门 : {{ registrationData.yiShenPi }}</span
  58. >
  59. <span class="box6">
  60. 未登记部门 : {{ registrationData.weiShenPi }}</span
  61. >
  62. </div>
  63. <!-- <el-col :span="1.5">
  64. <el-button
  65. type="success"
  66. plain
  67. icon="el-icon-edit"
  68. size="mini"
  69. :disabled="single"
  70. @click="handleUpdate"
  71. v-hasPermi="['grassrootsregistration:bdgldiary:edit']"
  72. >修改</el-button
  73. >
  74. </el-col>
  75. <el-col :span="1.5">
  76. <el-button
  77. type="danger"
  78. plain
  79. icon="el-icon-delete"
  80. size="mini"
  81. :disabled="multiple"
  82. @click="handleDelete"
  83. v-hasPermi="['grassrootsregistration:bdgldiary:remove']"
  84. >删除</el-button
  85. >
  86. </el-col>
  87. <el-col :span="1.5">
  88. <el-button
  89. type="warning"
  90. plain
  91. icon="el-icon-download"
  92. size="mini"
  93. :loading="exportLoading"
  94. @click="handleExport"
  95. v-hasPermi="['grassrootsregistration:bdgldiary:export']"
  96. >导出</el-button
  97. >
  98. </el-col> -->
  99. </el-row>
  100. <!-- 搜索结果区域 -->
  101. <el-table
  102. v-loading="loading"
  103. :data="bdgldiaryList"
  104. @selection-change="handleSelectionChange"
  105. :header-cell-style="{ background: '#003C69', color: 'white' }"
  106. >
  107. <el-table-column type="selection" width="55" align="center" />
  108. <!-- <el-table-column label="序号" align="center" prop="id" /> -->
  109. <el-table-column label="序号" type="index" width="50" align="center">
  110. <template scope="scope">
  111. <span>{{
  112. (queryParams.pageNum - 1) * queryParams.pageSize +
  113. scope.$index +
  114. 1
  115. }}</span>
  116. </template>
  117. </el-table-column>
  118. <el-table-column label="单位" align="center" prop="unitName" />
  119. <el-table-column label="值班人员" align="center" prop="peopleName" />
  120. <el-table-column
  121. label="值班日期"
  122. align="center"
  123. prop="diaryTime"
  124. width="180"
  125. :editable="false"
  126. >
  127. <template slot-scope="scope">
  128. <span>{{ parseTime(scope.row.diaryTime, "{y}-{m}-{d}") }}</span>
  129. </template>
  130. </el-table-column>
  131. <el-table-column label="编制干部" align="center" prop="orgcadre" />
  132. <el-table-column label="编制战士" align="center" prop="orgsoldier" />
  133. <el-table-column label="编制文职" align="center" prop="orgcivilian" />
  134. <el-table-column
  135. width="250"
  136. label="操作"
  137. align="center"
  138. class-name="small-padding fixed-width"
  139. >
  140. <template slot-scope="scope">
  141. <el-button
  142. v-if="scope.row.examine != '1'"
  143. size="btd"
  144. type="text"
  145. @click="handleChakans(scope.row)"
  146. v-hasPermi="['grassrootsregistration:bdgldiary:edit']"
  147. ><span class="chakan">审批</span></el-button
  148. >
  149. <el-button
  150. size="btk"
  151. type="text"
  152. @click="handleChakan(scope.row)"
  153. v-hasPermi="['grassrootsregistration:bdgldiary:edit']"
  154. ><span class="chakan">查看</span></el-button
  155. >
  156. <el-button
  157. size="btu"
  158. type="text"
  159. @click="handleUpdate(scope.row)"
  160. v-hasPermi="['grassrootsregistration:bdgldiary:edit']"
  161. ><span class="edit">修改</span></el-button
  162. >
  163. <el-button
  164. size="btd"
  165. type="text"
  166. @click="handleDelete(scope.row)"
  167. v-hasPermi="['grassrootsregistration:bdgldiary:remove']"
  168. ><span class="delete">删除</span></el-button
  169. >
  170. </template>
  171. </el-table-column>
  172. </el-table>
  173. <pagination
  174. v-show="total > 0"
  175. :total="total"
  176. :page.sync="queryParams.pageNum"
  177. :limit.sync="queryParams.pageSize"
  178. @pagination="getList"
  179. />
  180. <!-- 添加或修改要事日记对话框 -->
  181. <el-dialog
  182. :title="title"
  183. :visible.sync="open"
  184. width="1060px"
  185. append-to-body
  186. :lock-scroll="false"
  187. >
  188. <el-form
  189. ref="form"
  190. :model="form"
  191. :rules="rules"
  192. label-width="80px"
  193. :inline="true"
  194. >
  195. <div class="jiben">基本信息</div>
  196. <el-form-item label="单位" prop="unitId">
  197. <treeselect
  198. @select="selectPeo"
  199. v-model="form.unitId"
  200. :options="rese"
  201. placeholder="选择单位"
  202. />
  203. </el-form-item>
  204. <el-form-item label="值班人员" prop="peopleId">
  205. <el-select
  206. v-model="form.peopleName"
  207. placeholder="请输入单位"
  208. clearable
  209. @change="btn"
  210. >
  211. <el-option
  212. :label="item.name"
  213. v-for="(item, i) in renYuan"
  214. :key="i"
  215. :value="item"
  216. ></el-option>
  217. </el-select>
  218. </el-form-item>
  219. <el-form-item label="值班日期" prop="blogDate">
  220. <el-date-picker
  221. clearable
  222. size="small"
  223. v-model="form.blogDate"
  224. type="date"
  225. value-format="yyyy-MM-dd"
  226. placeholder="选择值班日期"
  227. class="text"
  228. :editable="false"
  229. @change="blogDate"
  230. >
  231. </el-date-picker>
  232. </el-form-item>
  233. <el-form-item label="天气" prop="weather">
  234. <el-input v-model="form.weather" placeholder="请输入天气" />
  235. </el-form-item>
  236. <el-form-item label="值班首长" prop="peopleId">
  237. <el-select v-model="form.lead" placeholder="请选择首长" clearable>
  238. <el-option
  239. :label="item.nickName"
  240. v-for="(item, i) in shouZhang"
  241. :key="i"
  242. :value="item.userId"
  243. ></el-option>
  244. </el-select>
  245. </el-form-item>
  246. <div class="jiben">实力情况</div>
  247. <el-form-item label="编制干部" prop="orgcadre">
  248. <el-input-number
  249. v-model="form.orgcadre"
  250. controls-position="right"
  251. :min="0"
  252. :max="99999999"
  253. ></el-input-number>
  254. </el-form-item>
  255. <el-form-item label="编制战士" prop="orgsoldier">
  256. <!-- <el-input v-model="form.orgsoldier" placeholder="请输入编制战士" /> -->
  257. <el-input-number
  258. v-model="form.orgsoldier"
  259. controls-position="right"
  260. :min="0"
  261. :max="99999999"
  262. ></el-input-number>
  263. </el-form-item>
  264. <el-form-item label="编制文职" prop="orgcivilian">
  265. <!-- <el-input v-model="form.orgcivilian" placeholder="请输入编制文职" /> -->
  266. <el-input-number
  267. v-model="form.orgcivilian"
  268. controls-position="right"
  269. :min="0"
  270. :max="99999999"
  271. ></el-input-number>
  272. </el-form-item>
  273. <el-form-item label="现有干部" prop="nowcadre">
  274. <!-- <el-input v-model="form.nowcadre" placeholder="请输入现有干部" /> -->
  275. <el-input-number
  276. v-model="form.nowcadre"
  277. controls-position="right"
  278. :min="0"
  279. :max="99999999"
  280. ></el-input-number>
  281. </el-form-item>
  282. <el-form-item label="现有战士" prop="nowsoldier">
  283. <el-input-number
  284. v-model="form.nowsoldier"
  285. controls-position="right"
  286. :min="0"
  287. :max="99999999"
  288. ></el-input-number>
  289. </el-form-item>
  290. <el-form-item label="现有文职" prop="nowcivilian">
  291. <!-- <el-input v-model="form.nowcivilian" placeholder="请输入现有文职" /> -->
  292. <el-input-number
  293. v-model="form.nowcivilian"
  294. controls-position="right"
  295. :min="0"
  296. :max="99999999"
  297. ></el-input-number>
  298. </el-form-item>
  299. <div class="jiben">训练、教育或者执行其他任务情况</div>
  300. <div class="box" v-for="(item, i) in xunlian" :key="i">
  301. <table
  302. border="1"
  303. width="920"
  304. cellspacing="0"
  305. align="center"
  306. style="border-color: white"
  307. >
  308. <tr align="center">
  309. <td width="200" height="40">区分</td>
  310. <td colspan="2" width="420">内容</td>
  311. <td width="100">应到人数</td>
  312. <td width="100">实到人数</td>
  313. <td width="100">到课率</td>
  314. </tr>
  315. <tr align="center">
  316. <td height="60">
  317. <el-input
  318. v-model="item.dateline"
  319. placeholder="请输入时间"
  320. ></el-input>
  321. </td>
  322. <td rowspan="2" colspan="2">
  323. <el-input
  324. type="textarea"
  325. :rows="1"
  326. placeholder="请输入内容"
  327. v-model="item.contents"
  328. :autosize="true"
  329. >
  330. {{ item.contents }}
  331. </el-input>
  332. </td>
  333. <td>
  334. <el-input
  335. v-model="item.shouldArrive"
  336. placeholder="应到人数"
  337. @blur="yinDao"
  338. oninput="value=value.replace(/[^\d]/g,'')"
  339. ></el-input>
  340. </td>
  341. <td>
  342. <el-input
  343. v-model="item.realTo"
  344. placeholder="实到人数"
  345. @blur="shiDao"
  346. oninput="value=value.replace(/[^\d]/g,'')"
  347. ></el-input>
  348. </td>
  349. <td>
  350. <el-input
  351. v-model="item.percentage"
  352. placeholder="到课率"
  353. readonly
  354. ></el-input>
  355. </td>
  356. </tr>
  357. </table>
  358. </div>
  359. <div class="jiben">公差勤务</div>
  360. <el-form-item prop="tolerance">
  361. <div class="box4">
  362. <el-input
  363. v-model="form.tolerance"
  364. type="textarea"
  365. placeholder="请输入内容"
  366. autosize
  367. />
  368. </div>
  369. </el-form-item>
  370. <div class="jiben">人员及装备变动</div>
  371. <el-form-item prop="transfer">
  372. <div class="box4">
  373. <el-input
  374. v-model="form.transfer"
  375. type="textarea"
  376. placeholder="请输入内容"
  377. autosize
  378. />
  379. </div>
  380. </el-form-item>
  381. <div class="jiben">装备变动</div>
  382. <el-form-item prop="equip">
  383. <div class="box4">
  384. <el-input
  385. v-model="form.equip"
  386. type="textarea"
  387. placeholder="请输入内容"
  388. autosize
  389. />
  390. </div>
  391. </el-form-item>
  392. <div class="jiben">武器装备、军容风纪、内务卫生检查情况</div>
  393. <el-form-item prop="internal">
  394. <div class="box4">
  395. <el-input
  396. v-model="form.internal"
  397. type="textarea"
  398. placeholder="请输入内容"
  399. autosize
  400. />
  401. </div>
  402. </el-form-item>
  403. <div class="jiben">配班情况</div>
  404. <el-form-item label="值班组织人" prop="dutylead">
  405. <el-select
  406. v-model="form.dutylead"
  407. clearable
  408. placeholder="请选择值班组织人"
  409. >
  410. <el-option
  411. :label="item.name"
  412. :value="item.name"
  413. v-for="(item, i) in renYuan"
  414. :key="i"
  415. ></el-option>
  416. </el-select>
  417. </el-form-item>
  418. <el-form-item label="值班交班人" prop="dutya">
  419. <!-- <el-input v-model="form.dutya" placeholder="请输入值班交班人" /> -->
  420. <el-select
  421. v-model="form.dutya"
  422. clearable
  423. placeholder="请选择值班交班人"
  424. >
  425. <el-option
  426. :label="item.name"
  427. :value="item.name"
  428. v-for="(item, i) in renYuan"
  429. :key="i"
  430. ></el-option>
  431. </el-select>
  432. </el-form-item>
  433. <el-form-item label="值班接班人" prop="dutyb">
  434. <!-- <el-input v-model="form.dutyb" placeholder="请输入值班接班人" /> -->
  435. <el-select
  436. v-model="form.dutyb"
  437. placeholder="请选择值班接班人"
  438. clearable
  439. >
  440. <el-option
  441. :label="item.name"
  442. :value="item.name"
  443. v-for="(item, i) in renYuan"
  444. :key="i"
  445. ></el-option>
  446. </el-select>
  447. </el-form-item>
  448. <el-form-item label="值日交班人" prop="dutyc">
  449. <!-- <el-input v-model="form.dutyc" placeholder="请输入值日交班人" /> -->
  450. <el-select
  451. v-model="form.dutyc"
  452. clearable
  453. placeholder="请选择值日交班人"
  454. >
  455. <el-option
  456. :label="item.name"
  457. :value="item.name"
  458. v-for="(item, i) in renYuan"
  459. :key="i"
  460. ></el-option>
  461. </el-select>
  462. </el-form-item>
  463. <el-form-item label="值日接班人" prop="dutyd">
  464. <!-- <el-input v-model="form.dutyd" placeholder="请输入值日接班人" /> -->
  465. <el-select
  466. v-model="form.dutyd"
  467. clearable
  468. placeholder="请选择值日接班人"
  469. >
  470. <el-option
  471. :label="item.name"
  472. :value="item.name"
  473. v-for="(item, i) in renYuan"
  474. :key="i"
  475. ></el-option>
  476. </el-select>
  477. </el-form-item>
  478. <el-form-item label="厨房交班人" prop="dutye">
  479. <!-- <el-input v-model="form.dutye" placeholder="请输入厨房交班人" /> -->
  480. <el-select
  481. v-model="form.dutye"
  482. clearable
  483. placeholder="请选择厨房交班人"
  484. >
  485. <el-option
  486. :label="item.name"
  487. :value="item.name"
  488. v-for="(item, i) in renYuan"
  489. :key="i"
  490. ></el-option>
  491. </el-select>
  492. </el-form-item>
  493. <el-form-item label="厨房接班人" prop="dutyf">
  494. <el-select
  495. v-model="form.dutyf"
  496. clearable
  497. placeholder="请选择厨房接班人"
  498. >
  499. <el-option
  500. :label="item.name"
  501. :value="item.name"
  502. v-for="(item, i) in renYuan"
  503. :key="i"
  504. ></el-option>
  505. </el-select>
  506. </el-form-item>
  507. <el-form-item label="交接时间" prop="dutyDate">
  508. <el-date-picker
  509. clearable
  510. size="small"
  511. v-model="form.dutyDate"
  512. type="date"
  513. value-format="yyyy-MM-dd"
  514. placeholder="请选择交接时间"
  515. >
  516. </el-date-picker>
  517. </el-form-item>
  518. <div class="jiben">值班交接情况</div>
  519. <el-form-item prop="dutyinfoA">
  520. <div class="box4">
  521. <el-input
  522. v-model="form.dutyinfoA"
  523. type="textarea"
  524. placeholder="请输入内容"
  525. autosize
  526. />
  527. </div>
  528. </el-form-item>
  529. <div class="jiben">值日交接情况</div>
  530. <el-form-item prop="dutyinfoC">
  531. <div class="box4">
  532. <el-input
  533. v-model="form.dutyinfoC"
  534. type="textarea"
  535. placeholder="请输入内容"
  536. autosize
  537. />
  538. </div>
  539. </el-form-item>
  540. <div class="jiben">厨房交接情况</div>
  541. <el-form-item prop="dutyinfoE">
  542. <div class="box4">
  543. <el-input
  544. v-model="form.dutyinfoE"
  545. type="textarea"
  546. placeholder="请输入内容"
  547. autosize
  548. />
  549. </div>
  550. </el-form-item>
  551. <div class="jiben">病号处理情况</div>
  552. <el-form-item prop="invalid">
  553. <div class="box4">
  554. <el-input
  555. v-model="form.invalid"
  556. placeholder="请输入内容"
  557. type="textarea"
  558. autosize
  559. />
  560. </div>
  561. </el-form-item>
  562. <div class="jiben">上级通知、指示及其他重要事项</div>
  563. <el-form-item prop="notice">
  564. <div class="box4">
  565. <el-input
  566. v-model="form.notice"
  567. placeholder="请输入内容"
  568. type="textarea"
  569. autosize
  570. />
  571. </div>
  572. </el-form-item>
  573. <div class="jiben">查铺查哨</div>
  574. <div class="box3">
  575. <el-form v-for="(item1, e) in checkShop" :key="e">
  576. <div>
  577. <el-form-item label="" prop="">
  578. <el-input
  579. v-model="item1.peopleName"
  580. placeholder="检查人"
  581. ></el-input>
  582. </el-form-item>
  583. <el-form-item label="" prop="">
  584. <el-input
  585. v-model="item1.foremanName"
  586. placeholder="领班员"
  587. ></el-input>
  588. </el-form-item>
  589. <el-form-item label="" prop="">
  590. <el-input
  591. v-model="item1.sentryName"
  592. placeholder="哨兵姓名"
  593. ></el-input>
  594. </el-form-item>
  595. <el-form-item label="" prop="">
  596. <!-- <el-date-picker
  597. type="datetime"
  598. v-model="item1.examineDate"
  599. :editable="false"
  600. size="mini"
  601. placeholder="选择日期"
  602. value-format="yyyy-MM-dd-HH-mm"
  603. @change="chenge"
  604. :picker-options="pickerOptions"
  605. >
  606. </el-date-picker> -->
  607. <el-date-picker
  608. v-model="item1.examineDate"
  609. type="datetime"
  610. placeholder="选择日期时间"
  611. @change="chenge"
  612. >
  613. </el-date-picker>
  614. </el-form-item>
  615. <el-form-item label="" prop="">
  616. <el-input
  617. v-model="item1.dialogue"
  618. placeholder="检查情况"
  619. ></el-input>
  620. </el-form-item>
  621. <el-form-item>
  622. <el-button
  623. type="primary"
  624. icon="el-icon-plus"
  625. size="mini"
  626. @click="addForms"
  627. v-if="e == checkShop.length - 1"
  628. ></el-button>
  629. <el-button
  630. type="primary"
  631. icon="el-icon-delete"
  632. size="mini"
  633. v-if="e > 0"
  634. @click="delForms(e)"
  635. ></el-button>
  636. </el-form-item>
  637. </div>
  638. </el-form>
  639. </div>
  640. <div class="jiben">临时来队亲属</div>
  641. <div class="box3">
  642. <el-form v-for="(item1, i) in relatives" :key="i">
  643. <el-form-item label="" prop="">
  644. <el-select v-model="item1.peopleId" placeholder="军人姓名">
  645. <el-option
  646. v-for="item in renYuan"
  647. :key="item.id"
  648. :label="item.name"
  649. :value="item.id"
  650. >
  651. </el-option>
  652. </el-select>
  653. </el-form-item>
  654. <el-form-item label="" prop="">
  655. <el-input
  656. v-model="item1.name"
  657. placeholder="家属姓名"
  658. ></el-input>
  659. </el-form-item>
  660. <el-form-item label="" prop="">
  661. <el-input
  662. v-model="item1.relation"
  663. placeholder="关系"
  664. ></el-input>
  665. </el-form-item>
  666. <el-form-item label="" prop="">
  667. <el-date-picker
  668. v-model="item1.comeDate"
  669. type="date"
  670. :editable="false"
  671. size="mini"
  672. placeholder="来队时间"
  673. value-format="yyyy-MM-dd"
  674. >
  675. </el-date-picker>
  676. </el-form-item>
  677. <el-form-item label="" prop="">
  678. <el-date-picker
  679. v-model="item1.leaveDate"
  680. type="date"
  681. :editable="false"
  682. size="mini"
  683. placeholder="离队时间"
  684. value-format="yyyy-MM-dd"
  685. >
  686. </el-date-picker>
  687. </el-form-item>
  688. <el-form-item>
  689. <el-button
  690. type="primary"
  691. icon="el-icon-plus"
  692. size="mini"
  693. @click="addFormss"
  694. v-if="i == relatives.length - 1"
  695. ></el-button>
  696. <el-button
  697. type="primary"
  698. icon="el-icon-delete"
  699. size="mini"
  700. v-if="i > 0"
  701. @click="delFormss(i)"
  702. ></el-button>
  703. </el-form-item>
  704. </el-form>
  705. </div>
  706. </el-form>
  707. <div slot="footer" class="dialog-footer">
  708. <el-button @click="resertwo">重置</el-button>
  709. <el-button type="primary" @click="submitForm(1)">确 定</el-button>
  710. </div>
  711. </el-dialog>
  712. <!-- 查看 -->
  713. <el-dialog
  714. :visible.sync="menuRoleVisible"
  715. :title="title"
  716. append-to-body
  717. id="chakan"
  718. >
  719. <bdgldiary
  720. v-if="menuRoleVisible"
  721. ref="menuRole"
  722. :message="wordInfo"
  723. ></bdgldiary>
  724. <div slot="footer" class="dialog-footer" v-if="statusShen">
  725. <el-button type="primary" @click="queDing">通过</el-button>
  726. </div>
  727. </el-dialog>
  728. </div>
  729. </div>
  730. </template>
  731. <script>
  732. import bdgldiary from "@/components/look_word/bdgldiary.vue";
  733. import {
  734. listBdgldiary,
  735. getBdgldiary,
  736. delBdgldiary,
  737. addBdgldiary,
  738. updateBdgldiary,
  739. exportBdgldiary,
  740. exportBdgShuju,
  741. updateBdglShenPi,
  742. } from "@/api/grassrootsregistration/bdgldiary";
  743. import {
  744. getDept,
  745. getZhuChiRen,
  746. getUser,
  747. getBdgDay,
  748. getShiLi,
  749. getRed,
  750. getXunLian,
  751. getWeiShu,
  752. } from "@/api/grassrootsregistration/bdglmeeting";
  753. import { getDicts } from "@/api/system/dict/data";
  754. // 导入树形结构
  755. import Treeselect from "@riophae/vue-treeselect";
  756. import "@riophae/vue-treeselect/dist/vue-treeselect.css";
  757. export default {
  758. components: { Treeselect, bdgldiary },
  759. name: "Bdgldiary",
  760. data() {
  761. return {
  762. // 审批状态
  763. statusShen: false,
  764. //查看页面
  765. menuRoleVisible: false,
  766. wordInfo: {},
  767. //判断关闭
  768. style: "2",
  769. // 获取首长
  770. shouZhang: [],
  771. // 人员组织
  772. renYuan: [],
  773. // 添加的树形单位
  774. rese: [],
  775. // 遮罩层
  776. loading: true,
  777. // 导出遮罩层
  778. exportLoading: false,
  779. // 选中数组
  780. ids: [],
  781. // 非单个禁用
  782. single: true,
  783. // 非多个禁用
  784. multiple: true,
  785. // 显示搜索条件
  786. showSearch: true,
  787. // 总条数
  788. total: 0,
  789. // 要事日记表格数据
  790. bdgldiaryList: [],
  791. // 弹出层标题
  792. title: "",
  793. // 是否显示弹出层
  794. open: false,
  795. // 查询参数
  796. queryParams: {
  797. pageNum: 1,
  798. pageSize: 10,
  799. unitId: null,
  800. peopleId: null,
  801. blogDate: null,
  802. weather: null,
  803. orgcadre: null,
  804. orgsoldier: null,
  805. orgcivilian: null,
  806. nowcadre: null,
  807. nowsoldier: null,
  808. nowcivilian: null,
  809. tolerance: null,
  810. transfer: null,
  811. equip: null,
  812. internal: null,
  813. dutylead: null,
  814. dutya: null,
  815. dutyb: null,
  816. dutyc: null,
  817. dutyd: null,
  818. dutye: null,
  819. dutyf: null,
  820. dutyinfoa: null,
  821. dutyinfoc: null,
  822. dutyinfoe: null,
  823. dutyDate: null,
  824. invalid: null,
  825. notice: null,
  826. lead: null,
  827. weekwork: null,
  828. examine: null,
  829. peopleId1: null,
  830. contents: null,
  831. },
  832. // 表单参数
  833. form: {},
  834. // 表单校验
  835. rules: {
  836. unitId: [
  837. { required: true, message: "单位名称不能为空", trigger: "blur" },
  838. ],
  839. peopleId: [
  840. // { required: true, message: "值班人员不能为空", trigger: "blur" },
  841. ],
  842. blogDate: [
  843. { required: true, message: "值班日期不能为空", trigger: "blur" },
  844. ],
  845. weather: [{ required: true, message: "天气不能为空", trigger: "blur" }],
  846. peopleId: [
  847. // { required: true, message: "值班首长不能为空", trigger: "blur" },
  848. ],
  849. orgcadre: [
  850. { required: true, message: "编制干部不能为空", trigger: "blur" },
  851. ],
  852. orgsoldier: [
  853. { required: true, message: "编制战士不能为空", trigger: "blur" },
  854. ],
  855. orgcivilian: [
  856. { required: true, message: "编制文职不能为空", trigger: "blur" },
  857. ],
  858. nowcadre: [
  859. { required: true, message: "现有干部不能为空", trigger: "blur" },
  860. ],
  861. nowsoldier: [
  862. { required: true, message: "现有战士不能为空", trigger: "blur" },
  863. ],
  864. nowcivilian: [
  865. { required: true, message: "现有文职不能为空", trigger: "blur" },
  866. ],
  867. },
  868. BdgDay: [],
  869. // 搜索人员
  870. Renyuan: [],
  871. // 字典类型查询
  872. dictType: {
  873. dictType: "yssp",
  874. },
  875. // 字典数据
  876. ziDian: [],
  877. //左侧树状
  878. deptOptions: null,
  879. //左侧时间选择
  880. pickerOptions: {
  881. disabledDate(time) {
  882. return time.getTime() > Date.now();
  883. },
  884. },
  885. // 树形配置
  886. defaultProps: {
  887. children: "children",
  888. label: "label",
  889. },
  890. // 组织人搜索列表00
  891. list: [],
  892. // 下拉选项显示隐藏
  893. xiaLa: false,
  894. //添加对话框查铺表格为空
  895. checkShop: [
  896. {
  897. peopleName: null,
  898. foremanName: null,
  899. sentryName: null,
  900. examineDate: null,
  901. dialogue: null,
  902. },
  903. ],
  904. //添加对话框来访人员表格为空
  905. relatives: [
  906. {
  907. peopleId: null,
  908. name: null,
  909. relation: null,
  910. comeDate: null,
  911. leaveDate: null,
  912. },
  913. ],
  914. // 临时来队亲属
  915. relatives: [
  916. {
  917. peopleId: null,
  918. name: null,
  919. relation: null,
  920. comeDate: null,
  921. leaveDate: null,
  922. },
  923. ],
  924. // 搜索时间保存
  925. tiem: null,
  926. // 训练情况
  927. xunlian: [
  928. {
  929. dateline: null,
  930. contents: null,
  931. shouldArrive: null,
  932. realTo: null,
  933. percentage: null,
  934. },
  935. ],
  936. // 数据时间
  937. DataTime: "",
  938. // 右边登记数据
  939. registrationData: {},
  940. timeDate: "",
  941. };
  942. },
  943. created() {
  944. this.getList();
  945. // 获取单位
  946. this.getDept();
  947. // 获取字典通过未通过
  948. this.getdict();
  949. // 获取外部部门树形
  950. this.treeselect();
  951. this.getShuJu();
  952. },
  953. methods: {
  954. chenge(data) {
  955. console.log(data);
  956. },
  957. //审批按钮操作
  958. handleChakans(row) {
  959. // 是否隐藏按钮
  960. this.opens = false;
  961. this.statusShen = true;
  962. const id = row.id || this.ids;
  963. getBdgldiary(id).then((response) => {
  964. this.wordInfo = response.data;
  965. this.title = "审批要事日记";
  966. this.menuRoleVisible = true;
  967. });
  968. },
  969. // 审批页面确定
  970. queDing() {
  971. this.wordInfo.examine = "1";
  972. if (this.wordInfo.id != null) {
  973. updateBdglShenPi(this.wordInfo).then((response) => {
  974. this.menuRoleVisible = false;
  975. this.getList();
  976. this.getShuJu(this.timeDate);
  977. this.$forceUpdate();
  978. });
  979. // this.wordInfo.blogDate = this.wordInfo.blogDate.substring(0, 10);
  980. // this.getShuJu(this.wordInfo.blogDate);
  981. }
  982. },
  983. // 获取部门数据
  984. getShuJu(data) {
  985. exportBdgShuju(data).then((res) => {
  986. this.DataTime = data;
  987. this.registrationData = res;
  988. });
  989. },
  990. // 搜索时间触发
  991. shiJian(data) {
  992. this.queryParams.diaryTime = data;
  993. this.timeDate = data;
  994. this.getList();
  995. this.getShuJu(data);
  996. },
  997. // 应到人数失去焦点触发
  998. yinDao() {
  999. this.xunlian.forEach((item) => {
  1000. if (item.shouldArrive != null && item.realTo != null) {
  1001. var str = ((item.realTo / item.shouldArrive) * 100).toFixed(2);
  1002. str += "%";
  1003. item.percentage = str;
  1004. }
  1005. });
  1006. },
  1007. // 实到人数失去焦点触发
  1008. shiDao() {
  1009. this.xunlian.forEach((item) => {
  1010. if (item.shouldArrive != null && item.realTo != null) {
  1011. var str = ((item.realTo / item.shouldArrive) * 100).toFixed(2);
  1012. str += "%";
  1013. item.percentage = str;
  1014. }
  1015. });
  1016. },
  1017. // 获取训练
  1018. XunLian(id, tiem) {
  1019. getXunLian(id, tiem).then((res) => {
  1020. this.xunlian = res.data;
  1021. });
  1022. },
  1023. // 选中军人触发
  1024. junRen(val) {
  1025. this.relatives[0].peopleId = val.id;
  1026. this.relatives[0].peopleName = val.name;
  1027. },
  1028. /** 新增查询部门下拉树结构 */
  1029. getTreeselect() {
  1030. getDept().then((response) => {
  1031. this.rese = response.data;
  1032. });
  1033. },
  1034. // 增加对话框查铺
  1035. addForms() {
  1036. this.checkShop.push({
  1037. peopleName: null,
  1038. foremanName: null,
  1039. sentryName: null,
  1040. examineDate: null,
  1041. dialogue: null,
  1042. });
  1043. },
  1044. // 删除对话框查铺
  1045. delForms(i) {
  1046. this.checkShop.splice(i, 1);
  1047. },
  1048. //增加对话框临时来访人员
  1049. addFormss() {
  1050. this.relatives.push({
  1051. peopleId: null,
  1052. name: null,
  1053. relation: null,
  1054. comeDate: null,
  1055. leaveDate: null,
  1056. });
  1057. },
  1058. //删除对话框临时来访人员
  1059. delFormss(e) {
  1060. this.relatives.splice(e, 1);
  1061. },
  1062. // 获取外面部门树形
  1063. treeselect() {
  1064. getWeiShu().then((res) => {
  1065. this.deptOptions = res.data;
  1066. });
  1067. },
  1068. //外面树形选择搜索
  1069. handleNodeClick(data) {
  1070. this.queryParams.unitId = data.id;
  1071. this.getList();
  1072. },
  1073. // 选择值班人触发
  1074. btn(val) {
  1075. this.form.peopleId1 = val.id;
  1076. this.form.peopleName = val.name;
  1077. },
  1078. // 当选择单位时候重置人员
  1079. chongZhi() {
  1080. (this.form = {
  1081. peopleId: null,
  1082. lead: null,
  1083. dutyA: null,
  1084. dutyB: null,
  1085. dutyC: null,
  1086. dutyD: null,
  1087. dutyE: null,
  1088. dutyF: null,
  1089. dutylead: null,
  1090. }),
  1091. (this.relatives = [
  1092. {
  1093. peopleId: null,
  1094. },
  1095. ]);
  1096. },
  1097. // 当点击完成值班时间的选择发起请求
  1098. blogDate() {
  1099. // 判断是否全部选择
  1100. if (this.form.unitId !== null && this.form.blogDate !== null) {
  1101. this.XunLian(this.form.unitId, this.form.blogDate);
  1102. }
  1103. },
  1104. // 获取实力情况
  1105. getShiLiRen(id) {
  1106. getShiLi(id).then((res) => {
  1107. this.form.orgcadre = res.data.ganbu;
  1108. this.form.orgsoldier = res.data.shiBin;
  1109. this.form.orgcivilian = res.data.wenZhi;
  1110. this.form.nowcadre = res.data.xianYouGanBu;
  1111. this.form.nowsoldier = res.data.xianYouShiBin;
  1112. this.form.nowcivilian = res.data.xianYouWenZhi;
  1113. });
  1114. },
  1115. // 单位选择触发
  1116. selectPeo(data) {
  1117. this.chongZhi();
  1118. this.form.unitId = data.id;
  1119. // 获取实力情况
  1120. this.form.deptId = data.id;
  1121. this.getShiLiRen(this.form.deptId);
  1122. this.getRenYuan(this.form.unitId);
  1123. this.getShou(this.form.unitId);
  1124. // 判断是否全部选择
  1125. if (this.form.unitId !== null && this.form.blogDate) {
  1126. this.XunLian(this.form.unitId, this.form.blogDate);
  1127. }
  1128. },
  1129. // 根据部门获取人员
  1130. getRenYuan(id) {
  1131. getZhuChiRen(id).then((res) => {
  1132. this.renYuan = res.data;
  1133. });
  1134. },
  1135. // 获取首长
  1136. getShou(id) {
  1137. getUser(id).then((res) => {
  1138. this.shouZhang = res.data;
  1139. });
  1140. },
  1141. // 搜索第一个选中触发
  1142. search() {
  1143. getZhuChiRen(this.queryParams.deptId).then((res) => {
  1144. this.Renyuan = res.data;
  1145. });
  1146. this.getList();
  1147. },
  1148. // 搜索审批触发
  1149. approve(val) {
  1150. this.queryParams.examine = val * 1;
  1151. this.getList();
  1152. },
  1153. // 字典查询
  1154. getdict() {
  1155. getDicts(this.dictType.dictType).then((res) => {
  1156. // console.log(res);
  1157. this.ziDian = res.data;
  1158. });
  1159. },
  1160. /** 查询要事日记列表 */
  1161. getList() {
  1162. this.loading = true;
  1163. listBdgldiary(this.queryParams).then((response) => {
  1164. this.bdgldiaryList = response.rows;
  1165. this.total = response.total;
  1166. this.loading = false;
  1167. });
  1168. },
  1169. // 查询单位列表
  1170. async getDept() {
  1171. const res = await getDept();
  1172. this.rese = res.data;
  1173. },
  1174. // 取消按钮
  1175. cancel() {
  1176. this.open = false;
  1177. this.reset();
  1178. },
  1179. // 表单重置
  1180. reset() {
  1181. this.form = {
  1182. id: null,
  1183. unitId: null,
  1184. peopleId: null,
  1185. blogDate: null,
  1186. weather: null,
  1187. orgcadre: null,
  1188. orgsoldier: null,
  1189. orgcivilian: null,
  1190. nowcadre: null,
  1191. nowsoldier: null,
  1192. nowcivilian: null,
  1193. tolerance: null,
  1194. transfer: null,
  1195. equip: null,
  1196. internal: null,
  1197. dutylead: null,
  1198. dutya: null,
  1199. dutyb: null,
  1200. dutyc: null,
  1201. dutyd: null,
  1202. dutye: null,
  1203. dutyf: null,
  1204. dutyinfoa: null,
  1205. dutyinfoc: null,
  1206. dutyinfoe: null,
  1207. dutyDate: null,
  1208. invalid: null,
  1209. notice: null,
  1210. lead: null,
  1211. weekwork: null,
  1212. examine: null,
  1213. peopleId1: null,
  1214. contents: null,
  1215. createId: null,
  1216. createName: null,
  1217. };
  1218. (this.relatives = [
  1219. {
  1220. name: null,
  1221. relation: null,
  1222. comeDate: null,
  1223. leaveDate: null,
  1224. peopleId: null,
  1225. peopleName: null,
  1226. },
  1227. ]),
  1228. (this.checkShop = [
  1229. {
  1230. peopleName: null,
  1231. foremanName: null,
  1232. sentryName: null,
  1233. examineDate: null,
  1234. dialogue: null,
  1235. },
  1236. ]),
  1237. (this.xunlian = [
  1238. {
  1239. dateline: null,
  1240. contents: null,
  1241. shouldArrive: null,
  1242. realTo: null,
  1243. percentage: null,
  1244. },
  1245. ]),
  1246. this.resetForm("form");
  1247. },
  1248. /** 对话框重置按钮操作 */
  1249. resertwo() {
  1250. this.reset();
  1251. },
  1252. /** 搜索按钮操作 */
  1253. handleQuery() {
  1254. this.queryParams.pageNum = 1;
  1255. this.getList();
  1256. },
  1257. /** 重置按钮操作 */
  1258. resetQuery() {
  1259. this.resetForm("queryForm");
  1260. this.handleQuery();
  1261. },
  1262. // 多选框选中数据
  1263. handleSelectionChange(selection) {
  1264. this.ids = selection.map((item) => item.id);
  1265. this.single = selection.length !== 1;
  1266. this.multiple = !selection.length;
  1267. },
  1268. /** 新增按钮操作 */
  1269. handleAdd(e) {
  1270. // 获取首长
  1271. (this.shouZhang = []),
  1272. // 人员组织
  1273. (this.renYuan = []),
  1274. this.getTreeselect();
  1275. this.reset();
  1276. this.open = true;
  1277. this.title = "添加要事日记";
  1278. this.style = 2;
  1279. e.preventDefault();
  1280. },
  1281. /** 修改按钮操作 */
  1282. handleUpdate(row) {
  1283. this.getTreeselect();
  1284. this.reset();
  1285. const id = row.id || this.ids;
  1286. getBdgldiary(id).then((response) => {
  1287. this.form = response.data;
  1288. this.xunlian = response.data.weekworkRegisters;
  1289. // 请求人员
  1290. this.getRenYuan(this.form.unitId);
  1291. // 请求首长
  1292. this.getShou(this.form.unitId);
  1293. this.open = true;
  1294. this.checkShop = response.data.inspect;
  1295. if (response.data.kinsfolk[0].peopleId != null) {
  1296. this.relatives = response.data.kinsfolk;
  1297. }
  1298. this.title = "修改要事日记";
  1299. });
  1300. },
  1301. //查看按钮操作
  1302. handleChakan(row) {
  1303. // 是否隐藏按钮
  1304. this.opens = false;
  1305. this.statusShen = false;
  1306. const id = row.id || this.ids;
  1307. getBdgldiary(id).then((response) => {
  1308. this.wordInfo = response.data;
  1309. this.title = "查看要事日记";
  1310. this.menuRoleVisible = true;
  1311. });
  1312. },
  1313. /** 提交按钮 */
  1314. submitForm(style) {
  1315. this.style = style;
  1316. this.$refs["form"].validate((valid) => {
  1317. if (valid) {
  1318. this.form.inspect = this.checkShop;
  1319. this.form.kinsfolk = this.relatives;
  1320. if (this.form.id != null) {
  1321. updateBdgldiary(this.form).then((response) => {
  1322. this.$modal.msgSuccess("修改成功");
  1323. this.open = false;
  1324. this.getList();
  1325. });
  1326. } else {
  1327. // 查铺查哨
  1328. this.form.inspect = this.checkShop;
  1329. // 来对亲属
  1330. if (this.relatives[0].peopleId !== null) {
  1331. this.form.kinsfolk = this.relatives;
  1332. }
  1333. // 训练计划
  1334. this.form.weekworkRegisters = this.xunlian;
  1335. addBdgldiary(this.form).then((response) => {
  1336. this.$modal.msgSuccess("新增成功");
  1337. this.open = false;
  1338. this.getList();
  1339. });
  1340. }
  1341. }
  1342. });
  1343. },
  1344. /** 删除按钮操作 */
  1345. handleDelete(row) {
  1346. const ids = row.id || this.ids;
  1347. this.$modal
  1348. // .confirm('是否确认删除要事日记编号为"' + ids + '"的数据项?')
  1349. .confirm("是否确认删除该数据?")
  1350. .then(function () {
  1351. return delBdgldiary(ids);
  1352. })
  1353. .then(() => {
  1354. this.getList();
  1355. this.$modal.msgSuccess("删除成功");
  1356. })
  1357. .catch(() => {});
  1358. },
  1359. /** 导出按钮操作 */
  1360. handleExport() {
  1361. const queryParams = this.queryParams;
  1362. this.$modal
  1363. .confirm("是否确认导出所有要事日记数据项?")
  1364. .then(() => {
  1365. this.exportLoading = true;
  1366. return exportBdgldiary(queryParams);
  1367. })
  1368. .then((response) => {
  1369. this.$download.name(response.msg);
  1370. this.exportLoading = false;
  1371. })
  1372. .catch(() => {});
  1373. },
  1374. },
  1375. };
  1376. </script>
  1377. <style scoped>
  1378. ::v-deep .el-dialog {
  1379. width: 1060px !important;
  1380. background-color: #004d86;
  1381. margin: auto;
  1382. }
  1383. ::v-deep .el-dialog__header {
  1384. border-bottom: 1px solid #718a9d;
  1385. margin: auto;
  1386. }
  1387. ::v-deep .el-dialog__title {
  1388. color: #fff;
  1389. font: 18px;
  1390. }
  1391. ::v-deep .el-dialog__headerbtn .el-dialog__close {
  1392. color: #fff;
  1393. }
  1394. ::v-deep .el-form-item__label {
  1395. font: 16px;
  1396. color: #fff;
  1397. width: 100px !important;
  1398. }
  1399. ::v-deep .el-input--small .el-input__inner {
  1400. width: 200px !important;
  1401. height: 36px;
  1402. border: 1px solid white !important;
  1403. color: #fff !important;
  1404. }
  1405. ::v-deep .el-textarea__inner {
  1406. width: 920px;
  1407. height: 104px;
  1408. }
  1409. ::v-deep .el-select-dropdown__list {
  1410. border: none;
  1411. }
  1412. .el-date-table,
  1413. .el-select-dropdown__item {
  1414. color: #fff;
  1415. }
  1416. .el-select-dropdown__item.hover,
  1417. .el-select-dropdown__item:hover {
  1418. background-color: #196299;
  1419. }
  1420. .el-select-dropdown__item.hover,
  1421. .el-select-dropdown__item:hover {
  1422. color: #fff !important;
  1423. }
  1424. ::v-deep .el-dialog__body {
  1425. margin: 10px 0px 20px 50px;
  1426. padding-top: 20px !important;
  1427. box-sizing: border-box;
  1428. /* padding: 30px 12px 30px 28px; */
  1429. }
  1430. /* 表单背景 */
  1431. ::v-deep .el-input__inner {
  1432. background-color: transparent;
  1433. color: #fff;
  1434. /* border: 1px solid white !important; */
  1435. }
  1436. /* 调整表单间距 */
  1437. ::v-deep .el-date-editor.el-input,
  1438. .el-date-editor.el-input__inner {
  1439. width: 200px;
  1440. }
  1441. .el-dialog__body .roll-dialog {
  1442. padding: 3px, 30px;
  1443. overflow-y: auto;
  1444. }
  1445. .box {
  1446. font-size: 14px;
  1447. color: #fff;
  1448. /* padding: 0 12px 0 0; */
  1449. margin-left: -48px;
  1450. }
  1451. ::v-deep .btn {
  1452. width: 76px;
  1453. height: 36px;
  1454. color: #fff;
  1455. background-color: #1d96ff;
  1456. border-radius: 4px;
  1457. border: none;
  1458. margin-left: 20px;
  1459. font-size: 14px;
  1460. }
  1461. ::v-deep .el-icon-refresh {
  1462. font-size: 16px;
  1463. margin-left: -3px;
  1464. }
  1465. ::v-deep .el-input-number__increase {
  1466. background-color: transparent !important;
  1467. border: none;
  1468. color: #cccccc;
  1469. border-bottom: none !important;
  1470. }
  1471. ::v-deep .el-input-number__decrease {
  1472. background-color: transparent !important;
  1473. border: none !important;
  1474. color: #cccccc;
  1475. }
  1476. ::v-deep .el-form-item__content {
  1477. width: 200px;
  1478. cursor: pointer !important;
  1479. }
  1480. /* 单位框背景颜色 */
  1481. ::v-deep .vue-treeselect__control {
  1482. background: #004d86 !important;
  1483. color: #fff;
  1484. }
  1485. /* 单位下拉菜单选中字体颜色 */
  1486. ::v-deep .vue-treeselect__single-value {
  1487. color: #fff !important;
  1488. }
  1489. /* 分页按钮 */
  1490. ::v-deep .el-pagination.is-background .el-pager li {
  1491. background-color: #004d86;
  1492. color: #fff;
  1493. }
  1494. ::v-deep .el-pagination.is-background .btn-next {
  1495. background-color: #004d86;
  1496. color: #fff;
  1497. }
  1498. ::v-deep .el-pagination.is-background .btn-prev,
  1499. .el-pagination.is-background .btn-next,
  1500. .el-pagination.is-background .el-pager li {
  1501. background: #004d86 !important;
  1502. color: #fff !important;
  1503. }
  1504. .app-container {
  1505. display: flex;
  1506. }
  1507. /* 左侧树状盒子 */
  1508. .app-container .box-lfet {
  1509. width: 15%;
  1510. height: 740px;
  1511. /* background: #003156; */
  1512. /* padding: 10px; */
  1513. margin-right: 10px;
  1514. /* border: 1px solid white; */
  1515. }
  1516. /* 右侧内容盒子 */
  1517. .app-container .box-right {
  1518. flex: 1;
  1519. }
  1520. .app-container .box-lfet .data {
  1521. height: 40px;
  1522. background: #003156;
  1523. margin-bottom: 12px;
  1524. color: #fff;
  1525. display: flex;
  1526. font-size: 13px;
  1527. line-height: 25px;
  1528. position: relative;
  1529. }
  1530. .el-tree {
  1531. padding: 10px;
  1532. background: #003156;
  1533. color: #fff;
  1534. }
  1535. ::v-deep .el-tree-node__content:hover {
  1536. background-color: #004d86 !important;
  1537. }
  1538. ::v-deep .el-tree-node:focus > .el-tree-node__content {
  1539. background-color: #003156 !important;
  1540. }
  1541. ::v-deep .el-table__empty-block {
  1542. background-color: #004d86 !important;
  1543. }
  1544. ::v-deep .el-table .el-table__header-wrapper th,
  1545. .el-table .el-table__fixed-header-wrapper th {
  1546. word-break: break-word;
  1547. background-color: #004d86 !important;
  1548. color: #fff;
  1549. }
  1550. /* ::v-deep .box-lfet .data .el-input__inner {
  1551. background-color: transparent;
  1552. color: #fff;
  1553. width: 130px;
  1554. border: none;
  1555. } */
  1556. /* ::v-deep .box-lfet .data .el-input__prefix {
  1557. right: 0px;
  1558. } */
  1559. .box-lfet .dadui {
  1560. height: 40px;
  1561. background: #003156;
  1562. /* border-bottom: 1px solid #718A9D ; */
  1563. background-image: url(../../../images/矩形底部边框.png);
  1564. background-repeat: no-repeat;
  1565. background-position: 0px 39px;
  1566. font-size: 16px;
  1567. color: #1d96ff;
  1568. }
  1569. .box-lfet .dadui img {
  1570. margin: 10px 10px 0px 10px;
  1571. }
  1572. .box-lfet .data p {
  1573. position: absolute;
  1574. top: -5px;
  1575. left: 15px;
  1576. }
  1577. .box-lfet .data .a1 {
  1578. width: 128px;
  1579. height: 26px;
  1580. background: rgba(23, 74, 112, 0.4);
  1581. border-radius: 13px;
  1582. position: absolute;
  1583. top: 7px;
  1584. left: 60px;
  1585. }
  1586. ::v-deep .data .el-date-editor.el-input {
  1587. width: 100%;
  1588. border: none;
  1589. }
  1590. ::v-deep .data .el-input__inner {
  1591. width: 100% !important;
  1592. border: none;
  1593. }
  1594. ::v-deep .data .el-input--medium .el-input__icon {
  1595. line-height: 36px;
  1596. position: absolute;
  1597. right: -223px;
  1598. top: 2px;
  1599. }
  1600. ::v-deep .data .el-input__inner {
  1601. background-color: transparent;
  1602. color: #fff;
  1603. text-align: center;
  1604. margin-top: 2px;
  1605. }
  1606. ::v-deep .data .el-input__suffix {
  1607. position: absolute;
  1608. right: 281px;
  1609. }
  1610. /* 输入框显示手指 */
  1611. ::v-deep .el-input__inner {
  1612. cursor: pointer !important;
  1613. }
  1614. /* 训练、教育或者执行其他任务情况 */
  1615. .box {
  1616. margin-bottom: 25px;
  1617. }
  1618. ::v-deep .box .el-textarea__inner {
  1619. width: 395px;
  1620. border: none;
  1621. height: 50px;
  1622. }
  1623. ::v-deep .box .el-input__inner {
  1624. width: 100%;
  1625. height: 100%;
  1626. border: none;
  1627. text-align: center;
  1628. }
  1629. /* 查铺查哨-临时来对亲属 */
  1630. .box3 {
  1631. width: 920px;
  1632. min-height: 70px;
  1633. border: 1px solid white;
  1634. border-radius: 5px;
  1635. /* background: #409eff; */
  1636. margin-bottom: 30px;
  1637. padding-top: 15px;
  1638. padding-left: 15px;
  1639. }
  1640. /* 表单长度 */
  1641. ::v-deep .box3 .el-form-item__content {
  1642. width: 140px;
  1643. }
  1644. ::v-deep .box3 .el-input__inner {
  1645. width: 138px;
  1646. height: 37px;
  1647. }
  1648. /* 添加删除按钮 */
  1649. ::v-deep .box3 .el-button {
  1650. width: 32px;
  1651. height: 32px;
  1652. text-align: center;
  1653. margin-left: -6px;
  1654. margin-right: 3px;
  1655. margin-left: 8px;
  1656. }
  1657. ::v-deep .box3 .el-button .el-icon-plus {
  1658. margin-left: -6px;
  1659. }
  1660. ::v-deep .box3 .el-button .el-icon-delete {
  1661. margin-left: -6px;
  1662. }
  1663. ::v-deep .el-input__prefix {
  1664. display: none;
  1665. }
  1666. ::v-deep .el-date-editor.el-input {
  1667. width: 116px;
  1668. height: 36px;
  1669. line-height: 36px;
  1670. }
  1671. ::v-deep .box3 .el-form-item__content .el-input__inner {
  1672. padding: 0px 15px;
  1673. }
  1674. .el-dialog__body {
  1675. color: #fff;
  1676. }
  1677. /* ::v-deep .vue-treeselect__menu {
  1678. background: #004d86;
  1679. } */
  1680. .greedd > .el-tree-node__content:after {
  1681. content: "";
  1682. width: 10px;
  1683. height: 10px;
  1684. border-radius: 50%;
  1685. background-color: #67c23a;
  1686. margin-left: 80px;
  1687. }
  1688. /* .greedd {
  1689. background-color: #67c23a
  1690. } */
  1691. /* 底部确定取消按钮 */
  1692. ::v-deep .el-dialog__footer {
  1693. padding: 18px 50px;
  1694. margin-right: 42px;
  1695. }
  1696. /* 增加按钮弹框 */
  1697. ::v-deep .el-dialog {
  1698. width: 1060px !important;
  1699. }
  1700. ::v-deep .el-dialog__body {
  1701. padding: none !important;
  1702. }
  1703. ::v-deep .box4 .el-textarea__inner {
  1704. min-height: 120px !important;
  1705. }
  1706. /* 调整输入框提示文字颜色 */
  1707. ::v-deep .vue-treeselect__placeholder {
  1708. color: #bdbdbd4f !important;
  1709. }
  1710. ::v-deep input::-webkit-input-placeholder {
  1711. color: #bdbdbd4f !important;
  1712. }
  1713. ::v-deep input:-moz-placeholder {
  1714. color: #bdbdbd4f !important;
  1715. }
  1716. .shuJu {
  1717. height: 16px;
  1718. margin-top: 13px;
  1719. margin-right: 90px;
  1720. float: right;
  1721. /* background-color: red; */
  1722. color: #fff;
  1723. font-size: 14px;
  1724. }
  1725. /* .public {
  1726. margin-right: 40px;
  1727. } */
  1728. .box44::before {
  1729. display: inline-block;
  1730. content: "";
  1731. width: 8px;
  1732. height: 8px;
  1733. border-radius: 50%;
  1734. background-color: #1d96ff;
  1735. margin-left: 26px;
  1736. }
  1737. .box5::before {
  1738. display: inline-block;
  1739. content: "";
  1740. width: 8px;
  1741. height: 8px;
  1742. border-radius: 50%;
  1743. background-color: #67c23a;
  1744. margin-left: 26px;
  1745. }
  1746. .box6::before {
  1747. display: inline-block;
  1748. content: "";
  1749. width: 8px;
  1750. height: 8px;
  1751. border-radius: 50%;
  1752. background-color: #ff4949;
  1753. margin-left: 26px;
  1754. }
  1755. </style>