Quellcode durchsuchen

Merge branch 'purchaseDev' into 'dev'

Purchase dev

See merge request new-business/drp-web!85
黄梓星 vor 2 Jahren
Ursprung
Commit
696cf23c71

+ 1 - 0
src/views/purchase/purchase-order/add/index.vue

@@ -101,6 +101,7 @@ export default {
       this.params.buyerName = nickName;
       this.params.puDept = deptId;
       this.params.puDeptName = deptName;
+      this.params.billDate = new Date().Format('yyyy-MM-dd');
       // this.params.status = '0';
     },
     setVisible(prop) {

+ 148 - 56
src/views/purchase/purchase-order/see/index.vue

@@ -162,48 +162,101 @@ export default {
           <el-col v-for="(column, index) in columns" :key="index" :span="column.span || 6">
             <el-form-item :prop="column.key" :label="column.title">
 
-              <el-input v-if="column.inputType === 'Input'" v-model="params[column.key]" :placeholder="column.placeholder"
-                :clearable="column.clearable" readonly style="width: 100%">
-              </el-input>
-              <dr-popover-select v-if="column.inputType === 'PopoverSelect'" v-model="params[column.key]" disabled
-                :value-key="column.valueKey" :source.sync="params" :title="column.title" :type="column.referName"
-                :multiple="column.multiple" :placeholder="column.placeholder" :data-mapping="column.dataMapping"
-                :query-params="column.queryParams">
-              </dr-popover-select>
+              <el-input v-if="column.inputType === 'Input'" 
+                v-model="params[column.key]" 
+                :placeholder="column.placeholder"
+                :clearable="column.clearable" 
+                readonly 
+                style="width: 100%"
+              ></el-input>
+              <dr-popover-select v-if="column.inputType === 'PopoverSelect'" 
+                v-model="params[column.key]" 
+                disabled
+                :value-key="column.valueKey" 
+                :source.sync="params" 
+                :title="column.title" 
+                :type="column.referName"
+                :multiple="column.multiple" 
+                :placeholder="column.placeholder" 
+                :data-mapping="column.dataMapping"
+                :query-params="column.queryParams"
+              ></dr-popover-select>
 
-              <el-input v-if="column.inputType === 'Textarea'" v-model="params[column.key]" type="textarea"
-                :placeholder="column.placeholder" :clearable="column.clearable" readonly style="width: 100%">
-              </el-input>
+              <el-input v-if="column.inputType === 'Textarea'" 
+                v-model="params[column.key]" 
+                type="textarea"
+                :placeholder="column.placeholder" 
+                :clearable="column.clearable" 
+                readonly 
+                style="width: 100%"
+              ></el-input>
 
-              <el-input-number v-if="column.inputType === 'InputNumber'" v-model="params[column.key]"
-                :controls-position="column.controlsPosition" :placeholder="column.placeholder"
-                :clearable="column.clearable" disabled style="width: 100%">
-              </el-input-number>
-              <el-select v-if="column.inputType === 'Select'" v-model="params[column.key]" disabled size="mini"
-                :clearable="column.clearable" :placeholder="column.placeholder" style="width: 100%">
-                <el-option v-for="item in dict.type[column.referName]" :key="item.value" :label="item.label"
-                  :value="item.value">
+              <el-input-number v-if="column.inputType === 'InputNumber'" 
+                v-model="params[column.key]"
+                :controls-position="column.controlsPosition" 
+                :placeholder="column.placeholder"
+                :clearable="column.clearable" 
+                disabled 
+                style="width: 100%"
+              ></el-input-number>
+              <el-select v-if="column.inputType === 'Select'" 
+                v-model="params[column.key]" 
+                disabled 
+                size="mini"
+                :clearable="column.clearable" 
+                :placeholder="column.placeholder" 
+                style="width: 100%">
+                <el-option 
+                  v-for="item in dict.type[column.referName]" 
+                  :key="item.value" 
+                  :label="item.label"
+                  :value="item.value"
+                >
                 </el-option>
               </el-select>
-              <el-select v-if="column.inputType === 'TagSelect'" v-model="params[column.key]" multiple clearable
-                collapse-tags :placeholder="column.placeholder" :clearable="column.clearable" disabled
+              <el-select v-if="column.inputType === 'TagSelect'" 
+                v-model="params[column.key]" 
+                multiple 
+                clearable
+                collapse-tags 
+                :placeholder="column.placeholder" 
+                :clearable="column.clearable" 
+                disabled
                 style="width: 100%">
                 <template #prefix>
-                  <el-icon class="el-icon-view" style="cursor: pointer" @click.stop="$message.info(234)"></el-icon>
+                  <el-icon class="el-icon-view" 
+                    style="cursor: pointer" 
+                    @click.stop="$message.info(234)">
+                  </el-icon>
                 </template>
-                <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
+                <el-option 
+                  v-for="item in options" 
+                  :key="item.value" 
+                  :label="item.label" 
+                  :value="item.value"
+                >
                 </el-option>
               </el-select>
-              <el-date-picker v-if="column.inputType === 'DatePicker'" v-model="params[column.key]" :type="column.type"
-                :placeholder="column.placeholder" :clearable="column.clearable" readonly
-                :picker-options="column.pickerOptions" style="width: 100%">
-              </el-date-picker>
-              <el-checkbox v-if="column.inputType === 'Checkbox'" v-model="params[column.key]" disabled true-label="Y"
-                false-label="N">
-              </el-checkbox>
-              <file-upload-center v-if="column.inputType === 'Upload'" v-model="params[column.key]"
-                :file-type="column.fileType" :disabled="true">
-              </file-upload-center>
+              <el-date-picker v-if="column.inputType === 'DatePicker'" 
+                v-model="params[column.key]" 
+                :type="column.type"
+                :placeholder="column.placeholder" 
+                :clearable="column.clearable" 
+                readonly
+                :picker-options="column.pickerOptions" 
+                style="width: 100%"
+              ></el-date-picker>
+              <el-checkbox v-if="column.inputType === 'Checkbox'" 
+                v-model="params[column.key]" 
+                disabled 
+                true-label="Y"
+                false-label="N"
+              ></el-checkbox>
+              <file-upload-center v-if="column.inputType === 'Upload'" 
+                v-model="params[column.key]"
+                :file-type="column.fileType" 
+                :disabled="true"
+              ></file-upload-center>
             </el-form-item>
           </el-col>
         </el-row>
@@ -215,40 +268,79 @@ export default {
         position: 'relative',
       }" style="margin: 10px">
         <el-tabs v-model="tabName" style="width: 100%">
-          <el-tab-pane v-for="(column, index) in tabColumns" :key="index" :label="column.title" :name="column.key">
+          <el-tab-pane 
+            v-for="(column, index) in tabColumns" 
+            :key="index" 
+            :label="column.title" 
+            :name="column.key"
+          >
             <el-table :data="params[column.key]" style="width: 100%">
-              <el-table-column v-for="(cColumn, cIndex) in column.tableColumns" :key="cIndex" :prop="cColumn.key"
-                :label="cColumn.title" :width="cColumn.width || 80">
+              <el-table-column 
+                v-for="(cColumn, cIndex) in column.tableColumns" 
+                :key="cIndex" 
+                :prop="cColumn.key"
+                :label="cColumn.title" 
+                :width="cColumn.width || 80"
+              >
                 <template slot-scope="scope">
                   <el-tag v-if="cColumn.key === 'index'">
                     {{ scope.$index + 1 }}
                   </el-tag>
-                  <el-input v-if="cColumn.inputType === 'Input'" v-model="scope.row[cColumn.key]"
-                    :placeholder="cColumn.placeholder" :clearable="cColumn.clearable" readonly size="mini"
-                    style="width: 100%"></el-input>
+                  <el-input v-if="cColumn.inputType === 'Input'" 
+                    v-model="scope.row[cColumn.key]"
+                    :placeholder="cColumn.placeholder" 
+                    :clearable="cColumn.clearable" 
+                    readonly 
+                    size="mini"
+                    style="width: 100%"
+                  ></el-input>
 
                   <!--  -->
-                  <dr-popover-select v-if="cColumn.inputType === 'PopoverSelect'" v-model="scope.row[cColumn.key]"
-                    :source.sync="scope.row" :title="cColumn.title" :value-key="cColumn.valueKey" disabled
-                    :type="cColumn.referName" :multiple="cColumn.multiple" :placeholder="cColumn.placeholder"
-                    :data-mapping="cColumn.dataMapping" :query-params="cColumn.queryParams(scope.row)" size="mini">
-                  </dr-popover-select>
+                  <dr-popover-select v-if="cColumn.inputType === 'PopoverSelect'"
+                    v-model="scope.row[cColumn.key]"
+                    :source.sync="scope.row" 
+                    :title="cColumn.title" 
+                    :value-key="cColumn.valueKey" 
+                    disabled
+                    :type="cColumn.referName" 
+                    :multiple="cColumn.multiple" 
+                    :placeholder="cColumn.placeholder"
+                    :data-mapping="cColumn.dataMapping" 
+                    :query-params="cColumn.queryParams" 
+                    size="mini"
+                  ></dr-popover-select>
 
-                  <el-input-number v-if="cColumn.inputType === 'InputNumber'" v-model="scope.row[cColumn.key]"
-                    :controls-position="cColumn.controlsPosition" :placeholder="cColumn.placeholder"
-                    :clearable="cColumn.clearable" disabled size="mini" style="width: 100%">
-                  </el-input-number>
+                  <el-input-number v-if="cColumn.inputType === 'InputNumber'" 
+                    v-model="scope.row[cColumn.key]"
+                    :controls-position="cColumn.controlsPosition" 
+                    :placeholder="cColumn.placeholder"
+                    :clearable="cColumn.clearable" 
+                    disabled 
+                    size="mini" 
+                    style="width: 100%"
+                  ></el-input-number>
 
-                  <el-select v-if="cColumn.inputType === 'Select'" v-model="scope.row[cColumn.key]" disabled size="mini"
-                    :clearable="cColumn.clearable" :placeholder="cColumn.placeholder" style="width: 100%">
-                    <el-option v-for="item in dict.type[cColumn.referName]" :key="item.value" :label="item.label"
-                      :value="item.value">
-                    </el-option>
+                  <el-select v-if="cColumn.inputType === 'Select'" 
+                    v-model="scope.row[cColumn.key]" 
+                    disabled 
+                    size="mini"
+                    :clearable="cColumn.clearable" 
+                    :placeholder="cColumn.placeholder" 
+                    style="width: 100%">
+                    <el-option 
+                      v-for="item in dict.type[cColumn.referName]" 
+                      :key="item.value" 
+                      :label="item.label"
+                      :value="item.value"
+                    ></el-option>
                   </el-select>
 
-                  <el-checkbox v-if="cColumn.inputType === 'Checkbox'" v-model="scope.row[cColumn.key]" disabled
-                    true-label="Y" false-label="N">
-                  </el-checkbox>
+                  <el-checkbox v-if="cColumn.inputType === 'Checkbox'" 
+                    v-model="scope.row[cColumn.key]" 
+                    disabled
+                    true-label="Y" 
+                    false-label="N"
+                  ></el-checkbox>
 
                 </template>
               </el-table-column>

+ 24 - 0
src/views/purchase/transferOrder/add.vue

@@ -276,6 +276,15 @@
               </el-form-item>
             </template>
           </el-table-column>
+          <el-table-column show-overflow-tooltip label="调入部门" align="center" prop="storageDeptName" width="230px">
+            <template slot-scope="scope">
+              <el-form-item class="hang">
+                <el-input clearable :disabled="sonDisable" size="small" v-model="scope.row.storageDeptName" @focus="chooseMxBM(scope.$index, 'DEPT_PARAM', true, '调入部门', basicForm.storageInventoryOrg)"">
+                  <el-button size="small" :disabled="sonDisable" slot="append" icon="el-icon-more" @click="chooseMxBM(scope.$index, 'DEPT_PARAM', true, '调入部门', basicForm.storageInventoryOrg)"></el-button>
+                </el-input>
+              </el-form-item>
+            </template>
+          </el-table-column>
           <el-table-column show-overflow-tooltip label="调入货位" align="center" prop="storageAllocationName" width="230px">
             <template slot-scope="scope">
               <el-form-item class="hang">
@@ -825,6 +834,8 @@ export default {
         storageWarehouseName: null,
         deliveryAllocationName: null,
         deliveryAllocation: null,
+        storageDept: null,
+        storageDeptName: null,
         storageAllocationName: null,
         storageAllocation: null,
         patchNo: null,
@@ -912,6 +923,10 @@ export default {
         this.materialInfo[this.tableIndex].storageAllocationName = selection[0].name
         this.materialInfo[this.tableIndex].storageAllocation = selection[0].id
       }
+      if (this.referCondition.title == '调入部门') {
+        this.materialInfo[this.tableIndex].storageDeptName = selection[0].name
+        this.materialInfo[this.tableIndex].storageDept = selection[0].id
+      }
     },
     chooseTreeRefer(type, isPage, title) {
       this.referCondition.type = type
@@ -967,6 +982,15 @@ export default {
       this.referCondition.stordocId = stordocId
       this.$refs.refer.init(this.referCondition)
     },
+    // 明细行选择调入部门
+    chooseMxBM(index, type, isPage, title, pkOrg) {
+      this.tableIndex = index
+      this.referCondition.type = type
+      this.referCondition.isPage = isPage
+      this.referCondition.title = title
+      this.referCondition.pkOrg = pkOrg
+      this.$refs.refer.init(this.referCondition)
+    },
   }
 }
 </script>