|
@@ -2513,6 +2513,86 @@
|
|
|
<el-button type="primary" @click="submitForm33">提 交</el-button>
|
|
<el-button type="primary" @click="submitForm33">提 交</el-button>
|
|
|
</div>
|
|
</div>
|
|
|
</el-tab-pane>
|
|
</el-tab-pane>
|
|
|
|
|
+ <el-tab-pane label="提现配置" name="his.AppRedPacket">
|
|
|
|
|
+ <!-- 添加 ref 和 rules -->
|
|
|
|
|
+ <el-form ref="form35" :model="form35" label-width="160px">
|
|
|
|
|
+
|
|
|
|
|
+ <el-form-item label="红包接口类型" prop="isNew">
|
|
|
|
|
+ <el-radio-group v-model="form35.isNew" >
|
|
|
|
|
+ <el-radio label="0">商家转账到零钱(旧)</el-radio>
|
|
|
|
|
+ <el-radio label="1">商家转账到零钱(新)</el-radio>
|
|
|
|
|
+ </el-radio-group>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 公共字段 -->
|
|
|
|
|
+ <el-form-item label="商户号" prop="mchId">
|
|
|
|
|
+ <el-input v-model="form35.mchId" placeholder="请输入商户号"></el-input>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+
|
|
|
|
|
+ <el-form-item label="回调地址" prop="notifyUrl">
|
|
|
|
|
+ <el-input v-model="form35.notifyUrl" placeholder="请输入回调地址"></el-input>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 旧版接口字段 -->
|
|
|
|
|
+ <template v-if="form35.isNew === '0'">
|
|
|
|
|
+ <el-form-item label="商户密钥" prop="mchKey">
|
|
|
|
|
+ <el-input v-model="form35.mchKey" placeholder="请输入商户密钥" show-password></el-input>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="API证书(p12)" prop="keyPath">
|
|
|
|
|
+ <el-input v-model="form35.keyPath" placeholder="请输入p12证书路径">
|
|
|
|
|
+ <template #append>
|
|
|
|
|
+ <el-button @click="handleSelectFile('keyPath')">选择文件</el-button>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-input>
|
|
|
|
|
+ <div class="form-tips">商户平台下载的apiclient_cert.p12证书</div>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </template>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 新版接口字段 -->
|
|
|
|
|
+ <template v-if="form35.isNew === '1'">
|
|
|
|
|
+ <el-form-item label="APIv3密钥" prop="apiV3Key">
|
|
|
|
|
+ <el-input v-model="form35.apiV3Key" placeholder="请输入APIv3密钥" show-password></el-input>
|
|
|
|
|
+ <div class="form-tips">商户平台API安全页面设置的APIv3密钥</div>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+
|
|
|
|
|
+ <el-form-item label="商户API证书" prop="privateCertPath">
|
|
|
|
|
+ <el-input v-model="form35.privateCertPath" placeholder="请输入商户API证书路径">
|
|
|
|
|
+ <template #append>
|
|
|
|
|
+ <el-button @click="handleSelectFile('privateCertPath')">选择文件</el-button>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-input>
|
|
|
|
|
+ <div class="form-tips">apiclient_cert.pem证书文件</div>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+
|
|
|
|
|
+ <el-form-item label="商户私钥" prop="privateKeyPath">
|
|
|
|
|
+ <el-input v-model="form35.privateKeyPath" placeholder="请输入商户私钥路径">
|
|
|
|
|
+ <template #append>
|
|
|
|
|
+ <el-button @click="handleSelectFile('privateKeyPath')">选择文件</el-button>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-input>
|
|
|
|
|
+ <div class="form-tips">apiclient_key.pem私钥文件</div>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+
|
|
|
|
|
+ <el-form-item label="平台公钥证书" prop="publicKeyPath">
|
|
|
|
|
+ <el-input v-model="form35.publicKeyPath" placeholder="请输入平台公钥证书路径">
|
|
|
|
|
+ <template #append>
|
|
|
|
|
+ <el-button @click="handleSelectFile('publicKeyPath')">选择文件</el-button>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-input>
|
|
|
|
|
+ <div class="form-tips">微信支付平台证书(自动更新时可留空)</div>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+
|
|
|
|
|
+ <el-form-item label="证书序列号" prop="serialNo">
|
|
|
|
|
+ <el-input v-model="form35.serialNo" placeholder="请输入证书序列号"></el-input>
|
|
|
|
|
+ <div class="form-tips">商户API证书的序列号,可在证书文件中查看</div>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </template>
|
|
|
|
|
+
|
|
|
|
|
+ <div class="footer">
|
|
|
|
|
+ <el-button type="primary" @click="submitForm35">提 交</el-button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </el-form>
|
|
|
|
|
+ </el-tab-pane>
|
|
|
|
|
|
|
|
<el-tab-pane label="IM配置" name="im.config">
|
|
<el-tab-pane label="IM配置" name="im.config">
|
|
|
<!-- 小米 -->
|
|
<!-- 小米 -->
|
|
@@ -2559,8 +2639,8 @@ import companyMenuConfig from './companyMenuConfig'
|
|
|
import IntegralConfig from '@/views/system/config/integralConfig.vue'
|
|
import IntegralConfig from '@/views/system/config/integralConfig.vue'
|
|
|
import { getCitys } from '@/api/store/city'
|
|
import { getCitys } from '@/api/store/city'
|
|
|
import { listCompany } from '@/api/company/company'
|
|
import { listCompany } from '@/api/company/company'
|
|
|
-import { getStoreProductColumns } from '@/api/hisStore/storeProduct'
|
|
|
|
|
-import { getStoreColumns } from '@/api/hisStore/store'
|
|
|
|
|
|
|
+// import { getStoreProductColumns } from '@/api/hisStore/storeProduct'
|
|
|
|
|
+// import { getStoreColumns } from '@/api/hisStore/store'
|
|
|
|
|
|
|
|
export default {
|
|
export default {
|
|
|
name: 'Config',
|
|
name: 'Config',
|
|
@@ -2726,6 +2806,7 @@ export default {
|
|
|
form32:{},
|
|
form32:{},
|
|
|
form33:{},
|
|
form33:{},
|
|
|
form34:{},
|
|
form34:{},
|
|
|
|
|
+ form35:{},
|
|
|
storeProductScrmColumns:[],
|
|
storeProductScrmColumns:[],
|
|
|
storeScrmColumns: [],
|
|
storeScrmColumns: [],
|
|
|
photoArr: [],
|
|
photoArr: [],
|
|
@@ -2798,12 +2879,12 @@ export default {
|
|
|
this.getDicts('sys_integral_log_type').then(response => {
|
|
this.getDicts('sys_integral_log_type').then(response => {
|
|
|
this.integralLogTypeOptions = response.data
|
|
this.integralLogTypeOptions = response.data
|
|
|
})
|
|
})
|
|
|
- getStoreProductColumns().then( response => {
|
|
|
|
|
- this.storeProductScrmColumns = response.data
|
|
|
|
|
- })
|
|
|
|
|
- getStoreColumns().then( response => {
|
|
|
|
|
- this.storeScrmColumns = response.data
|
|
|
|
|
- })
|
|
|
|
|
|
|
+ // getStoreProductColumns().then( response => {
|
|
|
|
|
+ // this.storeProductScrmColumns = response.data
|
|
|
|
|
+ // })
|
|
|
|
|
+ // getStoreColumns().then( response => {
|
|
|
|
|
+ // this.storeScrmColumns = response.data
|
|
|
|
|
+ // })
|
|
|
},
|
|
},
|
|
|
watch: {
|
|
watch: {
|
|
|
photoArr: function(val) {
|
|
photoArr: function(val) {
|
|
@@ -3134,6 +3215,27 @@ export default {
|
|
|
console.log("----------"+response.data.configValue)
|
|
console.log("----------"+response.data.configValue)
|
|
|
this.form33 =JSON.parse(response.data.configValue);
|
|
this.form33 =JSON.parse(response.data.configValue);
|
|
|
}
|
|
}
|
|
|
|
|
+ if (key == 'his.AppRedPacket') {
|
|
|
|
|
+ if (response.data && response.data.configValue) {
|
|
|
|
|
+ this.form35 = JSON.parse(response.data.configValue);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ // 如果没有配置,使用默认值
|
|
|
|
|
+ this.form35 = {
|
|
|
|
|
+ isNew: '1',
|
|
|
|
|
+ mchId: '',
|
|
|
|
|
+ notifyUrl: '',
|
|
|
|
|
+ mchKey: '',
|
|
|
|
|
+ keyPath: '',
|
|
|
|
|
+ apiV3Key: '',
|
|
|
|
|
+ serialNo: '',
|
|
|
|
|
+ privateCertPath: '',
|
|
|
|
|
+ privateKeyPath: '',
|
|
|
|
|
+ publicKeyPath: ''
|
|
|
|
|
+ };
|
|
|
|
|
+ }
|
|
|
|
|
+ this.configId = response.data?.configId || null;
|
|
|
|
|
+ this.configKey = response.data?.configKey || 'his.AppRedPacket';
|
|
|
|
|
+ }
|
|
|
if(key=="im.config"){
|
|
if(key=="im.config"){
|
|
|
this.form34 =JSON.parse(response.data.configValue);
|
|
this.form34 =JSON.parse(response.data.configValue);
|
|
|
}
|
|
}
|
|
@@ -3461,6 +3563,14 @@ export default {
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
},
|
|
},
|
|
|
|
|
+ submitForm35(){
|
|
|
|
|
+ var param={configId:this.configId,configValue:JSON.stringify(this.form35)}
|
|
|
|
|
+ updateConfigByKey(param).then(response => {
|
|
|
|
|
+ if (response.code === 200) {
|
|
|
|
|
+ this.msgSuccess("修改成功");
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
submitForm32(){
|
|
submitForm32(){
|
|
|
const param = { configId: this.configId, configName : "直播源配置", configKey: this.configKey, configValue: JSON.stringify(this.form32) }
|
|
const param = { configId: this.configId, configName : "直播源配置", configKey: this.configKey, configValue: JSON.stringify(this.form32) }
|
|
|
console.log(param)
|
|
console.log(param)
|