index.vue 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765
  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="fTypeid">
  5. <el-select v-model="queryParams.fTypeid" placeholder="请选择客户类别" clearable size="small">
  6. <el-option
  7. v-for="dict in fTypeidOptions"
  8. :key="dict.dictValue"
  9. :label="dict.dictLabel"
  10. :value="dict.dictValue"
  11. />
  12. </el-select>
  13. </el-form-item>
  14. <el-form-item label="编号" prop="fNo">
  15. <el-input
  16. v-model="queryParams.fNo"
  17. placeholder="请输入编号"
  18. clearable
  19. size="small"
  20. @keyup.enter.native="handleQuery"
  21. />
  22. </el-form-item>
  23. <el-form-item label="名称" prop="fName">
  24. <el-input
  25. v-model="queryParams.fName"
  26. placeholder="请输入名称"
  27. clearable
  28. size="small"
  29. @keyup.enter.native="handleQuery"
  30. />
  31. </el-form-item>
  32. <el-form-item label="简称" prop="fCname">
  33. <el-input
  34. v-model="queryParams.fCname"
  35. placeholder="请输入简称"
  36. clearable
  37. size="small"
  38. @keyup.enter.native="handleQuery"
  39. />
  40. </el-form-item>
  41. <el-form-item label="英文名称" prop="fEname">
  42. <el-input
  43. v-model="queryParams.fEname"
  44. placeholder="请输入英文名称"
  45. clearable
  46. size="small"
  47. @keyup.enter.native="handleQuery"
  48. />
  49. </el-form-item>
  50. <el-form-item label="电话" prop="fTel">
  51. <el-input
  52. v-model="queryParams.fTel"
  53. placeholder="请输入电话"
  54. clearable
  55. size="small"
  56. @keyup.enter.native="handleQuery"
  57. />
  58. </el-form-item>
  59. <el-form-item label="录入人" prop="fTel">
  60. <el-input
  61. v-model="queryParams.fTel"
  62. placeholder="请输入录入人"
  63. clearable
  64. size="small"
  65. @keyup.enter.native="handleQuery"
  66. />
  67. </el-form-item>
  68. <el-form-item label="录入时间" prop="fContractb">
  69. <el-date-picker clearable size="small" style="width: 200px"
  70. v-model="queryParams.fContractb"
  71. type="date"
  72. value-format="yyyy-MM-dd"
  73. placeholder="选择合同起">
  74. </el-date-picker>
  75. </el-form-item>
  76. <el-form-item label="修改人" prop="fTel">
  77. <el-input
  78. v-model="queryParams.fTel"
  79. placeholder="请输入修改人"
  80. clearable
  81. size="small"
  82. @keyup.enter.native="handleQuery"
  83. />
  84. </el-form-item>
  85. <el-form-item label="修改时间" prop="fContracte">
  86. <el-date-picker clearable size="small" style="width: 200px"
  87. v-model="queryParams.fContracte"
  88. type="date"
  89. value-format="yyyy-MM-dd"
  90. placeholder="选择合同至">
  91. </el-date-picker>
  92. </el-form-item>
  93. <el-form-item label="状态" prop="fStatus">
  94. <!--<el-input
  95. v-model="queryParams.fStatus"
  96. placeholder="请选择状态"
  97. clearable
  98. size="small"
  99. @keyup.enter.native="handleQuery"
  100. />-->
  101. <el-select
  102. v-model="queryParams.fStatus"
  103. placeholder="客户状态"
  104. clearable
  105. size="small"
  106. style="width: 240px"
  107. >
  108. <el-option
  109. v-for="dict in statusOptions"
  110. :key="dict.dictValue"
  111. :label="dict.dictLabel"
  112. :value="dict.dictValue"
  113. />
  114. </el-select>
  115. </el-form-item>
  116. <el-form-item>
  117. <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
  118. <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
  119. </el-form-item>
  120. </el-form>
  121. <el-row :gutter="10" class="mb8">
  122. <el-col :span="1.5">
  123. <el-button
  124. type="primary"
  125. icon="el-icon-plus"
  126. size="mini"
  127. @click="handleAdd"
  128. v-hasPermi="['basicdata/customerDetails:corps:add']"
  129. >新增</el-button>
  130. </el-col>
  131. <el-col :span="1.5">
  132. <el-button
  133. type="success"
  134. icon="el-icon-edit"
  135. size="mini"
  136. :disabled="single"
  137. @click="handleUpdate"
  138. v-hasPermi="['basicdata/customerDetails:corps:edit']"
  139. >修改</el-button>
  140. </el-col>
  141. <el-col :span="1.5">
  142. <el-button
  143. type="danger"
  144. icon="el-icon-delete"
  145. size="mini"
  146. :disabled="multiple"
  147. @click="handleDelete"
  148. v-hasPermi="['basicdata/customerDetails:corps:remove']"
  149. >删除</el-button>
  150. </el-col>
  151. <el-col :span="1.5">
  152. <el-button
  153. type="warning"
  154. icon="el-icon-download"
  155. size="mini"
  156. @click="handleExport"
  157. v-hasPermi="['basicdata/customerDetails:corps:export']"
  158. >导出</el-button>
  159. </el-col>
  160. <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
  161. </el-row>
  162. <el-table v-loading="loading" :data="corpsList" @selection-change="handleSelectionChange">
  163. <el-table-column type="selection" width="55" align="center" />
  164. <el-table-column label="客户类别" align="center" prop="fTypeid" :formatter="fTypeidFormat" />
  165. <el-table-column label="编号" align="center" prop="fNo" />
  166. <el-table-column label="名称" align="center" prop="fName" />
  167. <el-table-column label="简称" align="center" prop="fCname" />
  168. <el-table-column label="英文名称" align="center" prop="fEname" />
  169. <el-table-column label="电话" align="center" prop="fTel" />
  170. <el-table-column label="录入人" align="center" prop="createBy" />
  171. <el-table-column label="录入时间" align="center" prop="createTime" width="180">
  172. <template slot-scope="scope">
  173. <span>{{ parseTime(scope.row.fContractb, '{y}-{m}-{d}') }}</span>
  174. </template>
  175. </el-table-column>
  176. <el-table-column label="修改人" align="center" prop="updateBy" />
  177. <el-table-column label="修改时间" align="center" prop="updateTime" width="180">
  178. <template slot-scope="scope">
  179. <span>{{ parseTime(scope.row.fContracte, '{y}-{m}-{d}') }}</span>
  180. </template>
  181. </el-table-column>
  182. <el-table-column label="状态" align="center" prop="fStatus" >
  183. <template slot-scope="scope">
  184. <el-switch
  185. v-model="scope.row.fStatus"
  186. active-value="0"
  187. inactive-value="1"
  188. @change="handleStatusChange(scope.row)"
  189. ></el-switch>
  190. </template>
  191. </el-table-column>
  192. <el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" />
  193. <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="100">
  194. <template slot-scope="scope">
  195. <el-button
  196. size="mini"
  197. type="text"
  198. icon="el-icon-edit"
  199. @click="handleUpdate(scope.row)"
  200. v-hasPermi="['basicdata/customerDetails:corps:edit']"
  201. >修改</el-button>
  202. <el-button
  203. size="mini"
  204. type="text"
  205. icon="el-icon-delete"
  206. @click="handleDelete(scope.row)"
  207. v-hasPermi="['basicdata/customerDetails:corps:remove']"
  208. >删除</el-button>
  209. </template>
  210. </el-table-column>
  211. </el-table>
  212. <pagination
  213. v-show="total>0"
  214. :total="total"
  215. :page.sync="queryParams.pageNum"
  216. :limit.sync="queryParams.pageSize"
  217. @pagination="getList"
  218. />
  219. <!-- 添加或修改客户详情对话框 -->
  220. <el-dialog :title="title" :visible.sync="open" width="766px" append-to-body>
  221. <el-form ref="form" :model="form" :rules="rules" label-width="80px">
  222. <el-row>
  223. <el-col :span="12">
  224. <el-form-item label="客户类别" prop="fTypeid">
  225. <el-select v-model="form.fTypeid" placeholder="请选择客户类别">
  226. <el-option
  227. v-for="dict in fTypeidOptions"
  228. :key="dict.dictValue"
  229. :label="dict.dictLabel"
  230. :value="dict.dictValue"
  231. ></el-option>
  232. </el-select>
  233. </el-form-item>
  234. </el-col>
  235. <el-col :span="12">
  236. <el-form-item label="编号" prop="fNo">
  237. <el-input v-model="form.fNo" style="width: 200px" placeholder="请输入编号" />
  238. </el-form-item>
  239. </el-col>
  240. </el-row>
  241. <el-row>
  242. <el-col :span="12">
  243. <el-form-item label="名称" prop="fName">
  244. <el-input v-model="form.fName" style="width: 200px" placeholder="请输入名称" />
  245. </el-form-item>
  246. </el-col>
  247. <el-col :span="12">
  248. <el-form-item label="简称" prop="fCname">
  249. <el-input v-model="form.fCname" style="width: 200px" placeholder="请输入简称" />
  250. </el-form-item>
  251. </el-col>
  252. </el-row>
  253. <el-row>
  254. <el-col :span="12">
  255. <el-form-item label="英文名称" prop="fEname">
  256. <el-input v-model="form.fEname" style="width: 200px" placeholder="请输入英文名称" />
  257. </el-form-item>
  258. </el-col>
  259. <el-col :span="12">
  260. <el-form-item label="电话" prop="fTel">
  261. <el-input v-model="form.fTel" style="width: 200px" placeholder="请输入电话" />
  262. </el-form-item>
  263. </el-col>
  264. </el-row>
  265. <el-row>
  266. <el-col :span="12">
  267. <el-form-item label="传真" prop="fFax">
  268. <el-input v-model="form.fFax" style="width: 200px" placeholder="请输入传真" />
  269. </el-form-item>
  270. </el-col>
  271. <el-col :span="12">
  272. <el-form-item label="邮箱" prop="fEmail">
  273. <el-input v-model="form.fEmail" style="width: 200px" placeholder="请输入邮箱" />
  274. </el-form-item>
  275. </el-col>
  276. </el-row>
  277. <el-row>
  278. <el-col :span="12">
  279. <el-form-item label="联系人" prop="fManage">
  280. <el-input v-model="form.fManage" style="width: 200px" placeholder="请输入联系人" />
  281. </el-form-item>
  282. </el-col>
  283. <el-col :span="12">
  284. <el-form-item label="地址" prop="fAddr">
  285. <el-input v-model="form.fAddr" style="width: 200px" placeholder="请输入地址" />
  286. </el-form-item>
  287. </el-col>
  288. </el-row>
  289. <el-row>
  290. <el-col :span="12">
  291. <el-form-item label="英文地址" prop="fEaddr">
  292. <el-input v-model="form.fEaddr" style="width: 200px" placeholder="请输入英文地址" />
  293. </el-form-item>
  294. </el-col>
  295. <el-col :span="12">
  296. <el-form-item label="规模" prop="fScale">
  297. <el-input v-model="form.fScale" style="width: 200px" placeholder="请输入规模" />
  298. </el-form-item>
  299. </el-col>
  300. </el-row>
  301. <el-row>
  302. <el-col :span="12">
  303. <el-form-item label="省" prop="fProvince">
  304. <el-input v-model="form.fProvince" style="width: 200px" placeholder="请输入省" />
  305. </el-form-item>
  306. </el-col>
  307. <el-col :span="12">
  308. <el-form-item label="市" prop="fCity">
  309. <el-input v-model="form.fCity" style="width: 200px" placeholder="请输入市" />
  310. </el-form-item>
  311. </el-col>
  312. </el-row>
  313. <el-row>
  314. <el-col :span="12">
  315. <el-form-item label="结算表票结、月结" prop="fStltypeid">
  316. <el-select v-model="form.fStltypeid" style="width: 200px" placeholder="请选择结算表票结、月结">
  317. <el-option
  318. v-for="dict in fStltypeidOptions"
  319. :key="dict.dictValue"
  320. :label="dict.dictLabel"
  321. :value="parseInt(dict.dictValue)"
  322. ></el-option>
  323. </el-select>
  324. </el-form-item>
  325. </el-col>
  326. <el-col :span="12">
  327. <el-form-item label="结费天数" prop="fStldays">
  328. <el-input v-model="form.fStldays" style="width: 200px" placeholder="请输入结费天数" />
  329. </el-form-item>
  330. </el-col>
  331. </el-row>
  332. <el-row>
  333. <el-col :span="12">
  334. <el-form-item label="合同号" prop="fContractno">
  335. <el-input v-model="form.fContractno" style="width: 200px" placeholder="请输入合同号" />
  336. </el-form-item>
  337. </el-col>
  338. <el-col :span="12">
  339. <el-form-item label="税号" prop="fTax">
  340. <el-input v-model="form.fTax" style="width: 200px" placeholder="请输入税号" />
  341. </el-form-item>
  342. </el-col>
  343. </el-row>
  344. <el-row>
  345. <el-col :span="12">
  346. <el-form-item label="合同起" prop="fContractb">
  347. <el-date-picker clearable size="small" style="width: 200px"
  348. v-model="form.fContractb"
  349. type="date"
  350. value-format="yyyy-MM-dd"
  351. placeholder="选择合同起">
  352. </el-date-picker>
  353. </el-form-item>
  354. </el-col>
  355. <el-col :span="12">
  356. <el-form-item label="合同至" prop="fContracte">
  357. <el-date-picker clearable size="small" style="width: 200px"
  358. v-model="form.fContracte"
  359. type="date"
  360. value-format="yyyy-MM-dd"
  361. placeholder="选择合同至">
  362. </el-date-picker>
  363. </el-form-item>
  364. </el-col>
  365. </el-row>
  366. <el-row>
  367. <el-col :span="12">
  368. <el-form-item label="开票电话" prop="fInvtel">
  369. <el-input v-model="form.fInvtel" style="width: 200px" placeholder="请输入开票电话" />
  370. </el-form-item>
  371. </el-col>
  372. <el-col :span="12">
  373. <el-form-item label="开票地址" prop="fInvaddr">
  374. <el-input v-model="form.fInvaddr" style="width: 200px" placeholder="请输入开票地址" />
  375. </el-form-item>
  376. </el-col>
  377. </el-row>
  378. <el-row>
  379. <el-col :span="12">
  380. <el-form-item label="本位币账号" prop="fBankno">
  381. <el-input v-model="form.fBankno" style="width: 200px" placeholder="请输入本位币账号" />
  382. </el-form-item>
  383. </el-col>
  384. <el-col :span="12">
  385. <el-form-item label="本位币银行" prop="fBankname">
  386. <el-input v-model="form.fBankname" style="width: 200px" placeholder="请输入本位币银行" />
  387. </el-form-item>
  388. </el-col>
  389. </el-row>
  390. <el-row>
  391. <el-col :span="12">
  392. <el-form-item label="外币账号" prop="fUbankno">
  393. <el-input v-model="form.fUbankno" style="width: 200px" placeholder="请输入外币账号" />
  394. </el-form-item>
  395. </el-col>
  396. <el-col :span="12">
  397. <el-form-item label="外币银行" prop="fUbankname">
  398. <el-input v-model="form.fUbankname" style="width: 200px" placeholder="请输入外币银行" />
  399. </el-form-item>
  400. </el-col>
  401. </el-row>
  402. <el-row>
  403. <el-col :span="12">
  404. <el-form-item label="状态">
  405. <!--<el-radio-group v-model="form.fStatus">
  406. <el-radio label="1">请选择字典生成</el-radio>
  407. </el-radio-group>-->
  408. <el-radio-group v-model="form.fStatus">
  409. <el-radio
  410. v-for="dict in statusOptions"
  411. :key="dict.dictValue"
  412. :label="dict.dictValue"
  413. >{{dict.dictLabel}}</el-radio>
  414. </el-radio-group>
  415. </el-form-item>
  416. </el-col>
  417. <el-col :span="12">
  418. <!--<el-form-item label="删除状态" prop="delFlag">
  419. <el-input v-model="form.delFlag" placeholder="请输入删除状态" />
  420. </el-form-item>-->
  421. </el-col>
  422. </el-row>
  423. <!--<el-form-item label="删除状态" prop="delFlag">
  424. <el-select v-model="form.delFlag" style="width: 200px" placeholder="请选择删除状态">
  425. <el-option
  426. v-for="dict in delFlagOptions"
  427. :key="dict.dictValue"
  428. :label="dict.dictLabel"
  429. :value="dict.dictValue"
  430. ></el-option>
  431. </el-select>
  432. </el-form-item>-->
  433. <el-form-item label="备注" prop="remark">
  434. <el-input v-model="form.remark" style="width: 200px" placeholder="请输入备注" />
  435. </el-form-item>
  436. </el-form>
  437. <el-table v-loading="loading" :data="contactList" @selection-change="handleSelectionChange">
  438. <el-table-column type="selection" width="55" align="center" />
  439. <el-table-column label="状态" align="center" prop="tId" />
  440. <el-table-column label="编号" align="center" prop="fNo" />
  441. <el-table-column label="名称" align="center" prop="fName" />
  442. <el-table-column label="英文名称" align="center" prop="fEname" />
  443. <el-table-column label="电话" align="center" prop="fTel" />
  444. <el-table-column label="状态" align="center" prop="fStatus" />
  445. <el-table-column label="备注" align="center" prop="remark" />
  446. <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="100">
  447. <template slot-scope="scope">
  448. <el-button
  449. size="mini"
  450. type="text"
  451. icon="el-icon-edit"
  452. @click="handleUpdate(scope.row)"
  453. v-hasPermi="['basicdata:contact:edit']"
  454. >修改</el-button>
  455. <el-button
  456. size="mini"
  457. type="text"
  458. icon="el-icon-delete"
  459. @click="handleDelete(scope.row)"
  460. v-hasPermi="['basicdata:contact:remove']"
  461. >删除</el-button>
  462. </template>
  463. </el-table-column>
  464. </el-table>
  465. <div slot="footer" class="dialog-footer">
  466. <el-button type="primary" @click="submitForm">确 定</el-button>
  467. <el-button @click="cancel">取 消</el-button>
  468. </div>
  469. </el-dialog>
  470. </div>
  471. </template>
  472. <script>
  473. import { listCorps, getCorps, delCorps, addCorps, updateCorps, changeCorpsStatus,exportCorps } from "@/api/basicdata/customerDetails/corps";
  474. export default {
  475. name: "Corps",
  476. components: {
  477. },
  478. data() {
  479. return {
  480. contactList:[],
  481. // 遮罩层
  482. loading: true,
  483. // 选中数组
  484. ids: [],
  485. // 非单个禁用
  486. single: true,
  487. // 非多个禁用
  488. multiple: true,
  489. // 显示搜索条件
  490. showSearch: true,
  491. // 总条数
  492. total: 0,
  493. // 客户详情表格数据
  494. corpsList: [],
  495. // 弹出层标题
  496. title: "",
  497. // 状态数据字典
  498. statusOptions: [],
  499. // 是否显示弹出层
  500. open: false,
  501. // 客户类别字典
  502. fTypeidOptions: [],
  503. // 结算表票结、月结字典
  504. fStltypeidOptions: [],
  505. // 删除状态字典
  506. delFlagOptions: [],
  507. // 从表数据
  508. dataList: [],
  509. // 查询参数
  510. queryParams: {
  511. pageNum: 1,
  512. pageSize: 10,
  513. fTypeid: null,
  514. fNo: null,
  515. fName: null,
  516. fCname: null,
  517. fEname: null,
  518. fTel: null,
  519. fFax: null,
  520. fEmail: null,
  521. fManage: null,
  522. fAddr: null,
  523. fEaddr: null,
  524. fScale: null,
  525. fProvince: null,
  526. fCity: null,
  527. fStltypeid: null,
  528. fStldays: null,
  529. fContractno: null,
  530. fContractb: null,
  531. fContracte: null,
  532. fTax: null,
  533. fInvtel: null,
  534. fInvaddr: null,
  535. fBankno: null,
  536. fBankname: null,
  537. fUbankno: null,
  538. fUbankname: null,
  539. fStatus: null,
  540. },
  541. // 表单参数
  542. form: {},
  543. // 表单校验
  544. rules: {
  545. fNo: [
  546. { required: true, message: "编号不能为空", trigger: "blur" }
  547. ],
  548. fName: [
  549. { required: true, message: "名称不能为空", trigger: "blur" }
  550. ],
  551. fStatus: [
  552. { required: true, message: "状态默认 T ,正常T 停用F 下拉选择不能为空", trigger: "blur" }
  553. ],
  554. }
  555. };
  556. },
  557. created() {
  558. this.getList();
  559. this.getDicts("data_customer_category").then(response => {
  560. this.fTypeidOptions = response.data;
  561. });
  562. this.getDicts("data_stltype_type").then(response => {
  563. this.fStltypeidOptions = response.data;
  564. });
  565. this.getDicts("data_delete_state").then(response => {
  566. this.delFlagOptions = response.data;
  567. });
  568. this.getDicts("sys_normal_disable").then(response => {
  569. this.statusOptions = response.data;
  570. });
  571. },
  572. methods: {
  573. /** 查询客户详情列表 */
  574. getList() {
  575. this.loading = true;
  576. listCorps(this.queryParams).then(response => {
  577. this.corpsList = response.rows;
  578. this.total = response.total;
  579. this.loading = false;
  580. });
  581. },
  582. // 客户类别字典翻译
  583. fTypeidFormat(row, column) {
  584. return this.selectDictLabel(this.fTypeidOptions, row.fTypeid);
  585. },
  586. // 结算表票结、月结字典翻译
  587. fStltypeidFormat(row, column) {
  588. return this.selectDictLabel(this.fStltypeidOptions, row.fStltypeid);
  589. },
  590. // 删除状态字典翻译
  591. delFlagFormat(row, column) {
  592. return this.selectDictLabel(this.delFlagOptions, row.delFlag);
  593. },
  594. // 取消按钮
  595. cancel() {
  596. this.open = false;
  597. this.reset();
  598. },
  599. // 表单重置
  600. reset() {
  601. this.form = {
  602. fId: null,
  603. fTypeid: null,
  604. fNo: null,
  605. fName: null,
  606. fCname: null,
  607. fEname: null,
  608. fTel: null,
  609. fFax: null,
  610. fEmail: null,
  611. fManage: null,
  612. fAddr: null,
  613. fEaddr: null,
  614. fScale: null,
  615. fProvince: null,
  616. fCity: null,
  617. fStltypeid: null,
  618. fStldays: null,
  619. fContractno: null,
  620. fContractb: null,
  621. fContracte: null,
  622. fTax: null,
  623. fInvtel: null,
  624. fInvaddr: null,
  625. fBankno: null,
  626. fBankname: null,
  627. fUbankno: null,
  628. fUbankname: null,
  629. fStatus: null,
  630. delFlag: null,
  631. createBy: null,
  632. createTime: null,
  633. updateBy: null,
  634. updateTime: null,
  635. remark: null
  636. };
  637. this.resetForm("form");
  638. },
  639. // 状态修改
  640. handleStatusChange(row) {
  641. let text = row.fStatus === "0" ? "启用" : "停用";
  642. this.$confirm('确认要"' + text + '""' + row.fName + '"吗?', "警告", {
  643. confirmButtonText: "确定",
  644. cancelButtonText: "取消",
  645. type: "warning"
  646. }).then(function() {
  647. return changeCorpsStatus(row.fId, row.fStatus);
  648. }).then(() => {
  649. this.msgSuccess(text + "成功");
  650. }).catch(function() {
  651. row.fStatus = row.fStatus === "0" ? "1" : "0";
  652. });
  653. },
  654. /** 搜索按钮操作 */
  655. handleQuery() {
  656. this.queryParams.pageNum = 1;
  657. this.getList();
  658. },
  659. /** 重置按钮操作 */
  660. resetQuery() {
  661. this.resetForm("queryForm");
  662. this.handleQuery();
  663. },
  664. // 多选框选中数据
  665. handleSelectionChange(selection) {
  666. this.ids = selection.map(item => item.fId)
  667. this.single = selection.length!==1
  668. this.multiple = !selection.length
  669. },
  670. /** 新增按钮操作 */
  671. handleAdd() {
  672. this.reset();
  673. this.open = true;
  674. this.title = "添加客户详情";
  675. },
  676. /** 修改按钮操作 */
  677. handleUpdate(row) {
  678. this.reset();
  679. const fId = row.fId || this.ids
  680. getCorps(fId).then(response => {
  681. this.form = response.data;
  682. this.open = true;
  683. this.title = "修改客户详情";
  684. });
  685. },
  686. /** 提交按钮 */
  687. submitForm() {
  688. this.$refs["form"].validate(valid => {
  689. if (valid) {
  690. if (this.form.fId != null) {
  691. updateCorps(this.form).then(response => {
  692. this.msgSuccess("修改成功");
  693. this.open = false;
  694. this.getList();
  695. });
  696. } else {
  697. let formDate= new FormData()
  698. formDate.append('corps',JSON.stringify(this.form));
  699. formDate.append('customerContacts',JSON.stringify(this.dataList));
  700. addCorps(formDate).then(response => {
  701. this.msgSuccess("新增成功");
  702. this.open = false;
  703. this.getList();
  704. });
  705. }
  706. }
  707. });
  708. },
  709. /** 删除按钮操作 */
  710. handleDelete(row) {
  711. const fIds = row.fId || this.ids;
  712. this.$confirm('是否确认删除客户详情编号为"' + fIds + '"的数据项?', "警告", {
  713. confirmButtonText: "确定",
  714. cancelButtonText: "取消",
  715. type: "warning"
  716. }).then(function() {
  717. return delCorps(fIds);
  718. }).then(() => {
  719. this.getList();
  720. this.msgSuccess("删除成功");
  721. })
  722. },
  723. /** 导出按钮操作 */
  724. handleExport() {
  725. const queryParams = this.queryParams;
  726. this.$confirm('是否确认导出所有客户详情数据项?', "警告", {
  727. confirmButtonText: "确定",
  728. cancelButtonText: "取消",
  729. type: "warning"
  730. }).then(function() {
  731. return exportCorps(queryParams);
  732. }).then(response => {
  733. this.download(response.msg);
  734. })
  735. }
  736. }
  737. };
  738. </script>