index.vue 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675
  1. <template>
  2. <div class="app-container">
  3. <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
  4. <el-form-item label="公司名称" prop="companyName">
  5. <el-input
  6. v-model="queryParams.companyName"
  7. placeholder="请输入销售公司名称"
  8. clearable
  9. size="small"
  10. @keyup.enter.native="handleQuery"
  11. />
  12. </el-form-item>
  13. <el-form-item label="域名" prop="domain">
  14. <el-input
  15. v-model="queryParams.domain"
  16. placeholder="请输入域名名称"
  17. clearable
  18. size="small"
  19. @keyup.enter.native="handleQuery"
  20. />
  21. </el-form-item>
  22. <el-form-item>
  23. <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
  24. <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
  25. </el-form-item>
  26. </el-form>
  27. <el-row :gutter="10" class="mb8">
  28. <!-- <el-col :span="1.5">-->
  29. <!-- <el-button-->
  30. <!-- type="primary"-->
  31. <!-- plain-->
  32. <!-- icon="el-icon-plus"-->
  33. <!-- size="mini"-->
  34. <!-- @click="handleAdd"-->
  35. <!-- v-hasPermi="['company:companyDomainBind:add']"-->
  36. <!-- >新增-->
  37. <!-- </el-button>-->
  38. <!-- </el-col>-->
  39. <!-- <el-col :span="1.5">-->
  40. <!-- <el-button-->
  41. <!-- type="success"-->
  42. <!-- plain-->
  43. <!-- icon="el-icon-edit"-->
  44. <!-- size="mini"-->
  45. <!-- :disabled="single"-->
  46. <!-- @click="handleUpdate"-->
  47. <!-- v-hasPermi="['company:companyDomainBind:edit']"-->
  48. <!-- >修改-->
  49. <!-- </el-button>-->
  50. <!-- </el-col>-->
  51. <el-col :span="1.5">
  52. <el-button
  53. type="danger"
  54. plain
  55. icon="el-icon-connection"
  56. size="mini"
  57. :disabled="multiple"
  58. v-show="!checkDisplay"
  59. @click="handleDelete"
  60. v-hasPermi="['company:companyDomainBind:remove']"
  61. >解绑
  62. </el-button>
  63. </el-col>
  64. <el-col :span="1.5">
  65. <el-button
  66. type="warning"
  67. plain
  68. icon="el-icon-download"
  69. size="mini"
  70. :loading="exportLoading"
  71. v-show="checkDisplay"
  72. @click="handleExport"
  73. v-hasPermi="['company:companyDomainBind:export']"
  74. >导出
  75. </el-button>
  76. </el-col>
  77. <el-col :span="1.5">
  78. <el-button
  79. type="success"
  80. plain
  81. icon="el-icon-paperclip"
  82. size="mini"
  83. @click="handleBindingOpen"
  84. >批量分配销售
  85. </el-button>
  86. </el-col>
  87. <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
  88. </el-row>
  89. <el-table border v-loading="loading" :data="companyDomainBindList" @selection-change="handleSelectionChange">
  90. <el-table-column type="selection" width="55" align="center"/>
  91. <el-table-column label="编码" align="center" prop="id"/>
  92. <el-table-column label="销售公司编号" align="center" prop="companyId"/>
  93. <el-table-column label="销售公司名称" align="center" prop="companyName"/>
  94. <el-table-column label="绑定域名编号" v-if="checkDisplay" align="center" prop="domainId"/>
  95. <el-table-column label="绑定域名" v-if="checkDisplay" align="center" prop="domain"/>
  96. <el-table-column label="分配数量" align="center" prop="allocationNum" v-slot="{row}">
  97. <el-button
  98. type="text"
  99. @click="onTableBindNumberClick(row)"
  100. >{{ row.allocationNum }}
  101. </el-button>
  102. </el-table-column>
  103. <el-table-column label="绑定时间" align="center" prop="createTime" v-slot="{row}">
  104. <template>
  105. {{ formatDate(row.createTime) }}
  106. </template>
  107. </el-table-column>
  108. <el-table-column label="操作" align="center" class-name="small-padding fixed-width" v-if="!checkDisplay">
  109. <template slot-scope="scope">
  110. <el-button
  111. size="mini"
  112. type="text"
  113. icon="el-icon-connection"
  114. v-show="!checkDisplay"
  115. @click="handleDelete(scope.row)"
  116. v-hasPermi="['company:companyDomainBind:remove']"
  117. >解绑
  118. </el-button>
  119. <!-- <el-button-->
  120. <!-- size="mini"-->
  121. <!-- type="text"-->
  122. <!-- icon="el-icon-edit"-->
  123. <!-- @click="handleUpdate(scope.row)"-->
  124. <!-- v-hasPermi="['company:companyDomainBind:edit']"-->
  125. <!-- >修改-->
  126. <!-- </el-button>-->
  127. <!-- <el-button-->
  128. <!-- size="mini"-->
  129. <!-- type="text"-->
  130. <!-- icon="el-icon-delete"-->
  131. <!-- @click="handleDelete(scope.row)"-->
  132. <!-- v-hasPermi="['company:companyDomainBind:remove']"-->
  133. <!-- >删除-->
  134. <!-- </el-button>-->
  135. </template>
  136. </el-table-column>
  137. </el-table>
  138. <pagination
  139. v-show="total>0"
  140. :total="total"
  141. :page.sync="queryParams.pageNum"
  142. :limit.sync="queryParams.pageSize"
  143. @pagination="getList"
  144. />
  145. <!-- 添加或修改域名绑定销售公司对话框 -->
  146. <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
  147. <el-form ref="form" :model="form" :rules="rules" label-width="80px">
  148. <el-form-item label="销售公司ID" prop="companyId">
  149. <el-input v-model="form.companyId" placeholder="请输入销售公司ID"/>
  150. </el-form-item>
  151. <el-form-item label="销售公司名称" prop="companyName">
  152. <el-input v-model="form.companyName" placeholder="请输入销售公司名称"/>
  153. </el-form-item>
  154. <el-form-item label="绑定域名ID" prop="domainId">
  155. <el-input v-model="form.domainId" placeholder="请输入绑定域名ID"/>
  156. </el-form-item>
  157. <el-form-item label="备注" prop="remark">
  158. <el-input v-model="form.remark" type="textarea" placeholder="请输入内容"/>
  159. </el-form-item>
  160. <el-form-item label="状态">
  161. <el-radio-group v-model="form.status">
  162. <el-radio label="1">请选择字典生成</el-radio>
  163. </el-radio-group>
  164. </el-form-item>
  165. </el-form>
  166. <div slot="footer" class="dialog-footer">
  167. <el-button type="primary" @click="submitForm">确 定</el-button>
  168. <el-button @click="cancel">取 消</el-button>
  169. </div>
  170. </el-dialog>
  171. <!-- 批量绑定弹窗 -->
  172. <el-dialog title="批量分配域名" :visible.sync="bindingOpen" width="60%" :before-close="handleClose">
  173. <el-scrollbar style="height: 692px;">
  174. <h3>选择分配域名:</h3>
  175. <el-divider></el-divider>
  176. <!-- <el-form :model="dialog.company.queryParams" ref="companyQueryForm" :inline="true" label-width="68px">-->
  177. <!-- <el-form-item label="公司名称" prop="companyName">-->
  178. <!-- <el-input-->
  179. <!-- v-model="dialog.company.queryParams.companyName"-->
  180. <!-- placeholder="请输入销售公司名称"-->
  181. <!-- clearable-->
  182. <!-- size="small"-->
  183. <!-- @keyup.enter.native="handleQuery"-->
  184. <!-- />-->
  185. <!-- </el-form-item>-->
  186. <!-- <el-form-item label="域名" prop="domain">-->
  187. <!-- <el-input-->
  188. <!-- v-model="dialog.company.queryParams.domain"-->
  189. <!-- placeholder="请输入域名名称"-->
  190. <!-- clearable-->
  191. <!-- size="small"-->
  192. <!-- @keyup.enter.native="handleQuery"-->
  193. <!-- />-->
  194. <!-- </el-form-item>-->
  195. <!-- <el-form-item>-->
  196. <!-- <el-button type="primary" icon="el-icon-search" size="mini" @click="companyHandleDialogQuery">搜索-->
  197. <!-- </el-button>-->
  198. <!-- <el-button icon="el-icon-refresh" size="mini" @click="companyResetQuery">重置</el-button>-->
  199. <!-- </el-form-item>-->
  200. <!-- </el-form>-->
  201. <el-row :span="24">
  202. <el-col :span="24">
  203. <span>选择域名:</span>
  204. <el-select v-model="dialog.company.domainId" filterable placeholder="请选择" @change="domainChange">
  205. <el-option
  206. v-for="item in dialog.company.companyList"
  207. :key="item.id"
  208. :label="item.domain"
  209. :value="item.id">
  210. </el-option>
  211. </el-select>
  212. </el-col>
  213. </el-row>
  214. <el-divider></el-divider>
  215. <h3>选择分配销售人员:</h3>
  216. <el-divider></el-divider>
  217. <el-form :model="dialog.companyUser.queryParams" ref="dialogQueryForm" :inline="true" v-show="showSearch"
  218. label-width="68px"
  219. >
  220. <el-form-item label="用户账号" prop="domain">
  221. <el-input
  222. v-model="dialog.companyUser.queryParams.userName"
  223. placeholder="请输入用户账号"
  224. clearable
  225. size="small"
  226. @keyup.enter.native="handleDialogQuery"
  227. />
  228. </el-form-item>
  229. <el-form-item>
  230. <el-button type="primary" icon="el-icon-search" size="mini" @click="handleDialogQuery">搜索</el-button>
  231. <el-button icon="el-icon-refresh" size="mini" @click="resetDialogQuery">重置</el-button>
  232. </el-form-item>
  233. </el-form>
  234. <el-table border v-loading="dialog.companyUser.loading" :data="dialog.companyUser.companyDomainList"
  235. @selection-change="handleDialogSelectionChange"
  236. >
  237. <el-table-column type="selection" width="55" align="center"/>
  238. <el-table-column label="用户ID" align="center" prop="userId"/>
  239. <el-table-column label="用户账号" align="center" prop="userName"/>
  240. <el-table-column label="手机号码" align="center" prop="phonenumber"/>
  241. </el-table>
  242. <el-row :span="24">
  243. <el-col :span="3">
  244. <span style="margin-top: 100px">已选中绑定域名:{{ dialog.companyUser.ids.length }}条</span>
  245. </el-col>
  246. <el-col :span="20">
  247. <pagination
  248. v-show="dialog.companyUser.total>0"
  249. :total="dialog.companyUser.total"
  250. :page.sync="dialog.companyUser.queryParams.pageNum"
  251. :limit.sync="dialog.companyUser.queryParams.pageSize"
  252. @pagination="getDialogList"
  253. />
  254. </el-col>
  255. </el-row>
  256. <el-divider></el-divider>
  257. <el-row>
  258. <el-col :span="10" :offset="10">
  259. <el-button @click="centerDialogVisible">取 消</el-button>
  260. <el-button type="primary" @click="bindSubmission">确 定</el-button>
  261. </el-col>
  262. </el-row>
  263. </el-scrollbar>
  264. </el-dialog>
  265. <!-- 企业绑定详情弹窗-->
  266. <el-dialog title="域名分配 - 人员详情弹窗" :visible.sync="bindingDetailsOpen" width="80%"
  267. :before-close="handleClose"
  268. >
  269. <h3>域名 <b class="domainFont">{{ domainName }}</b> 下分配的人员信息:</h3>
  270. <el-scrollbar style="height: 692px;">
  271. <el-divider></el-divider>
  272. <childCompanyBindUser ref="domainBindUserRef" @bind-value="getList"></childCompanyBindUser>
  273. </el-scrollbar>
  274. </el-dialog>
  275. </div>
  276. </template>
  277. <script>
  278. import {
  279. listCompanyDomainBind,
  280. getCompanyDomainBind,
  281. delCompanyDomainBind,
  282. addCompanyDomainBind,
  283. updateCompanyDomainBind,
  284. exportCompanyDomainBind,
  285. domainBatchBinding
  286. } from '@/api/company/companyDomainBind'
  287. import { getCompanyUserList } from '@/api/company/companyUser'
  288. import companyBindUser from '@/views/company/companyBindUser/index.vue'
  289. export default {
  290. name: 'CompanyDomainBind',
  291. components: { 'childCompanyBindUser': companyBindUser },
  292. props: {
  293. isPageCall: {
  294. type: Boolean,
  295. default: true
  296. }
  297. },
  298. data() {
  299. return {
  300. // 遮罩层
  301. loading: true,
  302. // 导出遮罩层
  303. exportLoading: false,
  304. // 选中数组
  305. ids: [],
  306. // 非单个禁用
  307. single: true,
  308. // 非多个禁用
  309. multiple: true,
  310. // 显示搜索条件
  311. showSearch: true,
  312. // 总条数
  313. total: 0,
  314. // 域名绑定销售公司表格数据
  315. companyDomainBindList: [],
  316. // 弹出层标题
  317. title: '',
  318. // 是否显示弹出层
  319. open: false,
  320. //检查显示
  321. checkDisplay: false,
  322. // 查询参数
  323. queryParams: {
  324. pageNum: 1,
  325. pageSize: 10,
  326. companyId: null,
  327. companyName: null,
  328. domainId: null,
  329. domain: null,
  330. status: null
  331. },
  332. //绑定弹窗显示变量
  333. bindingOpen: false,
  334. //弹窗变量
  335. dialog: {
  336. companyUser: {
  337. // 查询参数
  338. queryParams: {
  339. pageNum: 1,
  340. pageSize: 10,
  341. domain: null,
  342. status: null,
  343. userName: null
  344. },
  345. // 遮罩层
  346. loading: true,
  347. // 域名管路表格数据
  348. companyDomainList: [],
  349. // 总条数
  350. total: 0,
  351. //选中数组
  352. ids: []
  353. },
  354. company: {
  355. queryParams: {
  356. pageNum: 1,
  357. pageSize: 10,
  358. companyName: null,
  359. companyMobile: null,
  360. companyAddress: null,
  361. status: null,
  362. startTime: null,
  363. endTime: null,
  364. money: null,
  365. times: null,
  366. voiceApiId: null
  367. },
  368. // 遮罩层
  369. loading: true,
  370. // 企业数据
  371. companyList: [],
  372. // 总条数
  373. total: 0,
  374. //选中数组
  375. ids: [],
  376. domainId:null,
  377. }
  378. },
  379. bindingDetailsOpen: false,
  380. //弹窗名称
  381. domainName: null,
  382. // 表单参数
  383. form: {},
  384. // 表单校验
  385. rules: {
  386. companyId: [
  387. { required: true, message: '销售公司ID不能为空', trigger: 'blur' }
  388. ],
  389. companyName: [
  390. { required: true, message: '销售公司名称不能为空', trigger: 'blur' }
  391. ],
  392. domainId: [
  393. { required: true, message: '绑定域名ID不能为空', trigger: 'blur' }
  394. ],
  395. createTime: [
  396. { required: true, message: '创建时间不能为空', trigger: 'blur' }
  397. ]
  398. }
  399. }
  400. },
  401. created() {
  402. if (this.isPageCall) {
  403. this.getList()
  404. this.checkDisplay = true
  405. }
  406. },
  407. methods: {
  408. domainChange(){
  409. if(this.dialog.company.domainId){
  410. this.dialog.company.ids.push(this.dialog.company.domainId);
  411. }
  412. },
  413. //判断勾选
  414. selectable(row, index) {
  415. return this.displayBoolean;
  416. },
  417. handleClose(done) {
  418. this.$confirm('确认关闭?')
  419. .then(_ => {
  420. done()
  421. })
  422. .catch(_ => {
  423. })
  424. },
  425. formatDate(timestamp) {
  426. if (!timestamp) return ''
  427. const date = new Date(timestamp)
  428. // 自定义日期格式(年-月-日 时:分:秒)
  429. const year = date.getFullYear()
  430. const month = String(date.getMonth() + 1).padStart(2, '0')
  431. const day = String(date.getDate()).padStart(2, '0')
  432. const hours = String(date.getHours()).padStart(2, '0')
  433. const minutes = String(date.getMinutes()).padStart(2, '0')
  434. const seconds = String(date.getSeconds()).padStart(2, '0')
  435. return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`
  436. },
  437. /** 查询域名绑定销售公司列表 */
  438. getList() {
  439. this.loading = true
  440. listCompanyDomainBind(this.queryParams).then(response => {
  441. this.companyDomainBindList = response.rows
  442. this.total = response.total
  443. this.loading = false
  444. })
  445. },
  446. // 取消按钮
  447. cancel() {
  448. this.open = false
  449. this.reset()
  450. },
  451. // 表单重置
  452. reset() {
  453. this.form = {
  454. id: null,
  455. companyId: null,
  456. companyName: null,
  457. domainId: null,
  458. remark: null,
  459. createTime: null,
  460. updateTime: null,
  461. status: 0,
  462. createBy: null,
  463. updateBy: null
  464. }
  465. this.resetForm('form')
  466. },
  467. /** 搜索按钮操作 */
  468. handleQuery() {
  469. this.queryParams.pageNum = 1
  470. this.getList()
  471. },
  472. /** 重置按钮操作 */
  473. resetQuery() {
  474. this.resetForm('queryForm')
  475. this.handleQuery()
  476. },
  477. // 多选框选中数据
  478. handleSelectionChange(selection) {
  479. this.ids = selection.map(item => item.id)
  480. this.single = selection.length !== 1
  481. this.multiple = !selection.length
  482. },
  483. /** 新增按钮操作 */
  484. handleAdd() {
  485. this.reset()
  486. this.open = true
  487. this.title = '添加域名绑定销售公司'
  488. },
  489. /** 修改按钮操作 */
  490. handleUpdate(row) {
  491. this.reset()
  492. const id = row.id || this.ids
  493. getCompanyDomainBind(id).then(response => {
  494. this.form = response.data
  495. this.open = true
  496. this.title = '修改域名绑定销售公司'
  497. })
  498. },
  499. /** 提交按钮 */
  500. submitForm() {
  501. this.$refs['form'].validate(valid => {
  502. if (valid) {
  503. if (this.form.id != null) {
  504. updateCompanyDomainBind(this.form).then(response => {
  505. this.msgSuccess('修改成功')
  506. this.open = false
  507. this.getList()
  508. })
  509. } else {
  510. addCompanyDomainBind(this.form).then(response => {
  511. this.msgSuccess('新增成功')
  512. this.open = false
  513. this.getList()
  514. })
  515. }
  516. }
  517. })
  518. },
  519. /** 删除按钮操作 */
  520. handleDelete(row) {
  521. const ids = row.id || this.ids
  522. this.$confirm('是否确认解绑当前编号为"' + ids + '"的数据项?', '警告', {
  523. confirmButtonText: '确定',
  524. cancelButtonText: '取消',
  525. type: 'warning'
  526. }).then(function() {
  527. return delCompanyDomainBind(ids)
  528. }).then(() => {
  529. this.getList()
  530. this.msgSuccess('删除成功')
  531. //触发父组件方法
  532. this.$emit('bind-value')
  533. }).catch(() => {
  534. })
  535. },
  536. /** 导出按钮操作 */
  537. handleExport() {
  538. const queryParams = this.queryParams
  539. this.$confirm('是否确认导出所有域名绑定销售公司数据项?', '警告', {
  540. confirmButtonText: '确定',
  541. cancelButtonText: '取消',
  542. type: 'warning'
  543. }).then(() => {
  544. this.exportLoading = true
  545. return exportCompanyDomainBind(queryParams)
  546. }).then(response => {
  547. this.download(response.msg)
  548. this.exportLoading = false
  549. }).catch(() => {
  550. })
  551. },
  552. //父级触发接口
  553. childMethod(domainId) {
  554. this.queryParams.domainId = domainId
  555. this.getList()
  556. },
  557. /** 弹窗搜索按钮操作 */
  558. handleDialogQuery() {
  559. this.dialog.companyUser.queryParams.pageNum = 1
  560. this.getDialogList()
  561. },
  562. //企业重置方法
  563. companyResetQuery() {
  564. this.$refs['companyQueryForm'].resetFields()
  565. this.companyHandleDialogQuery()
  566. },
  567. /** 重置按钮操作 */
  568. resetDialogQuery() {
  569. this.resetForm('dialogQueryForm')
  570. this.handleDialogQuery()
  571. },
  572. // 多选框选中数据
  573. handleDialogSelectionChange(selection) {
  574. this.dialog.companyUser.ids = selection.map(item => item.userId)
  575. },
  576. /** 查询域名管路列表 */
  577. getDialogList() {
  578. this.dialog.companyUser.loading = true
  579. getCompanyUserList(this.dialog.companyUser.queryParams).then(response => {
  580. this.dialog.companyUser.companyDomainList = response.rows
  581. this.dialog.companyUser.total = response.total
  582. this.dialog.companyUser.loading = false
  583. })
  584. },
  585. companyHandleDialogQuery() {
  586. this.dialog.company.queryParams.pageNum = 1
  587. this.getCompanyList()
  588. },
  589. // 多选框选中数据
  590. handleCompanySelectionChange(selection) {
  591. this.dialog.company.ids = selection.map(item => item.id)
  592. this.displayBoolean = this.dialog.company.ids.length <= 0;
  593. },
  594. /** 查询企业列表 */
  595. getCompanyList() {
  596. this.dialog.company.loading = true
  597. listCompanyDomainBind(this.dialog.company.queryParams).then(response => {
  598. this.dialog.company.companyList = response.rows
  599. this.dialog.company.total = response.total
  600. this.dialog.company.loading = false
  601. })
  602. },
  603. centerDialogVisible() {
  604. this.bindingOpen = false
  605. //清空数组
  606. this.dialog.companyUser.ids = []
  607. this.dialog.companyUser.queryParams.domain = null
  608. this.dialog.company.ids = []
  609. this.dialog.company.queryParams.companyName = null
  610. this.dialog.company.domainId = null;
  611. },
  612. //绑定提交
  613. bindSubmission() {
  614. if (this.dialog.companyUser.ids.length === 0) {
  615. return this.$message.warning({
  616. message: '绑定失败,请选择分配人员!',
  617. duration: 2000
  618. })
  619. }
  620. if (this.dialog.company.ids.length === 0) {
  621. return this.$message.warning({
  622. message: '绑定失败,请选择分配域名!',
  623. duration: 2000
  624. })
  625. }
  626. this.domainBatchBinding()
  627. this.centerDialogVisible()
  628. },
  629. //处理绑定
  630. handleBindingOpen() {
  631. this.bindingOpen = !this.bindingOpen
  632. this.dialog.company.queryParams.pageNum=null;
  633. this.dialog.company.queryParams.pageSize=null;
  634. this.getDialogList()
  635. this.getCompanyList()
  636. },
  637. //批量绑定
  638. domainBatchBinding() {
  639. let param = {
  640. companyUserIds: this.dialog.companyUser.ids,
  641. companyIds: this.dialog.company.ids
  642. }
  643. domainBatchBinding(param).then(response => {
  644. this.getList()
  645. this.msgSuccess(response.msg)
  646. })
  647. },
  648. //表单触发方法
  649. onTableBindNumberClick(row) {
  650. this.domainName = row.domain
  651. this.bindingDetailsOpen = true
  652. //激活子接口
  653. this.$nextTick(() => {
  654. this.$refs.domainBindUserRef.childMethod(row.id)
  655. })
  656. }
  657. }
  658. }
  659. </script>
  660. <style>
  661. .domainFont {
  662. color: #ff0000;
  663. }
  664. </style>