details.vue 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606
  1. <!-- 商机-详情 -->
  2. <template>
  3. <div class="md-content" v-loading="loading">
  4. <!-- 头部信息 -->
  5. <div slot="header" class="clearfix">
  6. <span style="width: 200px; height: 60px; font-size: 18px" v-show="!showCustomer">
  7. 商机详情&nbsp;{{ form.basic.boCode }}&nbsp;{{ form.basic.boName.split('-')[0] + '-' + form.basic.boName.split('-')[1].substring(0, 2) + '******' +
  8. form.basic.boName.split('-')[1].substring(form.basic.boName.split('-')[1].length -
  9. 2, form.basic.boName.split('-')[1].length) + '-' + form.basic.boName.split('-')[2] }}
  10. </span>
  11. <span style="width: 200px; height: 60px; font-size: 18px" v-show="showCustomer">
  12. 商机详情&nbsp;{{ form.basic.boCode }}&nbsp;{{ form.basic.boName }}
  13. </span>
  14. <el-button size="mini" type="text" icon="el-icon-view" @click="customerButton" />
  15. <div style="float: right; padding: 3px 0; display:flex;justify-content:space-between" type="text">
  16. <el-button size="mini" plain @click="handleBack">返回</el-button>
  17. <el-button type="info" plain size="mini" @click="handleWinningState('1', '关闭')"
  18. v-if="(showClose && this.form.basic.winningState == 0) && '0-2'.includes(boAuthority.post)">关闭</el-button>
  19. <el-button type="info" plain size="mini" @click="handleWinningState('2', '丢单')"
  20. v-if="(showLose && this.form.basic.winningState == 0) && '0'.includes(boAuthority.post)">丢单</el-button>
  21. <el-button type="info" plain size="mini" @click="handleWinningState('3', '赢单')"
  22. v-if="(showWin && this.form.basic.winningState == 0) && '0'.includes(boAuthority.post)">赢单</el-button>
  23. <el-button type="info" plain size="mini" @click="allocation()"
  24. v-if="this.form.basic.winningState == 0 && form.basic.principal == $store.state.user.name">分配</el-button>
  25. </div>
  26. </div>
  27. <!-- 基本信息 -->
  28. <el-divider content-position="left">
  29. <dev style="width: 50px; height: 40px; font-size: 18px">基本信息</dev>
  30. </el-divider>
  31. <el-descriptions :column="4">
  32. <el-descriptions-item label="商机来源">
  33. <div v-for="dict in dict.type.mk_bo_source" v-if="form.basic.boSource == dict.value">
  34. {{ dict.label }}
  35. </div>
  36. </el-descriptions-item>
  37. <el-descriptions-item label="商机类型">
  38. <div v-for="dict in dict.type.mk_bo_type" v-if="form.basic.boType == dict.value">
  39. {{ dict.label }}
  40. </div>
  41. </el-descriptions-item>
  42. <el-descriptions-item label="客户">
  43. <dev v-show="!showCustomer">
  44. {{ form.basic.customerName.substring(0, 2) + '******' +
  45. form.basic.customerName.substring(form.basic.customerName.length - 2, form.basic.customerName.length) }}
  46. </dev>
  47. <dev v-show="showCustomer">
  48. {{ form.basic.customerName }}
  49. </dev>
  50. <el-button size="mini" type="text" icon="el-icon-view" @click="customerButton" />
  51. </el-descriptions-item>
  52. <el-descriptions-item :label="totalRevenue">
  53. <div v-for="dict in dict.type.mk_bo_total_revenue" v-if="form.basic.totalHosRevenue == dict.value">
  54. {{ dict.label }}
  55. </div>
  56. </el-descriptions-item>
  57. <el-descriptions-item :label="estimate">
  58. {{ form.basic.hosDiscreetValue }}
  59. </el-descriptions-item>
  60. <el-descriptions-item label="赢单率">
  61. {{ form.basic.winningRate }}
  62. </el-descriptions-item>
  63. <el-descriptions-item label="赢丢单状态">
  64. <div v-for="dict in dict.type.mk_bo_winstate" v-if="form.basic.winningState == dict.value">
  65. {{ dict.label }}
  66. </div>
  67. </el-descriptions-item>
  68. <el-descriptions-item label="最近跟进">
  69. {{form.basic.recentlyFollowup ? form.basic.recentlyFollowup : "暂无跟进"}}
  70. </el-descriptions-item>
  71. </el-descriptions>
  72. <el-descriptions :column="1">
  73. <el-descriptions-item label="商机内容">
  74. {{ form.basic.boContent }}
  75. </el-descriptions-item>
  76. </el-descriptions>
  77. <el-descriptions :column="4" v-if="form.basic.winningState != '0'">
  78. <el-descriptions-item :label="winningStateTitle + '原因'">
  79. {{ form.basic.winningStateCause }}
  80. </el-descriptions-item>
  81. <el-descriptions-item :label="winningStateTitle + '备注'">
  82. {{ form.basic.winningStateRemark }}
  83. </el-descriptions-item>
  84. <el-descriptions-item :label="winningStateTitle + '日期'">
  85. {{new Date(form.basic.winningStateDate).Format("yyyy-MM-dd")}}
  86. </el-descriptions-item>
  87. <el-descriptions-item :label="winningStateTitle + '金额'">
  88. {{ form.basic.winningStateMoney }}
  89. </el-descriptions-item>
  90. </el-descriptions>
  91. <!-- 主多页签 -->
  92. <el-tabs v-model="masterTabs" @tab-click="tabsSwitch">
  93. <!-- 项目流程页签 -->
  94. <el-tab-pane label="项目流程" name="first">
  95. <Process :key="timer" :form="form.basic" :boAuthority="boAuthority" :boStage="boStage" :dict="dict"
  96. @reload="reload" />
  97. </el-tab-pane>
  98. <!-- 跟进记录 -->
  99. <el-tab-pane label="跟进记录" name="second">
  100. <BehaviorList :bo="this.form.basic" :boAuthority="boAuthority"
  101. v-if="masterTabs == 'second'" />
  102. </el-tab-pane>
  103. <!-- 联系人页签 -->
  104. <el-tab-pane label="商机联系人" name="third">
  105. <ContactList :source="'BoDetails'" :bo="this.form.basic" :boAuthority="this.boAuthority"
  106. v-if="masterTabs == 'third'" />
  107. </el-tab-pane>
  108. <!-- 商机任务页签 -->
  109. <el-tab-pane label="商机任务" name="fourth">
  110. <TaskList :source="'BoDetails'" :bo="this.form.basic" :boAuthority="this.boAuthority"
  111. v-if="masterTabs == 'fourth'" />
  112. </el-tab-pane>
  113. <!-- 附件页签 -->
  114. <el-tab-pane label="附件信息" name="five">
  115. <AccessoryList :source="'BoDetails'" :bo="this.form.basic" :boAuthority="this.boAuthority"
  116. v-if="masterTabs == 'five'" />
  117. </el-tab-pane>
  118. <!-- 模板文件页签 -->
  119. <el-tab-pane label="模板文件下载" name="six">
  120. <FileTemplate :botype="form.basic.boType" v-if="masterTabs == 'six'" />
  121. </el-tab-pane>
  122. </el-tabs>
  123. <!-- 其它信息 -->
  124. <el-divider content-position="left">
  125. <dev style="width: 50px; height: 40px; font-size: 18px">其它信息</dev>
  126. </el-divider>
  127. <el-descriptions :column="4">
  128. <el-descriptions-item label="销售组织">
  129. {{ form.basic.marketingOrganizingName }}
  130. </el-descriptions-item>
  131. <el-descriptions-item label="销售区域">
  132. {{ form.basic.marketingAreaName }}
  133. </el-descriptions-item>
  134. <el-descriptions-item label="部门">
  135. {{ form.basic.deptName }}
  136. </el-descriptions-item>
  137. <el-descriptions-item label="商机负责人">
  138. {{ form.basic.principalName }}
  139. </el-descriptions-item>
  140. <el-descriptions-item label="创建人">
  141. {{ form.basic.createByName }}
  142. </el-descriptions-item>
  143. <el-descriptions-item label="创建时间">
  144. {{ form.basic.createTime }}
  145. </el-descriptions-item>
  146. </el-descriptions>
  147. <!-- 赢单状态弹窗 -->
  148. <el-dialog :title="winningStateTitle" :visible.sync="winningStateOpen" width="500px" append-to-body>
  149. <el-form ref="wsform" :model="winningStateData" :rules="winningStateDataRules" label-width="140px">
  150. <!-- 赢单 -->
  151. <el-form-item label="赢单日期" prop="winningStateDate" v-if="this.winningStateData.winningState == '3'">
  152. <el-date-picker clearable v-model="winningStateData.winningStateDate" type="date" value-format="yyyy-MM-dd"
  153. placeholder="请选择赢单日期" style="width:220px">
  154. </el-date-picker>
  155. </el-form-item>
  156. <el-form-item label="赢单金额(万元)" prop="winningStateMoney" v-if="this.winningStateData.winningState == '3'">
  157. <el-input type="number" v-model="winningStateData.winningStateMoney" style="width:220px" placeholder="赢单金额" />
  158. </el-form-item>
  159. <el-form-item label="赢单原因" prop="winningStateCause" v-if="this.winningStateData.winningState == '3'">
  160. <el-select v-model="winningStateData.winningStateCause" placeholder="请输入">
  161. <el-option v-for="dict in dict.type.mk_bo_wincause" :key="dict.value" :label="dict.label"
  162. :value="dict.label"></el-option>
  163. </el-select>
  164. </el-form-item>
  165. <el-form-item label="赢单备注" prop="winningStateRemark" v-if="this.winningStateData.winningState == '3'">
  166. <el-input v-model="winningStateData.winningStateRemark" style="width:220px" placeholder="请输入赢单备注" />
  167. </el-form-item>
  168. <!-- 丢单 -->
  169. <el-form-item label="丢单日期" prop="winningStateDate" v-if="this.winningStateData.winningState == '2'">
  170. <el-date-picker clearable v-model="winningStateData.winningStateDate" type="date" value-format="yyyy-MM-dd"
  171. placeholder="丢单日期" style="width:220px">
  172. </el-date-picker>
  173. </el-form-item>
  174. <el-form-item label="丢单金额(万元)" prop="winningStateMoney" v-if="this.winningStateData.winningState == '2'">
  175. <el-input type="number" v-model="winningStateData.winningStateMoney" style="width:220px" placeholder="丢单金额" />
  176. </el-form-item>
  177. <el-form-item label="丢单原因" prop="winningStateCause" v-if="this.winningStateData.winningState == '2'">
  178. <el-select v-model="winningStateData.winningStateCause" placeholder="请输入">
  179. <el-option v-for="dict in dict.type.mk_bo_losecause" :key="dict.value" :label="dict.label"
  180. :value="dict.label"></el-option>
  181. </el-select>
  182. </el-form-item>
  183. <el-form-item label="丢单备注" prop="winningStateRemark" v-if="this.winningStateData.winningState == '2'">
  184. <el-input v-model="winningStateData.winningStateRemark" style="width:220px" placeholder="请输入丢单备注" />
  185. </el-form-item>
  186. <!-- 关闭 -->
  187. <el-form-item label="关闭原因" prop="winningStateCause" v-if="this.winningStateData.winningState == '1'">
  188. <el-input v-model="winningStateData.winningStateCause" style="width:220px" placeholder="关闭原因" />
  189. </el-form-item>
  190. <el-form-item label="关闭备注" prop="winningStateRemark" v-if="this.winningStateData.winningState == '1'">
  191. <el-input v-model="winningStateData.winningStateRemark" style="width:220px" placeholder="关闭备注" />
  192. </el-form-item>
  193. </el-form>
  194. <div slot="footer">
  195. <el-button type="primary" @click="submitWinningStateData">确 定</el-button>
  196. <el-button @click="cancelWinningStateData">取 消</el-button>
  197. </div>
  198. </el-dialog>
  199. <!-- 分配商机负责人对话框 -->
  200. <el-dialog title="分配商机负责人" :visible.sync="allocationPopover" width="500px" append-to-body>
  201. <el-form ref="afform" :model="allocationForm" :rules="allocationFormRules" label-width="140px">
  202. <el-form-item label="新负责人" prop="allocationStaff">
  203. <dr-popover-select v-model="allocationForm.allocationStaffName" title="员工" type="CONTACTS_PARAM" :dataMapping="{
  204. allocationStaff: 'code',
  205. allocationStaffName: 'name',
  206. }" :source.sync="allocationForm"></dr-popover-select>
  207. </el-form-item>
  208. <el-form-item label="是否将您作为参与人" prop="isParticipant">
  209. <el-radio v-model="allocationForm.isParticipant" :label='true'>是</el-radio>
  210. <el-radio v-model="allocationForm.isParticipant" :label='false'>否</el-radio>
  211. </el-form-item>
  212. </el-form>
  213. <div slot="footer">
  214. <el-button type="primary" @click="submitAllocationForm">确 定</el-button>
  215. <el-button @click="cancelAllocation">取 消</el-button>
  216. </div>
  217. </el-dialog>
  218. </div>
  219. </template>
  220. <script>
  221. import {
  222. getBasic,
  223. updateWinningState,
  224. allocationParticipant,
  225. } from "@/api/business/spd/bo/basic";
  226. import { getBoNodeListByType } from "@/api/business/spd/bo/boNode";
  227. import { getPsnPost } from "@/api/business/spd/bo/authority";
  228. import TaskList from "./botaskList.vue";
  229. import ContactList from "./bocontactList.vue";
  230. import AccessoryList from "../basic/accessoryList.vue";
  231. import FileTemplate from "../filetemplate/botabs.vue";
  232. import Process from '../basic/process.vue';
  233. import BehaviorList from "./bobehaviorList.vue";
  234. export default {
  235. //名称
  236. name: "BoDetails",
  237. //注册引入的组件
  238. components: {Process,BehaviorList,ContactList,TaskList,AccessoryList,FileTemplate},
  239. //平台枚举
  240. dicts: [
  241. "mk_bo_type",
  242. "mk_bo_state",
  243. "mk_bo_winstate",
  244. "mk_bo_source",
  245. "mk_bo_total_revenue",
  246. "mk_bo_wincause",
  247. "mk_bo_losecause",
  248. "mk_bo_stage",
  249. ],
  250. //数据
  251. data() {
  252. return {
  253. //赢单状态数据
  254. // 弹出层标题
  255. winningStateTitle: "",
  256. // 是否显示弹出层
  257. winningStateOpen: false,
  258. //赢单状态
  259. winningState: null,
  260. //赢单状态数据
  261. winningStateData: {},
  262. //赢单状态表单校验
  263. // 赢单表单校验
  264. winningStateDataRules: {
  265. winningStateCause: [
  266. { required: true, message: "原因不能为空", trigger: "blur" }
  267. ],
  268. winningStateDate: [
  269. { required: true, message: "日期不能为空", trigger: "blur" }
  270. ],
  271. winningStateMoney: [
  272. { required: true, message: "金额不能为空", trigger: "blur" }
  273. ],
  274. },
  275. masterTabs: "first",
  276. loading: false,
  277. // 基本信息
  278. form: {
  279. basic: {},
  280. accessory: [],
  281. },
  282. //权限数据
  283. boAuthority: {},
  284. //流程节点数据
  285. boStage: [],
  286. //关单按钮是否显示
  287. showClose: false,
  288. //赢单按钮是否显示
  289. showWin: false,
  290. //丢单按钮是否显示
  291. showLose: false,
  292. //重新加载子组件参数
  293. timer: "",
  294. //是否显示客户
  295. showCustomer: false,
  296. //分配参数
  297. allocationForm: {
  298. boId: null,
  299. allocationStaff: null,
  300. allocationStaffName: null,
  301. isParticipant: true,
  302. },
  303. //分配表单校验
  304. allocationFormRules: {
  305. allocationStaff: [
  306. { required: true, message: "新负责人不能为空", trigger: "blur" }
  307. ],
  308. },
  309. //分配弹窗
  310. allocationPopover: false,
  311. //营收总额
  312. totalRevenue: "***营收总额",
  313. //预估额
  314. estimate: "***预估额(万元)"
  315. };
  316. },
  317. watch: {
  318. 'form.basic.boType': {
  319. handler(newVal, oldVal) {
  320. console.log('newVal', newVal);
  321. switch (newVal) {
  322. case '0':
  323. this.totalRevenue = "医院营收总额";
  324. this.estimate = "医院耗材预估值(万元)"
  325. break;
  326. case '1':
  327. this.totalRevenue = "医院营收总额";
  328. this.estimate = "医院耗材采集预估额(万元)"
  329. break;
  330. case '2':
  331. this.totalRevenue = "医院营收总额";
  332. this.estimate = "医院耗材预估值(万元)"
  333. break;
  334. case '3':
  335. this.totalRevenue = "医院营收总额";
  336. this.estimate = "医院设备预估额(万元)"
  337. break;
  338. case '4':
  339. this.totalRevenue = "医院营收总额";
  340. this.estimate = "军队医院设备预估额(万元)"
  341. break;
  342. case '5':
  343. this.totalRevenue = "项目总额";
  344. this.estimate = "工程预估额(万元)"
  345. break;
  346. default:
  347. break;
  348. }
  349. },
  350. immediate: true,
  351. deep: true // 可以深度检测到 person 对象的属性值的变化
  352. }
  353. },
  354. //方法
  355. methods: {
  356. // 返回
  357. handleBack() {
  358. this.$router.back()
  359. },
  360. //主多页签切换
  361. tabsSwitch(e) {
  362. switch (e.name) {
  363. case "second":
  364. //任务
  365. break;
  366. case "third":
  367. //联系人
  368. break;
  369. case "fourth":
  370. //附件
  371. break;
  372. case "five":
  373. //文件模板
  374. break;
  375. default:
  376. break;
  377. }
  378. },
  379. //赢单状态按钮
  380. handleWinningState(winningState, title) {
  381. this.resetWinningStateData();
  382. this.winningStateOpen = true;
  383. this.winningStateTitle = title;
  384. this.winningStateData.winningState = winningState;
  385. this.winningStateData.boId = this.form.basic.id;
  386. this.winningStateData.winningStateDate = new Date();
  387. },
  388. resetWinningStateData() {
  389. this.winningStateData = {
  390. boId: null,
  391. winningState: null,
  392. winningStateCause: null,
  393. winningStateRemark: null,
  394. winningStateDate: null,
  395. winningStateMoney: null,
  396. }
  397. },
  398. submitWinningStateData() {
  399. this.$refs["wsform"].validate(valid => {
  400. if (valid) {
  401. updateWinningState(this.winningStateData).then(response => {
  402. this.$modal.msgSuccess("提交成功");
  403. this.winningStateOpen = false;
  404. this.reload();
  405. });
  406. }
  407. });
  408. },
  409. cancelWinningStateData() {
  410. this.winningStateOpen = false;
  411. this.resetWinningStateData();
  412. },
  413. //打开分配弹窗
  414. allocation() {
  415. this.allocationPopover = true;
  416. },
  417. //提交分配表单
  418. submitAllocationForm() {
  419. // this.allocationForm.boId = parseInt(this.form.basic.id);
  420. // this.allocationForm.allocationStaff = parseInt(this.allocationForm.allocationStaff);
  421. this.allocationForm.boId = this.form.basic.id;
  422. this.$refs["afform"].validate(valid => {
  423. if (valid) {
  424. allocationParticipant(this.allocationForm).then(response => {
  425. console.log('response', response);
  426. this.$modal.msgSuccess("分配成功");
  427. this.allocationPopover = false;
  428. this.reload();
  429. });
  430. }
  431. });
  432. },
  433. //取消分配
  434. cancelAllocation() {
  435. this.allocationPopover = false;
  436. },
  437. //重新加载数据
  438. async reload() {
  439. this.loading = true;
  440. //加载基础数据
  441. let res = await getBasic(this.$route.params.id);
  442. this.form.basic = res.data;
  443. //设置应丢关单标题
  444. switch(this.form.basic.winningState){
  445. case "1" : this.winningStateTitle = "关闭";break;
  446. case "2" : this.winningStateTitle = "丢单";break;
  447. case "3" : this.winningStateTitle = "赢单";break;
  448. }
  449. //加载流程节点数据
  450. let bnRes = await getBoNodeListByType(this.form.basic.boType);
  451. this.boStage = bnRes.rows;
  452. console.log('this.boStage', this.boStage);
  453. //赢丢单按钮显示逻辑
  454. var auditNode = 999;
  455. var curNode = 0;
  456. var signContract = 999;
  457. for (var i = 0; i < this.boStage.length; i++) {
  458. if (this.boStage[i].code == this.form.basic.boStage) {
  459. curNode = i;
  460. }
  461. if (this.boStage[i].name.toString().includes('审核')) {
  462. auditNode = i;
  463. }
  464. if (this.boStage[i].name.toString().includes('合同')) {
  465. signContract = i;
  466. }
  467. }
  468. this.showClose = false;
  469. this.showLose = false;
  470. this.showWin = false;
  471. if (curNode != auditNode) {
  472. this.showClose = true;
  473. }
  474. if (curNode > auditNode) {
  475. this.showLose = true;
  476. }
  477. if (curNode >= signContract) {
  478. this.showWin = true;
  479. }
  480. //确定数据加载完成,子组件可以开始展示
  481. this.timer = new Date().getTime();
  482. this.loading = false;
  483. //加载权限数据
  484. getPsnPost(this.form.basic.id).then((response) => {
  485. this.boAuthority = response.data;
  486. });
  487. },
  488. //是否显示客户
  489. customerButton() {
  490. this.showCustomer = !this.showCustomer;
  491. },
  492. },
  493. //创建钩子
  494. async created() {
  495. this.loading = true;
  496. //加载基础数据
  497. let res = await getBasic(this.$route.params.id);
  498. this.form.basic = res.data;
  499. //设置应丢关单标题
  500. switch(this.form.basic.winningState){
  501. case "1" : this.winningStateTitle = "关闭";break;
  502. case "2" : this.winningStateTitle = "丢单";break;
  503. case "3" : this.winningStateTitle = "赢单";break;
  504. }
  505. //加载流程节点数据
  506. let bnRes = await getBoNodeListByType(this.form.basic.boType);
  507. this.boStage = bnRes.rows;
  508. console.log('this.boStage', this.boStage);
  509. //赢丢单按钮显示逻辑
  510. var auditNode = 999;
  511. var curNode = 0;
  512. var signContract = 999;
  513. for (var i = 0; i < this.boStage.length; i++) {
  514. if (this.boStage[i].code == this.form.basic.boStage) {
  515. curNode = i;
  516. }
  517. if (this.boStage[i].name.toString().includes('审核')) {
  518. auditNode = i;
  519. }
  520. if (this.boStage[i].name.toString().includes('合同')) {
  521. signContract = i;
  522. }
  523. }
  524. this.showClose = false;
  525. this.showLose = false;
  526. this.showWin = false;
  527. if (curNode != auditNode) {
  528. this.showClose = true;
  529. }
  530. if (curNode > auditNode) {
  531. this.showLose = true;
  532. }
  533. if (curNode >= signContract) {
  534. this.showWin = true;
  535. }
  536. //确定数据加载完成,子组件可以开始展示
  537. this.timer = new Date().getTime();
  538. this.loading = false;
  539. //加载权限数据
  540. getPsnPost(this.form.basic.id).then((response) => {
  541. this.boAuthority = response.data;
  542. });
  543. },
  544. };
  545. </script>
  546. <style scoped>
  547. .md-content>>>.el-form-item {
  548. margin-bottom: 10px;
  549. }
  550. .md-content>>>.el-tabs--border-card>.el-tabs__content {
  551. padding-bottom: 8px;
  552. }
  553. .md-content .md-auditInfo>>>.el-form-item {
  554. margin-bottom: 0px;
  555. }
  556. .md-main>>>.el-form-item,
  557. .md-vice>>>.el-form-item {
  558. width: 100%;
  559. box-sizing: border-box;
  560. }
  561. .md-main>>>.el-form-item__label,
  562. .md-vice>>>.el-form-item__label {
  563. width: 40%;
  564. }
  565. .md-main>>>.el-form-item__content,
  566. .md-md-vice>>>.el-form-item__content {
  567. width: 60%;
  568. }
  569. .md-content>>>.el-form-item__label {
  570. font-weight: normal;
  571. /* text-align: left;
  572. width: 28%; */
  573. white-space: nowrap;
  574. /* IE6 需要定义宽度 */
  575. overflow: hidden;
  576. -o-text-overflow: ellipsis;
  577. /* Opera */
  578. text-overflow: ellipsis;
  579. /* IE, Safari (WebKit) */
  580. /* -moz-binding: url('ellipsis.xml#ellipsis'); */
  581. /* Firefox */
  582. }
  583. .md-main>>>.material-table {
  584. height: 100%;
  585. }
  586. .md-vice>>>.material-table {
  587. height: 140px;
  588. overflow-y: auto;
  589. overflow-x: auto;
  590. }
  591. </style>