Browse Source

【crm:优化产品及产品分类】

ZanGe丶 1 year ago
parent
commit
dde61c29a0

+ 0 - 0
src/api/crm/productCategory/index.ts → src/api/crm/product/productCategory/index.ts


+ 1 - 1
src/views/crm/product/ProductDetail.vue

@@ -33,7 +33,7 @@
 </template>
 </template>
 <script setup lang="ts">
 <script setup lang="ts">
 import { DICT_TYPE } from '@/utils/dict'
 import { DICT_TYPE } from '@/utils/dict'
-import * as ProductCategoryApi from '@/api/crm/productCategory'
+import * as ProductCategoryApi from '@/api/crm/product/productCategory'
 import * as ProductApi from '@/api/crm/product'
 import * as ProductApi from '@/api/crm/product'
 import { formatDate } from '@/utils/formatTime'
 import { formatDate } from '@/utils/formatTime'
 import { fenToYuan } from '@/utils'
 import { fenToYuan } from '@/utils'

+ 82 - 58
src/views/crm/product/ProductForm.vue

@@ -8,63 +8,87 @@
       label-width="100px"
       label-width="100px"
       v-loading="formLoading"
       v-loading="formLoading"
     >
     >
-      <el-form-item label="产品名称" prop="name">
-        <el-input v-model="formData.name" placeholder="请输入产品名称" />
-      </el-form-item>
-      <el-form-item label="产品编码" prop="no">
-        <el-input v-model="formData.no" placeholder="请输入产品编码" />
-      </el-form-item>
-      <el-form-item label="单位" prop="unit">
-        <el-select v-model="formData.unit" class="w-1/1" placeholder="请选择单位">
-          <el-option
-            v-for="dict in getIntDictOptions(DICT_TYPE.PRODUCT_UNIT)"
-            :key="dict.value"
-            :label="dict.label"
-            :value="dict.value"
-          />
-        </el-select>
-      </el-form-item>
-      <el-form-item label="价格" prop="price">
-        <el-input type="number" v-model="formData.price" placeholder="请输入价格" />
-      </el-form-item>
-      <el-form-item label="状态" prop="status">
-        <el-select v-model="formData.status" placeholder="请选择状态">
-          <el-option
-            v-for="dict in getIntDictOptions(DICT_TYPE.CRM_PRODUCT_STATUS)"
-            :key="dict.value"
-            :label="dict.label"
-            :value="dict.value"
-          />
-        </el-select>
-      </el-form-item>
-      <el-form-item label="产品分类" prop="categoryId">
-        <el-cascader
-          v-model="formData.categoryId"
-          :options="productCategoryList"
-          :props="defaultProps"
-          class="w-1/1"
-          clearable
-          placeholder="请选择产品分类"
-          filterable
-        />
-      </el-form-item>
-      <el-form-item label="产品描述" prop="description">
-        <el-input v-model="formData.description" placeholder="请输入产品描述" />
-      </el-form-item>
-      <el-form-item label="负责人" prop="ownerUserId">
-        <el-select
-          v-model="formData.ownerUserId"
-          placeholder="请选择负责人"
-          :disabled="formData.id"
-        >
-          <el-option
-            v-for="user in userList"
-            :key="user.id"
-            :label="user.nickname"
-            :value="user.id"
-          />
-        </el-select>
-      </el-form-item>
+      <el-row>
+        <el-col :span="12">
+          <el-form-item label="产品名称" prop="name">
+            <el-input v-model="formData.name" placeholder="请输入产品名称" />
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="产品编码" prop="no">
+            <el-input v-model="formData.no" placeholder="请输入产品编码" />
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-row>
+        <el-col :span="12">
+          <el-form-item label="单位" prop="unit">
+            <el-select v-model="formData.unit" class="w-1/1" placeholder="请选择单位">
+              <el-option
+                v-for="dict in getIntDictOptions(DICT_TYPE.PRODUCT_UNIT)"
+                :key="dict.value"
+                :label="dict.label"
+                :value="dict.value"
+              />
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="价格" prop="price">
+            <el-input type="number" v-model="formData.price" placeholder="请输入价格" />
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-row>
+        <el-col :span="12">
+          <el-form-item label="状态" prop="status">
+            <el-select v-model="formData.status" placeholder="请选择状态">
+              <el-option
+                v-for="dict in getIntDictOptions(DICT_TYPE.CRM_PRODUCT_STATUS)"
+                :key="dict.value"
+                :label="dict.label"
+                :value="dict.value"
+              />
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="产品分类" prop="categoryId">
+            <el-cascader
+              v-model="formData.categoryId"
+              :options="productCategoryList"
+              :props="defaultProps"
+              class="w-1/1"
+              clearable
+              placeholder="请选择产品分类"
+              filterable
+            />
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-row>
+        <el-col :span="12">
+          <el-form-item label="产品描述" prop="description">
+            <el-input v-model="formData.description" placeholder="请输入产品描述" />
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="负责人" prop="ownerUserId">
+            <el-select
+              v-model="formData.ownerUserId"
+              placeholder="请选择负责人"
+              :disabled="formData.id"
+            >
+              <el-option
+                v-for="user in userList"
+                :key="user.id"
+                :label="user.nickname"
+                :value="user.id"
+              />
+            </el-select>
+          </el-form-item>
+        </el-col>
+      </el-row>
     </el-form>
     </el-form>
     <template #footer>
     <template #footer>
       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button>
       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button>
@@ -75,7 +99,7 @@
 <script setup lang="ts">
 <script setup lang="ts">
 import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
 import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
 import * as ProductApi from '@/api/crm/product'
 import * as ProductApi from '@/api/crm/product'
-import * as ProductCategoryApi from '@/api/crm/productCategory'
+import * as ProductCategoryApi from '@/api/crm/product/productCategory'
 import { defaultProps, handleTree } from '@/utils/tree'
 import { defaultProps, handleTree } from '@/utils/tree'
 import { getSimpleUserList, UserVO } from '@/api/system/user'
 import { getSimpleUserList, UserVO } from '@/api/system/user'
 import { useUserStore } from '@/store/modules/user'
 import { useUserStore } from '@/store/modules/user'

+ 1 - 30
src/views/crm/product/index.vue

@@ -17,15 +17,6 @@
           class="!w-240px"
           class="!w-240px"
         />
         />
       </el-form-item>
       </el-form-item>
-      <el-form-item label="产品编码" prop="no">
-        <el-input
-          v-model="queryParams.no"
-          placeholder="请输入产品编码"
-          clearable
-          @keyup.enter="handleQuery"
-          class="!w-240px"
-        />
-      </el-form-item>
       <el-form-item label="状态" prop="status">
       <el-form-item label="状态" prop="status">
         <el-select v-model="queryParams.status" placeholder="请选择状态" clearable class="!w-240px">
         <el-select v-model="queryParams.status" placeholder="请选择状态" clearable class="!w-240px">
           <el-option
           <el-option
@@ -36,26 +27,6 @@
           />
           />
         </el-select>
         </el-select>
       </el-form-item>
       </el-form-item>
-      <el-form-item label="产品分类" prop="categoryId">
-        <el-input
-          v-model="queryParams.categoryId"
-          placeholder="请选择产品分类"
-          clearable
-          @keyup.enter="handleQuery"
-          class="!w-240px"
-        />
-      </el-form-item>
-      <el-form-item label="创建时间" prop="createTime">
-        <el-date-picker
-          v-model="queryParams.createTime"
-          value-format="YYYY-MM-DD HH:mm:ss"
-          type="daterange"
-          start-placeholder="开始日期"
-          end-placeholder="结束日期"
-          :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
-          class="!w-240px"
-        />
-      </el-form-item>
       <el-form-item>
       <el-form-item>
         <el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
         <el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
         <el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
         <el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
@@ -167,7 +138,7 @@ import * as ProductApi from '@/api/crm/product'
 import ProductForm from './ProductForm.vue'
 import ProductForm from './ProductForm.vue'
 import ProductDetail from './ProductDetail.vue'
 import ProductDetail from './ProductDetail.vue'
 import { fenToYuan } from '@/utils'
 import { fenToYuan } from '@/utils'
-import * as ProductCategoryApi from '@/api/crm/productCategory'
+import * as ProductCategoryApi from '@/api/crm/product/productCategory'
 import { getSimpleUserList, UserVO } from '@/api/system/user'
 import { getSimpleUserList, UserVO } from '@/api/system/user'
 
 
 defineOptions({ name: 'CrmProduct' })
 defineOptions({ name: 'CrmProduct' })

+ 1 - 1
src/views/crm/productCategory/ProductCategoryForm.vue → src/views/crm/product/productCategory/ProductCategoryForm.vue

@@ -29,7 +29,7 @@
   </Dialog>
   </Dialog>
 </template>
 </template>
 <script setup lang="ts">
 <script setup lang="ts">
-import * as ProductCategoryApi from '@/api/crm/productCategory'
+import * as ProductCategoryApi from '@/api/crm/product/productCategory'
 
 
 defineOptions({ name: 'CrmProductCategoryForm' })
 defineOptions({ name: 'CrmProductCategoryForm' })
 
 

+ 1 - 1
src/views/crm/productCategory/index.vue → src/views/crm/product/productCategory/index.vue

@@ -74,7 +74,7 @@
 <script setup lang="ts">
 <script setup lang="ts">
 import { dateFormatter } from '@/utils/formatTime'
 import { dateFormatter } from '@/utils/formatTime'
 import download from '@/utils/download'
 import download from '@/utils/download'
-import * as ProductCategoryApi from '@/api/crm/productCategory'
+import * as ProductCategoryApi from '@/api/crm/product/productCategory'
 import ProductCategoryForm from './ProductCategoryForm.vue'
 import ProductCategoryForm from './ProductCategoryForm.vue'
 import { handleTree } from '@/utils/tree'
 import { handleTree } from '@/utils/tree'