Преглед изворни кода

修改输入框+修改订单bug

ymy пре 2 година
родитељ
комит
08fa815bad

+ 4 - 4
src/benyun/components/byArea/byArea.vue

@@ -5,7 +5,7 @@
         <div class="area-box first">
           <div class="left-label">省:</div>
           <div class="right-area">
-            <el-select v-model="provinceCode" clearable :disabled="attrs.disabled" class="areaSelect" :class="{'error':provinceError}" @change="onProvince" size="mini" placeholder="请选择省">
+            <el-select v-model="provinceCode" clearable :disabled="attrs.disabled" class="areaSelect" :class="{'error':provinceError}" @change="onProvince" size="small" placeholder="请选择省">
               <el-option
                 v-for="item in optionsProvince"
                 :key="item.id"
@@ -20,7 +20,7 @@
         <div class="area-box">
           <div class="left-label">市:</div>
           <div class="right-area">
-            <el-select v-model="cityCode" clearable :disabled="attrs.disabled" class="areaSelect" :class="{'error':cityError}" @change="onCity" size="mini" placeholder="请选择市">
+            <el-select v-model="cityCode" clearable :disabled="attrs.disabled" class="areaSelect" :class="{'error':cityError}" @change="onCity" size="small" placeholder="请选择市">
               <el-option
                 v-for="item in optionsCity"
                 :key="item.id"
@@ -35,7 +35,7 @@
         <div class="area-box last">
           <div class="left-label">区/县:</div>
           <div class="right-area">
-            <el-select v-model="countyCode" clearable :disabled="attrs.disabled" class="areaSelect" :class="{'error':countyError}" @change="onCounty" size="mini" placeholder="请选择区/县">
+            <el-select v-model="countyCode" clearable :disabled="attrs.disabled" class="areaSelect" :class="{'error':countyError}" @change="onCounty" size="small" placeholder="请选择区/县">
               <el-option
                 v-for="item in optionsCounty"
                 :key="item.id"
@@ -50,7 +50,7 @@
         <div class="area-box last">
           <div class="left-label">街道:</div>
           <div class="right-area">
-            <el-select v-model="townCode" clearable :disabled="attrs.disabled" class="areaSelect" @change="onTown" size="mini" placeholder="请选择街道">
+            <el-select v-model="townCode" clearable :disabled="attrs.disabled" class="areaSelect" @change="onTown" size="small" placeholder="请选择街道">
               <el-option
                 v-for="item in optionsTown"
                 :key="item.id"

+ 3 - 0
src/benyun/components/byForm/byForm.vue

@@ -217,6 +217,9 @@ export default class ByForm extends VueViews {
     }else{
       this.changeSetValue(code,v)
     }
+    if((this as any).$refs.byForm){
+      (this as any).$refs.byForm.validateField(code);
+    }
     this.$emit('formChange',{value:v,code:code})
   }
   

+ 18 - 6
src/benyun/components/byInput/byInput.vue

@@ -1,25 +1,37 @@
 <template>
-  <el-input 
+  <el-input v-if="attrs.type == 'textarea'" v-model="value" @input="onChange" :rows="attrs.rows" :show-word-limit="attrs.showWordLimit" :show-password="attrs.showPassword" :placeholder="placeholder"
+  :maxlength="attrs.maxlength" :minlength="attrs.minlength" :clearable="attrs.clearable" :disabled="attrs.disabled" :prefix-icon="attrs.prefixIcon"
+  :suffix-icon="attrs.suffixIcon" :readonly="attrs.readonly"></el-input>
+  <vxe-input 
+    v-else
     v-model="value"
     :placeholder="placeholder"
     :maxlength="attrs.maxlength"
     :minlength="attrs.minlength"
-    :show-word-limit="attrs.showWordLimit"
     :clearable="attrs.clearable"
-    :show-password="attrs.showPassword"
     :disabled="attrs.disabled"
-    :size="attrs.size"
+    :size="attrs.size?attrs.size:'medium'"
     :type="attrs.type"
+    :align="attrs.align"
     :prefix-icon="attrs.prefixIcon"
     :suffix-icon="attrs.suffixIcon"
-    :rows="attrs.rows"
     :readonly="attrs.readonly"
     @input="onChange"
     @clear="onChange"
-    ></el-input>
+    ></vxe-input>
 </template>
 
 <script lang="ts">
+/*
+config:{
+  attr:{
+    type:'text, number(数字), integer(整数),textarea,digits(小数)',
+    align:'left, center, right'
+    prefixIcon:''  //头部图标
+    suffixIcon:''  //尾部图标
+  }
+}
+*/
 import { Component, Prop, Vue, Watch } from "vue-property-decorator";
 import VueViews from '@/benyun/compVue/VueViews'
 @Component

+ 2 - 2
src/main.ts

@@ -22,7 +22,7 @@ import './assets/styles/element-variables.scss'
 // import VXETable from 'vxe-table'
 import XEUtils from 'xe-utils'
 import 'vxe-table/lib/style.css'
-import { VXETable, Column,Table,Modal,Button } from 'vxe-table'
+import { VXETable, Column,Table,Modal,Button,Input } from 'vxe-table'
 import zhCN from 'vxe-table/lib/locale/lang/zh-CN'
  // 按需加载的方式默认是不带国际化的,自定义国际化需要自行解析占位符 '{0}',例如:
 VXETable.setup({
@@ -49,7 +49,7 @@ Vue.use(Element, {
   size: Cookies.get('size') || 'medium' // set element-ui default size
 })
 
-Vue.use(Column).use(Table).use(Modal).use(Button);
+Vue.use(Column).use(Table).use(Modal).use(Button).use(Input);
 Vue.use(gmComponent);
 Vue.use(plugins);
 Vue.use(directive);

+ 3 - 3
src/views/audit/productManagement/index.vue

@@ -511,13 +511,13 @@
 						required: true, message: '请输入基本售价', trigger: 'blur'
 					}],
 					categoryName: [{
-						required: true, message: '请输入物料分类', trigger: 'blur'
+						required: true, message: '请输入物料分类', trigger: 'change'
 					}],
 					vmCategoryName: [{
-						required: true, message: '请输入虚拟分类', trigger: 'blur'
+						required: true, message: '请输入虚拟分类', trigger: 'change'
 					}],
 					organizationCategoryName: [{
-						required: true, message: '请输入机构商品分类', trigger: 'blur'
+						required: true, message: '请输入机构商品分类', trigger: 'change'
 					}],
 				}
 			},

+ 1 - 1
src/views/audit/synchronous/components/synchronousOrderModal.vue

@@ -176,7 +176,7 @@ export default class SynchronousOrderModal extends Vue {
     pullItem(value).then((res:any) => {
       this.load = false;
       this.value = false;
-      if(res.data && res.data.length > 0){
+      if(res.data > 0){
         (this as any).$message({
           message: '成功更新' + res.data + '条数据!',
           type: 'success',

+ 1 - 0
src/views/demo/form.vue

@@ -39,6 +39,7 @@ export default class DemoForm extends Vue {
         compConfig:{
           attr:{
             placeholder:'请输入名称',
+            type:'integer',
             clearable:true
           }
         }

Разлика између датотеке није приказан због своје велике величине
+ 29 - 19
src/views/oms/order/components/addOrder.vue


+ 1 - 1
src/views/oms/order/components/loadOrderModal.vue

@@ -231,7 +231,7 @@ export default class LoadOrderModal extends Vue {
     pullOrder(value).then((res:any) => {
       this.load = false;
       this.value = false;
-      if(res.data && res.data.length > 0){
+      if(res.data > 0){
         (this as any).$message({
           message: '成功更新' + res.data + '条数据!',
           type: 'success',

+ 1 - 1
src/views/oms/order/components/mergeMedal.vue

@@ -147,7 +147,7 @@ export default class MergeModel extends Vue {
     merge(params).then((res:any)=>{
       this.load = false;
       this.$message({
-        message:'数据合并成功!',
+        message:'合并成功!',
         type:'success'
       })
       this.$emit('handleSuccess');

+ 44 - 21
src/views/oms/order/components/orderTable.vue

@@ -23,9 +23,8 @@
     </vxe-column>
     <vxe-column field="isSubmitted" title="提交状态" width="130">
       <template #default="{ row }">
-        <el-tag v-if="row.isSubmitted == 1">已提交</el-tag>
-        <el-tag v-else type="warning"> 未提交 </el-tag>
-
+        <el-tag v-if="row.isSubmitted == 1" size="small">已提交</el-tag>
+        <el-tag v-else type="warning" size="small"> 未提交 </el-tag>
       </template>
     </vxe-column>
     <vxe-column field="product" title="商品" width="140">
@@ -64,18 +63,7 @@
     </vxe-column>
     <vxe-column field="sourceFrom" title="订单来源" width="120">
       <template #default="{ row }">
-        <span v-if="row.sourceFrom == 'ERP'">手工下单</span>
-        <span v-if="row.sourceFrom == 'COPY'">复制</span>
-        <span v-if="row.sourceFrom == 'MERGE'">合并</span>
-        <span v-if="row.sourceFrom == 'SPLIT'">拆分;拆分还原</span>
-        <span v-if="row.sourceFrom == 'MOBILE'">手工下单</span>
-        <span v-if="row.sourceFrom == 'IMPORT'">导入</span>
-        <span v-if="row.sourceFrom == 'drp-s'">供销推送</span>
-        <span v-if="row.sourceFrom == 'drp-d'">分销推送</span>
-        <span v-if="row.sourceFrom == 'KWAISHOP'">快手;微商城</span>
-        <span v-if="row.sourceFrom == 'PINDUODUO'">拼多多</span>
-        <span v-if="row.sourceFrom == 'TOUTIAOFXG'">头条放心购</span>
-        <span v-if="row.sourceFrom == 'JUSHUITAN'">聚水潭</span>
+        {{ getFromText(row.sourceFrom) }}
       </template>
     </vxe-column>
     <vxe-column field="shipment" title="跨境买家指定物流" width="120"></vxe-column>
@@ -86,7 +74,11 @@
     <vxe-column field="internationalLogisticsId" title="国际物流单号" width="120"></vxe-column>
     <vxe-column field="skus" title="商品" width="120"></vxe-column>
     <vxe-column field="weight" title="重量" width="70"></vxe-column>
-    <vxe-column field="isCod" title="是否货到付款" width="120"></vxe-column>
+    <vxe-column field="isCod" title="是否货到付款" width="120">
+      <template #default="{ row }">
+        {{ row.isCod == 1 ? '是' :' 否' }}
+      </template>
+    </vxe-column>
     <!-- <vxe-column field="freight" title="运费" width="70"></vxe-column> -->
     <vxe-column field="sendDate" title="发货日期" width="120"></vxe-column>
     <vxe-column field="signTime" title="预计送达时间" width="120"></vxe-column>
@@ -147,11 +139,41 @@ export default class OrderTable extends Vue {
   @Prop()
   data!:Array<any>
   height=null
-  
+
+  sourceFrom:any={
+    'ERP':'手工下单',
+    'COPY':'复制',
+    'MERGE':'合并',
+    'SPLIT':'拆分;拆分还原',
+    'MOBILE':'导入',
+    'drp-s':'供销推送',
+    'drp-d':'分销推送',
+    'KWAISHOP':'快手;微商城',
+    'PINDUODUO':'拼多多',
+    'TOUTIAOFXG':'头条放心购',
+    'JUSHUITAN':'聚水潭'
+  }
+  //订单来源转换文字信息
+  getFromText(f:any){
+    let t='';
+    if(f){
+      let arr:Array<any>=f.split(',');
+      for(const item of arr){
+        if(this.sourceFrom[item]){
+          if(t){
+            t = t + ' , ' + this.sourceFrom[item]
+          }else{
+            t = this.sourceFrom[item]
+          }
+        }
+      }
+    }
+    return t;
+  }
   //合并按钮是否显示
   showMerge(item:any){
     let r = false;
-    if(item.isSubmitted == 1 && item.pays && item.pays.length > 0){
+    if(item.isSubmitted == 1 && item.pays && item.pays.length > 0 && item.sourceFrom.indexOf('MERGE') == -1 && item.sourceFrom.indexOf('SPLIT') == -1){
       if(item.status == 'WaitConfirm' || item.status == 'Question'){
         r = true;
       }
@@ -160,8 +182,9 @@ export default class OrderTable extends Vue {
   }
   showSplit(item:any){
     let r = false;
-    if(item.isSubmitted == 1 && item.pays && item.pays.length > 0){
-      if(item.status == 'WaitConfirm' || item.status == 'Question'){
+    if(item.isSubmitted == 1 && item.pays && item.pays.length > 0 && item.sourceFrom.indexOf('MERGE') == -1 && item.sourceFrom.indexOf('SPLIT') == -1){
+      let s=['WaitConfirm','Question','Split']
+      if(s.indexOf(item.status) >= 0){
         r = true;
       }
     }
@@ -260,7 +283,7 @@ export default class OrderTable extends Vue {
 }
 .item-pro{
   .el-badge__content{
-    z-index: 10;
+    z-index: 1;
   }
 }
 </style>

+ 6 - 6
src/views/oms/order/components/splitModal.vue

@@ -26,19 +26,19 @@ export default class SplitModel extends Vue {
     columns:[{
       title:'名称',
       field:'name',
-      width:240
+      width:300
     },{
       title:'价格',
       field:'price',
-      width:100
+      width:130
     },{
       title:'商品数量',
       field:'qty',
-      width:100
+      width:130
     },{
       title:'可拆分数量',
       field:'splitNum',
-      width:100
+      width:130
     },{
       title:'拆分数量',
       field:'num',
@@ -105,9 +105,9 @@ export default class SplitModel extends Vue {
       return
     }
     for(const item of data){
-      if(Number(item.splitNum) > 0){
+      if(Number(item.num) > 0){
         info.push({
-          qty:Number(item.splitNum),
+          qty:Number(item.num),
           orderItemId:item.id
         })
       }

Неке датотеке нису приказане због велике количине промена