Rap 原分销系统代码Web
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1585 lines
53KB

  1. <template>
  2. <div class="app-container">
  3. <div style="margin-bottom:10px">
  4. <el-button type="success" @click="addBtn">新增</el-button>
  5. <el-button type="success" @click="importBtn">导入</el-button>
  6. <el-button type="success" @click="exportTempBtn">模版下载</el-button>
  7. </div>
  8. <!--搜索-->
  9. <el-form class="mt_15" ref="form" inline size="small">
  10. <el-form-item label="关键词">
  11. <el-input v-model="searchParm.keyWord" clearable placeholder='关键词'></el-input>
  12. </el-form-item>
  13. <el-form-item label="Item">
  14. <el-input v-model="searchParm.item" clearable></el-input>
  15. </el-form-item>
  16. <el-form-item label="店铺名称">
  17. <el-input v-model="searchParm.shopName" clearable></el-input>
  18. </el-form-item>
  19. <el-form-item label="支付订单ID">
  20. <el-input v-model="searchParm.payOrderId" clearable></el-input>
  21. </el-form-item>
  22. <el-form-item label="状态">
  23. <el-select v-model="searchParm.status" placeholder="请选择">
  24. <el-option
  25. v-for="item in statusList"
  26. :key="item.name"
  27. :label="item.name"
  28. :value="item.id">
  29. </el-option>
  30. </el-select>
  31. </el-form-item>
  32. <el-form-item>
  33. <el-button type="primary" @click="goSearch">搜索</el-button>
  34. <el-button type="warning" @click="resetForm">重置</el-button>
  35. </el-form-item>
  36. </el-form>
  37. <!--表格渲染-->
  38. <el-table ref="table" border size="small" :data="list" :header-cell-style="{textAlign:'center'}">
  39. <el-table-column label="国家" prop="country" align="center"/>
  40. <el-table-column label="账号" prop="account" align="center"/>
  41. <el-table-column label="密码" prop="pwd" align="center"/>
  42. <el-table-column label="店铺名称" prop="shopName" align="center"/>
  43. <el-table-column label="关键词" prop="keyWord" align="center"/>
  44. <el-table-column label="数量" prop="number" align="center"/>
  45. <el-table-column label="规格" prop="specification" align="center"/>
  46. <el-table-column label="颜色" prop="color" align="center"/>
  47. <el-table-column label="优惠卷" prop="exchange" align="center"/>
  48. <el-table-column label="Item" prop="item" align="center"/>
  49. <el-table-column label="状态" prop="status" align="center">
  50. <template slot-scope="scope">
  51. {{ scope.row.status | getStatus}}
  52. </template>
  53. </el-table-column>
  54. <el-table-column label="创建时间" prop="createdAt" align="center"/>
  55. <el-table-column label="修改时间" prop="updatedAt" align="center"/>
  56. <el-table-column label="操作" width="270" align="left" >
  57. <template slot-scope="scope">
  58. <el-button type="info" @click="getBtnById(scope.row.id)">查看</el-button>
  59. <el-button type="warning" @click="editById(scope.row)" style="margin-left: 0px">修改</el-button>
  60. <span v-if="scope.row.status != 3" slot="footer">
  61. <el-button type="danger" @click="delById(scope.row.id)">删除</el-button>
  62. </span>
  63. <span v-if="scope.row.status == 3" slot="footer">
  64. <el-button type="danger" @click="getOrderBtnById(scope.row.ctClickOrderId)">订单</el-button>
  65. </span>
  66. <span v-if="scope.row.status == 6" slot="footer">
  67. <el-button type="danger" @click="supplement(scope.row.id)">补录</el-button>
  68. </span>
  69. </template>
  70. </el-table-column>
  71. </el-table>
  72. <!--分页-->
  73. <div class="mt_15">
  74. <el-pagination
  75. @size-change="handleSizeChange"
  76. @current-change="handleCurrentChange"
  77. :current-page="searchParm.page"
  78. :page-sizes="[10, 20, 30, 40, 50]"
  79. :page-size="searchParm.pageSize"
  80. layout="total, sizes, prev, pager, next, jumper"
  81. :total="total">
  82. </el-pagination>
  83. </div>
  84. <!--新增弹窗-->
  85. <el-dialog :visible.sync="dialogAddVisible" :title="dialogAddTitle" center width="45%">
  86. <div class="dialog-content">
  87. <el-form ref="addParm" size="small" :model="addParm" :rules="rules" label-width="100px">
  88. <el-form-item label="买家账号" prop="buyerName">
  89. <el-input v-model="addParm.buyerName" clearable style="width:270px"/>
  90. <el-button
  91. type="primary"
  92. icon="el-icon-search"
  93. @click="goSearchBuyer"
  94. style="width:130px"
  95. >请选择买家</el-button>
  96. </el-form-item>
  97. <el-form-item label="国家" prop="country">
  98. <el-input v-model="addParm.country" :disabled="true" clearable></el-input>
  99. </el-form-item>
  100. <el-form-item label="账号" prop="account">
  101. <el-input v-model="addParm.account" :disabled="true" clearable></el-input>
  102. </el-form-item>
  103. <el-form-item label="密码" prop="pwd">
  104. <el-input v-model="addParm.pwd" :disabled="true" clearable></el-input>
  105. </el-form-item>
  106. <el-form-item label="店铺名称" prop="shopName">
  107. <el-input v-model="addParm.shopName" clearable></el-input>
  108. </el-form-item>
  109. <el-form-item label="关键词" prop="keyWord">
  110. <el-input v-model="addParm.keyWord" clearable></el-input>
  111. </el-form-item>
  112. <el-form-item label="标题" prop="title">
  113. <el-input v-model="addParm.title" clearable></el-input>
  114. </el-form-item>
  115. <el-form-item label="链接" prop="link">
  116. <el-input v-model="addParm.link" clearable></el-input>
  117. </el-form-item>
  118. <el-form-item label="数量" prop="number">
  119. <el-input v-model="addParm.number" clearable></el-input>
  120. </el-form-item>
  121. <el-form-item label="规格" prop="specification">
  122. <el-input v-model="addParm.specification" clearable></el-input>
  123. </el-form-item>
  124. <el-form-item label="颜色" prop="color">
  125. <el-input v-model="addParm.color" clearable></el-input>
  126. </el-form-item>
  127. <el-form-item label="优惠卷" prop="exchange">
  128. <el-input v-model="addParm.exchange" clearable></el-input>
  129. </el-form-item>
  130. <el-form-item label="最小价格区间" prop="sectionMin">
  131. <el-input v-model="addParm.sectionMin" clearable></el-input>
  132. </el-form-item>
  133. <el-form-item label="最大价格区间" prop="sectionMax">
  134. <el-input v-model="addParm.sectionMax" clearable></el-input>
  135. </el-form-item>
  136. <el-form-item label="Item" prop="item">
  137. <el-input v-model="addParm.item" clearable></el-input>
  138. </el-form-item>
  139. <el-form-item label="vpn" prop="vpnShare">
  140. <el-input v-model="addParm.vpnShare" :disabled="true" clearable></el-input>
  141. </el-form-item>
  142. <el-form-item label="留言" prop="amessage">
  143. <el-input v-model="addParm.amessage" clearable></el-input>
  144. </el-form-item>
  145. <el-form-item label="月份" prop="month">
  146. <el-select v-model="addParm.month" placeholder="请选择">
  147. <el-option
  148. v-for="item in addMonthList"
  149. :key="item.name"
  150. :label="item.name"
  151. :value="item.name">
  152. </el-option>
  153. </el-select>
  154. </el-form-item>
  155. <el-form-item label="年份" prop="year">
  156. <el-input v-model="addParm.year" clearable></el-input>
  157. </el-form-item>
  158. <el-form-item label="持卡人名称" prop="cardName">
  159. <el-input v-model="addParm.cardName" :disabled="true" clearable></el-input>
  160. </el-form-item>
  161. <el-form-item label="卡号" prop="cardNumber">
  162. <el-input v-model="addParm.cardNumber" :disabled="true" clearable></el-input>
  163. </el-form-item>
  164. <el-form-item label="密码" prop="cardPwd">
  165. <el-input v-model="addParm.cardPwd" :disabled="true" clearable></el-input>
  166. </el-form-item>
  167. </el-form>
  168. </div>
  169. <span slot="footer">
  170. <el-button type="info" @click="sureAddCancle('addParm')">取消</el-button>
  171. <el-button type="primary" @click="sureAdd('addParm')">确认</el-button>
  172. </span>
  173. </el-dialog>
  174. <!-- 买家弹窗 -->
  175. <el-dialog :visible.sync="dialogBuyerVisible" :title="dialogBuyerTitle" center width="75%">
  176. <div class="dialog-content">
  177. <!--搜索-->
  178. <el-form class="mt_15" ref="form" inline size="small">
  179. <el-form-item label="账号">
  180. <el-input v-model="searchBuyerParm.account" clearable placeholder="账号"></el-input>
  181. </el-form-item>
  182. <el-form-item label="昵称">
  183. <el-input v-model="searchBuyerParm.nickName" clearable></el-input>
  184. </el-form-item>
  185. <el-form-item label="密码">
  186. <el-input v-model="searchBuyerParm.pwd" clearable></el-input>
  187. </el-form-item>
  188. <el-form-item label="公司">
  189. <el-select v-model="searchBuyerParm.companyId" placeholder="请选择">
  190. <el-option
  191. v-for="item in companys"
  192. :key="item.name"
  193. :label="item.name"
  194. :value="item.id"
  195. ></el-option>
  196. </el-select>
  197. </el-form-item>
  198. <el-form-item label="平台">
  199. <el-select v-model="searchBuyerParm.platformId" placeholder="请选择">
  200. <el-option
  201. v-for="item in platformList"
  202. :key="item.id"
  203. :label="item.name"
  204. :value="item.id"
  205. ></el-option>
  206. </el-select>
  207. </el-form-item>
  208. <el-form-item>
  209. <el-button type="primary" @click="goSearchBuyer">搜索</el-button>
  210. <el-button type="warning" @click="resetBuyerForm">重置</el-button>
  211. </el-form-item>
  212. </el-form>
  213. <!--表格渲染-->
  214. <el-table
  215. ref="table"
  216. border
  217. size="small"
  218. :data="buyerList"
  219. :header-cell-style="{textAlign:'center'}"
  220. :cell-style="{textAlign:'center'}"
  221. >
  222. <el-table-column label="序号" type="index" width="50" />
  223. <el-table-column label="账号" prop="account" />
  224. <el-table-column label="所属国家" prop="contntryShort" />
  225. <el-table-column label="昵称" prop="nickName" />
  226. <el-table-column label="密码" prop="pwd" />
  227. <el-table-column label="公司" prop="companyName" />
  228. <el-table-column label="平台" prop="platformName" />
  229. <el-table-column label="VPNIP" prop="ipAddress" />
  230. <el-table-column label="信用卡卡号" prop="number" />
  231. <el-table-column label="州" prop="state" />
  232. <el-table-column label="国家" prop="country" />
  233. <el-table-column label="地址1" prop="addressline1" />
  234. <el-table-column label="占用状态" prop="status">
  235. <template slot-scope="scope">{{ scope.row.status | getBuyerStatus}}</template>
  236. </el-table-column>
  237. <el-table-column label="创建时间" prop="createdAt" />
  238. <el-table-column label="修改时间" prop="updatedAt" />
  239. <el-table-column label="操作" width="220">
  240. <template slot-scope="scope">
  241. <el-button type="info" @click="getBuyerBtnById(scope.row.id)">查看</el-button>
  242. <el-button type="success" @click="getBuyerById(scope.row)" v-if="buyerId !== scope.row.id">选中</el-button>
  243. <div v-if="buyerId === scope.row.id">已选中</div>
  244. </template>
  245. </el-table-column>
  246. </el-table>
  247. <!--分页-->
  248. <div class="mt_15">
  249. <el-pagination
  250. @size-change="handleSizeChange"
  251. @current-change="handleCurrentChange"
  252. :current-page="searchBuyerParm.page"
  253. :page-sizes="[10, 20, 30, 40, 50]"
  254. :page-size="searchBuyerParm.pageSize"
  255. layout="total, sizes, prev, pager, next, jumper"
  256. :total="total"
  257. ></el-pagination>
  258. </div>
  259. </div>
  260. </el-dialog>
  261. <!--导入 importBtn-->
  262. <el-dialog :visible.sync="dialogImportVisible" :title="dialogImportTitle" center width="22%">
  263. <div class="dialog-content">
  264. <el-upload
  265. class="upload-demo"
  266. drag
  267. ref="upload"
  268. :action="uploadFileUrl"
  269. :headers="uploadHeaders"
  270. :show-file-list = "false"
  271. :on-success="uploadSuccess"
  272. :before-upload="beforeAvatarUpload"
  273. multiple>
  274. <i class="el-icon-upload"></i>
  275. <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
  276. <div class="el-upload__tip" slot="tip">只能上传xlsl文件,且不超过10M</div>
  277. </el-upload>
  278. </div>
  279. </el-dialog>
  280. <!--修改弹窗-->
  281. <el-dialog :visible.sync="dialogEditVisible" :title="dialogEditTitle" center width="45%">
  282. <div class="dialog-content">
  283. <el-form ref="editParm" size="small" :model="editParm" :rules="rules" label-width="100px">
  284. <el-form-item label="国家" prop="country">
  285. <el-input v-model="editParm.country" :disabled="true" clearable></el-input>
  286. </el-form-item>
  287. <el-form-item label="买家账号" prop="buyerName">
  288. <el-input v-model="editParm.buyerName" :disabled="true" style="width:200px" />
  289. <el-button
  290. type="primary"
  291. icon="el-icon-search"
  292. @click="goSearchBuyer"
  293. style="width:130px"
  294. >请选择设</el-button>
  295. </el-form-item>
  296. <el-form-item label="账号" prop="account">
  297. <el-input v-model="editParm.account" :disabled="true" clearable></el-input>
  298. </el-form-item>
  299. <el-form-item label="密码" prop="pwd">
  300. <el-input v-model="editParm.pwd" :disabled="true" clearable></el-input>
  301. </el-form-item>
  302. <el-form-item label="店铺名称" prop="shopName">
  303. <el-input v-model="editParm.shopName" clearable></el-input>
  304. </el-form-item>
  305. <el-form-item label="关键词" prop="keyWord">
  306. <el-input v-model="editParm.keyWord" clearable></el-input>
  307. </el-form-item>
  308. <el-form-item label="标题" prop="title">
  309. <el-input v-model="editParm.title" clearable></el-input>
  310. </el-form-item>
  311. <el-form-item label="链接" prop="link">
  312. <el-input v-model="editParm.link" clearable></el-input>
  313. </el-form-item>
  314. <el-form-item label="数量" prop="number">
  315. <el-input v-model="editParm.number" clearable></el-input>
  316. </el-form-item>
  317. <el-form-item label="规格" prop="specification">
  318. <el-input v-model="editParm.specification" clearable></el-input>
  319. </el-form-item>
  320. <el-form-item label="颜色" prop="color">
  321. <el-input v-model="editParm.color" clearable></el-input>
  322. </el-form-item>
  323. <el-form-item label="优惠卷" prop="exchange">
  324. <el-input v-model="editParm.exchange" clearable></el-input>
  325. </el-form-item>
  326. <el-form-item label="最小价格区间" prop="sectionMin">
  327. <el-input v-model="editParm.sectionMin" clearable></el-input>
  328. </el-form-item>
  329. <el-form-item label="最大价格区间" prop="sectionMax">
  330. <el-input v-model="editParm.sectionMax" clearable></el-input>
  331. </el-form-item>
  332. <el-form-item label="Item" prop="item">
  333. <el-input v-model="editParm.item" clearable></el-input>
  334. </el-form-item>
  335. <el-form-item label="vpn" prop="vpnShare">
  336. <el-input v-model="editParm.vpnShare" :disabled="true" clearable></el-input>
  337. </el-form-item>
  338. <el-form-item label="留言" prop="amessage">
  339. <el-input v-model="editParm.amessage" clearable></el-input>
  340. </el-form-item>
  341. <el-form-item label="月份" prop="month">
  342. <el-select v-model="editParm.month" placeholder="请选择">
  343. <el-option
  344. v-for="item in addMonthList"
  345. :key="item.name"
  346. :label="item.name"
  347. :value="item.name">
  348. </el-option>
  349. </el-select>
  350. </el-form-item>
  351. <el-form-item label="年份" prop="year">
  352. <el-input v-model="editParm.year" clearable></el-input>
  353. </el-form-item>
  354. <el-form-item label="持卡人名称" prop="cardName">
  355. <el-input v-model="editParm.cardName" :disabled="true" clearable></el-input>
  356. </el-form-item>
  357. <el-form-item label="卡号" prop="cardNumber">
  358. <el-input v-model="editParm.cardNumber" :disabled="true" clearable></el-input>
  359. </el-form-item>
  360. <el-form-item label="密码" prop="cardPwd">
  361. <el-input v-model="editParm.cardPwd" :disabled="true" clearable></el-input>
  362. </el-form-item>
  363. </el-form>
  364. </div>
  365. <span slot="footer">
  366. <el-button type="info" @click="sureEditCancle('editParm')">取消</el-button>
  367. <el-button type="primary" @click="sureEdit('editParm')">确认</el-button>
  368. </span>
  369. </el-dialog>
  370. <!--详情弹窗-->
  371. <el-dialog :visible.sync="dialogDetailVisible" :title="dialogDetailTitle" center width="45%">
  372. <div class="dialog-content">
  373. <el-form ref="form" size="small" label-width="100px">
  374. <el-form-item label="国家" prop="country">
  375. <el-input v-model="detailParm.country" :disabled="true" clearable></el-input>
  376. </el-form-item>
  377. <el-form-item label="买家账号" prop="buyerName">
  378. <el-input v-model="detailParm.buyerName" :disabled="true" clearable></el-input>
  379. </el-form-item>
  380. <el-form-item label="账号" prop="account">
  381. <el-input v-model="detailParm.account" :disabled="true" clearable></el-input>
  382. </el-form-item>
  383. <el-form-item label="密码" prop="pwd">
  384. <el-input v-model="detailParm.pwd" :disabled="true" clearable></el-input>
  385. </el-form-item>
  386. <el-form-item label="店铺名称" prop="shopName">
  387. <el-input v-model="detailParm.shopName" :disabled="true" clearable></el-input>
  388. </el-form-item>
  389. <el-form-item label="关键词" prop="keyWord">
  390. <el-input v-model="detailParm.keyWord" :disabled="true" clearable></el-input>
  391. </el-form-item>
  392. <el-form-item label="标题" prop="title">
  393. <el-input v-model="detailParm.title" :disabled="true" clearable></el-input>
  394. </el-form-item>
  395. <el-form-item label="链接" prop="link">
  396. <el-input v-model="detailParm.link" :disabled="true" clearable></el-input>
  397. </el-form-item>
  398. <el-form-item label="数量" prop="number">
  399. <el-input v-model="detailParm.number" :disabled="true" clearable></el-input>
  400. </el-form-item>
  401. <el-form-item label="规格" prop="specification">
  402. <el-input v-model="detailParm.specification" :disabled="true" clearable></el-input>
  403. </el-form-item>
  404. <el-form-item label="颜色" prop="color">
  405. <el-input v-model="detailParm.color" :disabled="true" clearable></el-input>
  406. </el-form-item>
  407. <el-form-item label="优惠卷" prop="exchange">
  408. <el-input v-model="detailParm.exchange" :disabled="true" clearable></el-input>
  409. </el-form-item>
  410. <el-form-item label="Item" prop="item">
  411. <el-input v-model="detailParm.item" :disabled="true" clearable></el-input>
  412. </el-form-item>
  413. <el-form-item label="vpn" prop="vpnShare">
  414. <el-input v-model="detailParm.vpnShare" :disabled="true" clearable></el-input>
  415. </el-form-item>
  416. <el-form-item label="留言" prod="amessage">
  417. <el-input v-model="detailParm.amessage" :disabled="true" clearable></el-input>
  418. </el-form-item>
  419. <el-form-item label="月份" prop="month">
  420. <el-select v-model="detailParm.month" :disabled="true" placeholder="请选择">
  421. <el-option
  422. v-for="item in addMonthList"
  423. :key="item.name"
  424. :label="item.name"
  425. :value="item.name">
  426. </el-option>
  427. </el-select>
  428. </el-form-item>
  429. <el-form-item label="年份" prop="year">
  430. <el-input v-model="detailParm.year" :disabled="true" clearable></el-input>
  431. </el-form-item>
  432. <el-form-item label="持卡人名称" prop="cardName">
  433. <el-input v-model="detailParm.cardName" :disabled="true" clearable></el-input>
  434. </el-form-item>
  435. <el-form-item label="卡号" prod="cardNumber">
  436. <el-input v-model="detailParm.cardNumber" :disabled="true" clearable></el-input>
  437. </el-form-item>
  438. <el-form-item label="密码" prod="cardPwd">
  439. <el-input v-model="detailParm.cardPwd" :disabled="true" clearable></el-input>
  440. </el-form-item>
  441. <el-form-item label="执行结果" prod="response">
  442. <el-input v-model="detailParm.response" :disabled="true" clearable></el-input>
  443. </el-form-item>
  444. <el-form-item label="状态" prod="status">
  445. <el-select v-model="detailParm.status" :disabled="true" placeholder="请选择">
  446. <el-option
  447. v-for="item in detailStatusList"
  448. :key="item.name"
  449. :label="item.name"
  450. :value="item.id">
  451. </el-option>
  452. </el-select>
  453. </el-form-item>
  454. </el-form>
  455. </div>
  456. </el-dialog>
  457. <!--Order详情弹窗-->
  458. <el-dialog :visible.sync="dialogOrderDetailVisible" :title="dialogOrderDetailTitle" center width="45%">
  459. <div class="dialog-content">
  460. <el-form ref="form" size="small" label-width="100px">
  461. <el-form-item label="创建时间" prop="createdAt">
  462. <el-input v-model="orderDetailParm.createdAt" :disabled="true" clearable></el-input>
  463. </el-form-item>
  464. <el-form-item label="修改时间" prop="updatedAt">
  465. <el-input v-model="orderDetailParm.updatedAt" :disabled="true" clearable></el-input>
  466. </el-form-item>
  467. <el-form-item label="总金额" prop="amount">
  468. <el-input v-model="orderDetailParm.amount" :disabled="true" clearable></el-input>
  469. </el-form-item>
  470. <el-form-item label="状态描述" prop="paymentResults">
  471. <el-input v-model="orderDetailParm.paymentResults" :disabled="true" clearable></el-input>
  472. </el-form-item>
  473. <el-form-item label="店铺名称" prop="shop">
  474. <el-input v-model="orderDetailParm.shop" :disabled="true" clearable></el-input>
  475. </el-form-item>
  476. <el-form-item label="购买数量" prop="pricesNumber">
  477. <el-input v-model="orderDetailParm.pricesNumber" :disabled="true" clearable></el-input>
  478. </el-form-item>
  479. <el-form-item label="订单id" prop="orderId">
  480. <el-input v-model="orderDetailParm.orderId" :disabled="true" clearable></el-input>
  481. </el-form-item>
  482. <el-form-item label="商品名称" prop="shopName">
  483. <el-input v-model="orderDetailParm.shopName" :disabled="true" clearable></el-input>
  484. </el-form-item>
  485. <el-form-item label="时间" prop="orderDate">
  486. <el-input v-model="orderDetailParm.orderDate" :disabled="true" clearable></el-input>
  487. </el-form-item>
  488. </el-form>
  489. </div>
  490. </el-dialog>
  491. <!--Order补录弹窗-->
  492. <el-dialog :visible.sync="dialogSupplementVisible" :title="dialogSupplementTitle" center width="45%">
  493. <div class="dialog-content">
  494. <el-form ref="supplementParm" size="small" :model="supplementParm" :rules="orderRules" label-width="100px">
  495. <el-form-item label="刷单ID" prop="clickFarmingId">
  496. <el-input v-model="supplementParm.clickFarmingId" :disabled="true" clearable></el-input>
  497. </el-form-item>
  498. <el-form-item label="总金额" prop="amount">
  499. <el-input v-model="supplementParm.amount" clearable></el-input>
  500. </el-form-item>
  501. <el-form-item label="状态描述" prop="paymentResults">
  502. <el-input v-model="supplementParm.paymentResults" clearable></el-input>
  503. </el-form-item>
  504. <el-form-item label="店铺名称" prop="shop">
  505. <el-input v-model="supplementParm.shop" clearable></el-input>
  506. </el-form-item>
  507. <el-form-item label="购买数量" prop="pricesNumber">
  508. <el-input v-model="supplementParm.pricesNumber" clearable></el-input>
  509. </el-form-item>
  510. <el-form-item label="订单id" prop="orderId">
  511. <el-input v-model="supplementParm.orderId" clearable></el-input>
  512. </el-form-item>
  513. <el-form-item label="商品名称" prop="shopName">
  514. <el-input v-model="supplementParm.shopName" clearable></el-input>
  515. </el-form-item>
  516. <el-form-item label="时间" prop="orderDate">
  517. <el-input v-model="supplementParm.orderDate" clearable></el-input>
  518. </el-form-item>
  519. </el-form>
  520. </div>
  521. <span slot="footer">
  522. <el-button type="info" @click="dialogSupplementVisible=flase">取消</el-button>
  523. <el-button type="primary" @click="sureSuppment">确认</el-button>
  524. </span>
  525. </el-dialog>
  526. <!--详情弹窗-->
  527. <el-dialog :visible.sync="dialogBuyerDetailVisible" :title="dialogBuyerDetailTitle" center width="45%">
  528. <div class="dialog-content">
  529. <el-form ref="form" size="small" label-width="120px">
  530. <el-form-item label="账号" prop="account">
  531. <el-input v-model="detailBuyerParm.account" :disabled="true"></el-input>
  532. </el-form-item>
  533. <el-form-item label="昵称" prop="nickName">
  534. <el-input v-model="detailBuyerParm.nickName" :disabled="true"></el-input>
  535. </el-form-item>
  536. <el-form-item label="密码" prop="pwd">
  537. <el-input v-model="detailBuyerParm.pwd" :disabled="true"></el-input>
  538. </el-form-item>
  539. <el-form-item label="公司" prop="companyId">
  540. <el-select v-model="detailBuyerParm.companyId" disabled placeholder="请选择">
  541. <el-option
  542. v-for="item in companys"
  543. :key="item.name"
  544. :label="item.name"
  545. :value="item.id"
  546. ></el-option>
  547. </el-select>
  548. </el-form-item>
  549. <el-form-item label="平台" prop="platformId">
  550. <el-select v-model="detailBuyerParm.platformId" disabled placeholder="请选择">
  551. <el-option
  552. v-for="item in platformList"
  553. :key="item.name"
  554. :label="item.name"
  555. :value="item.id"
  556. ></el-option>
  557. </el-select>
  558. </el-form-item>
  559. <!--国家-->
  560. <el-form-item label="国家" prop="contntryShort">
  561. <el-input v-model="detailBuyerParm.contntryShort" disabled clearable></el-input>
  562. </el-form-item>
  563. <!--VPN vpnId -->
  564. <el-form-item label="VPNIP" prop="vpnIp">
  565. <el-input v-model="detailBuyerParm.vpnIp" disabled clearable></el-input>
  566. </el-form-item>
  567. <!--信用卡ID cardId -->
  568. <el-form-item label="信用卡卡号" prop="cardNumber">
  569. <el-input v-model="detailBuyerParm.cardNumber" disabled clearable></el-input>
  570. </el-form-item>
  571. <!--用户等级 level -->
  572. <el-form-item label="用户等级" prop="level">
  573. <el-select v-model="detailBuyerParm.level" disabled placeholder="请选择">
  574. <el-option
  575. v-for="item in levelList"
  576. :key="item.name"
  577. :label="item.name"
  578. :value="item.id"
  579. ></el-option>
  580. </el-select>
  581. </el-form-item>
  582. <!--占用状态 occupyStatus -->
  583. <el-form-item label="占用状态" prop="occupyStatus">
  584. <el-select v-model="detailBuyerParm.occupyStatus" disabled placeholder="请选择">
  585. <el-option
  586. v-for="item in occupyStatusList"
  587. :key="item.name"
  588. :label="item.name"
  589. :value="item.id"
  590. ></el-option>
  591. </el-select>
  592. </el-form-item>
  593. <!--状态 status -->
  594. <el-form-item label="状态" prop="status">
  595. <el-select v-model="detailBuyerParm.status" disabled placeholder="请选择">
  596. <el-option
  597. v-for="item in buyerStatusList"
  598. :key="item.name"
  599. :label="item.name"
  600. :value="item.id"
  601. ></el-option>
  602. </el-select>
  603. </el-form-item>
  604. <!--占用账户-->
  605. <el-form-item label="占用账户" prop="occupyAccount">
  606. <el-input v-model="detailBuyerParm.occupyAccount" :disabled="true" clearable></el-input>
  607. </el-form-item>
  608. <!--账户余额-->
  609. <el-form-item label="账户余额" prop="balance">
  610. <el-input v-model="detailBuyerParm.balance" :disabled="true" clearable></el-input>
  611. </el-form-item>
  612. <!--购买总金额-->
  613. <el-form-item label="账户购买总金额" prop="buyTotalMoney">
  614. <el-input v-model="detailBuyerParm.buyTotalMoney" :disabled="true" clearable></el-input>
  615. </el-form-item>
  616. <!--地址1-->
  617. <el-form-item label="地址1" prop="addressline1">
  618. <el-input v-model="detailBuyerParm.addressline1" :disabled="true" clearable></el-input>
  619. </el-form-item>
  620. <!--国家-->
  621. <el-form-item label="国家" prop="country">
  622. <el-input v-model="detailBuyerParm.country" :disabled="true" clearable></el-input>
  623. </el-form-item>
  624. <!--州-->
  625. <el-form-item label="州" prop="state">
  626. <el-input v-model="detailBuyerParm.state" :disabled="true" clearable></el-input>
  627. </el-form-item>
  628. <!--电话-->
  629. <el-form-item label="电话" prop="tel">
  630. <el-input v-model="detailBuyerParm.tel" :disabled="true" clearable></el-input>
  631. </el-form-item>
  632. <!--lastname-->
  633. <el-form-item label="lastname" prop="lastname">
  634. <el-input v-model="detailBuyerParm.lastname" :disabled="true" clearable></el-input>
  635. </el-form-item>
  636. <!--税号-->
  637. <el-form-item label="税号" prop="vatNumber">
  638. <el-input v-model="detailBuyerParm.vatNumber" :disabled="true" clearable></el-input>
  639. </el-form-item>
  640. <!--城市-->
  641. <el-form-item label="城市" prop="city">
  642. <el-input v-model="detailBuyerParm.city" :disabled="true" clearable></el-input>
  643. </el-form-item>
  644. <!--地址2-->
  645. <el-form-item label="地址2" prop="addressline2">
  646. <el-input v-model="detailBuyerParm.addressline2" :disabled="true" clearable></el-input>
  647. </el-form-item>
  648. <!--firstname-->
  649. <el-form-item label="firstname" prop="firstname">
  650. <el-input v-model="detailBuyerParm.firstname" :disabled="true" clearable></el-input>
  651. </el-form-item>
  652. <!--邮政编码-->
  653. <el-form-item label="邮政编码" prop="postalcode">
  654. <el-input v-model="detailBuyerParm.postalcode" :disabled="true" clearable></el-input>
  655. </el-form-item>
  656. </el-form>
  657. </div>
  658. </el-dialog>
  659. </div>
  660. </template>
  661. <script>
  662. import { add, editById, delById, getList, getById, getEditDetailById } from '@/api/group/clickfarming'
  663. import { getDetailById, supplement } from '@/api/group/clickOrder'
  664. import { getBuyerList, getBuyerById } from "@/api/group/dhPay";
  665. import { getAll } from "@/api/group/company";
  666. export default {
  667. filters: {
  668. getStatus: function (value) {
  669. if(value == 1) {
  670. return '待执行';
  671. } else if (value == 2) {
  672. return '执行中';
  673. } else if (value == 3) {
  674. return '执行成功';
  675. } else if(value == 4) {
  676. return '执行失败';
  677. } else if(value == 5) {
  678. return '待支付异常';
  679. } else if(value == 6) {
  680. return '支付成功异常';
  681. } else {
  682. return '执行失败';
  683. }
  684. },
  685. getType: function (value) {
  686. if(value == 1) {
  687. return 'Payoneer';
  688. } else if (value == 2) {
  689. return '万事达虚拟卡';
  690. } else {
  691. return 'Visa信用卡';
  692. }
  693. },
  694. getCardDealer: function (value) {
  695. if(value == 1) {
  696. return 'AmzKeys';
  697. } else{
  698. return 'Airwallex';
  699. }
  700. },
  701. getBuyerStatus:function (value) {
  702. if(value == 1) {
  703. return '已占用';
  704. } else{
  705. return '未占用';
  706. }
  707. }
  708. },
  709. // 数据
  710. data() {
  711. return {
  712. searchParm: {
  713. page: 1,
  714. pageSize: 10,
  715. sort:'created_at',
  716. order:'desc',
  717. keyWord:null,
  718. status:null,
  719. item:null,
  720. shopName:'',
  721. payOrderId:null,
  722. },
  723. total:0,
  724. list: [],
  725. buyerList: [],
  726. companys:[],
  727. buyerId: null,
  728. uploadHeaders:{ Authorization: this.$store.getters.token },
  729. dialogAddVisible: false,
  730. dialogAddTitle: '新增',
  731. dialogDetailVisible: false,
  732. dialogDetailTitle: '详情',
  733. dialogOrderDetailVisible: false,
  734. dialogOrderDetailTitle: '订单详情',
  735. dialogEditVisible: false,
  736. dialogEditTitle: '修改',
  737. dialogSupplementVisible: false,
  738. dialogSupplementTitle: '补录',
  739. dialogImportVisible: false,
  740. dialogImportTitle:'导入',
  741. dialogBuyerVisible: false,
  742. dialogBuyerTitle: "买家列表",
  743. dialogBuyerVisible: false,
  744. dialogBuyerTitle: "买家列表",
  745. dialogBuyerDetailVisible: false,
  746. dialogBuyerDetailTitle: "买家详情",
  747. uploadFileUrl: process.env.VUE_APP_BASE_API + '/api/clickFarming/import',
  748. updateBoolean: false,
  749. tempUrl: process.env.VUE_APP_BASE_API + '/api/clickFarming/exportTemp',
  750. detailStatusList:[
  751. {
  752. id: 1,
  753. name: '待执行'
  754. },
  755. {
  756. id: 2,
  757. name: '执行中',
  758. },
  759. {
  760. id: 3,
  761. name: '执行成功'
  762. },
  763. {
  764. id: 4,
  765. name: '执行失败'
  766. },{
  767. id:5,
  768. name:"待支付异常"
  769. },{
  770. id:6,
  771. name:"支付成功异常"
  772. }],
  773. statusList:[
  774. {
  775. id: null,
  776. name: '全部'
  777. },
  778. {
  779. id: 1,
  780. name: '待执行'
  781. },
  782. {
  783. id: 2,
  784. name: '执行中',
  785. },
  786. {
  787. id: 3,
  788. name: '执行成功'
  789. },
  790. {
  791. id: 4,
  792. name: '执行失败'
  793. },{
  794. id:5,
  795. name:"待支付异常"
  796. },{
  797. id:6,
  798. name:"支付成功异常"
  799. }],
  800. addMonthList:[
  801. {
  802. name: 'January (01)'
  803. },
  804. {
  805. name: 'February (02)'
  806. },{
  807. name: 'March (03)'
  808. },{
  809. name: 'April (04)'
  810. },{
  811. name: 'May (05)'
  812. },{
  813. name: 'June (06)'
  814. },{
  815. name: 'July (07)'
  816. },{
  817. name: 'August (08)'
  818. },{
  819. name: 'September (09)'
  820. },{
  821. name: 'October (10)'
  822. },{
  823. name: 'November (11)'
  824. },{
  825. name: 'December (12)'
  826. }
  827. ],
  828. occupyStatusList: [
  829. {
  830. id: 1,
  831. name: "已占用"
  832. },
  833. {
  834. id: 2,
  835. name: "未占用"
  836. }
  837. ],
  838. buyerStatusList: [
  839. {
  840. id: 1,
  841. name: "待注册"
  842. },
  843. {
  844. id: 2,
  845. name: "待验证"
  846. },
  847. {
  848. id: 3,
  849. name: "待完善"
  850. },
  851. {
  852. id: 4,
  853. name: "正常"
  854. },
  855. {
  856. id: 5,
  857. name: "异常"
  858. },
  859. {
  860. id: 6,
  861. name: "可用但已用"
  862. },
  863. {
  864. id: 7,
  865. name: "删除"
  866. }
  867. ],
  868. levelList: [
  869. {
  870. id: 1,
  871. name: "普通"
  872. },
  873. {
  874. id: 2,
  875. name: "精品"
  876. },
  877. {
  878. id: 3,
  879. name: "压力"
  880. },
  881. {
  882. id: 4,
  883. name: "内部账号"
  884. }
  885. ],
  886. platformList: [
  887. {
  888. id: 1,
  889. name: "敦煌"
  890. },
  891. {
  892. id: 2,
  893. name: "速卖通"
  894. },
  895. {
  896. id: 3,
  897. name: "马帮"
  898. }
  899. ],
  900. addParm: {
  901. country:null,
  902. account:null,
  903. pwd:null,
  904. shopName: null,
  905. keyWord:null,
  906. title:null,
  907. link:null,
  908. number:null,
  909. specification:null,
  910. color:null,
  911. sectionMin:null,
  912. sectionMax:null,
  913. item:null,
  914. exchange:null,
  915. vpnShare:null,
  916. amessage:null,
  917. month:null,
  918. year:null,
  919. cardName:null,
  920. cardNumber:null,
  921. cardPwd:null,
  922. buyerId:null,
  923. buyerName:null
  924. },
  925. searchBuyerParm: {
  926. page: 1,
  927. pageSize: 10,
  928. account: null,
  929. sort: "created_at",
  930. order: "desc",
  931. nickName: null,
  932. pwd: null,
  933. companyId: null,
  934. platformId: null
  935. },
  936. supplementParm: {
  937. clickFarmingId: null,
  938. amount: null,
  939. paymentResults: null,
  940. shop: null,
  941. pricesNumber: null,
  942. orderId: null,
  943. shopName: null,
  944. orderDate: null
  945. },
  946. editParm: {
  947. id: null,
  948. country:null,
  949. account:null,
  950. pwd:null,
  951. shopName:null,
  952. keyWord:null,
  953. title:null,
  954. link:null,
  955. number:null,
  956. specification:null,
  957. color:null,
  958. sectionMin:null,
  959. sectionMax:null,
  960. item:null,
  961. exchange:null,
  962. vpnShare:null,
  963. amessage:null,
  964. month:null,
  965. year:null,
  966. cardName:null,
  967. cardNumber:null,
  968. cardPwd:null,
  969. buyerId:null,
  970. buyerName:null
  971. },
  972. detailParm: {
  973. id: null,
  974. country:null,
  975. account:null,
  976. pwd: null,
  977. shopName: null,
  978. keyWord:null,
  979. title:null,
  980. link:null,
  981. number:null,
  982. specification:null,
  983. color:null,
  984. item:null,
  985. exchange:null,
  986. vpnShare:null,
  987. amessage:null,
  988. month:null,
  989. year:null,
  990. cardName:null,
  991. cardNumber:null,
  992. cardPwd:null,
  993. response:null,
  994. status:null
  995. },
  996. orderDetailParm: {
  997. id: null,
  998. createdAt:null,
  999. updatedAt:null,
  1000. amount:null,
  1001. paymentResults:null,
  1002. shop:null,
  1003. pricesNumber:null,
  1004. orderId:null,
  1005. shopName:null,
  1006. orderDate:null
  1007. },
  1008. detailBuyerParm: {
  1009. id: null,
  1010. nickName:null,
  1011. pwd:null,
  1012. account: null,
  1013. companyId:null,
  1014. platformId:null,
  1015. contntryShort:null,
  1016. vpnId:null,
  1017. vpnIp:null,
  1018. cardId:null,
  1019. cardNumber:null,
  1020. level:null,
  1021. occupyStatus:null,
  1022. addressline1:null,
  1023. country:null,
  1024. state:null,
  1025. tel:null,
  1026. lastname:null,
  1027. vatNumber:null,
  1028. city:null,
  1029. addressline2:null,
  1030. firstname:null,
  1031. postalcode:null,
  1032. status:null
  1033. },
  1034. rules: {
  1035. country: [
  1036. { required: true, message: '请输入国家', trigger: 'blur' }
  1037. ],
  1038. account: [
  1039. { required: true, message: '请输入PIN码', trigger: 'blur' }
  1040. ],
  1041. pwd: [
  1042. { required: true, message: '请输入密码', trigger: 'blur' }
  1043. ],
  1044. shopName: [
  1045. { required: true, message: '请输入店铺名称', trigger: 'blur' }
  1046. ],
  1047. keyWord: [
  1048. { required: true, message: '请输入关键词', trigger: 'blur' }
  1049. ],
  1050. title: [
  1051. { required: true, message: '请输入标题', trigger: 'blur' }
  1052. ],
  1053. link: [
  1054. { required: true, message: '请输入链接', trigger: 'blur' }
  1055. ],
  1056. number: [
  1057. { required: true, message: '请输入数量', trigger: 'blur' }
  1058. ],
  1059. item: [
  1060. { required: true, message: '请输入Item', trigger: 'blur' }
  1061. ],
  1062. vpnShare: [
  1063. { required: true, message: '请输入vpn', trigger: 'blur' }
  1064. ],
  1065. amessage: [
  1066. { required: true, message: '请输入留言', trigger: 'blur' }
  1067. ],
  1068. month: [
  1069. { required: true, message: '请输入月份', trigger: 'blur' }
  1070. ],
  1071. year: [
  1072. { required: true, message: '请输入年份', trigger: 'blur' }
  1073. ],
  1074. cardName: [
  1075. { required: true, message: '请输入持卡人名称', trigger: 'blur' }
  1076. ],
  1077. cardNumber: [
  1078. { required: true, message: '请输入卡号', trigger: 'blur' }
  1079. ],
  1080. cardPwd: [
  1081. { required: true, message: '请输入密码', trigger: 'blur' }
  1082. ]
  1083. },
  1084. orderRules:{
  1085. amount: [
  1086. { required: true, message: '请输入总金额', trigger: 'blur' }
  1087. ],
  1088. paymentResults: [
  1089. { required: true, message: '请输入状态描述', trigger: 'blur' }
  1090. ],
  1091. shop: [
  1092. { required: true, message: '请输入店铺名称', trigger: 'blur' }
  1093. ],
  1094. pricesNumber: [
  1095. { required: true, message: '请输入购买数量', trigger: 'blur' }
  1096. ],
  1097. orderId: [
  1098. { required: true, message: '请输入订单id', trigger: 'blur' }
  1099. ],
  1100. shopName: [
  1101. { required: true, message: '请输入商品名称', trigger: 'blur' }
  1102. ],
  1103. orderDate: [
  1104. { required: true, message: '请输入时间', trigger: 'blur' }
  1105. ]
  1106. }
  1107. }
  1108. },
  1109. // 调用
  1110. created() {
  1111. this.goSearch();
  1112. },
  1113. //方法
  1114. methods: {
  1115. //重置
  1116. resetForm() {
  1117. this.searchParm.keyWord = null;
  1118. this.searchParm.item=null;
  1119. this.searchParm.status=null;
  1120. this.searchParm.shopName='';
  1121. this.searchParm.payOrderId=null;
  1122. this.goSearch()
  1123. },
  1124. // 获取所有公司信息
  1125. getCompanyAll() {
  1126. getAll()
  1127. .then(res => {
  1128. this.companys = res.data;
  1129. if (res.code == 200) {
  1130. console.log(this.companys);
  1131. }
  1132. })
  1133. .catch(() => {});
  1134. },
  1135. resetBuyerForm() {
  1136. this.searchBuyerParm.account = null;
  1137. this.searchBuyerParm.pwd = null;
  1138. this.searchBuyerParm.nickName = null;
  1139. this.searchBuyerParm.companyId = null;
  1140. this.searchBuyerParm.platformId = null;
  1141. this.goSearchBuyer();
  1142. },
  1143. // 查询
  1144. goSearch() {
  1145. this.searchParm.page=1;
  1146. this.getCompanyAll();
  1147. this.getDataList();
  1148. },
  1149. goSearchBuyer() {
  1150. this.dialogBuyerVisible = true;
  1151. this.searchBuyerParm.page = 1;
  1152. this.getBuyerDataList();
  1153. },
  1154. getBuyerDataList() {
  1155. getBuyerList(this.searchBuyerParm)
  1156. .then(res => {
  1157. console.log(res);
  1158. if (res.code == 200) {
  1159. this.buyerList = res.data.list;
  1160. this.buyerTotal = res.data.total;
  1161. }
  1162. })
  1163. .catch(err => {
  1164. console.log(err);
  1165. });
  1166. },
  1167. getBuyerById(data){
  1168. this.buyerName = data.account;
  1169. this.buyerId = data.id;
  1170. if(this.dialogAddVisible == true) {
  1171. this.addParm.buyerId = data.id;
  1172. this.addParm.buyerName = data.account;
  1173. // 买家
  1174. this.addParm.country = data.contntryShort;
  1175. this.addParm.account = data.account;
  1176. this.addParm.pwd = data.pwd;
  1177. // vpn
  1178. this.addParm.vpnShare = data.vpn;
  1179. // 信用卡
  1180. this.addParm.cardName = data.holderSurname + " " + data.holderName;
  1181. this.addParm.cardNumber = data.number;
  1182. this.addParm.cardPwd = data.cardPwd;
  1183. }
  1184. if(this.dialogEditVisible == true) {
  1185. this.editParm.buyerId = data.id;
  1186. this.editParm.buyerName = data.account;
  1187. // 买家
  1188. this.editParm.country = data.contntryShort;
  1189. this.editParm.account = data.account;
  1190. this.editParm.pwd = data.pwd;
  1191. // vpn
  1192. this.editParm.vpnShare = data.vpn;
  1193. // 信用卡
  1194. this.editParm.cardName = data.holderSurname + " " + data.holderName;
  1195. this.editParm.cardNumber = data.number;
  1196. this.editParm.cardPwd = data.cardPwd;
  1197. }
  1198. this.dialogBuyerVisible = false;
  1199. console.log(data);
  1200. this.$message.success("选择成功");
  1201. },
  1202. // 查看买家信息根据id
  1203. getBuyerBtnById(id) {
  1204. getBuyerById({ id })
  1205. .then(res => {
  1206. if (res.code == 200) {
  1207. this.detailBuyerParm.id = res.data.id;
  1208. this.detailBuyerParm.nickName = res.data.nickName;
  1209. this.detailBuyerParm.pwd = res.data.pwd;
  1210. this.detailBuyerParm.account = res.data.account;
  1211. this.detailBuyerParm.companyId = res.data.companyId;
  1212. this.detailBuyerParm.platformId = res.data.platformId;
  1213. this.detailBuyerParm.contntryShort = res.data.contntryShort;
  1214. this.detailBuyerParm.vpnId = res.data.vpnId;
  1215. this.detailBuyerParm.vpnIp = res.data.ipAddress;
  1216. this.detailBuyerParm.cardNumber = res.data.number;
  1217. this.detailBuyerParm.cardId = res.data.cardId;
  1218. this.detailBuyerParm.level = res.data.level;
  1219. this.detailBuyerParm.occupyStatus = res.data.occupyStatus;
  1220. this.detailBuyerParm.occupyAccount = res.data.occupyAccount;
  1221. this.detailBuyerParm.balance = res.data.balance;
  1222. this.detailBuyerParm.buyTotalMoney = res.data.buyTotalMoney;
  1223. this.detailBuyerParm.addressline1 = res.data.addressline1;
  1224. this.detailBuyerParm.country = res.data.country;
  1225. this.detailBuyerParm.state = res.data.state;
  1226. this.detailBuyerParm.tel = res.data.tel;
  1227. this.detailBuyerParm.lastname = res.data.lastname;
  1228. this.detailBuyerParm.vatNumber = res.data.vatNumber;
  1229. this.detailBuyerParm.city = res.data.city;
  1230. this.detailBuyerParm.addressline2 = res.data.addressline2;
  1231. this.detailBuyerParm.firstname = res.data.firstname;
  1232. this.detailBuyerParm.postalcode = res.data.postalcode;
  1233. this.detailBuyerParm.status = res.data.status;
  1234. this.dialogBuyerDetailVisible = true;
  1235. }
  1236. })
  1237. .catch(err => {
  1238. console.log(err);
  1239. });
  1240. },
  1241. beforeAvatarUpload(file) {
  1242. console.log(file);
  1243. // const isXlsl = file.type === 'xlsl';
  1244. const isLt10M = file.size / 1024 / 1024 <10;
  1245. // if (!isXlsl) {
  1246. // this.$message.error('上传头像图片只能是 xlsl 格式!');
  1247. // }
  1248. if (!isLt10M) {
  1249. this.$message.error('上传头像图片大小不能超过 10MB!');
  1250. }
  1251. // return isXlsl && isLt10M;
  1252. return isLt10M;
  1253. },
  1254. uploadSuccess(res, file) {
  1255. this.dialogImportVisible = false;
  1256. if(res.code==200) {
  1257. console.log(res.data);
  1258. this.$message.success('导入成功!');
  1259. if(res.data != null) {
  1260. window.location.href = res.data;
  1261. }
  1262. }
  1263. this.getDataList();
  1264. },
  1265. // 新增
  1266. addBtn(){
  1267. this.addParm = {
  1268. country:null,
  1269. account:null,
  1270. pwd: null,
  1271. shopName: null,
  1272. keyWord:null,
  1273. title:null,
  1274. link:null,
  1275. number:null,
  1276. specification:null,
  1277. color:null,
  1278. item:null,
  1279. sectionMin: null,
  1280. sectionMax: null,
  1281. exchange:null,
  1282. vpnShare:null,
  1283. amessage:null,
  1284. month:null,
  1285. year:null,
  1286. cardName:null,
  1287. cardNumber:null,
  1288. cardPwd:null
  1289. }
  1290. this.dialogAddVisible = true;
  1291. },
  1292. // 导入
  1293. importBtn() {
  1294. this.dialogImportVisible = true
  1295. },
  1296. exportTempBtn() {
  1297. console.log(this.tempUrl)
  1298. window.location.href = this.tempUrl;
  1299. },
  1300. // 根据id删除
  1301. delById(id){
  1302. this.$confirm('确认删除?','提示',{
  1303. confirmButtonText: '确定',
  1304. cancelButtonText: '取消',
  1305. type: 'warning'
  1306. }).then(() => {
  1307. delById({id}).then(res => {
  1308. if(res.code==200) {
  1309. this.$message.success('删除成功!')
  1310. this.getDataList()
  1311. }
  1312. }).catch(err => {
  1313. this.$message.error(err);
  1314. console.log(err)
  1315. })
  1316. }).catch(() => {
  1317. this.$message.info('取消删除')
  1318. })
  1319. },
  1320. // 根据id 设置状态异常
  1321. abNormalById(id){
  1322. this.$confirm('确认状态修改为异常?','提示',{
  1323. confirmButtonText: '确定',
  1324. cancelButtonText: '取消',
  1325. type: 'warning'
  1326. }).then(() => {
  1327. abMormal({id}).then(res => {
  1328. if(res.code==200) {
  1329. this.$message.success('修改异常状态成功!')
  1330. this.getDataList()
  1331. }
  1332. }).catch(err => {
  1333. this.$message.error(err);
  1334. console.log(err)
  1335. })
  1336. }).catch(() => {
  1337. this.$message.info('取消修改')
  1338. })
  1339. },
  1340. // 补录
  1341. supplement(clickFarmingId) {
  1342. this.supplementParm.clickFarmingId=clickFarmingId;
  1343. this.supplementParm.amount=null;
  1344. this.supplementParm.paymentResults=null;
  1345. this.supplementParm.shop=null;
  1346. this.supplementParm.pricesNumber=null;
  1347. this.supplementParm.orderId=null;
  1348. this.supplementParm.shopName=null;
  1349. this.supplementParm.orderDate=null;
  1350. this.dialogSupplementVisible = true
  1351. },
  1352. // 修改
  1353. editById(data){
  1354. getEditDetailById({id: data.id}).then(res => {
  1355. if(res.code==200) {
  1356. this.editParm.id = res.data.id;
  1357. this.editParm.country = res.data.country;
  1358. this.editParm.account = res.data.account;
  1359. this.editParm.pwd = res.data.pwd;
  1360. this.editParm.shopName = res.data.shopName;
  1361. this.editParm.keyWord = res.data.keyWord;
  1362. this.editParm.title = res.data.title;
  1363. this.editParm.link = res.data.link;
  1364. this.editParm.number = res.data.number;
  1365. this.editParm.specification = res.data.specification;
  1366. this.editParm.color = res.data.color;
  1367. this.editParm.item = res.data.item;
  1368. this.editParm.sectionMin = res.data.sectionMin;
  1369. this.editParm.sectionMax = res.data.sectionMax;
  1370. this.editParm.exchange = res.data.exchange;
  1371. this.editParm.vpnShare = res.data.vpnShare;
  1372. this.editParm.amessage = res.data.amessage;
  1373. this.editParm.month = res.data.month;
  1374. this.editParm.year = res.data.year;
  1375. this.editParm.cardName = res.data.cardName;
  1376. this.editParm.cardNumber = res.data.cardNumber;
  1377. this.editParm.cardPwd= res.data.cardPwd;
  1378. this.editParm.buyerId= res.data.buyerId;
  1379. this.editParm.buyerName= res.data.buyerName;
  1380. this.buyerId = res.data.buyerId;
  1381. this.dialogEditVisible = true;
  1382. this.$refs.editParm.clearValidate();
  1383. }
  1384. }).catch(err => {
  1385. this.$message.error(err);
  1386. console.log(err)
  1387. })
  1388. },
  1389. // 确认修改
  1390. sureEdit(editParm){
  1391. this.$refs[editParm].validate((valid) => {
  1392. if (valid) {
  1393. this.$refs.editParm.clearValidate();
  1394. editById(this.editParm).then(res => {
  1395. if(res.code==200) {
  1396. this.editParm.buyerId = this.buyerId;
  1397. this.dialogEditVisible = false
  1398. this.$message.success('修改成功!')
  1399. this.getDataList()
  1400. }
  1401. }).catch(err => {
  1402. this.$message.error(err);
  1403. console.log(err)
  1404. })
  1405. } else {
  1406. console.log('error submit!!');
  1407. return false;
  1408. }
  1409. });
  1410. },
  1411. sureEditCancle(editParm) {
  1412. dialogEditVisible=flase
  1413. this.$refs.editParm.clearValidate();
  1414. },
  1415. // 确认新增
  1416. sureAdd(addParm){
  1417. this.$refs[addParm].validate((valid) => {
  1418. if (valid) {
  1419. this.$refs.addParm.clearValidate();
  1420. add(this.addParm).then(res => {
  1421. if(res.code==200) {
  1422. this.addParm.buyerId = this.buyerId;
  1423. this.dialogAddVisible = false
  1424. this.$message.success('新增成功!')
  1425. this.getDataList()
  1426. }
  1427. }).catch(err => {
  1428. this.$message.error(err);
  1429. console.log(err)
  1430. })
  1431. } else {
  1432. console.log('error submit!!');
  1433. return false;
  1434. }
  1435. });
  1436. },
  1437. sureAddCancle(addParm) {
  1438. dialogAddVisible=flase
  1439. this.$refs.addParm.clearValidate();
  1440. },
  1441. // 确认补录
  1442. sureSuppment() {
  1443. supplement(this.supplementParm).then(res => {
  1444. if(res.code==200) {
  1445. this.dialogSupplementVisible = false
  1446. this.$message.success('补录成功!');
  1447. this.searchParm.status = null;
  1448. this.getDataList()
  1449. }
  1450. }).catch(err => {
  1451. console.log(err)
  1452. this.$message.success(err);
  1453. })
  1454. },
  1455. // 查看根据id
  1456. getBtnById(id){
  1457. getById({id}).then(res => {
  1458. if(res.code==200) {
  1459. this.detailParm.id = res.data.id;
  1460. this.detailParm.id = res.data.id;
  1461. this.detailParm.country = res.data.country;
  1462. this.detailParm.account = res.data.account;
  1463. this.detailParm.pwd = res.data.pwd;
  1464. this.detailParm.shopName = res.data.shopName;
  1465. this.detailParm.keyWord = res.data.keyWord;
  1466. this.detailParm.title = res.data.title;
  1467. this.detailParm.link = res.data.link;
  1468. this.detailParm.number = res.data.number;
  1469. this.detailParm.specification = res.data.specification;
  1470. this.detailParm.color = res.data.color;
  1471. this.detailParm.item = res.data.item;
  1472. this.detailParm.sectionMin = res.data.sectionMin;
  1473. this.detailParm.sectionMax = res.data.sectionMax;
  1474. this.detailParm.exchange = res.data.exchange;
  1475. this.detailParm.vpnShare = res.data.vpnShare;
  1476. this.detailParm.status = res.data.status;
  1477. this.detailParm.amessage = res.data.amessage;
  1478. this.detailParm.month = res.data.month;
  1479. this.detailParm.year = res.data.year;
  1480. this.detailParm.cardName = res.data.cardName;
  1481. this.detailParm.cardNumber = res.data.cardNumber;
  1482. this.detailParm.cardPwd= res.data.cardPwd;
  1483. this.detailParm.response = res.data.response;
  1484. this.detailParm.buyerName = res.data.buyerName;
  1485. this.dialogDetailVisible = true
  1486. }
  1487. }).catch(err => {
  1488. console.log(err)
  1489. })
  1490. },
  1491. // 获取订单详情
  1492. getOrderBtnById(id){
  1493. getDetailById({id}).then(res => {
  1494. if(res.code==200) {
  1495. this.orderDetailParm.id = res.data.id;
  1496. this.orderDetailParm.createdAt = res.data.createdAt;
  1497. this.orderDetailParm.updatedAt = res.data.updatedAt;
  1498. this.orderDetailParm.amount = res.data.amount;
  1499. this.orderDetailParm.paymentResults = res.data.paymentResults;
  1500. this.orderDetailParm.shop = res.data.shop;
  1501. this.orderDetailParm.pricesNumber = res.data.pricesNumber;
  1502. this.orderDetailParm.orderId = res.data.orderId;
  1503. this.orderDetailParm.shopName = res.data.shopName;
  1504. this.orderDetailParm.orderDate = res.data.orderDate;
  1505. this.dialogOrderDetailVisible = true
  1506. }
  1507. }).catch(err => {
  1508. console.log(err)
  1509. })
  1510. },
  1511. // 分页获取表格数据
  1512. getDataList(){
  1513. getList(this.searchParm).then(res => {
  1514. if(res.code==200) {
  1515. this.list = res.data.list;
  1516. this.total = res.data.total;
  1517. }
  1518. }).catch(err => {
  1519. console.log(err)
  1520. })
  1521. },
  1522. // 分页
  1523. handleSizeChange(val) {
  1524. console.log(`每页 ${val} 条`);
  1525. this.searchParm.pageSize = val;
  1526. this.getDataList();
  1527. },
  1528. handleCurrentChange(val) {
  1529. console.log(`当前页: ${val}`);
  1530. this.searchParm.page = val;
  1531. this.getDataList();
  1532. }
  1533. }
  1534. }
  1535. </script>
  1536. <style rel="stylesheet/scss" lang="scss" scoped>
  1537. </style>