浏览代码

金牛需求

ct 2 天之前
父节点
当前提交
c4cda91b74

+ 1 - 1
src/views/components/his/packageOrderDetails.vue

@@ -22,7 +22,7 @@
                      <el-button size="mini" @click="orderRefund()" v-hasPermi="['his:packageOrder:refund']">全部退款 </el-button>
                   </div> -->
 
-                  <div class="operate-button-container" v-if="item.status==2 &&item.packageSubType==1 && item.inquiryRefundStatus==0" >
+                  <div class="operate-button-container" v-if="item.status==2 &&item.packageSubType==1 && (item.inquiryRefundStatus==0 || item.inquiryRefundStatus == null)" >
                      <el-button size="mini" @click="inquiryOrderRefund()" v-hasPermi="['his:packageOrder:inquiryRefund']">问诊退款</el-button>
                   </div>
 

+ 3 - 1
src/views/his/package/index.vue

@@ -241,7 +241,9 @@
          </el-form-item>
         <el-form-item label="套餐包子类型" prop="packageSubType">
               <el-radio-group v-model="form.packageSubType">
-                <el-radio  label="1" v-if="form.packageType==1">咨询包</el-radio>
+                <el-tooltip content="咨询包不能推ERP" placement="top" :open-delay="100" v-if="form.packageType == 1">
+                  <el-radio label="1">咨询包</el-radio>
+                </el-tooltip>
                 <el-radio  label="2" v-if="form.packageType==1">治疗包</el-radio>
                 <el-radio  label="3" v-if="form.packageType==2">产品包</el-radio>
               </el-radio-group>

+ 79 - 7
src/views/his/storeOrder/order1.vue

@@ -328,7 +328,7 @@
               plain
               icon="el-icon-phone"
               size="mini"
-              :disabled="multiple"
+              
               @click="setErpPhone"
               v-hasPermi="['his:storeOrder:createErpOrder']"
             >设置推送手机</el-button>
@@ -341,7 +341,6 @@
               plain
               icon="el-icon-s-cooperation"
               size="mini"
-              :disabled="multiple"
               @click="createErpOrder"
               v-hasPermi="['his:storeOrder:createErpOrder']"
             >创建erp</el-button>
@@ -529,7 +528,7 @@
       </div>
     </el-dialog>
     <el-dialog :title="erpPhone.title" :visible.sync="setPhoneOpen" width="600px" append-to-body>
-      <el-select v-model="erpPhoneValue" placeholder="请选择">
+      <el-select v-model="erpPhoneValue" multiple placeholder="请选择">
         <el-option
           v-for="item in phoneList"
           :key="item.phone"
@@ -565,7 +564,7 @@ export default {
   },
   data() {
     return {
-      erpPhoneValue:null,
+      erpPhoneValue:[],
       setPhoneOpen:false,
       erpPhone:{
         open:false,
@@ -790,7 +789,43 @@ export default {
         cancelButtonText: '取消',
         type: 'warning'
       }).then(() => {
-        batchCreateErpOrder(this.ids).then(response=>{
+        let param = {};
+        if(this.ids.length>0){
+          param = {orderIds:this.ids};
+        } else {
+          if(this.payTypeArr.length>0){
+            this.queryParams.payType=this.payTypeArr.toString();
+          }
+          else{
+            this.queryParams.payType=null
+          }
+          if(this.scheduleIdArr.length>0){
+            this.queryParams.scheduleId=this.scheduleIdArr.toString();
+          }
+          else{
+            this.queryParams.scheduleId=null
+          }
+          if(this.buyTypeArr.length>0){
+            this.queryParams.orderBuyType=this.buyTypeArr.toString();
+          }
+          else{
+            this.queryParams.orderbuyType=null
+          }
+          if(this.channelArr.length>0){
+            this.queryParams.orderChannel=this.channelArr.toString();
+          }
+          else{
+            this.queryParams.orderChannel=null
+          }
+          if(this.qwSubjectArr.length>0){
+            this.queryParams.qwSubject=this.qwSubjectArr.toString();
+          }
+          else{
+            this.queryParams.qwSubject=null
+          }
+          param = this.queryParams;
+        }
+        batchCreateErpOrder(param).then(response=>{
           if(response.code == 200){
             this.$message.success('创建成功');
             this.getList();
@@ -800,11 +835,48 @@ export default {
       });
     },
     handleCancelErpPhone(){
-      this.erpPhoneValue = null;
+      this.erpPhoneValue = [];
       this.setPhoneOpen = false;
     },
     submitErpPhone(){
-      const param = {orderIds:this.ids,erpPhone:this.erpPhoneValue};
+      let param = {};
+      if(this.ids.length>0){
+        param = {orderIds:this.ids,erpPhone:this.erpPhoneValue};
+      } else {
+        if(this.payTypeArr.length>0){
+          this.queryParams.payType=this.payTypeArr.toString();
+        }
+        else{
+          this.queryParams.payType=null
+        }
+        if(this.scheduleIdArr.length>0){
+          this.queryParams.scheduleId=this.scheduleIdArr.toString();
+        }
+        else{
+          this.queryParams.scheduleId=null
+        }
+        if(this.buyTypeArr.length>0){
+          this.queryParams.orderBuyType=this.buyTypeArr.toString();
+        }
+        else{
+          this.queryParams.orderbuyType=null
+        }
+        if(this.channelArr.length>0){
+          this.queryParams.orderChannel=this.channelArr.toString();
+        }
+        else{
+          this.queryParams.orderChannel=null
+        }
+        if(this.qwSubjectArr.length>0){
+          this.queryParams.qwSubject=this.qwSubjectArr.toString();
+        }
+        else{
+          this.queryParams.qwSubject=null
+        }
+        param = this.queryParams;
+        param.erpPhone=this.erpPhoneValue;
+      }
+      
       editErpPhone(param).then(response=>{
         this.msgSuccess("修改成功");
         this.setPhoneOpen = false;

+ 144 - 32
src/views/system/config/config.vue

@@ -719,6 +719,8 @@
       <el-form-item   label="erp类型" v-if="form13.erpOpen == 1">
         <el-radio v-model="form13.erpType" label=1>管易</el-radio>
         <el-radio v-model="form13.erpType" label=2>旺店通</el-radio>
+        <el-radio v-model="form13.erpType" label=3>瀚智OMS</el-radio>
+        <el-radio v-model="form13.erpType" label=4>代服管家</el-radio>
       </el-form-item>
       <el-form-item   label="erpAppKey" v-if="form13.erpOpen == 1 && form13.erpType == 1 " prop="erpAppKey">
           <el-input   v-model="form13.erpAppKey"  label="请输入erpAppKey"></el-input>
@@ -735,43 +737,95 @@
       <el-form-item   label="erpShopCode" v-if="form13.erpOpen == 1 && form13.erpType == 1 " prop="erpShopCode">
           <el-input   v-model="form13.erpShopCode"  label="请输入erpShopCode"></el-input>
       </el-form-item>
-
-          <el-form-item   label="erpWdAppKey" v-if="form13.erpOpen == 1 && form13.erpType == 2 " prop="erpWdAppKey">
-            <el-input   v-model="form13.erpWdAppKey"  label="请输入erpAppKey"></el-input>
-          </el-form-item>
-          <el-form-item   label="erpWdAppsecret" v-if="form13.erpOpen == 1 && form13.erpType == 2 " prop="erpWdAppsecret">
-            <el-input   v-model="form13.erpWdAppsecret"  label="erpWdAppsecret"></el-input>
-          </el-form-item>
-          <el-form-item   label="erpWdSid" v-if="form13.erpOpen == 1 && form13.erpType == 2 " prop="erpWdSid">
-            <el-input   v-model="form13.erpWdSid"  label="请输入erpWdSid"></el-input>
-          </el-form-item>
-          <el-form-item   label="erpWdShopCode" v-if="form13.erpOpen == 1 && form13.erpType == 2 " prop="erpWdShopCode">
-            <el-input   v-model="form13.erpWdShopCode"  label="请输入erpWdShopCode"></el-input>
+      <el-form-item   label="erpWdAppKey" v-if="form13.erpOpen == 1 && form13.erpType == 2 " prop="erpWdAppKey">
+        <el-input   v-model="form13.erpWdAppKey"  label="请输入erpAppKey"></el-input>
+      </el-form-item>
+      <el-form-item   label="erpWdAppsecret" v-if="form13.erpOpen == 1 && form13.erpType == 2 " prop="erpWdAppsecret">
+        <el-input   v-model="form13.erpWdAppsecret"  label="erpWdAppsecret"></el-input>
+      </el-form-item>
+      <el-form-item   label="erpWdSid" v-if="form13.erpOpen == 1 && form13.erpType == 2 " prop="erpWdSid">
+        <el-input   v-model="form13.erpWdSid"  label="请输入erpWdSid"></el-input>
+      </el-form-item>
+      <el-form-item   label="erpWdShopCode" v-if="form13.erpOpen == 1 && form13.erpType == 2 " prop="erpWdShopCode">
+        <el-input   v-model="form13.erpWdShopCode"  label="请输入erpWdShopCode"></el-input>
+      </el-form-item>
+      <el-form-item   label="erpWdBaseUrl" v-if="form13.erpOpen == 1 && form13.erpType == 2 " prop="erpWdBaseUrl">
+        <el-input   v-model="form13.erpWdBaseUrl"  label="请输入erpWdBaseUrl"></el-input>
+      </el-form-item>
+      <el-form-item   label="erpWarehouseCode" v-if="form13.erpOpen == 1 && form13.erpType == 2 " prop="erpWarehouseCode">
+        <el-input   v-model="form13.erpWarehouseCode"  label="请输入erpWarehouseCode"></el-input>
+      </el-form-item>
+      <!-- erpHzOMSid -->
+      <el-form-item   label="erpHzOMSAppKey" v-if="form13.erpOpen == 1 && form13.erpType == 3 " prop="erpHzOMSAppKey">
+        <el-input   v-model="form13.erpHzOMSAppKey"  label="请输入erpAppKey"></el-input>
+      </el-form-item>
+      <el-form-item   label="erpHzOMSAppsecret" v-if="form13.erpOpen == 1 && form13.erpType == 3 " prop="erpHzOMSAppsecret">
+        <el-input   v-model="form13.erpHzOMSAppsecret"  label="erpWdAppsecret"></el-input>
+      </el-form-item>
+      <el-form-item   label="erpHzOMSItenantid" v-if="form13.erpOpen == 1 && form13.erpType == 3 " prop="erpHzOMSItenantid">
+        <el-input   v-model="form13.erpHzOMSItenantid"  label="请输入erpHzOMSItenantid"></el-input>
+      </el-form-item>
+      <el-form-item   label="erpHzOMTokenUrl" v-if="form13.erpOpen == 1 && form13.erpType == 3 " prop="erpHzOMTokenUrl">
+        <el-input   v-model="form13.erpHzOMTokenUrl"  label="请输入erpHzOMTokenUrl"></el-input>
+      </el-form-item>
+      <el-form-item   label="erpHzOMBaseUrl" v-if="form13.erpOpen == 1 && form13.erpType == 3 " prop="erpHzOMBaseUrl">
+        <el-input   v-model="form13.erpHzOMBaseUrl"  label="请输入erpHzOMBaseUrl"></el-input>
+      </el-form-item>
+       
+      <!-- 代付管家 - 修改为支持多账户 -->
+      <div v-if="form13.erpOpen == 1 && form13.erpType == 4">
+        <el-form-item label="代付管家账户配置">
+          <el-button type="primary" icon="el-icon-plus" @click="addDfAccount" style="margin-bottom: 10px;">添加新账号</el-button>
+        </el-form-item>
+        
+        <div v-for="(account, index) in form13.dfAccounts" :key="index" style="border: 1px solid #dcdfe6; padding: 20px; margin-bottom: 20px; border-radius: 4px;">
+          <div style="display: flex; justify-content: between; align-items: center; margin-bottom: 15px;">
+            <div style="margin: 0; color: #409eff;">账户 {{ index + 1 }}</div>
+            <el-button 
+              type="danger" 
+              icon="el-icon-delete" 
+              size="mini" 
+              @click="removeDfAccount(index)"
+              v-if="form13.dfAccounts.length > 1">
+              删除账户
+            </el-button>
+          </div>
+          
+          <el-form-item label="dfAppKey" :prop="`dfAccounts.${index}.dfAppKey`">
+            <el-input v-model="account.dfAppKey" placeholder="请输入dfAppKey"></el-input>
           </el-form-item>
-          <el-form-item   label="erpWdBaseUrl" v-if="form13.erpOpen == 1 && form13.erpType == 2 " prop="erpWdBaseUrl">
-            <el-input   v-model="form13.erpWdBaseUrl"  label="请输入erpWdBaseUrl"></el-input>
+          <el-form-item label="dfAppsecret" :prop="`dfAccounts.${index}.dfAppsecret`">
+            <el-input v-model="account.dfAppsecret" placeholder="请输入dfAppsecret"></el-input>
           </el-form-item>
-          <el-form-item   label="erpWarehouseCode" v-if="form13.erpOpen == 1 && form13.erpType == 2 " prop="erpWarehouseCode">
-            <el-input   v-model="form13.erpWarehouseCode"  label="请输入erpWarehouseCode"></el-input>
+          <el-form-item label="登录账号" :prop="`dfAccounts.${index}.loginAccount`">
+            <el-input v-model="account.loginAccount" placeholder="登录账号"></el-input>
           </el-form-item>
-
-          <el-form-item   label="erpHzOMSAppKey" v-if="form13.erpOpen == 1 && form13.erpType == 3 " prop="erpHzOMSAppKey">
-            <el-input   v-model="form13.erpHzOMSAppKey"  label="请输入erpAppKey"></el-input>
+          <el-form-item label="回调地址" :prop="`dfAccounts.${index}.callBackUrl`">
+            <el-input v-model="account.callBackUrl" placeholder="回调地址"></el-input>
           </el-form-item>
-          <el-form-item   label="erpHzOMSAppsecret" v-if="form13.erpOpen == 1 && form13.erpType == 3 " prop="erpHzOMSAppsecret">
-            <el-input   v-model="form13.erpHzOMSAppsecret"  label="erpWdAppsecret"></el-input>
+          <el-form-item label="月结账号" :prop="`dfAccounts.${index}.monthlyCard`">
+            <el-input v-model="account.monthlyCard" placeholder="月结账号"></el-input>
           </el-form-item>
-          <!-- erpHzOMSid -->
-          <el-form-item   label="erpHzOMSItenantid" v-if="form13.erpOpen == 1 && form13.erpType == 3 " prop="erpHzOMSItenantid">
-            <el-input   v-model="form13.erpHzOMSItenantid"  label="请输入erpHzOMSItenantid"></el-input>
+          <el-form-item label="寄件人姓名" :prop="`dfAccounts.${index}.senderName`">
+            <el-input v-model="account.senderName" placeholder="寄件人姓名"></el-input>
           </el-form-item>
-          <el-form-item   label="erpHzOMTokenUrl" v-if="form13.erpOpen == 1 && form13.erpType == 3 " prop="erpHzOMTokenUrl">
-            <el-input   v-model="form13.erpHzOMTokenUrl"  label="请输入erpHzOMTokenUrl"></el-input>
+          <el-form-item label="寄件人手机" :prop="`dfAccounts.${index}.senderPhone`">
+            <el-input v-model="account.senderPhone" placeholder="寄件人手机"></el-input>
           </el-form-item>
-          <el-form-item   label="erpHzOMBaseUrl" v-if="form13.erpOpen == 1 && form13.erpType == 3 " prop="erpHzOMBaseUrl">
-            <el-input   v-model="form13.erpHzOMBaseUrl"  label="请输入erpHzOMBaseUrl"></el-input>
+          <el-form-item label="寄件人省市区" prop="`cityIds`">
+               <el-cascader
+                         ref="citySelect"
+                         v-model="account.cityIds"
+                         :options="citys"
+                         @change="handleCityChange(index)">
+                         </el-cascader>
+               </el-form-item>
+          <el-form-item label="寄件人详细地址" :prop="`dfAccounts.${index}.senderAddress`">
+            <el-input v-model="account.senderAddress" placeholder="寄件人详细地址"></el-input>
           </el-form-item>
-
+        </div>
+      </div>
+            
       <el-form-item   label="appid" prop="appid">
           <el-input   v-model="form13.appid"  label="请输入appid"></el-input>
       </el-form-item>
@@ -1291,9 +1345,9 @@
            </el-form-item>
            <div  class="footer">
              <el-button type="primary" @click="submitForm21">提  交</el-button>
-           </div>
-         </el-form>
-       </el-tab-pane>
+        </div>
+      </el-form>
+    </el-tab-pane>
     </el-tabs>
 
 
@@ -1320,6 +1374,7 @@ import productDeliveryGiftValueSelect from "../../components/his/productDelivery
 import { Col } from "element-ui";
 import Editor from '@/components/Editor/wang';
 import companyMenuConfig from "./companyMenuConfig";
+import {getCitys} from "@/api/store/city";
 export default {
   name: "Config",
   components: {
@@ -1328,6 +1383,7 @@ export default {
   },
   data() {
     return {
+      citys:[],
       images:[],
       uploadUrl:process.env.VUE_APP_BASE_API+"/common/uploadOSS",
       videoAccept:"video/*",
@@ -1369,6 +1425,7 @@ export default {
       },
       form12:[],
       form13:{
+        dfAccounts: [] // 初始化代付管家账户数组
       },
       form14:{
       },
@@ -1455,6 +1512,49 @@ export default {
    }
   },
   methods: {
+    handleCityChange(value) {
+      // console.log(this.$refs.citySelect,this.$refs.citySelect[0])
+      var nodes=this.$refs.citySelect[0].getCheckedNodes();
+      // console.log(nodes[0])
+      // this.account[value].cityIds=value.toString();
+      this.form13.dfAccounts[value].senderProvince=nodes[0].pathLabels[0];
+      this.form13.dfAccounts[value].senderCity=nodes[0].pathLabels[1];
+      this.form13.dfAccounts[value].senderDistrict=nodes[0].pathLabels[2];
+    },
+    getCitys(){
+        getCitys().then(res => {
+          this.loading = false;
+          this.citys=res.data;
+        })
+    },
+    // 添加代付管家账户
+    addDfAccount() {
+      this.form13.dfAccounts.push({
+        dfAppKey: '',
+        dfAppsecret: '',
+        loginAccount: '',
+        callBackUrl: '',
+        monthlyCard: '',
+        senderName: '',
+        senderPhone: '',
+        cityIds: '',
+        senderProvince: '',
+        senderCity: '',
+        senderDistrict: '',
+        senderAddress: '',
+      });
+    },
+    // 删除代付管家账户
+    removeDfAccount(index) {
+      this.$confirm('确认删除该账户?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        this.form13.dfAccounts.splice(index, 1);
+        this.$message.success('删除成功');
+      }).catch(() => {});
+    },
     handleSuccess(response, file) {
       // 上传成功后的回调函数
       this.myloading.close();
@@ -1598,7 +1698,16 @@ export default {
               this.form12 =JSON.parse(response.data.configValue);
           }
           if(key=="his.config"){
+              this.getCitys();
               this.form13 =JSON.parse(response.data.configValue);
+              // 确保代付管家账户数组存在
+              if (!this.form13.dfAccounts || !Array.isArray(this.form13.dfAccounts)) {
+                this.form13.dfAccounts = [];
+              }
+              // 如果没有账户,添加一个默认账户
+              if (this.form13.dfAccounts.length === 0) {
+                this.addDfAccount();
+              }
           }
           if(key=="store.config"){
              this.form17 =JSON.parse(response.data.configValue);
@@ -1742,6 +1851,9 @@ export default {
      });
   },
   submitForm13(){
+    const accounts =  this.form13.dfAccounts
+    
+    console.log(accounts)
     var param={configId:this.configId,configValue:JSON.stringify(this.form13)}
     updateConfigByKey(param).then(response => {
        if (response.code === 200) {