瀏覽代碼

Merge remote-tracking branch 'origin/master'

Long 4 天之前
父節點
當前提交
b83fa5b3ef

+ 7 - 0
src/api/his/storeOrder.js

@@ -164,6 +164,13 @@ export function updateStoreOrder(data) {
     data: data
   })
 }
+export function updateAddressErpFsStoreOrder(data) {
+  return request({
+    url: '/his/storeOrder/updateAddressErpFsStoreOrder',
+    method: 'put',
+    data: data
+  })
+}
 
 export function updateDelivery(data) {
   return request({

+ 8 - 2
src/api/hisStore/storeOrder.js

@@ -103,7 +103,13 @@ export function updateStoreOrder(data) {
     data: data
   })
 }
-
+export function updateAddressErpFsStoreOrder(data) {
+  return request({
+    url: '/store/store/storeOrder/updateAddressErpFsStoreOrder',
+    method: 'put',
+    data: data
+  })
+}
 // 修改物流编号
 export function updateDeliveryId(data) {
   return request({
@@ -325,7 +331,7 @@ export function orderDimensionStatisticsExport(query) {
 
 export function importDeliveryNoteExpressTemplate() {
   return request({
-    url: '/store/storeOrder/importDeliveryNoteExpressTemplate',
+    url: '/store/store/storeOrder/importDeliveryNoteExpressTemplate',
     method: 'get'
   })
 }

+ 3 - 0
src/views/company/company/index.vue

@@ -228,6 +228,9 @@
          <el-form-item label="备注" prop="remark">
           <el-input v-model="form.remark" type="textarea"  :rows="2" placeholder="请输入备注" />
         </el-form-item>
+        <el-form-item label="经销商归属" prop="companyBelongOwner">
+          <el-input v-model="form.companyBelongOwner" placeholder="请输入经销售归属" />
+        </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitForm">确 定</el-button>

+ 86 - 53
src/views/components/his/storeOrderDetails.vue

@@ -351,7 +351,7 @@
                       v-model="payMoney"
                       :precision="2"
                       :step="0.1"
-                      disabled   
+                      disabled
                     />
                   </el-form-item>
                   <el-form-item label="物流代收金额">
@@ -446,7 +446,7 @@
                 >
                 <el-table border v-if="refundShowProd!=null" :data="refundShowProd" ref="refundTable" size="small"  @selection-change="handleSelectionChange">
                   <el-table-column type="selection" width="55" align="center" />
-                  
+
                   <el-table-column label="商品编码" width="110" align="center">
                     <template slot-scope="scope">
                       <p>{{ JSON.parse(scope.row.jsonInfo).barCode }}</p>
@@ -467,10 +467,10 @@
 
                   <el-table-column label="退款单价" width="200" align="center">
                     <template slot-scope="scope">
-                      <el-input-number 
-                        v-model="scope.row.money" 
-                        :precision="2" 
-                        :step="0.1" 
+                      <el-input-number
+                        v-model="scope.row.money"
+                        :precision="2"
+                        :step="0.1"
                         :min="0"
                         size="mini"
                       />
@@ -479,17 +479,17 @@
 
                   <el-table-column label="退款数量" width="200" align="center">
                     <template slot-scope="scope">
-                      <el-input-number 
-                        v-model="scope.row.num" 
-                        :min="0" 
-                        :max="scope.row.originNum"   
+                      <el-input-number
+                        v-model="scope.row.num"
+                        :min="0"
+                        :max="scope.row.originNum"
                         size="mini"
                       />
                     </template>
                   </el-table-column>
 
                 </el-table>
-               
+
                 <div style="margin-top:10px;">
                   合计退款金额:
                   <span style="color:red; font-weight:bold;">
@@ -509,13 +509,44 @@
 </template>
 
 <script>
-import {getMsgFollow,sendMsg,msgList,updateMoney,getGoods,getEroOrder,editTuiMoney,updateDelivery,createErpOrder,updateExpress,updateErp, afterSales,sendgoods,logList,listOrder,getExpress,syncExpress, listOrderitem,getOrder, delOrder, addOrder, updateStoreOrder, exportOrder,payment,tuiOrder ,getPrescribe,getOrderUserPhone,returnCost} from "@/api/his/storeOrder";
+import {
+  getMsgFollow,
+  sendMsg,
+  msgList,
+  updateMoney,
+  getGoods,
+  getEroOrder,
+  editTuiMoney,
+  updateDelivery,
+  createErpOrder,
+  updateExpress,
+  updateErp,
+  afterSales,
+  sendgoods,
+  logList,
+  listOrder,
+  getExpress,
+  syncExpress,
+  listOrderitem,
+  getOrder,
+  delOrder,
+  addOrder,
+  updateStoreOrder,
+  exportOrder,
+  payment,
+  tuiOrder,
+  getPrescribe,
+  getOrderUserPhone,
+  returnCost,
+  updateAddressErpFsStoreOrder
+} from "@/api/his/storeOrder";
 import inquiryOrderDetails from '../his/inquiryOrderDetails.vue';
 import packageOrderDetails from '../his/packageOrderDetails2.vue';
 import prescribeDetails from '../his/prescribeDetails.vue';
 import msgDetails from '../../components/his/followMsgDetails.vue';
 import { getTcmScheduleList } from "@/api/company/schedule";
 import {getCitys} from "@/api/store/city";
+
   export default {
     name: "orderDe",
     props:["data"],
@@ -778,7 +809,7 @@ import {getCitys} from "@/api/store/city";
       },
       handlePhone(){
         const orderId = this.item.orderId;
-        getOrderUserPhone(orderId).then(response =>{
+        return getOrderUserPhone(orderId).then(response =>{
             this.item.userPhone = response.userPhone;
         })
       },
@@ -879,7 +910,7 @@ import {getCitys} from "@/api/store/city";
           payPrice: this.payPrice,
         };
 
-        updateStoreOrder(payload).then(response => {
+        updateAddressErpFsStoreOrder(payload).then(response => {
           if (response.code === 200) {
             this.msgSuccess("操作成功");
             this.edit.open = false;
@@ -897,47 +928,49 @@ import {getCitys} from "@/api/store/city";
         });
     },
     editOrder() {
-      this.edit.open = true;
-      this.editForm.orderId = this.item.orderId;
-      this.editForm.remark = this.item.remark;
-
-      // 先设置其他同步的字段
-      this.editForm.userPhone = this.item.userPhone != null ? this.item.userPhone.toString() : "";
-      this.editForm.status = this.item.status != null ? this.item.status.toString() : "";
-      this.editForm.deliveryType = this.item.deliveryType;
-      this.editForm.deliveryStatus = this.item.deliveryStatus;
-      this.payMoney= this.item.payMoney;
-      this.payRemain = this.item.payRemain;
-      this.payPrice= this.item.payPrice;
-      // 等城市数据加载后再解析地址
-      const currentAddress = (this.item.userAddress || "").toString().trim();
-      this.getCitys().then(() => {
-        if (!currentAddress) {
-          this.cityIds = [];
-          this.editForm.userAddress = "";
-          return;
-        }
+      this.handlePhone().then((res)=>{
+        this.edit.open = true;
+        this.editForm.orderId = this.item.orderId;
+        this.editForm.remark = this.item.remark;
+
+        // 先设置其他同步的字段
+        this.editForm.userPhone = this.item.userPhone != null ? this.item.userPhone.toString() : "";
+        this.editForm.status = this.item.status != null ? this.item.status.toString() : "";
+        this.editForm.deliveryType = this.item.deliveryType;
+        this.editForm.deliveryStatus = this.item.deliveryStatus;
+        this.payMoney= this.item.payMoney;
+        this.payRemain = this.item.payRemain;
+        this.payPrice= this.item.payPrice;
+        // 等城市数据加载后再解析地址
+        const currentAddress = (this.item.userAddress || "").toString().trim();
+        this.getCitys().then(() => {
+          if (!currentAddress) {
+            this.cityIds = [];
+            this.editForm.userAddress = "";
+            return;
+          }
 
-        // 假设格式为:省 市 区 详细地址(空格分隔)
-        const parts = currentAddress.split(/\s+/);
-        const detail = parts.pop() || ""; // 最后一段作为详细地址
-        const provLabel = parts[0];
-        const cityLabel = parts[1];
-        const areaLabel = parts[2];
+          // 假设格式为:省 市 区 详细地址(空格分隔)
+          const parts = currentAddress.split(/\s+/);
+          const detail = parts.pop() || ""; // 最后一段作为详细地址
+          const provLabel = parts[0];
+          const cityLabel = parts[1];
+          const areaLabel = parts[2];
 
-        const province = this.citys.find(p => p.label === provLabel);
-        const city = province?.children?.find(c => c.label === cityLabel);
-        const area = city?.children?.find(a => a.label === areaLabel);
+          const province = this.citys.find(p => p.label === provLabel);
+          const city = province?.children?.find(c => c.label === cityLabel);
+          const area = city?.children?.find(a => a.label === areaLabel);
 
-        if (province && city && area) {
-          this.cityIds = [province.value, city.value, area.value];
-        } else {
-          console.warn("未匹配到完整省市区:", { provLabel, cityLabel, areaLabel });
-          this.cityIds = [];
-        }
-        // 把详细地址写回到输入框(只保留详细地址,不含省市区)
-        this.editForm.userAddress = detail;
-      });
+          if (province && city && area) {
+            this.cityIds = [province.value, city.value, area.value];
+          } else {
+            console.warn("未匹配到完整省市区:", { provLabel, cityLabel, areaLabel });
+            this.cityIds = [];
+          }
+          // 把详细地址写回到输入框(只保留详细地址,不含省市区)
+          this.editForm.userAddress = detail;
+        });
+      })
     },
     updateExpress(){
       var that=this;
@@ -1067,7 +1100,7 @@ import {getCitys} from "@/api/store/city";
         } else {
           this.refund(); //正常退款
         }
-        
+
       },
       submitRefundForm(){
         if(this.refundForm.refundAmount<=0){

+ 13 - 1
src/views/course/userWatchCourseStatistics/index.vue

@@ -57,6 +57,16 @@
         />
       </el-form-item>
 
+      <el-form-item label="经销商" prop="companyBelongOwner">
+        <el-input
+          v-model="queryParams.companyBelongOwner"
+          placeholder="请输入经销商归属"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@@ -80,6 +90,7 @@
 
     <el-table border v-loading="loading" :data="userWatchCourseStatisticsList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="经销商归属" align="center" prop="companyBelongOwner" />
       <el-table-column label="营期名称" align="center" prop="periodName" />
       <el-table-column label="营期线" align="center" prop="periodStartingTime" />
       <el-table-column label="播出时间" align="center" prop="courseStartDateTime" />
@@ -248,7 +259,8 @@ export default {
         answerRightNum: null,
         answerRightRate: null,
         redPacketNum: null,
-        redPacketAmount: null
+        redPacketAmount: null,
+        companyBelongOwner: null
       },
       // 表单参数
       form: {},

+ 14 - 1
src/views/course/userWatchCourseTotalStatistics/index.vue

@@ -56,6 +56,16 @@
         />
       </el-form-item>
 
+      <el-form-item label="经销商" prop="companyBelongOwner">
+        <el-input
+          v-model="queryParams.companyBelongOwner"
+          placeholder="请输入经销商归属"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+
 <!--      <el-form-item label="所属销售" prop="companyUserName">-->
 <!--        <el-input-->
 <!--          v-model="queryParams.companyUserName"-->
@@ -88,6 +98,7 @@
 
     <el-table border v-loading="loading" :data="userWatchCourseStatisticsList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="经销商归属" align="center" prop="companyBelongOwner" />
       <el-table-column label="营期名称" align="center" prop="periodName" />
       <el-table-column label="营期线" align="center" prop="periodStartingTime" />
       <el-table-column label="播出时间" align="center" prop="courseStartDateTime" />
@@ -103,6 +114,7 @@
       <el-table-column label="完播率" align="center" prop="completeWatchRatePercent" />
       <el-table-column label="红包领取个数" align="center" prop="redPacketNum" />
       <el-table-column label="红包领取总额" align="center" prop="redPacketAmount" />
+
     </el-table>
 
     <pagination
@@ -253,7 +265,8 @@ export default {
         answerRightNum: null,
         answerRightRate: null,
         redPacketNum: null,
-        redPacketAmount: null
+        redPacketAmount: null,
+        companyBelongOwner: null
       },
       // 表单参数
       form: {},

+ 14 - 1
src/views/course/userWatchStatistics/index.vue

@@ -30,6 +30,16 @@
         />
       </el-form-item>
 
+      <el-form-item label="经销商" prop="companyBelongOwner">
+        <el-input
+          v-model="queryParams.companyBelongOwner"
+          placeholder="请输入经销商归属"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+
 
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
@@ -54,6 +64,7 @@
 
     <el-table border v-loading="loading" :data="userWatchStatisticsList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="经销商归属" align="center" prop="companyBelongOwner" />
       <el-table-column label="营期名称" align="center" prop="periodName" />
       <el-table-column label="营期线" align="center" prop="periodStartingTime" width="180">
         <template slot-scope="scope">
@@ -68,6 +79,7 @@
       <el-table-column label="完播人数" align="center" prop="completeWatchNum" />
       <el-table-column label="完播率" align="center" prop="completeWatchRatePercent" />
 
+
     </el-table>
 
     <pagination
@@ -158,7 +170,8 @@ export default {
         userNum: null,
         watchNum: null,
         completeWatchNum: null,
-        completeWatchRate: null
+        completeWatchRate: null,
+        companyBelongOwner: null
       },
       // 表单参数
       form: {},

+ 1 - 1
src/views/his/doctor/type1.vue

@@ -635,7 +635,7 @@
          
          <el-row>
                <el-col :span="12">
-                 <el-form-item label="登录账号" prop="account" v-if="form.doctorId==null||form.doctorId==''">
+                 <el-form-item label="登录账号" prop="account" >
                    <el-input v-model="form.account" placeholder="请输入账号名称" />
                  </el-form-item>
                </el-col>

+ 1 - 0
src/views/his/storeOrder/order1.vue

@@ -526,6 +526,7 @@
         </el-table-column>
           <el-table-column label="下单时间" align="center" prop="createTime" width="180" />
         <el-table-column label="支付时间" align="center" prop="payTime" width="180" />
+        <el-table-column label="发货时间" align="center" prop="deliverySendTime" width="180" />
         <el-table-column label="订单状态" align="center" prop="status" >
           <template slot-scope="scope">
                 <dict-tag :options="orderOptions" :value="scope.row.status"/>

+ 42 - 15
src/views/hisStore/components/productOrder.vue

@@ -495,7 +495,29 @@
 </template>
 
 <script>
-import {auditPayRemain,addTuiMoney,syncExpress,updateExpress,getEroOrder,refundOrderMoney, editTuiMoney,getExpress,finishOrder,listStoreOrder, getStoreOrder, delStoreOrder, addStoreOrder, updateStoreOrder, exportStoreOrder,updateDeliveryId, createErpOrder,updateErp,getStoreOrderAddress,getStoreOrderPhone} from "@/api/hisStore/storeOrder";
+import {
+  auditPayRemain,
+  addTuiMoney,
+  syncExpress,
+  updateExpress,
+  getEroOrder,
+  refundOrderMoney,
+  editTuiMoney,
+  getExpress,
+  finishOrder,
+  listStoreOrder,
+  getStoreOrder,
+  delStoreOrder,
+  addStoreOrder,
+  updateStoreOrder,
+  exportStoreOrder,
+  updateDeliveryId,
+  createErpOrder,
+  updateErp,
+  getStoreOrderAddress,
+  getStoreOrderPhone,
+  updateAddressErpFsStoreOrder
+} from "@/api/hisStore/storeOrder";
 import { getTcmScheduleList } from "@/api/company/schedule";
 export default {
   name: "order",
@@ -595,7 +617,7 @@ export default {
   methods: {
     handleAddress(){
         const id = this.order.id;
-        getStoreOrderAddress(id).then(response =>{
+        return getStoreOrderAddress(id).then(response =>{
             this.order.userAddress = response.address;
         })
       },
@@ -677,7 +699,7 @@ export default {
     submitEditForm(){
         this.$refs["editForm"].validate(valid => {
         if (valid) {
-          updateStoreOrder(this.editForm).then(response => {
+          updateAddressErpFsStoreOrder(this.editForm).then(response => {
             if (response.code === 200) {
               this.msgSuccess("操作成功");
               this.edit.open = false;
@@ -786,19 +808,24 @@ export default {
           this.getOrder(this.order.id);
         }).catch(function() {});
     },
-    editOrder(){
-        this.handleAddress()
-        setTimeout(()=>{
-          this.edit.open=true;
-          this.editForm.id=this.order.id;
-          this.editForm.mark=this.order.mark
-          this.editForm.orderType=this.order.orderType.toString();
-          this.editForm.status = this.order.status.toString();
-          this.editForm.userAddress = this.order.userAddress.toString();
-          this.editForm.scheduleId = this.order.scheduleId;
-        },1000)
-        // this.editForm.extendOrderId = this.order.extendOrderId.toString();
+    async editOrder(){
+      try {
+        // 先获取地址信息
+        const response = await getStoreOrderAddress(this.order.id);
+        this.order.userAddress = response.address;
 
+        // 等待地址获取完成后打开编辑对话框
+        this.edit.open = true;
+        this.editForm.id = this.order.id;
+        this.editForm.mark = this.order.mark;
+        this.editForm.orderType = this.order.orderType.toString();
+        this.editForm.status = this.order.status.toString();
+        this.editForm.userAddress = response.address;
+        this.editForm.scheduleId = this.order.scheduleId;
+      } catch (error) {
+        console.error('获取地址失败:', error);
+        this.msgError('获取地址信息失败');
+      }
     },
     //推送管易按钮
     addErpOrder(){

+ 1 - 0
src/views/hisStore/storeOrder/healthStoreList.vue

@@ -284,6 +284,7 @@
       <!-- <el-table-column label="支付状态" align="center" prop="paid" /> -->
       <el-table-column align="center" label="支付时间" prop="payTime" width="180">
       </el-table-column>
+      <el-table-column align="center" label="发货时间" prop="deliverySendTime"/>
       <el-table-column align="center" label="支付方式" prop="payType">
         <template slot-scope="scope">
           <el-tag v-for="(item, index) in payTypeOptions" v-if="scope.row.payType==item.dictValue" prop="payType">

+ 2 - 2
src/views/hisStore/storeOrder/index.vue

@@ -308,8 +308,8 @@
       </el-table-column>
       <el-table-column label="下单时间" align="center" prop="createTime" />
       <!-- <el-table-column label="支付状态" align="center" prop="paid" /> -->
-      <el-table-column label="支付时间" align="center" prop="payTime" width="180">
-      </el-table-column>
+      <el-table-column label="支付时间" align="center" prop="payTime" width="180" />
+      <el-table-column label="发货时间" align="center" prop="deliverySendTime" width="180"></el-table-column>
       <el-table-column label="支付方式" align="center" prop="payType" >
           <template slot-scope="scope">
               <el-tag prop="payType" v-for="(item, index) in payTypeOptions"    v-if="scope.row.payType==item.dictValue">{{item.dictLabel}}</el-tag>

+ 2 - 0
src/views/system/config/config.vue

@@ -2862,6 +2862,8 @@ export default {
           console.log(this.form27)
         }
         if (key == 'his.zzzs') {
+          this.configId = response.data.configId
+          this.configKey = response.data.configKey
           this.form28 = {...this.form28, ...JSON.parse(response.data.configValue)}
         }
       })