Просмотр исходного кода

refactor(saleOrder): 重构销售订单表单布局和字段排列

liujt 5 месяцев назад
Родитель
Сommit
987ea57859

+ 196 - 77
src/views/saleManage/saleOrder/components/addDialogNew.vue

@@ -58,7 +58,7 @@
         </el-col>
       </el-row>
       <el-row>
-        <el-col :span="12">
+        <el-col :span="8">
           <el-form-item label="销售类型" prop="saleType">
             <DictSelection
               dictName="销售类型"
@@ -70,6 +70,83 @@
             </DictSelection>
           </el-form-item>
 
+          <el-form-item label="销售部门" prop="salesDeptId">
+            <ele-tree-select
+              clearable
+              :data="groupTreeData"
+              v-model="form.salesDeptId"
+              valueKey="id"
+              labelKey="name"
+              placeholder="请选择"
+              @change="change_principalDep"
+              default-expand-all
+            />
+          </el-form-item>
+
+          <el-form-item label="是否挂单" prop="isSuspend">
+            <el-radio-group v-model="form.isSuspend">
+              <el-radio :label="1">是</el-radio>
+              <el-radio :label="0">否</el-radio>
+            </el-radio-group>
+            <span v-if="form.isSuspend == 1" style="margin-left: 10px; font-size: 12px; color: #1890ff;">
+              挂单只能选择一个产品
+            </span>
+          </el-form-item>
+
+          <el-form-item label="发起人所属部门" prop="createDeptName">
+            <el-input v-model="form.createDeptName" :disabled="true"></el-input>
+          </el-form-item>
+
+          <el-form-item prop="productionRequirements" label="备注">
+            <el-input
+              clearable
+              v-model="form.productionRequirements"
+              placeholder="请输入"
+              type="textarea"
+            />
+          </el-form-item>
+
+          <!-- <el-form-item label="预销售订单编码" prop="preOrderNo">
+            <el-input
+              clearable
+              v-model="form.preOrderNo"
+              placeholder="请输入"
+            />
+          </el-form-item> -->
+
+          
+          
+          <!-- <el-form-item prop="productionRequirements" label="生产要求">
+            <el-input
+              clearable
+              v-model="form.productionRequirements"
+              placeholder="请输入"
+              type="textarea"
+            />
+          </el-form-item> -->
+        </el-col>
+
+        <el-col :span="8">
+          <el-form-item label="来源类型" prop="relationType">
+            <el-select
+              v-model="form.relationType"
+              filterable
+              clearable
+              style="width: 100%"
+              @change="clearContrcat"
+            >
+              <el-option :value="1" label="商机"></el-option>
+              <el-option :value="2" label="报价"></el-option>
+              <el-option :value="3" label="销售合同"></el-option>
+              <el-option :value="4" label="项目"></el-option>
+              <el-option
+                v-if="form.saleType == 4 || form.saleType == 6"
+                :value="5"
+                label="退货单"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+
           <el-form-item
             label="报价单"
             prop="relationCode"
@@ -150,69 +227,6 @@
             />
           </el-form-item>
 
-          <el-form-item label="销售部门" prop="salesDeptId">
-            <ele-tree-select
-              clearable
-              :data="groupTreeData"
-              v-model="form.salesDeptId"
-              valueKey="id"
-              labelKey="name"
-              placeholder="请选择"
-              @change="change_principalDep"
-              default-expand-all
-            />
-          </el-form-item>
-          <!-- <el-form-item label="预销售订单编码" prop="preOrderNo">
-            <el-input
-              clearable
-              v-model="form.preOrderNo"
-              placeholder="请输入"
-            />
-          </el-form-item> -->
-
-          <el-form-item prop="orderFiles" label="订单附件">
-            <fileMain v-model="form.orderFiles"></fileMain>
-          </el-form-item>
-          <el-form-item label="是否挂单" prop="isSuspend">
-            <el-radio-group v-model="form.isSuspend">
-              <el-radio :label="1">是</el-radio>
-              <el-radio :label="0">否</el-radio>
-            </el-radio-group>
-            <span v-if="form.isSuspend == 1" style="margin-left: 10px; font-size: 12px; color: #1890ff;">
-              挂单只能选择一个产品
-            </span>
-          </el-form-item>
-          <!-- <el-form-item prop="productionRequirements" label="生产要求">
-            <el-input
-              clearable
-              v-model="form.productionRequirements"
-              placeholder="请输入"
-              type="textarea"
-            />
-          </el-form-item> -->
-        </el-col>
-
-        <el-col :span="12">
-          <el-form-item label="来源类型" prop="relationType">
-            <el-select
-              v-model="form.relationType"
-              filterable
-              clearable
-              style="width: 100%"
-              @change="clearContrcat"
-            >
-              <el-option :value="1" label="商机"></el-option>
-              <el-option :value="2" label="报价"></el-option>
-              <el-option :value="3" label="销售合同"></el-option>
-              <el-option :value="4" label="项目"></el-option>
-              <el-option
-                v-if="form.saleType == 4 || form.saleType == 6"
-                :value="5"
-                label="退货单"
-              ></el-option>
-            </el-select>
-          </el-form-item>
-
           <el-form-item
             label="合同编号"
             prop="relationCode"
@@ -236,16 +250,6 @@
             />
           </el-form-item>
 
-          <el-form-item label="结算方式" prop="settlementMode">
-            <DictSelection
-              dictName="结算方式"
-              clearable
-              @itemChange="settlementModeChange"
-              v-model="form.settlementMode"
-            >
-            </DictSelection>
-          </el-form-item>
-
           <el-form-item
             label="总数"
             prop="totalPlanNum"
@@ -262,8 +266,123 @@
               </template>
             </el-input>
           </el-form-item>
-          <el-form-item label="发起人所属部门" prop="createDeptName">
-            <el-input v-model="form.createDeptName" :disabled="true"></el-input>
+
+          <el-form-item prop="orderFiles" label="订单附件">
+            <fileMain v-model="form.orderFiles"></fileMain>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="交易方式" prop="transactionMethods">
+            <!-- <DictSelection
+              dictName="结算方式"
+              clearable
+              @itemChange="settlementModeChange"
+              v-model="form.settlementMode"
+            >
+            </DictSelection> -->
+            <el-select
+              v-model="form.transactionMethods"
+              placeholder="请选择"
+              @change="onchangeLink"
+              style="width: 100%"
+            >
+              <el-option
+                v-for="item in transactionMethodsOp"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="发货模式" prop="shippingMode">
+            <!-- <DictSelection
+              dictName="结算方式"
+              clearable
+              @itemChange="settlementModeChange"
+              v-model="form.settlementMode"
+            >
+            </DictSelection> -->
+            <el-select
+              v-model="form.shippingMode"
+              placeholder="请选择"
+              @change="onchangeLink"
+              style="width: 100%"
+            >
+              <el-option
+                v-for="item in shippingModeOp"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="结算方式" prop="settlementMode">
+            <DictSelection
+              dictName="结算方式"
+              clearable
+              @itemChange="settlementModeChange"
+              v-model="form.settlementMode"
+            >
+            </DictSelection>
+          </el-form-item>
+          <el-form-item v-if="form.settlementMode == 1" label="结算日期范围" prop="trafficDate">
+            <!-- <el-date-picker
+              v-model="form.contractStartDate"
+              @change="setDeliveryDays"
+              type="date"
+              placeholder="选择日期"
+              style="width: 100%"
+            >
+            </el-date-picker> -->
+            <el-date-picker
+              style="width: 100%"
+              v-model="trafficDate"
+              type="daterange"
+              value-format="yyyy-MM-dd"
+              range-separator="至"
+              start-placeholder="开始日期"
+              end-placeholder="结束日期"
+              @change="trafficDateChange">
+            </el-date-picker>
+          </el-form-item>
+
+          <el-form-item v-if="form.settlementMode == 2" label="结算月份范围" prop="trafficDate">
+            <!-- <el-date-picker
+              v-model="form.contractEndDate"
+              type="date"
+              placeholder="选择日期"
+              style="width: 100%"
+            >
+            </el-date-picker> -->
+            <el-date-picker
+              v-model="trafficDate"
+              type="monthrange"
+              range-separator="至"
+              start-placeholder="开始月份"
+              end-placeholder="结束月份"
+              value-format="yyyy-MM"
+              style="width: 100%"
+              @change="trafficDateChange"
+            >
+            </el-date-picker>
+          </el-form-item>
+          <el-form-item  v-if="form.settlementMode == 2" label="收款日期" prop="receiptDate">
+            <el-input type="number" :min="1" :max="31" placeholder="请输入" v-model="form.receiptDate" @input="receiptDateChange">
+              <template slot="prepend">每月</template>
+              <template slot="append">日</template>
+            </el-input>
+          </el-form-item>
+          <el-form-item
+            label="期数"
+            prop="period"
+          >
+            <el-input type="number" :min="1" v-model="form.period">
+              <template slot="append">
+                <span>期</span>
+              </template>
+            </el-input>
           </el-form-item>
         </el-col>
       </el-row>
@@ -649,7 +768,7 @@
   import opportunityDialog from '@/views/financialManage/components/opportunityDialog.vue';
   import { mapGetters } from 'vuex';
   import personSelect from '@/components/CommomSelect/person-select.vue';
-  import { resetPassword } from '@/api/system/user';
+  import { shippingModeOp, transactionMethodsOp } from '@/enum/dict.js';
   export default {
     mixins: [dictMixins],
     components: {

+ 1 - 1
src/views/saleManage/saleOrder/index.vue

@@ -54,7 +54,7 @@
                   type="primary"
                   icon="el-icon-plus"
                   class="ele-btn-icon"
-                  @click="openEditNew('add', {})"
+                  @click="openEdit('add', {})"
                   v-if="$hasPermission('eom:saleorder:save')"
                 >
                   新建