소스 검색

Merge branch 'linwenxin_dev' of https://gogs.zfire.top/zfire-front/zfire-newmall-admin

linwenxin 1 년 전
부모
커밋
3c1df50443

+ 13 - 1
src/components/template/rules_verify.js

@@ -64,4 +64,16 @@ export const httpUrl = [{
     }
   },
   trigger: 'blur'
-}]
+}]
+
+export function diyRequired(cb){
+  return {
+    validator: (rule, value, callback) => {
+      if (value===undefined || value ==="" || value === null) {
+        return callback(cb(rule, value));
+      }
+      callback();
+    },
+    trigger: 'blur'
+  }
+}

+ 0 - 1
src/views/salesPurchasing/commercialMaterial/index.vue

@@ -633,7 +633,6 @@ export default {
                 this.openForm()
                 goodsMaterialDetail({ id: row.id }).then(res => {
                   this.formData = res.data
-                  console.log(this.formData)
                 })
               }
             })

+ 21 - 4
src/views/salesPurchasing/goodsPurchasedStored/index.vue

@@ -31,7 +31,8 @@
           <div v-if="activeName == 'goodsInfo'" style="text-align: right; box-sizing: border-box; padding: 16px 20px">
             <el-button v-if="formDialogType == 0" size="mini" type="primary" @click="save">保存</el-button>
             <el-button v-if="formDialogType == 1" size="mini" type="primary" @click="submit">提交</el-button>
-            <el-button v-if="formDialogType == 3" size="mini" type="primary" @click="examine">审核通过</el-button>
+            <el-button v-if="formDialogType == 3" size="mini" type="primary" @click="examine('OK')">审核通过</el-button>
+            <el-button v-if="formDialogType == 3" size="mini" type="primary" @click="examine('FAIL')">审核驳回</el-button>
           </div>
         </zj-page-container>
       </el-dialog>
@@ -61,6 +62,7 @@ import storage_table from '../mixins/storage_table'
 import storage_goods from '../mixins/storage_goods'
 import storage_codes from '../mixins/storage_codes'
 import common from '../mixins/common_code'
+import { delayPerform, firstPerform, intervalPerform, passivePerform, queuePerform } from "js-perform-lock";
 export default {
   components: { TemplatePage },
   mixins: [import_mixin, operation_mixin, form_ty, storage_table, storage_goods, storage_codes, common],
@@ -106,7 +108,8 @@ export default {
       },
       activeName: 'goodsInfo',
       goods_material_id: '',
-      joinCode: false
+      joinCode: false,
+      logs:[]
     }
   },
   computed: {
@@ -147,6 +150,20 @@ export default {
     }
   },
   methods: {
+    tishicuowu:(new delayPerform(500)).refactor(function( /**可接收参数**/ ){
+      if(this.logs){
+        var logs = Array.from(new Set(JSON.parse(JSON.stringify(this.logs)).map(item=>{
+          return `${item.index!==undefined ? "第" + (item.index+1) +"行:" : ""}${item.errMsg}`
+        })))
+        this.logs = []
+        this.$message({
+          dangerouslyUseHTMLString: true,
+          type: 'warning',
+          message: logs.join("<div/>"),
+          duration: 5000,
+        });
+      }
+    }),
     changePageType() {
       this.goods_material_id = ''
     },
@@ -303,10 +320,10 @@ export default {
       })
     },
     // 审核
-    examine() {
+    examine(type) {
       goodsPurchaseConfirm({
         id: this.formData.id,
-        statusEnum: 'OK'
+        statusEnum: type
       }).then(res => {
         this.$message({
           type: 'success',

+ 21 - 4
src/views/salesPurchasing/merchandisePurchaseReturn/index.vue

@@ -31,7 +31,8 @@
           <div v-if="activeName == 'goodsInfo'" style="text-align: right; box-sizing: border-box; padding: 16px 20px">
             <el-button v-if="formDialogType == 0" size="mini" type="primary" @click="save">保存</el-button>
             <el-button v-if="formDialogType == 1" size="mini" type="primary" @click="submit">提交</el-button>
-            <el-button v-if="formDialogType == 3" size="mini" type="primary" @click="examine">审核通过</el-button>
+            <el-button v-if="formDialogType == 3" size="mini" type="primary" @click="examine('OK')">审核通过</el-button>
+            <el-button v-if="formDialogType == 3" size="mini" type="primary" @click="examine('FAIL')">审核驳回</el-button>
           </div>
         </zj-page-container>
       </el-dialog>
@@ -61,6 +62,7 @@ import out_storage_table from '../mixins/out_storage_table'
 import out_storage_goods from '../mixins/out_storage_goods'
 import out_storage_codes from '../mixins/out_storage_codes'
 import common from '../mixins/common_code'
+import { delayPerform, firstPerform, intervalPerform, passivePerform, queuePerform } from "js-perform-lock";
 export default {
   components: { TemplatePage },
   mixins: [import_mixin, operation_mixin, form_ty, out_storage_table, out_storage_goods, out_storage_codes, common],
@@ -104,7 +106,8 @@ export default {
       },
       activeName: 'goodsInfo',
       goods_material_id: '',
-      joinCode: false
+      joinCode: false,
+      logs:[]
     }
   },
   computed: {
@@ -144,6 +147,20 @@ export default {
     }
   },
   methods: {
+    tishicuowu:(new delayPerform(500)).refactor(function( /**可接收参数**/ ){
+      if(this.logs){
+        var logs = Array.from(new Set(JSON.parse(JSON.stringify(this.logs)).map(item=>{
+          return `${item.index!==undefined ? "第" + (item.index+1) +"行:" : ""}${item.errMsg}`
+        })))
+        this.logs = []
+        this.$message({
+          dangerouslyUseHTMLString: true,
+          type: 'warning',
+          message: logs.join("<div/>"),
+          duration: 5000,
+        });
+      }
+    }),
     changePageType() {
       this.goods_material_id = ''
     },
@@ -298,10 +315,10 @@ export default {
       })
     },
     // 审核
-    examine() {
+    examine(type) {
       goodsPurchaseRetConfirm({
         id: this.formData.id,
-        statusEnum: 'OK'
+        statusEnum: type
       }).then(res => {
         this.$message({
           type: 'success',

+ 66 - 21
src/views/salesPurchasing/mixins/common_code.js

@@ -1,5 +1,5 @@
 import { goodsMaterialDetail } from '@/api/commercialMaterial.js'
-import { required } from '@/components/template/rules_verify.js'
+import { required, diyRequired } from '@/components/template/rules_verify.js'
 export default {
   data() {
     return {
@@ -11,7 +11,7 @@ export default {
       return [
         {
           columnAttributes: {
-            label: '品牌',
+            label: '*品牌',
             prop: 'brandId',
             propName: 'brandName',
             width: 160
@@ -23,7 +23,13 @@ export default {
                   label=""
                   lebel-width="0px"
                   prop={`items.${index}.${column.columnAttributes.prop}`}
-                  rules={required}
+                  rules={[diyRequired.bind(this)((rule, value)=>{
+                    if(this.logs){
+                      this.logs.push({index:index, errMsg:`${column.columnAttributes.label}不能为空`})
+                    }
+                    this?.tishicuowu?.()
+                    return new Error('必须填写')
+                  })]}
                 >
                   <el-select
                     value={row[column.columnAttributes.prop]}
@@ -56,7 +62,7 @@ export default {
         },
         {
           columnAttributes: {
-            label: '商品大类',
+            label: '*商品大类',
             prop: 'mainId',
             propName: 'mainName',
             width: 160
@@ -68,7 +74,13 @@ export default {
                   label=""
                   lebel-width="0px"
                   prop={`items.${index}.${column.columnAttributes.prop}`}
-                  rules={required}
+                  rules={[diyRequired.bind(this)((rule, value)=>{
+                    if(this.logs){
+                      this.logs.push({index:index, errMsg:`${column.columnAttributes.label}不能为空`})
+                    }
+                    this?.tishicuowu?.()
+                    return new Error('必须填写')
+                  })]}
                 >
                   <el-select
                     value={row[column.columnAttributes.prop]}
@@ -104,7 +116,7 @@ export default {
         },
         {
           columnAttributes: {
-            label: '商品小类',
+            label: '*商品小类',
             prop: 'smallId',
             propName: 'smallName',
             width: 160
@@ -116,7 +128,13 @@ export default {
                   label=""
                   lebel-width="0px"
                   prop={`items.${index}.${column.columnAttributes.prop}`}
-                  rules={required}
+                  rules={[diyRequired.bind(this)((rule, value)=>{
+                    if(this.logs){
+                      this.logs.push({index:index, errMsg:`${column.columnAttributes.label}不能为空`})
+                    }
+                    this?.tishicuowu?.()
+                    return new Error('必须填写')
+                  })]}
                 >
                   <el-select
                     value={row[column.columnAttributes.prop]}
@@ -154,7 +172,7 @@ export default {
         },
         {
           columnAttributes: {
-            label: '商品名称',
+            label: '*商品名称',
             prop: 'goodsMaterialId',
             propName: 'goodsMaterialName',
             width: 160
@@ -166,7 +184,13 @@ export default {
                   label=""
                   lebel-width="0px"
                   prop={`items.${index}.${column.columnAttributes.prop}`}
-                  rules={required}
+                  rules={[diyRequired.bind(this)((rule, value)=>{
+                    if(this.logs){
+                      this.logs.push({index:index, errMsg:`${column.columnAttributes.label}不能为空`})
+                    }
+                    this?.tishicuowu?.()
+                    return new Error('必须填写')
+                  })]}
                 >
                   <el-select
                     value={row[column.columnAttributes.prop]}
@@ -223,7 +247,7 @@ export default {
         },
         {
           columnAttributes: {
-            label: '物料类型',
+            label: '*物料类型',
             prop: 'goodsMaterialItemType',
             width: 160
           },
@@ -234,7 +258,13 @@ export default {
                   label=""
                   lebel-width="0px"
                   prop={`codeInfoList.${index}.${column.columnAttributes.prop}`}
-                  rules={required}
+                  rules={[diyRequired.bind(this)((rule, value)=>{
+                    if(this.logs){
+                      this.logs.push({index:index, errMsg:`${column.columnAttributes.label}不能为空`})
+                    }
+                    this?.tishicuowu?.()
+                    return new Error('必须填写')
+                  })]}
                 >
                   <el-select
                     value={row[column.columnAttributes.prop]}
@@ -269,7 +299,7 @@ export default {
         },
         {
           columnAttributes: {
-            label: '物料名称',
+            label: '*物料名称',
             prop: 'goodsMaterialItemId',
             propName: 'goodsMaterialItemName',
             width: 160
@@ -281,7 +311,13 @@ export default {
                   label=""
                   lebel-width="0px"
                   prop={`codeInfoList.${index}.${column.columnAttributes.prop}`}
-                  rules={required}
+                  rules={[diyRequired.bind(this)((rule, value)=>{
+                    if(this.logs){
+                      this.logs.push({index:index, errMsg:`${column.columnAttributes.label}不能为空`})
+                    }
+                    this?.tishicuowu?.()
+                    return new Error('必须填写')
+                  })]}
                 >
                   <el-select
                     value={row[column.columnAttributes.prop]}
@@ -353,7 +389,7 @@ export default {
         },
         {
           columnAttributes: {
-            label: '条码',
+            label: '*条码',
             prop: 'code',
             width: 160
           },
@@ -364,7 +400,13 @@ export default {
                   label=""
                   lebel-width="0px"
                   prop={`codeInfoList.${index}.${column.columnAttributes.prop}`}
-                  rules={required}
+                  rules={[diyRequired.bind(this)((rule, value)=>{
+                    if(this.logs){
+                      this.logs.push({index:index, errMsg:`${column.columnAttributes.label}不能为空`})
+                    }
+                    this?.tishicuowu?.()
+                    return new Error('必须填写')
+                  })]}
                 >
                   <el-input
                     value={row[column.columnAttributes.prop]}
@@ -382,7 +424,7 @@ export default {
         },
         {
           columnAttributes: {
-            label: '数量',
+            label: '*数量',
             prop: 'codeQty',
             width: 160
           },
@@ -393,7 +435,13 @@ export default {
                   label=""
                   lebel-width="0px"
                   prop={`codeInfoList.${index}.${column.columnAttributes.prop}`}
-                  rules={required}
+                  rules={[diyRequired.bind(this)((rule, value)=>{
+                    if(this.logs){
+                      this.logs.push({index:index, errMsg:`${column.columnAttributes.label}不能为空`})
+                    }
+                    this?.tishicuowu?.()
+                    return new Error('必须填写')
+                  })]}
                 >
                   <el-input
                     value={row[column.columnAttributes.prop]}
@@ -421,10 +469,7 @@ export default {
                 render: (h, { row, column, index }) => {
                   return (
                     <div style="padding:0 6px" class="operation-btns">
-                      {this.formDialogType == 0
-                        ? null
-                        : this.formDialogType == 1
-                        ? [
+                      {!!~[0,1].indexOf(this.formDialogType) ? [
                             this.isEditIndex == index ? (
                               <el-button
                                 type="text"

+ 21 - 9
src/views/salesPurchasing/mixins/common_form.js

@@ -1,4 +1,4 @@
-import { required } from '@/components/template/rules_verify.js'
+import { required, diyRequired } from '@/components/template/rules_verify.js'
 import { listPageV2 } from '@/api/auxiliaryFittings/supplier'
 import { goodsPurchaseList, goodsPurchaseDetail } from '@/api/goodsPurchasedStored.js'
 import ImageUpload from '@/components/file-upload'
@@ -50,9 +50,15 @@ export default {
                   contentStyle={{ width: '42%' }}
                   style="margin-top:-1px"
                 >
-                  <el-descriptions-item label="供应商名称">
+                  <el-descriptions-item label="*供应商名称">
                     <div class="redbordererr">
-                      <el-form-item label="" lebel-width="0px" prop={`venderId`} rules={required}>
+                      <el-form-item label="" lebel-width="0px" prop={`venderId`} rules={[diyRequired.bind(this)((rule, value)=>{
+                        if(this.logs){
+                          this.logs.push({errMsg:`*供应商名称不能为空`})
+                        }
+                        this?.tishicuowu?.()
+                        return new Error('必须填写')
+                      })]}>
                         <el-select
                           style="width:100%"
                           value={this.formData.venderId}
@@ -60,7 +66,7 @@ export default {
                             this.formData.venderId = val
                           }}
                           placeholder="请选择"
-                          disabled={!!~['SAVE', 'WAIT', 'OK', 'FAIL'].indexOf(this.formData.status)}
+                          disabled={!!~['WAIT', 'OK', 'FAIL'].indexOf(this.formData.status)}
                           onChange={val => {
                             if (val) {
                               this.formData['venderName'] = this.gysList.find(item => item.venderId == val).venderName
@@ -83,9 +89,15 @@ export default {
                     </div>
                   </el-descriptions-item>
                   {!!~['merchandisePurchaseReturn'].indexOf(this?.$route?.name) ? (
-                    <el-descriptions-item label="采购入库单">
+                    <el-descriptions-item label="*采购入库单">
                       <div class="redbordererr">
-                        <el-form-item label="" lebel-width="0px" prop={`goodsPurchaseId`} rules={required}>
+                        <el-form-item label="" lebel-width="0px" prop={`goodsPurchaseId`} rules={[diyRequired.bind(this)((rule, value)=>{
+                          if(this.logs){
+                            this.logs.push({errMsg:`*采购入库单不能为空`})
+                          }
+                          this?.tishicuowu?.()
+                          return new Error('必须填写')
+                        })]}>
                           <el-select
                             style="width:100%"
                             value={this.formData.goodsPurchaseId}
@@ -93,7 +105,7 @@ export default {
                               this.formData.goodsPurchaseId = val
                             }}
                             placeholder="请选择"
-                            disabled={!!~['SAVE', 'WAIT', 'OK', 'FAIL'].indexOf(this.formData.status)}
+                            disabled={!!~['WAIT', 'OK', 'FAIL'].indexOf(this.formData.status)}
                             filterable={true}
                             clearable={true}
                             onChange={val => {
@@ -192,7 +204,7 @@ export default {
                       maxlength="200"
                       show-word-limit
                       autosize={{ minRows: 2, maxRows: 4 }}
-                      disabled={!!~['SAVE', 'WAIT', 'OK', 'FAIL'].indexOf(this.formData.status)}
+                      disabled={!!~['WAIT', 'OK', 'FAIL'].indexOf(this.formData.status)}
                     ></el-input>
                   </el-descriptions-item>
                 </el-descriptions>
@@ -210,7 +222,7 @@ export default {
                       fileList={this.formData.fileUrl}
                       uid="imgSrc666_materials_drawing_images"
                       limit={1}
-                      isEdit={!~['SAVE', 'WAIT', 'OK', 'FAIL'].indexOf(this.formData.status)}
+                      isEdit={!~['WAIT', 'OK', 'FAIL'].indexOf(this.formData.status)}
                       fileType={['image']}
                     />
                   </el-descriptions-item>

+ 12 - 6
src/views/salesPurchasing/mixins/out_storage_goods.js

@@ -1,4 +1,4 @@
-import { required } from '@/components/template/rules_verify.js'
+import { required, diyRequired } from '@/components/template/rules_verify.js'
 import { goodsPurchaseRetItemImportCode, goodsPurchaseRetDetail } from '@/api/merchandisePurchaseReturn.js'
 export default {
   data() {
@@ -60,18 +60,24 @@ export default {
         },
         {
           columnAttributes: {
-            label: '退货数量',
+            label: '*退货数量',
             prop: 'retQty',
             width: 160
           },
           render: (h, { row, column, index }) => {
-            return this.formDialogType == 0 ? (
+            return !!~[0,1].indexOf(this.formDialogType) ? (
               <div class="redbordererr">
                 <el-form-item
                   label=""
                   lebel-width="0px"
                   prop={`items.${index}.${column.columnAttributes.prop}`}
-                  rules={required}
+                  rules={[diyRequired.bind(this)((rule, value)=>{
+                    if(this.logs){
+                      this.logs.push({index:index, errMsg:`${column.columnAttributes.label}不能为空`})
+                    }
+                    this?.tishicuowu?.()
+                    return new Error('必须填写')
+                  })]}
                 >
                   <el-input
                     value={row[column.columnAttributes.prop]}
@@ -196,7 +202,7 @@ export default {
           }
         },
         ...(() => {
-          if (this.formDialogType < 2 && !~['SAVE', 'WAIT', 'OK', 'FAIL'].indexOf(this.formData.status)) {
+          if (this.formDialogType < 2 && !~['WAIT', 'OK', 'FAIL'].indexOf(this.formData.status)) {
             return [
               {
                 columnAttributes: {
@@ -220,7 +226,7 @@ export default {
                 }
               }
             ]
-          } else if (this.formDialogType < 2 && !!~['SAVE'].indexOf(this.formData.status) && this.joinCode) {
+          } else if (this.formDialogType < 2 && !!~[].indexOf(this.formData.status) && this.joinCode) {
             return [
               {
                 columnAttributes: {

+ 53 - 17
src/views/salesPurchasing/mixins/storage_goods.js

@@ -1,4 +1,4 @@
-import { required } from '@/components/template/rules_verify.js'
+import { required, diyRequired } from '@/components/template/rules_verify.js'
 import { getBrandList } from '@/api/miniapp'
 import { getClassifyList } from '@/api/goods'
 import { goodsMaterialList } from '@/api/commercialMaterial.js'
@@ -17,7 +17,7 @@ export default {
       return [
         {
           columnAttributes: {
-            label: '品牌',
+            label: '*品牌',
             prop: 'brandId',
             propName: 'brandName',
             width: 160
@@ -29,7 +29,13 @@ export default {
                   label=""
                   lebel-width="0px"
                   prop={`items.${index}.${column.columnAttributes.prop}`}
-                  rules={required}
+                  rules={[diyRequired.bind(this)((rule, value)=>{
+                    if(this.logs){
+                      this.logs.push({index:index, errMsg:`${column.columnAttributes.label}不能为空`})
+                    }
+                    this?.tishicuowu?.()
+                    return new Error('必须填写')
+                  })]}
                 >
                   <el-select
                     value={row[column.columnAttributes.prop]}
@@ -59,7 +65,7 @@ export default {
         },
         {
           columnAttributes: {
-            label: '商品大类',
+            label: '*商品大类',
             prop: 'mainId',
             propName: 'mainName',
             width: 160
@@ -71,7 +77,13 @@ export default {
                   label=""
                   lebel-width="0px"
                   prop={`items.${index}.${column.columnAttributes.prop}`}
-                  rules={required}
+                  rules={[diyRequired.bind(this)((rule, value)=>{
+                    if(this.logs){
+                      this.logs.push({index:index, errMsg:`${column.columnAttributes.label}不能为空`})
+                    }
+                    this?.tishicuowu?.()
+                    return new Error('必须填写')
+                  })]}
                 >
                   <el-select
                     value={row[column.columnAttributes.prop]}
@@ -103,7 +115,7 @@ export default {
         },
         {
           columnAttributes: {
-            label: '商品小类',
+            label: '*商品小类',
             prop: 'smallId',
             propName: 'smallName',
             width: 160
@@ -115,7 +127,13 @@ export default {
                   label=""
                   lebel-width="0px"
                   prop={`items.${index}.${column.columnAttributes.prop}`}
-                  rules={required}
+                  rules={[diyRequired.bind(this)((rule, value)=>{
+                    if(this.logs){
+                      this.logs.push({index:index, errMsg:`${column.columnAttributes.label}不能为空`})
+                    }
+                    this?.tishicuowu?.()
+                    return new Error('必须填写')
+                  })]}
                 >
                   <el-select
                     value={row[column.columnAttributes.prop]}
@@ -149,7 +167,7 @@ export default {
         },
         {
           columnAttributes: {
-            label: '商品名称',
+            label: '*商品名称',
             prop: 'goodsMaterialId',
             propName: 'goodsMaterialName',
             width: 160
@@ -161,7 +179,13 @@ export default {
                   label=""
                   lebel-width="0px"
                   prop={`items.${index}.${column.columnAttributes.prop}`}
-                  rules={required}
+                  rules={[diyRequired.bind(this)((rule, value)=>{
+                    if(this.logs){
+                      this.logs.push({index:index, errMsg:`${column.columnAttributes.label}不能为空`})
+                    }
+                    this?.tishicuowu?.()
+                    return new Error('必须填写')
+                  })]}
                 >
                   <el-select
                     value={row[column.columnAttributes.prop]}
@@ -179,7 +203,7 @@ export default {
                           .find(item => item.id == val)
                         row[column.columnAttributes.propName] = data?.goodsName
                         this.getGoodsDetl(data, res => {
-                          if (this.formDialogType == 0) {
+                          if (!!~[0,1].indexOf(this.formDialogType)) {
                             row['specsName'] = res?.specsName
                             row['unit'] = res?.unit
                             row['stockQty'] = res?.stockQty
@@ -256,7 +280,7 @@ export default {
         },
         {
           columnAttributes: {
-            label: '采购数量',
+            label: '*采购数量',
             prop: 'qty',
             width: 160
           },
@@ -267,7 +291,13 @@ export default {
                   label=""
                   lebel-width="0px"
                   prop={`items.${index}.${column.columnAttributes.prop}`}
-                  rules={required}
+                  rules={[diyRequired.bind(this)((rule, value)=>{
+                    if(this.logs){
+                      this.logs.push({index:index, errMsg:`${column.columnAttributes.label}不能为空`})
+                    }
+                    this?.tishicuowu?.()
+                    return new Error('必须填写')
+                  })]}
                 >
                   <el-input
                     value={row[column.columnAttributes.prop]}
@@ -281,7 +311,7 @@ export default {
                           )
                           .find(item => item.id == row.goodsMaterialId),
                         res => {
-                          if (this.formDialogType == 0) {
+                          if (!!~[0,1].indexOf(this.formDialogType)) {
                             row['insideQty'] =
                               res.items
                                 .filter(item => item.type === 'INSIDE')
@@ -355,7 +385,7 @@ export default {
         },
         {
           columnAttributes: {
-            label: '采购价格',
+            label: '*采购价格',
             prop: 'price',
             width: 160
           },
@@ -366,7 +396,13 @@ export default {
                   label=""
                   lebel-width="0px"
                   prop={`items.${index}.${column.columnAttributes.prop}`}
-                  rules={required}
+                  rules={[diyRequired.bind(this)((rule, value)=>{
+                    if(this.logs){
+                      this.logs.push({index:index, errMsg:`${column.columnAttributes.label}不能为空`})
+                    }
+                    this?.tishicuowu?.()
+                    return new Error('必须填写')
+                  })]}
                 >
                   <el-input
                     value={row[column.columnAttributes.prop]}
@@ -401,7 +437,7 @@ export default {
         },
         ...(() => {
 
-          if (this.formDialogType < 2 && !~['SAVE', 'WAIT', 'OK', 'FAIL'].indexOf(this.formData.status)) {
+          if (this.formDialogType < 2 && !~['WAIT', 'OK', 'FAIL'].indexOf(this.formData.status)) {
             return [
               {
                 columnAttributes: {
@@ -454,7 +490,7 @@ export default {
                 }
               }
             ]
-          } else if (this.formDialogType < 2 && !!~['SAVE'].indexOf(this.formData.status) && this.joinCode) {
+          } else if (this.formDialogType < 2 && !!~[].indexOf(this.formData.status) && this.joinCode) {
             return [
               {
                 columnAttributes: {

+ 2 - 2
src/views/salesPurchasing/mixins/storage_table.js

@@ -22,7 +22,7 @@ export default {
               <div>
                 {this.activeName == 'goodsInfo'
                   ? [
-                    this.formDialogType == 0 ? (
+                    !!~[0,1].indexOf(this.formDialogType) ? (
                       <div style="margin-bottom:10px">
                         <el-button type="primary" onClick={this.addGoodsInfo}>
                           添加
@@ -46,7 +46,7 @@ export default {
                   ]
                   : this.activeName == 'codeInfo' && this.joinCode
                     ? [
-                      this.formDialogType == 1 ? (
+                      !!~[0,1].indexOf(this.formDialogType) ? (
                         <div style="margin-bottom:10px">
                           <el-button type="primary" onClick={this.addCodeInfo} disabled={this.isEditIndex != -1}>
                             添加

+ 20 - 10
src/views/setting/organizationManagement/settledManagement/index.vue

@@ -88,20 +88,26 @@
             </el-col>
             <el-col :span="6">
               <el-form-item label="辅材配件权限" prop="moduleMaterialPart">
-                <el-switch v-model="step1Form.moduleMaterialPart" active-color="#13ce66" inactive-color="#ff4949">
-                </el-switch>
+                <el-radio-group v-model="step1Form.moduleMaterialPart">
+                  <el-radio :label="true">开启</el-radio>
+                  <el-radio :label="false">禁用</el-radio>
+                </el-radio-group>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="延保权限" prop="moduleYb">
-                <el-switch v-model="step1Form.moduleYb" active-color="#13ce66" inactive-color="#ff4949">
-                </el-switch>
+                <el-radio-group v-model="step1Form.moduleYb">
+                  <el-radio :label="true">开启</el-radio>
+                  <el-radio :label="false">禁用</el-radio>
+                </el-radio-group>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="工程维保权限" prop="moduleWb">
-                <el-switch v-model="step1Form.moduleWb" active-color="#13ce66" inactive-color="#ff4949">
-                </el-switch>
+                <el-radio-group v-model="step1Form.moduleWb">
+                  <el-radio :label="true">开启</el-radio>
+                  <el-radio :label="false">禁用</el-radio>
+                </el-radio-group>
               </el-form-item>
             </el-col>
             <el-col :span="6">
@@ -122,14 +128,18 @@
             </el-col>
             <el-col :span="6">
               <el-form-item label="二手商城" prop="moduleEs">
-                <el-switch v-model="step1Form.moduleEs" active-color="#13ce66" inactive-color="#ff4949">
-                </el-switch>
+                <el-radio-group v-model="step1Form.moduleEs">
+                  <el-radio :label="true">开启</el-radio>
+                  <el-radio :label="false">禁用</el-radio>
+                </el-radio-group>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="是否允许到店支付" prop="storePay">
-                <el-switch v-model="step1Form.storePay" active-color="#13ce66" inactive-color="#ff4949">
-                </el-switch>
+                <el-radio-group v-model="step1Form.storePay">
+                  <el-radio :label="true">开启</el-radio>
+                  <el-radio :label="false">禁用</el-radio>
+                </el-radio-group>
               </el-form-item>
             </el-col>
             <el-col :span="12">

+ 20 - 10
src/views/setting/organizationManagement/tenantDetails/index.vue

@@ -73,20 +73,26 @@
             </el-col>
             <el-col :span="6">
               <el-form-item label="辅材配件权限" prop="moduleMaterialPart">
-                <el-switch v-model="step1Form.moduleMaterialPart" active-color="#13ce66" inactive-color="#ff4949">
-                </el-switch>
+                <el-radio-group v-model="step1Form.moduleMaterialPart">
+                  <el-radio :label="true">开启</el-radio>
+                  <el-radio :label="false">禁用</el-radio>
+                </el-radio-group>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="延保权限" prop="moduleYb">
-                <el-switch v-model="step1Form.moduleYb" active-color="#13ce66" inactive-color="#ff4949">
-                </el-switch>
+                <el-radio-group v-model="step1Form.moduleYb">
+                  <el-radio :label="true">开启</el-radio>
+                  <el-radio :label="false">禁用</el-radio>
+                </el-radio-group>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="工程维保权限" prop="moduleWb">
-                <el-switch v-model="step1Form.moduleWb" active-color="#13ce66" inactive-color="#ff4949">
-                </el-switch>
+                <el-radio-group v-model="step1Form.moduleWb">
+                  <el-radio :label="true">开启</el-radio>
+                  <el-radio :label="false">禁用</el-radio>
+                </el-radio-group>
               </el-form-item>
             </el-col>
             <el-col :span="6">
@@ -107,14 +113,18 @@
             </el-col>
             <el-col :span="6">
               <el-form-item label="二手商城" prop="moduleEs">
-                <el-switch v-model="step1Form.moduleEs" active-color="#13ce66" inactive-color="#ff4949">
-                </el-switch>
+                <el-radio-group v-model="step1Form.moduleEs">
+                  <el-radio :label="true">开启</el-radio>
+                  <el-radio :label="false">禁用</el-radio>
+                </el-radio-group>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="是否允许到店支付" prop="storePay">
-                <el-switch v-model="step1Form.storePay" active-color="#13ce66" inactive-color="#ff4949">
-                </el-switch>
+                <el-radio-group v-model="step1Form.storePay">
+                  <el-radio :label="true">开启</el-radio>
+                  <el-radio :label="false">禁用</el-radio>
+                </el-radio-group>
               </el-form-item>
             </el-col>
             <el-col :span="12">

+ 2 - 3
src/views/workOrder/workOrderPool/detailModule/workOrderInfo/mixins/productColumns.js

@@ -59,8 +59,10 @@ export default {
                     if (val) {
                       var data = this.classifyList.find(item => item.categoryId == val)
                       row.mainName = data.name
+                      row.imgUrl = data.imgUrl
                     } else {
                       row.mainName = ""
+                      row.imgUrl = ""
                     }
                   }}
                   placeholder="请选择">
@@ -85,12 +87,9 @@ export default {
                   onChange={(val) => {
                     if (val) {
                       var data = this.classifyListLv2.find(item => item.categoryId == val)
-                      console.log(data)
                       row.smallName = data.name
-                      row.imgUrl = data.imgUrl
                     } else {
                       row.smallName = ""
-                      row.imgUrl = ""
                     }
                   }}
                   placeholder="请选择">

+ 20 - 13
src/views/workOrder/workOrderPool/index.vue

@@ -7,7 +7,7 @@
     <!-- 创建工单 -->
     <div class="cartographer_big">
       <el-dialog title="创建工单" width="100%" :modal="false" :visible.sync="createFormBool" :before-close="handleClose">
-        <workOrderInfo :workOrderType="workOrderType" v-if="createFormBool" :cloneWorkOrder="cloneWorkOrder"/>
+        <workOrderInfo :workOrderType="workOrderType" v-if="createFormBool" :cloneWorkOrder="cloneWorkOrder" />
       </el-dialog>
     </div>
     <!-- 工单详情 -->
@@ -19,7 +19,8 @@
     </div>
     <!-- 批量预约/改约 -->
     <div class="cartographer_big">
-      <el-dialog title="批量约单" width="100%" :modal="false" :visible.sync="rescheduleBool" :before-close="rescheduleClose">
+      <el-dialog title="批量约单" width="100%" :modal="false" :visible.sync="rescheduleBool"
+        :before-close="rescheduleClose">
         <Reschedule v-if="rescheduleBool" :recordSelected="recordSelected" @close="rescheduleClose" />
       </el-dialog>
     </div>
@@ -89,7 +90,7 @@ export default {
       return [
         {
           name: '工单类型',
-          key: 'orderSmallType',
+          key: 'orderSmallTypeText',
           value: '',
           conditions: [{
             label: "全部",
@@ -223,7 +224,7 @@ export default {
       this.handleClose()
     })
     EventBus.$on('cloneWorkOrder', (data) => {
-      this.handleClose(()=>{
+      this.handleClose(() => {
         this.cloneWorkOrder = data
         this.workOrderType = data.saleType
         this.createFormBool = false
@@ -234,10 +235,16 @@ export default {
     })
     // 获取工单类型
     listPageV2({ "pageNum": 1, "pageSize": -1, "params": [{ "param": "a.status", "compare": "=", "value": "true" }] }).then(res => {
-      this.orderTypeList = res.data.records.map(item => ({
-        value: item.id,
-        label: item.orderSmallTypeText
-      }))
+      var obj = {}
+      res.data.records.map(item => {
+        if (!obj[item.orderSmallTypeText]) {
+          obj[item.orderSmallTypeText] = ({
+            value: item.orderSmallTypeText,
+            label: item.orderSmallTypeText
+          })
+        }
+      })
+      this.orderTypeList = Object.values(obj)
     })
   },
   methods: {
@@ -336,15 +343,15 @@ export default {
         if (pam.orderStatus) {
           pam.params.push({ "param": "a.order_status", "compare": "=", "value": pam.orderStatus })
         }
-        if (pam.orderSmallType) {
-          pam.params.push({ "param": "a.order_small_type", "compare": "=", "value": pam.orderSmallType })
+        if (pam.orderSmallTypeText) {
+          pam.params.push({ "param": "a.order_small_type_text", "compare": "=", "value": pam.orderSmallTypeText })
         }
         cb && cb(pam)
         return orderBaseList(pam)
       } catch (err) {
       } finally {
         this.$nextTick(() => {
-          this.getOrderBaseStatusCount({ orderSmallType: pam.orderSmallType || "" })
+          this.getOrderBaseStatusCount({ orderSmallTypeText: pam.orderSmallTypeText || "" })
         })
       }
     },
@@ -362,7 +369,7 @@ export default {
         edit: {
           click: ({ row, index, column }) => {
             this.id = row.id
-            this.workOrderType = Number(Object.entries(row?.selectMapData?.saleType||{}).find(([key, val]) => val == row.saleType)?.[0] || 1)
+            this.workOrderType = Number(Object.entries(row?.selectMapData?.saleType || {}).find(([key, val]) => val == row.saleType)?.[0] || 1)
             this.$nextTick(() => {
               this.detailFormBool = true
             })
@@ -383,7 +390,7 @@ export default {
         this.detailFormBool = false
         this.recordSelected = []
         this.$refs?.pageRef?.refreshList()
-        if(cb && typeof cb === 'function'){
+        if (cb && typeof cb === 'function') {
           cb()
         }
       })