materialApplicationDetail.vue 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960
  1. <template>
  2. <fullscreen :fullscreen.sync="fullscreen" class="container">
  3. <div class="container-box">
  4. <toolList @iconCli="iconCli" :tooltit="tooltit"></toolList>
  5. <div class="search">
  6. <el-form
  7. :model="searchSection"
  8. ref="searchSection"
  9. :rules="rules"
  10. v-loading="loadinged"
  11. >
  12. <div class="info-line search-box">
  13. <el-form-item prop="regionCode">
  14. <span>地市名称</span>
  15. <el-select
  16. @change="changeSearch(1)"
  17. clearable
  18. v-model="searchSection.regionCode"
  19. placeholder="地市名称"
  20. @clear="clearSearch"
  21. >
  22. <el-option
  23. v-for="item in regionOpt"
  24. :key="item.compId"
  25. :label="item.compName"
  26. :value="item.compId"
  27. >
  28. </el-option>
  29. </el-select>
  30. </el-form-item>
  31. <el-form-item prop="countyCode">
  32. <span>区县名称</span>
  33. <el-select
  34. :popper-append-to-body="false"
  35. v-model="searchSection.countyCode"
  36. placeholder="区县名称"
  37. @change="changeSearch(2, $event)"
  38. clearable
  39. >
  40. <el-option
  41. v-for="item in countyOpt"
  42. :key="item.compId"
  43. :label="item.compName"
  44. :value="item.compId"
  45. >
  46. </el-option>
  47. </el-select>
  48. </el-form-item>
  49. <el-form-item prop="metirialType">
  50. <span>物料类别</span>
  51. <el-select
  52. @change="changeSearch(3)"
  53. clearable
  54. v-model="searchSection.metirialType"
  55. placeholder="物料类别"
  56. >
  57. <el-option
  58. v-for="(items, index) in metirialTypeOpt"
  59. :key="index"
  60. :label="items"
  61. :value="items"
  62. >
  63. </el-option>
  64. </el-select>
  65. </el-form-item>
  66. <el-form-item prop="stsId">
  67. <span>状态</span>
  68. <el-select
  69. @change="changeSearch(4)"
  70. clearable
  71. v-model="searchSection.stsId"
  72. placeholder="状态"
  73. >
  74. <el-option
  75. v-for="(items) in stsOpt"
  76. :key="items.stsId"
  77. :label="items.stsName"
  78. :value="items.stsId"
  79. >
  80. </el-option>
  81. </el-select>
  82. </el-form-item>
  83. <el-button class="btn-check" size="medium" type="primary" plain icon="el-icon-search" @click="searchCli">搜索
  84. </el-button>
  85. </div>
  86. </el-form>
  87. </div>
  88. <div class="section2">
  89. <el-button
  90. type="primary"
  91. @click="dialogApplication(2)"
  92. style="margin-right: 20px;margin-bottom: 20px;"
  93. >审批轨迹</el-button
  94. >
  95. <el-button
  96. type="primary"
  97. @click="dialogApplication(3)"
  98. style="margin-right: 20px;margin-bottom: 20px;"
  99. >导出</el-button
  100. >
  101. <a
  102. style="margin-right:50px; color:#169BD5; cursor:pointer"
  103. @click="attStatus = true"
  104. v-if="wo.fileUrl != null"
  105. >下载附件</a
  106. >
  107. </div>
  108. <div class="tabbox">
  109. <el-table
  110. height="calc(100% - 140px)"
  111. class="com-table"
  112. ref="multipleTable"
  113. :data="tableData"
  114. tooltip-effect="dark"
  115. size="small"
  116. border
  117. style="width: 100%"
  118. v-loading="loading"
  119. >
  120. <!-- <el-table-column type="selection" width="55">
  121. </el-table-column> -->
  122. <el-table-column prop="woSts" label="状态">
  123. <template slot-scope="scope">
  124. {{ stsArr[scope.row.woSts] }}
  125. </template>
  126. </el-table-column>
  127. <el-table-column prop="regionName" label="地市公司">
  128. </el-table-column>
  129. <el-table-column prop="regionCode" label="公司编码">
  130. </el-table-column>
  131. <el-table-column prop="countyName" label="区县名称">
  132. </el-table-column>
  133. <el-table-column prop="countyCode" label="区县编码">
  134. </el-table-column>
  135. <el-table-column prop="channelCode" label="渠道编码">
  136. </el-table-column>
  137. <el-table-column prop="channelName" label="渠道名称">
  138. </el-table-column>
  139. <el-table-column prop="sceneName" label="场景">
  140. </el-table-column>
  141. <el-table-column prop="metirialType" label="物料类别">
  142. </el-table-column>
  143. <el-table-column prop="metirialCode" label="物料编码">
  144. </el-table-column>
  145. <el-table-column prop="metirialName" label="物料名称">
  146. </el-table-column>
  147. <el-table-column prop="unit" label="物料单位">
  148. </el-table-column>
  149. <el-table-column prop="size" label="规格尺寸">
  150. </el-table-column>
  151. <el-table-column prop="length" label="长">
  152. </el-table-column>
  153. <el-table-column prop="width" label="宽"> </el-table-column>
  154. <el-table-column prop="direction" label="横竖">
  155. </el-table-column>
  156. <el-table-column prop="coefficient" label="系数">
  157. </el-table-column>
  158. <el-table-column prop="sts" label="营业状态">
  159. </el-table-column>
  160. <el-table-column prop="quantity" label="数量" width="100">
  161. </el-table-column>
  162. <el-table-column prop="settlementAmount" label="结算金额">
  163. <template slot-scope="scope">
  164. <div>
  165. {{
  166. scope.row.quantity *
  167. scope.row.price *
  168. scope.row.coefficient
  169. }}
  170. </div>
  171. </template>
  172. </el-table-column>
  173. <el-table-column prop="supplierName" label="供应商">
  174. </el-table-column>
  175. </el-table>
  176. <!-- <el-pagination
  177. class="pageBox"
  178. @current-change="currchange"
  179. layout="prev, pager, next"
  180. background
  181. :total="total"
  182. >
  183. </el-pagination> -->
  184. </div>
  185. </div>
  186. <!-- 审批轨迹 -->
  187. <el-dialog
  188. :title="titname"
  189. :visible.sync="approvalStepDialogStatus"
  190. width="50%"
  191. :destroy-on-close="true"
  192. :modal-append-to-body="false"
  193. :close-on-click-modal="false"
  194. :before-close="closedia"
  195. >
  196. <div v-loading="loadinged">
  197. <div
  198. style="margin-bottom: 20px;padding: 0 20px;"
  199. v-if="titname != '添加'"
  200. >
  201. <el-table
  202. class="com-table"
  203. ref="multipleTable"
  204. :data="rovaList"
  205. tooltip-effect="dark"
  206. size="small"
  207. border
  208. style="width: 100%"
  209. >
  210. <el-table-column prop="woId" label="编号">
  211. </el-table-column>
  212. <el-table-column prop="name" label="环节">
  213. </el-table-column>
  214. <el-table-column prop="opName" label="处理人">
  215. </el-table-column>
  216. <el-table-column prop="opNo" label="处理人工号">
  217. </el-table-column>
  218. <el-table-column prop="opTime" label="处理时间">
  219. </el-table-column>
  220. <el-table-column prop="descs" label="备注">
  221. </el-table-column>
  222. </el-table>
  223. </div>
  224. <div slot="footer" class="dialog-footer myfooter">
  225. <el-button @click="closedia">关 闭</el-button>
  226. </div>
  227. </div>
  228. </el-dialog>
  229. <el-dialog
  230. title="附件"
  231. :visible.sync="attStatus"
  232. width="50%"
  233. :destroy-on-close="true"
  234. :modal-append-to-body="false"
  235. :close-on-click-modal="false"
  236. :before-close="closedia"
  237. >
  238. <div slot="title">
  239. <div>
  240. 附件
  241. <i
  242. class="el-icon-full-screen"
  243. style="float: right; margin-right: 30px"
  244. @click="
  245. () => {
  246. fullscreen = !fullscreen;
  247. }
  248. "
  249. ></i>
  250. </div>
  251. </div>
  252. <div v-loading="loadinged">
  253. <div style="margin: 10px 0">
  254. <uploadDown :datalist="datalist"></uploadDown>
  255. </div>
  256. <div class="dialog-footer myfooter">
  257. <el-button @click="attStatus = false">取 消</el-button>
  258. </div>
  259. </div>
  260. </el-dialog>
  261. <myMessage
  262. :messTit="messTit"
  263. @closeMessage="closeMessage"
  264. :centerDialogVisible="centerDialogVisible"
  265. v-if="centerDialogVisible"
  266. ></myMessage>
  267. </fullscreen>
  268. </template>
  269. <script>
  270. import mySearch from "../../../components/search.vue";
  271. import myMessage from "../../../components/myMessage.vue";
  272. import toolList from "../../../components/toolList";
  273. import myUpload from "../../../components/upload";
  274. import deptTreeOnly from "../../../components/deptTreeOnly.vue";
  275. import { MessageBox } from "element-ui";
  276. import { Loading } from "element-ui";
  277. import uploadDown from "../../../components/uploadDown";
  278. export default {
  279. components: {
  280. mySearch,
  281. myMessage,
  282. deptTreeOnly,
  283. MessageBox,
  284. toolList,
  285. myUpload,
  286. uploadDown
  287. },
  288. data() {
  289. const regionName = (rule, value, callback) => {
  290. if (!this.infolist.regionName) {
  291. callback(new Error("不能为空"));
  292. } else {
  293. callback();
  294. }
  295. };
  296. const advTypeDesc = (rule, value, callback) => {
  297. if (!this.infolist.advTypeDesc) {
  298. callback(new Error("不能为空"));
  299. } else {
  300. callback();
  301. }
  302. };
  303. return {
  304. loginNo: JSON.parse(sessionStorage.userInfo).loginNo,
  305. rules: {
  306. regionName: [
  307. {
  308. required: true,
  309. trigger: "change",
  310. validator: regionName
  311. }
  312. ],
  313. advTypeDesc: [
  314. {
  315. required: true,
  316. trigger: "change",
  317. validator: advTypeDesc
  318. }
  319. ]
  320. },
  321. searchList: [
  322. {
  323. type: "sel",
  324. tit: "地市",
  325. value: "",
  326. width: "24%",
  327. options: []
  328. },
  329. {
  330. type: "sel",
  331. tit: "区县",
  332. value: "",
  333. width: "24%",
  334. options: []
  335. },
  336. {
  337. type: "sel",
  338. tit: "物料类别",
  339. value: "",
  340. width: "24%",
  341. options: []
  342. },
  343. {
  344. type: "sel",
  345. tit: "状态",
  346. value: "",
  347. width: "24%",
  348. options: []
  349. }
  350. ],
  351. tooltit: "物料申请查看",
  352. fullscreen: false,
  353. total: 0,
  354. pageSize: 1,
  355. tableData: [],
  356. supplierDialogStatus: false,
  357. disableStatus: false,
  358. approvalDialogStatus: false,
  359. approvalStepDialogStatus: false,
  360. titname: "",
  361. infolist: {
  362. distributionChoose: ""
  363. },
  364. approvalinfolist: {
  365. opinionradio: 1
  366. },
  367. userInfo: {},
  368. params: {},
  369. centerDialogVisible: false,
  370. messTit: "",
  371. delid: "",
  372. loading: false,
  373. loadinged: false,
  374. fileInfo: {
  375. limit: 10,
  376. url: "/market/cwo/upload",
  377. fileList: []
  378. },
  379. infoApply: {},
  380. rovaList: [],
  381. woNoArr: [],
  382. supplierOpt: [],
  383. isSupplierTable: false,
  384. // 树形弹窗
  385. checkexa: false,
  386. treeListonly: {},
  387. defaultList: [],
  388. closeList: false,
  389. visionchonly: false,
  390. depttype: 0,
  391. // 固定审批人员
  392. fixedDialogStatus: false,
  393. // userListOpt: [],
  394. cMkAdvMetirialWoInfoSubmit: {},
  395. stsArr: ["待审批", "审批通过", "打回", "待确认"],
  396. // 分发
  397. distributionDialogStatus: false,
  398. distributionRegionOpt: [],
  399. cWoInfoIssued: {},
  400. wo: {},
  401. datalist: {
  402. url: "/market/cadvBusiMetirialWo/checkExport",
  403. type: 2
  404. },
  405. attStatus: false,
  406. stsOpt:[
  407. {
  408. stsId: 0,
  409. stsName: "待审批",
  410. },
  411. {
  412. stsId: 1,
  413. stsName: "审批通过",
  414. },
  415. {
  416. stsId: 2,
  417. stsName: "打回",
  418. }
  419. ,
  420. {
  421. stsId: 3,
  422. stsName: "待确认",
  423. },
  424. {
  425. stsId: 4,
  426. stsName: "已结束",
  427. }
  428. ],
  429. //搜索
  430. searchSection:{}, //搜索list
  431. regionOpt:[],
  432. countyOpt:[],
  433. metirialTypeOpt:[],
  434. };
  435. },
  436. computed: {
  437. amountsum: {
  438. set() {},
  439. get() {
  440. var sum = 0;
  441. this.tableData.forEach(item => {
  442. sum += parseFloat(
  443. item.price * item.quantity * item.coefficient
  444. );
  445. });
  446. return sum.toFixed(2);
  447. }
  448. },
  449. countsum: {
  450. set() {},
  451. get() {
  452. var sum = 0;
  453. this.tableData.forEach(item => {
  454. sum += parseFloat(item.quantity);
  455. });
  456. return sum;
  457. }
  458. }
  459. },
  460. methods: {
  461. tableSelectionChange(val, row) {
  462. this.multipleSelection = val;
  463. // this.woNoArr=[]
  464. // this.multipleSelection.forEach(item => {
  465. // this.woNoArr.push(item.woNo)
  466. // });
  467. },
  468. closedia() {
  469. this.infolist = {};
  470. this.approvalDialogStatus = false;
  471. this.approvalinfolist = {};
  472. this.supplierDialogStatus = false;
  473. this.approvalStepDialogStatus = false;
  474. this.distributionDialogStatus = false;
  475. this.attStatus = false;
  476. },
  477. changeSearch(v, e) {
  478. if (v === 1) {
  479. this.searchSection.countyCode = ""
  480. let regionSingle = this.regionOpt.filter(item=>{
  481. return item.compId == this.searchSection.regionCode
  482. })
  483. this.$http({
  484. url: "/sysmgr/regionComp/queryList",
  485. method: "post",
  486. headers: {
  487. "Content-Type": "application/json"
  488. },
  489. data: {
  490. parentCompId: regionSingle[0].compId,
  491. }
  492. }).then(res => {
  493. this.countyOpt = res.data;
  494. });
  495. }else if(v===2){
  496. this.searchSection.countyCode = e;
  497. this.$forceUpdate();
  498. }
  499. },
  500. clearSearch(){
  501. this.params.metirialType = '';
  502. this.searchSection.regionCode ? this.params.regionCode = this.searchSection.regionCode : '';
  503. this.searchSection.countyCode ? this.params.countyCode = this.searchSection.countyCode : '';
  504. this.params.woSts = this.searchSection.stsId
  505. },
  506. //获取地市(搜索)
  507. getRegion() {
  508. this.$http({
  509. url: "/sysmgr/regionComp/queryList",
  510. method: "post",
  511. headers: {
  512. "Content-Type": "application/json"
  513. },
  514. data: {
  515. parentCompId: "0"
  516. }
  517. }).then(res => {
  518. this.regionOpt = res.data;
  519. });
  520. },
  521. //搜索数据
  522. searchCli(){
  523. this.params = {}
  524. this.searchSection.regionCode ? this.params.regionCode = this.searchSection.regionCode : '';
  525. this.searchSection.countyCode ? this.params.countyCode = this.searchSection.countyCode : '';
  526. this.searchSection.metirialType ? this.params.metirialType = this.searchSection.metirialType : '';
  527. this.params.woSts = this.searchSection.stsId;
  528. this.params.woId = this.$route.query.id;
  529. this.getList(this.params, this.pageSize);
  530. },
  531. //获取列表
  532. getList(v, n) {
  533. this.pageSize = n;
  534. let _this = this;
  535. // this.loading = true;
  536. this.tableData = [];
  537. // v.assigneeNo = this.loginNo;
  538. this.$http({
  539. url: "/market/cadvBusiMetirialWo/queryPageForWoInfo",
  540. method: "post",
  541. headers: {
  542. "Content-Type": "application/json",
  543. page: '{"pageNo":"' + n + '","pageSize":"10"}'
  544. },
  545. data: v
  546. }).then(res => {
  547. this.tableData = res.data.body.pageList;
  548. // this.userListOpt =
  549. // res.data.body.step.next.userList;
  550. this.total = res.data.totalRecord;
  551. this.wo = res.data.body.wo;
  552. this.datalist.attList = JSON.parse(this.wo.fileUrl);
  553. let mOpt = []
  554. this.tableData.forEach(item=>{
  555. mOpt.push(item.metirialType)
  556. });
  557. this.metirialTypeOpt = Array.from(new Set(mOpt))
  558. this.loading = false;
  559. });
  560. },
  561. // 分页
  562. currchange(v) {
  563. this.pageSize = v;
  564. this.getList(this.params, this.pageSize);
  565. },
  566. // 申请(new)
  567. dialogApplication(v, n) {
  568. var _this = this;
  569. // if(this.multipleSelection == undefined){
  570. // this.centerDialogVisible = true;
  571. // this.messTit = "请至少选择一条进行审批";
  572. // }else{
  573. // this.approvalDialogStatus = true;
  574. // this.titname = "审批";
  575. // this.disableStatus = false;
  576. // }
  577. if (v === 2) {
  578. this.titname = "审批轨迹";
  579. this.approvalStepDialogStatus = true;
  580. this.$http({
  581. url: "/market/advBusiMetirialWoStep/queryList",
  582. method: "post",
  583. headers: {
  584. "Content-Type": "application/json"
  585. },
  586. data: { woId: this.params.woId }
  587. }).then(res => {
  588. this.rovaList = res.data;
  589. });
  590. } else if (v === 3) {
  591. this.$http({
  592. url: "/market/cadvBusiMetirialWo/export",
  593. method: "post",
  594. headers: {
  595. "Content-Type": "application/json"
  596. },
  597. responseType: "blob",
  598. data: { id: this.params.woId }
  599. }).then(res => {
  600. if (window.navigator && window.navigator.msSaveOrOpenBlob) {
  601. let blob = new Blob([res.data], {
  602. type: "application/vnd.ms-excel"
  603. });
  604. window.navigator.msSaveOrOpenBlob(
  605. blob,
  606. this.wo.bizName + ".xlsx"
  607. );
  608. } else {
  609. /* 火狐谷歌的文件下载方式 */
  610. var blob = new Blob([res.data]);
  611. var downloadElement = document.createElement("a");
  612. var href = window.URL.createObjectURL(blob);
  613. downloadElement.href = href;
  614. downloadElement.download = this.wo.bizName + ".xlsx";
  615. document.body.appendChild(downloadElement);
  616. downloadElement.click();
  617. document.body.removeChild(downloadElement);
  618. window.URL.revokeObjectURL(href);
  619. }
  620. });
  621. }
  622. },
  623. treeCheckonly(v) {
  624. this.treeListonly = v;
  625. },
  626. //添加
  627. dialogCli(v) {
  628. //2审批轨迹 3导出
  629. // if (v === 1) {
  630. // this.approvalDialogStatus = false;
  631. // // let list = {};
  632. // this.cMkAdvMetirialWoInfoSubmit.mkAdvBusiMetirialWoInfoList = this.multipleSelection;
  633. // this.cMkAdvMetirialWoInfoSubmit.woId = this.params.woId;
  634. // this.cMkAdvMetirialWoInfoSubmit.remark = this.approvalinfolist.opinion;
  635. // if (this.approvalinfolist.opinionradio == 1) {
  636. // this.cMkAdvMetirialWoInfoSubmit.woSts = "1";
  637. // if (this.userListOpt == null) {
  638. // // 树形审批人
  639. // this.checkexa = true;
  640. // } else {
  641. // // 固定审批人弹窗
  642. // this.fixedDialogStatus = true;
  643. // }
  644. // // this.submitInfo("/market/cadvBusiMetirialWo/submitWo", list);
  645. // } else if (this.approvalinfolist.opinionradio == 2) {
  646. // this.cMkAdvMetirialWoInfoSubmit.woSts = "2";
  647. // this.checkexa = false;
  648. // this.fixedDialogStatus = false;
  649. // this.submitInfo(
  650. // "/market/cadvBusiMetirialWo/submitWo",
  651. // this.cMkAdvMetirialWoInfoSubmit
  652. // );
  653. // }
  654. // } else
  655. if (v === 2) {
  656. this.approvalStepDialogStatus = false;
  657. } else if (v === 3) {
  658. //
  659. }
  660. },
  661. submitInfo(u, v) {
  662. let _this = this;
  663. let loadingInstance = Loading.service()
  664. this.$http({
  665. url: u,
  666. method: "post",
  667. headers: {
  668. "Content-Type": "application/json"
  669. },
  670. data: v
  671. }).then(res => {
  672. loadingInstance.close()
  673. if (res.data.result === 1) {
  674. _this.$message({
  675. message: res.data.desc,
  676. type: "error"
  677. });
  678. }
  679. if (res.data.result === 2) {
  680. _this.$message({
  681. message: res.data.desc,
  682. type: "error"
  683. });
  684. } else {
  685. _this.$message({
  686. message: "成功",
  687. type: "success"
  688. });
  689. _this.getList(this.params, this.pageSize);
  690. }
  691. });
  692. },
  693. closeMessage(v) {
  694. this.centerDialogVisible = false;
  695. let _this = this;
  696. if (v === 1) {
  697. _this
  698. .$http({
  699. url: "/bpm/api/deleteBpmPrePlugin",
  700. method: "post",
  701. headers: {
  702. "Content-Type": "application/json"
  703. },
  704. data: {
  705. id: this.delid
  706. }
  707. })
  708. .then(res => {
  709. if (res.data.result === 1) {
  710. _this.$message({
  711. message: res.data.desc,
  712. type: "error"
  713. });
  714. } else {
  715. _this.$message({
  716. message: "删除成功",
  717. type: "success"
  718. });
  719. _this.getList(this.params, this.pageSize);
  720. }
  721. });
  722. }
  723. },
  724. //删除
  725. delLine(v) {
  726. this.centerDialogVisible = true;
  727. this.messTit = "即将删除此条数据, 是否删除?";
  728. this.delid = v.id;
  729. },
  730. //文件返回值
  731. uploadBack(v) {
  732. },
  733. //功能栏
  734. iconCli(v) {
  735. if (v === 1) {
  736. this.getList(this.params, this.pageSize);
  737. }
  738. if (v === 2) {
  739. this.fullscreen = !this.fullscreen;
  740. }
  741. },
  742. getUser() {
  743. this.userInfo = JSON.parse(window.sessionStorage.userInfo);
  744. }
  745. },
  746. mounted() {
  747. if (JSON.stringify(this.$route.query) != "{}") {
  748. this.params.woId = this.$route.query.id;
  749. }
  750. this.getList(this.params, 1);
  751. this.getUser();
  752. this.getRegion();
  753. },
  754. watch: {
  755. $route() {
  756. this.getList(this.params, 1);
  757. }
  758. },
  759. created() {}
  760. };
  761. </script>
  762. <style scoped lang="scss">
  763. .onetab {
  764. margin-bottom: 20px;
  765. padding: 0 20px;
  766. }
  767. .titbox {
  768. div {
  769. float: right;
  770. i {
  771. font-size: 22px;
  772. margin-left: 20px;
  773. cursor: pointer;
  774. }
  775. }
  776. }
  777. .tabbox {
  778. margin-top: 15px;
  779. }
  780. .pageBox {
  781. text-align: right;
  782. margin-top: 10px;
  783. }
  784. .info-line {
  785. width: 100%;
  786. display: block;
  787. padding-left: 20px;
  788. div {
  789. width: 50%;
  790. display: inline-block;
  791. }
  792. span {
  793. width: 80px;
  794. display: inline-block;
  795. text-align: left;
  796. i {
  797. color: red;
  798. display: inline-block;
  799. padding-right: 5px;
  800. }
  801. }
  802. .el-select,
  803. .el-input {
  804. width: calc(100% - 100px);
  805. }
  806. }
  807. .online {
  808. width: 100%;
  809. .el-select {
  810. width: calc(100% - 100px);
  811. }
  812. span {
  813. vertical-align: top;
  814. }
  815. .el-textarea {
  816. width: calc(100% - 100px);
  817. }
  818. }
  819. .search{
  820. width: 100%;
  821. display: unset;
  822. margin-top: 20px;
  823. }
  824. .search-box{
  825. margin-top: 40px;
  826. div{
  827. width: 20%
  828. }
  829. .el-form{
  830. width: 100%;
  831. }
  832. }
  833. .adv-type {
  834. margin-top: 20px;
  835. display: flex;
  836. justify-content: space-between;
  837. flex-wrap: wrap;
  838. // border: 1px solid #ddd;
  839. border-radius: 5px;
  840. padding: 20px;
  841. box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
  842. div {
  843. width: 33%;
  844. text-align: center;
  845. height: 80px;
  846. overflow: hidden;
  847. min-width: 100px;
  848. cursor: pointer;
  849. padding-top: 10px;
  850. margin: 10px 0;
  851. }
  852. div:hover {
  853. background: #cfe8fc;
  854. border-radius: 5px;
  855. }
  856. span {
  857. width: 100%;
  858. display: inline-block;
  859. height: 40px;
  860. // line-height: 40px;
  861. i {
  862. color: #0074d9;
  863. font-size: 36px;
  864. }
  865. }
  866. }
  867. .section2 {
  868. display: flex;
  869. align-items: center;
  870. margin: 40px 0;
  871. button {
  872. margin-bottom: 0 !important;
  873. }
  874. h3 {
  875. margin-right: 40px;
  876. }
  877. }
  878. .t-footer {
  879. text-align: center;
  880. padding-right: 20px;
  881. margin-top: 20px;
  882. padding-bottom: 20px;
  883. }
  884. .tree {
  885. width: calc(50% - 60px) !important;
  886. display: inline-block;
  887. margin-right: 20px;
  888. height: 300px;
  889. overflow-y: scroll;
  890. .el-icon-error {
  891. float: right;
  892. font-size: 20px;
  893. margin-top: 9px;
  894. cursor: pointer;
  895. }
  896. }
  897. .treeUser {
  898. margin: 0;
  899. border: 1px solid #ddd;
  900. p {
  901. background: #f4f4f4;
  902. padding: 0 20px;
  903. margin-bottom: 5px;
  904. }
  905. }
  906. .treeUserb {
  907. width: calc(100% - 100px);
  908. border: 1px solid #ddd;
  909. background: #f4f4f4;
  910. border-radius: 3px;
  911. height: auto;
  912. overflow: hidden;
  913. p {
  914. display: inline-block;
  915. padding: 0 20px;
  916. margin-bottom: 5px;
  917. }
  918. }
  919. </style>