purchaseContract.vue 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961
  1. <!--采购合同-->
  2. <!--2019年5月30日 20:25:16 by jlx-->
  3. <template>
  4. <div>
  5. <BaseHeaderLayout :leftSpan="8">
  6. <template slot="left">
  7. <ws-button type="primary" @click="handleAdd()"
  8. v-hasPermission="`contractManagement.buyContract.buyContractInfo.add`">添加</ws-button>
  9. <ws-button @click="exportlist()" v-hasPermission="
  10. `contractManagement.buyContract.buyContractInfo.view`
  11. ">导出</ws-button>
  12. </template>
  13. <template slot="right">
  14. <span style="width: 142px; display: inline-block; color: #8890b1">状态:</span>
  15. <ws-select v-model="searchTypeText" placeholder="" class="typeselect" @change="selecttaskType"
  16. :value="searchType">
  17. <ws-option v-for="item in taskTypeList" :key="item.value" :label="item.value" :value="item.value"
  18. style="color: #8890b1" />
  19. </ws-select>
  20. <el-date-picker v-model="value2" type="daterange" align="right" unlink-panels range-separator="至"
  21. start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions">
  22. </el-date-picker>
  23. <ws-input v-model="searchKeyWord" placeholder="可按照合同编号、买方名称、卖方名称进行查找" clearable maxlength="500"
  24. type="input" class="findValue"></ws-input>
  25. <ws-button class="find" type="primary" @click="find()"><img width="16" height="16" style="
  26. vertical-align: text-top;
  27. position: relative;
  28. top: 0px;
  29. left: -8px;
  30. " src="../../../public/img/sousuo.png" alt="" /></ws-button>
  31. </template>
  32. </BaseHeaderLayout>
  33. <el-table class="wenzi" :data="contractList.records" style="width: 100%; margin-top: 10px" height="780">
  34. <el-table-column type="index" label="序号">
  35. <template scope="scope">
  36. <span v-if="scope.$index < 9">0{{ scope.$index + 1 }}</span>
  37. <span v-else>{{ scope.$index + 1 }}</span>
  38. </template>
  39. </el-table-column>
  40. <el-table-column prop="contractNo" label="合同编号" width="150">
  41. </el-table-column>
  42. <el-table-column prop="goodsName" label="货名" width="80">
  43. </el-table-column>
  44. <el-table-column prop="grade" label="品级" width="80">
  45. <template slot-scope="scope">
  46. <span v-if="scope.row.grade == '一等品'" class="top-grade">{{
  47. scope.row.grade
  48. }}</span>
  49. <span v-if="scope.row.grade == '二等品'" class="second-class">{{
  50. scope.row.grade
  51. }}</span>
  52. <span v-if="scope.row.grade == '三等品'" class="third-class">{{
  53. scope.row.grade
  54. }}</span>
  55. <span v-if="scope.row.grade == '等外'" class="substandard">{{
  56. scope.row.grade
  57. }}</span>
  58. </template>
  59. </el-table-column>
  60. <el-table-column prop="weight" label="重量(吨)"> </el-table-column>
  61. <el-table-column prop="unitContractPrice" label="合同单价(元)">
  62. </el-table-column>
  63. <el-table-column prop="packingMethod" label="包装方式"> </el-table-column>
  64. <el-table-column prop="buyer" label="买方"> </el-table-column>
  65. <el-table-column prop="seller" label="卖方"> </el-table-column>
  66. <el-table-column prop="completedQuantity" label="已完成(吨)">
  67. <template slot-scope="scope">
  68. <span style="color: #5473e8; font-weight: 600">{{
  69. scope.row.completedQuantity
  70. }}</span>
  71. </template>
  72. </el-table-column>
  73. <el-table-column prop="status" label="状态">
  74. <template slot-scope="scope">
  75. <span v-if="scope.row.approveStatus">{{scope.row.approveStatus}}</span>
  76. <el-popover
  77. v-else
  78. placement="left"
  79. :width="285"
  80. trigger="click"
  81. visible-arrow="false"
  82. @show="history(scope.row)"
  83. >
  84. <template>
  85. <span slot="reference">
  86. <span
  87. v-if="scope.row.status == '待执行'"
  88. class="executory"
  89. ></span>
  90. <span
  91. v-if="scope.row.status == '执行中'"
  92. class="inExecution"
  93. ></span>
  94. <span v-if="scope.row.status == '已完成'" class="done"></span
  95. >{{ scope.row.status }}
  96. </span>
  97. </template>
  98. <div>
  99. <p style="margin-top: 0; padding-left: 10px">操作历史</p>
  100. <div
  101. v-for="(item, index) in historyList"
  102. :key="index"
  103. class="flex"
  104. >
  105. <div class="vertical-text vertical-text-left">
  106. {{ item.updateDate }}
  107. </div>
  108. <div>
  109. <div class="vertical-circle"></div>
  110. <div
  111. v-if="index != historyList.length - 1"
  112. class="vertical-line"
  113. ></div>
  114. </div>
  115. <div class="vertical-text">
  116. {{ item.operateUser }}<br />{{ item.dealMsg }}
  117. </div>
  118. </div>
  119. </div>
  120. </el-popover>
  121. <img
  122. v-if='!scope.row.approveStatus'
  123. width="17"
  124. height="18"
  125. style="vertical-align: text-top; position: relative; top: -1px"
  126. src="../../../public/img/edit.png"
  127. @click="editClick(scope.row)"
  128. alt=""
  129. />
  130. <!-- <i class="el-icon-edit" @click="editClick(scope.row)"></i> -->
  131. </template>
  132. </el-table-column>
  133. <el-table-column prop="signingDate" label="签订日期"> </el-table-column>
  134. <el-table-column prop="mildewGrain" label="已付款(元)">
  135. </el-table-column>
  136. <el-table-column prop="addressUrl" label="附件">
  137. <template slot-scope="scope">
  138. <img
  139. width="18"
  140. height="20"
  141. style="vertical-align: text-top; position: relative; top: -1px"
  142. src="../../../public/img/fujian.png"
  143. @click="fujian(scope.row)"
  144. alt=""
  145. />
  146. <span v-if="scope.row.addressUrlArray != null">
  147. {{scope.row.addressUrlArray.length == 0? "":scope.row.addressUrlArray.length}}
  148. </span>
  149. </template>
  150. </el-table-column>
  151. <el-table-column prop="address" label="操作" width="200">
  152. <template slot-scope="scope">
  153. <img
  154. width="16"
  155. height="16"
  156. style="vertical-align: text-top; margin: 0 6px"
  157. src="../../../public/img/chakan.png"
  158. @click="handleExamine(scope.row)"
  159. v-hasPermission="
  160. `contractManagement.buyContract.buyContractInfo.view`
  161. "
  162. alt=""
  163. />
  164. <div v-if='scope.row.approveStatus!="待决策人审核"&&scope.row.approveStatus||scope.row.status!="执行中"&&scope.row.status' style='display:inline-block;'>
  165. <img
  166. width="17"
  167. height="16"
  168. style="vertical-align: text-top; margin: 0 6px"
  169. src="../../../public/img/bianji.png"
  170. @click="handleEdit(scope.row)"
  171. v-hasPermission="
  172. `contractManagement.buyContract.buyContractInfo.edit`
  173. "
  174. alt=""
  175. />
  176. </div>
  177. <img
  178. width="16"
  179. height="17"
  180. style="
  181. vertical-align: text-top;
  182. position: relative;
  183. top: -1px;
  184. margin: 0 6px;
  185. " src="../../../public/img/shanchu.png" v-hasPermission="
  186. `contractManagement.buyContract.buyContractInfo.delete`
  187. " @click="handleDelete(scope.row)" alt="" />
  188. </template>
  189. </el-table-column>
  190. </el-table>
  191. <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
  192. :page-size="deptCircularPage.pageSize" layout="total, sizes, prev, pager, next, jumper"
  193. :total="deptBudgetTotal">
  194. </el-pagination>
  195. <WinseaContentModal v-model="accessoryTFs" :title="$t('system.noticeCircular.information')"
  196. @on-cancel="handleClose">
  197. <ws-upload ref="upload" :size-limit="size"
  198. @onChange="onChange" :comp-id="compId" :appendix-ids="appendixIdss"
  199. accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar" />
  200. </WinseaContentModal>
  201. </div>
  202. </template>
  203. <script>
  204. import {
  205. getList,
  206. export1,
  207. editstatus,
  208. billoperatehis,
  209. deletecontract,
  210. editInfo
  211. } from '@/model/contarct/index'
  212. import {
  213. downloadFile
  214. } from '@/utils/batchDown'
  215. import Pagination from '@/components/Pagination'
  216. import WsUpload from '@/components/WsUpload'
  217. import {
  218. dayjs,
  219. EventBus
  220. } from 'base-core-lib'
  221. export default {
  222. name: 'viewSpareMoney',
  223. components: {
  224. WsUpload,
  225. Pagination,
  226. },
  227. watch: {
  228. vesselId(val) {
  229. this.getList()
  230. },
  231. isShow(val) {
  232. this.showType = val
  233. },
  234. },
  235. data() {
  236. return {
  237. id:'',
  238. //弹出框
  239. dialogViewSpareMoney: false,
  240. dialogApproveFormVisible: false,
  241. // 船舶类型
  242. monetaryKey: null,
  243. // 表格显示数据
  244. tableDate: [],
  245. size: 10,
  246. // 是否显示
  247. showType: true,
  248. // 年
  249. year: '',
  250. deliver_type: 1,
  251. deptBudgetTotal: 0,
  252. currentPage: 1,
  253. pageSize: 10,
  254. appendixIdsAdd: '',
  255. searchType: 1,
  256. searchTypeText: '未完成',
  257. searchKeyWord: '',
  258. contractType: 2,
  259. goodsType: 1,
  260. startDate: null,
  261. endDate: null,
  262. addressUrls: [],
  263. accesscard: false,
  264. // 提交类型
  265. submitType: true,
  266. deptCircularPage: {},
  267. date: {
  268. year: dayjs().format('YYYY'),
  269. month: dayjs().format('MM'),
  270. },
  271. contractList: [],
  272. deptBudgetList: {},
  273. historyList: [],
  274. appendixIdss: [],
  275. fileList: [],
  276. compId: sessionStorage.getItem('ws-pf_compId'),
  277. pickerBeginDateBefore: {
  278. disabledDate: (time) => {
  279. return time.getTime() > Date.now()
  280. },
  281. },
  282. accessoryTFs: false,
  283. taskTypeList: [{
  284. value: '未完成',
  285. type: 1
  286. },
  287. {
  288. value: '已完成',
  289. type: 2
  290. },
  291. {
  292. value: '全部合同',
  293. type: ''
  294. },
  295. ],
  296. pickerOptions: {
  297. shortcuts: [{
  298. text: '本周',
  299. onClick(picker) {
  300. const end = new Date()
  301. const start = new Date()
  302. var thisDay = start.getDay()
  303. var thisDate = start.getDate()
  304. if (thisDay != 0) {
  305. start.setDate(thisDate - thisDay)
  306. }
  307. picker.$emit('pick', [start, end])
  308. },
  309. },
  310. {
  311. text: '本月',
  312. onClick(picker) {
  313. const end = new Date()
  314. const start = new Date()
  315. start.setDate(1)
  316. picker.$emit('pick', [start, end])
  317. },
  318. },
  319. {
  320. text: '本季度',
  321. onClick(picker) {
  322. var oDate = new Date()
  323. var thisYear = oDate.getFullYear()
  324. var thisMonth = oDate.getMonth() + 1
  325. var n = Math.ceil(thisMonth / 3) // 季度
  326. var Month = n * 3 - 1
  327. var start = new Date(thisYear, Month - 2, 1)
  328. var end = new Date()
  329. picker.$emit('pick', [start, end])
  330. },
  331. },
  332. ],
  333. },
  334. value1: '',
  335. value2: '',
  336. }
  337. },
  338. activated() {
  339. //cg.viewBudget
  340. //cg.viewSpareMoney
  341. // this.getVesselData();
  342. this.getList()
  343. this.showType = this.isShow
  344. },
  345. methods: {
  346. onChange () {
  347. this.$refs.upload
  348. .handleSaveBill()
  349. .then(async response => {
  350. this.deptBudgetList.addressUrl = response
  351. this.deptBudgetList.id=this.id
  352. this.deptBudgetList.flag=1
  353. editInfo(this.deptBudgetList)
  354. .toPromise()
  355. .then((response) => {
  356. this.accessoryTFs = false
  357. this.$message.success('上传成功')
  358. this.getList()
  359. })
  360. })
  361. .catch(res => {
  362. EventBus.$emit('error', (JSON.parse(res) || {}).message)
  363. this.$refs.upload.clearFiles()
  364. })
  365. },
  366. dateFormat(fmt, date) {
  367. let ret
  368. const opt = {
  369. 'Y+': date.getFullYear().toString(), // 年
  370. 'm+': (date.getMonth() + 1).toString(), // 月
  371. 'd+': date.getDate().toString(), // 日
  372. 'H+': date.getHours().toString(), // 时
  373. // "M+": date.getMinutes().toString(), // 分
  374. // "S+": date.getSeconds().toString() // 秒
  375. // 有其他格式化字符需求可以继续添加,必须转化成字符串
  376. }
  377. for (let k in opt) {
  378. ret = new RegExp('(' + k + ')').exec(fmt)
  379. if (ret) {
  380. fmt = fmt.replace(
  381. ret[1],
  382. ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
  383. )
  384. }
  385. }
  386. return fmt
  387. },
  388. handleClose() {
  389. this.dialogViewSpareMoney = false
  390. },
  391. handleSizeChange(val) {
  392. console.log(`每页 ${val} 条`)
  393. this.pageSize = val
  394. this.getList()
  395. },
  396. handleCurrentChange(val) {
  397. this.currentPage = val
  398. console.log(`当前页: ${val}`)
  399. this.getList()
  400. },
  401. getList() {
  402. getList({
  403. compId: sessionStorage.getItem('ws-pf_compId'),
  404. contractType: this.contractType,
  405. goodsType: this.goodsType,
  406. currentPage: this.currentPage,
  407. pageSize: this.pageSize,
  408. searchType: this.searchType,
  409. searchKeyWord: this.searchKeyWord,
  410. startDate: this.startDate,
  411. endDate: this.endDate,
  412. contrPage: this.contrPage,
  413. })
  414. .toPromise()
  415. .then((response) => {
  416. for (var i = 0; i < response.records.length; i++) {
  417. if (response.records[i].addressUrl != null) {
  418. if (response.records[i].addressUrl) {
  419. response.records[i].addressUrlArray =
  420. response.records[i].addressUrl.split(',')
  421. }
  422. } else {
  423. response.records[i].addressUrlArray = []
  424. }
  425. }
  426. this.deptCircularPage.currentPage = response.current
  427. this.deptCircularPage.pageSize = response.size
  428. this.deptBudgetTotal = response.total
  429. this.contractList = response
  430. for (var i = 0; i < response.records.length; i++) {
  431. var arr = new Array()
  432. this.addressUrls[i] = new Array()
  433. if (this.contractList.records[i].addressUrl != null) {
  434. arr = this.contractList.records[i].addressUrl.split(',')
  435. this.addressUrls[i] = arr
  436. }
  437. }
  438. })
  439. },
  440. // 上传附件
  441. uploadSuccess(data, files, url) {
  442. console.log(data, files, url)
  443. // this.deptBudgetList.
  444. // this.formData.append('files', files)
  445. // this.feedbackObj.uploadNameAttachment = data.appendixName
  446. // this.feedbackObj.pathUploadAttachment = data.appendixPath
  447. // // this.newAppendixs = files
  448. // this.onChangeFlag = true
  449. },
  450. editClick(row) {
  451. var status = ''
  452. if (row.status == '待执行' || row.status == '已完成') {
  453. status = '执行中'
  454. } else if (row.status == '执行中') {
  455. status = '已完成'
  456. }
  457. this.$confirm(`是否将状态改为${status}`, '提示', {
  458. confirmButtonText: '确定',
  459. cancelButtonText: '取消',
  460. type: 'warning',
  461. })
  462. .then(() => {
  463. editstatus({
  464. id: row.id
  465. })
  466. .toPromise()
  467. .then((response) => {
  468. this.$notify.success({
  469. title: '成功',
  470. message: '状态修改成功',
  471. })
  472. this.getList()
  473. })
  474. .catch((response) => {
  475. // EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
  476. })
  477. })
  478. .catch(() => {
  479. return false
  480. })
  481. },
  482. selecttaskType(e) {
  483. for (var i = 0; i < this.taskTypeList.length; i++) {
  484. if (this.taskTypeList[i].value == e) {
  485. this.searchType = this.taskTypeList[i].type
  486. }
  487. }
  488. },
  489. fujian(row) {
  490. this.id=row.id
  491. this.accessoryTFs = true
  492. this.appendixIdss = row.addressUrl
  493. console.log(this.appendixIdss)
  494. },
  495. handleExamine(row) {
  496. console.log(row)
  497. this.$router.push({
  498. name: 'purchaseContractExamine',
  499. query: {
  500. id: row.id,
  501. status: row.status
  502. },
  503. })
  504. },
  505. handleAdd() {
  506. this.$router.push({
  507. path: 'purchaseContractAdd'
  508. })
  509. },
  510. handleEdit(row) {
  511. this.$router.push({
  512. name: 'purchaseContractEdit',
  513. query: {
  514. id: row.id
  515. },
  516. })
  517. },
  518. // 关闭 dialog时 处理文件url 初始化upload组件
  519. history(row) {
  520. console.log(row)
  521. billoperatehis({
  522. id: row.id
  523. })
  524. .toPromise()
  525. .then((response) => {
  526. this.historyList = response
  527. })
  528. },
  529. find() {
  530. if (this.value2) {
  531. this.startDate = this.dateFormat('YYYY-mm-dd', this.value2[0])
  532. this.endDate = this.dateFormat('YYYY-mm-dd', this.value2[1])
  533. } else {
  534. this.startDate = ''
  535. this.endDate = ''
  536. }
  537. this.currentPage = 1
  538. this.getList()
  539. },
  540. async exportlist() {
  541. const {
  542. data
  543. } = await export1({
  544. compId: sessionStorage.getItem('ws-pf_compId'),
  545. contractType: this.contractType,
  546. goodsType: this.goodsType,
  547. currentPage: this.currentPage,
  548. pageSize: this.pageSize,
  549. searchType: this.searchType,
  550. searchKeyWord: this.searchKeyWord,
  551. startDate: this.startDate,
  552. endDate: this.endDate,
  553. }, {}, {
  554. responseType: 'blob'
  555. }).toPromise()
  556. downloadFile({
  557. res: data,
  558. fileName: `${
  559. this.date.year + (this.date.month ? `-${this.date.month}` : '')
  560. }_采购合同`,
  561. type: 'xls',
  562. })
  563. },
  564. // deletecontract(){},
  565. //删除
  566. handleDelete(row) {
  567. var text = ''
  568. if (row.deliverType == 1) {
  569. text =
  570. '删除该合同将同时永久删除合同对应的临时仓库相关数据,是否确定删除?'
  571. } else {
  572. text = '合同删除后不可恢复,是否继续删除?'
  573. }
  574. this.$confirm(text, '提示', {
  575. confirmButtonText: '确定',
  576. cancelButtonText: '取消',
  577. type: 'warning',
  578. })
  579. .then(() => {
  580. deletecontract({
  581. id: row.id
  582. })
  583. .toPromise()
  584. .then((response) => {
  585. this.$notify.success({
  586. title: '成功',
  587. message: '删除成功',
  588. })
  589. this.getList()
  590. })
  591. .catch((response) => {})
  592. })
  593. .catch(() => {
  594. return false
  595. })
  596. },
  597. },
  598. }
  599. </script>
  600. <style lang="scss" scoped>
  601. .vertical-text-left {
  602. width: 62px;
  603. text-align: right;
  604. }
  605. .flex {
  606. display: flex;
  607. }
  608. .el-range-editor.el-input__inner {
  609. margin-left: 10px;
  610. }
  611. /deep/.base_header_layout .grid-content.right .find.el-button--primary {
  612. width: 30px;
  613. margin-left: -10px;
  614. border-top-left-radius: 0px;
  615. border-bottom-left-radius: 0px;
  616. }
  617. .el-button--primary {
  618. background-color: #5878e8;
  619. border-color: #5878e8;
  620. }
  621. .el-button--default {
  622. border: 1px solid #5473e8;
  623. color: #5473e8;
  624. }
  625. .warning {
  626. width: 100%;
  627. height: 2px;
  628. background: red;
  629. }
  630. .executory,
  631. .inExecution,
  632. .done {
  633. width: 6px;
  634. height: 6px;
  635. display: inline-block;
  636. border-radius: 50%;
  637. position: relative;
  638. top: -1px;
  639. }
  640. .executory {
  641. background: #ff9f24;
  642. }
  643. .inExecution {
  644. background: #5878e8;
  645. }
  646. .done {
  647. background: #50cad4;
  648. }
  649. .top-grade {
  650. background: linear-gradient(90deg, #5678e9, #7993f6);
  651. color: #fff;
  652. padding: 3px;
  653. border-radius: 2px;
  654. }
  655. .second-class {
  656. background: linear-gradient(90deg, #50cdd9, #82e2ea);
  657. color: #fff;
  658. padding: 3px;
  659. border-radius: 2px;
  660. }
  661. .third-class {
  662. background: linear-gradient(90deg, #ffa735, #ffbf70);
  663. color: #fff;
  664. padding: 3px;
  665. border-radius: 2px;
  666. }
  667. .substandard {
  668. background: linear-gradient(90deg, #b2b4bb, #ced0d5);
  669. color: #fff;
  670. padding: 3px;
  671. border-radius: 2px;
  672. }
  673. .wrap {
  674. width: 400px;
  675. position: absolute;
  676. top: 131px;
  677. left: 794px;
  678. transform-origin: right center;
  679. z-index: 2005;
  680. }
  681. .vertical-line {
  682. height: 64px;
  683. border-left: 2px solid #e9ecf7;
  684. margin-left: 4px;
  685. padding: 0 3px;
  686. // border-image: -webkit-linear-gradient(#00eba7, #08b8e6) 30 30;
  687. // border-image: -moz-linear-gradient(#00eba7, #08b8e6) 30 30;
  688. // border-image: linear-gradient(#00eba7, #08b8e6) 30 30;
  689. }
  690. .el-pagination {
  691. padding: 10px 15px;
  692. margin-bottom: 0;
  693. text-align: center;
  694. }
  695. /deep/.el-pager li.active {
  696. color: #5878e8;
  697. cursor: default;
  698. }
  699. /deep/.el-pager li:hover {
  700. color: #5878e8;
  701. cursor: default;
  702. }
  703. .vertical-circle {
  704. width: 10px;
  705. height: 10px;
  706. border: 2px solid #5878e8;
  707. background-color: #ffffff;
  708. -webkit-border-radius: 100px;
  709. }
  710. .vertical-circle:first-child {
  711. color: red;
  712. }
  713. .vertical-text {
  714. margin: 0 10px;
  715. color: #8890b1;
  716. font-size: 12px;
  717. margin-top: -4px;
  718. }
  719. /deep/.el-table .el-table__header .cell,
  720. /deep/.el-table .el-table__body .cell {
  721. text-align: center;
  722. }
  723. .typeselect {
  724. width: 500px;
  725. }
  726. .padding-xs {
  727. padding: 15px;
  728. text-align: right;
  729. }
  730. .clearfix:after {
  731. content: '';
  732. display: block;
  733. clear: both;
  734. }
  735. .el-table {
  736. font-size: 16px;
  737. }
  738. .taskType {
  739. width: 100%;
  740. background-color: #fff;
  741. margin-top: 2px;
  742. margin-bottom: 10px;
  743. list-style: none;
  744. // padding-bottom: 20px;
  745. li {
  746. float: left;
  747. border: 1px solid #6ea0f3;
  748. border-radius: 5px;
  749. max-width: 190px;
  750. padding: 0 5px;
  751. text-align: center;
  752. margin: 10px 20px;
  753. cursor: pointer;
  754. font-size: 14px;
  755. p {
  756. margin: 8px 0px;
  757. span {
  758. color: #e74c3c;
  759. }
  760. }
  761. }
  762. li:hover {
  763. background-color: #e4eeff;
  764. color: #1d6ced;
  765. }
  766. }
  767. .el-date-editor--date {
  768. margin: 0 10px;
  769. }
  770. .findValue {
  771. margin: 0 10px;
  772. }
  773. /deep/.findValue .el-input__inner {
  774. border-top-right-radius: 0px;
  775. border-bottom-right-radius: 0px;
  776. }
  777. .button-container {
  778. display: flex;
  779. flex-wrap: nowrap;
  780. justify-content: space-between;
  781. align-items: center;
  782. background-color: #fff;
  783. width: 100%;
  784. height: 50px;
  785. padding: 0 10px;
  786. &>div {
  787. margin-left: 10px;
  788. display: flex;
  789. flex-wrap: nowrap;
  790. flex-direction: row;
  791. &>span {
  792. line-height: 50px;
  793. }
  794. }
  795. /deep/.auditFlow-box {
  796. position: unset;
  797. margin-left: 10px;
  798. &/deep/.auditFlow-icon {
  799. width: auto;
  800. padding-right: 30px;
  801. }
  802. &/deep/.auditFlow-main {
  803. position: absolute;
  804. }
  805. }
  806. }
  807. .box-app {
  808. display: inline-block;
  809. float: left;
  810. margin-left: 30px;
  811. line-height: 50px;
  812. }
  813. /deep/.el-dialog {
  814. .el-form-item {
  815. margin-bottom: 0 !important;
  816. .el-input--medium {
  817. textarea {
  818. min-height: 100px !important;
  819. }
  820. }
  821. }
  822. }
  823. .collapse-bottom {
  824. margin-bottom: 20px;
  825. }
  826. .input-main .textarea .el-textarea__inner {
  827. width: 100%;
  828. z-index: 1;
  829. }
  830. /*.crt-main .textarea /deep/ .el-form-item__label {*/
  831. /* height: 82px;*/
  832. /*}*/
  833. // 控制select为只读的时候显示样式
  834. .hide-sel {
  835. .el-input__inner {
  836. border: 0px;
  837. }
  838. .el-icon-arrow-up {
  839. display: none;
  840. }
  841. .el-textarea__inner {
  842. background-color: #fff !important;
  843. border: 0;
  844. }
  845. .el-date-editor {
  846. i {
  847. display: none;
  848. }
  849. }
  850. .is-disabled {
  851. .el-input__inner:hover {
  852. background-color: #fff !important;
  853. border: 0;
  854. }
  855. color: #606266;
  856. .el-input__inner {
  857. background-color: #fff !important;
  858. border: 0;
  859. color: #606266;
  860. }
  861. .el-textarea__inner {
  862. background-color: #fff !important;
  863. border: 0;
  864. color: #606266;
  865. }
  866. }
  867. }
  868. // 控制select为只读的时候显示样式
  869. /deep/.ws-class-table-col {
  870. height: auto;
  871. padding: 0px 2px;
  872. /deep/.el-input__inner {
  873. padding: 0px 2px;
  874. }
  875. }
  876. /deep/.is-disabled {
  877. .el-input__prefix,
  878. .el-input__suffix {
  879. display: none;
  880. }
  881. .el-input__inner {
  882. background-color: #fff;
  883. border-color: #fff !important;
  884. color: #000 !important;
  885. font-size: 14px;
  886. cursor: text;
  887. padding: 0 !important;
  888. }
  889. }
  890. /deep/.typeselect .el-input__inner {
  891. color: #8890b1;
  892. }
  893. </style>