6dd02dd4653e4cb036b060705d1c71056f60c4e9.svn-base 51 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309
  1. <template>
  2. <div class="edit_baseInfo">
  3. <div class="plan_container" style="display:none;">
  4. <div class="title_container">
  5. <!-- <h2>{{planList[0].schmTitle}} <i class="el-icon-arrow-down" @click="showTitlelist = !showTitlelist"></i> <span><i class="el-icon-time"></i>{{planList[0].schmSttm}} - {{planList[0].schmEnttm}}</span> </h2>
  6. <ul v-show="showTitlelist">
  7. <li v-for="(item,index) in planList" :key="index">{{item.schmTitle}}</li>
  8. <li>222</li>
  9. </ul> -->
  10. <div class="title_container">
  11. <p style="font-weight:bolder;">选择计划</p>
  12. <el-select v-model="defaultPlan" :placeholder="duChaName" size="medium" style="margin-left:10px;">
  13. <el-option
  14. v-for="(item,index) in planList"
  15. :key="index"
  16. :label="item.schmTitle"
  17. :value="item.schmId"
  18. >
  19. </el-option>
  20. </el-select>
  21. </div>
  22. <div class="title_container">
  23. <el-button v-if="userType == '1'" @click="createNewPlan" class="new_plan" type="primary" size="medium" icon="el-icon-circle-plus" plain>新建督查计划</el-button>
  24. </div>
  25. </div>
  26. <p> <span class="hrall"></span></p>
  27. <div class="plan_content">
  28. <el-card class="box-card" style="background-color:#ECF8FF">
  29. <div style="display:flex;">
  30. <p class="file_info">
  31. <span>年度:{{currentDuChaInformation.niandu}}</span>
  32. <span>公文号:{{currentDuChaInformation.schmNum}}</span>
  33. <span>发文单位:{{currentDuChaInformation.schmCdpname}}</span>
  34. <span>发文时间:{{currentDuChaInformation.schmSttm}}</span>
  35. </p>
  36. <div style="width: 30%;text-align: center;">
  37. <span>相关附件:</span>
  38. <span @click="showPdfGzfa" style="cursor:pointer;color: blue;text-decoration: underline;">{{this.fileName}}</span>
  39. </div>
  40. </div>
  41. </el-card>
  42. </div>
  43. </div>
  44. <p><span style="width:120px;padding-left: 10px;">水库督查 > 督查分工</span><span class="hrs"></span></p>
  45. <div class="info_content" :style="{'height':contentHeight+'px'}" style="display:flex;flex-direction:row;justify-contnet:space-around;align-items:center;">
  46. <el-row style="height:100%;width:100%;" :gutter="20" id="contentRow">
  47. <el-col :span="9" style="height:100%;">
  48. <div class="grid-content bg-purple" style="height:100%;">
  49. <el-card class="box-card" style="height:100%;">
  50. <div slot="header" class="clearfix">
  51. <span>分工节点</span>
  52. </div>
  53. <!-- 左侧树 -->
  54. <div>
  55. <el-tree
  56. :highlight-current="true"
  57. style="height:100%;"
  58. :data="treeData"
  59. node-key="id"
  60. :expand-on-click-node="false"
  61. @node-click = 'treeNodeClickHandler'
  62. @node-expand = 'treeOpened'
  63. ref="jigou_tree"
  64. >
  65. <div class="custom-tree-node" slot-scope="{ node, data }">
  66. <span style="float:left;">{{ data.pnm}}
  67. <el-button v-if="data.id.length > 6 && userInThisGroup(data) && hasPriv1('manage')"
  68. type="text danger"
  69. icon="el-icon-circle-close"
  70. size="mini"
  71. style='color:red'
  72. @click="() => deletePICI(node, data)">
  73. </el-button>
  74. </span>
  75. <div style="float:right;display: flex;justify-content: flex-end;align-items: center;width:50%;">
  76. <span style="color:blue;width:80px;">
  77. <el-button v-if="data.id.length < 10 && hasPriv1('manage')"
  78. type="text"
  79. icon="el-icon-circle-plus"
  80. size="mini"
  81. @click="() => addPICI(node,data,'批次')">
  82. 新建
  83. </el-button>
  84. </span>
  85. </div>
  86. </div>
  87. </el-tree>
  88. </div>
  89. </el-card>
  90. </div>
  91. </el-col>
  92. <el-col :span="15" style="height:100%;">
  93. <div class="grid-content bg-purple" style="height:100%;">
  94. <el-card class="box-card" style="height:100%;">
  95. <!-- <div slot="header" class="clearfix">
  96. <span>详情</span>
  97. </div> -->
  98. <!-- 右侧组件 -->
  99. <el-tabs v-model="activeContent" type="card" style="height:100%;width: 100%;">
  100. <el-tab-pane label="督查人员" name="first" style="overflow:auto" :style="{'height':(tabContentHeight-120)+'px'}" >
  101. <duChaRenYuanList v-if="showRightComponent" ref="renYuanList" :objType="duChaType" :dczId="currentSelectTreeNodeId" :dczName="currentSelectTreeNodeName" @showEditDialog="showEditDialog" ></duChaRenYuanList>
  102. </el-tab-pane>
  103. <el-tab-pane label="督查对象" name="second" style="overflow:auto" :style="{'height':(tabContentHeight-120)+'px'}" >
  104. <duChaDuiXiangList v-if="showRightComponent" ref="duiXiangList" :objType="duChaType" :plnaId ="plnaTreeCode" :dczId="currentSelectTreeNodeId" :dczName="currentSelectTreeNodeName"
  105. @showEditDialog_dx="showEditDialog_dx" @selectObjChange="selectObjChange" @emitCurrentObjSelectName="emitCurrentObjSelectName"></duChaDuiXiangList>
  106. </el-tab-pane>
  107. <el-tab-pane label="督查区域" name="third" style="overflow:auto" :style="{'height':(tabContentHeight-120)+'px'}" >
  108. <duChaQuYuList v-if="showRightComponent && duChaType=='1'" ref="qyList" :objType="duChaType" :dczId="currentSelectTreeNodeId" :dczName="currentSelectTreeNodeName"
  109. @showEditDialog="showEditDialog_qy" @selectObjChange="selectObjChange" @emitCurrentObjSelectName="emitCurrentObjSelectName"></duChaQuYuList>
  110. </el-tab-pane>
  111. </el-tabs>
  112. </el-card>
  113. </div>
  114. </el-col>
  115. </el-row>
  116. </div>
  117. <!-- <el-button type="primary" size="large" style="float:right;margin-right:10px;">下 发</el-button>
  118. <el-button type="primary" size="large" style="float:right;margin-right:10px;">保存</el-button> -->
  119. <!-- 新建督查计划话框 -->
  120. <el-dialog title="新建督查计划" :visible.sync="addPlanDialogVisible">
  121. <el-form :model="duchaForm" :label-width="formLabelWidth" class="ducha_form">
  122. <el-form-item label="公文号">
  123. <el-input v-model="duchaForm.wenhao" placeholder="请输入内容"></el-input>
  124. </el-form-item>
  125. <el-form-item label="时间范围">
  126. <el-date-picker
  127. v-model="duchaForm.startDate"
  128. type="daterange"
  129. range-separator="至"
  130. start-placeholder="开始日期"
  131. end-placeholder="结束日期"
  132. value-format="yyyy-MM-dd"
  133. @blur="formInfo.date == '' ? showTipsTime = 1 : showTipsTime = 0">
  134. </el-date-picker>
  135. </el-form-item>
  136. <el-form-item label="计划名称">
  137. <el-input v-model="duchaForm.name" placeholder="请输入内容"></el-input>
  138. </el-form-item>
  139. <el-form-item label="类型">
  140. <el-select v-model="duchaForm.type" placeholder="请选择">
  141. <el-option
  142. v-for="item in options"
  143. :key="item.value"
  144. :label="item.label"
  145. :value="item.value">
  146. </el-option>
  147. </el-select>
  148. </el-form-item>
  149. <el-form-item label="发文单位">
  150. <span style="font-size: 12px;color: #888"> 监督司</span>
  151. </el-form-item>
  152. <el-form-item label="接收单位">
  153. <!-- <el-tree :data="treeDataForNewPlan" :props="defaultProps" @node-click="handleNodeClick"></el-tree> -->
  154. <el-checkbox-group v-model="duchaForm.receiveUnit">
  155. <el-checkbox v-for="item in lyjgList" :key="item.orgCode" :label="item.orgName"></el-checkbox>
  156. </el-checkbox-group>
  157. </el-form-item>
  158. <el-form-item label="抄送单位">
  159. <el-checkbox-group v-model="duchaForm.copyUnit">
  160. <el-checkbox v-for="item in lyjgList" :key="item.orgCode" :label="item.orgName"></el-checkbox>
  161. </el-checkbox-group>
  162. </el-form-item>
  163. <el-form-item label="附件">
  164. <el-upload
  165. class="upload-demo"
  166. action="/pdcApi/file/insert"
  167. :data="formData"
  168. :on-remove="handleRemove"
  169. list-type="doc/docx/pdf"
  170. :file-list="fileList"
  171. :on-error="fileUpErr"
  172. :on-change="fileChange"
  173. :on-success="fileSuccess">
  174. <el-button size="small" type="primary">点击上传</el-button>
  175. <div slot="tip" class="el-upload__tip">只能上传doc/pdf文件,且不超过500kb</div>
  176. </el-upload>
  177. </el-form-item>
  178. </el-form>
  179. <div slot="footer" class="dialog-footer">
  180. <el-button @click="addPlanDialogVisible = false">取 消</el-button>
  181. <el-button type="primary" @click="appendPlan" >确 定</el-button>
  182. </div>
  183. </el-dialog>
  184. <!-- 新建批次对话框 -->
  185. <el-dialog :title="'新建' + addTypeText" :visible.sync="addPICIDialogVisible">
  186. <el-form :model="piciForm" :label-width="formLabelWidth">
  187. <el-form-item :label="addTypeText + '名称'">
  188. <el-input v-model="piciForm.name" placeholder="请输入内容"></el-input>
  189. </el-form-item>
  190. <el-form-item label="时间范围" v-if="currentSelectTreeNodeId.length > 3">
  191. <el-date-picker
  192. v-model="piciForm.startDate"
  193. type="daterange"
  194. range-separator="至"
  195. start-placeholder="开始日期"
  196. end-placeholder="结束日期"
  197. value-format="yyyy-MM-dd"
  198. @blur="formInfo.date == '' ? showTipsTime = 1 : showTipsTime = 0">
  199. </el-date-picker>
  200. </el-form-item>
  201. </el-form>
  202. <div slot="footer" class="dialog-footer">
  203. <el-button @click="addPICIDialogVisible = false">取 消</el-button>
  204. <el-button type="primary" @click="appendPICI" >确 定</el-button>
  205. </div>
  206. </el-dialog>
  207. <editDczInfo ref="editDczInfoRef" :dczId="currentSelectTreeNodeId" :jiGouId="orgId" @addSuccess="RenYuanaAddSuccessHandler"></editDczInfo>
  208. <editDcdxInfo ref="editDcdxInfoRef" :objType="duChaType" :pType="pType" :plnaId ="currentSelectTreeNodeId" :dczId="currentSelectTreeNodeId" @addSuccess="DuiXiangAddSuccessHandler"></editDcdxInfo>
  209. <editDcqyInfo ref="editDcqyInfoRef" :objType="duChaType" :plnaId ="currentSelectTreeNodeId" :dczId="currentSelectTreeNodeId" @addSuccess="quYuAddSuccessHandler"></editDcqyInfo>
  210. <!-- 新建督查组对话框 -->
  211. <el-dialog title="新建督查组" :visible.sync="addZuDialogVisible">
  212. <el-form :model="zuForm" class="duchazu_form">
  213. <el-form-item label="督查组名称" :label-width="formLabelWidth">
  214. <el-input v-model="zuForm.name" placeholder="请输入内容"></el-input>
  215. </el-form-item>
  216. <!-- <el-form-item label="组长" :label-width="formLabelWidth">
  217. <el-select v-model="zuForm.leaderCode" placeholder="请选择督查组组长" @change="zuLeaderChange">
  218. <el-option v-for="person in jigourenyuan" :label="person.personName" :key="person.personCode" :value="person.personCode"></el-option>
  219. </el-select>
  220. </el-form-item> -->
  221. <el-form-item label="督查组员" :label-width="formLabelWidth">
  222. <el-input placeholder="请输入姓名" v-model="member_search" style="width: 200px;padding-bottom: 10px;" class="input-with-select">
  223. <el-button slot="append" icon="el-icon-search" @click="search"></el-button>
  224. </el-input>
  225. </el-form-item>
  226. <el-form-item label="" :label-width="formLabelWidth">
  227. <!-- <el-transfer
  228. style="text-align: left; display: inline-block"
  229. v-model="zuForm.member"
  230. :props="{
  231. key: 'personCode',
  232. label: 'personName'
  233. }"
  234. :titles="['机构人员', '组员']"
  235. @change="zuMemberChange"
  236. :data="jigourenyuan">
  237. </el-transfer> -->
  238. <el-table border :data="currentShowList" tooltip-effect="dark" style="width: 100%" @selection-change="handleSelectionChange"
  239. ref="multipleTable" :row-class-name="tableRowClassName">
  240. <el-table-column type="selection" width="40"></el-table-column>
  241. <el-table-column prop="persName" width="100" label="姓名"></el-table-column>
  242. <el-table-column prop="sex" label="性别" width="50">
  243. <template slot-scope="scope">
  244. <span>{{scope.row.sex == '1' ? '女' : '男'}}</span>
  245. </template>
  246. </el-table-column>
  247. <el-table-column prop="telnumb" label="电话"></el-table-column>
  248. <el-table-column prop="status" label="在职状态">
  249. <template slot-scope="scope">
  250. <span>{{scope.row.status == '1' ? '在岗' : '离岗'}}</span>
  251. </template>
  252. </el-table-column>
  253. <el-table-column prop="bornPlac" label="户籍"></el-table-column>
  254. <el-table-column label="操作">
  255. <template slot-scope="scope">
  256. <!-- <el-radio v-model="radio" label="scope.persCode" @change="addGroupLeader(scope.row,$event)"></el-radio> -->
  257. <span :class="{'blue': isGroupLeader === scope.$index}" @click="addGroupLeader(scope,$event)" style="cursor:pointer">设置组长</span>
  258. </template>
  259. </el-table-column>
  260. </el-table>
  261. <div class="block" style="display:flex;flex-direction:row;justify-content:center;align-items:center;padding-top: 5px;background-color: #fff;">
  262. <el-pagination
  263. small
  264. @current-change="handleCurrentChange"
  265. :pager-count="5"
  266. :current-page.sync="pageIndex"
  267. :page-size="pageSize"
  268. layout="total, prev, pager, next"
  269. :total="total">
  270. </el-pagination>
  271. </div>
  272. </el-form-item>
  273. </el-form>
  274. <div slot="footer" class="dialog-footer">
  275. <el-button @click="addZuDialogVisible = false">取 消</el-button>
  276. <el-button type="primary" @click='appendZU' >确 定</el-button>
  277. </div>
  278. </el-dialog>
  279. <!-- 管理人员框 -->
  280. <transition name="fade">
  281. <draggable v-if="showDetailpdfGzfa" initWidth=1000 initHeight=650 title="" style="z-index: 50000;top: 60px;left: 165px;background-color:white;" @closeDraggable="hiddenDetailGzfa">
  282. <div class="" style="height:100%;background-color:rgba(249,249,249,0.7);border-radius:0px 0px 10px 10px;padding-bottom: 10px;">
  283. <iframe id="gzfaPdf" width="100%" height="100%" :src="pdfTitle" color="white" background-color="white" currentScaleValue="page-width"></iframe>
  284. </div>
  285. </draggable>
  286. </transition>
  287. </div>
  288. </template>
  289. <script>
  290. import request from '../../utils/gw_ajax_request.js';
  291. import index from '../../router';
  292. import duChaDuiXiangList from '../duChaGuanLi/duChaDuiXiangList_xsk.vue';
  293. import duChaQuYuList from '../duChaGuanLi/duChaQuYuList.vue';
  294. import draggable from '../../widgets/draggable.vue'
  295. import {dateFormat} from '../../utils/gw_date.js'
  296. import {createNewDcPlan,findFileByBiz,getProvincialOrgList} from '../../api/duChaPlan.js'
  297. export default {
  298. props: [],
  299. components: {
  300. draggable,
  301. 'duChaDuiXiangList':duChaDuiXiangList,
  302. 'duChaQuYuList':duChaQuYuList,
  303. duChaRenYuanList:resolve => {require(['../duChaGuanLi/duChaRenYuanList.vue'],resolve)},
  304. editDczInfo:resolve => {require(['./editDczInfo.vue'],resolve)},
  305. editDcdxInfo:resolve => {require(['./editDcdxInfo.vue'],resolve)},
  306. editDcqyInfo:resolve => {require(['./editDcqyInfo.vue'],resolve)},
  307. },
  308. data() {
  309. return {
  310. showRightComponent:false,
  311. contentHeight:window.innerHeight - 165,
  312. options: [
  313. {
  314. value: '1',
  315. label: '小水库督查计划'
  316. }, {
  317. value: '2',
  318. label: '农村饮用水工程督查计划'
  319. }, {
  320. value: '3',
  321. label: '水毁工程督查计划'
  322. }],
  323. lyjgList:[
  324. ],
  325. checkList:[],
  326. checkList1:[],
  327. pageIndex:1,
  328. pageSize:10,
  329. total:0,
  330. currentShowList:[],
  331. input5:'',
  332. formData:'',
  333. fileList:[],
  334. activeContent:'first',
  335. defaultPlan:'',
  336. dczInfo:{},
  337. dcdxInfo:{},
  338. // showEditDczInfo:false,
  339. duChaType:1,
  340. duChaCode:'',
  341. duChaName:'',
  342. planList: [],//督查列表
  343. fileUpData:[],//文件上传之后返回的文件信息
  344. tabContentHeight:0,
  345. deleteFlag:false,
  346. //业务用
  347. addPlanDialogVisible: false,
  348. addZuDialogVisible:false,
  349. addPICIDialogVisible:false,
  350. currentDuChaInformation:{
  351. "guid": "",
  352. "schmId": "",
  353. "schmNum": "",
  354. "schmTitle": "",
  355. "schmMkps": "",
  356. "schmType": "",
  357. "schmCdpcode": "",
  358. "schmSttm": "",
  359. "schmEnttm": "",
  360. "schmIntm": "",
  361. "schmUptm": '',
  362. "schmNote": "",
  363. "receiveDept": null,
  364. "copyDept": null,
  365. "fileList": null
  366. },
  367. //督查计划信息
  368. duchaForm:{
  369. wenhao: '',
  370. name:'',
  371. type:'',
  372. startDate:'',
  373. sendUnit: '监督司',
  374. receiveUnit: [],
  375. copyUnit: []
  376. },
  377. formLabelWidth:'120px',
  378. treeParams: {
  379. 'guid': '',
  380. 'userId': '',
  381. 'type': '',
  382. 'code': ''
  383. },
  384. treeData:[],
  385. organizationTree: [],
  386. addPICITreeNode:'',
  387. addZUTreeNode:'',
  388. //test
  389. addZuDialogVisible:false,
  390. zuForm: {
  391. name:'',
  392. leaderCode:'',
  393. leaderName:'',
  394. member:[],
  395. dist:'',
  396. target:[],
  397. },
  398. piciForm:{
  399. name:'',
  400. startDate:'',
  401. endDate:'',
  402. },
  403. jigourenyuan:[
  404. ],
  405. defaultProps: {
  406. children: 'children',
  407. label: 'label'
  408. },
  409. currentSelectTreeNodeName:'',
  410. currentSelectTreeNodeCode:'',
  411. currentSelectTreeNodeType:'',
  412. currentSelectTreeNodeId:'',
  413. plnaTreeCode:'',
  414. plnaTreeName:'',
  415. plnaTreeType:'',
  416. currentShowList:[
  417. // {
  418. // name: '张三',
  419. // tel: '110',
  420. // position: '处长',
  421. // jobTitle: '大师',
  422. // office: '黄河流域委员会'
  423. // },
  424. // {
  425. // name: '李四',
  426. // tel: '110',
  427. // position: '处长',
  428. // jobTitle: '大师',
  429. // office: '黄河流域委员会'
  430. // }
  431. ],
  432. isGroupLeader: '',
  433. groupLeaderId: '',
  434. memberId: '',
  435. memberIds: [],
  436. member_search: '',
  437. defaultDC: '',
  438. showDetailpdfGzfa:false,
  439. pdfTitle:'',
  440. fileName:'',
  441. fileObj:{},//存储文件相关对象
  442. firstMakeTree:true,
  443. staticJIGOUData:{
  444. '100':'水利部',
  445. '101':' 长江水利委员会',
  446. '102':'黄河水利委员会',
  447. '103':'淮河水利委员会',
  448. '104':'海河水利委员会',
  449. '105':'珠江水利委员会',
  450. '106':'松辽水利委员会',
  451. '107':'太湖流域管理局',
  452. '108':'中国水利水电科学研究院',
  453. '109':'中国灌溉排水发展中心',
  454. '110':'部督查办',
  455. },
  456. addType: '',
  457. addTypeText: '',
  458. pType: 1, //小水库
  459. }
  460. },
  461. computed:{
  462. userId:function(){
  463. return localStorage.getItem("userid")? localStorage.getItem("userid"): '1098101939614724096'
  464. },
  465. userInAllNode:function(){//当前登录用户所在的所有组信息
  466. return JSON.parse(localStorage.getItem("allNode"))? JSON.parse(localStorage.getItem("allNode")): []
  467. },
  468. orgId() {
  469. return localStorage.getItem("guid") ? localStorage.getItem("guid") : "";
  470. },
  471. orgName(){
  472. return localStorage.getItem("orgName")? localStorage.getItem("orgName"): ''
  473. },
  474. userType(){
  475. return localStorage.getItem("userType")? localStorage.getItem("userType"): '1'
  476. },
  477. currentShowLists:function(){
  478. return this.currentShowList.filter(item => item.persName.indexOf(this.member_search) > -1)
  479. },
  480. isAdmin:function(){
  481. return localStorage.getItem("isAdmin")? localStorage.getItem("isAdmin"): ''
  482. },
  483. },
  484. watch:{
  485. },
  486. mounted(){
  487. this.getPlanlist()
  488. this.getLeftTreeData();
  489. // this.getProvince()
  490. this.tabContentHeight = document.getElementById('contentRow').offsetHeight;
  491. this.showRightComponent = true;
  492. },
  493. methods:{
  494. hasPriv1(item){
  495. return this.ownPriv(item)
  496. },
  497. //判断当前用户 是否在该节点下 在 则没有删除权限
  498. userInThisGroup(item){
  499. var _self = this;
  500. if(_self.userInAllNode && _self.userInAllNode.length>0){
  501. for(var i=0;i<_self.userInAllNode.length;i++){
  502. if(_self.userInAllNode[i].id.substring(0,3)=='001'){
  503. if(item.id.length>_self.userInAllNode[i].id.length){
  504. return true;
  505. }else{
  506. return false;
  507. }
  508. }else{
  509. return true;
  510. }
  511. }
  512. }else{
  513. return true;
  514. }
  515. },
  516. tableRowClassName({row, rowIndex}) {
  517. if (rowIndex === this.isGroupLeader) {
  518. return 'zuzhang';
  519. }
  520. return '';
  521. },
  522. hiddenDetailGzfa:function(){
  523. this.showDetailpdfGzfa = false;
  524. },
  525. showPdfGzfa:function(){
  526. var pdfUrl = this.fileObj;
  527. if(pdfUrl.filePath.substring(pdfUrl.filePath.length-3) == 'doc' ||pdfUrl.filePath.substring(pdfUrl.filePath.length-4) == 'docx'){
  528. window.open('/pdcApi/'+pdfUrl.filePath);
  529. this.showDetailpdfGzfa = false;
  530. }else if(pdfUrl.filePath.substring(pdfUrl.filePath.length-3) == 'pdf'){
  531. this.showDetailpdfGzfa = true;
  532. this.pdfTitle = '/pdcApi/'+pdfUrl.filePath;
  533. };
  534. },
  535. createNewPlan(){
  536. this.addPlanDialogVisible = true;
  537. this.fileName = "";
  538. this.fileList = [];
  539. this.fileUpData = [];
  540. this.duchaForm = {
  541. wenhao: '',
  542. name:'',
  543. type:'',
  544. startDate:'',
  545. sendUnit: '监督司',
  546. receiveUnit: [],
  547. copyUnit: []
  548. };
  549. this.getTreeForNewPlan();
  550. },
  551. getTreeForNewPlan(){
  552. var _self = this;
  553. var obj = {};
  554. obj.guid = this.orgId;
  555. obj.type = '1';
  556. obj.code = this.orgId;
  557. // request.get('/dc/organization/base/getOrganizationTreeByGuidAndOthers',{params:obj}).then((res)=>{
  558. // _self.lyjgList = res.data;
  559. // })
  560. getProvincialOrgList().then(res=>{
  561. _self.lyjgList = res.data;
  562. })
  563. },
  564. zuMemberChange(){
  565. },
  566. zuLeaderChange(){
  567. },
  568. addGroupLeader(scope,event){
  569. this.isGroupLeader = scope.$index
  570. this.groupLeaderId = scope.row.guid
  571. this.memberIds.forEach((ele)=>{
  572. if(this.groupLeaderId == ele){
  573. console.log('选择组长')
  574. this.$refs.multipleTable.toggleRowSelection(scope.row,false)
  575. }
  576. })
  577. },
  578. handleSelectionChange(selection){
  579. // if(selection[selection.length - 1].guid == this.groupLeaderId){
  580. // selection.splice[selection.length - 1,1]
  581. // }
  582. this.memberIds = []
  583. console.log(selection)
  584. selection.forEach(element => {
  585. this.memberIds.push(element.guid)
  586. });
  587. this.memberId = this.memberIds.join(',')
  588. },
  589. // selectChange(val){
  590. // var _self = this;
  591. // console.log(val);
  592. // _self.fileName = "";
  593. // for(var i=0;i<this.planList.length;i++){
  594. // if(val == this.planList[i].schmId){
  595. // this.currentDuChaInformation = this.planList[i];
  596. // this.currentDuChaInformation['niandu']=this.currentDuChaInformation.schmSttm.split('-')[0];
  597. // this.duChaType = this.currentDuChaInformation.schmType;
  598. // // this.d
  599. // // _self.duChaType = _self.planList[i].type;
  600. // _self.duChaCode = _self.planList[i].guid.trim();
  601. // _self.treeData = [];
  602. // _self.firstMakeTree = true;
  603. // _self.currentSelectTreeNodeName = '';
  604. // _self.currentSelectTreeNodeCode = '';
  605. // _self.currentSelectTreeNodeType = '';
  606. // _self.plnaTreeCode = '';
  607. // _self.plnaTreeName = '';
  608. // _self.plnaTreeType = '';
  609. // let objName = _self.staticJIGOUData[_self.orgId] ;
  610. // let objtype = 2;
  611. // let objCode = _self.orgId;
  612. // _self.treeData.push({
  613. // 'guid' : objCode,
  614. // 'userId' : _self.orgId,
  615. // 'type' : '1',
  616. // 'code' : objCode,
  617. // 'name' : objName
  618. // });
  619. // // if(_self.orgId!='000'){
  620. // // let objName = _self.staticJIGOUData[_self.orgId] ;
  621. // // let objCode = _self.orgId + _self.duChaCode;
  622. // // let objtype = 2;
  623. // // _self.treeData.push({
  624. // // 'guid' : objCode,
  625. // // 'userId' : _self.orgId,
  626. // // 'type' : '2',
  627. // // 'code' : objCode,
  628. // // 'name' : objName
  629. // // });
  630. // // }else{
  631. // // ['100','101','102','103','104','105','106','107','108','109','110'].forEach((element)=>{
  632. // // let objName = _self.staticJIGOUData[_self.element] ;
  633. // // // let objCode = _self.element+_self.duChaCode;
  634. // // let objCode = _self.element+_self.duChaCode;
  635. // // let objtype = 2;
  636. // // _self.treeData.push(
  637. // // {
  638. // // 'guid' : objCode,
  639. // // 'userId' : _self.orgId,
  640. // // 'type' : '2',
  641. // // 'code' : objCode,
  642. // // 'name' : objName
  643. // // }
  644. // // )
  645. // // });
  646. // // }
  647. // console.log(this.duChaType);
  648. // }
  649. // }
  650. // findFileByBiz(val).then(response=>{
  651. // if(response.data){
  652. // _self.fileObj = response.data[0];
  653. // _self.pdfTitle = response.data[0].filePath;
  654. // _self.fileName = response.data[0].fileTitle;
  655. // }
  656. // })
  657. // },
  658. //根据机构ID获取计划列表
  659. changePlan(data){
  660. this.planList.forEach((ele)=>{
  661. if(ele.schmId == data){
  662. this.defaultDC = ele
  663. }
  664. })
  665. },
  666. getPlanlist(){
  667. var _self = this;
  668. request.get('/dc/insp/scheme/getDCFAListByOrgId',{params:{'id': _self.orgId}}).then((res)=>{
  669. // _self.planList = res.data;
  670. // _self.duChaType = res.data[0].type;
  671. // _self.duChaCode = res.data[0].guid.trim();
  672. // _self.duChaName = res.data[0].schmTitle;
  673. // _self.currentDuChaInformation = res.data[0];
  674. // _self.currentDuChaInformation['niandu']=_self.currentDuChaInformation.schmSttm.split('-')[0];
  675. // findFileByBiz(_self.currentDuChaInformation.schmId).then(response=>{
  676. // if(response.data){
  677. // _self.fileObj = response.data[0];
  678. // _self.pdfTitle = response.data[0].filePath;
  679. // _self.fileName = response.data[0].fileTitle;
  680. // }
  681. // })
  682. let objName = _self.staticJIGOUData[_self.orgId] ;
  683. let objCode = _self.orgId;
  684. let objtype = 2;
  685. _self.treeData.push({
  686. 'guid' : objCode,
  687. 'userId' : _self.orgId,
  688. 'type' : '1',
  689. 'code' : objCode,
  690. 'name' : objName
  691. });
  692. // if(_self.orgId!='000'){
  693. // let objName = _self.staticJIGOUData[_self.orgId] ;
  694. // let objCode = _self.orgId + _self.duChaCode;
  695. // let objtype = 2;
  696. // _self.treeData.push({
  697. // 'guid' : objCode,
  698. // 'userId' : _self.orgId,
  699. // 'type' : '2',
  700. // 'code' : objCode,
  701. // 'name' : objName
  702. // });
  703. // }else{
  704. // ['100','101','102','103','104','105','106','107','108','109','110'].forEach((element)=>{
  705. // let objName = _self.staticJIGOUData[_self.element] ;
  706. // let objCode = _self.element;
  707. // let objtype = 2;
  708. // _self.treeData.push(
  709. // {
  710. // 'guid' : objCode,
  711. // 'userId' : _self.orgId,
  712. // 'type' : '2',
  713. // 'code' : objCode,
  714. // 'name' : objName
  715. // }
  716. // )
  717. // });
  718. // }
  719. });
  720. },
  721. appendPlan(){
  722. var _self = this;
  723. var obj = {};
  724. var str_recieve = '';
  725. var str_copy = '';
  726. for(var i=0;i<this.lyjgList.length;i++){
  727. for(var j=0;j<this.duchaForm.receiveUnit.length;j++){
  728. if(this.lyjgList[i].orgName == this.duchaForm.receiveUnit[j]){
  729. str_recieve+=this.duchaForm.receiveUnit[j]+',';
  730. }
  731. }
  732. }
  733. for(var m=0;m<this.lyjgList.length;m++){
  734. for(var n=0;n<this.duchaForm.copyUnit.length;n++){
  735. if(this.lyjgList[m].orgName == this.duchaForm.copyUnit[n]){
  736. str_copy+=this.duchaForm.copyUnit[n]+',';
  737. }
  738. }
  739. }
  740. obj.schmNum = this.duchaForm.wenhao;//公文号
  741. obj.schmTitle = this.duchaForm.name;//计划名称
  742. obj.schmType = this.duchaForm.type;//类型
  743. obj.schmCdpcode = this.orgId;//发文单位代码
  744. obj.guid = this.orgId;//机构ID
  745. obj.schmSttm = this.duchaForm.startDate[0];
  746. obj.schmEnttm = this.duchaForm.startDate[1];
  747. obj.receiveDept = str_recieve;
  748. obj.copyDept = str_copy;
  749. obj.fileList = this.fileUpData;
  750. var params = {
  751. 'bisInspScheme':obj
  752. };
  753. request.post('/dc/insp/scheme',obj).then((res)=>{
  754. _self.getPlanlist()
  755. })
  756. // createNewDcPlan({'bisInspScheme':obj});
  757. this.addPlanDialogVisible = false
  758. },
  759. //根据用户id获取左侧树
  760. getLeftTreeData(){
  761. var _self = this;
  762. request.get('/dc/organization/base/getAllNode',{params:{'userId':this.userId,'orgType':'001'}}).then((res)=>{
  763. let data = res.data
  764. data.forEach(ele => {
  765. if(ele.pid == null || ele.pid == ''){
  766. ele.pid = '001'
  767. }if(ele.sttm==null || ele.sttm == ''){
  768. ele.sttm = ''
  769. }else{
  770. ele.sttm = dateFormat(ele.sttm,'yy-MM-dd');
  771. }if(ele.entm==null || ele.entm == ''){
  772. ele.entm = ''
  773. }else{
  774. ele.entm = dateFormat(ele.entm,'yy-MM-dd');
  775. }
  776. });
  777. data = _self.getTrees(data)
  778. _self.treeData = data;
  779. _self.currentSelectTreeNodeId = _self.treeData[0].id;
  780. // _self.duChaType = _self.treeData[0].id.substring(2,3);
  781. })
  782. },
  783. //格式化树形数据
  784. getTrees(list) {
  785. //@wxcwater重写方法 适应多个树
  786. let highLevelLength = 99;//预设最大节点id长度,目前最大应该为12,所以设置为99保证正常
  787. let _self =this;
  788. list.forEach((item,index)=>{
  789. item['pidLength'] = item.pid&&item.pid!=''?item.pid.length:0;
  790. if(highLevelLength>item.pidLength){
  791. highLevelLength = item.pidLength;
  792. }
  793. });
  794. console.log(highLevelLength);
  795. let heightLevelNode = [];
  796. list.forEach((item,index)=>{
  797. if(highLevelLength>=item.pidLength){
  798. heightLevelNode.push(item);
  799. }
  800. });
  801. list.forEach((item,index)=>{
  802. heightLevelNode.forEach((pItem)=>{
  803. _self.addTreeNode(pItem,item);
  804. });
  805. });
  806. console.log(heightLevelNode);
  807. return heightLevelNode;
  808. },
  809. addTreeNode:function(treeNode,leafNode){
  810. let _self = this;
  811. if(!treeNode.hasOwnProperty('children')){
  812. treeNode['children'] = [];
  813. }
  814. if(leafNode.pid == treeNode.id){
  815. treeNode.children.push(leafNode);
  816. return;
  817. }
  818. treeNode.children.forEach((item) => {
  819. _self.addTreeNode(item,leafNode);
  820. });
  821. },
  822. loadNode(node, resolve) {
  823. if (node.level === 0) {
  824. return resolve(this.treeData);
  825. }
  826. Object.assign(this.dczInfo,node)
  827. if (node.level > 4) return resolve([]);
  828. if(node.level == 2){
  829. // this.duChaType = node.data.code
  830. }
  831. this.treeParams.type = node.data.type
  832. this.treeParams.code = node.data.code
  833. request.get('/dc/organization/base/getOrganizationTreeByParams',{params:this.treeParams}).then((res)=>{
  834. let data = res.data
  835. if(!node.data.hasOwnProperty('children')){
  836. node.data['children'] = [];
  837. }
  838. node.data['children'] = data;
  839. resolve(data)
  840. })
  841. },
  842. treeNodeClickHandler:function(data,node,tree){
  843. if(this.deleteFlag){//如果点击删除节点 则不更新节点id
  844. this.deleteFlag = false;
  845. return;
  846. }
  847. // this.duChaType = data.id.substring(2,3);
  848. this.currentSelectTreeNodeName = data.name;
  849. this.currentSelectTreeNodeCode = data.code;
  850. this.currentSelectTreeNodeType = data.type;
  851. this.currentSelectTreeNodeId = data.id;
  852. if(data.type=='3'){
  853. this.plnaTreeCode = data.code;
  854. this.plnaTreeName = data.name;
  855. this.plnaTreeType = data.type;
  856. }
  857. },
  858. treeOpened(data,node,tree){
  859. this.currentSelectTreeNodeName = data.name;
  860. this.currentSelectTreeNodeCode = data.code;
  861. this.currentSelectTreeNodeType = data.type;
  862. this.currentSelectTreeNodeId = data.id;
  863. if(data.type=='3'){
  864. this.plnaTreeCode = data.code;
  865. this.plnaTreeName = data.name;
  866. this.plnaTreeType = data.type;
  867. }
  868. },
  869. handleNodeClick(){},
  870. getOrganizationTree(){
  871. this.treeParams.userId = this.userId
  872. this.treeParams.guid = this.orgId
  873. request.get('/dc/organization/base/getOrganizationTreeByParams',{params:this.treeParams}).then((res)=>{
  874. this.organizationTree = res.data
  875. this.treeData = this.organizationTree
  876. })
  877. },
  878. appendPICI() {
  879. console.log(this.addPICITreeNode)
  880. var _self = this;
  881. // let params = {
  882. // 'guid': this.addPICITreeNode.code,
  883. // 'prsnTitle': this.piciForm.name,
  884. // 'prsnId': this.userId,
  885. // 'palnSttm': this.piciForm.startDate[0],
  886. // 'palnEntm': this.piciForm.startDate[1]
  887. // }
  888. let params = {
  889. 'prsnTitle': this.piciForm.name,
  890. 'guid': this.addPICITreeNode.id,
  891. 'palnSttm': this.piciForm.startDate[0],
  892. 'palnEntm': this.piciForm.startDate[1]
  893. }
  894. request.post('/dc/insp/plan/addBisInspPlan',params).then((res)=>{
  895. const newChild = { id:res.data.code , pid:_self.addPICITreeNode.id,pnm:_self.piciForm.name,sttm:'',entm:'', children: [] };
  896. //to-do wxcwater 改这里。
  897. _self.$refs['jigou_tree'].append(newChild,_self.addPICITreeNode.id);
  898. _self.addPICIDialogVisible = false;
  899. })
  900. },
  901. appendZU() {
  902. let params = {
  903. 'guid': this.orgId,
  904. 'headmanId': this.groupLeaderId,
  905. 'inspGroupName': this.zuForm.name,
  906. 'memberId': this.memberId,
  907. 'plnaId': this.addZUTreeNode.code,
  908. "downStat": 2,
  909. "note": "备注"
  910. }
  911. request.post('/dc/insp/group/insertGroup',params).then((res)=>{
  912. const newChild = { code:res.data.code , type:res.data.type,name:res.data.name };
  913. //to-do 改这里
  914. this.$refs['jigou_tree'].append(newChild,this.addZUTreeNode.code);
  915. this.addZuDialogVisible = false;
  916. this.isGroupLeader = ''
  917. this.zuForm.name = ''
  918. })
  919. },
  920. deletePICI:function(node,data){
  921. this.deleteFlag = true;
  922. this.$confirm('是否删除批次:'+data.pnm+'及关联督查组?', '提示', {
  923. confirmButtonText: '确定',
  924. cancelButtonText: '取消',
  925. type: 'warning'
  926. }).then(() => {
  927. request.post(`/dc/insp/plan/${node.data.id}`).then((res)=>{
  928. if(res.success){
  929. if(res.message=="请先删除人员或对象"){
  930. this.$message({
  931. type: 'warning',
  932. message: '请先删除组内人员、对象及区域!'
  933. });
  934. }else{
  935. this.$refs.jigou_tree.remove(node)
  936. this.$message({
  937. type: 'success',
  938. message: '删除成功!'
  939. });
  940. }
  941. }
  942. })
  943. }).catch(() => {
  944. this.$message({
  945. type: 'info',
  946. message: '已取消删除'
  947. });
  948. });
  949. },
  950. deleteZU:function(node,data){
  951. this.$confirm('是否删除督查组:'+data.name+'?', '提示', {
  952. confirmButtonText: '确定',
  953. cancelButtonText: '取消',
  954. type: 'warning'
  955. }).then(() => {
  956. request.post(`/dc/insp/group/delete?id=${node.data.code}`).then((res)=>{
  957. this.$refs.jigou_tree.remove(node)
  958. this.$message({
  959. type: 'success',
  960. message: '删除成功!'
  961. });
  962. })
  963. }).catch(() => {
  964. this.$message({
  965. type: 'info',
  966. message: '已取消删除'
  967. });
  968. });
  969. },
  970. afterRemove(node, data) {
  971. const parent = node.parent;
  972. const children = parent.data.children || parent.data;
  973. const index = children.findIndex(d => d.id === data.id);
  974. children.splice(index, 1);
  975. },
  976. addPICI:function(node,nodeData,addType){
  977. this.addPICITreeNode = node.data;
  978. this.addPICIDialogVisible = true;
  979. if(addType == '计划'){
  980. this.addType = 2
  981. // this.addTypeText = '计划'
  982. }else{
  983. this.addType = 3
  984. // this.addTypeText = '批次'
  985. }
  986. },
  987. addZU:function(node,nodeData){
  988. console.log(node.data)
  989. this.addZUTreeNode = node.data;
  990. this.addZuDialogVisible = true;
  991. let params = {
  992. 'orgGuid': this.orgId,
  993. 'pageSize' : this.pageSize,
  994. 'pageNum' : this.pageIndex
  995. }
  996. request.get('/dc/pers/base/findList', {params:params}).then((res)=>{
  997. this.currentShowList = res.data.list
  998. this.total = res.data.total
  999. })
  1000. },
  1001. zuLeaderChange(){},
  1002. zuMemberChange(){},
  1003. showEditDialog(item){
  1004. // this.dczInfo = item;
  1005. // this.showEditDczInfo = true;
  1006. this.$refs['editDczInfoRef'].showDialog();
  1007. },
  1008. showEditDialog_dx(item){
  1009. this.$refs['editDcdxInfoRef'].showDialog(this.duChaType);
  1010. },
  1011. showEditDialog_qy(item){
  1012. this.$refs['editDcqyInfoRef'].showDialog();
  1013. },
  1014. emitCurrentObjSelectName(item){
  1015. this.$refs['editDcdxInfoRef'].changeCurrentObjSelectName(item);
  1016. },
  1017. selectObjChange(item){
  1018. // this.duChaType = item;
  1019. },
  1020. handleRemove(){
  1021. },
  1022. fileChange(){
  1023. },
  1024. fileSuccess(item){
  1025. this.fileUpData.push(item.data);
  1026. console.log('上传成功',item);
  1027. },
  1028. fileUpErr(item){
  1029. console.log(item+"wenjian");
  1030. if(item.status == 413){
  1031. this.$message({
  1032. message: '文件大小超出500K!',
  1033. type: 'warning'
  1034. });
  1035. }
  1036. },
  1037. search(){
  1038. var _self = this;
  1039. let params = {
  1040. 'orgGuid': this.orgId,
  1041. 'pageSize' : this.pageSize,
  1042. 'pageNum' : this.pageIndex,
  1043. 'persName':_self.member_search
  1044. }
  1045. request.get('/dc/pers/base/findList', {params:params}).then((res)=>{
  1046. this.currentShowList = res.data.list
  1047. this.total = res.data.total
  1048. })
  1049. },
  1050. handleCurrentChange(){
  1051. let params = {
  1052. 'orgGuid': this.orgId,
  1053. 'pageSize' : this.pageSize,
  1054. 'pageNum' : this.pageIndex
  1055. }
  1056. request.get('/dc/pers/base/findList', {params:params}).then((res)=>{
  1057. this.currentShowList = res.data.list
  1058. this.total = res.data.total
  1059. })
  1060. },
  1061. RenYuanaAddSuccessHandler:function(){
  1062. this.$refs['renYuanList'].getDcryResult();
  1063. },
  1064. DuiXiangAddSuccessHandler:function(){
  1065. this.$refs['duiXiangList'].getDcdxList1();
  1066. },
  1067. quYuAddSuccessHandler:function(){
  1068. this.$refs['qyList'].getDcqyResult();
  1069. },
  1070. },
  1071. }
  1072. </script>
  1073. <style>
  1074. .el-table .zuzhang {
  1075. background:#f0f9eb;
  1076. }
  1077. .edit_baseInfo{
  1078. width: 100%;
  1079. height:100%;
  1080. padding: 20px;
  1081. box-sizing: border-box;
  1082. }
  1083. .edit_baseInfo h3{
  1084. line-height: 30px;
  1085. font-size: 16px;
  1086. color: #333;
  1087. font-weight: normal;
  1088. }
  1089. .edit_baseInfo .info_content{
  1090. padding: 10px 10px 10px 10px;
  1091. font-size: 14px;
  1092. overflow: hidden;
  1093. }
  1094. .edit_baseInfo .el-col {
  1095. border-radius: 4px;
  1096. /* margin-right: 20px; */
  1097. }
  1098. .edit_baseInfo .bg-purple-dark {
  1099. background: #99a9bf;
  1100. }
  1101. .edit_baseInfo .bg-purple {
  1102. background: #d3dce6;
  1103. }
  1104. .edit_baseInfo .el-card__header{
  1105. padding: 8px 20px;
  1106. }
  1107. .edit_baseInfo .text {
  1108. font-size: 14px;
  1109. cursor: pointer;
  1110. }
  1111. .edit_baseInfo .text:hover{
  1112. background-color: #eee;
  1113. }
  1114. .edit_baseInfo .item {
  1115. padding: 5px;
  1116. }
  1117. .edit_baseInfo .clearfix:before,
  1118. .edit_baseInfo .clearfix:after {
  1119. display: table;
  1120. content: "";
  1121. }
  1122. .edit_baseInfo .clearfix:after {
  1123. clear: both
  1124. }
  1125. .plan_container .plan_content{
  1126. /* height: 200px; */
  1127. padding: 10px 20px;
  1128. font-size: 14px;
  1129. }
  1130. .plan_container .plan_content .el-card.is-always-shadow{
  1131. box-shadow: 0 2px 6px 0 rgba(0,0,0,.1)
  1132. }
  1133. .plan_container h2{
  1134. margin-bottom: 10px;
  1135. font-size: 22px;
  1136. color: #333;
  1137. }
  1138. .plan_container h2 .el-icon-arrow-down{
  1139. font-size: 20px;
  1140. cursor: pointer;
  1141. }
  1142. .plan_container h2 span{
  1143. margin-left: 20px;
  1144. font-size: 14px;
  1145. color: #666;
  1146. font-weight: normal;
  1147. }
  1148. .plan_container .el-icon-time{
  1149. position: relative;
  1150. top: 2px;
  1151. margin-right: 6px;
  1152. font-size: 20px;
  1153. }
  1154. .plan_container ul{
  1155. width: 220px;
  1156. /* border: solid 1px #ccc; */
  1157. list-style: none;
  1158. border-radius: 3px;
  1159. box-shadow: 0 2px 6px #ccc;
  1160. position: absolute;
  1161. z-index: 9;
  1162. }
  1163. .plan_container ul li{
  1164. padding: 5px 10px;
  1165. color: #888;
  1166. }
  1167. .plan_container ul li:hover{
  1168. background-color: #eee;
  1169. cursor: pointer;
  1170. }
  1171. .title_container{
  1172. position: relative;
  1173. display:flex;
  1174. flex-direction:row;
  1175. justify-content:space-between;
  1176. align-items:center;
  1177. }
  1178. .title_container p{
  1179. display: inline-block;
  1180. font-size: 14px;
  1181. margin-left: 20px;
  1182. color: #666;
  1183. }
  1184. .hrall{
  1185. display: inline-block;
  1186. width: calc(100%);
  1187. height: 1px;
  1188. vertical-align: middle;
  1189. background-color: #ddd;
  1190. }
  1191. p .hrs{
  1192. display: inline-block;
  1193. width: calc(100% - 40px);
  1194. margin-left:10px;
  1195. height: 1px;
  1196. vertical-align: middle;
  1197. background-color: #ddd;
  1198. }
  1199. .activeListItem{
  1200. background-color:#409EFF !important;
  1201. color:white !important;
  1202. }
  1203. .listitem{
  1204. color:black;
  1205. background-color:white;
  1206. padding:3px;
  1207. transition:all .5s;
  1208. cursor:pointer;
  1209. }
  1210. .listitem:hover{
  1211. border:1px solid #409EFF;
  1212. cursor:pointer;
  1213. }
  1214. .info_content .el-card__body {
  1215. padding: 16px;
  1216. height: 88%;
  1217. overflow-y: auto;
  1218. /* display: flex; */
  1219. }
  1220. .custom-tree-node {
  1221. flex: 1;
  1222. display: flex;
  1223. align-items: center;
  1224. justify-content: space-between;
  1225. font-size: 15px;
  1226. padding-right: 8px;
  1227. }
  1228. .new_plan{
  1229. float: right;
  1230. }
  1231. .plan_content .el-card__body{
  1232. padding: 10px;
  1233. }
  1234. .file_info{
  1235. display: flex;
  1236. justify-content: space-between;
  1237. width: 80%;
  1238. color: #666;
  1239. }
  1240. .ducha_form .el-input{
  1241. width: 350px;
  1242. }
  1243. .duchazu_form .el-form-item__content{
  1244. padding: 3px 2px;
  1245. }
  1246. .blue{
  1247. color: blue;
  1248. }
  1249. body .el-table th.gutter{display: table-cell!important;}
  1250. .edit_baseInfo .el-checkbox{
  1251. margin-left:30px;
  1252. }
  1253. .duchazu_form .el-checkbox{
  1254. margin-left: 0;
  1255. }
  1256. </style>