Forráskód Böngészése

Merge branch 'dev_ml' of http://121.40.253.172:3000/pengyue/jsh_erp into test

廖泽勇 15 órája
szülő
commit
09ce931f09

BIN
jshERP-web/public/doc/goods_template.xls


+ 2 - 2
jshERP-web/src/components/jeecgbiz/modal/JSelectMaterialModal2.vue

@@ -1,13 +1,13 @@
 <template>
   <a-modal
-    :width="modalWidth"
+    width="100%"
     :visible="visible"
     :title="title"
     :wrapClassName="wrapClassNameInfo()"
     @ok="handleSubmit"
     @cancel="close"
     cancelText="关闭(ESC)"
-    style="top: 20px; height: 95%"
+    style="top: 0; height: 100%"
   >
     <a-row :gutter="10" style="padding: 10px; margin: -10px">
       <a-col :md="24" :sm="24">

+ 2 - 2
jshERP-web/src/views/bill/dialog/BillDetail.vue

@@ -517,7 +517,7 @@
             </a-col>
             <a-col :xl="6" :lg="8" :md="12" :sm="24">
               <a-form-item
-                :labelCol="{ xs: { span: 24 }, sm: { span: 6 } }"
+                :labelCol="labelCol"
                 :wrapperCol="wrapperCol"
                 label="优惠后金额"
               >
@@ -1935,7 +1935,7 @@ export default {
       },
       labelCol: {
         xs: { span: 24 },
-        sm: { span: 6 },
+        sm: { span: 8 },
       },
       wrapperCol: {
         xs: { span: 24 },

+ 30 - 43
jshERP-web/src/views/bill/mixins/BillModalMixin.js

@@ -514,18 +514,15 @@ export const BillModalMixin = {
       })
     },
     //默认采购价、销售价与当前采购价、销售价不一致
-    getDefaultWholesaleDecimal(index,key){
+    getDefaultWholesaleDecimal(index,key,value){
       if(this.materialTable.dataSource[index]&&this.materialTable.dataSource[index][key]){
-        return this.materialTable.dataSource[index][key]
+        return this.materialTable.dataSource[index][key] != value
       }
-      return undefined
+      return false
     },
     onChangePrice(e,callback){
       const { value } = e.target;
-      const reg = /^$|^(0|[1-9]\d*)(\.\d{1,2})?$/;
-      if ((!isNaN(value) && reg.test(value))) {
-        callback(value)
-      }
+      callback(value)
     },
     // 仓库名移动到基础表单
     async changeDepot(depotId,editTableRefName){
@@ -574,45 +571,35 @@ export const BillModalMixin = {
           }
           const formDepotId = that.form.getFieldValue('depotId')
           const formTaxRate = that.form.getFieldValue('taxRate')
-          getMaterialByBarCode(param).then((res) => {
+          getMaterialByBarCode(param).then(async (res) => {
             if (res && res.code === 200) {
               let mList = res.data
-              console.log('mList======',mList)
-              const needAddNum = mList.length
-              const clickRowIndex = target.getRowIndexByRowId(row.id)
-              const newRows = target.insert(clickRowIndex,needAddNum)
-              target.removeRows(row.id)
-              const updateRows = []
+              let mArr = await target.getValuesPromise(false)
+              const clickRowIndex = mArr.findIndex(item => item.id === row.id)
+              for(let i = 0; i < mList.length; i++){
+                const rawInfo = mList[i]
+                const mObj = that.parseInfoToObj(rawInfo)
+                mObj.allPrice = ((mObj.unitPrice - 0)* (mObj.operNumber))
+                mObj.taxRate = formTaxRate || 0
+                mObj.taxMoney = (mObj.taxRate * 0.01 * mObj.allPrice)
+                mObj.taxLastMoney = (mObj.allPrice + mObj.taxMoney)
+                mObj.depotId = formDepotId
+                mObj.position = ''
+                if(formDepotId){
+                  const res = await findStockByDepotAndBarCode({ depotId: formDepotId, barCode: mObj.barCode })
+                  const {position='',stock=0} = res.data
+                  mObj.stock = stock
+                  mObj.inventory = stock
+                  mObj.position = position
+                }
+                mArr.splice(clickRowIndex,0,mObj)
+              }
+              this.materialTable.dataSource = mArr.filter(item => item.id !== row.id)
               target.$nextTick(() => {
-                target.getValues(async (error,values) => {
-                  for(let i = 0; i < values.length; i++){
-                    const rawInfo = mList[i]
-                    const item = values[i]
-                    const mObj = that.parseInfoToObj(rawInfo)
-                    mObj.allPrice = ((mObj.unitPrice - 0)* (mObj.operNumber))
-                    mObj.taxRate = formTaxRate || 0
-                    mObj.taxMoney = (mObj.taxRate * 0.01 * mObj.allPrice)
-                    mObj.taxLastMoney = (mObj.allPrice + mObj.taxMoney)
-                    mObj.depotId = formDepotId
-                    mObj.position = ''
-                    if(formDepotId){
-                      const res = await findStockByDepotAndBarCode({ depotId: formDepotId, barCode: mObj.barCode })
-                      const {position='',stock=0} = res.data
-                      mObj.stock = stock
-                      mObj.inventory = stock
-                      mObj.position = position
-                    }
-                    updateRows.push({
-                      rowKey: item.id,
-                      values: mObj
-                    })
-                  }
-                  target.setValues(updateRows)
-                  target.recalcAllStatisticsColumns()
-                  target.$nextTick(() => {
-                    that.autoChangePrice(target)
-                  })
-                }, false,newRows.map(item => item.id))
+                target.recalcAllStatisticsColumns()
+                setTimeout(() => {
+                  that.autoChangePrice(target)
+                },100)
               })
             }
           })

+ 4 - 4
jshERP-web/src/views/bill/modules/OtherInModal.vue

@@ -157,14 +157,14 @@
           <template #wholesaleDecimal="{ handleChange, value, index }">
             <a-input :value="value" @change="($event) => onChangePrice($event,handleChange)">
               <a-tooltip slot="suffix" title="修改后和默认价格不一致">
-                <a-icon type="info-circle" style="color: #f5222d" v-show="getDefaultWholesaleDecimal(index,'defaultWholesaleDecimal')!=value" />
+                <a-icon type="info-circle" style="color: #f5222d" v-show="getDefaultWholesaleDecimal(index,'defaultWholesaleDecimal',value)" />
               </a-tooltip>
             </a-input>
           </template>
           <template #unitPrice="{ handleChange, value, index }">
             <a-input :value="value" @change="($event) => onChangePrice($event,handleChange)">
               <a-tooltip slot="suffix" title="修改后和默认价格不一致">
-                <a-icon type="info-circle" style="color: #f5222d" v-show="getDefaultWholesaleDecimal(index,'defaultPurchaseDecimal')!=value" />
+                <a-icon type="info-circle" style="color: #f5222d" v-show="getDefaultWholesaleDecimal(index,'defaultPurchaseDecimal',value)" />
               </a-tooltip>
             </a-input>
           </template>
@@ -348,7 +348,7 @@ export default {
             key: 'wholesaleDecimal',
             width: '120px',
             type: FormTypes.slot,
-            validateRules: [{ required: true, message: '${title}不能为空' }],
+            validateRules: [{ required: true, message: '${title}不能为空' },{ pattern: /^(([0-9][0-9]*)|([0]\.\d{0,4}|[0-9][0-9]*\.\d{0,4}))$/, message: '金额格式不正确!' }],
           },
           { title: '单位id', key: 'unitId', width: '120px', type: FormTypes.hidden },
           { title: '单位列表', key: 'unitList', width: '120px', type: FormTypes.hidden },
@@ -365,7 +365,7 @@ export default {
             statistics: true,
             validateRules: [{ required: true, message: '${title}不能为空' }],
           },
-          { title: '单价', key: 'unitPrice', width: '120px', type: FormTypes.slot,validateRules: [{ required: true, message: '${title}不能为空' }], },
+          { title: '单价', key: 'unitPrice', width: '120px', type: FormTypes.slot,validateRules: [{ required: true, message: '${title}不能为空' },{ pattern: /^(([0-9][0-9]*)|([0]\.\d{0,4}|[0-9][0-9]*\.\d{0,4}))$/, message: '金额格式不正确!' }], },
           { title: '金额', key: 'allPrice', width: '120px', type: FormTypes.inputNumber,readonly: true, statistics: true },
           { title: '入库差异', key: 'warehousingVariance', width: '120px', type: FormTypes.input },
           { title: '入库差异原因', key: 'reasonOfDifference', width: '120px', type: FormTypes.input },

+ 4 - 4
jshERP-web/src/views/bill/modules/OtherOutModal.vue

@@ -157,14 +157,14 @@
           <template #wholesaleDecimal="{ handleChange, value, index }">
             <a-input :value="value" @change="($event) => onChangePrice($event,handleChange)">
               <a-tooltip slot="suffix" title="修改后和默认价格不一致">
-                <a-icon type="info-circle" style="color: #f5222d" v-show="getDefaultWholesaleDecimal(index,'defaultWholesaleDecimal')!=value" />
+                <a-icon type="info-circle" style="color: #f5222d" v-show="getDefaultWholesaleDecimal(index,'defaultWholesaleDecimal',value)" />
               </a-tooltip>
             </a-input>
           </template>
           <template #unitPrice="{ handleChange, value, index }">
             <a-input :value="value" @change="($event) => onChangePrice($event,handleChange)">
               <a-tooltip slot="suffix" title="修改后和默认价格不一致">
-                <a-icon type="info-circle" style="color: #f5222d" v-show="getDefaultWholesaleDecimal(index,'defaultPurchaseDecimal')!=value" />
+                <a-icon type="info-circle" style="color: #f5222d" v-show="getDefaultWholesaleDecimal(index,'defaultPurchaseDecimal',value)" />
               </a-tooltip>
             </a-input>
           </template>
@@ -361,7 +361,7 @@ export default {
             // allowClear: false,
             // slotName: 'unit',
           },
-          { title: '销售价', key: 'wholesaleDecimal', width: '120px', type: FormTypes.slot,validateRules: [{ required: true, message: '${title}不能为空' }] },
+          { title: '销售价', key: 'wholesaleDecimal', width: '120px', type: FormTypes.slot,validateRules: [{ required: true, message: '${title}不能为空' },{ pattern: /^(([0-9][0-9]*)|([0]\.\d{0,4}|[0-9][0-9]*\.\d{0,4}))$/, message: '金额格式不正确!' }] },
           { title: '单位id', key: 'unitId', width: '120px', type: FormTypes.hidden },
           { title: '单位列表', key: 'unitList', width: '120px', type: FormTypes.hidden },
           { title: '序列号', key: 'snList', width: '120px', type: FormTypes.popupJsh, kind: 'sn', multi: true },
@@ -377,7 +377,7 @@ export default {
             statistics: true,
             validateRules: [{ required: true, message: '${title}不能为空' }],
           },
-          { title: '单价', key: 'unitPrice', width: '120px', type: FormTypes.slot,validateRules: [{ required: true, message: '${title}不能为空' }], },
+          { title: '单价', key: 'unitPrice', width: '120px', type: FormTypes.slot,validateRules: [{ required: true, message: '${title}不能为空' },{ pattern: /^(([0-9][0-9]*)|([0]\.\d{0,4}|[0-9][0-9]*\.\d{0,4}))$/, message: '金额格式不正确!' }], },
           { title: '金额', key: 'allPrice', width: '120px', type: FormTypes.inputNumber, readonly: true, statistics: true },
           // {
           //   title: '实际出库数量',

+ 8 - 6
jshERP-web/src/views/bill/modules/PurchaseInModal.vue

@@ -228,14 +228,14 @@
           <template #wholesaleDecimal="{ handleChange, value, index }">
             <a-input :value="value" @change="($event) => onChangePrice($event,handleChange)">
               <a-tooltip slot="suffix" title="修改后和默认价格不一致">
-                <a-icon type="info-circle" style="color: #f5222d" v-show="getDefaultWholesaleDecimal(index,'defaultWholesaleDecimal')!=value" />
+                <a-icon type="info-circle" style="color: #f5222d" v-show="getDefaultWholesaleDecimal(index,'defaultWholesaleDecimal',value)" />
               </a-tooltip>
             </a-input>
           </template>
           <template #unitPrice="{ handleChange, value, index }">
             <a-input :value="value" @change="($event) => onChangePrice($event,handleChange)">
               <a-tooltip slot="suffix" title="修改后和默认价格不一致">
-                <a-icon type="info-circle" style="color: #f5222d" v-show="getDefaultWholesaleDecimal(index,'defaultPurchaseDecimal')!=value" />
+                <a-icon type="info-circle" style="color: #f5222d" v-show="getDefaultWholesaleDecimal(index,'defaultPurchaseDecimal',value)" />
               </a-tooltip>
             </a-input>
           </template>
@@ -543,7 +543,7 @@ export default {
             key: 'wholesaleDecimal',
             width: '120px',
             type: FormTypes.slot,
-            validateRules: [{ required: true, message: '${title}不能为空' }],
+            validateRules: [{ required: true, message: '${title}不能为空' },{ pattern: /^(([0-9][0-9]*)|([0]\.\d{0,4}|[0-9][0-9]*\.\d{0,4}))$/, message: '金额格式不正确!' }],
           },
           { title: '单位id', key: 'unitId', width: '120px', type: FormTypes.hidden },
           { title: '单位列表', key: 'unitList', width: '120px', type: FormTypes.hidden },
@@ -560,7 +560,7 @@ export default {
             statistics: true,
             validateRules: [{ required: true, message: '${title}不能为空' }],
           },
-          { title: '单价', key: 'unitPrice', width: '120px', type: FormTypes.slot,validateRules: [{ required: true, message: '${title}不能为空' }], },
+          { title: '单价', key: 'unitPrice', width: '120px', type: FormTypes.slot,validateRules: [{ required: true, message: '${title}不能为空' },{ pattern: /^(([0-9][0-9]*)|([0]\.\d{0,4}|[0-9][0-9]*\.\d{0,4}))$/, message: '金额格式不正确!' }], },
           { title: '金额', key: 'allPrice', width: '120px', type: FormTypes.inputNumber, readonly: true, statistics: true },
           { title: '税率', key: 'taxRate', width: '120px', type: FormTypes.hidden, placeholder: '%' },
           {
@@ -586,7 +586,7 @@ export default {
           { title: '入库时间', key: 'warehousingTime', width: '200px', type: FormTypes.date },
 
           { title: '备注', key: 'remark', width: '200px', type: FormTypes.input },
-          // { title: '关联id', key: 'linkId', width: '120px', type: FormTypes.hidden },
+          { title: '关联id', key: 'linkId', width: '120px', type: FormTypes.hidden },
         ],
       },
       confirmLoading: false,
@@ -815,7 +815,9 @@ export default {
         })
         //判断后进行仓库的切换
         if (depotId) {
-          this.changeDepot(depotId, this.refKeys[0])
+          setTimeout(() => {
+            this.changeDepot(depotId, this.refKeys[0])
+          }, 100)
         }
       }
     },

+ 6 - 6
jshERP-web/src/views/bill/modules/PurchaseOrderModal.vue

@@ -202,17 +202,17 @@
             >
             </a-select>
           </template>
-          <template #wholesaleDecimal="{ handleChange, value, index }">
+          <template #wholesaleDecimal="{ handleChange, value, index}">
             <a-input :value="value" @change="($event) => onChangePrice($event,handleChange)">
               <a-tooltip slot="suffix" title="修改后和默认价格不一致">
-                <a-icon type="info-circle" style="color: #f5222d" v-show="getDefaultWholesaleDecimal(index,'defaultWholesaleDecimal')!=value" />
+                <a-icon type="info-circle" style="color: #f5222d" v-if="getDefaultWholesaleDecimal(index,'defaultWholesaleDecimal',value)" />
               </a-tooltip>
             </a-input>
           </template>
-          <template #unitPrice="{ handleChange, value, index }">
+          <template #unitPrice="{ handleChange, value, index}">
             <a-input :value="value" @change="($event) => onChangePrice($event,handleChange)">
               <a-tooltip slot="suffix" title="修改后和默认价格不一致">
-                <a-icon type="info-circle" style="color: #f5222d" v-show="getDefaultWholesaleDecimal(index,'defaultPurchaseDecimal')!=value" />
+                <a-icon type="info-circle" style="color: #f5222d" v-if="getDefaultWholesaleDecimal(index,'defaultPurchaseDecimal',value)" />
               </a-tooltip>
             </a-input>
           </template>
@@ -510,7 +510,7 @@ export default {
             key: 'wholesaleDecimal',
             width: '120px',
             type: FormTypes.slot,
-            validateRules: [{ required: true, message: '${title}不能为空' }],
+            validateRules: [{ required: true, message: '${title}不能为空' },{ pattern: /^(([0-9][0-9]*)|([0]\.\d{0,4}|[0-9][0-9]*\.\d{0,4}))$/, message: '金额格式不正确!' }],
           },
           { title: '单位id', key: 'unitId', width: '120px', type: FormTypes.hidden },
           { title: '单位列表', key: 'unitList', width: '120px', type: FormTypes.hidden },
@@ -525,7 +525,7 @@ export default {
             statistics: true,
             validateRules: [{ required: true, message: '${title}不能为空' }],
           },
-          { title: '单价', key: 'unitPrice', width: '120px', type: FormTypes.slot,validateRules: [{ required: true, message: '${title}不能为空' }], },
+          { title: '单价', key: 'unitPrice', width: '120px', type: FormTypes.slot,validateRules: [{ required: true, message: '${title}不能为空' },{ pattern: /^(([0-9][0-9]*)|([0]\.\d{0,4}|[0-9][0-9]*\.\d{0,4}))$/, message: '金额格式不正确!' }], },
           { title: '金额', key: 'allPrice', width: '120px', type: FormTypes.inputNumber, readonly: true, statistics: true },
           { title: '税率', key: 'taxRate', width: '120px', type: FormTypes.hidden, placeholder: '%' },
           {

+ 2 - 2
jshERP-web/src/views/bill/modules/SaleOrderModal.vue

@@ -185,7 +185,7 @@
           <template #unitPrice="{ handleChange, value, index }">
             <a-input :value="value" @change="($event) => onChangePrice($event,handleChange)">
               <a-tooltip slot="suffix" title="修改后和默认价格不一致">
-                <a-icon type="info-circle" style="color: #f5222d" v-show="getDefaultWholesaleDecimal(index,'defaultWholesaleDecimal')!=value" />
+                <a-icon type="info-circle" style="color: #f5222d" v-show="getDefaultWholesaleDecimal(index,'defaultWholesaleDecimal',value)" />
               </a-tooltip>
             </a-input>
           </template>
@@ -478,7 +478,7 @@ export default {
             statistics: true,
             validateRules: [{ required: true, message: '${title}不能为空' }],
           },
-          { title: '单价', key: 'unitPrice', width: '120px', type: FormTypes.slot,validateRules: [{ required: true, message: '${title}不能为空' }], },
+          { title: '单价', key: 'unitPrice', width: '120px', type: FormTypes.slot,validateRules: [{ required: true, message: '${title}不能为空' },{ pattern: /^(([0-9][0-9]*)|([0]\.\d{0,4}|[0-9][0-9]*\.\d{0,4}))$/, message: '金额格式不正确!' }], },
           { title: '金额', key: 'allPrice', width: '120px', type: FormTypes.inputNumber, readonly: true, statistics: true },
           { title: '税率', key: 'taxRate', width: '120px', type: FormTypes.hidden, placeholder: '%' },
           {

+ 22 - 17
jshERP-web/src/views/bill/modules/SaleOutModal.vue

@@ -236,7 +236,7 @@
           <template #unitPrice="{ handleChange, value, index }">
             <a-input :value="value" @change="($event) => onChangePrice($event,handleChange)">
               <a-tooltip slot="suffix" title="修改后和默认价格不一致">
-                <a-icon type="info-circle" style="color: #f5222d" v-show="getDefaultWholesaleDecimal(index,'defaultWholesaleDecimal')!=value" />
+                <a-icon type="info-circle" style="color: #f5222d" v-show="getDefaultWholesaleDecimal(index,'defaultWholesaleDecimal',value)" />
               </a-tooltip>
             </a-input>
           </template>
@@ -586,7 +586,7 @@ export default {
             statistics: true,
             validateRules: [{ required: true, message: '${title}不能为空' }],
           },
-          { title: '单价', key: 'unitPrice', width: '120px', type: FormTypes.slot,validateRules: [{ required: true, message: '${title}不能为空' }], },
+          { title: '单价', key: 'unitPrice', width: '120px', type: FormTypes.slot,validateRules: [{ required: true, message: '${title}不能为空' },{ pattern: /^(([0-9][0-9]*)|([0]\.\d{0,4}|[0-9][0-9]*\.\d{0,4}))$/, message: '金额格式不正确!' }], },
           { title: '金额', key: 'allPrice', width: '120px', type: FormTypes.inputNumber,readonly: true, statistics: true },
           { title: '税率', key: 'taxRate', width: '120px', type: FormTypes.hidden, placeholder: '%' },
           {
@@ -842,32 +842,37 @@ export default {
         }
         let discountLastMoney = (allTaxLastMoney - discountMoney).toFixed(2) - 0
         let changeAmount = discountLastMoney
+        console.log('deposit===',deposit)
         if (deposit) {
           this.depositStatus = true
           changeAmount = (discountLastMoney - deposit).toFixed(2) - 0
         }
-        this.form.setFieldsValue({
-          organId: organId,
-          linkNumber: linkNumber,
-          discount: discount,
-          discountMoney: discountMoney,
-          discountLastMoney: discountLastMoney,
-          deposit: deposit,
-          changeAmount: changeAmount,
-          accountId: accountId,
-          remark: remark,
-          receiverName,
-          receiverPhone,
-          receiverAddress,
-        })
+        
         this.personList.value = salesMan
         this.$nextTick(() => {
+          this.form.setFieldsValue({
+            organId: organId,
+            linkNumber: linkNumber,
+            discount: discount,
+            discountMoney: discountMoney,
+            discountLastMoney: discountLastMoney,
+            deposit: deposit,
+            changeAmount: changeAmount,
+            accountId: accountId,
+            remark: remark,
+            receiverName,
+            receiverPhone,
+            receiverAddress,
+            depotId: depotId,
+          })
           console.log('discount===',this.form.getFieldValue('discount'))
           this.getTatRate(organId)
         })
         //判断后进行仓库的切换
         if (depotId) {
-          this.changeDepot(depotId, this.refKeys[0])
+          setTimeout(() => {
+            this.changeDepot(depotId, this.refKeys[0])
+          }, 100)
         }
       }
     },

+ 4 - 13
jshERP-web/src/views/material/MaterialList.vue

@@ -94,7 +94,7 @@
                   </a-form-item>
                 </a-col>
                 <a-col :md="6" :sm="24">
-                  <a-form-item label="商品提醒" :labelCol="labelCol" :wrapperCol="wrapperCol">
+                  <a-form-item label="预警提示" :labelCol="labelCol" :wrapperCol="wrapperCol">
                     <a-select v-model="queryParam.reminder" option-label-prop="title" placeholder="请选择商品提醒">
                       <a-select-option key="临期" value="临期" title="临期">临期</a-select-option>
                       <a-select-option key="无动销" value="无动销" title="无动销">无动销</a-select-option>
@@ -198,9 +198,6 @@
                 </div>
               </a-popover>
             </template>
-            <template slot="customBarCode" slot-scope="text, record">
-              {{ record.mBarCode }}
-            </template>
             <template slot="customName" slot-scope="text, record">
               {{ record.name }}
               <a-tag v-if="record.enableSerialNumber == 1" color="orange">序</a-tag>
@@ -278,14 +275,10 @@ export default {
         model: '',
         color: '',
         brand: '',
-        // mfrs: '',
         materialOther: '',
         weight: '',
-        // expiryNum: '',
         enabled: undefined,
         enableSerialNumber: undefined,
-        // enableBatchNumber: undefined,
-        // position: '',
         reminder: undefined,
         remark: '',
         mpList: getMpListShort(Vue.ls.get('materialPropertyList')), //扩展属性
@@ -300,7 +293,7 @@ export default {
       // 默认索引
       defDataIndex: [
         'action',
-        'mBarCode',
+        'barCode',
         'name',
         'standard',
         'model',
@@ -326,7 +319,7 @@ export default {
           scopedSlots: { customRender: 'action' },
         },
         { title: '图片', dataIndex: 'pic', width: 60, scopedSlots: { customRender: 'customPic' } },
-        { title: '条码', dataIndex: 'mBarCode', width: 120 },
+        { title: '条码', dataIndex: 'barCode', width: 120 },
         { title: '名称', dataIndex: 'name', width: 160, scopedSlots: { customRender: 'customName' } },
         { title: '系统SKU', dataIndex: 'systemSku', width: 120 },
         { title: '规格', dataIndex: 'standard', width: 120 },
@@ -359,11 +352,9 @@ export default {
           width: 80,
           scopedSlots: { customRender: 'customRenderInitialStock' },
         },
-        { title: '库存', dataIndex: 'stock', width: 80, scopedSlots: { customRender: 'customRenderStock' } },
         { title: '默认采购价', dataIndex: 'defaultPurchaseDecimal', width: 100 },
-        { title: '零售价', dataIndex: 'commodityDecimal', width: 80 },
         { title: '默认销售价', dataIndex: 'defaultWholesaleDecimal', width: 100 },
-        { title: '最低售价', dataIndex: 'lowDecimal', width: 80 },
+        { title: '库存', dataIndex: 'stock', width: 80, scopedSlots: { customRender: 'customRenderStock' } },
         { title: '预警提示', dataIndex: 'reminder', width: 100, scopedSlots: { customRender: 'reminder' }},
         { title: '备注', dataIndex: 'remark', width: 80 },
         {

+ 29 - 18
jshERP-web/src/views/material/modules/MaterialModal.vue

@@ -21,7 +21,7 @@
         <a-tabs default-active-key="1" size="small">
           <a-tab-pane key="1" tab="基本信息" id="materialHeadModal" forceRender>
             <a-row class="form-row" :gutter="24">
-              <a-col :md="6" :sm="24">
+              <a-col :xl="6" :lg="8" :md="12" :sm="24">
                 <a-form-item
                   :labelCol="labelCol"
                   :wrapperCol="wrapperCol"
@@ -37,7 +37,7 @@
                   />
                 </a-form-item>
               </a-col>
-              <a-col :md="6" :sm="24">
+              <a-col :xl="6" :lg="8" :md="12" :sm="24">
                 <a-form-item
                   :labelCol="labelCol"
                   :wrapperCol="wrapperCol"
@@ -49,7 +49,7 @@
                   <a-input placeholder="请输入规格" v-decorator.trim="['standard', validatorRules.standard]" />
                 </a-form-item>
               </a-col>
-              <a-col :md="6" :sm="24">
+              <a-col :xl="6" :lg="8" :md="12" :sm="24">
                 <a-form-item
                   :labelCol="labelCol"
                   :wrapperCol="wrapperCol"
@@ -61,7 +61,7 @@
                   <a-input placeholder="请输入型号" v-decorator.trim="['model', validatorRules.model]" />
                 </a-form-item>
               </a-col>
-              <a-col :md="6" :sm="24">
+              <a-col :xl="6" :lg="8" :md="12" :sm="24">
                 <a-form-item
                   :labelCol="labelCol"
                   :wrapperCol="wrapperCol"
@@ -111,7 +111,7 @@
                   </a-row>
                 </a-form-item>
               </a-col>
-              <a-col :md="6" :sm="24">
+              <a-col :xl="6" :lg="8" :md="12" :sm="24">
                 <a-form-item
                   :labelCol="labelCol"
                   :wrapperCol="wrapperCol"
@@ -123,7 +123,7 @@
                   <a-input placeholder="请输入颜色" v-decorator.trim="['color']" />
                 </a-form-item>
               </a-col>
-              <a-col :md="6" :sm="24">
+              <a-col :xl="6" :lg="8" :md="12" :sm="24">
                 <a-form-item
                   :labelCol="labelCol"
                   :wrapperCol="wrapperCol"
@@ -135,7 +135,7 @@
                   <a-input placeholder="请输入品牌" v-decorator.trim="['brand']" />
                 </a-form-item>
               </a-col>
-              <a-col :md="6" :sm="24">
+              <a-col :xl="6" :lg="8" :md="12" :sm="24">
                 <a-form-item
                   :labelCol="labelCol"
                   :wrapperCol="wrapperCol"
@@ -147,7 +147,7 @@
                   <a-input placeholder="" v-decorator.trim="['mnemonic']" :readOnly="true" />
                 </a-form-item>
               </a-col>
-              <a-col :md="6" :sm="24">
+              <a-col :xl="6" :lg="8" :md="12" :sm="24">
                 <a-form-item
                   :labelCol="labelCol"
                   :wrapperCol="wrapperCol"
@@ -167,7 +167,7 @@
                   </a-tree-select>
                 </a-form-item>
               </a-col>
-              <a-col :md="6" :sm="24">
+              <a-col :xl="6" :lg="8" :md="12" :sm="24">
                 <a-form-item
                   :labelCol="labelCol"
                   :wrapperCol="wrapperCol"
@@ -179,7 +179,7 @@
                   <a-input-number style="width: 100%" placeholder="请输入基础重量(kg)" v-decorator.trim="['weight']" />
                 </a-form-item>
               </a-col>
-              <a-col :md="6" :sm="24">
+              <a-col :xl="6" :lg="8" :md="12" :sm="24">
                 <a-form-item
                   :labelCol="labelCol"
                   :wrapperCol="wrapperCol"
@@ -196,7 +196,7 @@
                   </a-tooltip>
                 </a-form-item>
               </a-col>
-              <a-col :md="6" :sm="24">
+              <a-col :xl="6" :lg="8" :md="12" :sm="24">
                 <a-form-item
                   :labelCol="labelCol"
                   :wrapperCol="wrapperCol"
@@ -208,7 +208,7 @@
                   <a-input placeholder="提交后自动生成" disabled v-decorator="['systemSku']" />
                 </a-form-item>
               </a-col>
-              <a-col :md="6" :sm="24">
+              <a-col :xl="6" :lg="8" :md="12" :sm="24">
                 <a-form-item
                   :labelCol="labelCol"
                   :wrapperCol="wrapperCol"
@@ -227,7 +227,7 @@
                   </a-tooltip>
                 </a-form-item>
               </a-col>
-              <a-col :md="6" :sm="24">
+              <a-col :xl="6" :lg="8" :md="12" :sm="24">
                 <a-form-item
                   :labelCol="labelCol"
                   :wrapperCol="wrapperCol"
@@ -239,7 +239,7 @@
                   <a-input-number :min="0" v-decorator="['expiryNum']" style="width: 100%;" placeholder="请输入保质期(天)" />
                 </a-form-item>
               </a-col>
-              <a-col :md="6" :sm="24">
+              <a-col :xl="6" :lg="8" :md="12" :sm="24">
                 <a-form-item
                   :labelCol="labelCol"
                   :wrapperCol="wrapperCol"
@@ -251,7 +251,7 @@
                   <a-input @blur="$refs.meTable.$forceUpdate()" v-decorator="['defaultPurchaseDecimal',validatorRules.defaultPurchaseDecimal]" style="width: 100%" placeholder="请输入默认采购价" />
                 </a-form-item>
               </a-col>
-              <a-col :md="6" :sm="24">
+              <a-col :xl="6" :lg="8" :md="12" :sm="24">
                 <a-form-item
                   :labelCol="labelCol"
                   :wrapperCol="wrapperCol"
@@ -391,7 +391,7 @@
                   <j-image-upload v-model="fileList" bizPath="material" text="上传" isMultiple></j-image-upload>
                 </a-form-item>
               </a-col>
-              <a-col :lg="6" :md="6" :sm="24"></a-col>
+              <a-col :md="6" :sm="24"></a-col>
             </a-row>
             <a-row class="form-row" :gutter="24">
               <a-col :lg="18" :md="18" :sm="24">
@@ -403,7 +403,7 @@
                   图片最多4张,且单张大小不超过1M
                 </a-form-item>
               </a-col>
-              <a-col :lg="6" :md="6" :sm="24"></a-col>
+              <a-col :md="6" :sm="24"></a-col>
             </a-row>
           </a-tab-pane>
         </a-tabs>
@@ -583,6 +583,14 @@ export default {
             type: FormTypes.normal,
           },
           {
+            title: '期初库存',
+            key: 'number',
+            width: '15%',
+            type: FormTypes.inputNumber,
+            defaultValue: '',
+            placeholder: '请输入${title}',
+          },
+          {
             title: '库存总数量',
             key: 'currentStock',
             width: '15%',
@@ -809,7 +817,10 @@ export default {
       tab.loading = true
       getAction(url, params)
         .then((res) => {
-          tab.dataSource = res.data || []
+          tab.dataSource = (res.data || []).map(item => {
+            item.number = item.initStock
+            return item
+          })
           console.log('====================', res.data)
         })
         .finally(() => {

+ 3 - 9
jshERP-web/src/views/stock/CheckList.vue

@@ -12,14 +12,6 @@
         ></filter-form>
         <div style="margin-bottom: 6px">
           <a-button :disabled="!selectedRowKeys.length" type="primary" @click="onStartTask">开始盘点</a-button>
-
-          <!-- <a-popconfirm style="margin: 0 6px" title="确定取消选中的盘点任务吗?" @confirm="() => cancelTask()">
-            <a-button :disabled="!selectedRowKeys.length">取消盘点</a-button>
-          </a-popconfirm>
-          <a-popconfirm title="确定删除选中的盘点任务吗?" @confirm="() => handleDelete()">
-            <a-button :disabled="!selectedRowKeys.length">批量删除</a-button>
-          </a-popconfirm> -->
-          <!-- <a-button style="margin-left: 6px">导出任务</a-button> -->
         </div>
         <a-table
           ref="table"
@@ -233,4 +225,6 @@ export default {
 }
 </script>
 
-<style></style>
+<style scoped>
+@import '~@assets/less/common.less';
+</style>

+ 3 - 2
jshERP-web/src/views/stock/TaskList.vue

@@ -78,7 +78,6 @@
 </template>
 
 <script>
-// import { JeecgListMixin } from '@/mixins/JeecgListMixin'
 import FilterForm from './components/FilterForm.vue'
 import table from './utils/table'
 import StockModal from './components/stockModal.vue'
@@ -240,4 +239,6 @@ export default {
 }
 </script>
 
-<style></style>
+<style scoped>
+@import '~@assets/less/common.less';
+</style>

+ 17 - 8
jshERP-web/src/views/stock/components/checkModal.vue

@@ -1,6 +1,17 @@
 <template>
-  <div>
-    <a-modal @cancel="handleCancel" :visible="stockVisible" :title="title" width="90%">
+  <div ref="container">
+    <a-modal 
+      :title="title" 
+      width="100%"
+      @cancel="handleCancel" 
+      :visible="stockVisible"
+      :confirmLoading="confirmLoading"
+      :getContainer="() => $refs.container" 
+      :wrapClassName="wrapClassNameInfo()"
+      :mask="isDesktop()"
+      :maskClosable="false"
+      style="top: 0; height: 100%" 
+    >
       <a-spin :spinning="confirmLoading">
         <edit-form
           :spinnerList="spinnerList"
@@ -129,22 +140,20 @@
 </template>
 
 <script>
-import { findBySelectOrgan, queryMaterialCategoryTreeList, getAllOrganizationTreeByUser } from '@/api/api'
+import {  queryMaterialCategoryTreeList } from '@/api/api'
 
 import editForm from './editForm.vue'
 import table from '../utils/table'
 import JSelectMaterialModal from '../../../components/jeecgbiz/modal/JSelectMaterialModal.vue'
 import { getAction, postAction } from '@/api/manage'
-import { getMaterialByBatchNumber } from '@/api/api'
 import { newTableMixin } from '@/mixins/newTableMixin'
 import { Modal } from 'ant-design-vue'
+import { mixinDevice } from '@/utils/mixin'
 
-// import { JeecgListMixin } from '@/mixins/JeecgListMixin'
-// import { Form } from 'ant-design-vue'
-// const useForm = Form.useForm
 export default {
+  name: 'CheckModal',
   components: { editForm, JSelectMaterialModal },
-  mixins: [newTableMixin],
+  mixins: [ newTableMixin, mixinDevice ],
   props: {
     rules: {
       type: Object,

+ 2 - 2
jshERP-web/src/views/stock/components/editForm.vue

@@ -136,11 +136,11 @@ export default {
       ],
       labelCol: {
         xs: { span: 24 },
-        sm: { span: 8 },
+        sm: { span: 9 },
       },
       wrapperCol: {
         xs: { span: 24 },
-        sm: { span: 16 },
+        sm: { span: 15 },
       },
       taskTypeList: [
         { value: 1, label: '全盘' },

+ 20 - 7
jshERP-web/src/views/stock/components/stockModal.vue

@@ -1,6 +1,17 @@
 <template>
-  <div>
-    <a-modal @cancel="handleCancel" :visible="stockVisible" :title="title" width="90%">
+  <div ref="container">
+    <a-modal 
+      :title="title" 
+      width="100%" 
+      @cancel="handleCancel" 
+      :visible="stockVisible" 
+      :confirmLoading="confirmLoading"
+      :getContainer="() => $refs.container" 
+      :wrapClassName="wrapClassNameInfo()"
+      :mask="isDesktop()"
+      :maskClosable="false"
+      style="top: 0; height: 100%"
+    >
       <a-spin :spinning="confirmLoading">
         <edit-form
           :spinnerList="spinnerList"
@@ -68,14 +79,13 @@ import editForm from './editForm.vue'
 import table from '../utils/table'
 import JSelectMaterialModal from '../../../components/jeecgbiz/modal/JSelectMaterialModal2.vue'
 import { getAction, postAction } from '@/api/manage'
-import { getMaterialByBatchNumber } from '@/api/api'
 import { newTableMixin } from '@/mixins/newTableMixin'
-// import { JeecgListMixin } from '@/mixins/JeecgListMixin'
-// import { Form } from 'ant-design-vue'
-// const useForm = Form.useForm
+import { mixinDevice } from '@/utils/mixin'
+
 export default {
+  name: 'StockModal',
   components: { editForm, JSelectMaterialModal },
-  mixins: [newTableMixin],
+  mixins: [ newTableMixin, mixinDevice ],
   props: {
     rules: {
       type: Object,
@@ -165,6 +175,9 @@ export default {
           if (params.taskType === 2) {
             params.materialExtendIdList = this.dataSource.map((item) => item.batchNumber)
           }
+          if(this.openType != 'add') {
+            params.id = this.taskId
+          }
           const url = this.openType === 'add' ? this.url.add : this.url.update
           postAction(url, params).then((res) => {
             if (res.code === 200) {

+ 1 - 1
jshERP-web/src/views/system/VendorList.vue

@@ -1,7 +1,7 @@
 <template>
   <a-row :gutter="24">
     <a-col :md="24">
-      <a-card :style="cardStyle" :bordered="false">
+      <a-card :bordered="false">
         <!-- 查询区域 -->
         <div class="table-page-search-wrapper">
           <!-- 搜索区域 -->

+ 5 - 5
jshERP-web/src/views/system/modules/VendorModal.vue

@@ -2,7 +2,7 @@
   <div ref="container">
     <a-modal
       :title="title"
-      :width="1200"
+      width="100%"
       :visible="visible"
       :confirmLoading="confirmLoading"
       :getContainer="() => $refs.container"
@@ -14,7 +14,7 @@
       @cancel="handleCancel"
       cancelText="取消"
       okText="保存"
-      style="top: 0; height: 95%"
+      style="top: 0; height: 100%"
     >
       <template slot="footer">
         <a-button key="back" v-if="isReadOnly" @click="handleCancel"> 取消 </a-button>
@@ -117,7 +117,7 @@
               </a-form-item>
             </a-col>
             <a-col :span="24 / 2">
-              <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="开具发票情况">
+              <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="发票类型">
                 <a-select
                   v-decorator.trim="['invoiceType']"
                   :options="invoiceOptions"
@@ -187,11 +187,11 @@ export default {
       isReadOnly: false,
       labelCol: {
         xs: { span: 24 },
-        sm: { span: 4 },
+        sm: { span: 6 },
       },
       wrapperCol: {
         xs: { span: 24 },
-        sm: { span: 20 },
+        sm: { span: 18 },
       },
       confirmLoading: false,
       form: this.$form.createForm(this),

+ 126 - 0
jshERP-web/src/views/task/ApprovalList.vue

@@ -0,0 +1,126 @@
+<template>
+  <a-row :gutter="24">
+    <a-col :md="24">
+      <a-card :style="cardStyle" :bordered="false">
+        <!-- 查询区域 -->
+        <div class="table-page-search-wrapper">
+          <a-form layout="inline" @keyup.enter.native="searchQuery">
+            <a-row :gutter="24">
+              <a-col :md="6" :sm="24">
+                <a-form-item label="单据编号" :labelCol="labelCol" :wrapperCol="wrapperCol">
+                  <a-input placeholder="请输入单据编号" v-model="queryParam.loginName"></a-input>
+                </a-form-item>
+              </a-col>
+              <a-col :md="6" :sm="24">
+                <a-form-item label="流程类型" :labelCol="labelCol" :wrapperCol="wrapperCol">
+                  <a-select v-model="queryParam.processType" placeholder="请选择流程类型">
+                    <a-select-option value="0">全部</a-select-option>
+                    <a-select-option value="1">请假</a-select-option>
+                  </a-select>
+                </a-form-item>
+              </a-col>
+              <a-col :md="6" :sm="24">
+                <a-form-item label="发起人" :labelCol="labelCol" :wrapperCol="wrapperCol">
+                  <a-input placeholder="请输入发起人" v-model="queryParam.loginName"></a-input>
+                </a-form-item>
+              </a-col>
+              <a-col :md="6" :sm="24">
+                <span style="float: left; overflow: hidden" class="table-page-search-submitButtons">
+                  <a-button type="primary" @click="searchQuery">查询</a-button>
+                  <a-button style="margin-left: 8px" @click="searchReset">重置</a-button>
+                </span>
+              </a-col>
+            </a-row>
+          </a-form>
+        </div>
+        <!-- table区域-begin -->
+        <div>
+          <a-table
+            ref="table"
+            bordered
+            size="middle"
+            rowKey="id"
+            :columns="columns"
+            :dataSource="dataSource"
+            :pagination="ipagination"
+            :scroll="scroll"
+            :loading="loading"
+            :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
+            @change="handleTableChange"
+          >
+            <span slot="action" slot-scope="text, record">
+              <a @click="">查看</a>
+              <a-divider type="vertical" />
+              <a-popconfirm
+                title="确定删除吗?"
+                @confirm="() => handleDelete(record.id)"
+              >
+                <a>删除</a>
+              </a-popconfirm>
+            </span>
+          </a-table>
+        </div>
+        <!-- table区域-end -->
+      </a-card>
+    </a-col>
+  </a-row>
+</template>
+<script>
+import { postAction } from '@/api/manage'
+import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+export default {
+  name: 'ApprovalList',
+  mixins: [JeecgListMixin],
+  components: {},
+  data() {
+    return {
+      labelCol: {
+        span: 5,
+      },
+      wrapperCol: {
+        span: 18,
+        offset: 1,
+      },
+      queryParam: {},
+      depotFlag: '0',
+      customerFlag: '0',
+      columns: [
+        { title: '单据编号', dataIndex: 'number', width: 100, align: 'left' },
+        { title: '流程类型', dataIndex: 'username', width: 100, align: 'left' },
+        { title: '发起人', dataIndex: 'userType', width: 80, align: 'left' },
+        { title: '审核人', dataIndex: 'roleName', width: 100, align: 'left' },
+        { title: '创建时间', dataIndex: 'orgAbr', width: 100, align: 'left' },
+        { title: '审批时间', dataIndex: 'leaderFlagStr', width: 60, align: 'left' },
+        { title: '审批结果', dataIndex: 'phonenum', width: 80, align: 'left' },
+        {
+          title: '操作',
+          dataIndex: 'action',
+          scopedSlots: { customRender: 'action' },
+          align: 'center',
+          width: 100,
+        },
+      ],
+      url: {
+        list: '',
+        delete: '',
+      },
+    }
+  },
+  created() {
+  },
+  methods: {
+    searchQuery() {
+      this.loadData(1)
+      this.getSystemConfig()
+    },
+    searchReset() {
+      this.queryParam = {}
+      this.loadData(1)
+      this.getSystemConfig()
+    },
+  },
+}
+</script>
+<style scoped>
+@import '~@assets/less/common.less';
+</style>

+ 115 - 0
jshERP-web/src/views/task/FlowList.vue

@@ -0,0 +1,115 @@
+<template>
+  <a-row :gutter="24">
+    <a-col :md="24">
+      <a-card :style="cardStyle" :bordered="false">
+        <!-- 查询区域 -->
+        <div class="table-page-search-wrapper">
+          <a-form layout="inline" @keyup.enter.native="searchQuery">
+            <a-row :gutter="24">
+              <a-col :md="6" :sm="24">
+                <a-form-item label="流程类型" :labelCol="labelCol" :wrapperCol="wrapperCol">
+                  <a-select v-model="queryParam.processType" placeholder="请选择流程类型">
+                    <a-select-option value="0">全部</a-select-option>
+                    <a-select-option value="1">请假</a-select-option>
+                  </a-select>
+                </a-form-item>
+              </a-col>
+              <a-col :md="6" :sm="24">
+                <span style="float: left; overflow: hidden" class="table-page-search-submitButtons">
+                  <a-button type="primary" @click="searchQuery">查询</a-button>
+                  <a-button style="margin-left: 8px" @click="searchReset">重置</a-button>
+                </span>
+              </a-col>
+            </a-row>
+          </a-form>
+        </div>
+        <!-- table区域-begin -->
+        <div>
+          <a-table
+            ref="table"
+            bordered
+            size="middle"
+            rowKey="id"
+            :columns="columns"
+            :dataSource="dataSource"
+            :pagination="ipagination"
+            :scroll="scroll"
+            :loading="loading"
+            :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
+            @change="handleTableChange"
+          >
+            <span slot="action" slot-scope="text, record">
+              <a @click="">查看</a>
+              <a-divider type="vertical" />
+              <a-popconfirm
+                title="确定删除吗?"
+                @confirm="() => handleDelete(record.id)"
+              >
+                <a>删除</a>
+              </a-popconfirm>
+            </span>
+          </a-table>
+        </div>
+        <!-- table区域-end -->
+      </a-card>
+    </a-col>
+  </a-row>
+</template>
+<script>
+import { postAction } from '@/api/manage'
+import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+export default {
+  name: 'FlowList',
+  mixins: [JeecgListMixin],
+  components: {},
+  data() {
+    return {
+      labelCol: {
+        span: 5,
+      },
+      wrapperCol: {
+        span: 18,
+        offset: 1,
+      },
+      queryParam: {},
+      depotFlag: '0',
+      customerFlag: '0',
+      columns: [
+        { title: '流程类型', dataIndex: 'username', width: 100, align: 'left' },
+        { title: '流程节点1', dataIndex: 'userType', width: 80, align: 'left' },
+        { title: '流程节点2', dataIndex: 'roleName', width: 100, align: 'left' },
+        { title: '流程节点3', dataIndex: 'orgAbr', width: 100, align: 'left' },
+        { title: '流程节点4', dataIndex: 'leaderFlagStr', width: 60, align: 'left' },
+        { title: '备注', dataIndex: 'phonenum', width: 80, align: 'left' },
+        {
+          title: '操作',
+          dataIndex: 'action',
+          scopedSlots: { customRender: 'action' },
+          align: 'center',
+          width: 100,
+        },
+      ],
+      url: {
+        list: '',
+        delete: '',
+      },
+    }
+  },
+  created() {
+  },
+  methods: {
+    searchQuery() {
+      this.loadData(1)
+      this.getSystemConfig()
+    },
+    searchReset() {
+      this.queryParam = {}
+      this.loadData(1)
+      this.getSystemConfig()
+    },
+  },
+}
+</script>
+<style scoped>
+@import '~@assets/less/common.less';
+</style>

+ 146 - 0
jshERP-web/src/views/task/HandledList.vue

@@ -0,0 +1,146 @@
+<template>
+  <a-row :gutter="24">
+    <a-col :md="24">
+      <a-card :style="cardStyle" :bordered="false">
+        <!-- 查询区域 -->
+        <div class="table-page-search-wrapper">
+          <a-form layout="inline" @keyup.enter.native="searchQuery">
+            <a-row :gutter="24">
+              <a-col :md="6" :sm="24">
+                <a-form-item label="单据编号" :labelCol="labelCol" :wrapperCol="wrapperCol">
+                  <a-input placeholder="请输入单据编号" v-model="queryParam.loginName"></a-input>
+                </a-form-item>
+              </a-col>
+              <a-col :md="6" :sm="24">
+                <a-form-item label="流程类型" :labelCol="labelCol" :wrapperCol="wrapperCol">
+                  <a-select v-model="queryParam.processType" placeholder="请选择流程类型">
+                    <a-select-option value="0">全部</a-select-option>
+                    <a-select-option value="1">请假</a-select-option>
+                  </a-select>
+                </a-form-item>
+              </a-col>
+              <a-col :md="6" :sm="24">
+                <a-form-item label="状态" :labelCol="labelCol" :wrapperCol="wrapperCol">
+                  <a-select v-model="queryParam.processType" placeholder="请选择状态">
+                    <a-select-option value="0">全部</a-select-option>
+                    <a-select-option value="1">请假</a-select-option>
+                    <a-select-option value="2">报销</a-select-option>
+                    <a-select-option value="3">采购</a-select-option>
+                  </a-select>
+                </a-form-item>
+              </a-col>
+              <a-col :md="6" :sm="24">
+                <a-form-item label="审核时间" :labelCol="labelCol" :wrapperCol="wrapperCol">
+                  <a-range-picker
+                    style="width: 100%"
+                    v-model="queryParam.createTimeRange"
+                    format="YYYY-MM-DD"
+                    :placeholder="['开始时间', '结束时间']"
+                  />
+                </a-form-item>
+              </a-col>
+              <a-col :md="6" :sm="24">
+                <a-form-item label="发起人" :labelCol="labelCol" :wrapperCol="wrapperCol">
+                  <a-input placeholder="请输入发起人" v-model="queryParam.loginName"></a-input>
+                </a-form-item>
+              </a-col>
+              <a-col :md="6" :sm="24">
+                <span style="float: left; overflow: hidden" class="table-page-search-submitButtons">
+                  <a-button type="primary" @click="searchQuery">查询</a-button>
+                  <a-button style="margin-left: 8px" @click="searchReset">重置</a-button>
+                </span>
+              </a-col>
+            </a-row>
+          </a-form>
+        </div>
+        <!-- table区域-begin -->
+        <div>
+          <a-table
+            ref="table"
+            bordered
+            size="middle"
+            rowKey="id"
+            :columns="columns"
+            :dataSource="dataSource"
+            :pagination="ipagination"
+            :scroll="scroll"
+            :loading="loading"
+            :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
+            @change="handleTableChange"
+          >
+            <span slot="action" slot-scope="text, record">
+              <a @click="">查看</a>
+              <a-divider type="vertical" />
+              <a-popconfirm
+                title="确定删除吗?"
+                @confirm="() => handleDelete(record.id)"
+              >
+                <a>删除</a>
+              </a-popconfirm>
+            </span>
+          </a-table>
+        </div>
+        <!-- table区域-end -->
+      </a-card>
+    </a-col>
+  </a-row>
+</template>
+<script>
+import { postAction } from '@/api/manage'
+import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+export default {
+  name: 'HandledList',
+  mixins: [JeecgListMixin],
+  components: {},
+  data() {
+    return {
+      labelCol: {
+        span: 5,
+      },
+      wrapperCol: {
+        span: 18,
+        offset: 1,
+      },
+      queryParam: {},
+      depotFlag: '0',
+      customerFlag: '0',
+      columns: [
+        { title: '单据编号', dataIndex: 'number', width: 100, align: 'left' },
+        { title: '流程类型', dataIndex: 'username', width: 100, align: 'left' },
+        { title: '发起人', dataIndex: 'userType', width: 80, align: 'left' },
+        { title: '审核人', dataIndex: 'roleName', width: 100, align: 'left' },
+        { title: '创建时间', dataIndex: 'orgAbr', width: 100, align: 'left' },
+        { title: '审批时间', dataIndex: 'leaderFlagStr', width: 60, align: 'left' },
+        { title: '审批结果', dataIndex: 'phonenum', width: 80, align: 'left' },
+        {
+          title: '操作',
+          dataIndex: 'action',
+          scopedSlots: { customRender: 'action' },
+          align: 'center',
+          width: 100,
+        },
+      ],
+      url: {
+        list: '',
+        delete: '',
+      },
+    }
+  },
+  created() {
+  },
+  methods: {
+    searchQuery() {
+      this.loadData(1)
+      this.getSystemConfig()
+    },
+    searchReset() {
+      this.queryParam = {}
+      this.loadData(1)
+      this.getSystemConfig()
+    },
+  },
+}
+</script>
+<style scoped>
+@import '~@assets/less/common.less';
+</style>

+ 141 - 0
jshERP-web/src/views/task/InitiateList.vue

@@ -0,0 +1,141 @@
+<template>
+  <a-row :gutter="24">
+    <a-col :md="24">
+      <a-card :style="cardStyle" :bordered="false">
+        <!-- 查询区域 -->
+        <div class="table-page-search-wrapper">
+          <a-form layout="inline" @keyup.enter.native="searchQuery">
+            <a-row :gutter="24">
+              <a-col :md="6" :sm="24">
+                <a-form-item label="单据编号" :labelCol="labelCol" :wrapperCol="wrapperCol">
+                  <a-input placeholder="请输入单据编号" v-model="queryParam.loginName"></a-input>
+                </a-form-item>
+              </a-col>
+              <a-col :md="6" :sm="24">
+                <a-form-item label="流程类型" :labelCol="labelCol" :wrapperCol="wrapperCol">
+                  <a-select v-model="queryParam.processType" placeholder="请选择流程类型">
+                    <a-select-option value="0">全部</a-select-option>
+                    <a-select-option value="1">请假</a-select-option>
+                  </a-select>
+                </a-form-item>
+              </a-col>
+              <a-col :md="6" :sm="24">
+                <a-form-item label="状态" :labelCol="labelCol" :wrapperCol="wrapperCol">
+                  <a-select v-model="queryParam.processType" placeholder="请选择状态">
+                    <a-select-option value="0">全部</a-select-option>
+                    <a-select-option value="1">请假</a-select-option>
+                    <a-select-option value="2">报销</a-select-option>
+                    <a-select-option value="3">采购</a-select-option>
+                  </a-select>
+                </a-form-item>
+              </a-col>
+              <a-col :md="6" :sm="24">
+                <a-form-item label="创建时间" :labelCol="labelCol" :wrapperCol="wrapperCol">
+                  <a-range-picker
+                    style="width: 100%"
+                    v-model="queryParam.createTimeRange"
+                    format="YYYY-MM-DD"
+                    :placeholder="['开始时间', '结束时间']"
+                  />
+                </a-form-item>
+              </a-col>
+              <a-col :md="6" :sm="24">
+                <span style="float: left; overflow: hidden" class="table-page-search-submitButtons">
+                  <a-button type="primary" @click="searchQuery">查询</a-button>
+                  <a-button style="margin-left: 8px" @click="searchReset">重置</a-button>
+                </span>
+              </a-col>
+            </a-row>
+          </a-form>
+        </div>
+        <!-- table区域-begin -->
+        <div>
+          <a-table
+            ref="table"
+            bordered
+            size="middle"
+            rowKey="id"
+            :columns="columns"
+            :dataSource="dataSource"
+            :pagination="ipagination"
+            :scroll="scroll"
+            :loading="loading"
+            :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
+            @change="handleTableChange"
+          >
+            <span slot="action" slot-scope="text, record">
+              <a @click="">查看</a>
+              <a-divider type="vertical" />
+              <a-popconfirm
+                title="确定删除吗?"
+                @confirm="() => handleDelete(record.id)"
+              >
+                <a>删除</a>
+              </a-popconfirm>
+            </span>
+          </a-table>
+        </div>
+        <!-- table区域-end -->
+      </a-card>
+    </a-col>
+  </a-row>
+</template>
+<script>
+import { postAction } from '@/api/manage'
+import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+export default {
+  name: 'InitiateList',
+  mixins: [JeecgListMixin],
+  components: {},
+  data() {
+    return {
+      labelCol: {
+        span: 5,
+      },
+      wrapperCol: {
+        span: 18,
+        offset: 1,
+      },
+      queryParam: {},
+      depotFlag: '0',
+      customerFlag: '0',
+      columns: [
+        { title: '单据编号', dataIndex: 'number', width: 100, align: 'left' },
+        { title: '流程类型', dataIndex: 'username', width: 100, align: 'left' },
+        { title: '发起人', dataIndex: 'userType', width: 80, align: 'left' },
+        { title: '审核人', dataIndex: 'roleName', width: 100, align: 'left' },
+        { title: '创建时间', dataIndex: 'orgAbr', width: 100, align: 'left' },
+        { title: '审批时间', dataIndex: 'leaderFlagStr', width: 60, align: 'left' },
+        { title: '审批结果', dataIndex: 'phonenum', width: 80, align: 'left' },
+        {
+          title: '操作',
+          dataIndex: 'action',
+          scopedSlots: { customRender: 'action' },
+          align: 'center',
+          width: 100,
+        },
+      ],
+      url: {
+        list: '',
+        delete: '',
+      },
+    }
+  },
+  created() {
+  },
+  methods: {
+    searchQuery() {
+      this.loadData(1)
+      this.getSystemConfig()
+    },
+    searchReset() {
+      this.queryParam = {}
+      this.loadData(1)
+      this.getSystemConfig()
+    },
+  },
+}
+</script>
+<style scoped>
+@import '~@assets/less/common.less';
+</style>