taskUnitRatingFrom.vue 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872
  1. <template>
  2. <div class="taskUnitRatingDetail">
  3. <el-dialog title="单位考评评级详情" v-model="ratingdialogVisible" :fullscreen="true" :close-on-click-modal="false">
  4. <div class="taskUnit">
  5. <p class="starttitleSty">单据信息:</p>
  6. <el-row class="danjuMsg">
  7. <el-col :span="6">
  8. <div class="danjuMsg_data">
  9. <span class="data_tit">业务编号:</span>
  10. <span>{{receiptMsg.code}}</span>
  11. </div>
  12. <div class="danjuMsg_data">
  13. <span class="data_tit">创建日期:</span>
  14. <span>{{receiptMsg.createDate}}</span>
  15. </div>
  16. </el-col>
  17. <el-col :span="6">
  18. <div class="danjuMsg_data">
  19. <span class="data_tit">业务简述:</span>
  20. <span>{{receiptMsg.des}}</span>
  21. </div>
  22. <div class="danjuMsg_data">
  23. <span class="data_tit">年度:</span>
  24. <span>{{receiptMsg.year}}</span>
  25. </div>
  26. </el-col>
  27. <el-col :span="6">
  28. <div class="danjuMsg_data">
  29. <span class="data_tit">流程状态:</span>
  30. <span>{{receiptMsg.stage}}</span>
  31. </div>
  32. <div class="danjuMsg_data">
  33. <span class="data_tit">单据状态:</span>
  34. <span>{{receiptMsg.recStage}}</span>
  35. </div>
  36. </el-col>
  37. <el-col :span="6">
  38. <div class="danjuMsg_data">
  39. <span class="data_tit">创建人:</span>
  40. <span>{{receiptMsg.createName}}</span>
  41. </div>
  42. </el-col>
  43. </el-row>
  44. <div class="evaluationUnitRatingBtn">
  45. <div class="headerRight">
  46. <div class="seachFor">
  47. <el-input v-model="resCompanyName" placeholder="请输入单位名称" clearable
  48. @keyup.enter="getevaluRatingDiaList(rowObj, rowkeyId)"></el-input>
  49. <el-select v-model="businessStr" placeholder="请选择业务属性" clearable
  50. @change="getevaluRatingDiaList(rowObj, rowkeyId)">
  51. <el-option v-for="item in binSectionoptions" :key="item.sectionCode"
  52. :label="item.sectionName" :value="item.sectionCode">
  53. </el-option>
  54. </el-select>
  55. </div>
  56. <div class="tableBtn add" @click="handleAdd">
  57. <img :src="addIcon" alt="">
  58. <span>新增</span>
  59. </div>
  60. <div class="tableBtn save" @click="handleEdit">
  61. <img :src="saveIcon" alt="">
  62. <span>保存</span>
  63. </div>
  64. <div class="tableBtn delete" @click="handleDelete">
  65. <img :src="deleteIcon" alt="">
  66. <span>删除</span>
  67. </div>
  68. <div class="tableBtn import" @click="handleImport">
  69. <img :src="importIcon" alt="">
  70. <span>导入</span>
  71. </div>
  72. <div class="tableBtn export" @click="handleExport">
  73. <img :src="exportIcon" alt="">
  74. <span>导出</span>
  75. </div>
  76. </div>
  77. <div class="evaluationUnitRatingTableData">
  78. <!-- @row-click="rowClickToggle" -->
  79. <el-table :data="evaluationRatingDiaData" style="width: 100%" ref="tableSS" @select="rowClick"
  80. @select-all="rowClick">
  81. <el-table-column type="selection" label="操作" align="center"></el-table-column>
  82. <el-table-column type="index" label="序号" align="center"></el-table-column>
  83. <el-table-column label="考评单位" width="200">
  84. <template #default="scope">
  85. <el-tooltip class="box-item" effect="customized"
  86. :content="scope.row.organizationShortName" placement="right">
  87. <span class="tooltipCC">{{scope.row.organizationShortName}}</span>
  88. </el-tooltip>
  89. </template>
  90. </el-table-column>
  91. <el-table-column label="业务板块" prop="binSectionName" />
  92. <el-table-column label="考评年度" prop="year" />
  93. <el-table-column label="生成经营评级" prop="scjyRate" />
  94. <el-table-column label="前期评级" prop="qqRate" />
  95. <el-table-column label="基建评级" prop="jjRate" />
  96. <el-table-column label="年度评级" prop="yearRate" />
  97. </el-table>
  98. <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
  99. :current-page="page.currentPage" :page-size="page.pagesize"
  100. layout="total, prev, pager, next, jumper" :total="page.total">
  101. </el-pagination>
  102. <div>
  103. <p class="starttitleSty">审批意见:</p>
  104. <el-input v-model="descMsg" :rows="3" type="textarea" placeholder="请输入审批意见"></el-input>
  105. </div>
  106. </div>
  107. <el-dialog :title="title" custom-class="startToDia" v-model="dialogVisible" width="600px"
  108. :close-on-click-modal="false">
  109. <div class="periodFrom">
  110. <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px"
  111. class="demo-ruleForm" :validate-on-rule-change="false">
  112. <el-form-item label="考评单位" prop="companyRuleF">
  113. <el-select v-model="ruleForm.companyRuleF" placeholder="请选择考评单位" :disabled="isSave">
  114. <el-option v-for="item in companyData" :key="item.organizationId"
  115. :label="item.organizationShortName" :value="item.organizationId">
  116. </el-option>
  117. </el-select>
  118. </el-form-item>
  119. <el-form-item label="业务属性" prop="binSection">
  120. <el-select v-model="ruleForm.binSection" placeholder="请选择业务属性">
  121. <el-option v-for="item in binSectionoptions" :key="item.sectionCode"
  122. :label="item.sectionName" :value="item.sectionCode">
  123. </el-option>
  124. </el-select>
  125. </el-form-item>
  126. <el-form-item label="年份" prop="year">
  127. <el-date-picker v-model="ruleForm.year" :disabled="isSave" type="year"
  128. value-format="YYYY" placeholder="请选择年份" />
  129. </el-form-item>
  130. <el-form-item label="生成经营评级">
  131. <el-select v-model="ruleForm.scjyRate" placeholder="请选择评级">
  132. <el-option v-for="item in ratingArr" :key="item.value" :label="item.label"
  133. :value="item.value">
  134. </el-option>
  135. </el-select>
  136. </el-form-item>
  137. <el-form-item label="前期评级">
  138. <el-select v-model="ruleForm.qqRate" placeholder="请选择评级">
  139. <el-option v-for="item in ratingArr" :key="item.value" :label="item.label"
  140. :value="item.value">
  141. </el-option>
  142. </el-select>
  143. </el-form-item>
  144. <el-form-item label="基建评级">
  145. <el-select v-model="ruleForm.jjRate" placeholder="请选择评级">
  146. <el-option v-for="item in ratingArr" :key="item.value" :label="item.label"
  147. :value="item.value">
  148. </el-option>
  149. </el-select>
  150. </el-form-item>
  151. <el-form-item label="年度评级">
  152. <el-select v-model="ruleForm.yearRate" placeholder="请选择评级">
  153. <el-option v-for="item in ratingArr" :key="item.value" :label="item.label"
  154. :value="item.value">
  155. </el-option>
  156. </el-select>
  157. </el-form-item>
  158. <el-form-item label="描述" prop="remark">
  159. <el-input v-model="ruleForm.remark" :rows="5" type="textarea" placeholder="请输入描述">
  160. </el-input>
  161. </el-form-item>
  162. </el-form>
  163. </div>
  164. <template #footer>
  165. <span class="dialog-footer">
  166. <el-button @click="dialogVisible = false">取 消</el-button>
  167. <el-button type="primary" @click="saveevaluaStart('ruleForm')">确 定</el-button>
  168. </span>
  169. </template>
  170. </el-dialog>
  171. </div>
  172. </div>
  173. <template #footer>
  174. <span class="dialog-footer">
  175. <el-button type="primary" @click="examineAndApprove('agree')">同 意</el-button>
  176. <el-button @click="examineAndApprove('reject')">拒 绝</el-button>
  177. </span>
  178. </template>
  179. </el-dialog>
  180. <import-dailog ref="importPage" @successImport="successImport"></import-dailog>
  181. </div>
  182. </template>
  183. <script>
  184. import importDailog from '../importPage/importDailog.vue'
  185. import btns from '../elbuttonS.vue'
  186. import seachs from '../seachGroup.vue'
  187. import ExcelJS from 'exceljs'
  188. import fileSave from 'file-saver'
  189. import addIcon from '../../assets/btnIcon/add.png'
  190. import saveIcon from '../../assets/btnIcon/save.png'
  191. import deleteIcon from '../../assets/btnIcon/delete.png'
  192. import exportIcon from '../../assets/btnIcon/export.png'
  193. import importIcon from '../../assets/btnIcon/import.png'
  194. import {
  195. apiGetorganizationratinglist,
  196. apiGetorganizationratingsave,
  197. apiGetOrganizationListAll,
  198. apiGetbinsectionList,
  199. apiPostorganizationratingDelete,
  200. apiPostIsdoAction,
  201. apiGetorganizationyearratingHeader
  202. } from '../../api/api'
  203. export default {
  204. components: {
  205. importDailog,
  206. btns,
  207. seachs
  208. },
  209. data() {
  210. return {
  211. dialogVisible: false,
  212. ratingdialogVisible: false,
  213. isSave: false,
  214. title: '',
  215. descMsg: '',
  216. evalradio: {},
  217. addIcon: addIcon,
  218. saveIcon: saveIcon,
  219. deleteIcon: deleteIcon,
  220. exportIcon: exportIcon,
  221. importIcon: importIcon,
  222. changeDateSelect: [],
  223. evaluationRatingDiaData: [],
  224. companyData: [],
  225. binSectionoptions: [],
  226. ruleForm: {
  227. companyRuleF: '',
  228. year: '',
  229. binSection: '',
  230. scjyRate: '',
  231. qqRate: '',
  232. jjRate: '',
  233. yearRate: '',
  234. remark: ''
  235. },
  236. rules: {
  237. companyRuleF: [{
  238. required: true,
  239. message: '请选择考评单位',
  240. trigger: 'change'
  241. }],
  242. binSection: [{
  243. required: true,
  244. message: '请选择考评单位',
  245. trigger: 'change'
  246. }],
  247. year: [{
  248. required: true,
  249. message: '请选择年份',
  250. trigger: 'change'
  251. }]
  252. },
  253. page: {
  254. pagesize: 12,
  255. currentPage: 1,
  256. total: 0
  257. },
  258. receiptMsg: {
  259. code: '',
  260. des: '',
  261. stage: '',
  262. createName: '',
  263. createDate: '',
  264. year: '',
  265. recStage: ''
  266. },
  267. resCompanyName: '',
  268. businessStr: '',
  269. monthArr: [],
  270. ratingArr: [],
  271. winPix: window.devicePixelRatio,
  272. innerWidth: window.innerWidth,
  273. rowObj: {},
  274. instanceChild: {},
  275. rowkeyId: ''
  276. }
  277. },
  278. created() {
  279. this.ratingArr = [{
  280. label: 'A级',
  281. value: 'A'
  282. },
  283. {
  284. label: 'B级',
  285. value: 'B'
  286. },
  287. {
  288. label: 'C级',
  289. value: 'C'
  290. }
  291. ]
  292. },
  293. methods: {
  294. init(row, keyId, allData) {
  295. this.ratingdialogVisible = true
  296. this.rowObj = row
  297. this.rowkeyId = keyId
  298. this.instanceChild = allData
  299. this.getevaluRatingDiaList(row, keyId)
  300. this.getUnitRatingHeader(keyId)
  301. this.getOrganizetionData()
  302. this.getDataDictionary()
  303. },
  304. // 查询头部信息
  305. getUnitRatingHeader(id) {
  306. let that = this
  307. let params = {
  308. id: id
  309. }
  310. apiGetorganizationyearratingHeader(params).then(datas => {
  311. if (datas && datas.data) {
  312. let item = datas.data
  313. that.receiptMsg = {
  314. code: item.yearRatingCode,
  315. des: item.des,
  316. stage: item.stage,
  317. createName: item.createName,
  318. createDate: item.createTime,
  319. year: item.year,
  320. recStage: '有效'
  321. }
  322. }
  323. })
  324. },
  325. // 查询列表页面
  326. getevaluRatingDiaList(row, id) {
  327. let that = this
  328. let params = {
  329. pageNum: that.page.currentPage,
  330. pageSize: that.page.pagesize,
  331. organizationYearRatingId: id,
  332. organizationId: that.resCompanyName,
  333. binSection: that.businessStr,
  334. year: row.year
  335. }
  336. apiGetorganizationratinglist(params).then(datas => {
  337. if (datas && datas.data.records) {
  338. that.evaluationRatingDiaData = datas.data.records
  339. that.page.total = datas.data.total
  340. }
  341. })
  342. },
  343. //查询单位数据
  344. getOrganizetionData() {
  345. let that = this
  346. let params = {
  347. evaluationCycle: 'NDKP',
  348. organizationType: 'DWKP'
  349. }
  350. apiGetOrganizationListAll(params).then(datas => {
  351. if (datas && datas.data) {
  352. that.companyData = datas.data
  353. }
  354. })
  355. },
  356. // 查询属性和阶段
  357. getDataDictionary() {
  358. let that = this
  359. let params = {
  360. type: '1'
  361. }
  362. apiGetbinsectionList(params).then(datas => {
  363. if (datas && datas.data) {
  364. that.binSectionoptions = datas.data
  365. }
  366. })
  367. },
  368. saveevaluaStart(formName) {
  369. let that = this
  370. that.$refs[formName].validate((valid) => {
  371. if (valid) {
  372. that.saveAndEditIndicatorData()
  373. }
  374. });
  375. },
  376. //新增/修改考评启动数据
  377. saveAndEditIndicatorData() {
  378. let that = this
  379. let orgName = ''
  380. this.companyData.forEach(item => {
  381. if (item.organizationId === that.ruleForm.companyRuleF) {
  382. orgName = item.organizationShortName
  383. }
  384. })
  385. let params = {
  386. organizationId: that.ruleForm.companyRuleF,
  387. organizationShortName: orgName,
  388. year: that.ruleForm.year,
  389. binSection: that.ruleForm.binSection,
  390. scjyRate: that.ruleForm.scjyRate,
  391. qqRate: that.ruleForm.qqRate,
  392. jjRate: that.ruleForm.jjRate,
  393. yearRate: that.ruleForm.yearRate,
  394. remark: that.ruleForm.remark
  395. }
  396. if (that.isSave) {
  397. params.id = that.evalradio.id
  398. }
  399. apiGetorganizationratingsave(params).then(datas => {
  400. if (!datas.success) {
  401. that.$message({
  402. message: datas.message,
  403. type: 'error'
  404. });
  405. } else {
  406. if (!that.isSave) {
  407. that.$message({
  408. message: '单位绩效考核评级新增成功',
  409. type: 'success'
  410. });
  411. } else {
  412. that.$message({
  413. message: '单位绩效考核评级修改成功',
  414. type: 'success'
  415. });
  416. }
  417. that.dialogVisible = false
  418. that.changeDateSelect = []
  419. that.getevaluRatingDiaList(that.rowObj, that.rowkeyId)
  420. }
  421. })
  422. },
  423. examineAndApprove(type) {
  424. let that = this
  425. let actionCS = ''
  426. if (type === 'agree') {
  427. if (that.rowObj.taskType === 'SIGN') {
  428. actionCS = 'signAgree'
  429. } else if (that.rowObj.taskType === 'NORMAL') {
  430. actionCS = 'agree'
  431. }
  432. } else {
  433. if (that.rowObj.taskType === 'SIGN') {
  434. actionCS = 'signReject'
  435. } else if (that.rowObj.taskType === 'NORMAL') {
  436. actionCS = 'reject'
  437. }
  438. }
  439. let params = {
  440. taskId: that.rowObj.id, //任务ID
  441. nodeId: that.rowObj.nodeId, //节点ID
  442. action: actionCS, //固定值
  443. instanceId: that.rowObj.instId, //流程实例ID
  444. opinion: that.descMsg, //审批意见
  445. iamCode: window.localStorage.getItem('code'), //认证后code值
  446. taskName: that.rowObj.name,
  447. defKey: that.instanceChild.defKey,
  448. bizKey: that.instanceChild.bizKey
  449. }
  450. apiPostIsdoAction(params).then(datas => {
  451. if (datas && datas.data) {
  452. if (datas.data.isOk) {
  453. that.$message({
  454. message: datas.data.data,
  455. type: 'success'
  456. })
  457. that.ratingdialogVisible = false
  458. that.$emit('approveMsg', datas.data.isOk)
  459. } else {
  460. that.$message({
  461. message: datas.data.msg,
  462. type: 'error'
  463. })
  464. }
  465. }
  466. })
  467. },
  468. getSeachData() {
  469. this.getevaluRatingDiaList(that.rowObj, that.rowkeyId)
  470. },
  471. resetSeach() {
  472. this.resCompanyName = ''
  473. this.businessStr = ''
  474. this.getevaluRatingDiaList(that.rowObj, that.rowkeyId)
  475. },
  476. handleSizeChange(val) {
  477. this.page.pagesize = val
  478. this.getevaluRatingDiaList(that.rowObj, that.rowkeyId)
  479. },
  480. handleCurrentChange(val) {
  481. this.page.currentPage = val
  482. this.getevaluRatingDiaList(that.rowObj, that.rowkeyId)
  483. },
  484. rowClick(selection, row) {
  485. this.changeDateSelect = selection
  486. },
  487. // rowClickToggle(row) {
  488. // this.$refs.tableSS.toggleRowSelection(row)
  489. // },
  490. handleAdd() {
  491. this.dialogVisible = true
  492. this.isSave = false
  493. this.title = '新建单位绩效考核评级'
  494. this.$nextTick(() => {
  495. this.ruleForm = {
  496. companyRuleF: '',
  497. year: '',
  498. binSection: '',
  499. scjyRate: '',
  500. qqRate: '',
  501. jjRate: '',
  502. yearRate: '',
  503. remark: ''
  504. }
  505. })
  506. },
  507. handleEdit() {
  508. this.dialogVisible = true
  509. this.isSave = true
  510. this.title = '修改单位绩效考核评级'
  511. this.evalradio = this.changeDateSelect[0]
  512. this.ruleForm = {
  513. companyRuleF: this.evalradio.organizationId,
  514. year: this.evalradio.year,
  515. binSection: this.evalradio.binSection,
  516. scjyRate: this.evalradio.scjyRate,
  517. qqRate: this.evalradio.qqRate,
  518. jjRate: this.evalradio.jjRate,
  519. yearRate: this.evalradio.yearRate,
  520. remark: this.evalradio.remark
  521. }
  522. },
  523. //删除
  524. handleDelete() {
  525. this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
  526. confirmButtonText: '确定',
  527. cancelButtonText: '取消',
  528. type: 'warning'
  529. }).then(() => {
  530. let that = this
  531. let paramsArr = []
  532. that.changeDateSelect.forEach(it => {
  533. paramsArr.push(it.id)
  534. })
  535. apiPostorganizationratingDelete(paramsArr.join(',')).then(datas => {
  536. that.$message({
  537. type: 'success',
  538. message: '删除成功!'
  539. });
  540. that.getevaluRatingDiaList(that.rowObj, that.rowkeyId)
  541. that.changeDateSelect = []
  542. })
  543. })
  544. },
  545. handleImport() {
  546. this.$refs.importPage.upload.title = "单位考评评级"
  547. this.$refs.importPage.upload.open = true
  548. this.$refs.importPage.upload.url = '/organization-rating/import'
  549. },
  550. successImport(val) {
  551. this.getevaluRatingDiaList(that.rowObj, that.rowkeyId)
  552. },
  553. handleExport() {
  554. let data = this.evaluationRatingDiaData //接口返回数据
  555. const workbook = new ExcelJS.Workbook()
  556. const worksheet = workbook.addWorksheet('Sheet1')
  557. //根据数据自己调整
  558. let colums = []
  559. colums = [{
  560. header: 'ID',
  561. key: 'id',
  562. width: 26,
  563. hidden: true
  564. },
  565. {
  566. header: '考评单位',
  567. key: 'organizationShortName',
  568. width: 26
  569. },
  570. {
  571. header: '考评单位ID',
  572. key: 'organizationId',
  573. width: 26,
  574. hidden: true
  575. },
  576. {
  577. header: '业务板块ID',
  578. key: 'binSection',
  579. width: 26,
  580. hidden: true
  581. },
  582. {
  583. header: '考评年度',
  584. key: 'year',
  585. width: 26
  586. },
  587. {
  588. header: '生成经营评级',
  589. key: 'scjyRate',
  590. width: 26
  591. },
  592. {
  593. header: '前期评级',
  594. key: 'qqRate',
  595. width: 26
  596. },
  597. {
  598. header: '基建评级',
  599. key: 'jjRate',
  600. width: 26
  601. },
  602. {
  603. header: '年度评级',
  604. key: 'yearRate',
  605. width: 26
  606. },
  607. {
  608. header: '备注',
  609. key: 'remake',
  610. width: 26
  611. },
  612. ]
  613. worksheet.columns = colums
  614. worksheet.getRow(1).font = {
  615. size: 12,
  616. bold: true
  617. }
  618. worksheet.addRows(data)
  619. workbook.xlsx.writeBuffer().then(buffer => {
  620. //这里为type
  621. const blob = new Blob([buffer], {
  622. type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8'
  623. })
  624. fileSave(blob, `单位考评评级数据导出.xlsx`)
  625. })
  626. },
  627. }
  628. }
  629. </script>
  630. <style lang="less">
  631. .taskUnitRatingDetail {
  632. .el-overlay {
  633. .el-dialog {
  634. // margin-top: 7vh;
  635. .el-dialog__body {
  636. padding: 0 20px !important;
  637. .taskUnit {
  638. .starttitleSty {
  639. font-size: 18px;
  640. font-family: Microsoft YaHei;
  641. font-weight: bold;
  642. color: #3B7AD1;
  643. // line-height: 12px;
  644. margin: 20px 0 20px 10px;
  645. }
  646. .danjuMsg {
  647. border: 1px solid #D6DBEA;
  648. padding: 10px 20px;
  649. border-radius: 10px;
  650. // margin-bottom: 20px;
  651. .danjuMsg_data {
  652. padding: 5px 0 10px 0;
  653. .data_tit {
  654. margin-right: 10px;
  655. font-weight: bold;
  656. font-size: 14px;
  657. font-family: Microsoft YaHei;
  658. color: #8991B0;
  659. }
  660. .data_tit_wd {
  661. display: inline-block;
  662. width: 90px;
  663. }
  664. .el-form-item--small {
  665. .el-input {
  666. height: 25px;
  667. width: 160px;
  668. }
  669. margin-bottom: 0;
  670. .el-input-number {
  671. height: 25px;
  672. .el-input-number__decrease,
  673. .el-input-number__increase {
  674. right: -39px;
  675. }
  676. }
  677. }
  678. }
  679. }
  680. .evaluationUnitRatingBtn {
  681. .headerRight {
  682. display: flex;
  683. justify-content: flex-end;
  684. width: 100%;
  685. margin: 15px 0;
  686. .seachFor {
  687. display: flex;
  688. .el-input {
  689. height: 30px;
  690. margin-right: 5px;
  691. width: 150px;
  692. .el-input__inner {
  693. height: 30px;
  694. }
  695. // .el-input__suffix{
  696. // .el-select__caret{
  697. // line-height:30px;
  698. // }
  699. // }
  700. }
  701. .el-icon {
  702. margin: 5px 10px 0 10px;
  703. cursor: pointer;
  704. }
  705. }
  706. .tableBtn {
  707. display: flex;
  708. height: 20px;
  709. margin: 5px 8px 0 8px;
  710. // width: 20%;
  711. width: fit-content;
  712. img {
  713. margin-right: 5px;
  714. margin-top: 1px;
  715. }
  716. span {
  717. display: inline-block;
  718. width: 35px;
  719. font-size: 14px;
  720. font-family: Microsoft YaHei;
  721. font-weight: 400;
  722. }
  723. }
  724. .add {
  725. cursor: pointer;
  726. span {
  727. color: #3B7AD1;
  728. }
  729. }
  730. .save {
  731. cursor: pointer;
  732. span {
  733. color: #50C14E;
  734. }
  735. }
  736. .import {
  737. cursor: pointer;
  738. span {
  739. color: #ce1e78;
  740. }
  741. }
  742. .export {
  743. cursor: pointer;
  744. span {
  745. color: #2baa8a;
  746. }
  747. }
  748. }
  749. .evaluationUnitRatingTableData {
  750. .el-table {
  751. .el-table__body-wrapper {
  752. height: 40vh !important;
  753. }
  754. .el-input__inner {
  755. height: 30px !important;
  756. }
  757. .el-radio__label {
  758. display: none;
  759. }
  760. .tooltipCC {
  761. width: 300px !important;
  762. display: inline-block;
  763. overflow: hidden;
  764. text-overflow: ellipsis;
  765. white-space: nowrap;
  766. }
  767. .tooltipCCDes {
  768. width: 50px;
  769. display: inline-block;
  770. overflow: hidden;
  771. text-overflow: ellipsis;
  772. white-space: nowrap;
  773. }
  774. .indicitem {
  775. color: #409EFF;
  776. font-size: 12px;
  777. margin-right: 20px;
  778. cursor: pointer;
  779. &:hover {
  780. text-decoration: underline;
  781. }
  782. }
  783. }
  784. .el-pagination {
  785. margin-top: 20px;
  786. text-align: end;
  787. position: relative;
  788. }
  789. }
  790. .el-overlay {
  791. .startToDia {
  792. .el-dialog__body {
  793. padding: 30px 60px 30px 20px !important;
  794. .periodFrom {
  795. .el-select,
  796. .el-input {
  797. width: 100%;
  798. }
  799. .el-input {
  800. height: 30px;
  801. }
  802. }
  803. .flowSty {
  804. width: 100%;
  805. height: 70vh;
  806. }
  807. }
  808. }
  809. }
  810. }
  811. }
  812. }
  813. .el-dialog__footer {
  814. .dialog-footer {
  815. display: flex;
  816. justify-content: center;
  817. .el-button {
  818. width: 180px !important;
  819. height: 40px !important;
  820. }
  821. }
  822. }
  823. }
  824. }
  825. }
  826. </style>