d4c88c9e9087420ce52b9e859723eaeb4c169f5a.svn-base 52 KB

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