Browse Source

Merge branch 'master' into pengyouhao_dev

pengyh 1 year ago
parent
commit
dcfd91e280

+ 1 - 1
src/api/customerManagement.js

@@ -11,7 +11,7 @@ export function memberListPageV2(data) {
 
 export function memberPageExport(data, name) {
   return postBlob({
-    url: '/member/pageExport',
+    url: '/member/list/customer/export',
     data,
     name
   })

+ 2 - 2
src/api/goods.js

@@ -300,8 +300,8 @@ export function getSmallType(params) {
 // 获取标签列表
 export function getTagList(params) {
   return request({
-    url: '/goods/tag/page',
-    method: 'get',
+    url: '/dictCompany/listDict',
+    method: 'post',
     params
   })
 }

+ 9 - 0
src/api/order.js

@@ -109,6 +109,15 @@ export function cancelOrder(params) {
   })
 }
 
+// 确认订单
+export function confirm2Order(params) {
+  return request({
+    url: '/order/ackOrder',
+    method: 'post',
+    params
+  })
+}
+
 // 确认收款
 export function confirmOrder(params) {
   return request({

+ 4 - 0
src/api/workOrderPool.js

@@ -4,6 +4,10 @@ export function orderBaseImport(data) {
   return handleImport('/order/base/import', data.formdata, data.id || '')
 }
 
+export function orderBaseImport2(data) {
+  return handleImport('/order/base/import2', data.formdata, data.id || '')
+}
+
 export function orderBaseSettleNormConfirm(data) {
   return request({
     url: `/order/base/settle/norm/confirm`,

+ 6 - 6
src/components/Shortcut/index.vue

@@ -133,8 +133,8 @@ export default {
           codeUrl: res.data.qrcode1,
           name: "小程序",
           saleName: "",
-          iosIcon: "https://fw.gd-jxm.com/gateway/pcapi/img/get?key=2023-10/16976801488369080b52c-a1e6-40a0-83f9-8e04f12b494e.jpg",
-          androidIcon: "https://fw.gd-jxm.com/gateway/pcapi/img/get?key=2023-10/1697680143828d678a6e5-307d-47d0-8ee9-1698f100feb4.jpg"
+          iosIcon: "https://zf-mall.oss-cn-shenzhen.aliyuncs.com/2024-03/17115930219681afd35b0-8c93-400a-94f8-e49277c88616.png",
+          androidIcon: "https://zf-mall.oss-cn-shenzhen.aliyuncs.com/2024-03/1711593045466d069e7f6-5c77-40a0-a7b3-6e2b3a6ce0eb.png"
         })
       }
       if (res?.data?.qrcode2) {
@@ -142,8 +142,8 @@ export default {
           codeUrl: res.data.qrcode2,
           name: "公众号",
           saleName: "",
-          iosIcon: "https://fw.gd-jxm.com/gateway/pcapi/img/get?key=2023-10/16976801488369080b52c-a1e6-40a0-83f9-8e04f12b494e.jpg",
-          androidIcon: "https://fw.gd-jxm.com/gateway/pcapi/img/get?key=2023-10/1697680143828d678a6e5-307d-47d0-8ee9-1698f100feb4.jpg"
+          iosIcon: "https://zf-mall.oss-cn-shenzhen.aliyuncs.com/2024-03/17115930219681afd35b0-8c93-400a-94f8-e49277c88616.png",
+          androidIcon: "https://zf-mall.oss-cn-shenzhen.aliyuncs.com/2024-03/1711593045466d069e7f6-5c77-40a0-a7b3-6e2b3a6ce0eb.png"
         })
       }
 	  if (res?.data?.payQrcode) {
@@ -151,8 +151,8 @@ export default {
 	      codeUrl: res.data.payQrcode,
 	      name: "收款码",
 	      saleName: "",
-	      iosIcon: "https://fw.gd-jxm.com/gateway/pcapi/img/get?key=2023-10/16976801488369080b52c-a1e6-40a0-83f9-8e04f12b494e.jpg",
-	      androidIcon: "https://fw.gd-jxm.com/gateway/pcapi/img/get?key=2023-10/1697680143828d678a6e5-307d-47d0-8ee9-1698f100feb4.jpg"
+	      iosIcon: "https://zf-mall.oss-cn-shenzhen.aliyuncs.com/2024-03/17115930219681afd35b0-8c93-400a-94f8-e49277c88616.png",
+        androidIcon: "https://zf-mall.oss-cn-shenzhen.aliyuncs.com/2024-03/1711593045466d069e7f6-5c77-40a0-a7b3-6e2b3a6ce0eb.png"
 	    })
 	  }
     })

+ 4 - 1
src/components/file-upload/index.vue

@@ -28,7 +28,7 @@
           <span v-if="showName">{{ item.name }}</span>
           <el-link v-if="viewOnline && (checkFileType(item.url) != 'file')" @click="getBase64(item.url)"
             type="primary">查看</el-link>
-          <el-link v-if="download" :href="item.url" type="primary">下载</el-link>
+          <el-link v-if="download" @click="openNew(item.url)" type="primary">下载</el-link>
         </div>
       </div>
       <template v-if="isEdit">
@@ -187,6 +187,9 @@ export default {
     // })
   },
   methods: {
+    openNew(url) {
+      window.open(url, '_blank')
+    },
     getBase64(url) {
       window.open(this.$xdocUrl + encodeURIComponent(Base64.encode(url)), '_blank')
     },

+ 7 - 7
src/components/geographicalPosi/index.vue

@@ -121,23 +121,23 @@ export default {
     },
     async open() {
       this.dialogVisible = true
-      if (this.formData.lng && this.formData.lat && this.formData.gpsAddress) {
-        this.changeSearchMapFn(`${this.formData.lng}//${this.formData.lat}//${this.formData.gpsAddress}`)
+      if (this.formData.lng && this.formData.lat && (this.formData.gpsAddress || this.formData.address)) {
+        this.changeSearchMapFn(`${this.formData.lng}//${this.formData.lat}//${(this.formData.gpsAddress || this.formData.address)}`)
       } else {
         var str = ''
-        if (!~(this.formData.gpsAddress || '').indexOf(this.formData.province)) {
+        if (!~(this.formData.gpsAddress || this.formData.address || '').indexOf(this.formData.province)) {
           str += this.formData.province || ''
         }
-        if (!~(this.formData.gpsAddress || '').indexOf(this.formData.city)) {
+        if (!~(this.formData.gpsAddress || this.formData.address || '').indexOf(this.formData.city)) {
           str += this.formData.city || ''
         }
-        if (!~(this.formData.gpsAddress || '').indexOf(this.formData.area)) {
+        if (!~(this.formData.gpsAddress || this.formData.address || '').indexOf(this.formData.area)) {
           str += this.formData.area || ''
         }
-        if (!~(this.formData.gpsAddress || '').indexOf(this.formData.street)) {
+        if (!~(this.formData.gpsAddress || this.formData.address || '').indexOf(this.formData.street)) {
           str += this.formData.street || ''
         }
-        str += this.formData.gpsAddress || ''
+        str += this.formData.gpsAddress || this.formData.address || ''
         await this.remoteMethod(str)
         if (this.mapSearchList.length) {
           var v = this.mapSearchList[0]

+ 1 - 1
src/views/mallManagement/configCenter/serviceProduct/index.vue

@@ -382,7 +382,7 @@ export default {
       this.$refs.addChildForm.validate((valid) => {
         if (valid) {
           let params = {}
-          if(this.addChildFormType == 'edit') {
+          if(this.addChildFormType == 'edit2') {
             params = {
               type: 2,
               categoryId: this.editChildId,

+ 6 - 10
src/views/mallManagement/goods/goods_add/index.vue

@@ -599,26 +599,22 @@ export default {
     // 获取商品属性列表
     getTagList() {
       getTagList({
-        pageNum: 1,
-        pageSize: -1,
-        type: 1
+        dictType: 'GOODS_ATTR'
       }).then(res => {
         let list = [];
-        res.data.records.forEach(item => {
-          list.push(item.goodsTagName);
+        res.data.forEach(item => {
+          list.push(item.dictValue);
         });
         this.attrList = list;
       })
 
       // 获取商品标签列表
       getTagList({
-        pageNum: 1,
-        pageSize: -1,
-        type: 2
+        dictType: 'GOODS_TAG'
       }).then(res => {
         let list = [];
-        res.data.records.forEach(item => {
-          list.push(item.goodsTagName);
+        res.data.forEach(item => {
+          list.push(item.dictValue);
         });
         this.tagList = list;
       })

+ 132 - 26
src/views/mallManagement/order/offline_order_list/index.vue

@@ -74,16 +74,44 @@
               <el-form-item label="客户地址" prop="province" :required="true">
                 <el-row>
                   <el-col :span="5" style="margin-right: 12px;">
-                    <el-input type="text" v-model="formData.province" disabled placeholder="请选择省"></el-input>
+                    <el-select v-model="formData.provinceId" placeholder="请选择省" style="width: 100%;" @change="changeProvince">
+                      <el-option
+                        v-for="item in provinceList.map(v => ({ value: v.id, label: v.name }))"
+                        :key="item.value"
+                        :label="item.label"
+                        :value="item.value">
+                      </el-option>
+                    </el-select>
                   </el-col>
                   <el-col :span="5" style="margin-right: 12px;">
-                    <el-input type="text" v-model="formData.city" disabled placeholder="请选择市"></el-input>
+                    <el-select v-model="formData.cityId" placeholder="请选择市" style="width: 100%;" @change="changeCity">
+                      <el-option
+                        v-for="item in cityList.map(v => ({ value: v.id, label: v.name }))"
+                        :key="item.value"
+                        :label="item.label"
+                        :value="item.value">
+                      </el-option>
+                    </el-select>
                   </el-col>
                   <el-col :span="5" style="margin-right: 12px;">
-                    <el-input type="text" v-model="formData.area" disabled placeholder="请选择区"></el-input>
+                    <el-select v-model="formData.areaId" placeholder="请选择区" style="width: 100%;" @change="changeArea">
+                      <el-option
+                        v-for="item in areaList.map(v => ({ value: v.id, label: v.name }))"
+                        :key="item.value"
+                        :label="item.label"
+                        :value="item.value">
+                      </el-option>
+                    </el-select>
                   </el-col>
                   <el-col :span="8">
-                    <el-input type="text" v-model="formData.street" disabled placeholder="请选择街道"></el-input>
+                    <el-select v-model="formData.streetId" placeholder="请选择街道" style="width: 100%;" @change="changeStreet">
+                      <el-option
+                        v-for="item in streetList.map(v => ({ value: v.id, label: v.name }))"
+                        :key="item.value"
+                        :label="item.label"
+                        :value="item.value">
+                      </el-option>
+                    </el-select>
                   </el-col>
                 </el-row>
               </el-form-item>
@@ -630,11 +658,11 @@ export default {
       		this.$nextTick(()=>{
             this.getOrderTypeList();
             this.getGoodsSpecList();
-            this.getinitlbslist();
       			this.formType = type
       			this.formVisible = true
             if (type == 'add') {
       				this.formDialogType = 0
+              this.getinitlbslist();
       			} else if(type == 'edit'){
       				this.formDialogType = 1
       				getOfflineOrderDetail({ orderId }).then(res => {
@@ -642,6 +670,7 @@ export default {
                 res.data.orderSmallTypeText = res.data.orderDetails[0]?.orderSmallTypeText;
                 this.goodsList = res.data.orderDetails;
       				  Object.assign(this.formData, res.data)
+                this.getinitlbslist();
       				})
       			}
       		})
@@ -656,6 +685,14 @@ export default {
     formCancel() {
       this.formVisible = false
       this.$refs?.formRef?.resetFields()
+      this.formData.province = '';
+      this.formData.provinceId = '';
+      this.formData.city = '';
+      this.formData.cityId = '';
+      this.formData.area = '';
+      this.formData.areaId = '';
+      this.formData.street = '';
+      this.formData.streetId = '';
       this.formData.orderId = '';
       this.formData.fileUrl = '';
       this.goodsList = [];
@@ -764,33 +801,35 @@ export default {
       // 初始化请求省市区街道下拉选项数据
       lbsAmapRegion({ pid: 0 }).then(res => {
         this.provinceList = res.data
-        // 创建工单时获取ip地址定位赋值
-        if (!this.id && this.$IpAdd.province) {
-          var item = this.provinceList.find(item => item.name === this.$IpAdd.province)
-          if (item) {
-            this.formData.provinceId = item.id
-            this.formData.province = item.name
+        if (this.formData.province) {
+          var provinceItem = this.provinceList.find(o => o.name === this.formData.province)
+          if (provinceItem) {
+            this.formData.provinceId = provinceItem.id
           }
-        }
-        if (this.formData.provinceId) {
           lbsAmapRegion({ pid: this.formData.provinceId }).then(res => {
             this.cityList = res.data
-            // 创建工单时获取ip地址定位赋值
-            if (!this.id && this.$IpAdd.city) {
-              var item2 = this.cityList.find(item => item.name === this.$IpAdd.city)
-              if (item2) {
-                this.formData.cityId = item2.id
-                this.formData.city = item2.name
+            if (this.formData.city) {
+              var cityItem = this.cityList.find(o => o.name === this.formData.city)
+              if (cityItem) {
+                this.formData.cityId = cityItem.id
               }
-            }
-            if (this.formData.cityId) {
               lbsAmapRegion({ pid: this.formData.cityId }).then(res => {
                 this.areaList = res.data
-              })
-            }
-            if (this.formData.areaId) {
-              lbsAmapRegion({ pid: this.formData.areaId }).then(res => {
-                this.streetList = res.data
+                if (this.formData.area) {
+                  var areaItem = this.areaList.find(o => o.name === this.formData.area)
+                  if (areaItem) {
+                    this.formData.areaId = areaItem.id
+                  }
+                  lbsAmapRegion({ pid: this.formData.areaId }).then(res => {
+                    this.streetList = res.data
+                    if (this.formData.street) {
+                      var streetItem = this.streetList.find(o => o.name === this.formData.street)
+                      if (streetItem) {
+                        this.formData.streetId = streetItem.id
+                      }
+                    }
+                  })
+                }
               })
             }
           })
@@ -798,6 +837,73 @@ export default {
       })
     },
 
+    delDataK(num) {
+      if (num <= 1) {
+        // 删除市
+        this.formData.cityId = ''
+        this.formData.city = ''
+        // 删除市选项
+        this.cityList = []
+      }
+      if (num <= 2) {
+        // 删除区
+        this.formData.areaId = ''
+        this.formData.area = ''
+        // 删除区选项
+        this.areaList = []
+      }
+      if (num <= 3) {
+        // 删除街道
+        this.formData.streetId = ''
+        this.formData.street = ''
+        // 删除街道选项
+        this.streetList = []
+      }
+      // 删除gps地址
+      this.formData.gpsAddress = ''
+    },
+
+    // 更改省
+    changeProvince(val) {
+      // 获取省名称
+      this.formData.province = this.provinceList.find(item => item.id === val)?.name || ''
+      // 清除市区街道以及详细地址数据
+      this.delDataK(1)
+      lbsAmapRegion({ pid: val }).then(res => {
+        this.cityList = res.data
+      })
+    },
+
+    // 更改市
+    changeCity(val) {
+      // 获取市名称
+      this.formData.city = this.cityList.find(item => item.id === val).name
+      // 清除区街道以及详细地址数据
+      this.delDataK(2)
+      lbsAmapRegion({ pid: val }).then(res => {
+        this.areaList = res.data
+      })
+    },
+
+    // 更改区
+    changeArea(val) {
+      // 获取区名称
+      this.formData.area = this.areaList.find(item => item.id === val).name
+      // 清除街道以及详细地址数据
+      this.delDataK(3)
+      lbsAmapRegion({ pid: val }).then(res => {
+        this.streetList = res.data
+      })
+    },
+
+    // 更改街道
+    changeStreet(val) {
+      // 获取街道名称
+      this.formData.street = this.streetList.find(item => item.id === val).name
+      // 清除详细地址数据
+      this.delDataK(4)
+    },
+
     selectAddress(data){
       console.log(data);
       this.formData.lng = data.center[0]

+ 1 - 1
src/views/mallManagement/order/order_detail/index.vue

@@ -184,7 +184,7 @@
         <el-table-column prop="freight" label="运费" align="center"></el-table-column>
         <el-table-column prop="refundNum" label="退款数量" align="center"></el-table-column>
         <el-table-column prop="refundAmount" label="退款金额" align="center"></el-table-column>
-        <el-table-column label="操作" align="center" width="160" v-if="orderDetail.orderStatus != 'CLOSE'">
+        <el-table-column label="操作" align="center" width="160" v-if="orderDetail.orderStatus != 'CLOSE' && orderDetail.payTypeId == 'WECHAT'">
           <template slot-scope="scope">
             <el-button v-if="!~['TIMEOUT', 'CLOSE'].indexOf(orderDetail.orderStatus)" size="mini" type="primary"
               @click="handleRefund(scope.row)"

+ 19 - 6
src/views/mallManagement/order/order_list/index.vue

@@ -107,6 +107,7 @@
               <el-tabs v-model="tabCurrent" type="card" @tab-click="changeTabs" class="fl" style="margin-right: 20px">
                 <el-tab-pane label="全部" name="ALL"></el-tab-pane>
                 <el-tab-pane label="待付款" name="NOPAY"></el-tab-pane>
+                <el-tab-pane label="待确认" name="DQR"></el-tab-pane>
                 <el-tab-pane label="待发货" name="DFH"></el-tab-pane>
                 <el-tab-pane label="已发货" name="YFH"></el-tab-pane>
                 <el-tab-pane label="已完成" name="OVER"></el-tab-pane>
@@ -149,6 +150,7 @@
                 <span><b>商户</b>:{{ order.companyWechatName || '无' }}</span>
                 <span><b>网点</b>:{{ order.websitName || '无' }}</span>
                 <el-tag>{{order.saleType | saleTypeFilter}}</el-tag>
+                <el-tag>{{order.payType}}</el-tag>
                 <div class="fr">
                   <el-link type="primary" v-if="$restrict('orderNote')" :underline="false" @click="showRemark(order)">订单备注</el-link>
                   <el-link type="primary" v-if="$restrict('detail')" :underline="false" @click="queryDetail(order.orderId)">查看详情</el-link>
@@ -242,8 +244,12 @@
                   <el-col :span="2" style="height: 100%;">
                     <div class="col-item">
                       <div class="operate">
+                        <el-popconfirm title="确定确认订单吗?" @confirm="confirmOrder(order.orderId)"
+                          v-if="order.orderStatus === 'DQR' && $restrict('confirmOrder')">
+                          <el-button slot="reference" type="text" size="small">确认订单</el-button>
+                        </el-popconfirm>
                         <el-popconfirm title="确定取消订单吗?" @confirm="cancelOrder(order.orderId)"
-                          v-if="order.orderStatus === 'NOPAY' && $restrict('cancelOrder')">
+                          v-if="(order.orderStatus === 'NOPAY' || order.orderStatus === 'DQR') && $restrict('cancelOrder')">
                           <el-button slot="reference" type="text" size="small">取消订单</el-button>
                         </el-popconfirm>
                         <el-button type="text" size="small" v-if="order.orderStatus === 'DFH' && $restrict('deliver')"
@@ -260,10 +266,10 @@
                           @click="queryLogistics(order)">
                           查看物流
                         </el-button>
-							  <el-button type="text" size="small"
-							    v-if="(order.orderStatus === 'YFH' || order.orderStatus === 'OVER')" @click="showLogistics(order, 'detail')">
-							    查看发货条码
-							  </el-button>
+                        <el-button type="text" size="small"
+                          v-if="(order.orderStatus === 'YFH' || order.orderStatus === 'OVER')" @click="showLogistics(order, 'detail')">
+                          查看发货条码
+                        </el-button>
                         <!-- toWorkOrderDetail(order.orderId) -->
                         <el-button type="text" size="small" v-if="order.toWorkOrder && $restrict('workOrder_detail')"
                           @click="queryWorkOrder(order.orderId)">查看工单</el-button>
@@ -639,7 +645,7 @@
 
 <script>
 import { getToken } from '@/utils/auth'
-import { cancelOrder, getList, goodsDeliver, saveRemark, batchShipment, batchRemark, getWebsiteList, editLogistics, getRegion, editAddress, getOrderDetail, getCodeDetail, getMaterialList, listImport, saveCode, delCode } from "@/api/order";
+import { cancelOrder, confirm2Order, getList, goodsDeliver, saveRemark, batchShipment, batchRemark, getWebsiteList, editLogistics, getRegion, editAddress, getOrderDetail, getCodeDetail, getMaterialList, listImport, saveCode, delCode } from "@/api/order";
 import { getExpress, getCompanyList } from "@/api/common";
 import { downloadFiles, handleImport } from '@/utils/util'
 import { commonTemplateDownload } from '@/api/common.js'
@@ -1093,6 +1099,13 @@ export default {
         this.$successMsg('取消成功');
       })
     },
+    // 确认订单
+    confirmOrder(orderId) {
+      confirm2Order({ orderId }).then(() => {
+        this.getList();
+        this.$successMsg('确认成功');
+      })
+    },
     // 查看物流
     queryLogistics(order) {
       this.logisticsVisible = true

+ 7 - 1
src/views/setting/organizationManagement/settledManagement/index.vue

@@ -6,7 +6,7 @@
       <div class="tips">说明:开通商户账号是指开通商城后台管理系统的总登录账号。</div>
 
       <el-card shadow="never" class="my-card">
-        <el-form class="my-form" ref="step1Form" :model="step1Form" :rules="step1FormRules" label-width="100px"
+        <el-form class="my-form" ref="step1Form" :model="step1Form" :rules="step1FormRules" label-width="140px"
           label-position="right">
           <el-form-item label="商户账号" prop="account">
             <el-input v-model="step1Form.account" autocomplete="off" placeholder="请输入商户账号"></el-input>
@@ -76,6 +76,10 @@
             <el-switch v-model="step1Form.moduleWb" active-color="#13ce66" inactive-color="#ff4949">
             </el-switch>
           </el-form-item>
+          <el-form-item label="是否允许到店支付" prop="storePay">
+            <el-switch v-model="step1Form.storePay" active-color="#13ce66" inactive-color="#ff4949">
+            </el-switch>
+          </el-form-item>
         </el-form>
       </el-card>
     </div>
@@ -383,6 +387,7 @@ export default {
         moduleMaterialPart: false,
         moduleYb: false,
         moduleWb: false,
+        storePay: false,
       },
       step1FormRules: {
         account: [
@@ -600,6 +605,7 @@ export default {
             moduleMaterialPart: this.step1Form.moduleMaterialPart,
             moduleYb: this.step1Form.moduleYb,
             moduleWb: this.step1Form.moduleWb,
+            storePay: this.step1Form.storePay,
             
             minLogo1: this.img1_url,
             minLogo2: this.img2_url,

+ 8 - 1
src/views/setting/organizationManagement/tenantDetails/index.vue

@@ -10,7 +10,7 @@
     </el-tabs>
 
     <div v-show="step == 'first'">
-      <el-form class="my-form" ref="step1Form" :model="step1Form" label-width="100px" label-position="right">
+      <el-form class="my-form" ref="step1Form" :model="step1Form" label-width="130px" label-position="right">
         <el-form-item label="商户账号" prop="account">
           <el-input v-model="step1Form.account" disabled></el-input>
         </el-form-item>
@@ -57,6 +57,10 @@
           <el-switch v-model="step1Form.moduleWb" active-color="#13ce66" inactive-color="#ff4949">
           </el-switch>
         </el-form-item>
+        <el-form-item label="是否允许到店支付" prop="storePay">
+          <el-switch v-model="step1Form.storePay" active-color="#13ce66" inactive-color="#ff4949">
+          </el-switch>
+        </el-form-item>
         <!-- <el-form-item class="tr">
           <el-button type="primary" @click="submitStep1Form">保存</el-button>
         </el-form-item> -->
@@ -422,6 +426,7 @@ export default {
 				billTitle: '',
         moduleYb: '',
         moduleWb: '',
+        storePay: '',
       },
 
       passwordType1: 'password',
@@ -555,6 +560,7 @@ export default {
 				this.step1Form.billTitle = res.data.billTitle
         this.step1Form.moduleYb = res.data.moduleYb
         this.step1Form.moduleWb = res.data.moduleWb
+        this.step1Form.storePay = res.data.storePay
 
         this.img1_url = res.data.minLogo1;
         this.img2_url = res.data.minLogo2;
@@ -695,6 +701,7 @@ export default {
 				billTitle: this.step1Form.billTitle,
         moduleYb: this.step1Form.moduleYb,
         moduleWb: this.step1Form.moduleWb,
+        storePay: this.step1Form.storePay,
       }
       editAccount(params).then(res => {
         this.$successMsg('保存成功');

+ 1 - 2
src/views/userManagement/customerManagement/index.vue

@@ -2,8 +2,7 @@
 	<div>
 		<template-page v-if="!isShowMemberDetail" ref="pageRef" :get-list="getList" :table-attributes="tableAttributes" :table-events="tableEvents" :operationColumnWidth="200"
 		  :options-evens-group="optionsEvensGroup" :moreParameters="moreParameters" :column-parsing="columnParsing"
-		  :operation="operation()">
-		 <!-- :exportList="exportList" -->
+		  :operation="operation()" :exportList="exportList">
 		  <el-dialog title="" width="500px" custom-class="diy-dialog" append-to-body :modal="true" :visible.sync="formDialog"
 		    :show-close="true" :close-on-click-modal="false" :modal-append-to-body="false" :before-close="formCancel">
 		    <zj-form-container ref="formRef" :form-data="formData" :styleSwitch="false">

+ 5 - 5
src/views/workOrder/workOrderPool/detailModule/workOrderInfo/mixins/basicInfo.js

@@ -225,7 +225,7 @@ export default {
             errLabel: '省'
           },
           options: this.provinceList.map((v, i) => ({ value: v.id, label: v.name })),
-          attributes: { disabled: true, clearable: true, filterable: true, placeholder: '请选择' },
+          attributes: { disabled: !this.formOptions.gpsAddress.isEdit, clearable: true, filterable: true, placeholder: '请选择' },
           events: {
             change: (val) => {
               // 获取省名称
@@ -250,7 +250,7 @@ export default {
             errLabel: '市'
           },
           options: this.cityList.map((v, i) => ({ value: v.id, label: v.name })),
-          attributes: { disabled: true, clearable: true, filterable: true, placeholder: '请选择' },
+          attributes: { disabled: !this.formOptions.gpsAddress.isEdit, clearable: true, filterable: true, placeholder: '请选择' },
           events: {
             change: (val) => {
               // 获取市名称
@@ -275,7 +275,7 @@ export default {
             errLabel: '区'
           },
           options: this.areaList.map((v, i) => ({ value: v.id, label: v.name })),
-          attributes: { disabled: true, clearable: true, filterable: true, placeholder: '请选择' },
+          attributes: { disabled: !this.formOptions.gpsAddress.isEdit, clearable: true, filterable: true, placeholder: '请选择' },
           events: {
             change: (val) => {
               // 获取区名称
@@ -300,7 +300,7 @@ export default {
             errLabel: '街道'
           },
           options: this.streetList.map((v, i) => ({ value: v.id, label: v.name })),
-          attributes: { disabled: true, clearable: true, filterable: true, placeholder: '请选择' },
+          attributes: { disabled: !this.formOptions.gpsAddress.isEdit, clearable: true, filterable: true, placeholder: '请选择' },
           events: {
             change: (val) => {
               // 获取街道名称
@@ -374,7 +374,7 @@ export default {
           isShow: this.formOptions.gpsAddress.isShow,
           name: 'el-input',
           md: 13,
-          formItemAttributes: { label: '', prop: 'gpsAddress', rules: this.formOptions.gpsAddress.isRules, errLabel: 'GPS地址' },
+          formItemAttributes: { label: '', prop: 'gpsAddress', rules: [], errLabel: 'GPS地址' },
           attributes: { disabled: true, placeholder: 'GPS地址' }
         },
         {

+ 1 - 2
src/views/workOrder/workOrderPool/detailModule/workOrderInfo/mixins/workOrderLogic.js

@@ -225,7 +225,7 @@ export default {
         appointmentTime: {
           isEdit: !finish,
           isShow: true,
-          isRules: [...required]
+          isRules: []
         },
         saleType: {
           isEdit: false,
@@ -282,7 +282,6 @@ export default {
   methods: {
     // 获取工单详情
     getorderDetail(cb) {
-      console.log(this.cloneWorkOrder,"oooo")
       if (this.id) {
         // 编辑详情
         Promise.all([

+ 24 - 2
src/views/workOrder/workOrderPool/index.vue

@@ -39,7 +39,7 @@ import TemplatePage from '@/components/template/template-page-1.vue'
 import import_mixin from '@/components/template/import_mixin.js'
 import operation_mixin from '@/components/template/operation_mixin.js'
 import { listPageV2 } from "@/api/workOrder/orderType";
-import { orderBaseList, orderBaseListExport, orderBaseStatusCount, orderBaseImport, orderBaseDetail } from "@/api/workOrderPool.js"
+import { orderBaseList, orderBaseListExport, orderBaseStatusCount, orderBaseImport, orderBaseImport2, orderBaseDetail } from "@/api/workOrderPool.js"
 import workOrderInfo from './detailModule/workOrderInfo/index.vue'
 import Detail from './detail'
 import Reassignment from "./components/reassignment/index.vue"
@@ -140,7 +140,7 @@ export default {
             })
           ],
           [
-            this.optionsEvensAuth(["importTemplate", "downloadImportTemplate"], {
+            this.optionsEvensAuth(["importTemplate", "downloadImportTemplate", 'importTemplate2', 'downloadImportTemplate2'], {
               name: '导入工单',
               click: () => { }
             }),
@@ -166,6 +166,28 @@ export default {
                   })
               }
             }),
+            this.optionsEvensAuth("importTemplate2", ({ moduleName }) => {
+              return {
+                name: moduleName,
+                render: () => {
+                  return this.importButton(orderBaseImport2, moduleName)
+                }
+              }
+            }),
+            this.optionsEvensAuth("downloadImportTemplate2", {
+              click: () => {
+                commonTemplateDownload({ name: '工单导入模板2.xlsx' }, `${this.$route.meta.title}`)
+                  .then(res => {
+                    this.$message({
+                      message: '下载成功',
+                      type: 'success'
+                    })
+                  })
+                  .catch(err => {
+                    this.$message.error('下载失败')
+                  })
+              }
+            }),
           ],
           [
             this.optionsEvensAuth(["bulkOrder", "lotOrder"], {