index.vue 72 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583
  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. class="userAgrees"
  24. style="height: calc(100vh - 230px); overflow: auto"
  25. :data="deptOptions"
  26. :props="defaultProps"
  27. @node-click="handleNodeClick"
  28. default-expand-all
  29. highlight-current
  30. :expand-on-click-node="false"
  31. ></el-tree>
  32. </div>
  33. </div>
  34. <div class="box-right">
  35. <!-- 搜索条件区域 -->
  36. <el-form
  37. :model="queryParams"
  38. ref="queryForm"
  39. :inline="true"
  40. v-show="showSearch"
  41. label-width="68px"
  42. >
  43. </el-form>
  44. <!-- 添加,删除 -->
  45. <el-row :gutter="10" class="mb8">
  46. <el-col :span="1.5">
  47. <el-button
  48. type="primary"
  49. plain
  50. icon="el-icon-plus"
  51. size="mini"
  52. @click="handleAdd"
  53. v-hasPermi="['grassrootsregistration:bdgldiary:add']"
  54. >新增</el-button
  55. >
  56. </el-col>
  57. <div class="shuJu" @click="dengJI">
  58. <span class="box44 public"> 当前数据为 : {{ tiems }}</span>
  59. <span class="box5 public">
  60. 已登记部门 : {{ registrationData.yiShenPi }}</span
  61. >
  62. <span class="box6">
  63. 未登记部门 : {{ registrationData.weiShenPi }}</span
  64. >
  65. </div>
  66. <!-- <el-col :span="1.5">
  67. <el-button
  68. type="success"
  69. plain
  70. icon="el-icon-edit"
  71. size="mini"
  72. :disabled="single"
  73. @click="handleUpdate"
  74. v-hasPermi="['grassrootsregistration:bdgldiary:edit']"
  75. >修改</el-button
  76. >
  77. </el-col>
  78. <el-col :span="1.5">
  79. <el-button
  80. type="danger"
  81. plain
  82. icon="el-icon-delete"
  83. size="mini"
  84. :disabled="multiple"
  85. @click="handleDelete"
  86. v-hasPermi="['grassrootsregistration:bdgldiary:remove']"
  87. >删除</el-button
  88. >
  89. </el-col>
  90. <el-col :span="1.5">
  91. <el-button
  92. type="warning"
  93. plain
  94. icon="el-icon-download"
  95. size="mini"
  96. :loading="exportLoading"
  97. @click="handleExport"
  98. v-hasPermi="['grassrootsregistration:bdgldiary:export']"
  99. >导出</el-button
  100. >
  101. </el-col> -->
  102. </el-row>
  103. <!-- 搜索结果区域 -->
  104. <el-table
  105. v-loading="loading"
  106. :data="bdgldiaryList"
  107. @selection-change="handleSelectionChange"
  108. :header-cell-style="{ background: '#003C69', color: 'white' }"
  109. >
  110. <el-table-column type="selection" width="55" align="center" />
  111. <!-- <el-table-column label="序号" align="center" prop="id" /> -->
  112. <el-table-column label="序号" type="index" width="50" align="center">
  113. <template scope="scope">
  114. <span>{{
  115. (queryParams.pageNum - 1) * queryParams.pageSize +
  116. scope.$index +
  117. 1
  118. }}</span>
  119. </template>
  120. </el-table-column>
  121. <el-table-column label="单位" align="center" prop="unitName" />
  122. <el-table-column label="值班人员" align="center" prop="peopleName" />
  123. <el-table-column
  124. label="值班日期"
  125. align="center"
  126. prop="diaryTime"
  127. width="180"
  128. :editable="false"
  129. >
  130. <template slot-scope="scope">
  131. <span>{{ parseTime(scope.row.diaryTime, "{y}-{m}-{d}") }}</span>
  132. </template>
  133. </el-table-column>
  134. <el-table-column label="编制干部" align="center" prop="orgcadre" />
  135. <el-table-column label="编制战士" align="center" prop="orgsoldier" />
  136. <el-table-column label="编制文职" align="center" prop="orgcivilian" />
  137. <el-table-column label="查铺查哨" align="center" prop="inspect">
  138. <template slot-scope="scope">
  139. <span
  140. style="color: #67c23a"
  141. v-if="scope.row.bdglDailyInspectLen != 0"
  142. >登记</span
  143. >
  144. <span
  145. style="color: #ff4949"
  146. v-if="scope.row.bdglDailyInspectLen == 0"
  147. >未登记</span
  148. >
  149. </template>
  150. </el-table-column>
  151. <el-table-column label="审批" align="center" prop="examine">
  152. <template slot-scope="scope">
  153. <span v-if="scope.row.examine == '1'" style="color: #67c23a"
  154. >已审批</span
  155. >
  156. <span v-else style="color: #ff4949">未审批</span>
  157. </template>
  158. </el-table-column>
  159. <el-table-column
  160. width="250"
  161. label="操作"
  162. align="center"
  163. class-name="small-padding fixed-width"
  164. >
  165. <template slot-scope="scope">
  166. <el-button
  167. v-if="scope.row.common == '1'"
  168. size="btd"
  169. type="text"
  170. @click="handleChakans(scope.row)"
  171. v-hasPermi="['grassrootsregistration:bdgldiary:edit']"
  172. ><span class="chakan">审批</span></el-button
  173. >
  174. <el-button
  175. size="btk"
  176. type="text"
  177. @click="handleChakan(scope.row)"
  178. v-hasPermi="['grassrootsregistration:bdgldiary:query']"
  179. ><span class="chakan">查看</span></el-button
  180. >
  181. <el-button
  182. size="btu"
  183. type="text"
  184. @click="handleUpdate(scope.row)"
  185. v-hasPermi="['grassrootsregistration:bdgldiary:edit']"
  186. ><span class="edit">修改</span></el-button
  187. >
  188. <el-button
  189. size="btd"
  190. type="text"
  191. @click="handleDelete(scope.row)"
  192. v-hasPermi="['grassrootsregistration:bdgldiary:remove']"
  193. ><span class="delete">删除</span></el-button
  194. >
  195. </template>
  196. </el-table-column>
  197. </el-table>
  198. <pagination
  199. v-show="total > 0"
  200. :total="total"
  201. :page.sync="queryParams.pageNum"
  202. :limit.sync="queryParams.pageSize"
  203. @pagination="getList"
  204. />
  205. <!-- 添加或修改要事日记对话框 -->
  206. <el-dialog
  207. :title="title"
  208. :visible.sync="open"
  209. width="1060px"
  210. append-to-body
  211. :close-on-click-modal="false"
  212. custom-class="userDig"
  213. >
  214. <div class="userAgree">
  215. <el-form
  216. ref="form"
  217. :model="form"
  218. :rules="rules"
  219. label-width="80px"
  220. :inline="true"
  221. >
  222. <div class="jiben">基本信息</div>
  223. <el-form-item label="单位" prop="unitId">
  224. <treeselect
  225. @select="selectPeo"
  226. v-model="form.unitId"
  227. :options="rese"
  228. placeholder="请选择单位"
  229. />
  230. </el-form-item>
  231. <el-form-item label="值班人员" prop="peopleId">
  232. <el-select
  233. v-model="form.peopleName"
  234. placeholder="请输入单位"
  235. filterable
  236. clearable
  237. @change="btn"
  238. >
  239. <el-option
  240. :label="item.name"
  241. v-for="(item, i) in renYuan"
  242. :key="i"
  243. :value="item"
  244. class="input_xiala"
  245. >
  246. </el-option>
  247. </el-select>
  248. </el-form-item>
  249. <el-form-item label="值班日期" prop="blogDate">
  250. <el-date-picker
  251. clearable
  252. size="small"
  253. v-model="form.blogDate"
  254. type="datetime"
  255. placeholder="选择值班日期"
  256. class="text"
  257. @change="blogDate"
  258. value-format="yyyy-MM-dd HH:mm:ss"
  259. :disabled="!statustimer"
  260. >
  261. </el-date-picker>
  262. </el-form-item>
  263. <el-form-item label="天气" prop="weather">
  264. <el-input v-model="form.weather" placeholder="请输入天气" />
  265. </el-form-item>
  266. <el-form-item label="值班首长" prop="lead">
  267. <el-select
  268. v-model="form.lead"
  269. filterable
  270. placeholder="请选择首长"
  271. clearable
  272. >
  273. <el-option
  274. :label="item.nickName"
  275. v-for="(item, i) in shouZhang"
  276. :key="i"
  277. :value="item.userId"
  278. class="input_xiala"
  279. ></el-option>
  280. </el-select>
  281. </el-form-item>
  282. <div class="jiben">实力情况</div>
  283. <el-form-item label="编制干部" prop="orgcadre">
  284. <el-input-number
  285. v-model="form.orgcadre"
  286. controls-position="right"
  287. :min="0"
  288. :max="99999999"
  289. >
  290. </el-input-number>
  291. </el-form-item>
  292. <el-form-item label="编制战士" prop="orgsoldier">
  293. <!-- <el-input v-model="form.orgsoldier" placeholder="请输入编制战士" /> -->
  294. <el-input-number
  295. v-model="form.orgsoldier"
  296. controls-position="right"
  297. :min="0"
  298. :max="99999999"
  299. >
  300. </el-input-number>
  301. </el-form-item>
  302. <el-form-item label="编制文职" prop="orgcivilian">
  303. <!-- <el-input v-model="form.orgcivilian" placeholder="请输入编制文职" /> -->
  304. <el-input-number
  305. v-model="form.orgcivilian"
  306. controls-position="right"
  307. :min="0"
  308. :max="99999999"
  309. >
  310. </el-input-number>
  311. </el-form-item>
  312. <el-form-item label="现有干部" prop="nowcadre">
  313. <!-- <el-input v-model="form.nowcadre" placeholder="请输入现有干部" /> -->
  314. <el-input-number
  315. v-model="form.nowcadre"
  316. controls-position="right"
  317. :min="0"
  318. :max="99999999"
  319. >
  320. </el-input-number>
  321. </el-form-item>
  322. <el-form-item label="现有战士" prop="nowsoldier">
  323. <el-input-number
  324. v-model="form.nowsoldier"
  325. controls-position="right"
  326. :min="0"
  327. :max="99999999"
  328. >
  329. </el-input-number>
  330. </el-form-item>
  331. <el-form-item label="现有文职" prop="nowcivilian">
  332. <!-- <el-input v-model="form.nowcivilian" placeholder="请输入现有文职" /> -->
  333. <el-input-number
  334. v-model="form.nowcivilian"
  335. controls-position="right"
  336. :min="0"
  337. :max="99999999"
  338. >
  339. </el-input-number>
  340. </el-form-item>
  341. <div class="jiben">训练、教育或者执行其他任务情况</div>
  342. <div class="box" v-for="(item, i) in xunlian" :key="i">
  343. <table
  344. width="850"
  345. cellspacing="0"
  346. align="center"
  347. border="1"
  348. style="
  349. border-bottom: white;
  350. border-collapse: collapse;
  351. mso-border-left-alt: 0.5pt solid windowtext;
  352. mso-border-top-alt: 0.5pt solid windowtext;
  353. mso-border-right-alt: 0.5pt solid windowtext;
  354. mso-border-bottom-alt: 0.5pt solid windowtext;
  355. mso-border-insideh: 0.5pt solid windowtext;
  356. mso-border-insidev: 0.5pt solid windowtext;
  357. mso-padding-alt: 0pt 0pt 0pt 0pt;
  358. margin-left: 61px;
  359. "
  360. bordercolor="white"
  361. >
  362. <tr align="center">
  363. <td width="200" height="40">区分</td>
  364. <td colspan="2" width="420">内容</td>
  365. <td width="100">应到人数</td>
  366. <td width="100">实到人数</td>
  367. <td width="100">到课率</td>
  368. </tr>
  369. <tr align="center">
  370. <td height="60">
  371. <el-input v-model="item.dateline" placeholder=""></el-input>
  372. </td>
  373. <td rowspan="2" colspan="2">
  374. <el-input
  375. type="textarea"
  376. :rows="1"
  377. placeholder="请输入内容"
  378. v-model="item.contents"
  379. :autosize="true"
  380. resize="none"
  381. >
  382. </el-input>
  383. </td>
  384. <td>
  385. <el-input
  386. v-model="item.shouldArrive"
  387. placeholder="应到人数"
  388. @blur="yinDao"
  389. oninput="value=value.replace(/[^\d]/g,'')"
  390. ></el-input>
  391. </td>
  392. <td>
  393. <el-input
  394. v-model="item.realTo"
  395. placeholder="实到人数"
  396. @blur="shiDao"
  397. oninput="value=value.replace(/[^\d]/g,'')"
  398. ></el-input>
  399. </td>
  400. <td>
  401. <el-input
  402. v-model="item.percentage"
  403. placeholder="到课率"
  404. readonly
  405. ></el-input>
  406. </td>
  407. </tr>
  408. <el-button
  409. type="danger"
  410. icon="el-icon-delete"
  411. size="mini"
  412. v-if="i > 0"
  413. @click="tebleDelForms(i)"
  414. >
  415. </el-button>
  416. </table>
  417. </div>
  418. <!-- 工作登记 -->
  419. <div class="box1">
  420. <el-form
  421. ref="form"
  422. :model="tomList"
  423. :rules="rules"
  424. label-width="80px"
  425. :inline="true"
  426. >
  427. <el-form-item label="" prop="day">
  428. <el-select
  429. v-model="tomList.wook"
  430. @change="datelinefun"
  431. placeholder="早晨"
  432. >
  433. <el-option
  434. v-for="item in day"
  435. :key="item.value"
  436. :label="item.label"
  437. :value="item.label"
  438. class="input_xiala"
  439. >
  440. </el-option>
  441. </el-select>
  442. </el-form-item>
  443. <el-time-select
  444. class="b1"
  445. placeholder="起始时间"
  446. v-model="tomList.startTime"
  447. :picker-options="option"
  448. style="margin-right: 22px"
  449. >
  450. </el-time-select>
  451. <el-time-select
  452. class="b1"
  453. placeholder="结束时间"
  454. v-model="tomList.endTime"
  455. :picker-options="option"
  456. style="margin-right: 22px"
  457. >
  458. </el-time-select>
  459. <div class="box2">
  460. <el-form-item label="" prop="organizer">
  461. <el-input
  462. v-model="tomList.organizer"
  463. placeholder="组织人"
  464. clearable
  465. size="small"
  466. />
  467. </el-form-item>
  468. <!-- 工作登记-添加按钮 -->
  469. <div class="btn">
  470. <el-button
  471. type="primary"
  472. icon="el-icon-check"
  473. @click="tijiao"
  474. ></el-button>
  475. </div>
  476. </div>
  477. <el-form-item label="" prop="content">
  478. <el-input
  479. type="textarea"
  480. v-model="tomList.contents"
  481. placeholder="内容"
  482. clearable
  483. size="small"
  484. />
  485. </el-form-item>
  486. </el-form>
  487. </div>
  488. <div class="jiben">公差勤务</div>
  489. <el-form-item prop="tolerance">
  490. <div class="box4">
  491. <el-input
  492. v-model="form.tolerance"
  493. type="textarea"
  494. placeholder="请输入内容"
  495. autosize
  496. />
  497. </div>
  498. </el-form-item>
  499. <div class="jiben">人员及装备变动</div>
  500. <el-form-item prop="transfer">
  501. <div class="box4">
  502. <el-input
  503. v-model="form.transfer"
  504. type="textarea"
  505. placeholder="请输入内容"
  506. autosize
  507. />
  508. </div>
  509. </el-form-item>
  510. <div class="jiben">装备变动</div>
  511. <el-form-item prop="equip">
  512. <div class="box4">
  513. <el-input
  514. v-model="form.equip"
  515. type="textarea"
  516. placeholder="请输入内容"
  517. autosize
  518. />
  519. </div>
  520. </el-form-item>
  521. <div class="jiben">武器装备、军容风纪、内务卫生检查情况</div>
  522. <el-form-item prop="internal">
  523. <div class="box4">
  524. <el-input
  525. v-model="form.internal"
  526. type="textarea"
  527. placeholder="请输入内容"
  528. autosize
  529. />
  530. </div>
  531. </el-form-item>
  532. <div class="jiben">配班情况</div>
  533. <el-form-item label="值班组织人" prop="dutylead">
  534. <el-select
  535. v-model="form.dutylead"
  536. clearable
  537. placeholder="请选择值班组织人"
  538. >
  539. <el-option
  540. :label="item.name"
  541. :value="item.name"
  542. v-for="(item, i) in renYuan"
  543. :key="i"
  544. class="input_xiala"
  545. ></el-option>
  546. </el-select>
  547. </el-form-item>
  548. <el-form-item label="值班交班人" prop="dutya">
  549. <!-- <el-input v-model="form.dutya" placeholder="请输入值班交班人" /> -->
  550. <el-select
  551. v-model="form.dutya"
  552. clearable
  553. placeholder="请选择值班交班人"
  554. >
  555. <el-option
  556. :label="item.name"
  557. :value="item.name"
  558. v-for="(item, i) in renYuan"
  559. :key="i"
  560. class="input_xiala"
  561. ></el-option>
  562. </el-select>
  563. </el-form-item>
  564. <el-form-item label="值班接班人" prop="dutyb">
  565. <!-- <el-input v-model="form.dutyb" placeholder="请输入值班接班人" /> -->
  566. <el-select
  567. v-model="form.dutyb"
  568. placeholder="请选择值班接班人"
  569. clearable
  570. >
  571. <el-option
  572. :label="item.name"
  573. :value="item.name"
  574. v-for="(item, i) in renYuan"
  575. :key="i"
  576. class="input_xiala"
  577. ></el-option>
  578. </el-select>
  579. </el-form-item>
  580. <el-form-item label="值日交班人" prop="dutyc">
  581. <!-- <el-input v-model="form.dutyc" placeholder="请输入值日交班人" /> -->
  582. <el-select
  583. v-model="form.dutyc"
  584. clearable
  585. placeholder="请选择值日交班人"
  586. >
  587. <el-option
  588. :label="item.name"
  589. :value="item.name"
  590. v-for="(item, i) in renYuan"
  591. :key="i"
  592. class="input_xiala"
  593. ></el-option>
  594. </el-select>
  595. </el-form-item>
  596. <el-form-item label="值日接班人" prop="dutyd">
  597. <!-- <el-input v-model="form.dutyd" placeholder="请输入值日接班人" /> -->
  598. <el-select
  599. v-model="form.dutyd"
  600. clearable
  601. placeholder="请选择值日接班人"
  602. >
  603. <el-option
  604. :label="item.name"
  605. :value="item.name"
  606. v-for="(item, i) in renYuan"
  607. :key="i"
  608. class="input_xiala"
  609. ></el-option>
  610. </el-select>
  611. </el-form-item>
  612. <el-form-item label="厨房交班人" prop="dutye">
  613. <!-- <el-input v-model="form.dutye" placeholder="请输入厨房交班人" /> -->
  614. <el-select
  615. v-model="form.dutye"
  616. clearable
  617. placeholder="请选择厨房交班人"
  618. >
  619. <el-option
  620. :label="item.name"
  621. :value="item.name"
  622. v-for="(item, i) in renYuan"
  623. :key="i"
  624. class="input_xiala"
  625. ></el-option>
  626. </el-select>
  627. </el-form-item>
  628. <el-form-item label="厨房接班人" prop="dutyf">
  629. <el-select
  630. v-model="form.dutyf"
  631. clearable
  632. placeholder="请选择厨房接班人"
  633. >
  634. <el-option
  635. :label="item.name"
  636. :value="item.name"
  637. v-for="(item, i) in renYuan"
  638. :key="i"
  639. class="input_xiala"
  640. ></el-option>
  641. </el-select>
  642. </el-form-item>
  643. <el-form-item label="交接时间" prop="dutyDate">
  644. <!-- <el-date-picker
  645. clearable
  646. size="small"
  647. v-model="form.dutyDate"
  648. type="date"
  649. value-format="yyyy-MM-dd"
  650. placeholder="请选择交接时间"
  651. >
  652. </el-date-picker> -->
  653. <el-time-picker
  654. size="small"
  655. v-model="form.dutyDate"
  656. :picker-options="{
  657. selectableRange: '00:00:00 - 23:59:59',
  658. }"
  659. placeholder=""
  660. >
  661. </el-time-picker>
  662. </el-form-item>
  663. <div class="jiben">值班交接情况</div>
  664. <el-form-item prop="dutyinfoA">
  665. <div class="box4">
  666. <el-input
  667. v-model="form.dutyinfoa"
  668. type="textarea"
  669. placeholder="请输入内容"
  670. autosize
  671. />
  672. </div>
  673. </el-form-item>
  674. <div class="jiben">值日交接情况</div>
  675. <el-form-item prop="dutyinfoC">
  676. <div class="box4">
  677. <el-input
  678. v-model="form.dutyinfoc"
  679. type="textarea"
  680. placeholder="请输入内容"
  681. autosize
  682. />
  683. </div>
  684. </el-form-item>
  685. <div class="jiben">厨房交接情况</div>
  686. <el-form-item prop="dutyinfoE">
  687. <div class="box4">
  688. <el-input
  689. v-model="form.dutyinfoe"
  690. type="textarea"
  691. placeholder="请输入内容"
  692. autosize
  693. />
  694. </div>
  695. </el-form-item>
  696. <div class="jiben">病号处理情况</div>
  697. <el-form-item prop="invalid">
  698. <div class="box4">
  699. <el-input
  700. v-model="form.invalid"
  701. placeholder="请输入内容"
  702. type="textarea"
  703. autosize
  704. />
  705. </div>
  706. </el-form-item>
  707. <div class="jiben">上级通知、指示及其他重要事项</div>
  708. <el-form-item prop="notice">
  709. <div class="box4">
  710. <el-input
  711. v-model="form.notice"
  712. placeholder="请输入内容"
  713. type="textarea"
  714. autosize
  715. />
  716. </div>
  717. </el-form-item>
  718. <div class="jiben">查铺查哨</div>
  719. <div class="box3">
  720. <el-form v-for="(item1, e) in checkShop" :key="e">
  721. <div>
  722. <el-form-item label="" prop="">
  723. <el-input
  724. v-model="item1.peopleName"
  725. placeholder="检查人"
  726. ></el-input>
  727. </el-form-item>
  728. <el-form-item label="" prop="">
  729. <el-input
  730. v-model="item1.foremanName"
  731. placeholder="领班员"
  732. ></el-input>
  733. </el-form-item>
  734. <el-form-item label="" prop="">
  735. <el-input
  736. v-model="item1.sentryName"
  737. placeholder="哨兵姓名"
  738. ></el-input>
  739. </el-form-item>
  740. <el-form-item label="" prop="">
  741. <el-time-picker
  742. v-model="item1.examineDate"
  743. :picker-options="{
  744. selectableRange: '00:00:00 - 23:59:59',
  745. }"
  746. placeholder="选择日期时间"
  747. value-format="HH:mm:ss"
  748. >
  749. </el-time-picker>
  750. </el-form-item>
  751. <el-form-item label="" prop="">
  752. <el-input
  753. v-model="item1.dialogue"
  754. placeholder="检查情况"
  755. ></el-input>
  756. </el-form-item>
  757. <el-form-item>
  758. <el-button
  759. type="primary"
  760. icon="el-icon-plus"
  761. size="mini"
  762. @click="addForms"
  763. v-if="e == checkShop.length - 1"
  764. ></el-button>
  765. <el-button
  766. type="danger"
  767. icon="el-icon-delete"
  768. size="mini"
  769. v-if="e > 0"
  770. @click="delForms(e)"
  771. >
  772. </el-button>
  773. </el-form-item>
  774. </div>
  775. </el-form>
  776. </div>
  777. <div class="jiben">临时来队亲属</div>
  778. <div class="box3">
  779. <div class="box4">
  780. <el-form v-for="(item1, i) in relatives" :key="i">
  781. <el-form-item label="" prop="">
  782. <el-select v-model="item1.peopleId" placeholder="军人姓名">
  783. <el-option
  784. v-for="item in renYuan"
  785. :key="item.id"
  786. :label="item.name"
  787. :value="item.id"
  788. class="input_xiala"
  789. >
  790. </el-option>
  791. </el-select>
  792. </el-form-item>
  793. <el-form-item label="" prop="">
  794. <el-input
  795. v-model="item1.name"
  796. placeholder="家属姓名"
  797. ></el-input>
  798. </el-form-item>
  799. <el-form-item label="" prop="">
  800. <el-input
  801. v-model="item1.relation"
  802. placeholder="关系"
  803. ></el-input>
  804. </el-form-item>
  805. <el-form-item label="" prop="">
  806. <el-time-picker
  807. v-model="item1.comeDate"
  808. :picker-options="{
  809. selectableRange: '00:00:00 - 23:59:59',
  810. }"
  811. placeholder="来队时间"
  812. value-format="HH:mm:ss"
  813. >
  814. </el-time-picker>
  815. </el-form-item>
  816. <el-form-item label="" prop="">
  817. <el-time-picker
  818. v-model="item1.leaveDate"
  819. :picker-options="{
  820. selectableRange: '00:00:00 - 23:59:59',
  821. }"
  822. placeholder="离队时间"
  823. value-format="HH:mm:ss"
  824. >
  825. </el-time-picker>
  826. </el-form-item>
  827. <el-form-item>
  828. <el-button
  829. type="primary"
  830. icon="el-icon-plus"
  831. size="mini"
  832. @click="addFormss"
  833. v-if="i == relatives.length - 1"
  834. ></el-button>
  835. <el-button
  836. type="danger"
  837. icon="el-icon-delete"
  838. size="mini"
  839. v-if="i > 0"
  840. @click="delFormss(i)"
  841. >
  842. </el-button>
  843. </el-form-item>
  844. </el-form>
  845. </div>
  846. </div>
  847. <!-- <div class="jiben">请假外出</div>
  848. <div class="box3 qing_jia">
  849. <el-form v-for="(item, e) in qingJia" :key="e + ' '">
  850. <div>
  851. <el-form-item label="" prop="">
  852. <el-input v-model="item.name" placeholder="姓名"></el-input>
  853. </el-form-item>
  854. <el-form-item label="" prop="">
  855. <el-input v-model="item.job" placeholder="职务"></el-input>
  856. </el-form-item>
  857. <el-form-item label="" prop="">
  858. <el-input
  859. v-model="item.reason"
  860. placeholder="事由"
  861. ></el-input>
  862. </el-form-item>
  863. <el-form-item label="" prop="">
  864. <el-input
  865. v-model="item.leaveDuration"
  866. placeholder="时长或天数"
  867. ></el-input>
  868. </el-form-item>
  869. <el-form-item label="" prop="">
  870. <el-time-picker
  871. placeholder="选择离队时间"
  872. v-model="item.leaveTime"
  873. :picker-options="{
  874. start: '00:01',
  875. step: '00:01',
  876. end: '23:59',
  877. }"
  878. value-format="HH:mm"
  879. >
  880. </el-time-picker>
  881. </el-form-item>
  882. <el-form-item label="" prop="">
  883. <el-input
  884. v-model="item.leaveApprover"
  885. placeholder="准假部门人"
  886. ></el-input>
  887. </el-form-item>
  888. <el-form-item label="" prop="">
  889. <el-time-picker
  890. v-model="item.backTime"
  891. :picker-options="{
  892. start: '00:01',
  893. step: '00:01',
  894. end: '23:59',
  895. }"
  896. placeholder="选择归队时间"
  897. value-format="HH:mm"
  898. >
  899. </el-time-picker>
  900. </el-form-item>
  901. <el-form-item label="" prop="">
  902. <el-input
  903. v-model="item.overTime"
  904. placeholder="超误天数时长"
  905. ></el-input>
  906. </el-form-item>
  907. <el-form-item>
  908. <el-button
  909. type="primary"
  910. icon="el-icon-plus"
  911. size="mini"
  912. @click="addQinJias"
  913. v-if="e == qingJia.length - 1"
  914. ></el-button>
  915. <el-button
  916. type="danger"
  917. icon="el-icon-delete"
  918. size="mini"
  919. v-if="e > 0"
  920. @click="delWeiFn(e)"
  921. >
  922. </el-button>
  923. </el-form-item>
  924. </div>
  925. </el-form>
  926. </div> -->
  927. </el-form>
  928. </div>
  929. <div slot="footer" class="dialog-footer">
  930. <el-button type="primary" @click="submitForm(1)">确 定</el-button>
  931. <el-button @click="resertwo" size="btn">重置</el-button>
  932. </div>
  933. </el-dialog>
  934. <!-- 查看 -->
  935. <el-dialog
  936. :visible.sync="menuRoleVisible"
  937. :title="title"
  938. append-to-body
  939. id="chakan"
  940. :close-on-click-modal="false"
  941. >
  942. <bdgldiary
  943. v-if="menuRoleVisible"
  944. ref="menuRole"
  945. :message="wordInfo"
  946. ></bdgldiary>
  947. <div slot="footer" class="dialog-footer" v-if="statusShen">
  948. <el-button type="primary" @click="queDing">通过</el-button>
  949. </div>
  950. </el-dialog>
  951. <!-- 数据查看弹出层 -->
  952. <el-dialog
  953. :visible.sync="dialogVisible"
  954. title="统计详情"
  955. append-to-body
  956. id="dialoges"
  957. :close-on-click-modal="false"
  958. >
  959. <div class="zuiDa">
  960. <div class="shuJuTime">当前数据为 : {{ tiems }}</div>
  961. <div class="jiben">已登记部门:{{ yishenpi }}个</div>
  962. <div class="boxxx">
  963. <div v-for="(item, i) in cg" :key="i" class="greed">
  964. <span class="greedss"> </span><span>{{ item }}</span>
  965. </div>
  966. </div>
  967. <!-- <span v-for="(item, i) in cg" :key="i" class="greed">{{ item }}</span> -->
  968. <div class="jiben">未登记部门:{{ weishenpi }}个</div>
  969. <div class="boxxx">
  970. <div v-for="(item, i) in sb" :key="i" class="red">
  971. <span class="greeds"> </span><span>{{ item }}</span>
  972. </div>
  973. </div>
  974. </div>
  975. </el-dialog>
  976. </div>
  977. </div>
  978. </template>
  979. <script>
  980. import bdgldiary from "@/components/look_word/bdgldiary.vue";
  981. import {
  982. listBdgldiary,
  983. getBdgldiary,
  984. delBdgldiary,
  985. addBdgldiary,
  986. updateBdgldiary,
  987. exportBdgldiary,
  988. exportBdgShuju,
  989. updateBdglShenPi,
  990. } from "@/api/grassrootsregistration/bdgldiary";
  991. import {
  992. getDept,
  993. getZhuChiRen,
  994. getUser,
  995. getShiLi,
  996. getXunLian,
  997. getWeiShu,
  998. getUsers,
  999. } from "@/api/grassrootsregistration/bdglmeeting";
  1000. import { getDicts } from "@/api/system/dict/data";
  1001. // 导入树形结构
  1002. import Treeselect from "@riophae/vue-treeselect";
  1003. import "@riophae/vue-treeselect/dist/vue-treeselect.css";
  1004. import { getUserzs } from "@/api/grassrootsregistration/bdgldiary";
  1005. // 获取当前单位
  1006. import { getUserProfile } from "@/api/system/user";
  1007. // 获取时间状态
  1008. import { listDiary } from "@/api/system/diary";
  1009. import { runInThisContext } from "vm";
  1010. export default {
  1011. components: { Treeselect, bdgldiary },
  1012. name: "Bdgldiary",
  1013. data() {
  1014. return {
  1015. // 审批状态
  1016. statusShen: false,
  1017. //查看页面
  1018. menuRoleVisible: false,
  1019. wordInfo: {},
  1020. //判断关闭
  1021. style: "2",
  1022. // 获取首长
  1023. shouZhang: [],
  1024. // 人员组织
  1025. renYuan: [],
  1026. // 添加的树形单位
  1027. rese: [],
  1028. // 遮罩层
  1029. loading: true,
  1030. // 导出遮罩层
  1031. exportLoading: false,
  1032. // 选中数组
  1033. ids: [],
  1034. // 非单个禁用
  1035. single: true,
  1036. // 非多个禁用
  1037. multiple: true,
  1038. // 显示搜索条件
  1039. showSearch: true,
  1040. // 总条数
  1041. total: 0,
  1042. // 要事日记表格数据
  1043. bdgldiaryList: [],
  1044. // 弹出层标题
  1045. title: "",
  1046. // 是否显示弹出层
  1047. open: false,
  1048. // 查询参数
  1049. queryParams: {
  1050. pageNum: 1,
  1051. pageSize: 10,
  1052. unitId: null,
  1053. peopleId: null,
  1054. blogDate: null,
  1055. weather: null,
  1056. orgcadre: null,
  1057. orgsoldier: null,
  1058. orgcivilian: null,
  1059. nowcadre: null,
  1060. nowsoldier: null,
  1061. nowcivilian: null,
  1062. tolerance: null,
  1063. transfer: null,
  1064. equip: null,
  1065. internal: null,
  1066. dutylead: null,
  1067. dutya: null,
  1068. dutyb: null,
  1069. dutyc: null,
  1070. dutyd: null,
  1071. dutye: null,
  1072. dutyf: null,
  1073. dutyinfoa: null,
  1074. dutyinfoc: null,
  1075. dutyinfoe: null,
  1076. dutyDate: null,
  1077. invalid: null,
  1078. notice: null,
  1079. lead: null,
  1080. weekwork: null,
  1081. examine: null,
  1082. peopleId1: null,
  1083. contents: null,
  1084. },
  1085. // 表单参数
  1086. form: {},
  1087. // 表单校验
  1088. rules: {
  1089. unitId: [
  1090. { required: true, message: "单位名称不能为空", trigger: "blur" },
  1091. ],
  1092. peopleId: [
  1093. // { required: true, message: "值班人员不能为空", trigger: "blur" },
  1094. ],
  1095. blogDate: [
  1096. { required: true, message: "值班日期不能为空", trigger: "blur" },
  1097. ],
  1098. weather: [{ required: true, message: "天气不能为空", trigger: "blur" }],
  1099. lead: [
  1100. { required: true, message: "值班首长不能为空", trigger: "change" },
  1101. ],
  1102. orgcadre: [
  1103. { required: true, message: "编制干部不能为空", trigger: "blur" },
  1104. ],
  1105. orgsoldier: [
  1106. { required: true, message: "编制战士不能为空", trigger: "blur" },
  1107. ],
  1108. orgcivilian: [
  1109. { required: true, message: "编制文职不能为空", trigger: "blur" },
  1110. ],
  1111. nowcadre: [
  1112. { required: true, message: "现有干部不能为空", trigger: "blur" },
  1113. ],
  1114. nowsoldier: [
  1115. { required: true, message: "现有战士不能为空", trigger: "blur" },
  1116. ],
  1117. nowcivilian: [
  1118. { required: true, message: "现有文职不能为空", trigger: "blur" },
  1119. ],
  1120. },
  1121. BdgDay: [],
  1122. // 搜索人员
  1123. Renyuan: [],
  1124. // 字典类型查询
  1125. dictType: {
  1126. dictType: "yssp",
  1127. },
  1128. // 字典数据
  1129. ziDian: [],
  1130. //左侧树状
  1131. deptOptions: null,
  1132. //左侧时间选择
  1133. pickerOptions: {
  1134. disabledDate(time) {
  1135. return time.getTime() > Date.now();
  1136. },
  1137. },
  1138. // 树形配置
  1139. defaultProps: {
  1140. children: "children",
  1141. label: "label",
  1142. },
  1143. // 组织人搜索列表00
  1144. list: [],
  1145. // 下拉选项显示隐藏
  1146. xiaLa: false,
  1147. //添加对话框查铺表格为空
  1148. checkShop: [
  1149. {
  1150. peopleName: null,
  1151. foremanName: null,
  1152. sentryName: null,
  1153. examineDate: null,
  1154. dialogue: null,
  1155. },
  1156. ],
  1157. // 添加对话框请假外出
  1158. qingJia: [
  1159. {
  1160. name: null,
  1161. job: null,
  1162. reason: null,
  1163. leaveDuration: null,
  1164. leaveApprover: null,
  1165. leaveTime: null,
  1166. backTime: null,
  1167. overTime: null,
  1168. },
  1169. ],
  1170. //添加对话框来访人员表格为空
  1171. relatives: [
  1172. {
  1173. peopleId: null,
  1174. name: null,
  1175. relation: null,
  1176. comeDate: null,
  1177. leaveDate: null,
  1178. },
  1179. ],
  1180. // 临时来队亲属
  1181. relatives: [
  1182. {
  1183. peopleId: null,
  1184. name: null,
  1185. relation: null,
  1186. comeDate: null,
  1187. leaveDate: null,
  1188. },
  1189. ],
  1190. // 搜索时间保存
  1191. tiem: null,
  1192. // 训练情况
  1193. xunlian: [],
  1194. // 工作安排字段
  1195. tomList: {
  1196. wook: null,
  1197. startTime: null,
  1198. endTime: null,
  1199. peopleIds: null,
  1200. address: null,
  1201. contents: null,
  1202. organizer: null,
  1203. },
  1204. // 数据时间
  1205. DataTime: "",
  1206. // 右边登记数据
  1207. registrationData: {},
  1208. // 搜索时间的保存
  1209. timeDate: "",
  1210. // 数据查看的弹出层
  1211. dialogVisible: false,
  1212. // 获取成功对象
  1213. cg: {},
  1214. // 获取失败对象
  1215. sb: {},
  1216. // 获取登记部门数量
  1217. yishenpi: "",
  1218. // 获取未登记数量
  1219. weishenpi: "",
  1220. // 数据时间的保存
  1221. tiems: "",
  1222. centertext: null,
  1223. // 获取全部首长
  1224. quanShou: [],
  1225. sz: null,
  1226. dw: {},
  1227. formes: {},
  1228. statustimer: false,
  1229. //早中晚选中
  1230. day: [
  1231. {
  1232. value: "选项1",
  1233. label: "早晨",
  1234. },
  1235. {
  1236. value: "选项2",
  1237. label: "上午",
  1238. },
  1239. {
  1240. value: "选项3",
  1241. label: "下午",
  1242. },
  1243. {
  1244. value: "选项4",
  1245. label: "晚上",
  1246. },
  1247. ],
  1248. option: {
  1249. start: "06:00",
  1250. step: "00:05",
  1251. end: "08:00",
  1252. },
  1253. // 训练列表
  1254. xunList: [],
  1255. };
  1256. },
  1257. created() {
  1258. // if (Cookies.get("shuaxin") != "true") {
  1259. // window.location.reload();
  1260. // }
  1261. // Cookies.set("shuaxin", "true");
  1262. this.getList();
  1263. // 获取单位
  1264. this.getDept();
  1265. // 获取字典通过未通过
  1266. this.getdict();
  1267. // 获取外部部门树形
  1268. this.treeselect();
  1269. // 获取数据
  1270. this.getShuJu();
  1271. // 获取全部首长
  1272. this.getQuanShou();
  1273. // 获取登录信息
  1274. this.getUser();
  1275. },
  1276. methods: {
  1277. // 删除一周工作
  1278. tebleDelForms(i) {
  1279. this.xunlian.splice(i, 1);
  1280. },
  1281. // 一周工作提交
  1282. tijiao() {
  1283. if (
  1284. this.tomList.wook != null &&
  1285. this.tomList.startTime != null &&
  1286. this.tomList.endTime != null &&
  1287. this.tomList.contents != null &&
  1288. this.tomList.organizer != null
  1289. ) {
  1290. this.xunlian.push({
  1291. dateline: this.tomList.wook,
  1292. contents:
  1293. this.tomList.startTime +
  1294. "-" +
  1295. this.tomList.endTime +
  1296. " " +
  1297. this.tomList.contents +
  1298. "(" +
  1299. this.tomList.organizer +
  1300. ")",
  1301. percentage: 0,
  1302. realTo: 0,
  1303. shouldArrive: 0,
  1304. });
  1305. this.tomList = {};
  1306. } else {
  1307. this.$message.error("内容填写不完整!");
  1308. }
  1309. },
  1310. datelinefun(val) {
  1311. if (val == "早晨") {
  1312. this.option.start = "06:00";
  1313. this.option.end = "08:00";
  1314. this.tomList.startTime = null;
  1315. this.tomList.endTime = null;
  1316. } else if (val == "上午") {
  1317. this.option.start = "08:00";
  1318. this.option.end = "012:00";
  1319. this.tomList.startTime = null;
  1320. this.tomList.endTime = null;
  1321. } else if (val == "下午") {
  1322. this.option.start = "12:00";
  1323. this.option.end = "18:00";
  1324. this.tomList.startTime = null;
  1325. this.tomList.endTime = null;
  1326. } else if (val == "晚上") {
  1327. this.option.start = "18:00";
  1328. this.option.end = "23:00";
  1329. this.tomList.startTime = null;
  1330. this.tomList.endTime = null;
  1331. }
  1332. },
  1333. // 动态判断时间的修改
  1334. gettimer() {
  1335. listDiary().then((res) => {
  1336. if (res.rows[0].setnum == 1) {
  1337. this.statustimer = true;
  1338. }
  1339. });
  1340. },
  1341. // 获取登录信息
  1342. getUser() {
  1343. getUserProfile().then((response) => {
  1344. this.dw = response.data.dept;
  1345. });
  1346. },
  1347. // 新增时间获取
  1348. getTimes() {
  1349. var tiem = new Date();
  1350. let y = tiem.getFullYear();
  1351. let m = tiem.getMonth() + 1;
  1352. m = m < 10 ? "0" + m : m;
  1353. let d = tiem.getDate();
  1354. d = d < 10 ? "0" + d : d;
  1355. let h = tiem.getHours();
  1356. h = h < 10 ? "0" + h : h;
  1357. let M = tiem.getMinutes();
  1358. M = M < 10 ? "0" + M : M;
  1359. let s = tiem.getSeconds();
  1360. s = s < 10 ? "0" + s : s;
  1361. this.form.blogDate = y + "-" + m + "-" + d + " " + h + ":" + M + ":" + s;
  1362. return;
  1363. },
  1364. getShoufan(id) {
  1365. this.quanShou.map((item) => {
  1366. if (item.userId == id) {
  1367. this.sz = item.nickName;
  1368. }
  1369. return this.sz;
  1370. });
  1371. },
  1372. getQuanShou() {
  1373. getUserzs().then((respones) => {
  1374. // console.log(respones);
  1375. this.quanShou = respones.rows;
  1376. });
  1377. },
  1378. // 点击数据盒子
  1379. dengJI() {
  1380. this.dialogVisible = true;
  1381. },
  1382. //审批按钮操作
  1383. handleChakans(row) {
  1384. // 是否隐藏按钮
  1385. this.opens = false;
  1386. this.statusShen = true;
  1387. const id = row.id || this.ids;
  1388. getBdgldiary(id).then((response) => {
  1389. if (new Date(response.data.blogDate).getDay() == 0) {
  1390. response.data.week = "星期日";
  1391. } else if (new Date(response.data.blogDate).getDay() == 1) {
  1392. response.data.week = "星期一";
  1393. } else if (new Date(response.data.blogDate).getDay() == 2) {
  1394. response.data.week = "星期二";
  1395. } else if (new Date(response.data.blogDate).getDay() == 3) {
  1396. response.data.week = "星期三";
  1397. } else if (new Date(response.data.blogDate).getDay() == 4) {
  1398. response.data.week = "星期四";
  1399. } else if (new Date(response.data.blogDate).getDay() == 5) {
  1400. response.data.week = "星期五";
  1401. } else if (new Date(response.data.blogDate).getDay() == 6) {
  1402. response.data.week = "星期六";
  1403. }
  1404. this.wordInfo = response.data;
  1405. this.title = "审批要事日记";
  1406. this.menuRoleVisible = true;
  1407. });
  1408. },
  1409. // 审批页面确定
  1410. queDing() {
  1411. // this.wordInfo.examine = 1;
  1412. this.formes.examine = 1;
  1413. if (this.wordInfo.id != null) {
  1414. this.formes.id = this.wordInfo.id;
  1415. updateBdglShenPi(this.formes).then((response) => {
  1416. this.menuRoleVisible = false;
  1417. this.getList();
  1418. this.getShuJu(this.timeDate);
  1419. this.$forceUpdate();
  1420. });
  1421. }
  1422. },
  1423. // 获取部门数据
  1424. getShuJu(data) {
  1425. exportBdgShuju(data).then((res) => {
  1426. this.DataTime = data;
  1427. this.registrationData = res;
  1428. this.cg = res.cg;
  1429. this.sb = res.sb;
  1430. this.yishenpi = res.yiShenPi;
  1431. this.weishenpi = res.weiShenPi;
  1432. this.tiems = res.time;
  1433. });
  1434. },
  1435. // 搜索时间触发
  1436. shiJian(data) {
  1437. this.queryParams.diaryTime = data;
  1438. this.timeDate = data;
  1439. this.getList();
  1440. this.getShuJu(data);
  1441. },
  1442. // 应到人数失去焦点触发
  1443. yinDao() {
  1444. this.xunlian.forEach((item) => {
  1445. if (item.shouldArrive != null && item.realTo != null) {
  1446. var str = ((item.realTo / item.shouldArrive) * 100).toFixed(2);
  1447. str += "%";
  1448. item.percentage = str;
  1449. }
  1450. });
  1451. },
  1452. // 实到人数失去焦点触发
  1453. shiDao() {
  1454. this.xunlian.forEach((item) => {
  1455. if (item.shouldArrive != null && item.realTo != null) {
  1456. var str = ((item.realTo / item.shouldArrive) * 100).toFixed(2);
  1457. str += "%";
  1458. item.percentage = str;
  1459. }
  1460. });
  1461. },
  1462. // 获取训练
  1463. XunLian(id, tiem) {
  1464. getXunLian(id, tiem).then((res) => {
  1465. if (res.data) {
  1466. this.xunlian = res.data;
  1467. if (this.xunlian) {
  1468. for (var i = 0; i < this.xunlian.length; i++) {
  1469. // centertext
  1470. this.xunlian[i].contents =
  1471. this.xunlian[i].startTime +
  1472. "-" +
  1473. this.xunlian[i].endTime +
  1474. " " +
  1475. this.xunlian[i].contents +
  1476. "(" +
  1477. this.xunlian[i].organizer +
  1478. ")";
  1479. }
  1480. }
  1481. } else {
  1482. this.xunlian = [];
  1483. }
  1484. });
  1485. },
  1486. // 选中军人触发
  1487. junRen(val) {
  1488. this.relatives[0].peopleId = val.id;
  1489. this.relatives[0].peopleName = val.name;
  1490. },
  1491. /** 新增查询部门下拉树结构 */
  1492. getTreeselect() {
  1493. getDept().then((response) => {
  1494. this.rese = response.data;
  1495. });
  1496. },
  1497. // 增加对话框查铺
  1498. addForms() {
  1499. this.checkShop.push({
  1500. peopleName: null,
  1501. foremanName: null,
  1502. sentryName: null,
  1503. examineDate: null,
  1504. dialogue: null,
  1505. });
  1506. },
  1507. // 删除对话框查铺
  1508. delForms(i) {
  1509. this.checkShop.splice(i, 1);
  1510. },
  1511. //增加对话框临时来访人员
  1512. addFormss() {
  1513. this.relatives.push({
  1514. peopleId: null,
  1515. name: null,
  1516. relation: null,
  1517. comeDate: null,
  1518. leaveDate: null,
  1519. });
  1520. },
  1521. //删除对话框临时来访人员
  1522. delFormss(e) {
  1523. this.relatives.splice(e, 1);
  1524. },
  1525. // 增加请假外出
  1526. addQinJias() {
  1527. this.qingJia.push({
  1528. name: null,
  1529. job: null,
  1530. reason: null,
  1531. leaveDuration: null,
  1532. leaveApprover: null,
  1533. leaveTime: null,
  1534. backTime: null,
  1535. overTime: null,
  1536. });
  1537. },
  1538. //删除请假外出
  1539. delWeiFn(e) {
  1540. this.qingJia.splice(e, 1);
  1541. },
  1542. // 获取外面部门树形
  1543. treeselect() {
  1544. getWeiShu().then((res) => {
  1545. this.deptOptions = res.data;
  1546. });
  1547. },
  1548. //外面树形选择搜索
  1549. handleNodeClick(data) {
  1550. this.queryParams.unitId = data.id;
  1551. // this.queryParams.IsUnit = "1";
  1552. this.getList();
  1553. },
  1554. // 选择值班人触发
  1555. btn(val) {
  1556. this.form.peopleId1 = val.id;
  1557. this.form.peopleName = val.name;
  1558. },
  1559. // 当选择单位时候重置人员
  1560. chongZhi() {
  1561. this.form = {
  1562. peopleId: null,
  1563. lead: null,
  1564. dutyA: null,
  1565. dutyB: null,
  1566. dutyC: null,
  1567. dutyD: null,
  1568. dutyE: null,
  1569. dutyF: null,
  1570. dutylead: null,
  1571. };
  1572. this.relatives = [
  1573. {
  1574. peopleId: null,
  1575. },
  1576. ];
  1577. },
  1578. // 当点击完成值班时间的选择发起请求
  1579. blogDate(data) {
  1580. // 判断是否全部选择
  1581. if (this.form.unitId !== null && this.form.blogDate !== null) {
  1582. this.XunLian(this.form.unitId, this.form.blogDate);
  1583. }
  1584. },
  1585. // 获取实力情况
  1586. getShiLiRen(id) {
  1587. getShiLi(id).then((res) => {
  1588. this.form.orgcadre = res.data.ganbu;
  1589. this.form.orgsoldier = res.data.shiBin;
  1590. this.form.orgcivilian = res.data.wenZhi;
  1591. this.form.nowcadre = res.data.xianYouGanBu;
  1592. this.form.nowsoldier = res.data.xianYouShiBin;
  1593. this.form.nowcivilian = res.data.xianYouWenZhi;
  1594. });
  1595. },
  1596. // 单位选择触发
  1597. selectPeo(data) {
  1598. this.chongZhi();
  1599. // 获取当前时间
  1600. if (this.statustimer) {
  1601. } else {
  1602. this.getTimes();
  1603. }
  1604. this.form.unitId = data.id;
  1605. // 获取实力情况
  1606. this.form.deptId = data.id;
  1607. this.getShiLiRen(this.form.deptId);
  1608. this.getRenYuan(this.form.unitId);
  1609. this.getShou(this.form.unitId);
  1610. // this.getTimes();
  1611. // 判断是否全部选择
  1612. if (this.form.unitId !== null && this.form.blogDate) {
  1613. this.XunLian(this.form.unitId, this.form.blogDate);
  1614. }
  1615. },
  1616. // 根据部门获取人员
  1617. getRenYuan(id) {
  1618. getZhuChiRen(id).then((res) => {
  1619. this.renYuan = res.data;
  1620. });
  1621. },
  1622. // 获取首长
  1623. getShou(id) {
  1624. getUser(id).then((res) => {
  1625. this.shouZhang = res.data;
  1626. });
  1627. },
  1628. // 修改里获取首长
  1629. getShous(id) {
  1630. getUsers(id).then((res) => {
  1631. this.shouZhang = res.data;
  1632. });
  1633. },
  1634. // 搜索第一个选中触发
  1635. search() {
  1636. getZhuChiRen(this.queryParams.deptId).then((res) => {
  1637. this.Renyuan = res.data;
  1638. });
  1639. this.getList();
  1640. },
  1641. // 搜索审批触发
  1642. approve(val) {
  1643. this.queryParams.examine = val * 1;
  1644. this.getList();
  1645. },
  1646. // 字典查询
  1647. getdict() {
  1648. getDicts(this.dictType.dictType).then((res) => {
  1649. this.ziDian = res.data;
  1650. });
  1651. },
  1652. /** 查询要事日记列表 */
  1653. getList() {
  1654. this.loading = true;
  1655. listBdgldiary(this.queryParams).then((response) => {
  1656. this.bdgldiaryList = response.rows;
  1657. this.total = response.total;
  1658. this.loading = false;
  1659. });
  1660. },
  1661. // 查询单位列表
  1662. async getDept() {
  1663. const res = await getDept();
  1664. this.rese = res.data;
  1665. },
  1666. // 取消按钮
  1667. cancel() {
  1668. this.open = false;
  1669. this.reset();
  1670. },
  1671. // 表单重置
  1672. reset() {
  1673. this.form = {
  1674. id: null,
  1675. unitId: null,
  1676. peopleId: null,
  1677. blogDate: null,
  1678. weather: null,
  1679. orgcadre: null,
  1680. orgsoldier: null,
  1681. orgcivilian: null,
  1682. nowcadre: null,
  1683. nowsoldier: null,
  1684. nowcivilian: null,
  1685. tolerance: null,
  1686. transfer: null,
  1687. equip: null,
  1688. internal: null,
  1689. dutylead: null,
  1690. dutya: null,
  1691. dutyb: null,
  1692. dutyc: null,
  1693. dutyd: null,
  1694. dutye: null,
  1695. dutyf: null,
  1696. dutyinfoa: null,
  1697. dutyinfoc: null,
  1698. dutyinfoe: null,
  1699. dutyDate: null,
  1700. invalid: null,
  1701. notice: null,
  1702. lead: null,
  1703. weekwork: null,
  1704. examine: null,
  1705. peopleId1: null,
  1706. contents: null,
  1707. createId: null,
  1708. createName: null,
  1709. };
  1710. this.relatives = [
  1711. {
  1712. name: null,
  1713. relation: null,
  1714. comeDate: null,
  1715. leaveDate: null,
  1716. peopleId: null,
  1717. peopleName: null,
  1718. },
  1719. ];
  1720. this.checkShop = [
  1721. {
  1722. peopleName: null,
  1723. foremanName: null,
  1724. sentryName: null,
  1725. examineDate: null,
  1726. dialogue: null,
  1727. },
  1728. ];
  1729. this.xunlian = [];
  1730. this.qingJia = [
  1731. {
  1732. name: null,
  1733. job: null,
  1734. reason: null,
  1735. leaveDuration: null,
  1736. leaveApprover: null,
  1737. leaveTime: null,
  1738. backTime: null,
  1739. overTime: null,
  1740. },
  1741. ];
  1742. this.tomList = {
  1743. wook: null,
  1744. startTime: null,
  1745. endTime: null,
  1746. peopleIds: null,
  1747. adorganizerdress: null,
  1748. contents: null,
  1749. organizer: null,
  1750. };
  1751. this.resetForm("form");
  1752. },
  1753. /** 对话框重置按钮操作 */
  1754. resertwo() {
  1755. this.reset();
  1756. },
  1757. /** 搜索按钮操作 */
  1758. handleQuery() {
  1759. this.queryParams.pageNum = 1;
  1760. this.getList();
  1761. },
  1762. /** 重置按钮操作 */
  1763. resetQuery() {
  1764. this.resetForm("queryForm");
  1765. this.handleQuery();
  1766. },
  1767. // 多选框选中数据
  1768. handleSelectionChange(selection) {
  1769. this.ids = selection.map((item) => item.id);
  1770. this.single = selection.length !== 1;
  1771. this.multiple = !selection.length;
  1772. },
  1773. /** 新增按钮操作 */
  1774. handleAdd(e) {
  1775. // 获取首长
  1776. this.shouZhang = [];
  1777. // 人员组织
  1778. this.renYuan = [];
  1779. this.getTreeselect();
  1780. this.reset();
  1781. this.gettimer();
  1782. this.form.unitId = this.dw.deptId;
  1783. this.getShiLiRen(this.form.deptId);
  1784. this.getRenYuan(this.form.unitId);
  1785. this.getShou(this.form.unitId);
  1786. this.getTimes();
  1787. // 判断是否全部选择
  1788. if (this.form.unitId !== null && this.form.blogDate) {
  1789. this.XunLian(this.form.unitId, this.form.blogDate);
  1790. }
  1791. this.open = true;
  1792. this.title = "添加要事日记";
  1793. this.style = 2;
  1794. },
  1795. /** 修改按钮操作 */
  1796. handleUpdate(row) {
  1797. this.title = "修改要事日记";
  1798. this.statustimer = false;
  1799. this.getTreeselect();
  1800. this.reset();
  1801. const id = row.id || this.ids;
  1802. getBdgldiary(id).then((response) => {
  1803. // 转换时间格式
  1804. var tiems = new Date(response.data.blogDate);
  1805. this.form = response.data;
  1806. this.form.blogDate = tiems;
  1807. // 请求首长
  1808. this.getShous(this.form.unitId);
  1809. // 训练计划
  1810. this.xunList = response.data.bdglDiaryWeekworkRegisterList;
  1811. if (this.xunList) {
  1812. for (let index = 0; index < this.xunList.length; index++) {
  1813. this.xunlian.push(this.xunList[index]);
  1814. }
  1815. } else {
  1816. this.xunlian = [];
  1817. }
  1818. // 请求人员
  1819. this.getRenYuan(this.form.unitId);
  1820. this.open = true;
  1821. // 临时来对
  1822. if (response.data.kinsfolk != null && response.data.kinsfolk != "") {
  1823. if (response.data.kinsfolk[0].peopleId != null) {
  1824. this.relatives = response.data.kinsfolk;
  1825. }
  1826. }
  1827. // 查铺查询
  1828. if (response.data.inspect != null && response.data.inspect != "") {
  1829. this.checkShop = response.data.inspect;
  1830. }
  1831. });
  1832. },
  1833. //查看按钮操作
  1834. handleChakan(row) {
  1835. // 是否隐藏按钮
  1836. this.opens = false;
  1837. this.statusShen = false;
  1838. const id = row.id || this.ids;
  1839. getBdgldiary(id).then((response) => {
  1840. if (new Date(response.data.blogDate).getDay() == 0) {
  1841. response.data.week = "星期日";
  1842. } else if (new Date(response.data.blogDate).getDay() == 1) {
  1843. response.data.week = "星期一";
  1844. } else if (new Date(response.data.blogDate).getDay() == 2) {
  1845. response.data.week = "星期二";
  1846. } else if (new Date(response.data.blogDate).getDay() == 3) {
  1847. response.data.week = "星期三";
  1848. } else if (new Date(response.data.blogDate).getDay() == 4) {
  1849. response.data.week = "星期四";
  1850. } else if (new Date(response.data.blogDate).getDay() == 5) {
  1851. response.data.week = "星期五";
  1852. } else if (new Date(response.data.blogDate).getDay() == 6) {
  1853. response.data.week = "星期六";
  1854. }
  1855. this.getShoufan(response.data.lead);
  1856. this.wordInfo = response.data;
  1857. this.wordInfo.sz = this.sz;
  1858. this.title = "查看要事日记";
  1859. this.menuRoleVisible = true;
  1860. });
  1861. },
  1862. /** 提交按钮 */
  1863. submitForm(style) {
  1864. this.style = style;
  1865. this.$refs["form"].validate((valid) => {
  1866. if (valid) {
  1867. if (
  1868. (this.relatives[0].name ||
  1869. this.relatives[0].peopleId ||
  1870. this.relatives[0].peopleName) != null
  1871. ) {
  1872. this.form.kinsfolk = this.relatives;
  1873. }
  1874. if (
  1875. (this.checkShop[0].peopleName ||
  1876. this.checkShop[0].foremanName ||
  1877. this.checkShop[0].sentryName ||
  1878. this.checkShop[0].examineDate ||
  1879. this.checkShop[0].dialogue) != null
  1880. ) {
  1881. this.form.inspect = this.checkShop;
  1882. }
  1883. // 外出请假
  1884. if (
  1885. this.qingJia[0].name !== null ||
  1886. this.qingJia[0].job !== null ||
  1887. this.qingJia[0].reason !== null ||
  1888. this.qingJia[0].leaveDuration !== null ||
  1889. this.qingJia[0].leaveApprover != null ||
  1890. this.qingJia[0].leaveTime != null
  1891. ) {
  1892. this.form.bdglDiaryLeaveList = this.qingJia;
  1893. }
  1894. // 工作安排
  1895. if (
  1896. this.xunlian[0].dateline != null &&
  1897. this.xunlian[0].contents != null &&
  1898. this.xunlian[0].percentage != null &&
  1899. this.xunlian[0].shouldArrive!=null &&
  1900. this.xunlian.realTo
  1901. ) {
  1902. this.form.bdglDiaryWeekworkRegisterList = this.xunlian;
  1903. }
  1904. if (this.form.id != null) {
  1905. updateBdgldiary(this.form).then((response) => {
  1906. this.$modal.msgSuccess("修改成功");
  1907. this.open = false;
  1908. this.getList();
  1909. });
  1910. } else {
  1911. // 查铺查哨
  1912. if (
  1913. this.checkShop[0].peopleName !== null ||
  1914. this.checkShop[0].sentryName !== null ||
  1915. this.checkShop[0].examineDate !== null ||
  1916. this.checkShop[0].foremanName !== null ||
  1917. this.checkShop[0].dialogue != null
  1918. ) {
  1919. this.form.inspect = this.checkShop;
  1920. }
  1921. // 外出请假
  1922. if (
  1923. this.qingJia[0].name !== null ||
  1924. this.qingJia[0].job !== null ||
  1925. this.qingJia[0].reason !== null ||
  1926. this.qingJia[0].leaveDuration !== null ||
  1927. this.qingJia[0].leaveApprover != null ||
  1928. this.qingJia[0].leaveTime != null
  1929. ) {
  1930. this.form.bdglDiaryLeaveList = this.qingJia;
  1931. }
  1932. // 来对亲属
  1933. if (this.relatives[0].peopleId !== null) {
  1934. this.form.kinsfolk = this.relatives;
  1935. }
  1936. // 工作安排
  1937. if (
  1938. this.xunlian[0].dateline != null &&
  1939. this.xunlian[0].contents != null
  1940. ) {
  1941. this.form.bdglDiaryWeekworkRegisterList = this.xunlian;
  1942. }
  1943. this.form.blogDate = new Date(this.form.blogDate);
  1944. // // 训练计划
  1945. this.form.weekworkRegisters = this.xunlian;
  1946. addBdgldiary(this.form).then((response) => {
  1947. this.$modal.msgSuccess("新增成功");
  1948. this.open = false;
  1949. this.getList();
  1950. });
  1951. }
  1952. }
  1953. });
  1954. },
  1955. /** 删除按钮操作 */
  1956. handleDelete(row) {
  1957. const ids = row.id || this.ids;
  1958. this.$modal
  1959. // .confirm('是否确认删除要事日记编号为"' + ids + '"的数据项?')
  1960. .confirm("是否确认删除该数据?")
  1961. .then(function () {
  1962. return delBdgldiary(ids);
  1963. })
  1964. .then(() => {
  1965. this.getList();
  1966. this.$modal.msgSuccess("删除成功");
  1967. })
  1968. .catch(() => {});
  1969. },
  1970. /** 导出按钮操作 */
  1971. handleExport() {
  1972. const queryParams = this.queryParams;
  1973. this.$modal
  1974. .confirm("是否确认导出所有要事日记数据项?")
  1975. .then(() => {
  1976. this.exportLoading = true;
  1977. return exportBdgldiary(queryParams);
  1978. })
  1979. .then((response) => {
  1980. this.$download.name(response.msg);
  1981. this.exportLoading = false;
  1982. })
  1983. .catch(() => {});
  1984. },
  1985. },
  1986. };
  1987. </script>
  1988. <style scoped>
  1989. ::v-deep .el-dialog {
  1990. width: 1060px !important;
  1991. background-color: #004d86;
  1992. margin: auto;
  1993. }
  1994. ::v-deep .el-dialog__header {
  1995. border-bottom: 1px solid #718a9d;
  1996. margin: auto;
  1997. }
  1998. ::v-deep .el-dialog__title {
  1999. color: #fff;
  2000. font: 18px;
  2001. }
  2002. ::v-deep .el-dialog__headerbtn .el-dialog__close {
  2003. color: #fff;
  2004. }
  2005. ::v-deep .el-form-item__label {
  2006. font: 16px;
  2007. color: #fff;
  2008. width: 100px !important;
  2009. }
  2010. ::v-deep .el-input--small .el-input__inner {
  2011. width: 200px !important;
  2012. height: 36px;
  2013. border: 1px solid white !important;
  2014. color: #fff !important;
  2015. }
  2016. ::v-deep .el-textarea__inner {
  2017. width: 920px;
  2018. height: 104px;
  2019. }
  2020. ::v-deep .el-select-dropdown__list {
  2021. border: none;
  2022. }
  2023. .el-date-table,
  2024. .el-select-dropdown__item {
  2025. color: #fff;
  2026. }
  2027. .el-select-dropdown__item.hover,
  2028. .el-select-dropdown__item:hover {
  2029. background-color: #196299;
  2030. }
  2031. /* .el-select-dropdown__item.hover,
  2032. .el-select-dropdown__item:hover {
  2033. color: #fff !important;
  2034. } */
  2035. ::v-deep .el-dialog__body {
  2036. margin: 10px 0px 20px 68px;
  2037. padding-top: 20px !important;
  2038. box-sizing: border-box;
  2039. /* padding: 30px 12px 30px 28px; */
  2040. }
  2041. /* 表单背景 */
  2042. ::v-deep .el-input__inner {
  2043. background-color: transparent !important;
  2044. color: #fff;
  2045. /* border: 1px solid white !important; */
  2046. border-color: #fff !important;
  2047. }
  2048. /* 调整表单间距 */
  2049. ::v-deep .el-date-editor.el-input,
  2050. .el-date-editor.el-input__inner {
  2051. width: 200px;
  2052. }
  2053. .el-dialog__body .roll-dialog {
  2054. padding: 3px, 0px;
  2055. overflow-y: auto;
  2056. }
  2057. .box {
  2058. font-size: 14px;
  2059. color: #fff;
  2060. margin-left: -55px;
  2061. position: relative;
  2062. }
  2063. ::v-deep .btn {
  2064. width: 54px;
  2065. height: 36px;
  2066. color: #fff;
  2067. background-color: #1d96ff;
  2068. border-radius: 4px;
  2069. border: none;
  2070. font-size: 14px;
  2071. display: inline-block;
  2072. margin-left: 60px;
  2073. }
  2074. ::v-deep .el-icon-refresh {
  2075. font-size: 16px;
  2076. margin-left: -3px;
  2077. }
  2078. ::v-deep .el-input-number__increase {
  2079. background-color: transparent !important;
  2080. border: none;
  2081. color: #cccccc;
  2082. border-bottom: none !important;
  2083. }
  2084. ::v-deep .el-input-number__decrease {
  2085. background-color: transparent !important;
  2086. border: none !important;
  2087. color: #cccccc;
  2088. }
  2089. ::v-deep .el-form-item__content {
  2090. width: 200px;
  2091. cursor: pointer !important;
  2092. }
  2093. /* 单位框背景颜色 */
  2094. ::v-deep .vue-treeselect__control {
  2095. background: #004d86 !important;
  2096. color: #fff;
  2097. }
  2098. /* 单位下拉菜单选中字体颜色 */
  2099. ::v-deep .vue-treeselect__single-value {
  2100. color: #fff !important;
  2101. }
  2102. /* 分页按钮 */
  2103. ::v-deep .el-pagination.is-background .el-pager li {
  2104. background-color: #004d86;
  2105. color: #fff;
  2106. }
  2107. ::v-deep .el-pagination.is-background .btn-next {
  2108. background-color: #004d86;
  2109. color: #fff;
  2110. }
  2111. ::v-deep .el-pagination.is-background .btn-prev,
  2112. .el-pagination.is-background .btn-next,
  2113. .el-pagination.is-background .el-pager li {
  2114. background: #004d86 !important;
  2115. color: #fff !important;
  2116. }
  2117. .app-container {
  2118. display: flex;
  2119. }
  2120. /* 左侧树状盒子 */
  2121. .app-container .box-lfet {
  2122. width: 15%;
  2123. min-height: 740px;
  2124. /* background: #003156; */
  2125. /* padding: 10px; */
  2126. margin-right: 10px;
  2127. /* border: 1px solid white; */
  2128. }
  2129. /* 右侧内容盒子 */
  2130. .app-container .box-right {
  2131. width: 85%;
  2132. }
  2133. .app-container .box-lfet .data {
  2134. height: 40px;
  2135. background: #003156;
  2136. margin-bottom: 12px;
  2137. color: #fff;
  2138. display: flex;
  2139. font-size: 13px;
  2140. line-height: 25px;
  2141. position: relative;
  2142. }
  2143. .el-tree {
  2144. background: #003156;
  2145. color: #fff;
  2146. margin-right: 2px;
  2147. padding-top: 7px;
  2148. }
  2149. ::v-deep .el-tree-node__content {
  2150. height: 32px !important;
  2151. }
  2152. ::v-deep .el-table .el-table__header-wrapper th,
  2153. .el-table .el-table__fixed-header-wrapper th {
  2154. word-break: break-word;
  2155. background-color: #004d86 !important;
  2156. color: #fff;
  2157. }
  2158. .box-lfet .dadui {
  2159. height: 40px;
  2160. background: #003156;
  2161. /* border-bottom: 1px solid #718A9D ; */
  2162. background-image: url(../../../images/矩形底部边框.png);
  2163. background-repeat: no-repeat;
  2164. background-position: 0px 39px;
  2165. font-size: 16px;
  2166. color: #1d96ff;
  2167. }
  2168. .box-lfet .dadui img {
  2169. margin: 10px 10px 0px 10px;
  2170. }
  2171. .box-lfet .data p {
  2172. position: absolute;
  2173. top: -5px;
  2174. left: 15px;
  2175. }
  2176. .box-lfet .data .a1 {
  2177. width: 128px;
  2178. height: 26px;
  2179. background: rgba(23, 74, 112, 0.4);
  2180. border-radius: 13px;
  2181. position: absolute;
  2182. top: 7px;
  2183. left: 60px;
  2184. }
  2185. ::v-deep .data .el-date-editor.el-input {
  2186. width: 100%;
  2187. border: none;
  2188. }
  2189. ::v-deep .data .el-input__inner {
  2190. width: 100% !important;
  2191. border: none;
  2192. }
  2193. ::v-deep .data .el-input--medium .el-input__icon {
  2194. line-height: 36px;
  2195. position: absolute;
  2196. right: -223px;
  2197. top: 2px;
  2198. }
  2199. ::v-deep .data .el-input__inner {
  2200. background-color: transparent;
  2201. color: #fff;
  2202. text-align: center;
  2203. margin-top: 2px;
  2204. }
  2205. ::v-deep .data .el-input__suffix {
  2206. position: absolute;
  2207. right: 281px;
  2208. }
  2209. /* 输入框显示手指 */
  2210. ::v-deep .el-input__inner {
  2211. cursor: pointer !important;
  2212. }
  2213. /* 训练、教育或者执行其他任务情况 */
  2214. .box {
  2215. margin-bottom: 25px;
  2216. padding-bottom: 20px;
  2217. }
  2218. ::v-deep .box .el-textarea__inner {
  2219. width: 395px;
  2220. border: none;
  2221. height: 50px;
  2222. }
  2223. ::v-deep .box .el-input__inner {
  2224. width: 100%;
  2225. height: 100%;
  2226. border: none;
  2227. text-align: center;
  2228. }
  2229. /* 查铺查哨-临时来对亲属 */
  2230. .box3 {
  2231. width: 920px;
  2232. min-height: 70px;
  2233. border: 1px solid white;
  2234. border-radius: 5px;
  2235. /* background: #409eff; */
  2236. /* margin-bottom: 30px; */
  2237. padding-top: 15px;
  2238. padding-left: 15px;
  2239. margin-bottom: 20px !important;
  2240. }
  2241. /* 表单长度 */
  2242. ::v-deep .box3 .el-form-item__content {
  2243. width: 140px;
  2244. display: flex;
  2245. }
  2246. ::v-deep .box3 .el-input__inner {
  2247. width: 142px;
  2248. height: 37px;
  2249. margin-bottom: 18px;
  2250. }
  2251. ::v-deep .el-select__caret .el-input__icon .el-icon-arrow-up {
  2252. margin-top: -10px;
  2253. }
  2254. /* 添加删除按钮 */
  2255. ::v-deep .box3 .el-button {
  2256. width: 32px;
  2257. height: 32px;
  2258. text-align: center;
  2259. margin-right: 3px;
  2260. margin-top: 2px;
  2261. margin-bottom: 10px;
  2262. }
  2263. ::v-deep .box3 .el-button .el-icon-plus {
  2264. margin-left: -6px;
  2265. }
  2266. ::v-deep .box3 .el-button .el-icon-delete {
  2267. margin-left: -6px;
  2268. }
  2269. ::v-deep .el-input__prefix {
  2270. display: none;
  2271. }
  2272. ::v-deep .el-date-editor.el-input {
  2273. width: 116px;
  2274. height: 36px;
  2275. line-height: 36px;
  2276. }
  2277. ::v-deep .box3 .el-form-item__content .el-input__inner {
  2278. padding: 0px 15px;
  2279. }
  2280. .box3 .el-form-item {
  2281. margin-bottom: 0px;
  2282. }
  2283. ::v-deep .el-select__caret {
  2284. margin-top: -10px !important;
  2285. }
  2286. .el-dialog__body {
  2287. color: #fff;
  2288. }
  2289. /* ::v-deep .vue-treeselect__menu {
  2290. background: #004d86;
  2291. } */
  2292. .greedd > .el-tree-node__content:after {
  2293. content: "";
  2294. width: 10px;
  2295. height: 10px;
  2296. border-radius: 50%;
  2297. background-color: #67c23a;
  2298. margin-left: 80px;
  2299. }
  2300. /* .greedd {
  2301. background-color: #67c23a
  2302. } */
  2303. /* 底部确定取消按钮 */
  2304. ::v-deep .el-dialog__footer {
  2305. padding: 18px 50px;
  2306. margin-right: 20px;
  2307. }
  2308. /* 增加按钮弹框 */
  2309. ::v-deep .el-dialog {
  2310. width: 1060px !important;
  2311. }
  2312. ::v-deep .el-dialog__body {
  2313. padding-left: 0px !important;
  2314. padding-right: 0px !important;
  2315. padding-bottom: 0px !important;
  2316. }
  2317. ::v-deep .box4 .el-textarea__inner {
  2318. min-height: 120px !important;
  2319. }
  2320. /* 调整输入框提示文字颜色 */
  2321. ::v-deep .vue-treeselect__placeholder {
  2322. color: #bdbdbd4f !important;
  2323. }
  2324. ::v-deep input::-webkit-input-placeholder {
  2325. color: #bdbdbd4f !important;
  2326. }
  2327. ::v-deep input:-moz-placeholder {
  2328. color: #bdbdbd4f !important;
  2329. }
  2330. .mb8 {
  2331. position: static;
  2332. }
  2333. .shuJu {
  2334. height: 16px;
  2335. margin-top: 13px;
  2336. margin-right: 90px;
  2337. float: right;
  2338. /* background-color: red; */
  2339. color: #fff;
  2340. font-size: 14px;
  2341. position: absolute;
  2342. right: 10px;
  2343. }
  2344. /* .public {
  2345. margin-right: 40px;
  2346. } */
  2347. .box44::before {
  2348. display: inline-block;
  2349. content: "";
  2350. width: 8px;
  2351. height: 8px;
  2352. /* border-radius: 50%; */
  2353. background-color: #1d96ff;
  2354. margin-left: 26px;
  2355. }
  2356. .box5::before {
  2357. display: inline-block;
  2358. content: "";
  2359. width: 8px;
  2360. height: 8px;
  2361. /* border-radius: 50%; */
  2362. background-color: #67c23a;
  2363. margin-left: 26px;
  2364. }
  2365. .box6::before {
  2366. display: inline-block;
  2367. content: "";
  2368. width: 8px;
  2369. height: 8px;
  2370. /* border-radius: 50%; */
  2371. background-color: #ff4949;
  2372. margin-left: 26px;
  2373. }
  2374. /* 文本域提示文字颜色 */
  2375. ::v-deep ::-webkit-input-placeholder {
  2376. color: #bdbdbd4f !important;
  2377. }
  2378. ::v-deep .el-tree-node__content:hover {
  2379. /* color: #fff; */
  2380. background-color: #003156;
  2381. background-image: url("../../../assets/images/选中.png");
  2382. background-size: 100% 100%;
  2383. background-repeat: no-repeat;
  2384. }
  2385. ::v-deep
  2386. .el-tree--highlight-current
  2387. .el-tree-node.is-current
  2388. > .el-tree-node__content {
  2389. color: #fff !important;
  2390. background-color: #003156;
  2391. background-image: url("../../../assets/images/选中.png");
  2392. background-size: 100% 100%;
  2393. background-repeat: no-repeat;
  2394. }
  2395. ::v-deep .el-tree-node__label {
  2396. color: #fff !important;
  2397. }
  2398. ::v-deep .box table td {
  2399. border-bottom: 1px solid white !important;
  2400. }
  2401. ::v-deep .data .el-input__inner {
  2402. border: none !important;
  2403. }
  2404. ::v-deep .box .el-input__inner {
  2405. border: none !important;
  2406. }
  2407. /* 卡片样式 */
  2408. .app-container {
  2409. height: calc(100vh - 108px) !important;
  2410. }
  2411. ::v-deep .el-dialog .el-input__suffix-inner .el-icon-circle-close:before {
  2412. content: "";
  2413. display: inline-block;
  2414. /* margin-left: 87px; */
  2415. }
  2416. ::v-deep .el-dialog .text .el-input__suffix-inner .el-icon-circle-close:before {
  2417. content: "";
  2418. display: inline-block;
  2419. margin-left: 87px;
  2420. }
  2421. ::v-deep .el-dialog .el-input--small .el-input__icon {
  2422. line-height: 37px;
  2423. }
  2424. /* 请假样式 */
  2425. ::v-deep .qing_jia {
  2426. margin-bottom: 30px;
  2427. }
  2428. ::v-deep .qing_jia .el-input__suffix-inner .el-icon-circle-close:before {
  2429. content: "";
  2430. display: inline-block;
  2431. }
  2432. /* 新增工作登记 */
  2433. .box1 {
  2434. width: 920px;
  2435. min-height: 100px;
  2436. border: 1px solid white;
  2437. color: #fff;
  2438. border-radius: 5px;
  2439. margin-bottom: 30px;
  2440. display: -webkit-box;
  2441. display: -ms-flexbox;
  2442. display: flex;
  2443. position: relative;
  2444. padding: 20px 20px 0px 30px;
  2445. }
  2446. .box1 ::v-deep .el-textarea__inner {
  2447. width: 806px;
  2448. min-height: 104px !important;
  2449. font-size: 14px;
  2450. }
  2451. .box1 ::v-deep .el-form-item__content {
  2452. margin-right: 12px;
  2453. }
  2454. .box1 ::v-deep .el-date-editor {
  2455. width: 170px !important;
  2456. height: 36px;
  2457. line-height: 36px;
  2458. }
  2459. .box1 ::v-deep .el-form-item__content {
  2460. width: 130px;
  2461. cursor: pointer !important;
  2462. }
  2463. .box2 ::v-deep .el-form-item__content .el-input__inner {
  2464. width: 170px !important;
  2465. }
  2466. .box2 {
  2467. display: inline-block;
  2468. }
  2469. .box ::v-deep .el-button--danger {
  2470. position: absolute;
  2471. top: 47px;
  2472. right: 64px;
  2473. }
  2474. </style>