7dd942c2c265e063a49aff59e4ca1fa6e6b93050.svn-base 54 KB

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