audit-rectplanproject-form.vue 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853
  1. <template>
  2. <div :class="$style.rectprojectForm">
  3. <sd-webflow
  4. ref="flow"
  5. :validate-form="validForm"
  6. :removed-tabs="['sdRelatedDoc']"
  7. @actionBtnClick="actionBtnClick"
  8. >
  9. <template v-slot:form="{ model, fields, FlowData }">
  10. <table>
  11. <tr>
  12. <td style="border: none">
  13. <audit-advanced-group
  14. :expand="infoExpand"
  15. :expand-str="'infoExpand'"
  16. :group-label="'基本信息'"
  17. tablestyle="''"
  18. @changedClick="changedClick"
  19. ></audit-advanced-group>
  20. </td>
  21. </tr>
  22. </table>
  23. <table v-show="infoExpand">
  24. <colgroup>
  25. <col style="width: 180px"/>
  26. <col />
  27. <col style="width: 180px"/>
  28. <col
  29. /></colgroup>
  30. <tr>
  31. <!-- 项目名称 -->
  32. <sd-form-item-td name="projectName">
  33. <a-input v-model="model.projectName" read-only @click="mxRelSelect" />
  34. </sd-form-item-td>
  35. <sd-form-item-td name="projectSource">
  36. <span>{{ model.projectSource }}</span>
  37. </sd-form-item-td>
  38. </tr>
  39. <tr>
  40. <!-- 项目code -->
  41. <sd-form-item-td name="projectCode">
  42. <span>{{ model.projectCode }}</span>
  43. </sd-form-item-td>
  44. <!-- 审计方式 -->
  45. <sd-form-item-td name="auditMode">
  46. <span>{{ model.auditMode }}</span>
  47. </sd-form-item-td>
  48. </tr>
  49. <tr>
  50. <!-- 外聘机构 -->
  51. <sd-form-item-td name="externalUnitNames">
  52. <span>{{ model.externalUnitNames }}</span>
  53. </sd-form-item-td>
  54. <!-- 整改责任主体code -->
  55. <sd-form-item-td name="auditedUnitCode" :hidden="true" />
  56. <!-- 整改责任主体名称 -->
  57. <sd-form-item-td name="auditedUnitName" :hidden="true" />
  58. <!-- 整改责任主体 -->
  59. <sd-form-item-td name="auditedUnit">
  60. <sd-group-picker
  61. v-model="model.auditedUnit"
  62. :hierarchical="false"
  63. :single="true"
  64. @change="onChange"
  65. />
  66. </sd-form-item-td>
  67. </tr>
  68. <tr>
  69. <!-- 项目id -->
  70. <sd-form-item-td name="projectId" :colspan="3" :hidden="true" />
  71. </tr>
  72. <tr>
  73. <!-- 整改责任主体联系人 -->
  74. <sd-form-item-td name="auditedContacts">
  75. <sd-user-picker
  76. v-model="model.auditedContacts"
  77. :disabled-keys="
  78. model.auditedContacts && model.auditedContacts[0]
  79. ? [model.auditedContacts[0].code]
  80. : []
  81. "
  82. :hierarchical="false"
  83. :root-node="rootNode"
  84. :single="true"
  85. />
  86. </sd-form-item-td>
  87. <!-- 整改责任主体联系人账号 -->
  88. <sd-form-item-td name="auditedContactsAccount" :hidden="true" />
  89. <!-- 整改责任主体联系人名称 -->
  90. <sd-form-item-td name="auditedContactsName" :hidden="true" />
  91. <!-- 整改跟踪人账号 -->
  92. <sd-form-item-td name="resppersonsAccount" :hidden="true" />
  93. <!-- 整改跟踪人名称 -->
  94. <sd-form-item-td name="resppersonsName" :hidden="true" />
  95. <!-- 整改跟踪人 -->
  96. <sd-form-item-td name="resppersons" />
  97. </tr>
  98. <!-- 审计意见书下发时间 -->
  99. <tr>
  100. <sd-form-item-td name="opinionGiveTime"> </sd-form-item-td>
  101. </tr>
  102. <tr>
  103. <!-- 整改要求 -->
  104. <sd-form-item-td name="requirement" :colspan="3">
  105. <a-textarea v-model="model.requirement" :rows="3" />
  106. </sd-form-item-td>
  107. </tr>
  108. <tr>
  109. <!-- 整改要求附件 -->
  110. <sd-form-item-td name="rectattach" :colspan="3">
  111. <template v-slot:read-and-edit="{ editable }">
  112. <sd-attachment
  113. v-model="model.rectattach"
  114. :read-only="!editable"
  115. :group-id="JSON.parse(fields.rectattach.value).value"
  116. ></sd-attachment>
  117. </template>
  118. </sd-form-item-td>
  119. </tr>
  120. <tr>
  121. <!-- 整改计划状态 -->
  122. <sd-form-item-td name="planStatus" :colspan="3" :hidden="true" />
  123. </tr>
  124. </table>
  125. <table>
  126. <tr
  127. ><td :colspan="4">
  128. <!-- <sd-form-item name="iamWorkFindRectplanList" :label="null"> -->
  129. <sd-form-item name="spicWorkFindRectplanEntityList" :label="null">
  130. <template v-slot:read-and-edit="{ editable }">
  131. <audit-advanced-group
  132. :expand="findExpand"
  133. :expand-str="'findExpand'"
  134. :group-label="'审计问题'"
  135. @changedClick="changedClick"
  136. ><template>
  137. <template>
  138. <div :class="$style.wrapper">
  139. <div
  140. v-show="findExpand && editable && rectProjectId !== '' && isDraft"
  141. :class="$style.btnselect"
  142. >
  143. <a-button
  144. type="link"
  145. :class="$style.batchselect"
  146. @click="showselectfind"
  147. ><a-icon type="check-circle" :theme="'filled'" />
  148. 选择
  149. </a-button>
  150. </div>
  151. </div>
  152. </template>
  153. <!-- v-model="model.iamWorkFindRectplanList" -->
  154. <!-- ].concat(Array.from(fields.iamWorkFindRectplanList.attr.dync)) -->
  155. <audit-rectchild-table
  156. ref="tabaData"
  157. v-model="model.spicWorkFindRectplanEntityList"
  158. :deleteqx="isDraft"
  159. label="审计问题-整改内容"
  160. :read-only="!editable"
  161. :findinfoeditable="findinfoeditable"
  162. :fields="
  163. [
  164. {
  165. caption: '序号',
  166. name: 'sortNum',
  167. dataType: 'number',
  168. attr: {},
  169. },
  170. {
  171. caption: '操作',
  172. name: 'opt',
  173. dataType: 'action',
  174. attr: {},
  175. },
  176. ].concat(Array.from(fields.spicWorkFindRectplanEntityList.attr.dync))
  177. "
  178. :columns="FlowData.attrs.rectplanproject$findedit ? Columnszg : Columns"
  179. :flagpage="true"
  180. :fnrowclick="fnrowclick"
  181. >
  182. <!-- <template v-slot:opt="{ index }">
  183. <a @click="fnzgjh(index, $event)">整改计划</a>
  184. </template> -->
  185. <!-- form 表示这部分是子表组件的form插槽 -->
  186. <template v-slot:form="{ model, fields }">
  187. <table>
  188. <tr>
  189. <td style="padding-left: 5px">
  190. <audit-advanced-group
  191. :expand="findinfoExpand"
  192. :expand-str="'findinfoExpand'"
  193. :group-label="'审计问题-基本信息'"
  194. tablestyle="''"
  195. @changedClick="changedClick"
  196. ></audit-advanced-group>
  197. </td>
  198. </tr>
  199. </table>
  200. <table :class="$style.rectprojectchildForm">
  201. <colgroup>
  202. <col style="width: 15%" />
  203. <col style="width: 35%" />
  204. <col style="width: 15%" />
  205. <col style="width: 35%" />
  206. </colgroup>
  207. <tr v-show="findinfoExpand">
  208. <sd-form-item-td
  209. :label="'审计问题标题'"
  210. name="findingTitle"
  211. style="width: 50%"
  212. >
  213. {{ model.findingTitle }}
  214. </sd-form-item-td>
  215. <!-- 审计发现编号 -->
  216. <sd-form-item-td
  217. :label="'审计问题编号'"
  218. name="findingCode"
  219. style="width: 50%"
  220. >
  221. {{ model.findingCode }}
  222. </sd-form-item-td>
  223. </tr>
  224. <tr v-show="findinfoExpand">
  225. <!-- 审计发现类别 -->
  226. <!-- <sd-form-item-td name="findType" :colspan="3">
  227. <template v-slot:read-and-edit="{ editable }">
  228. {{ fngetjson(model.findType) }}
  229. </template>
  230. </sd-form-item-td> -->
  231. <!-- 问题分类 -->
  232. <!-- <sd-form-item-td name="problemCategoryFunction" :colspan="3">
  233. <template v-slot:read-and-edit="{ editable }">
  234. {{ fngetjson(model.problemCategoryFunction) }}
  235. </template>
  236. </sd-form-item-td> -->
  237. </tr>
  238. <tr v-show="findinfoExpand">
  239. <!-- 审计发现描述 -->
  240. <sd-form-item-td name="findDesc" :colspan="3" :label="'审计问题描述'">
  241. {{ model.findDesc }}
  242. </sd-form-item-td>
  243. </tr>
  244. <tr v-show="findinfoExpand">
  245. <!-- 审计建议描述 -->
  246. <!-- <sd-form-item-td name="suggestion" :colspan="3">
  247. {{ model.suggestion }}
  248. </sd-form-item-td> -->
  249. <!-- 审计处理意见 -->
  250. <sd-form-item-td
  251. name="handleSuggestion"
  252. :colspan="3"
  253. :label="'审计处理意见'"
  254. >
  255. {{ model.handleSuggestion }}
  256. </sd-form-item-td>
  257. </tr>
  258. <tr v-show="findinfoExpand">
  259. <!-- 问题责任部门 -->
  260. <sd-form-item-td
  261. name="responsibleDept"
  262. :label="'问题责任部门'"
  263. :colspan="3"
  264. >
  265. {{ model.responsibleDept }}
  266. </sd-form-item-td>
  267. <!-- 所属业务部 -->
  268. <!-- <sd-form-item-td name="businessProcess">
  269. {{ fngetlabel(fields.businessProcess, model.businessProcess) }}
  270. </sd-form-item-td> -->
  271. </tr>
  272. <tr v-show="findinfoExpand">
  273. <!-- 是否问责 -->
  274. <!-- <sd-form-item-td name="whetherOrderDuty">
  275. {{ fngetlabel(fields.whetherOrderDuty, model.whetherOrderDuty) }}
  276. </sd-form-item-td> -->
  277. <!-- 问责要求 -->
  278. <!-- <sd-form-item-td name="orderDutyAsk">
  279. {{ model.orderDutyAsk }}
  280. </sd-form-item-td> -->
  281. </tr>
  282. <!-- </table>
  283. <table> -->
  284. <tr>
  285. <td style="padding-left: 5px" colspan="4">
  286. <audit-advanced-group
  287. :expand="findinfoplanExpand"
  288. :expand-str="'findinfoplanExpand'"
  289. :group-label="'审计问题-整改内容'"
  290. tablestyle="''"
  291. @changedClick="changedClick"
  292. ></audit-advanced-group>
  293. </td>
  294. </tr>
  295. <tr v-show="findinfoplanExpand && findinfoeditable">
  296. <!-- 整改责任部门 -->
  297. <!-- <sd-form-item-td name="responsibleDeptName" :label="'整改责任部门'" /> -->
  298. <!-- 直接责任人 -->
  299. <!-- <sd-form-item-td name="directResponsible" /> -->
  300. </tr>
  301. <tr v-show="findinfoplanExpand && findinfoeditable">
  302. <!-- 领导责任人 -->
  303. <!-- <sd-form-item-td name="leaderResponsible" /> -->
  304. <!-- 共同责任部门 -->
  305. <!-- <sd-form-item-td name="commonDutyDepart" /> -->
  306. </tr>
  307. <!-- 完成日期 隐藏-->
  308. <!-- <tr v-show="findinfoplanExpand && findinfoeditable">
  309. <sd-form-item-td name="finishDate" :colspan="3" />
  310. </tr>
  311. <tr v-show="findinfoplanExpand && findinfoeditable">
  312. <sd-form-item-td :colspan="3" name="measure">
  313. <a-textarea v-model="model.measure" :rows="3" />
  314. </sd-form-item-td>
  315. </tr> -->
  316. <!-- 措施 隐藏-->
  317. <!-- {{ getFormSelectFieldValue(model.problemNature) }} -->
  318. <tr v-show="findinfoplanExpand && findinfoeditable">
  319. <!-- 问题性质 -->
  320. <sd-form-item-td name="problemNature">
  321. <!-- <span>{{ model.problemNature }}</span> -->
  322. <span>{{ getFormSelectFieldValue(model.problemNature) }}</span>
  323. </sd-form-item-td>
  324. <!-- 整改类别 -->
  325. <sd-form-item-td name="rectType">
  326. <!-- <template v-if="model.rectType !== ''">{{
  327. rtgetjson(model.rectType)
  328. }}</template>
  329. <template v-else> </template> -->
  330. <span>{{ model.rectType }}</span>
  331. </sd-form-item-td>
  332. </tr>
  333. <tr v-show="findinfoplanExpand && findinfoeditable">
  334. <!-- 整改状态 -->
  335. <sd-form-item-td name="rectState" />
  336. </tr>
  337. <tr v-show="findinfoplanExpand && findinfoeditable">
  338. <!-- 说明 -->
  339. <!-- <sd-form-item-td :colspan="3" name="remark">
  340. <a-textarea v-model="model.remark" :rows="3" />
  341. </sd-form-item-td> -->
  342. </tr>
  343. <!-- </table> -->
  344. <!-- <table v-show="findinfoplanExpand && !findinfoeditable"> -->
  345. <tr v-show="findinfoplanExpand && !findinfoeditable">
  346. <!-- 整改责任人 -->
  347. <!-- <sd-form-item-td
  348. name="responsibleDeptName"
  349. style="width: 50%"
  350. :label="'整改责任部门'"
  351. >
  352. <span>{{ model.responsibleDeptName }}</span>
  353. </sd-form-item-td> -->
  354. <!-- 直接责任人 -->
  355. <!-- <sd-form-item-td name="directResponsible" style="width: 50%">
  356. <span>{{ model.directResponsible }}</span>
  357. </sd-form-item-td> -->
  358. </tr>
  359. <tr v-show="findinfoplanExpand && !findinfoeditable">
  360. <!-- 领导责任人 -->
  361. <!-- <sd-form-item-td name="leaderResponsible">
  362. <span>{{ model.leaderResponsible }}</span>
  363. </sd-form-item-td> -->
  364. <!-- 共同责任部门 -->
  365. <!-- <sd-form-item-td name="commonDutyDepart">
  366. <span>{{ model.commonDutyDepart }}</span>
  367. </sd-form-item-td> -->
  368. </tr>
  369. <!-- 完成日期 -->
  370. <!-- <tr v-show="findinfoplanExpand && !findinfoeditable">
  371. <td class="ant-form-item-label ant-form-item-label"
  372. ><label title=" 拟整改完成日期"> 拟整改完成日期 </label></td
  373. >
  374. <td>
  375. <span>{{ model.finishDate | sdDateFormat('YYYY-MM-DD') }}</span></td
  376. >
  377. </tr>
  378. <tr v-show="findinfoplanExpand && !findinfoeditable">
  379. <td class="ant-form-item-label ant-form-item-label"
  380. ><label title=" 拟整改措施"> 拟整改措施 </label></td
  381. >
  382. <td colspan="3">
  383. <span>{{ model.measure }}</span></td
  384. >
  385. </tr> -->
  386. <!-- 措施 -->
  387. <tr v-show="findinfoplanExpand && !findinfoeditable">
  388. <!-- 问题性质 -->
  389. <sd-form-item-td name="problemNature">
  390. <!-- <span>{{ model.problemNature }}</span> -->
  391. <span>{{ getFormSelectFieldValue(model.problemNature) }}</span>
  392. </sd-form-item-td>
  393. <!-- 整改类别 -->
  394. <sd-form-item-td name="rectType">
  395. <!-- <template v-if="model.rectType !== ''">{{
  396. rtgetjson(model.rectType)
  397. }}</template>
  398. <template v-else> </template> -->
  399. <!-- <template>{{ rtgetjson(model.rectType) }}</template> -->
  400. <span>{{ model.rectType }}</span>
  401. </sd-form-item-td>
  402. </tr>
  403. <tr v-show="findinfoplanExpand && !findinfoeditable">
  404. <!-- 整改状态 -->
  405. <sd-form-item-td name="rectState">
  406. <span>{{ model.rectState }}</span>
  407. </sd-form-item-td>
  408. </tr>
  409. <tr v-show="findinfoplanExpand && !findinfoeditable">
  410. <!-- 说明 -->
  411. <!-- <sd-form-item-td :colspan="3" name="remark">
  412. <span>{{ model.remark }}</span>
  413. </sd-form-item-td> -->
  414. </tr>
  415. </table>
  416. </template>
  417. </audit-rectchild-table>
  418. </template>
  419. </audit-advanced-group>
  420. </template>
  421. </sd-form-item></td
  422. >
  423. </tr>
  424. </table>
  425. <audit-selectproject-modal
  426. :visible="visibleY"
  427. @listMxSelected="listMxSelected"
  428. @close="mxRelSelect"
  429. ></audit-selectproject-modal>
  430. <audit-selectfind-modal
  431. ref="selectfind"
  432. :visible="visibleZ"
  433. :project-id="projectId"
  434. @Selectedfind="Selectedfind"
  435. @closefind="showselectfind"
  436. ></audit-selectfind-modal>
  437. </template>
  438. </sd-webflow>
  439. </div>
  440. </template>
  441. <script>
  442. import { Modal, message } from 'ant-design-vue'
  443. import HandoverService from '@/work-handover/handover-service'
  444. import axios from '@/common/services/axios-instance'
  445. import auditAdvancedGroup from '../../components/audit-advanced-group.vue'
  446. import auditAdvancedGroupMixins from '../../components/audit-advanced-group-mixins'
  447. import auditSelectprojectModal from './audit-selectproject-modal.vue'
  448. import auditSelectfindModal from './audit-selectfind-modal.vue'
  449. // import auditSelectwbfindModal from './audit-selectwbfind-modal.vue'
  450. import auditRectchildTable from './table/audit-rectchild-table.vue'
  451. import components from './_import-components/audit-rectplanproject-form-import'
  452. import crossWindowWatcher from '@/common/services/cross-window-watcher'
  453. export default {
  454. name: 'AuditRectplanprojectForm',
  455. metaInfo: {
  456. title: '整改内容',
  457. },
  458. components: {
  459. ...components,
  460. auditAdvancedGroup,
  461. auditSelectprojectModal,
  462. auditSelectfindModal,
  463. auditRectchildTable,
  464. },
  465. mixins: [auditAdvancedGroupMixins],
  466. data() {
  467. return {
  468. rootNode: undefined,
  469. findinfoExpand: true,
  470. findinfoplanExpand: true,
  471. findinfoeditable: false,
  472. visibleY: false,
  473. visibleZ: false,
  474. visibleW: false,
  475. projectId: '',
  476. rectProjectId: '',
  477. infoExpand: true,
  478. findExpand: true,
  479. Columns: [
  480. {
  481. title: '序号',
  482. dataIndex: 'sortNum',
  483. width: '80px',
  484. customRender: (text, record, index) => `${index + 1}`,
  485. sdHidden: false,
  486. },
  487. { dataIndex: 'findingTitle', sdHidden: false, width: '30%' },
  488. { dataIndex: 'findingCode', sdHidden: false },
  489. { dataIndex: 'responsibleDeptName', title: '整改责任部门', sdHidden: false },
  490. { dataIndex: 'problemNature', title: '问题性质', sdHidden: false },
  491. { dataIndex: 'rectType', title: '整改类别', sdHidden: false },
  492. { dataIndex: 'rectState', title: '整改状态', sdHidden: false },
  493. // { dataIndex: 'finishDate', sdHidden: false },
  494. // {
  495. // dataIndex: 'measure',
  496. // sdHidden: false,
  497. // width: '30%',
  498. // },
  499. { dataIndex: 'projectId', sdHidden: true },
  500. { dataIndex: 'findType', sdHidden: true },
  501. // { dataIndex: 'problemCategoryFunction', sdHidden: true },
  502. { dataIndex: 'findDesc', sdHidden: true },
  503. { dataIndex: 'suggestion', sdHidden: true },
  504. { dataIndex: 'handleSuggestion', sdHidden: true },
  505. { dataIndex: 'businessProcess', sdHidden: true },
  506. { dataIndex: 'whetherOrderDuty', sdHidden: true },
  507. { dataIndex: 'orderDutyAsk', sdHidden: true },
  508. { dataIndex: 'directResponsible', sdHidden: true },
  509. { dataIndex: 'leaderResponsible', sdHidden: true },
  510. { dataIndex: 'commonDutyDepart', sdHidden: true },
  511. { dataIndex: 'remark', sdHidden: true },
  512. { dataIndex: 'findingId', sdHidden: true },
  513. { dataIndex: 'rectProjectId', sdHidden: true },
  514. // {
  515. // title: '操作',
  516. // dataIndex: 'opt',
  517. // sdHidden: true,
  518. // },
  519. ],
  520. Columnszg: [
  521. {
  522. title: '序号',
  523. dataIndex: 'sortNum',
  524. width: '80px',
  525. customRender: (text, record, index) => `${index + 1}`,
  526. sdHidden: false,
  527. },
  528. { dataIndex: 'findingTitle', sdHidden: false, width: '25%' },
  529. { dataIndex: 'findingCode', sdHidden: false },
  530. { dataIndex: 'responsibleDeptName', title: '整改责任部门', sdHidden: false },
  531. { dataIndex: 'problemNature', title: '问题性质', sdHidden: false },
  532. { dataIndex: 'rectType', title: '整改类别', sdHidden: false },
  533. { dataIndex: 'rectState', title: '整改状态', sdHidden: false },
  534. // { dataIndex: 'finishDate', sdHidden: false },
  535. // {
  536. // dataIndex: 'measure',
  537. // sdHidden: false,
  538. // width: '25%',
  539. // },
  540. { dataIndex: 'projectId', sdHidden: true },
  541. { dataIndex: 'findType', sdHidden: true },
  542. // { dataIndex: 'problemCategoryFunction', sdHidden: true },
  543. { dataIndex: 'findDesc', sdHidden: true },
  544. { dataIndex: 'suggestion', sdHidden: true },
  545. { dataIndex: 'handleSuggestion', sdHidden: true },
  546. { dataIndex: 'businessProcess', sdHidden: true },
  547. { dataIndex: 'whetherOrderDuty', sdHidden: true },
  548. { dataIndex: 'orderDutyAsk', sdHidden: true },
  549. { dataIndex: 'directResponsible', sdHidden: true },
  550. { dataIndex: 'leaderResponsible', sdHidden: true },
  551. { dataIndex: 'commonDutyDepart', sdHidden: true },
  552. { dataIndex: 'remark', sdHidden: true },
  553. { dataIndex: 'findingId', sdHidden: true },
  554. { dataIndex: 'rectProjectId', sdHidden: true },
  555. // {
  556. // title: '操作',
  557. // dataIndex: 'opt',
  558. // sdHidden: false,
  559. // },
  560. ],
  561. isDraft: false,
  562. problemNatureOptions: [],
  563. }
  564. },
  565. created() {
  566. setTimeout(() => {
  567. if (this.$refs.flow.getFieldValue('projectId') !== '') {
  568. this.projectId = this.$refs.flow.getFieldValue('projectId')
  569. }
  570. // 當前ID
  571. if (
  572. this.$refs.flow.getFieldValue('id') !== '' ||
  573. this.$refs.flow.getFieldValue('id') !== undefined
  574. ) {
  575. this.rectProjectId = this.$refs.flow.getFieldValue('id')
  576. }
  577. }, 1000)
  578. const flag = window.location.href.indexOf('draft')
  579. if (flag > -1) {
  580. this.isDraft = true
  581. }
  582. },
  583. mounted() {
  584. axios({
  585. url: 'api/xcoa-mobile/v1/iam-law/dictionary?key=IAM_PROBLEM_NATURE',
  586. method: 'get',
  587. }).then((res) => {
  588. if (res.status === 200) {
  589. this.problemNatureOptions = res.data
  590. }
  591. })
  592. },
  593. methods: {
  594. onChange() {
  595. debugger
  596. const id = this.$refs.flow.getFieldValue('auditedUnit')[0].code
  597. const name = this.$refs.flow.getFieldValue('auditedUnit')[0].name
  598. this.rootNode = { code: id, name: name }
  599. },
  600. fngetjson(data) {
  601. if (data !== undefined || data !== '') {
  602. if (typeof JSON.parse(data) === 'object') {
  603. return JSON.parse(data).text
  604. } else {
  605. return data
  606. }
  607. } else {
  608. return ''
  609. }
  610. },
  611. validForm() {
  612. // const child = this.$refs.flow.getFieldValue('iamWorkFindRectplanList')
  613. const child = this.$refs.flow.getFieldValue('spicWorkFindRectplanEntityList')
  614. if (child === undefined || child.length === 0) {
  615. Modal.warning({
  616. title: '提示',
  617. content: '请增加至少一条审计发现问题!',
  618. })
  619. return Promise.resolve(false)
  620. }
  621. const findinfoeditable = this.$refs.flow.FlowData.attrs.rectplanproject$findedit
  622. if (findinfoeditable) {
  623. const flag = true
  624. // let flag = true
  625. // child.forEach((c) => {
  626. // if (c.measure === '' || c.measure === null || c.measure === undefined) {
  627. // flag = false
  628. // }
  629. // if (c.finishDate === '' || c.finishDate === null || c.finishDate === undefined) {
  630. // flag = false
  631. // }
  632. // })
  633. if (flag) {
  634. return Promise.resolve(true)
  635. } else {
  636. Modal.warning({
  637. title: '提示',
  638. content: '请完善审计发现问题中的信息!',
  639. })
  640. return Promise.resolve(false)
  641. }
  642. } else {
  643. return Promise.resolve(true)
  644. }
  645. },
  646. actionBtnClick(evt, { button, FlowData }) {},
  647. // 问题发现
  648. showselectfind() {
  649. const type = this.$refs.flow.getFieldValue('projectSource')
  650. if (type === '') {
  651. Modal.warning({
  652. title: '提示',
  653. content: '请选择项目!',
  654. })
  655. return false
  656. }
  657. // if (type === '内部项目') {
  658. this.$refs.selectfind.projectId = this.projectId
  659. if (this.projectId !== '') {
  660. this.$refs.selectfind.filterExpressions = [
  661. {
  662. dataType: 'long',
  663. name: 'projectId',
  664. op: 'eq',
  665. longValue: parseFloat(this.projectId),
  666. },
  667. ]
  668. }
  669. this.visibleZ = !this.visibleZ
  670. },
  671. Selectedfind(keys, findlist) {
  672. // let list = this.$refs.flow.getFieldValue('iamWorkFindRectplanList')
  673. let list = this.$refs.flow.getFieldValue('spicWorkFindRectplanEntityList')
  674. if (list === undefined) {
  675. list = []
  676. }
  677. findlist.forEach((item) => {
  678. // 判断 list 是否有改id
  679. const index = list.findIndex((i) => i.findingId === item.id)
  680. if (index !== -1) {
  681. list.splice(index, 1)
  682. }
  683. item.findingId = item.id
  684. item.id = null
  685. item.rectProjectId = this.rectProjectId
  686. item.findingTitle = item.findTitle
  687. item.findingCode = item.findCode
  688. // if (item.auditedUnitNames !== undefined && item.auditedUnitNames) {
  689. // const unitname = item.auditedUnitNames
  690. // if (unitname.indexOf(',') > -1) {
  691. // const arrunit = unitname.split(',').filter((item) => item.trim())
  692. // item.responsibleDeptName = arrunit.join(',')
  693. // } else {
  694. // item.responsibleDeptName = item.auditedUnitNames
  695. // }
  696. // } else {
  697. // item.responsibleDeptName = ''
  698. // }
  699. item.select = true
  700. list.push(item)
  701. })
  702. // this.$refs.flow.setFieldValue('iamWorkFindRectplanList', list)
  703. this.$refs.flow.setFieldValue('spicWorkFindRectplanEntityList', list)
  704. },
  705. // 项目选择器列表
  706. mxRelSelect() {
  707. this.visibleY = !this.visibleY
  708. },
  709. listMxSelected(keys, keyinfos, key) {
  710. this.projectId = keyinfos[0].id
  711. this.$refs.flow.setFieldValue('projectId', keyinfos[0].id)
  712. this.$refs.flow.setFieldValue('projectName', keyinfos[0].projectTitle)
  713. this.$refs.flow.setFieldValue('projectCode', keyinfos[0].projectCode)
  714. this.$refs.flow.setFieldValue('auditMode', keyinfos[0].auditMode) // 审计方式
  715. this.$refs.flow.setFieldValue('externalUnitNames', keyinfos[0].externalUnitNames) // 外聘机构
  716. if (key === '1') {
  717. this.$refs.flow.setFieldValue('projectSource', '内部项目')
  718. } else {
  719. this.$refs.flow.setFieldValue('projectSource', '外部项目')
  720. }
  721. const unitsname = keyinfos[0].auditedUnitNames
  722. if (unitsname != null) {
  723. let unitscode = ''
  724. if (keyinfos[0].auditedUnitCodes !== undefined) {
  725. unitscode = keyinfos[0].auditedUnitCodes
  726. }
  727. if (keyinfos[0].auditedUnitIds !== undefined) {
  728. unitscode = keyinfos[0].auditedUnitIds
  729. }
  730. const vname = unitsname.split(',')
  731. const vcode = unitscode.split(',')
  732. const vunits = []
  733. if (vname.length < 2) {
  734. // 单位只有一个时才给整改责任主体赋值 add by zhangtt 2023-2-27
  735. vname.forEach((item, index) => {
  736. vunits.push({
  737. type: 'Group',
  738. code: vcode[index].toString(),
  739. name: vname[index].toString(),
  740. })
  741. })
  742. this.$refs.flow.setFieldValue('auditedUnit', vunits)
  743. this.onChange()
  744. } else {
  745. this.$refs.flow.setFieldValue('auditedUnit', [])
  746. }
  747. }
  748. // this.$refs.flow.setFieldValue('iamWorkFindRectplanList', [])
  749. this.$refs.flow.setFieldValue('spicWorkFindRectplanEntityList', [])
  750. },
  751. fnrowclick(record) {
  752. this.findinfoeditable = false
  753. },
  754. fnzgjh(index, event) {
  755. this.findinfoeditable = true
  756. this.$refs.tabaData.editlsfk(index, true)
  757. event.stopPropagation()
  758. },
  759. fngetlabel(obj, val) {
  760. if (obj.attr.selectListItem) {
  761. const o = obj.attr.selectListItem.find((item) => item.value === val)
  762. if (o) {
  763. return o.label
  764. } else {
  765. return val
  766. }
  767. } else {
  768. return val
  769. }
  770. },
  771. rtgetjson(data) {
  772. debugger
  773. var name = ''
  774. if (data !== undefined && data !== '') {
  775. var arr = JSON.parse(data)
  776. name = arr[0].name
  777. return name
  778. } else {
  779. return ''
  780. }
  781. },
  782. getFormSelectFieldValue(value) {
  783. let result = ''
  784. if (value !== undefined) {
  785. const resultArry = this.problemNatureOptions.filter((e) => {
  786. return e.id === value
  787. })
  788. if (resultArry.length > 0) {
  789. result = resultArry[0].name
  790. }
  791. }
  792. return result
  793. },
  794. },
  795. }
  796. </script>
  797. <style module lang="scss">
  798. @use '@/common/design' as *;
  799. .btnselect {
  800. position: relative;
  801. float: right;
  802. .batchselect {
  803. top: 4px;
  804. z-index: 100;
  805. margin-right: 100px;
  806. }
  807. }
  808. .rectprojectchild-form {
  809. :global(td.ant-form-item-label) {
  810. width: 15%;
  811. }
  812. :global(td.ant-form-item-control-wrapper) {
  813. width: 35%;
  814. }
  815. }
  816. .rectproject-form {
  817. :global(td.ant-form-item-label) {
  818. width: 15%;
  819. }
  820. :global(td.ant-form-item-control-wrapper) {
  821. width: 35%;
  822. }
  823. :global(.ant-calendar-picker) {
  824. width: 100%;
  825. }
  826. :global(.rectprojevtfinishdate) {
  827. :global(td.ant-form-item-control-wrapper) {
  828. border-right: none !important;
  829. }
  830. }
  831. }
  832. </style>