ソースを参照

添加订单添加逻辑

lex 1 年間 前
コミット
07e03f0584

+ 134 - 121
src/views/businessManager/orderManager/financeManager-taoqi.vue

@@ -467,7 +467,11 @@
             prop="insertOrderType"
             :label-width="formLabelWidth"
           >
-            <el-radio-group v-model="insertOrderType" :disabled="!isAdd">
+            <el-radio-group
+              v-model="insertOrderType"
+              :disabled="!isAdd"
+              @change="form.calenderId = null"
+            >
               <el-radio :label="1">个人订单</el-radio>
               <el-radio :label="2">学校订单</el-radio>
               <el-radio :label="3">其它订单</el-radio>
@@ -559,134 +563,137 @@
             >
             </el-date-picker>
           </el-form-item>
-          <el-form-item
-            label="收入类型"
-            v-if="isAdd"
-            :label-width="formLabelWidth"
-            prop="applyType"
-          >
-            <el-select
-              class="multiple"
-              style="width: 100% !important"
-              v-model.trim="form.applyType"
-              @change="changeApplyType"
-              filterable
-              clearable
-              :disabled="!isAdd"
-              placeholder="请选择收入类型"
+          <div v-if="!form.calenderId">
+            <el-form-item
+              label="收入类型"
+              v-if="isAdd"
+              :label-width="formLabelWidth"
+              prop="applyType"
             >
-              <el-option
-                v-for="(item, index) in orderServerList"
+              <el-select
+                class="multiple"
+                style="width: 100% !important"
+                v-model.trim="form.applyType"
+                @change="changeApplyType"
+                filterable
+                clearable
+                :disabled="!isAdd"
+                placeholder="请选择收入类型"
+              >
+                <el-option
+                  v-for="(item, index) in orderServerList"
+                  :key="index"
+                  :label="item.label"
+                  :value="item.value"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+            <div v-if="form.applyType == 'SELL'">
+              <div
+                v-for="(goodsList, index) in form.goodsList"
                 :key="index"
-                :label="item.label"
-                :value="item.value"
-              ></el-option>
-            </el-select>
-          </el-form-item>
-          <div v-if="form.applyType == 'SELL'">
-            <div
-              v-for="(goodsList, index) in form.goodsList"
-              :key="index"
-              class="shopListWrap"
-            >
-              <el-form-item
-                :label="'商品名称' + (index + 1)"
-                :label-width="formLabelWidth"
-                class="setWidth"
-                :prop="'goodsList.' + index + '.id'"
-                :rules="[
-                  { required: true, message: '请选择商品', trigger: 'change' }
-                ]"
+                class="shopListWrap"
               >
-                <el-select
-                  v-if="isAdd"
-                  v-model.trim="goodsList.id"
-                  filterable
-                  :disabled="!isAdd || !form.routeOrganId"
-                  @change="checkgoods"
-                  placeholder="请选择商品"
+                <el-form-item
+                  :label="'商品名称' + (index + 1)"
+                  :label-width="formLabelWidth"
+                  class="setWidth"
+                  :prop="'goodsList.' + index + '.id'"
+                  :rules="[
+                    { required: true, message: '请选择商品', trigger: 'change' }
+                  ]"
                 >
-                  <el-option
-                    v-for="(item, index) in shopList"
-                    :key="index"
-                    :label="item.name"
-                    :value="item.id"
+                  <el-select
+                    v-if="isAdd"
+                    v-model.trim="goodsList.id"
+                    filterable
+                    :disabled="!isAdd || !form.routeOrganId"
+                    @change="checkgoods"
+                    placeholder="请选择商品"
                   >
-                    <span style="float: left"
-                      >{{ item.name
-                      }}<span v-if="item.sn">({{ item.sn }})</span></span
+                    <el-option
+                      v-for="(item, index) in shopList"
+                      :key="index"
+                      :label="item.name"
+                      :value="item.id"
                     >
-                    <span style="float: right; color: #8492a6; font-size: 13px"
-                      >{{ item.discountPrice || 0 }}元</span
-                    >
-                  </el-option>
-                </el-select>
-                <p class="showShop" v-else>
-                  <Tooltip :content="goodsList.id | filterShopId" />
-                </p>
-              </el-form-item>
-              <el-form-item
-                class="setWidth"
-                style="margin: 0 10px"
-                :prop="'goodsList.' + index + '.number'"
-                :rules="validAmount"
-              >
-                <!-- <el-input-number style="width: 160px;" v-model="goodsList.number" placeholder="商品数量"></el-input-number> -->
-                <el-input
-                  type="age"
-                  style="width: 160px"
+                      <span style="float: left"
+                        >{{ item.name
+                        }}<span v-if="item.sn">({{ item.sn }})</span></span
+                      >
+                      <span
+                        style="float: right; color: #8492a6; font-size: 13px"
+                        >{{ item.discountPrice || 0 }}元</span
+                      >
+                    </el-option>
+                  </el-select>
+                  <p class="showShop" v-else>
+                    <Tooltip :content="goodsList.id | filterShopId" />
+                  </p>
+                </el-form-item>
+                <el-form-item
+                  class="setWidth"
+                  style="margin: 0 10px"
+                  :prop="'goodsList.' + index + '.number'"
+                  :rules="validAmount"
+                >
+                  <!-- <el-input-number style="width: 160px;" v-model="goodsList.number" placeholder="商品数量"></el-input-number> -->
+                  <el-input
+                    type="age"
+                    style="width: 160px"
+                    :disabled="!isAdd || !form.routeOrganId"
+                    clearable
+                    placeholder="请输入商品数量"
+                    @mousewheel.native.prevent
+                    v-model.number="goodsList.number"
+                  ></el-input>
+                </el-form-item>
+                <el-button
+                  icon="el-icon-minus"
+                  :disabled="!isAdd || !form.routeOrganId"
+                  v-if="form.goodsList.length > 1"
+                  circle
+                  style="height: 40px"
+                  @click.prevent="removeGoodsList(goodsList)"
+                ></el-button>
+                <el-button
+                  icon="el-icon-plus"
                   :disabled="!isAdd || !form.routeOrganId"
-                  clearable
-                  placeholder="请输入商品数量"
-                  @mousewheel.native.prevent
-                  v-model.number="goodsList.number"
-                ></el-input>
-              </el-form-item>
-              <el-button
-                icon="el-icon-minus"
-                :disabled="!isAdd || !form.routeOrganId"
-                v-if="form.goodsList.length > 1"
-                circle
-                style="height: 40px"
-                @click.prevent="removeGoodsList(goodsList)"
-              ></el-button>
-              <el-button
-                icon="el-icon-plus"
-                :disabled="!isAdd || !form.routeOrganId"
-                @click.prevent="addGoodsList"
-                circle
-                style="margin-left: 5px; height: 40px"
-              ></el-button>
+                  @click.prevent="addGoodsList"
+                  circle
+                  style="margin-left: 5px; height: 40px"
+                ></el-button>
+              </div>
             </div>
+            <el-form-item
+              label="销售金额"
+              v-if="form.applyType == 'SELL' || !isAdd"
+              prop="saleAmount"
+              :label-width="formLabelWidth"
+            >
+              <el-input
+                v-model="form.saleAmount"
+                @mousewheel.native.prevent
+                type="number"
+                :disabled="!isAdd"
+                placeholder="请输入销售金额"
+              />
+            </el-form-item>
+            <el-form-item
+              label="服务金额"
+              v-if="form.applyType == 'SERVICE' || !isAdd"
+              prop="serviceAmount"
+              :label-width="formLabelWidth"
+            >
+              <el-input
+                type="number"
+                @mousewheel.native.prevent
+                :disabled="!isAdd"
+                v-model="form.serviceAmount"
+                placeholder="请输入收入金额"
+              />
+            </el-form-item>
           </div>
-          <el-form-item
-            label="销售金额"
-            v-if="form.applyType == 'SELL' || !isAdd"
-            prop="saleAmount"
-            :label-width="formLabelWidth"
-          >
-            <el-input
-              v-model="form.saleAmount"
-              @mousewheel.native.prevent
-              type="number"
-              :disabled="!isAdd"
-              placeholder="请输入销售金额"
-            />
-          </el-form-item>
-          <el-form-item
-            label="服务金额"
-            v-if="form.applyType == 'SERVICE' || !isAdd"
-            prop="serviceAmount"
-            :label-width="formLabelWidth"
-          >
-            <el-input
-              type="number"
-              @mousewheel.native.prevent
-              :disabled="!isAdd"
-              v-model="form.serviceAmount"
-              placeholder="请输入收入金额"
-            />
-          </el-form-item>
           <div class="lookTitle">其它</div>
           <el-form-item label="备注" prop="memo" :label-width="formLabelWidth">
             <el-input
@@ -900,13 +907,19 @@ export default {
       this.$refs[formName].validate(valid => {
         if (valid) {
           let form = JSON.parse(JSON.stringify(this.form));
-          if (!form.saleAmount && !form.serviceAmount) {
+          if (!form.calenderId && !form.saleAmount && !form.serviceAmount) {
             this.$message.error("请输入销售收入或服务收入");
             return;
           }
           if (!form.saleAmount) {
             form.goodsList = null;
           }
+          if (form.calenderId) {
+            form.goodsList = null;
+            form.saleAmount = null;
+            form.serviceAmount = null;
+            form.applyType = null;
+          }
           let goodsJson = {};
           for (let i in form.goodsList) {
             goodsJson[form.goodsList[i]["id"]] = form.goodsList[i]["number"];

+ 135 - 121
src/views/businessManager/orderManager/financeManager.vue

@@ -509,7 +509,11 @@
             prop="insertOrderType"
             :label-width="formLabelWidth"
           >
-            <el-radio-group v-model="insertOrderType" :disabled="!isAdd">
+            <el-radio-group
+              v-model="insertOrderType"
+              :disabled="!isAdd"
+              @change="form.calenderId = null"
+            >
               <el-radio :label="1">个人订单</el-radio>
               <el-radio :label="2">学校订单</el-radio>
               <el-radio :label="3">其它订单</el-radio>
@@ -539,6 +543,7 @@
               placeholder="请选择缴费单号"
               style="width: 100% !important"
               filterable
+              clearable
             >
               <el-option
                 v-for="(item, index) in getCalenderList"
@@ -601,134 +606,137 @@
             >
             </el-date-picker>
           </el-form-item>
-          <el-form-item
-            label="收入类型"
-            v-if="isAdd"
-            :label-width="formLabelWidth"
-            prop="applyType"
-          >
-            <el-select
-              class="multiple"
-              style="width: 100% !important"
-              v-model.trim="form.applyType"
-              @change="changeApplyType"
-              filterable
-              clearable
-              :disabled="!isAdd"
-              placeholder="请选择收入类型"
+          <div v-if="!form.calenderId">
+            <el-form-item
+              label="收入类型"
+              v-if="isAdd"
+              :label-width="formLabelWidth"
+              prop="applyType"
             >
-              <el-option
-                v-for="(item, index) in orderServerList"
+              <el-select
+                class="multiple"
+                style="width: 100% !important"
+                v-model.trim="form.applyType"
+                @change="changeApplyType"
+                filterable
+                clearable
+                :disabled="!isAdd"
+                placeholder="请选择收入类型"
+              >
+                <el-option
+                  v-for="(item, index) in orderServerList"
+                  :key="index"
+                  :label="item.label"
+                  :value="item.value"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+            <div v-if="form.applyType == 'SELL'">
+              <div
+                v-for="(goodsList, index) in form.goodsList"
                 :key="index"
-                :label="item.label"
-                :value="item.value"
-              ></el-option>
-            </el-select>
-          </el-form-item>
-          <div v-if="form.applyType == 'SELL'">
-            <div
-              v-for="(goodsList, index) in form.goodsList"
-              :key="index"
-              class="shopListWrap"
-            >
-              <el-form-item
-                :label="'商品名称' + (index + 1)"
-                :label-width="formLabelWidth"
-                class="setWidth"
-                :prop="'goodsList.' + index + '.id'"
-                :rules="[
-                  { required: true, message: '请选择商品', trigger: 'change' }
-                ]"
+                class="shopListWrap"
               >
-                <el-select
-                  v-if="isAdd"
-                  v-model.trim="goodsList.id"
-                  filterable
-                  :disabled="!isAdd || !form.routeOrganId"
-                  @change="checkgoods"
-                  placeholder="请选择商品"
+                <el-form-item
+                  :label="'商品名称' + (index + 1)"
+                  :label-width="formLabelWidth"
+                  class="setWidth"
+                  :prop="'goodsList.' + index + '.id'"
+                  :rules="[
+                    { required: true, message: '请选择商品', trigger: 'change' }
+                  ]"
                 >
-                  <el-option
-                    v-for="(item, index) in shopList"
-                    :key="index"
-                    :label="item.name"
-                    :value="item.id"
+                  <el-select
+                    v-if="isAdd"
+                    v-model.trim="goodsList.id"
+                    filterable
+                    :disabled="!isAdd || !form.routeOrganId"
+                    @change="checkgoods"
+                    placeholder="请选择商品"
                   >
-                    <span style="float: left"
-                      >{{ item.name
-                      }}<span v-if="item.sn">({{ item.sn }})</span></span
-                    >
-                    <span style="float: right; color: #8492a6; font-size: 13px"
-                      >{{ item.discountPrice || 0 }}元</span
+                    <el-option
+                      v-for="(item, index) in shopList"
+                      :key="index"
+                      :label="item.name"
+                      :value="item.id"
                     >
-                  </el-option>
-                </el-select>
-                <p class="showShop" v-else>
-                  <Tooltip :content="goodsList.id | filterShopId" />
-                </p>
-              </el-form-item>
-              <el-form-item
-                class="setWidth"
-                style="margin: 0 10px"
-                :prop="'goodsList.' + index + '.number'"
-                :rules="validAmount"
-              >
-                <!-- <el-input-number style="width: 160px;" v-model="goodsList.number" placeholder="商品数量"></el-input-number> -->
-                <el-input
-                  type="age"
-                  style="width: 160px"
+                      <span style="float: left"
+                        >{{ item.name
+                        }}<span v-if="item.sn">({{ item.sn }})</span></span
+                      >
+                      <span
+                        style="float: right; color: #8492a6; font-size: 13px"
+                        >{{ item.discountPrice || 0 }}元</span
+                      >
+                    </el-option>
+                  </el-select>
+                  <p class="showShop" v-else>
+                    <Tooltip :content="goodsList.id | filterShopId" />
+                  </p>
+                </el-form-item>
+                <el-form-item
+                  class="setWidth"
+                  style="margin: 0 10px"
+                  :prop="'goodsList.' + index + '.number'"
+                  :rules="validAmount"
+                >
+                  <!-- <el-input-number style="width: 160px;" v-model="goodsList.number" placeholder="商品数量"></el-input-number> -->
+                  <el-input
+                    type="age"
+                    style="width: 160px"
+                    :disabled="!isAdd || !form.routeOrganId"
+                    clearable
+                    placeholder="请输入商品数量"
+                    @mousewheel.native.prevent
+                    v-model.number="goodsList.number"
+                  ></el-input>
+                </el-form-item>
+                <el-button
+                  icon="el-icon-minus"
                   :disabled="!isAdd || !form.routeOrganId"
-                  clearable
-                  placeholder="请输入商品数量"
-                  @mousewheel.native.prevent
-                  v-model.number="goodsList.number"
-                ></el-input>
-              </el-form-item>
-              <el-button
-                icon="el-icon-minus"
-                :disabled="!isAdd || !form.routeOrganId"
-                v-if="form.goodsList.length > 1"
-                circle
-                style="height: 40px"
-                @click.prevent="removeGoodsList(goodsList)"
-              ></el-button>
-              <el-button
-                icon="el-icon-plus"
-                :disabled="!isAdd || !form.routeOrganId"
-                @click.prevent="addGoodsList"
-                circle
-                style="margin-left: 5px; height: 40px"
-              ></el-button>
+                  v-if="form.goodsList.length > 1"
+                  circle
+                  style="height: 40px"
+                  @click.prevent="removeGoodsList(goodsList)"
+                ></el-button>
+                <el-button
+                  icon="el-icon-plus"
+                  :disabled="!isAdd || !form.routeOrganId"
+                  @click.prevent="addGoodsList"
+                  circle
+                  style="margin-left: 5px; height: 40px"
+                ></el-button>
+              </div>
             </div>
+            <el-form-item
+              label="销售金额"
+              v-if="form.applyType == 'SELL' || !isAdd"
+              prop="saleAmount"
+              :label-width="formLabelWidth"
+            >
+              <el-input
+                v-model="form.saleAmount"
+                @mousewheel.native.prevent
+                type="number"
+                :disabled="!isAdd"
+                placeholder="请输入销售金额"
+              />
+            </el-form-item>
+            <el-form-item
+              label="服务金额"
+              v-if="form.applyType == 'SERVICE' || !isAdd"
+              prop="serviceAmount"
+              :label-width="formLabelWidth"
+            >
+              <el-input
+                type="number"
+                @mousewheel.native.prevent
+                :disabled="!isAdd"
+                v-model="form.serviceAmount"
+                placeholder="请输入收入金额"
+              />
+            </el-form-item>
           </div>
-          <el-form-item
-            label="销售金额"
-            v-if="form.applyType == 'SELL' || !isAdd"
-            prop="saleAmount"
-            :label-width="formLabelWidth"
-          >
-            <el-input
-              v-model="form.saleAmount"
-              @mousewheel.native.prevent
-              type="number"
-              :disabled="!isAdd"
-              placeholder="请输入销售金额"
-            />
-          </el-form-item>
-          <el-form-item
-            label="服务金额"
-            v-if="form.applyType == 'SERVICE' || !isAdd"
-            prop="serviceAmount"
-            :label-width="formLabelWidth"
-          >
-            <el-input
-              type="number"
-              @mousewheel.native.prevent
-              :disabled="!isAdd"
-              v-model="form.serviceAmount"
-              placeholder="请输入收入金额"
-            />
-          </el-form-item>
           <div class="lookTitle">其它</div>
           <el-form-item label="备注" prop="memo" :label-width="formLabelWidth">
             <el-input
@@ -942,13 +950,19 @@ export default {
       this.$refs[formName].validate(valid => {
         if (valid) {
           let form = JSON.parse(JSON.stringify(this.form));
-          if (!form.saleAmount && !form.serviceAmount) {
+          if (!form.calenderId && !form.saleAmount && !form.serviceAmount) {
             this.$message.error("请输入销售收入或服务收入");
             return;
           }
           if (!form.saleAmount) {
             form.goodsList = null;
           }
+          if (form.calenderId) {
+            form.goodsList = null;
+            form.saleAmount = null;
+            form.serviceAmount = null;
+            form.applyType = null;
+          }
           let goodsJson = {};
           for (let i in form.goodsList) {
             goodsJson[form.goodsList[i]["id"]] = form.goodsList[i]["number"];

+ 1 - 0
src/views/teamBuild/components/soundSetComponents/chioseMusic.vue

@@ -12,6 +12,7 @@
                 :disabled="basdisabled"
                 v-model="music.musical"
                 clearable
+                filterable
                 @change="
                   val => {
                     chioseMusic(val, music);