index.html 68 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118
  1. {include file="/shopro/common/script" /}
  2. <style>
  3. .config-index .el-select:not(.num-unit) {
  4. max-width: 360px;
  5. width: 100%;
  6. }
  7. .config-index .sa-title.is-line {
  8. margin-bottom: 16px;
  9. }
  10. .config-index .pay-config-main {
  11. --el-main-padding: 0;
  12. }
  13. .config-index .platform-item {
  14. width: 180px;
  15. height: 240px;
  16. box-shadow: 0 4px 8px #00000014, 0 8px 16px 2px #00000005;
  17. border-radius: 8px;
  18. font-size: 14px;
  19. line-height: 1;
  20. background: var(--sa-background-assist);
  21. position: relative;
  22. margin-right: 24px;
  23. }
  24. .config-index .platform-item .bg {
  25. position: absolute;
  26. right: 0;
  27. top: 0;
  28. width: 128px;
  29. height: 128px;
  30. }
  31. .config-index .platform-item .iconfont {
  32. font-size: 64px;
  33. margin-bottom: 8px;
  34. }
  35. .config-index .platform-item .title {
  36. font-weight: 500;
  37. font-size: 16px;
  38. line-height: 22px;
  39. }
  40. .config-index .platform-item .status {
  41. margin: 12px 0 20px;
  42. }
  43. .config-index .num-unit {
  44. width: 80px;
  45. }
  46. .config-index .goods-item {
  47. line-height: 1;
  48. }
  49. .config-index .goods-item .goods-image {
  50. margin-right: 8px;
  51. }
  52. .config-index .goods-item .goods-title {
  53. height: 16px;
  54. line-height: 16px;
  55. font-size: 12px;
  56. font-weight: 500;
  57. color: var(--sa-font);
  58. margin-bottom: 6px;
  59. }
  60. .config-index .goods-item .goods-price {
  61. line-height: 16px;
  62. font-size: 12px;
  63. font-weight: 400;
  64. color: var(--el-color-danger);
  65. }
  66. .el-dialog.configis-upgrade-dialog {
  67. width: 900px;
  68. }
  69. .el-overlay{
  70. background: rgba(43, 43, 43, 0.05);
  71. backdrop-filter: blur(2px);
  72. }
  73. .configis-upgrade-image {
  74. width: 900px;
  75. height: 580px;
  76. background: #FFFFFF;
  77. border-radius: 4px;
  78. position: relative;
  79. }
  80. .configis-upgrade-image img {
  81. width: 100%;
  82. height: 100%;
  83. }
  84. .el-dialog.configis-upgrade-dialog .el-dialog__body {
  85. padding: 0;
  86. }
  87. .el-dialog.configis-upgrade-dialog .el-dialog__header {
  88. height: 0;
  89. padding: 0;
  90. }
  91. .configis-upgrade-button {
  92. position: absolute;
  93. bottom: 162px;
  94. right: 360px;
  95. }
  96. .configis-upgrade-button-upgrade {
  97. width: 110px;
  98. height: 34px;
  99. background: #8322FF;
  100. border-radius: 2px;
  101. justify-content: center;
  102. font-weight: bold;
  103. font-size: 12px;
  104. color: #FFFFFF;
  105. margin-left: 42px;
  106. cursor: pointer;
  107. }
  108. .configis-upgrade-button-upgrade .icon-right {
  109. margin-left: 12px;
  110. width: 18px;
  111. height: 18px;
  112. }
  113. .configis-upgrade-button-refresh {
  114. color: #86818E;
  115. font-size: 12px;
  116. cursor: pointer;
  117. }
  118. .configis-upgrade-button-refresh .refresh-right {
  119. margin-right: 6px;
  120. font-size: 14px;
  121. }
  122. .configis-upgrade-close {
  123. position: absolute;
  124. top: 53px;
  125. right: 58px;
  126. font-size: 20px;
  127. color: #7F7A87;
  128. cursor: pointer;
  129. }
  130. </style>
  131. <div id="index" class="config-index panel panel-default panel-intro" v-cloak>
  132. <el-container class="panel-block">
  133. <el-header class="sa-header">
  134. <el-tabs class="sa-tabs" v-model="state.tabActive" @tab-change="getData">
  135. <el-tab-pane v-for="item in type.data.api" :label="item.label" :name="item.name">
  136. </el-tab-pane>
  137. </el-tabs>
  138. </el-header>
  139. <el-main v-if="state.tabActive != 'shopro/pay_config'">
  140. <el-scrollbar height="100%">
  141. <el-form ref="formRef" :model="form.model" :rules="form.rules" label-width="160px">
  142. <!-- 基本信息 -->
  143. <template v-if="state.tabActive=='shopro/config/basic'">
  144. <el-form-item label="Logo" prop="logo">
  145. <sa-uploader v-model="form.model.logo"></sa-uploader>
  146. </el-form-item>
  147. <el-form-item label="商城名称" prop="name">
  148. <el-input class="sa-w-360" v-model="form.model.name" placeholder="请输入商城名称"></el-input>
  149. </el-form-item>
  150. <el-form-item label="商城域名" prop="domain">
  151. <div class="sa-w-360">
  152. <el-input v-model="form.model.domain" placeholder="请输入商城域名"></el-input>
  153. <el-popover :width="240" trigger="click">
  154. <div>
  155. <div>1.此地址用于您的店铺装修预览、H5分享链接等场景</div>
  156. <div>2.请完整输入您的H5商城入口链接,如 http://m.shopro.top/</div>
  157. <div>3.开启SSL并使用hash部署方式,则填写如 https://m.shopro.top/#/</div>
  158. </div>
  159. <template #reference>
  160. <el-icon class="warning">
  161. <warning />
  162. </el-icon>
  163. </template>
  164. </el-popover>
  165. </div>
  166. </el-form-item>
  167. <el-form-item v-if="form.model.user_protocol" label="用户协议" prop="user_protocol">
  168. <el-input class="sa-w-360" v-model="form.model.user_protocol.title" placeholder="请选择">
  169. <template #append>
  170. <div class="cursor-pointer" @click="onSelectRichtext('user_protocol')">选择富文本</div>
  171. </template>
  172. </el-input>
  173. </el-form-item>
  174. <el-form-item v-if="form.model.privacy_protocol" label="隐私协议" prop="privacy_protocol">
  175. <el-input class="sa-w-360" v-model="form.model.privacy_protocol.title" placeholder="请选择">
  176. <template #append>
  177. <div class="cursor-pointer" @click="onSelectRichtext('privacy_protocol')">选择富文本
  178. </div>
  179. </template>
  180. </el-input>
  181. </el-form-item>
  182. <el-form-item v-if="form.model.about_us" label="关于我们" prop="about_us">
  183. <el-input class="sa-w-360" v-model="form.model.about_us.title" placeholder="请选择">
  184. <template #append>
  185. <div class="cursor-pointer" @click="onSelectRichtext('about_us')">选择富文本</div>
  186. </template>
  187. </el-input>
  188. </el-form-item>
  189. <el-form-item label="版本号" prop="version">
  190. <el-input class="sa-w-360" v-model="form.model.version" placeholder="请输入版本号"></el-input>
  191. </el-form-item>
  192. <el-form-item label="版权信息">
  193. <div class="sa-w-360">
  194. <el-row :gutter="20">
  195. <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
  196. <el-input v-model="form.model.copyright" placeholder="请输入版权信息">
  197. </el-input>
  198. </el-col>
  199. <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
  200. <el-input v-model="form.model.copytime" placeholder="请输入版权信息"></el-input>
  201. </el-col>
  202. </el-row>
  203. </div>
  204. </el-form-item>
  205. </template>
  206. <!-- 用户配置 -->
  207. <template v-if="state.tabActive=='shopro/config/user'">
  208. <el-form-item label="默认头像" prop="avatar">
  209. <sa-uploader v-model="form.model.avatar"></sa-uploader>
  210. </el-form-item>
  211. <el-form-item label="默认昵称" prop="nickname">
  212. <el-input class="sa-w-360" placeholder="请输入默认昵称" v-model="form.model.nickname"></el-input>
  213. </el-form-item>
  214. <el-form-item label="默认用户组" prop="nickname">
  215. <el-select v-model="form.model.group_id" placeholder="选择次数">
  216. <el-option v-for="item in group.select" :label="item.name" :value="item.id+''">
  217. </el-option>
  218. </el-select>
  219. </el-form-item>
  220. </template>
  221. <!-- 平台配置 -->
  222. <template v-if="state.tabActive=='shopro/config/platform'">
  223. <div class="sa-flex sa-flex-wrap">
  224. <template v-for="item in platform.data" :key="item">
  225. <div class="platform-item sa-flex-col sa-row-center sa-col-center" :class="item.value">
  226. <img class="bg" :src="`/assets/addons/shopro/img/config/${item.value}BG.png`" />
  227. <i :class="`iconfont icon${item.value}`" :style="{color:item.color}"></i>
  228. <div class="title" :style="{color:item.color}">{{ item.label }}</div>
  229. <div class="status" :class="platform.status[item.value]?'sa-color--success':'sa-color--info'">
  230. {{platform.status[item.value]? '已开启' : '已关闭'}}
  231. </div>
  232. <el-button type="primary" @click="onEditPlatform(item)">立即配置</el-button>
  233. </div>
  234. </template>
  235. </div>
  236. </template>
  237. <!-- 订单配置 -->
  238. <template v-if="state.tabActive=='shopro/config/order'">
  239. <div class="sa-title is-line">订单配置</div>
  240. <el-form-item label="自动关闭时间" prop="auto_close">
  241. <div>
  242. <el-input class="sa-w-360" v-model="form.model.auto_close" placeholder="请输入自动关闭时间"
  243. type="number">
  244. <template #append>分钟</template>
  245. </el-input>
  246. <div class="tip">
  247. 订单创建后,用户如在设定时间内未支付,将自动关闭,建议设置为10~15分钟,0为不限制
  248. </div>
  249. </div>
  250. </el-form-item>
  251. <el-form-item label="自动收货时间" prop="auto_confirm">
  252. <div>
  253. <el-input class="sa-w-360" v-model="form.model.auto_confirm" placeholder="请输入自动收货时间"
  254. type="number">
  255. <template #append>天</template>
  256. </el-input>
  257. <div class="tip">
  258. 商品发货后,用户需自行点击确认收货,如在设定时间内无操作,系统将默认收货,0为关闭自动收货
  259. </div>
  260. </div>
  261. </el-form-item>
  262. <el-form-item label="自动评价时间" prop="auto_comment">
  263. <div>
  264. <el-input class="sa-w-360" v-model="form.model.auto_comment" placeholder="请输入自动评价时间"
  265. type="number">
  266. <template #append>天</template>
  267. </el-input>
  268. <div class="tip">
  269. 商品确认收货后,用户需发布商品评价,如在设定时间内无操作,系统将默认5星好评,0为关闭自动评价
  270. </div>
  271. </div>
  272. </el-form-item>
  273. <el-form-item label="评价内容" prop="auto_comment_content">
  274. <el-input class="sa-w-360" v-model="form.model.auto_comment_content"
  275. placeholder="请输入自动评价内容">
  276. </el-input>
  277. </el-form-item>
  278. <el-form-item label="评价内容审核">
  279. <div>
  280. <el-radio-group v-model="form.model.comment_check">
  281. <el-radio :label="1">审核后展示</el-radio>
  282. <el-radio :label="0">直接展示 </el-radio>
  283. </el-radio-group>
  284. <div class="tip">
  285. 建议用户评价内容在后台审核后展示,选择直接展示将跳过审核直接发布
  286. </div>
  287. </div>
  288. </el-form-item>
  289. <el-form-item label="自动退款审核">
  290. <div>
  291. <div class="sa-flex">
  292. <el-switch v-model="form.model.auto_refund" class="sa-m-r-8" :active-value="1"
  293. :inactive-value="0"></el-switch>
  294. <div class="label-tip" :class="form.model.auto_refund == 1?'sa-color--primary':''">
  295. {{form.model.auto_refund == 1?'开启':'关闭'}}
  296. </div>
  297. </div>
  298. <div class="tip">
  299. 未发货订单,用户申请退款后将自动原路退款,并且恢复库存和销量
  300. </div>
  301. </div>
  302. </el-form-item>
  303. <template v-if="form.model.invoice">
  304. <div class="sa-title is-line">发票配置</div>
  305. <el-form-item label="自助申请发票">
  306. <el-switch v-model="form.model.invoice.status" class="sa-m-r-8" :active-value="1"
  307. :inactive-value="0"></el-switch>
  308. <div class="label-tip" :class="form.model.invoice.status == 1?'sa-color--primary':''">
  309. {{form.model.invoice.status == 1?'开启':'关闭'}}
  310. </div>
  311. </el-form-item>
  312. <el-form-item label="票面金额">
  313. <el-radio-group v-model="form.model.invoice.amount_type">
  314. <el-radio label="pay_fee">实际支付金额</el-radio>
  315. <el-radio label="goods_amount">商品金额</el-radio>
  316. </el-radio-group>
  317. </el-form-item>
  318. </template>
  319. </template>
  320. <!-- 物流配置 -->
  321. <template v-if="state.tabActive=='shopro/config/dispatch'">
  322. <div class="sa-title is-line">物流接口</div>
  323. <el-form-item label="驱动选择">
  324. <el-radio-group v-model="form.model.driver">
  325. <el-radio label="kdniao">快递鸟</el-radio>
  326. <el-radio label="thinkapi">ThinkApi</el-radio>
  327. <el-button type="primary" link @click="onThinkApi">查看</el-button>
  328. </el-radio-group>
  329. </el-form-item>
  330. <div v-if="form.model.driver == 'kdniao'">
  331. <el-form-item label="快递鸟套餐">
  332. <div>
  333. <el-radio-group v-model="form.model.kdniao.type">
  334. <el-radio label="free">免费版</el-radio>
  335. <el-radio label="vip">标准版</el-radio>
  336. </el-radio-group>
  337. <div class="tip sa-flex">
  338. <div>标准版本支持电子面单接口</div>
  339. <a class="label-tip" href="http://www.kdniao.com/reg?from=wzlxpxx"
  340. target="_blank">申请快递鸟商户</a>
  341. </div>
  342. </div>
  343. </el-form-item>
  344. <el-form-item label="用户ID" prop="ebusiness_id">
  345. <el-input class="sa-w-360" v-model="form.model.kdniao.ebusiness_id" type="number"
  346. placeholder="请输入用户ID"></el-input>
  347. </el-input>
  348. </el-form-item>
  349. <el-form-item label="AppKey" prop="app_key">
  350. <el-input class="sa-w-360" v-model="form.model.kdniao.app_key" placeholder="请输入AppKey">
  351. </el-input>
  352. </el-form-item>
  353. <el-form-item label="京东青龙编码" prop="jd_code">
  354. <div class="sa-form-wrap">
  355. <el-input class="sa-w-360" v-model="form.model.kdniao.jd_code"
  356. placeholder="请输入京东青龙编码"></el-input>
  357. <div class="tip">
  358. 使用京东时需要配置
  359. </div>
  360. </div>
  361. </el-form-item>
  362. <el-form-item label="回调地址">
  363. <div class="sa-form-wrap">
  364. <el-input class="sa-w-360" v-model="form.model.callback" disabled>
  365. <template #append>
  366. <span @click="onClipboard(form.model.callback)"
  367. class="cursor-pointer">复制</span>
  368. </template>
  369. </el-input>
  370. <div class="tip">
  371. 请在快递鸟后台配置此回调地址
  372. </div>
  373. </div>
  374. </el-form-item>
  375. <div v-if="form.model.kdniao.type == 'vip'">
  376. <el-form-item label="客户号" prop="customer_name">
  377. <el-input class="sa-w-360" v-model="form.model.kdniao.customer_name"
  378. placeholder="请输入客户号"></el-input>
  379. </el-form-item>
  380. <el-form-item label="客户密码" prop="customer_pwd">
  381. <el-input class="sa-w-360" v-model="form.model.kdniao.customer_pwd"
  382. placeholder="请输入客户密码"></el-input>
  383. </el-form-item>
  384. <el-form-item label="支付方式" prop="pay_type">
  385. <el-radio-group v-model="form.model.kdniao.pay_type">
  386. <el-radio label="1">现付</el-radio>
  387. <el-radio label="2">到付</el-radio>
  388. <el-radio label="3">月结</el-radio>
  389. <el-radio label="4">第三方支付(仅SF支持)</el-radio>
  390. </el-radio-group>
  391. </el-form-item>
  392. <el-form-item label="签约快递">
  393. <el-select v-model="express.form.model.code" placeholder="请选择快递公司"
  394. @change="onChangeExpressCode" filterable remote reserve-keyword
  395. :remote-method="remoteMethod" :loading="deliverCompany.loading"
  396. autocomplete="none">
  397. <el-option v-for="dc in deliverCompany.select" :key="dc" :label="dc.name"
  398. :value="dc.code" :ref="`express-${dc.code}`" :data-name="dc.name">{{
  399. dc.name
  400. }}&nbsp;({{ dc.code }})</el-option>
  401. <sa-pagination class="is-ellipsis" v-model="deliverCompany.pagination"
  402. @pagination-change="getExpressSelect">
  403. </sa-pagination>
  404. </el-select>
  405. </el-form-item>
  406. <el-form-item label="快递类型" prop="exp_type">
  407. <div class="sa-form-wrap">
  408. <el-input class="sa-w-360" v-model="form.model.kdniao.exp_type"
  409. placeholder="请输入快递类型"></el-input>
  410. <div class="tip sa-flex">
  411. <div class="sa-m-r-8">详细快递类型请下载</div>
  412. <a class="label-tip"
  413. href="http://www.kdniao.com/file/%E5%BF%AB%E9%80%92%E5%85%AC%E5%8F%B8%E5%BF%AB%E9%80%92%E4%B8%9A%E5%8A%A1%E7%B1%BB%E5%9E%8B.xlsx"
  414. target="_blank">快递业务类型</a>
  415. </div>
  416. </div>
  417. </el-form-item>
  418. </div>
  419. </div>
  420. <el-form-item v-if="form.model.driver == 'thinkapi'" label="app_code" prop="app_code">
  421. <el-input class="sa-w-360" v-model="form.model.thinkapi.app_code" placeholder="请输入app_code">
  422. </el-input>
  423. </el-form-item>
  424. <template v-if="form.model.sender">
  425. <div class="sa-title is-line">默认发货人信息</div>
  426. <el-form-item label="发件人">
  427. <el-input class="sa-w-360" v-model="form.model.sender.name" placeholder="请输入发件人">
  428. </el-input>
  429. </el-form-item>
  430. <el-form-item label="手机号" prop="mobile">
  431. <el-input class="sa-w-360" v-model="form.model.sender.mobile" placeholder="请输入手机号"
  432. type="number">
  433. </el-input>
  434. </el-form-item>
  435. <el-form-item label="省/市/区" prop="provinces">
  436. <el-cascader class="sa-w-360" v-model="form.model.sender.area_arr"
  437. :options="area.select" :props="{
  438. label: 'name',
  439. value: 'name',
  440. }" clearable placeholder="请选择"></el-cascader>
  441. </el-form-item>
  442. <el-form-item label="详细地址" prop="address">
  443. <el-input class="sa-w-360" v-model="form.model.sender.address" placeholder="请输入详细地址">
  444. </el-input>
  445. </el-form-item>
  446. </template>
  447. </template>
  448. <!-- 充值提现 -->
  449. <template v-if="state.tabActive == 'shopro/config/rechargewithdraw'">
  450. <template v-if="form.model.recharge">
  451. <div class="sa-title is-line">充值配置</div>
  452. <el-form-item label="开启充值">
  453. <div>
  454. <div class="sa-flex">
  455. <el-switch v-model="form.model.recharge.status" :active-value="1"
  456. :inactive-value="0"></el-switch>
  457. <div class="label-tip"
  458. :class="form.model.recharge.status == 1?'sa-color--primary':''">
  459. {{form.model.recharge.status == 1?'开启':'关闭'}}
  460. </div>
  461. </div>
  462. <div class="tip">
  463. <div> 请确保支付方式的支付参数配置好,并且在对应的应用平台开启 </div>
  464. </div>
  465. </div>
  466. </el-form-item>
  467. <el-form-item label="充值方式">
  468. <el-checkbox-group v-model="form.model.recharge.methods">
  469. <el-checkbox label="wechat">微信支付</el-checkbox>
  470. <el-checkbox label="alipay">支付宝</el-checkbox>
  471. </el-checkbox-group>
  472. </el-form-item>
  473. <el-form-item label="自定义充值">
  474. <el-radio-group v-model="form.model.recharge.custom_status">
  475. <el-radio :label="1">显示</el-radio>
  476. <el-radio :label="0">隐藏</el-radio>
  477. </el-radio-group>
  478. </el-form-item>
  479. <el-form-item label="赠送类型">
  480. <el-radio-group v-model="form.model.recharge.gift_type">
  481. <el-radio label="money">余额</el-radio>
  482. <el-radio label="score">积分</el-radio>
  483. </el-radio-group>
  484. </el-form-item>
  485. <el-form-item label="快捷充值金额">
  486. <div class="sa-template-wrap">
  487. <div class="header">
  488. <div class="key">充值金额</div>
  489. <div class="key">
  490. {{ form.model.recharge.gift_type == 'money' ? '赠送金额' : '赠送积分' }}
  491. </div>
  492. <div class="oper">操作</div>
  493. </div>
  494. <template v-if="form.model.recharge.quick_amounts.length>0">
  495. <draggable v-model="form.model.recharge.quick_amounts" :animation="300"
  496. handle=".sortable-drag" item-key="element">
  497. <template #item="{ element, index }">
  498. <div class="item">
  499. <el-form-item class="key"
  500. :prop="`recharge.quick_amounts.${index}.money`"
  501. :rules="form.rules.rechargewithdraw.recharge.quick_amounts.money">
  502. <el-input v-model="element.money" type="number" :min="0"
  503. placeholder="请输入金额"></el-input>
  504. </el-form-item>
  505. <el-form-item class="key"
  506. :prop="`recharge.quick_amounts.${index}.gift`"
  507. :rules="form.rules.rechargewithdraw.recharge.quick_amounts.gift">
  508. <el-input v-model="element.gift" type="number" :min="0"
  509. placeholder="请输入金额"></el-input>
  510. </el-form-item>
  511. <div class="oper">
  512. <el-button type="danger" link @click="onDeleteTemplate(index)">
  513. 移除
  514. </el-button>
  515. <i class="iconfont iconmove sortable-drag"></i>
  516. </div>
  517. </div>
  518. </template>
  519. </draggable>
  520. </template>
  521. <el-button class="add-params" icon="Plus" @click="onAddTemplate">追加</el-button>
  522. </div>
  523. </el-form-item>
  524. </template>
  525. <template v-if="form.model.withdraw">
  526. <div class="sa-title is-line">提现配置</div>
  527. <el-form-item label="提现方式">
  528. <el-checkbox-group v-model="form.model.withdraw.methods">
  529. <el-checkbox label="wechat">到微信零钱</el-checkbox>
  530. <el-checkbox label="alipay">到支付宝账户</el-checkbox>
  531. <el-checkbox label="bank">银行卡转账/线下打款</el-checkbox>
  532. </el-checkbox-group>
  533. </el-form-item>
  534. <el-form-item label="自动到账">
  535. <div>
  536. <div class="sa-flex">
  537. <el-switch v-model="form.model.withdraw.auto_arrival" class="sa-m-r-8"
  538. :active-value="1" :inactive-value="0"></el-switch>
  539. <div class="label-tip"
  540. :class="form.model.withdraw.auto_arrival == 1?'sa-color--primary':''">
  541. {{form.model.withdraw.auto_arrival== 1?'开启':'关闭'}}
  542. </div>
  543. </div>
  544. <div class="tip">
  545. 开启后用户提现到<strong>微信零钱/支付宝</strong>将自动审核通过并且自动打款,手动打款不受开关影响
  546. </div>
  547. </div>
  548. </el-form-item>
  549. <el-form-item label="手续费" prop="withdraw.charge_rate">
  550. <el-input class="sa-w-360" v-model="form.model.withdraw.charge_rate" type="number"
  551. :min="0" placeholder="请输入手续费">
  552. <template #append>%</template>
  553. </el-input>
  554. </el-form-item>
  555. <el-form-item label="单次最小提现金额" prop="withdraw.min_amount">
  556. <el-input class="sa-w-360" v-model="form.model.withdraw.min_amount"
  557. placeholder="请输入单次最小提现金额" type="number">
  558. <template #append>元</template>
  559. </el-input>
  560. </el-form-item>
  561. <el-form-item label="单次最大提现金额" prop="withdraw.max_amount">
  562. <el-input class="sa-w-360" v-model="form.model.withdraw.max_amount"
  563. placeholder="请输入单次最大提现金额" type="number">
  564. <template #append>元</template>
  565. </el-input>
  566. </el-form-item>
  567. <el-form-item label="最多提现次数" prop="withdraw.max_num">
  568. <el-input class="sa-w-360" v-model="form.model.withdraw.max_num" placeholder="请输入最多提现次数"
  569. type="number">
  570. <template #prepend>
  571. <el-select class="num-unit" v-model="form.model.withdraw.num_unit"
  572. placeholder="选择次数">
  573. <el-option label="每日" value="day"></el-option>
  574. <el-option label="每月" value="month"></el-option>
  575. </el-select>
  576. </template>
  577. <template #append>次</template>
  578. </el-input>
  579. </el-form-item>
  580. </template>
  581. </template>
  582. <!-- 分销配置 -->
  583. <template v-if="state.tabActive == 'shopro/config/commission'">
  584. <el-alert class="mb-4">
  585. <template #title>
  586. 设置分销时,请先了解
  587. <a class="shopro-form-group-title-href"
  588. href="https://www.spp.gov.cn/flfg/gfwj/201311/t20131122_64638.shtml" target="_blank"
  589. rel="noopener noreferrer">《关于办理组织领导传销活动刑事案件适用法律若干问题的意见》</a>
  590. </template>
  591. </el-alert>
  592. <div class="sa-title is-line">分销设置</div>
  593. <el-form-item label="分销层级">
  594. <div>
  595. <el-radio-group v-model="form.model.level">
  596. <el-radio :label="0">关闭</el-radio>
  597. <el-radio :label="1">一级</el-radio>
  598. <el-radio :label="2">二级</el-radio>
  599. <el-radio :label="3">三级</el-radio>
  600. </el-radio-group>
  601. <div class="tip">默认佣金比例请到 分销商等级 进行设置</div>
  602. </div>
  603. </el-form-item>
  604. <el-form-item label="分销自购">
  605. <div>
  606. <el-radio-group v-model="form.model.self_buy">
  607. <el-radio :label="0">关闭</el-radio>
  608. <el-radio :label="1">开启</el-radio>
  609. </el-radio-group>
  610. <div class="tip"> 自购优惠开启后,分销商自己购买时,下单可以给自己返佣 </div>
  611. </div>
  612. </el-form-item>
  613. <el-form-item label="锁定下级条件">
  614. <el-radio-group v-model="form.model.invite_lock">
  615. <el-radio label="share">首次通过分享进入</el-radio>
  616. <el-radio label="pay" :disabled="form.model.become_agent?.type === 'user'">首次付款
  617. </el-radio>
  618. <el-radio label="agent" :disabled="form.model.become_agent?.type === 'user'">成为子分销商
  619. </el-radio>
  620. </el-radio-group>
  621. </el-form-item>
  622. <el-form-item label="分销商审核">
  623. <el-radio-group v-model="form.model.agent_check">
  624. <el-radio :label="0">不需要</el-radio>
  625. <el-radio :label="1">需要</el-radio>
  626. </el-radio-group>
  627. </el-form-item>
  628. <el-form-item label="越级升级">
  629. <el-radio-group v-model="form.model.upgrade_jump">
  630. <el-radio :label="0">不允许</el-radio>
  631. <el-radio :label="1">允许</el-radio>
  632. </el-radio-group>
  633. </el-form-item>
  634. <el-form-item label="升级审核">
  635. <el-radio-group v-model="form.model.upgrade_check">
  636. <el-radio :label="0">自动升级</el-radio>
  637. <el-radio :label="1">审核后升级</el-radio>
  638. </el-radio-group>
  639. </el-form-item>
  640. <div class="sa-title is-line">分销商设置</div>
  641. <!-- <el-form-item label="分销中心背景图" prop="background_image">
  642. <sa-uploader v-model="form.model.background_image"></sa-uploader>
  643. </el-form-item> -->
  644. <template v-if="form.model.become_agent">
  645. <el-form-item label="成为分销商条件">
  646. <div>
  647. <el-radio-group v-model="form.model.become_agent.type"
  648. @change="onChangeBecomeAgentType">
  649. <el-radio label="user">新会员注册</el-radio>
  650. <el-radio label="apply">自助申请</el-radio>
  651. <el-radio label="goods">购买任意商品</el-radio>
  652. <el-radio label="consume">消费累计</el-radio>
  653. </el-radio-group>
  654. <div v-if="form.model.become_agent.type == 'user'" class="tip">
  655. 新会员注册后将直接成为分销商,锁定下级条件会自动设置为[首次通过分享进入]
  656. </div>
  657. <div v-if="form.model.become_agent.type == 'apply'" class="tip">
  658. 会员必须进入分销中心手动完善资料并提交后可成为分销商
  659. </div>
  660. <div v-if="form.model.become_agent.type == 'goods'" class="tip">
  661. 会员必须购买下方选定的任意其中一款商品可成为分销商
  662. </div>
  663. <div v-if="form.model.become_agent.type == 'consume'" class="tip">
  664. 会员在商城的总计消费达到设定的金额后可成为分销商
  665. </div>
  666. </div>
  667. </el-form-item>
  668. <template v-if="form.model.become_agent.type == 'goods'">
  669. <el-form-item>
  670. <el-button type="primary" link @click="onSelectGoods">+ 添加商品
  671. </el-button>
  672. </el-form-item>
  673. <el-form-item>
  674. <div class="sa-template-wrap">
  675. <template v-if="tempGoods.list.length > 0">
  676. <div class="header">
  677. <div class="key">商品信息</div>
  678. <div class="oper">操作</div>
  679. </div>
  680. <div class="item" v-for="(item, index) in tempGoods.list" :key="item">
  681. <div class="goods-item key">
  682. <sa-image class="goods-image" :url="item.image" size="40">
  683. </sa-image>
  684. <div>
  685. <div class="goods-title sa-table-line-1">{{ item.title }}</div>
  686. <div class="goods-price">¥{{ item.price.join('~') }}</div>
  687. </div>
  688. </div>
  689. <div class="oper">
  690. <el-button type="danger" link @click="onDeleteGoods(index)">移除
  691. </el-button>
  692. </div>
  693. </div>
  694. </template>
  695. </div>
  696. </el-form-item>
  697. </template>
  698. <el-form-item v-if="form.model.become_agent.type == 'consume'">
  699. <el-input class="sa-w-360" v-model="form.model.become_agent.value">
  700. <template #append>元</template>
  701. </el-input>
  702. </el-form-item>
  703. <template v-if="form.model.become_agent.type != 'user'">
  704. <template v-if="form.model.agent_form">
  705. <el-form-item label="完善资料">
  706. <el-radio-group v-model="form.model.agent_form.status">
  707. <el-radio label="0" :disabled="form.model.become_agent.type == 'apply'">不需要
  708. </el-radio>
  709. <el-radio label="1">需要</el-radio>
  710. </el-radio-group>
  711. </el-form-item>
  712. <template v-if="form.model.agent_form.status == '1'">
  713. <el-form-item label="表单背景图" prop="agent_form.background_image">
  714. <sa-uploader v-model="form.model.agent_form.background_image"></sa-uploader>
  715. </el-form-item>
  716. <el-form-item label="表单内容">
  717. <div class="sa-template-wrap">
  718. <template v-if="form.model.agent_form.content.length>0">
  719. <div class="header">
  720. <div class="key">表单类型</div>
  721. <div class="key">表单名称</div>
  722. <div class="oper">操作</div>
  723. </div>
  724. <draggable v-model="form.model.agent_form.content" :animation="300"
  725. handle=".sortable-drag" item-key="element">
  726. <template #item="{ element, index }">
  727. <div class="item">
  728. <el-form-item class="key"
  729. :prop="`agent_form.content.${index}.type`"
  730. :rules="form.rules.commission.agent_form.content.type">
  731. <el-select v-model="element.type"
  732. placeholder="表单类型">
  733. <template v-for="br in become_register_options"
  734. :key="br">
  735. <el-option :label="br.label"
  736. :value="br.value" />
  737. </template>
  738. </el-select>
  739. </el-form-item>
  740. <el-form-item class="key"
  741. :prop="`agent_form.content.${index}.name`"
  742. :rules="form.rules.commission.agent_form.content.name">
  743. <el-input v-model="element.name" placeholder="表单名称">
  744. </el-input>
  745. </el-form-item>
  746. <div class="oper">
  747. <el-button type="danger" link
  748. @click="onDeleteContent(index)">移除</el-button>
  749. <i class="iconfont iconmove sortable-drag"></i>
  750. </div>
  751. </div>
  752. </template>
  753. </draggable>
  754. </template>
  755. <el-button class="add-params" icon="Plus" @click="onAddContent">追加
  756. </el-button>
  757. </div>
  758. </el-form-item>
  759. </template>
  760. </template>
  761. <template v-if="form.model.apply_protocol">
  762. <el-form-item label="申请协议">
  763. <el-radio-group v-model="form.model.apply_protocol.status">
  764. <el-radio label="0">不显示</el-radio>
  765. <el-radio label="1">显示</el-radio>
  766. </el-radio-group>
  767. </el-form-item>
  768. <el-form-item v-if="form.model.apply_protocol.status == '1'" label="协议内容">
  769. <el-input class="sa-w-360" v-model="form.model.apply_protocol.title"
  770. placeholder="请选择协议内容">
  771. <template #append>
  772. <span class="cursor-pointer"
  773. @click="onSelectRichtext('apply_protocol')">选择富文本</span>
  774. </template>
  775. </el-input>
  776. </el-form-item>
  777. </template>
  778. </template>
  779. </template>
  780. <div class="sa-title is-line">结算条件</div>
  781. <el-form-item label="商品结算方式">
  782. <div>
  783. <el-radio-group v-model="form.model.reward_type">
  784. <el-radio label="goods_price">商品价</el-radio>
  785. <el-radio label="pay_price">实际支付价</el-radio>
  786. </el-radio-group>
  787. <div class="tip"> 商品价: 商品实际售价/规格价,实际支付价: 实际支付的费用(不含运费) </div>
  788. </div>
  789. </el-form-item>
  790. <el-form-item label="佣金结算方式">
  791. <el-radio-group v-model="form.model.reward_event">
  792. <el-radio label="paid">支付后结算</el-radio>
  793. <el-radio label="confirm">确认收货结算</el-radio>
  794. <el-radio label="finish">订单完成结算</el-radio>
  795. <el-radio label="admin">手动打款</el-radio>
  796. </el-radio-group>
  797. </el-form-item>
  798. <el-form-item label="分销佣金">
  799. <el-radio-group v-model="form.model.refund_commission_reward">
  800. <el-radio :label="0">退款不扣除</el-radio>
  801. <el-radio :label="1">退款扣除</el-radio>
  802. </el-radio-group>
  803. </el-form-item>
  804. <el-form-item label="分销业绩">
  805. <el-radio-group v-model="form.model.refund_commission_order">
  806. <el-radio :label="0">退款不扣除</el-radio>
  807. <el-radio :label="1">退款扣除</el-radio>
  808. </el-radio-group>
  809. </el-form-item>
  810. </template>
  811. <!-- 商品配置 -->
  812. <template v-if="state.tabActive == 'shopro/config/goods'">
  813. <div class="sa-title is-line">库存预警配置</div>
  814. <el-form-item label="库存预警阈值">
  815. <el-input class="sa-w-360" v-model="form.model.stock_warning" type="number" :min="0"
  816. placeholder="请输入库存预警阈值">
  817. <template #append> 件 </template>
  818. </el-input>
  819. </el-form-item>
  820. </template>
  821. <!-- 客服配置 -->
  822. <template v-if="state.tabActive == 'shopro/config/chat'">
  823. <div class="sa-title is-line">基础配置</div>
  824. <template v-if="form.model.basic">
  825. <el-form-item label="客服分配方式" prop="allocate">
  826. <div>
  827. <el-radio-group v-model="form.model.basic.allocate">
  828. <el-radio label="busy">忙碌程度</el-radio>
  829. <el-radio label="turns">轮流</el-radio>
  830. <el-radio label="random">随机</el-radio>
  831. </el-radio-group>
  832. <div class="tip">
  833. <span v-if="form.model.basic.allocate == 'busy'">
  834. 忙碌程度:根据客服最优接待人数,和当前已接待人数,计算客服忙碌度
  835. </span>
  836. <span v-if="form.model.basic.allocate == 'turns'">
  837. 轮流:根据最后接入时间正序排列,取最后接入时间最小的客服接入
  838. </span>
  839. <span v-if="form.model.basic.allocate == 'random'">
  840. 随机:随机取出一个在线客服接入
  841. </span>
  842. </div>
  843. </div>
  844. </el-form-item>
  845. <el-form-item label="自动分配客服" prop="auto_customer_service">
  846. <el-switch v-model="form.model.basic.auto_customer_service" :active-value="1"
  847. :inactive-value="0"></el-switch>
  848. </el-form-item>
  849. <el-form-item v-if="form.model.basic.auto_customer_service == 1" label="默认上次客服"
  850. prop="last_customer_service">
  851. <el-switch v-model="form.model.basic.last_customer_service" :active-value="1"
  852. :inactive-value="0"></el-switch>
  853. </el-form-item>
  854. </template>
  855. <div class="sa-title is-line">系统配置</div>
  856. <template v-if="form.model.system">
  857. <el-alert class="mb-4" type="warning">
  858. <template #title>修改完下面配置,请一定重启客服进程</template>
  859. </el-alert>
  860. <el-form-item label="内部通讯地址" prop="inside_host">
  861. <el-input class="sa-w-360" placeholder="请输入内部通讯地址"
  862. v-model="form.model.system.inside_host">
  863. </el-input>
  864. </el-form-item>
  865. <el-form-item label="内部通讯端口" prop="inside_port">
  866. <el-input class="sa-w-360" placeholder="请输入内部通讯端口" type="number"
  867. v-model="form.model.system.inside_port">
  868. </el-input>
  869. </el-form-item>
  870. <el-form-item label="外部服务端口" prop="port">
  871. <el-input class="sa-w-360" placeholder="请输入外部服务端口" type="number"
  872. v-model="form.model.system.port">
  873. </el-input>
  874. </el-form-item>
  875. <el-form-item label="证书模式" prop="ssl">
  876. <div>
  877. <el-radio-group v-model="form.model.system.ssl">
  878. <el-radio label="none">不开启</el-radio>
  879. <el-radio label="cert">证书</el-radio>
  880. <el-radio label="reverse_proxy">反向代理</el-radio>
  881. </el-radio-group>
  882. <div class="tip">
  883. <span v-if="form.model.system.ssl == 'cert'">
  884. 证书:请先配置好 https,下面输入框配置 https 的证书文件绝对路径
  885. </span>
  886. <span v-if="form.model.system.ssl == 'reverse_proxy'">
  887. 反向代理:请先配置好https,使用 nginx 反向代理 wss
  888. </span>
  889. </div>
  890. </div>
  891. </el-form-item>
  892. <template v-if="form.model.system.ssl == 'cert'">
  893. <el-form-item label="ssl证书" prop="ssl_cert">
  894. <el-input class="sa-w-360" placeholder="请输入ssl证书(绝对地址)"
  895. v-model="form.model.system.ssl_cert">
  896. </el-input>
  897. </el-form-item>
  898. <el-form-item label="ssl key" prop="ssl_key">
  899. <el-input class="sa-w-360" placeholder="请输入ssl key(绝对地址)"
  900. v-model="form.model.system.ssl_key">
  901. </el-input>
  902. </el-form-item>
  903. </template>
  904. </template>
  905. <div class="sa-title is-line">应用配置</div>
  906. <template v-if="form.model.application">
  907. <template v-if="form.model.application.shop">
  908. <!-- <div class="sa-title is-line">商城客服</div> -->
  909. <el-form-item label="选择客服分类">
  910. <div>
  911. <el-select v-model="form.model.application.shop.room_id" placeholder="请选择客服分类">
  912. <el-option v-for="item in chat.config.default_rooms" :key="item.value"
  913. :label="item.name" :value="item.value"></el-option>
  914. </el-select>
  915. <div class="tip"> 顾客只能和添加到同样分类的客服进行连接 </div>
  916. </div>
  917. </el-form-item>
  918. </template>
  919. </template>
  920. </template>
  921. <!-- Redis配置 -->
  922. <template v-if="state.tabActive == 'shopro/config/redis'">
  923. <el-alert class="mb-4" type="warning">
  924. <template #title>
  925. <div>1、站点配置好之后,请不要随意修改 redis 配置,否则可能导致重要缓存数据和队列数据丢失</div>
  926. <div>2、队列驱动为 redis 时,默认读取本配置,也可在 application/extra/queue.php 文件中配置相同参数覆盖本配置</div>
  927. <div>3、DB 数据库建议指定 1-15 中的一个数字 (redis 默认16个库 0-15),服务器有多个站点时,不可与其他站点的 DB 数据库
  928. 相同,以免数据错乱,导致系统异常</div>
  929. </template>
  930. </el-alert>
  931. <el-form-item label="主机地址" prop="host">
  932. <el-input class="sa-w-360" placeholder="请输入主机地址" v-model="form.model.host">
  933. </el-input>
  934. </el-form-item>
  935. <el-form-item label="使用空密码" prop="empty_password">
  936. <el-switch v-model="form.model.empty_password" :active-value="1" :inactive-value="0">
  937. </el-switch>
  938. </el-form-item>
  939. <el-form-item v-if="!form.model.empty_password" label="密码" prop="password">
  940. <el-input class="sa-w-360" placeholder="不修改则留空" v-model="form.model.password">
  941. </el-input>
  942. </el-form-item>
  943. <el-form-item label="端口" prop="port">
  944. <el-input class="sa-w-360" placeholder="请输入端口" v-model="form.model.port">
  945. </el-input>
  946. </el-form-item>
  947. <el-form-item label="DB数据库" prop="select">
  948. <div class="sa-flex-col sa-flex-1">
  949. <el-input class="sa-w-360" placeholder="请输入DB数据库" v-model="form.model.select">
  950. </el-input>
  951. <div class="tip">建议显示指定 1-15 的数字</div>
  952. </div>
  953. </el-form-item>
  954. <el-form-item label="超时时间" prop="timeout">
  955. <el-input class="sa-w-360" placeholder="请输入超时时间" v-model="form.model.timeout">
  956. </el-input>
  957. </el-form-item>
  958. <el-form-item label="连接持续性" prop="persistent">
  959. <el-switch v-model="form.model.persistent" :active-value="true" :inactive-value="false">
  960. </el-switch>
  961. </el-form-item>
  962. </template>
  963. </el-form>
  964. </el-scrollbar>
  965. </el-main>
  966. <!-- 支付配置 -->
  967. <el-main v-if="state.tabActive == 'shopro/pay_config'" class="pay-config-main">
  968. <el-container>
  969. <el-header>
  970. <div class="sa-title sa-flex sa-row-between">
  971. <div>支付配置</div>
  972. <div>
  973. <el-button class="sa-button-refresh" icon="RefreshRight" @click="getData"></el-button>
  974. {if $auth->check('shopro/pay_config/add')}
  975. <el-button icon="Plus" type="primary" @click="onAddPayConfig">添加</el-button>
  976. {/if}
  977. {if $auth->check('shopro/pay_config/recyclebin')}
  978. <el-button type="danger" icon="Delete" plain @click="onRecyclebinPayConfig">回收站</el-butt0on>
  979. {/if}
  980. </div>
  981. </div>
  982. </el-header>
  983. <el-main class="sa-main">
  984. <el-table height="100%" class="sa-table" :data="payConfig.data" stripe>
  985. <el-table-column label="名称" min-width="280">
  986. <template #default="scope">
  987. <span class="sa-table-line-1">
  988. {{ scope.row.name || '-' }}
  989. </span>
  990. </template>
  991. </el-table-column>
  992. <el-table-column label="支付类型" min-width="120">
  993. <template #default="scope">
  994. <div class="sa-table-line-1">
  995. {{ scope.row.type_text || '-' }}
  996. </div>
  997. </template>
  998. </el-table-column>
  999. <el-table-column label="状态" min-width="130">
  1000. <template #default="scope">
  1001. {if $auth->check('shopro/pay_config/edit')}
  1002. <el-dropdown trigger="click" @command="onCommandPayConfig">
  1003. <el-button link>
  1004. <el-tag :type="scope.row.status == 'normal'?'success':'info'">
  1005. {{ scope.row.status_text }}
  1006. <el-icon>
  1007. <arrow-down />
  1008. </el-icon>
  1009. </el-tag>
  1010. </el-button>
  1011. <template #dropdown>
  1012. <el-dropdown-menu>
  1013. <el-dropdown-item :command="{
  1014. id: scope.row.id,
  1015. type: 'normal',
  1016. }">
  1017. <span class="status-normal">正常</span>
  1018. </el-dropdown-item>
  1019. <el-dropdown-item :command="{
  1020. id: scope.row.id,
  1021. type: 'disabled',
  1022. }">
  1023. <span class="status-hidden">禁用</span>
  1024. </el-dropdown-item>
  1025. </el-dropdown-menu>
  1026. </template>
  1027. </el-dropdown>
  1028. {/if}
  1029. </template>
  1030. </el-table-column>
  1031. <el-table-column label="创建时间" width="172">
  1032. <template #default="scope">
  1033. {{ scope.row.createtime || '-' }}
  1034. </template>
  1035. </el-table-column>
  1036. <el-table-column fixed="right" label="操作" min-width="120">
  1037. <template #default="scope">
  1038. {if $auth->check('shopro/pay_config/edit')}
  1039. <el-button type="primary" link @click="onEditPayConfig(scope.row.id)">编辑</el-button>
  1040. {/if}
  1041. <el-popconfirm width="fit-content" confirm-button-text="确认" cancel-button-text="取消"
  1042. title="确认删除这条记录?" @confirm="onDeletePayConfig(scope.row.id)">
  1043. <template #reference>
  1044. {if $auth->check('shopro/pay_config/delete')}
  1045. <el-button type="danger" link>删除</el-button>
  1046. {/if}
  1047. </template>
  1048. </el-popconfirm>
  1049. </template>
  1050. </el-table-column>
  1051. </el-table>
  1052. </el-main>
  1053. </el-container>
  1054. </el-main>
  1055. <el-footer v-if="state.tabActive!='shopro/config/platform' && state.tabActive != 'shopro/pay_config'"
  1056. class="sa-footer--submit sa-flex sa-row-right">
  1057. <el-button type="primary" @click="onConfirm">确定</el-button>
  1058. </el-footer>
  1059. <el-footer v-if="state.tabActive == 'shopro/pay_config'" class="sa-footer sa-flex sa-row-right">
  1060. <sa-pagination v-model="pagination" @pagination-change="getData"></sa-pagination>
  1061. </el-footer>
  1062. </el-container>
  1063. <el-dialog class="configis-upgrade-dialog" :close-on-click-modal="false" v-model="state.configis_upgrade">
  1064. <div class="configis-upgrade-image">
  1065. <img src="/assets/addons/shopro/img/commission/upgrade-config.png">
  1066. <div class="configis-upgrade-close" @click="onOper('close')">
  1067. <el-icon><circle-close-filled /></el-icon>
  1068. </div>
  1069. <div class="configis-upgrade-button sa-flex">
  1070. <div class="configis-upgrade-button-refresh sa-flex" @click="onOper('refresh')">
  1071. <el-icon class="refresh-right">
  1072. <refresh-right />
  1073. </el-icon>
  1074. 刷新
  1075. </div>
  1076. <div class="configis-upgrade-button-upgrade sa-flex" @click="onOper('upgrade')">去升级
  1077. <img class="icon-right" src="/assets/addons/shopro/img/commission/icon-right.png">
  1078. </div>
  1079. </div>
  1080. </div>
  1081. </el-dialog>
  1082. </div>